ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDRmMjlkNWIuLjI5MTdjZmIgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMiw2ICsyLDkgQEAKIHNlZWRmaWxlCiAjIE1CRURUTFNfUFNBX0lOSkVDVF9FTlRST1BZIHNlZWQgZmlsZSBjcmVhdGVkIGJ5IHRoZSB0ZXN0IGZyYW1ld29yawogMDAwMDAwMDBmZmZmZmY1Mi5wc2FfaXRzCisjIExvZyBmaWxlcyBjcmVhdGVkIGJ5IGFsbC5zaCB0byByZWR1Y2UgdGhlIGxvZ3MgaW4gY2FzZSBhIGNvbXBvbmVudCBydW5zCisjIHN1Y2Nlc3NmdWxseQorcXVpZXQtbWFrZS4qCiAKICMgQ01ha2UgYnVpbGQgYXJ0aWZhY3RzOgogQ01ha2VDYWNoZS50eHQKQEAgLTMyLDYgKzM1LDcgQEAKIAogIyBVbml4LWxpa2UgYnVpbGQgYXJ0aWZhY3RzOgogKi5vCisqLnMKIAogIyBNU1ZDIGJ1aWxkIGFydGlmYWN0czoKICouZXhlCkBAIC02NywzICs3MSw2IEBACiBjb21waWxlX2NvbW1hbmRzLmpzb24KICMgY2xhbmdkIGluZGV4IGZpbGVzCiAvLmNhY2hlL2NsYW5nZC9pbmRleC8KKworIyBWU2NvZGUgZm9sZGVyIHRvIHN0b3JlIGxvY2FsIGRlYnVnIGZpbGVzIGFuZCBjb25maWd1cmF0aW9ucworLnZzY29kZQpkaWZmIC0tZ2l0IGEvLm15cHkuaW5pIGIvLm15cHkuaW5pCmluZGV4IDZiODMxZGQuLmY3MjdjYzIgMTAwNjQ0Ci0tLSBhLy5teXB5LmluaQorKysgYi8ubXlweS5pbmkKQEAgLTEsNCArMSw0IEBACiBbbXlweV0KLW15cHlfcGF0aCA9IHNjcmlwdHMKK215cHlfcGF0aCA9IGZyYW1ld29yay9zY3JpcHRzOnNjcmlwdHMKIG5hbWVzcGFjZV9wYWNrYWdlcyA9IFRydWUKIHdhcm5fdW51c2VkX2NvbmZpZ3MgPSBUcnVlCmRpZmYgLS1naXQgYS8ucHlsaW50cmMgYi8ucHlsaW50cmMKaW5kZXggZjM5NWZiOS4uZjljOTdkNSAxMDA2NDQKLS0tIGEvLnB5bGludHJjCisrKyBiLy5weWxpbnRyYwpAQCAtMSw1ICsxLDUgQEAKIFtNQVNURVJdCi1pbml0LWhvb2s9J2ltcG9ydCBzeXM7IHN5cy5wYXRoLmFwcGVuZCgic2NyaXB0cyIpJworaW5pdC1ob29rPSdpbXBvcnQgc3lzOyBzeXMucGF0aC5hcHBlbmQoInNjcmlwdHMiKTsgc3lzLnBhdGguYXBwZW5kKCJmcmFtZXdvcmsvc2NyaXB0cyIpJwogbWluLXNpbWlsYXJpdHktbGluZXM9MTAKIAogW0JBU0lDXQpkaWZmIC0tZ2l0IGEvM3JkcGFydHkvcDI1Ni1tLy5naXRpZ25vcmUgYi8zcmRwYXJ0eS9wMjU2LW0vLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2M3YTdjCi0tLSAvZGV2L251bGwKKysrIGIvM3JkcGFydHkvcDI1Ni1tLy5naXRpZ25vcmUKQEAgLTAsMCArMSBAQAorTWFrZWZpbGUKZGlmZiAtLWdpdCBhL0JSQU5DSEVTLm1kIGIvQlJBTkNIRVMubWQKaW5kZXggYmNjZWRhOC4uY2Y4NmE5ZCAxMDA2NDQKLS0tIGEvQlJBTkNIRVMubWQKKysrIGIvQlJBTkNIRVMubWQKQEAgLTEwNyw5ICsxMDcsOSBAQAogLSBbYGRldmVsb3BtZW50YF0oaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvKQogLSBbYG1iZWR0bHMtMy42YF0oaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvdHJlZS9tYmVkdGxzLTMuNikKICBtYWludGFpbmVkIHVudGlsIE1hcmNoIDIwMjcsIHNlZQotICA8aHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvcmVsZWFzZXMvdGFnL3YzLjYuMD4uCisgIDxodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9yZWxlYXNlcy90YWcvdjMuNi4yPi4KIC0gW2BtYmVkdGxzLTIuMjhgXShodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy90cmVlL21iZWR0bHMtMi4yOCkKICBtYWludGFpbmVkIHVudGlsIHRoZSBlbmQgb2YgMjAyNCwgc2VlCi0gIDxodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9yZWxlYXNlcy90YWcvdjIuMjguOD4uCisgIDxodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9yZWxlYXNlcy90YWcvdjIuMjguOT4uCiAKIFVzZXJzIGFyZSB1cmdlZCB0byBhbHdheXMgdXNlIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBhIG1haW50YWluZWQgYnJhbmNoLgpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCBmYjllMWMzLi42YzEwNTgwIDEwMDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtMjIsNiArMjIsMTAgQEAKIAogaW5jbHVkZShDTWFrZVBhY2thZ2VDb25maWdIZWxwZXJzKQogCisjIEluY2x1ZGUgY29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBwcmludGluZyBwcm9wZXJ0aWVzIGFuZCB2YXJpYWJsZXMsIGxpa2UKKyMgY21ha2VfcHJpbnRfcHJvcGVydGllcygpLCBjbWFrZV9wcmludF92YXJpYWJsZXMoKS4KK2luY2x1ZGUoQ01ha2VQcmludEhlbHBlcnMpCisKICMgaHR0cHM6Ly9jbWFrZS5vcmcvY21ha2UvaGVscC9sYXRlc3QvcG9saWN5L0NNUDAwMTEuaHRtbAogIyBTZXR0aW5nIHRoaXMgcG9saWN5IGlzIHJlcXVpcmVkIGluIENNYWtlID49IDMuMTguMCwgb3RoZXJ3aXNlIGEgd2FybmluZyBpcyBnZW5lcmF0ZWQuIFRoZSBPTEQKICMgcG9saWN5IHNldHRpbmcgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuCkBAIC0zNiwxMiArNDAsMTIgQEAKIGlmKFRFU1RfQ1BQKQogICAgIHByb2plY3QoIk1iZWQgVExTIgogICAgICAgICBMQU5HVUFHRVMgQyBDWFgKLSAgICAgICAgVkVSU0lPTiAzLjYuMAorICAgICAgICBWRVJTSU9OIDMuNi4yCiAgICAgKQogZWxzZSgpCiAgICAgcHJvamVjdCgiTWJlZCBUTFMiCiAgICAgICAgIExBTkdVQUdFUyBDCi0gICAgICAgIFZFUlNJT04gMy42LjAKKyAgICAgICAgVkVSU0lPTiAzLjYuMgogICAgICkKIGVuZGlmKCkKIApAQCAtNzMsMTAgKzc3LDE2IEBACiAKIG9wdGlvbihESVNBQkxFX1BBQ0tBR0VfQ09ORklHX0FORF9JTlNUQUxMICJEaXNhYmxlIHBhY2thZ2UgY29uZmlndXJhdGlvbiwgdGFyZ2V0IGV4cG9ydCBhbmQgaW5zdGFsbGF0aW9uIiAke01CRURUTFNfQVNfU1VCUFJPSkVDVH0pCiAKLXN0cmluZyhSRUdFWCBNQVRDSCAiQ2xhbmciIENNQUtFX0NPTVBJTEVSX0lTX0NMQU5HICIke0NNQUtFX0NfQ09NUElMRVJfSUR9IikKLXN0cmluZyhSRUdFWCBNQVRDSCAiR05VIiBDTUFLRV9DT01QSUxFUl9JU19HTlUgIiR7Q01BS0VfQ19DT01QSUxFUl9JRH0iKQotc3RyaW5nKFJFR0VYIE1BVENIICJJQVIiIENNQUtFX0NPTVBJTEVSX0lTX0lBUiAiJHtDTUFLRV9DX0NPTVBJTEVSX0lEfSIpCi1zdHJpbmcoUkVHRVggTUFUQ0ggIk1TVkMiIENNQUtFX0NPTVBJTEVSX0lTX01TVkMgIiR7Q01BS0VfQ19DT01QSUxFUl9JRH0iKQoraWYgKENNQUtFX0NfU0lNVUxBVEVfSUQpCisgICAgc2V0KENPTVBJTEVSX0lEICR7Q01BS0VfQ19TSU1VTEFURV9JRH0pCitlbHNlKCkKKyAgICBzZXQoQ09NUElMRVJfSUQgJHtDTUFLRV9DX0NPTVBJTEVSX0lEfSkKK2VuZGlmKENNQUtFX0NfU0lNVUxBVEVfSUQpCisKK3N0cmluZyhSRUdFWCBNQVRDSCAiQ2xhbmciIENNQUtFX0NPTVBJTEVSX0lTX0NMQU5HICIke0NPTVBJTEVSX0lEfSIpCitzdHJpbmcoUkVHRVggTUFUQ0ggIkdOVSIgQ01BS0VfQ09NUElMRVJfSVNfR05VICIke0NPTVBJTEVSX0lEfSIpCitzdHJpbmcoUkVHRVggTUFUQ0ggIklBUiIgQ01BS0VfQ09NUElMRVJfSVNfSUFSICIke0NPTVBJTEVSX0lEfSIpCitzdHJpbmcoUkVHRVggTUFUQ0ggIk1TVkMiIENNQUtFX0NPTVBJTEVSX0lTX01TVkMgIiR7Q09NUElMRVJfSUR9IikKIAogIyB0aGUgdGVzdCBzdWl0ZXMgY3VycmVudGx5IGhhdmUgY29tcGlsZSBlcnJvcnMgd2l0aCBNU1ZDCiBpZihDTUFLRV9DT01QSUxFUl9JU19NU1ZDKQpAQCAtMTg0LDggKzE5NCw2IEBACiAgICAgc2V0KCR7ZGVzdF92YXJ9ICR7bm9fZXh0X25hbWV9IFBBUkVOVF9TQ09QRSkKIGVuZGZ1bmN0aW9uKGdldF9uYW1lX3dpdGhvdXRfbGFzdF9leHQpCiAKLXN0cmluZyhSRUdFWCBNQVRDSCAiQ2xhbmciIENNQUtFX0NPTVBJTEVSX0lTX0NMQU5HICIke0NNQUtFX0NfQ09NUElMRVJfSUR9IikKLQogaW5jbHVkZShDaGVja0NDb21waWxlckZsYWcpCiAKIHNldChDTUFLRV9DX0VYVEVOU0lPTlMgT0ZGKQpAQCAtMTk2LDcgKzIwNCw3IEBACiAgICAgIyBub3RlOiBzdGFydGluZyB3aXRoIENNYWtlIDIuOCB3ZSBjb3VsZCB1c2UgQ01BS0VfQ19DT01QSUxFUl9WRVJTSU9OCiAgICAgZXhlY3V0ZV9wcm9jZXNzKENPTU1BTkQgJHtDTUFLRV9DX0NPTVBJTEVSfSAtZHVtcHZlcnNpb24KICAgICAgICAgICAgICAgICAgICAgT1VUUFVUX1ZBUklBQkxFIEdDQ19WRVJTSU9OKQotICAgIHNldChDTUFLRV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9IC1XYWxsIC1XZXh0cmEgLVd3cml0ZS1zdHJpbmdzIikKKyAgICBzZXQoQ01BS0VfQ19GTEFHUyAiJHtDTUFLRV9DX0ZMQUdTfSAtV2FsbCAtV2V4dHJhIC1Xd3JpdGUtc3RyaW5ncyAtV21pc3NpbmctcHJvdG90eXBlcyIpCiAgICAgaWYgKEdDQ19WRVJTSU9OIFZFUlNJT05fR1JFQVRFUiAzLjAgT1IgR0NDX1ZFUlNJT04gVkVSU0lPTl9FUVVBTCAzLjApCiAgICAgICAgIHNldChDTUFLRV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9IC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbCIpCiAgICAgZW5kaWYoKQpAQCAtMjIxLDcgKzIyOSwyMSBAQAogICAgIHNldChDTUFLRV9DX0ZMQUdTX1JFTEVBU0UgICAgICItTzIiKQogICAgIHNldChDTUFLRV9DX0ZMQUdTX0RFQlVHICAgICAgICItTzAgLWczIikKICAgICBzZXQoQ01BS0VfQ19GTEFHU19DT1ZFUkFHRSAgICAiLU8wIC1nMyAtLWNvdmVyYWdlIikKLSAgICBzZXQoQ01BS0VfQ19GTEFHU19BU0FOICAgICAgICAiLWZzYW5pdGl6ZT1hZGRyZXNzIC1mbm8tY29tbW9uIC1mc2FuaXRpemU9dW5kZWZpbmVkIC1mbm8tc2FuaXRpemUtcmVjb3Zlcj1hbGwgLU8zIikKKyAgICAjIE9sZCBHQ0MgdmVyc2lvbnMgaGl0IGEgcGVyZm9ybWFuY2UgcHJvYmxlbSB3aXRoIHRlc3Rfc3VpdGVfcGt3cml0ZQorICAgICMgIlByaXZhdGUga2VleSB3cml0ZSBjaGVjayBFQyIgdGVzdHMgd2hlbiBidWlsZGluZyB3aXRoIEFzYW4rVUJTYW4KKyAgICAjIGFuZCAtTzM6IHRob3NlIHRlc3RzIHRha2UgbW9yZSB0aGFuIDEwMHggdGltZSB0aGFuIG5vcm1hbCwgd2l0aAorICAgICMgdGVzdF9zdWl0ZV9wa3dyaXRlIHRha2luZyA+M2ggb24gdGhlIENJLiBPYnNlcnZlZCB3aXRoIEdDQyA1LjQgb24KKyAgICAjIFVidW50dSAxNi4wNCB4ODZfNjQgYW5kIEdDQyA2LjUgb24gVWJ1bnR1IDE4LjA0IHg4Nl82NC4KKyAgICAjIEdDQyA3LjUgYW5kIGFib3ZlIG9uIFVidW50dSAxOC4wNCBhcHBlYXIgZmluZS4KKyAgICAjIFRvIGF2b2lkIHRoZSBwZXJmb3JtYW5jZSBwcm9ibGVtLCB3ZSB1c2UgLU8yIHdoZW4gR0NDIHZlcnNpb24gaXMgbG93ZXIgdGhhbiA3LjAuCisgICAgIyBJdCBkb2Vzbid0IHNsb3cgZG93biBtdWNoIGV2ZW4gd2l0aCBtb2Rlcm4gY29tcGlsZXIgdmVyc2lvbnMuCisgICAgaWYgKEdDQ19WRVJTSU9OIFZFUlNJT05fTEVTUyA3LjApCisgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJVU0lORyBPMiIpCisgICAgICAgIHNldChDTUFLRV9DX0ZMQUdTX0FTQU4gICAgICAgICItZnNhbml0aXplPWFkZHJlc3MgLWZuby1jb21tb24gLWZzYW5pdGl6ZT11bmRlZmluZWQgLWZuby1zYW5pdGl6ZS1yZWNvdmVyPWFsbCAtTzIiKQorICAgIGVsc2UoKQorICAgICAgICBtZXNzYWdlKFNUQVRVUyAiVVNJTkcgTzMiKQorICAgICAgICBzZXQoQ01BS0VfQ19GTEFHU19BU0FOICAgICAgICAiLWZzYW5pdGl6ZT1hZGRyZXNzIC1mbm8tY29tbW9uIC1mc2FuaXRpemU9dW5kZWZpbmVkIC1mbm8tc2FuaXRpemUtcmVjb3Zlcj1hbGwgLU8zIikKKyAgICBlbmRpZigpCiAgICAgc2V0KENNQUtFX0NfRkxBR1NfQVNBTkRCRyAgICAgIi1mc2FuaXRpemU9YWRkcmVzcyAtZm5vLWNvbW1vbiAtZnNhbml0aXplPXVuZGVmaW5lZCAtZm5vLXNhbml0aXplLXJlY292ZXI9YWxsIC1PMSAtZzMgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgLWZuby1vcHRpbWl6ZS1zaWJsaW5nLWNhbGxzIikKICAgICBzZXQoQ01BS0VfQ19GTEFHU19UU0FOICAgICAgICAiLWZzYW5pdGl6ZT10aHJlYWQgLU8zIikKICAgICBzZXQoQ01BS0VfQ19GTEFHU19UU0FOREJHICAgICAiLWZzYW5pdGl6ZT10aHJlYWQgLU8xIC1nMyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAtZm5vLW9wdGltaXplLXNpYmxpbmctY2FsbHMiKQpAQCAtMjMwLDcgKzI1Miw3IEBACiBlbmRpZihDTUFLRV9DT01QSUxFUl9JU19HTlUpCiAKIGlmKENNQUtFX0NPTVBJTEVSX0lTX0NMQU5HKQotICAgIHNldChDTUFLRV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9IC1XYWxsIC1XZXh0cmEgLVd3cml0ZS1zdHJpbmdzIC1XcG9pbnRlci1hcml0aCAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoIC1Xc2hhZG93IC1XdmxhIC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbCIpCisgICAgc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFHU30gLVdhbGwgLVdleHRyYSAtV3dyaXRlLXN0cmluZ3MgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XaW1wbGljaXQtZmFsbHRocm91Z2ggLVdzaGFkb3cgLVd2bGEgLVdmb3JtYXQ9MiAtV25vLWZvcm1hdC1ub25saXRlcmFsIikKICAgICBzZXQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICAgICAiLU8yIikKICAgICBzZXQoQ01BS0VfQ19GTEFHU19ERUJVRyAgICAgICAiLU8wIC1nMyIpCiAgICAgc2V0KENNQUtFX0NfRkxBR1NfQ09WRVJBR0UgICAgIi1PMCAtZzMgLS1jb3ZlcmFnZSIpCkBAIC0yNzMsNiArMjk1LDE1IEBACiAgICAgZW5kaWYoQ01BS0VfQ09NUElMRVJfSVNfSUFSKQogZW5kaWYoTUJFRFRMU19GQVRBTF9XQVJOSU5HUykKIAoraWYoQ01BS0VfQlVJTERfVFlQRSBTVFJFUVVBTCAiQ2hlY2siIEFORCBURVNUX0NQUCkKKyAgICBzZXQoQ01BS0VfQ1hYX1NUQU5EQVJEIDExKQorICAgIHNldChDTUFLRV9DWFhfU1RBTkRBUkRfUkVRVUlSRUQgT04pCisgICAgc2V0KENNQUtFX0NYWF9FWFRFTlNJT05TIE9GRikKKyAgICBpZihDTUFLRV9DT01QSUxFUl9JU19DTEFORyBPUiBDTUFLRV9DT01QSUxFUl9JU19HTlUpCisgICAgICAgIHNldChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtcGVkYW50aWMiKQorICAgIGVuZGlmKCkKK2VuZGlmKCkKKwogaWYoQ01BS0VfQlVJTERfVFlQRSBTVFJFUVVBTCAiQ292ZXJhZ2UiKQogICAgIGlmKENNQUtFX0NPTVBJTEVSX0lTX0dOVSBPUiBDTUFLRV9DT01QSUxFUl9JU19DTEFORykKICAgICAgICAgc2V0KENNQUtFX1NIQVJFRF9MSU5LRVJfRkxBR1MgIi0tY292ZXJhZ2UiKQpAQCAtMzE1LDYgKzM0NiwzNyBAQAogICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3Rlc3RzL3NyYy8qLmMKICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS90ZXN0cy9zcmMvZHJpdmVycy8qLmMpCiAgICAgYWRkX2xpYnJhcnkobWJlZHRsc190ZXN0IE9CSkVDVCAke01CRURUTFNfVEVTVF9GSUxFU30pCisgICAgaWYoR0VOX0ZJTEVTKQorICAgICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgICAgICAgICBPVVRQVVQKKyAgICAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vdGVzdHMvc3JjL3Rlc3Rfa2V5cy5oCisgICAgICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWQorICAgICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS90ZXN0cworICAgICAgICAgICAgQ09NTUFORAorICAgICAgICAgICAgICAgICIke01CRURUTFNfUFlUSE9OX0VYRUNVVEFCTEV9IgorICAgICAgICAgICAgICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9rZXlzLnB5IgorICAgICAgICAgICAgICAgICItLW91dHB1dCIKKyAgICAgICAgICAgICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3Rlc3RzL3NyYy90ZXN0X2tleXMuaCIKKyAgICAgICAgICAgIERFUEVORFMKKyAgICAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9rZXlzLnB5CisgICAgICAgICkKKyAgICAgICAgYWRkX2N1c3RvbV90YXJnZXQodGVzdF9rZXlzX2hlYWRlciBERVBFTkRTICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS90ZXN0cy9zcmMvdGVzdF9rZXlzLmgpCisgICAgICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAgICAgICAgICAgIE9VVFBVVAorICAgICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS90ZXN0cy9zcmMvdGVzdF9jZXJ0cy5oCisgICAgICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWQorICAgICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS90ZXN0cworICAgICAgICAgICAgQ09NTUFORAorICAgICAgICAgICAgICAgICIke01CRURUTFNfUFlUSE9OX0VYRUNVVEFCTEV9IgorICAgICAgICAgICAgICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jZXJ0X21hY3Jvcy5weSIKKyAgICAgICAgICAgICAgICAiLS1vdXRwdXQiCisgICAgICAgICAgICAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS90ZXN0cy9zcmMvdGVzdF9jZXJ0cy5oIgorICAgICAgICAgICAgREVQRU5EUworICAgICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2NlcnRfbWFjcm9zLnB5CisgICAgICAgICkKKyAgICAgICAgYWRkX2N1c3RvbV90YXJnZXQodGVzdF9jZXJ0c19oZWFkZXIgREVQRU5EUyAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vdGVzdHMvc3JjL3Rlc3RfY2VydHMuaCkKKyAgICAgICAgYWRkX2RlcGVuZGVuY2llcyhtYmVkdGxzX3Rlc3QgdGVzdF9rZXlzX2hlYWRlciB0ZXN0X2NlcnRzX2hlYWRlcikKKyAgICBlbmRpZigpCiAgICAgdGFyZ2V0X2luY2x1ZGVfZGlyZWN0b3JpZXMobWJlZHRsc190ZXN0CiAgICAgICAgIFBSSVZBVEUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3Rlc3RzL2luY2x1ZGUKICAgICAgICAgUFJJVkFURSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vaW5jbHVkZQpAQCAtMzQ3LDYgKzQwOSw5IEBACiBlbmRpZigpCiAKIGlmKEVOQUJMRV9QUk9HUkFNUykKKyAgICBzZXQoc3NsX29wdF90YXJnZXQgIiR7TUJFRFRMU19UQVJHRVRfUFJFRklYfXNzbC1vcHQiKQorICAgIGFkZF9jdXN0b21fdGFyZ2V0KCR7c3NsX29wdF90YXJnZXR9KQorCiAgICAgYWRkX3N1YmRpcmVjdG9yeShwcm9ncmFtcykKIGVuZGlmKCkKIApAQCAtNDAxLDcgKzQ2Niw3IEBACiAgICAgd3JpdGVfYmFzaWNfcGFja2FnZV92ZXJzaW9uX2ZpbGUoCiAgICAgICAgICJjbWFrZS9NYmVkVExTQ29uZmlnVmVyc2lvbi5jbWFrZSIKICAgICAgICAgICAgIENPTVBBVElCSUxJVFkgU2FtZU1ham9yVmVyc2lvbgotICAgICAgICAgICAgVkVSU0lPTiAzLjYuMCkKKyAgICAgICAgICAgIFZFUlNJT04gMy42LjIpCiAKICAgICBpbnN0YWxsKAogICAgICAgICBGSUxFUyAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2NtYWtlL01iZWRUTFNDb25maWcuY21ha2UiCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZWFlMmExOS4uYTg4YzljNSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5OSBAQAogTWJlZCBUTFMgQ2hhbmdlTG9nIChTb3J0ZWQgcGVyIGJyYW5jaCwgZGF0ZSkKIAorPSBNYmVkIFRMUyAzLjYuMiBicmFuY2ggcmVsZWFzZWQgMjAyNC0xMC0xNAorCitTZWN1cml0eQorICAgKiBGaXggYSBidWZmZXIgdW5kZXJydW4gaW4gbWJlZHRsc19wa193cml0ZV9rZXlfZGVyKCkgd2hlbgorICAgICBjYWxsZWQgb24gYW4gb3BhcXVlIGtleSwgTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBpcyBlbmFibGVkLAorICAgICBhbmQgdGhlIG91dHB1dCBidWZmZXIgaXMgc21hbGxlciB0aGFuIHRoZSBhY3R1YWwgb3V0cHV0LgorICAgICBGaXggYSByZWxhdGVkIGJ1ZmZlciB1bmRlcnJ1biBpbiBtYmVkdGxzX3BrX3dyaXRlX2tleV9wZW0oKQorICAgICB3aGVuIGNhbGxlZCBvbiBhbiBvcGFxdWUgUlNBIGtleSwgTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBpcyBlbmFibGVkCisgICAgIGFuZCBNQkVEVExTX01QSV9NQVhfU0laRSBpcyBzbWFsbGVyIHRoYW4gbmVlZGVkIGZvciBhIDQwOTYtYml0IFJTQSBrZXkuCisgICAgIENWRS0yMDI0LTQ5MTk1CisKKz0gTWJlZCBUTFMgMy42LjEgYnJhbmNoIHJlbGVhc2VkIDIwMjQtMDgtMzAKKworQVBJIGNoYW5nZXMKKyAgICogVGhlIGV4cGVyaW1lbnRhbCBmdW5jdGlvbnMgcHNhX2dlbmVyYXRlX2tleV9leHQoKSBhbmQKKyAgICAgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfZXh0KCkgYXJlIG5vIGxvbmdlciBkZWNsYXJlZCB3aGVuIGNvbXBpbGluZworICAgICBpbiBDKysuIFRoaXMgcmVzb2x2ZXMgYSBidWlsZCBmYWlsdXJlIHVuZGVyIEMrKyBjb21waWxlcnMgdGhhdCBkbyBub3QKKyAgICAgc3VwcG9ydCBmbGV4aWJsZSBhcnJheSBtZW1iZXJzIChhIEM5OSBmZWF0dXJlIG5vdCBhZG9wdGVkIGJ5IEMrKykuCisgICAgIEZpeGVzICM5MDIwLgorCitEZWZhdWx0IGJlaGF2aW9yIGNoYW5nZXMKKyAgICogSW4gYSBQU0EtY2xpZW50LW9ubHkgYnVpbGQgKGkuZS4gTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVCAmJgorICAgICAhTUJFRFRMU19QU0FfQ1JZUFRPX0MpLCBkbyBub3QgYXV0b21hdGljYWxseSBlbmFibGUgbG9jYWwgY3J5cHRvIHdoZW4gdGhlCisgICAgIGNvcnJlc3BvbmRpbmcgUFNBIG1lY2hhbmlzbSBpcyBlbmFibGVkLCBzaW5jZSB0aGUgc2VydmVyIHByb3ZpZGVzIHRoZQorICAgICBjcnlwdG8uIEZpeGVzICM5MTI2LgorICAgKiBBIFRMUyBoYW5kc2hha2UgbWF5IG5vdyBjYWxsIHBzYV9jcnlwdG9faW5pdCgpIGlmIFRMUyAxLjMgaXMgZW5hYmxlZC4KKyAgICAgVGhpcyBjYW4gaGFwcGVuIGV2ZW4gaWYgVExTIDEuMyBpcyBvZmZlcmVkIGJ1dCBldmVudHVhbGx5IG5vdCBzZWxlY3RlZAorICAgICBpbiB0aGUgcHJvdG9jb2wgdmVyc2lvbiBuZWdvdGlhdGlvbi4KKyAgICogQnkgZGVmYXVsdCwgdGhlIGhhbmRsaW5nIG9mIFRMUyAxLjMgdGlja2V0cyBieSB0aGUgTWJlZCBUTFMgY2xpZW50IGlzIG5vdworICAgICBkaXNhYmxlZCBhdCBydW50aW1lLiBBcHBsaWNhdGlvbnMgdGhhdCB3ZXJlIHVzaW5nIFRMUyAxLjMgdGlja2V0cworICAgICBzaWduYWxsZWQgYnkgTUJFRFRMU19FUlJfU1NMX1JFQ0VJVkVEX05FV19TRVNTSU9OX1RJQ0tFVCByZXR1cm4gdmFsdWVzIG5vdworICAgICBuZWVkIHRvIGVuYWJsZSB0aGUgaGFuZGxpbmcgb2YgVExTIDEuMyB0aWNrZXRzIHRocm91Z2ggdGhlIG5ldworICAgICBtYmVkdGxzX3NzbF9jb25mX3RsczEzX2VuYWJsZV9zaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0cygpIEFQSS4KKworTmV3IGRlcHJlY2F0aW9ucworICAgKiBUaGUgZXhwZXJpbWVudGFsIGZ1bmN0aW9ucyBwc2FfZ2VuZXJhdGVfa2V5X2V4dCgpIGFuZAorICAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9leHQoKSBhcmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZgorICAgICBwc2FfZ2VuZXJhdGVfa2V5X2N1c3RvbSgpIGFuZCBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oKS4KKyAgICAgVGhleSBoYXZlIGFsbW9zdCBleGFjdGx5IHRoZSBzYW1lIGludGVyZmFjZSwgYnV0IHRoZSB2YXJpYWJsZS1sZW5ndGgKKyAgICAgZGF0YSBpcyBwYXNzZWQgaW4gYSBzZXBhcmF0ZSBwYXJhbWV0ZXIgaW5zdGVhZCBvZiBhIGZsZXhpYmxlIGFycmF5CisgICAgIG1lbWJlci4KKyAgICogVGhlIGZvbGxvd2luZyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgYXJlIHBsYW5uZWQgdG8gYmUgcmVtb3ZlZAorICAgICBpbiBNYmVkIFRMUyA0LjA6CisgICAgIC0gREVTIChpbmNsdWRpbmcgM0RFUykuCisgICAgIC0gUEtDUyMxdjEuNSBlbmNyeXB0aW9uL2RlY3J5cHRpb24gKFJTQUVTLVBLQ1MxLXYxXzUpLgorICAgICAgIChPQUVQLCBQU1MsIGFuZCBQS0NTIzF2MS41IHNpZ25hdHVyZSBhcmUgc3RheWluZy4pCisgICAgIC0gRmluaXRlLWZpZWxkIERpZmZpZS1IZWxsbWFuIHdpdGggY3VzdG9tIGdyb3Vwcy4KKyAgICAgICAoUkZDIDc5MTkgZ3JvdXBzIHJlbWFpbiBzdXBwb3J0ZWQuKQorICAgICAtIEVsbGlwdGljIGN1cnZlcyBvZiBzaXplIDIyNSBiaXRzIG9yIGxlc3MuCisgICAqIFRoZSBmb2xsb3dpbmcgY2lwaGVyIHN1aXRlcyBhcmUgcGxhbm5lZCB0byBiZSByZW1vdmVkIGZyb20gKEQpVExTIDEuMgorICAgICBpbiBNYmVkIFRMUyA0LjA6CisgICAgIC0gVExTX1JTQV8qIChpbmNsdWRpbmcgVExTX1JTQV9QU0tfKiksIGkuZS4gY2lwaGVyIHN1aXRlcyB1c2luZworICAgICAgIFJTQSBkZWNyeXB0aW9uLgorICAgICAgIChSU0Egc2lnbmF0dXJlcywgaS5lLiBUTFNfRUNESEVfUlNBXyosIGFyZSBzdGF5aW5nLikKKyAgICAgLSBUTFNfRUNESF8qLCBpLmUuIGNpcGhlciBzdWl0ZXMgdXNpbmcgc3RhdGljIEVDREguCisgICAgICAgKEVwaGVtZXJhbCBFQ0RILCBpLmUuIFRMU19FQ0RIRV8qLCBpcyBzdGF5aW5nLikKKyAgICAgLSBUTFNfREhFXyosIGkuZS4gY2lwaGVyIHN1aXRlcyB1c2luZyBmaW5pdGUtZmllbGQgRGlmZmllLUhlbGxtYW4uCisgICAgICAgKEVwaGVtZXJhbCBFQ0RILCBpLmUuIFRMU19FQ0RIRV8qLCBpcyBzdGF5aW5nLikKKyAgICAgLSBUTFNfKkNCQyosIGkuZS4gYWxsIGNpcGhlciBzdWl0ZXMgdXNpbmcgQ0JDLgorICAgKiBUaGUgZm9sbG93aW5nIGxvdy1sZXZlbCBhcHBsaWNhdGlvbiBpbnRlcmZhY2VzIGFyZSBwbGFubmVkIHRvIGJlIHJlbW92ZWQKKyAgICAgZnJvbSB0aGUgcHVibGljIEFQSSBpbiBNYmVkIFRMUyA0LjA6CisgICAgIC0gSGFzaGVzOiBoa2RmLmgsIG1kNS5oLCByaXBlbWQxNjAuaCwgc2hhMS5oLCBzaGEzLmgsIHNoYTI1Ni5oLCBzaGE1MTIuaDsKKyAgICAgLSBSYW5kb20gZ2VuZXJhdGlvbjogY3RyX2RyYmcuaCwgaG1hY19kcmJnLmgsIGVudHJvcHkuaDsKKyAgICAgLSBDaXBoZXJzIGFuZCBtb2RlczogYWVzLmgsIGFyaWEuaCwgY2FtZWxsaWEuaCwgY2hhY2hhMjAuaCwgY2hhY2hhcG9seS5oLAorICAgICAgIGNpcGhlci5oLCBjbWFjLmgsIGdjbS5oLCBwb2x5MTMwNS5oOworICAgICAtIFByaXZhdGUga2V5IGVuY3J5cHRpb24gbWVjaGFuaXNtczogcGtjczUuaCwgcGtjczEyLmguCisgICAgIC0gQXN5bW1ldHJpYyBjcnlwdG9ncmFwaHk6IGJpZ251bS5oLCBkaG0uaCwgZWNkaC5oLCBlY2RzYS5oLCBlY2pwYWtlLmgsCisgICAgICAgZWNwLmgsIHJzYS5oLgorICAgICBUaGUgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIHJlbWFpbiBwcmVzZW50LCBidXQgdGhleSB3aWxsIG9ubHkgYmUKKyAgICAgYWNjZXNzaWJsZSB2aWEgdGhlIFBTQSBBUEkgKHBzYV94eHggZnVuY3Rpb25zIGludHJvZHVjZWQgZ3JhZHVhbGx5CisgICAgIHN0YXJ0aW5nIHdpdGggTWJlZCBUTFMgMi4xNykgYW5kLCB3aGVyZSByZWxldmFudCwgYHBrLmhgLgorICAgICBGb3IgZ3VpZGFuY2Ugb24gbWlncmF0aW5nIGFwcGxpY2F0aW9uIGNvZGUgdG8gdGhlIFBTQSBBUEksIHBsZWFzZSBjb25zdWx0CisgICAgIHRoZSBQU0EgdHJhbnNpdGlvbiBndWlkZSAoZG9jcy9wc2EtdHJhbnNpdGlvbi5tZCkuCisgICAqIFRoZSBmb2xsb3dpbmcgaW50ZWdyYXRpb24gaW50ZXJmYWNlcyBhcmUgcGxhbm5lZCB0byBiZSByZW1vdmVkCisgICAgIGluIE1iZWQgVExTIDQuMDoKKyAgICAgLSBNQkVEVExTX3h4eF9BTFQgcmVwbGFjZW1lbnQgb2YgY3J5cHRvZ3JhcGhpYyBtb2R1bGVzIGFuZCBmdW5jdGlvbnMuCisgICAgICAgVXNlIFBTQSB0cmFuc3BhcmVudCBkcml2ZXJzIGluc3RlYWQuCisgICAgIC0gTUJFRFRMU19QS19SU0FfQUxUIGFuZCBNQkVEVExTX1BTQV9DUllQVE9fU0VfQy4KKyAgICAgICBVc2UgUFNBIG9wYXF1ZSBkcml2ZXJzIGluc3RlYWQuCisKK0ZlYXR1cmVzCisgICAqIFdoZW4gdGhlIG5ldyBjb21waWxhdGlvbiBvcHRpb24gTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgaXMgZW5hYmxlZCwKKyAgICAgdGhlIG51bWJlciBvZiB2b2xhdGlsZSBQU0Ega2V5cyBpcyB2aXJ0dWFsbHkgdW5saW1pdGVkLCBhdCB0aGUgZXhwZW5zZQorICAgICBvZiBpbmNyZWFzZWQgY29kZSBzaXplLiBUaGlzIG9wdGlvbiBpcyBvZmYgYnkgZGVmYXVsdCwgYnV0IGVuYWJsZWQgaW4KKyAgICAgdGhlIGRlZmF1bHQgbWJlZHRsc19jb25maWcuaC4gRml4ZXMgIzkyMTYuCisKK1NlY3VyaXR5CisgICAqIFVubGlrZSBwcmV2aW91c2x5IGRvY3VtZW50ZWQsIGVuYWJsaW5nIE1CRURUTFNfUFNBX0hNQUNfRFJCR19NRF9UWVBFIGRvZXMKKyAgICAgbm90IGNhdXNlIHRoZSBQU0Egc3Vic3lzdGVtIHRvIHVzZSBITUFDX0RSQkc6IGl0IHVzZXMgSE1BQ19EUkJHIG9ubHkgd2hlbgorICAgICBNQkVEVExTX1BTQV9DUllQVE9fRVhURVJOQUxfUk5HIGFuZCBNQkVEVExTX0NUUl9EUkJHX0MgYXJlIGRpc2FibGVkLgorICAgICBDVkUtMjAyNC00NTE1NworICAgKiBGaXggYSBzdGFjayBidWZmZXIgb3ZlcmZsb3cgaW4gbWJlZHRsc19lY2RzYV9kZXJfdG9fcmF3KCkgYW5kCisgICAgIG1iZWR0bHNfZWNkc2FfcmF3X3RvX2RlcigpIHdoZW4gdGhlIGJpdHMgcGFyYW1ldGVyIGlzIGxhcmdlciB0aGFuIHRoZQorICAgICBsYXJnZXN0IHN1cHBvcnRlZCBjdXJ2ZS4gSW4gc29tZSBjb25maWd1cmF0aW9ucyB3aXRoIFBTQSBkaXNhYmxlZCwKKyAgICAgYWxsIHZhbHVlcyBvZiBiaXRzIGFyZSBhZmZlY3RlZC4gVGhpcyBuZXZlciBoYXBwZW5zIGluIGludGVybmFsIGxpYnJhcnkKKyAgICAgY2FsbHMsIGJ1dCBjYW4gYWZmZWN0IGFwcGxpY2F0aW9ucyB0aGF0IGNhbGwgdGhlc2UgZnVuY3Rpb25zIGRpcmVjdGx5LgorICAgICBDVkUtMjAyNC00NTE1OAorICAgKiBXaXRoIFRMUyAxLjMsIHdoZW4gYSBzZXJ2ZXIgZW5hYmxlcyBvcHRpb25hbCBhdXRoZW50aWNhdGlvbiBvZiB0aGUKKyAgICAgY2xpZW50LCBpZiB0aGUgY2xpZW50LXByb3ZpZGVkIGNlcnRpZmljYXRlIGRvZXMgbm90IGhhdmUgYXBwcm9wcmlhdGUgdmFsdWVzCisgICAgIGluIGtleVVzYWdlIG9yIGV4dEtleVVzYWdlIGV4dGVuc2lvbnMsIHRoZW4gdGhlIHJldHVybiB2YWx1ZSBvZgorICAgICBtYmVkdGxzX3NzbF9nZXRfdmVyaWZ5X3Jlc3VsdCgpIHdvdWxkIGluY29ycmVjdGx5IGhhdmUgdGhlCisgICAgIE1CRURUTFNfWDUwOV9CQURDRVJUX0tFWV9VU0FHRSBhbmQgTUJFRFRMU19YNTA5X0JBRENFUlRfRVhUX0tFWV9VU0FHRSBiaXRzCisgICAgIGNsZWFyLiBBcyBhIHJlc3VsdCwgYW4gYXR0YWNrZXIgdGhhdCBoYWQgYSBjZXJ0aWZpY2F0ZSB2YWxpZCBmb3IgdXNlcyBvdGhlcgorICAgICB0aGFuIFRMUyBjbGllbnQgYXV0aGVudGljYXRpb24gY291bGQgYmUgYWJsZSB0byB1c2UgaXQgZm9yIFRMUyBjbGllbnQKKyAgICAgYXV0aGVudGljYXRpb24gYW55d2F5LiBPbmx5IFRMUyAxLjMgc2VydmVycyB3ZXJlIGFmZmVjdGVkLCBhbmQgb25seSB3aXRoCisgICAgIG9wdGlvbmFsIGF1dGhlbnRpY2F0aW9uIChyZXF1aXJlZCB3b3VsZCBhYm9ydCB0aGUgaGFuZHNoYWtlIHdpdGggYSBmYXRhbAorICAgICBhbGVydCkuCisgICAgIENWRS0yMDI0LTQ1MTU5CisKK0J1Z2ZpeAorICAgKiBGaXggVExTIDEuMyBjbGllbnQgYnVpbGQgYW5kIHJ1bnRpbWUgd2hlbiBzdXBwb3J0IGZvciBzZXNzaW9uIHRpY2tldHMgaXMKKyAgICAgZGlzYWJsZWQgKE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBjb25maWd1cmF0aW9uIG9wdGlvbikuIEZpeGVzICM2Mzk1LgorICAgKiBGaXggY29tcGlsYXRpb24gZXJyb3Igd2hlbiBtZW1jcHkoKSBpcyBhIGZ1bmN0aW9uLWxpa2UgbWFjcm9zLiBGaXhlcyAjODk5NC4KKyAgICogTUJFRFRMU19BU04xX1BBUlNFX0MgYW5kIE1CRURUTFNfQVNOMV9XUklURV9DIGFyZSBub3cgYXV0b21hdGljYWxseSBlbmFibGVkCisgICAgIGFzIHNvb24gYXMgTUJFRFRMU19SU0FfQyBpcyBlbmFibGVkLiBGaXhlcyAjOTA0MS4KKyAgICogRml4IHVuZGVmaW5lZCBiZWhhdmlvdXIgKGluY3JlbWVudGluZyBhIE5VTEwgcG9pbnRlciBieSB6ZXJvIGxlbmd0aCkgd2hlbgorICAgICBwYXNzaW5nIGluIHplcm8gbGVuZ3RoIGFkZGl0aW9uYWwgZGF0YSB0byBtdWx0aXBhcnQgQUVBRC4KKyAgICogRml4IHJhcmUgY29uY3VycmVudCBhY2Nlc3MgYnVnIHdoZXJlIGF0dGVtcHRpbmcgdG8gb3BlcmF0ZSBvbiBhCisgICAgIG5vbi1leGlzdGVudCBrZXkgd2hpbGUgY29uY3VycmVudGx5IGNyZWF0aW5nIGEgbmV3IGtleSBjb3VsZCBwb3RlbnRpYWxseQorICAgICBjb3JydXB0IHRoZSBrZXkgc3RvcmUuCisgICAqIEZpeCBlcnJvciBoYW5kbGluZyB3aGVuIGNyZWF0aW5nIGEga2V5IGluIGEgZHluYW1pYyBzZWN1cmUgZWxlbWVudAorICAgICAoZmVhdHVyZSBlbmFibGVkIGJ5IE1CRURUTFNfUFNBX0NSWVBUT19TRV9DKS4gSW4gYSBsb3cgbWVtb3J5IGNvbmRpdGlvbiwKKyAgICAgdGhlIGNyZWF0aW9uIGNvdWxkIHJldHVybiBQU0FfU1VDQ0VTUyBidXQgdXNpbmcgb3IgZGVzdHJveWluZyB0aGUga2V5CisgICAgIHdvdWxkIG5vdCB3b3JrLiBGaXhlcyAjODUzNy4KKyAgICogRml4IGlzc3VlIG9mIHJlZGVmaW5pdGlvbiB3YXJuaW5nIG1lc3NhZ2VzIGZvciBfR05VX1NPVVJDRSBpbgorICAgICBlbnRyb3B5X3BvbGwuYyBhbmQgc2hhXzI1Ni5jLiBUaGVyZSB3YXMgYSBidWlsZCB3YXJuaW5nIGR1cmluZworICAgICBidWlsZGluZyBmb3IgbGludXggcGxhdGZvcm0uCisgICAgIFJlc29sdmVzICM5MDI2CisgICAqIEZpeCBhIGNvbXBpbGF0aW9uIHdhcm5pbmcgaW4gcGsuYyB3aGVuIFBTQSBpcyBlbmFibGVkIGFuZCBSU0EgaXMgZGlzYWJsZWQuCisgICAqIEZpeCB0aGUgYnVpbGQgd2hlbiBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHIGlzIGVuYWJsZWQgYW5kIHRoZSBidWlsdC1pbgorICAgICBDTUFDIGlzIGVuYWJsZWQsIGJ1dCBubyBidWlsdC1pbiB1bmF1dGhlbnRpY2F0ZWQgY2lwaGVyIGlzIGVuYWJsZWQuCisgICAgIEZpeGVzICM5MjA5LgorICAgKiBGaXggcmVkZWZpbml0aW9uIHdhcm5pbmdzIHdoZW4gU0VDUDE5MlIxIGFuZC9vciBTRUNQMTkySzEgYXJlIGRpc2FibGVkLgorICAgICBGaXhlcyAjOTAyOS4KKyAgICogRml4IHBzYV9jaXBoZXJfZGVjcnlwdCgpIHdpdGggQ0NNKiByZWplY3RpbmcgbWVzc2FnZXMgbGVzcyB0aGFuIDMgYnl0ZXMKKyAgICAgbG9uZy4gQ3JlZGl0IHRvIENyeXB0b2Z1enouIEZpeGVzICM5MzE0LgorICAgKiBGaXggaW50ZXJmZXJlbmNlIGJldHdlZW4gUFNBIHZvbGF0aWxlIGtleXMgYW5kIGJ1aWx0LWluIGtleXMKKyAgICAgd2hlbiBNQkVEVExTX1BTQV9DUllQVE9fQlVJTFRJTl9LRVlTIGlzIGVuYWJsZWQgYW5kCisgICAgIE1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UIGlzIG1vcmUgdGhhbiA0MDk2LgorICAgKiBEb2N1bWVudCBhbmQgZW5mb3JjZSB0aGUgbGltaXRhdGlvbiBvZiBtYmVkdGxzX3BzYV9yZWdpc3Rlcl9zZV9rZXkoKQorICAgICB0byBwZXJzaXN0ZW50IGtleXMuIFJlc29sdmVzICM5MjUzLgorICAgKiBGaXggQ2xhbmcgY29tcGlsYXRpb24gZXJyb3Igd2hlbiBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGlzIGVuYWJsZWQKKyAgICAgYnV0IE1CRURUTFNfREhNX0MgaXMgZGlzYWJsZWQuIFJlcG9ydGVkIGJ5IE1pY2hhZWwgU2NodXN0ZXIgaW4gIzkxODguCisgICAqIEZpeCBzZXJ2ZXIgbW9kZSBvbmx5IGJ1aWxkIHdoZW4gTUJFRFRMU19TU0xfU1JWX0MgaXMgZW5hYmxlZCBidXQKKyAgICAgTUJFRFRMU19TU0xfQ0xJX0MgaXMgZGlzYWJsZWQuIFJlcG9ydGVkIGJ5IE0tQmFiIG9uIEdpdEh1YiBpbiAjOTE4Ni4KKyAgICogV2hlbiBNQkVEVExTX1BTQV9DUllQVE9fQyB3YXMgZGlzYWJsZWQgYW5kIE1CRURUTFNfRUNEU0FfQyBlbmFibGVkLAorICAgICBzb21lIGNvZGUgd2FzIGRlZmluaW5nIDAtc2l6ZSBhcnJheXMsIHJlc3VsdGluZyBpbiBjb21waWxhdGlvbiBlcnJvcnMuCisgICAgIEZpeGVkIGJ5IGRpc2FibGluZyB0aGUgb2ZmZW5kaW5nIGNvZGUgaW4gY29uZmlndXJhdGlvbnMgd2l0aG91dCBQU0EKKyAgICAgQ3J5cHRvLCB3aGVyZSBpdCBuZXZlciB3b3JrZWQuIEZpeGVzICM5MzExLgorICAgKiBGaXggdW5pbnRlbmRlZCBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIHdoZW4gdXNpbmcgc2hvcnQgUlNBIHB1YmxpYyBrZXlzLgorICAgICBGaXhlcyAjOTIzMi4KKyAgICogRml4ZXMgYW4gaXNzdWUgd2hlcmUgc29tZSBUTFMgMS4yIGNsaWVudHMgY291bGQgbm90IGNvbm5lY3QgdG8gYW4KKyAgICAgTWJlZCBUTFMgMy42LjAgc2VydmVyLCBkdWUgdG8gaW5jb3JyZWN0IGhhbmRsaW5nIG9mCisgICAgIGxlZ2FjeV9jb21wcmVzc2lvbl9tZXRob2RzIGluIHRoZSBDbGllbnRIZWxsby4KKyAgICAgRml4ZXMgIzg5OTUsICM5MjQzLgorICAgKiBGaXggVExTIGNvbm5lY3Rpb25zIGZhaWxpbmcgd2hlbiB0aGUgaGFuZHNoYWtlIHNlbGVjdHMgVExTIDEuMworICAgICBpbiBhbiBhcHBsaWNhdGlvbiB0aGF0IGRvZXMgbm90IGNhbGwgcHNhX2NyeXB0b19pbml0KCkuCisgICAgIEZpeGVzICM5MDcyLgorICAgKiBGaXggVExTIGNvbm5lY3Rpb24gZmFpbHVyZSBpbiBhcHBsaWNhdGlvbnMgdXNpbmcgYW4gTWJlZCBUTFMgY2xpZW50IGluCisgICAgIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gY29ubmVjdGluZyB0byBhIFRMUyAxLjMgc2VydmVyIHNlbmRpbmcgdGlja2V0cy4KKyAgICAgU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mCisgICAgIG1iZWR0bHNfc3NsX2NvbmZfdGxzMTNfZW5hYmxlX3NpZ25hbF9uZXdfc2Vzc2lvbl90aWNrZXRzKCkgZm9yIG1vcmUKKyAgICAgaW5mb3JtYXRpb24uCisgICAgIEZpeGVzICM4NzQ5LgorICAgKiBGaXggYSBtZW1vcnkgbGVhayB0aGF0IGNvdWxkIG9jY3VyIHdoZW4gZmFpbGluZyB0byBwcm9jZXNzIGFuIFJTQQorICAgICBrZXkgdGhyb3VnaCBzb21lIFBTQSBmdW5jdGlvbnMgZHVlIHRvIGxvdyBtZW1vcnkgY29uZGl0aW9ucy4KKyAgICogRml4ZWQgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgaW4gMy42LjAgd2hlcmUgdGhlIENBIGNhbGxiYWNrIHNldCB3aXRoCisgICAgIG1iZWR0bHNfc3NsX2NvbmZfY2FfY2IoKSB3b3VsZCBzdG9wIHdvcmtpbmcgd2hlbiBjb25uZWN0aW9ucyB3ZXJlCisgICAgIHVwZ3JhZGVkIHRvIFRMUyAxLjMuIEZpeGVkIGJ5IGFkZGluZyBzdXBwb3J0IGZvciB0aGUgQ0EgY2FsbGJhY2sgd2l0aCBUTFMKKyAgICAgMS4zLgorICAgKiBGaXhlZCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBpbiAzLjYuMCB3aGVyZSBjbGllbnRzIHRoYXQgcmVsaWVkIG9uCisgICAgIG9wdGlvbmFsL25vbmUgYXV0aGVudGljYXRpb24gbW9kZSwgYnkgY2FsbGluZyBtYmVkdGxzX3NzbF9jb25mX2F1dGhtb2RlKCkKKyAgICAgd2l0aCBNQkVEVExTX1NTTF9WRVJJRllfT1BUSU9OQUwgb3IgTUJFRFRMU19TU0xfVkVSSUZZX05PTkUsIHdvdWxkIHN0b3AKKyAgICAgd29ya2luZyB3aGVuIGNvbm5lY3Rpb25zIHdlcmUgdXBncmFkZWQgdG8gVExTIDEuMy4gRml4ZWQgYnkgYWRkaW5nCisgICAgIHN1cHBvcnQgZm9yIG9wdGlvbmFsL25vbmUgd2l0aCBUTFMgMS4zIGFzIHdlbGwuIE5vdGUgdGhhdCB0aGUgVExTIDEuMworICAgICBzdGFuZGFyZCBtYWtlcyBzZXJ2ZXIgYXV0aGVudGljYXRpb24gbWFuZGF0b3J5OyB1c2VycyBhcmUgYWR2aXNlZCBub3QgdG8KKyAgICAgdXNlIGF1dGhtb2RlIG5vbmUsIGFuZCB0byBjYXJlZnVsbHkgY2hlY2sgdGhlIHJlc3VsdHMgd2hlbiB1c2luZyBvcHRpb25hbAorICAgICBtb2RlLgorICAgKiBGaXhlZCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBpbiAzLjYuMCB3aGVyZSBjb250ZXh0LXNwZWNpZmljIGNlcnRpZmljYXRlCisgICAgIHZlcmlmeSBjYWxsYmFja3MsIHNldCB3aXRoIG1iZWR0bHNfc3NsX3NldF92ZXJpZnkoKSBhcyBvcHBvc2VkIHRvCisgICAgIG1iZWR0bHNfc3NsX2NvbmZfdmVyaWZ5KCksIHdvdWxkIHN0b3Agd29ya2luZyB3aGVuIGNvbm5lY3Rpb25zIHdlcmUKKyAgICAgdXBncmFkZWQgdG8gVExTIDEuMy4gRml4ZWQgYnkgYWRkaW5nIHN1cHBvcnQgZm9yIGNvbnRleHQtc3BlY2lmaWMgdmVyaWZ5CisgICAgIGNhbGxiYWNrIGluIFRMUyAxLjMuCisKK0NoYW5nZXMKKyAgICogV2FybiBpZiBtYmVkdGxzL2NoZWNrX2NvbmZpZy5oIGlzIGluY2x1ZGVkIG1hbnVhbGx5LCBhcyB0aGlzIGNhbgorICAgICBsZWFkIHRvIHNwdXJpb3VzIGVycm9ycy4gRXJyb3IgaWYgYSAqYWRqdXN0Ki5oIGhlYWRlciBpcyBpbmNsdWRlZAorICAgICBtYW51YWxseSwgYXMgdGhpcyBjYW4gbGVhZCB0byBzaWxlbnRseSBpbmNvbnNpc3RlbnQgY29uZmlndXJhdGlvbnMsCisgICAgIHBvdGVudGlhbGx5IHJlc3VsdGluZyBpbiBidWZmZXIgb3ZlcmZsb3dzLgorICAgICBXaGVuIG1pZ3JhdGluZyBmcm9tIE1iZWQgVExTIDIueCwgaWYgeW91IGhhZCBhIGN1c3RvbSBjb25maWcuaCB0aGF0CisgICAgIGluY2x1ZGVkIGNoZWNrX2NvbmZpZy5oLCByZW1vdmUgdGhpcyBpbmNsdXNpb24gZnJvbSB0aGUgTWJlZCBUTFMgMy54CisgICAgIGNvbmZpZ3VyYXRpb24gZmlsZSAocmVuYW1lZCB0byBtYmVkdGxzX2NvbmZpZy5oKS4gVGhpcyBjaGFuZ2Ugd2FzIG1hZGUKKyAgICAgaW4gTWJlZCBUTFMgMy4wLCBidXQgd2FzIG5vdCBhbm5vdW5jZWQgaW4gYSBjaGFuZ2Vsb2cgZW50cnkgYXQgdGhlIHRpbWUuCisKID0gTWJlZCBUTFMgMy42LjAgYnJhbmNoIHJlbGVhc2VkIDIwMjQtMDMtMjgKIAogQVBJIGNoYW5nZXMKQEAgLTE0NCw2ICszMzgsNyBAQAogICAgKiBGaXggYSBzdGFjayBidWZmZXIgb3ZlcnJlYWQgKGxlc3MgdGhhbiAyNTYgYnl0ZXMpIHdoZW4gcGFyc2luZyBhIFRMUyAxLjMKICAgICAgQ2xpZW50SGVsbG8gaW4gYSBUTFMgMS4zIHNlcnZlciBzdXBwb3J0aW5nIHNvbWUgUFNLIGtleSBleGNoYW5nZSBtb2RlLiBBCiAgICAgIG1hbGljaW91cyBjbGllbnQgY291bGQgY2F1c2UgaW5mb3JtYXRpb24gZGlzY2xvc3VyZSBvciBhIGRlbmlhbCBvZiBzZXJ2aWNlLgorICAgICBGaXhlcyBDVkUtMjAyNC0zMDE2Ni4KICAgICogUGFzc2luZyBidWZmZXJzIHRoYXQgYXJlIHN0b3JlZCBpbiB1bnRydXN0ZWQgbWVtb3J5IGFzIGFyZ3VtZW50cwogICAgICB0byBQU0EgZnVuY3Rpb25zIGlzIG5vdyBzZWN1cmUgYnkgZGVmYXVsdC4KICAgICAgVGhlIFBTQSBjb3JlIG5vdyBwcm90ZWN0cyBhZ2FpbnN0IG1vZGlmaWNhdGlvbiBvZiBpbnB1dHMgb3IgZXhwb3N1cmUKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZy5kLzkzMDIudHh0IGIvQ2hhbmdlTG9nLmQvOTMwMi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDYxYmExOQotLS0gL2Rldi9udWxsCisrKyBiL0NoYW5nZUxvZy5kLzkzMDIudHh0CkBAIC0wLDAgKzEsNiBAQAorRmVhdHVyZXMKKyAgICogQWRkZWQgbmV3IGNvbmZpZ3VyYXRpb24gb3B0aW9uIE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMsIHdoaWNoCisgICAgIHVzZXMgc3RhdGljIHN0b3JhZ2UgZm9yIGtleXMsIGVuYWJsaW5nIG1hbGxvYy1sZXNzIHVzZSBvZiBrZXkgc2xvdHMuCisgICAgIFRoZSBzaXplIG9mIGVhY2ggYnVmZmVyIGlzIGdpdmVuIGJ5IHRoZSBvcHRpb24KKyAgICAgTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFLiBCeSBkZWZhdWx0IGl0IGFjY29tbW9kYXRlcyB0aGUKKyAgICAgbGFyZ2VzdCBQU0Ega2V5IGVuYWJsZWQgaW4gdGhlIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nLmQvZml4LWNvbXBpbGF0aW9uLXdoZW4tbWVtY3B5LWlzLWZ1bmN0aW9uLWxpa2UtbWFjcm8udHh0IGIvQ2hhbmdlTG9nLmQvZml4LWNvbXBpbGF0aW9uLXdoZW4tbWVtY3B5LWlzLWZ1bmN0aW9uLWxpa2UtbWFjcm8udHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMWU3ZDI1Li4wMDAwMDAwCi0tLSBhL0NoYW5nZUxvZy5kL2ZpeC1jb21waWxhdGlvbi13aGVuLW1lbWNweS1pcy1mdW5jdGlvbi1saWtlLW1hY3JvLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotQnVnZml4Ci0gICAqIEZpeCBjb21waWxhdGlvbiBlcnJvciB3aGVuIG1lbWNweSgpIGlzIGEgZnVuY3Rpb24tbGlrZSBtYWNyb3MuIEZpeGVzICM4OTk0LgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nLmQvZml4LWRyaXZlci1zY2hlbWEtY2hlY2sudHh0IGIvQ2hhbmdlTG9nLmQvZml4LWRyaXZlci1zY2hlbWEtY2hlY2sudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNmQ4YWMKLS0tIC9kZXYvbnVsbAorKysgYi9DaGFuZ2VMb2cuZC9maXgtZHJpdmVyLXNjaGVtYS1jaGVjay50eHQKQEAgLTAsMCArMSwzIEBACitCdWdmaXgKKyAgICogRml4IGludmFsaWQgSlNPTiBzY2hlbWFzIGZvciBkcml2ZXIgZGVzY3JpcHRpb25zIHVzZWQgYnkKKyAgICAgZ2VuZXJhdGVfZHJpdmVyX3dyYXBwZXJzLnB5LgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nLmQvcmVwbGFjZS1jbG9zZS13aXRoLW1iZWR0bHNfbmV0X2Nsb3NlLnR4dCBiL0NoYW5nZUxvZy5kL3JlcGxhY2UtY2xvc2Utd2l0aC1tYmVkdGxzX25ldF9jbG9zZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEzY2Y1NQotLS0gL2Rldi9udWxsCisrKyBiL0NoYW5nZUxvZy5kL3JlcGxhY2UtY2xvc2Utd2l0aC1tYmVkdGxzX25ldF9jbG9zZS50eHQKQEAgLTAsMCArMSw0IEBACitCdWdmaXgKKyAgICogVXNlICdtYmVkdGxzX25ldF9jbG9zZScgaW5zdGVhZCBvZiAnY2xvc2UnIGluICdtYmVkdGxzX25ldF9iaW5kJworICAgICBhbmQgJ21iZWR0bHNfbmV0X2Nvbm5lY3QnIHRvIHByZXZlbnQgcG9zc2libGUgZG91YmxlIGNsb3NlIGZkCisgICAgIHByb2JsZW1zLiBGaXhlcyAjOTcxMS4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZy5kL3RsczEzLW1pZGRsZWJveC1jb21wYXQtZGlzYWJsZWQudHh0IGIvQ2hhbmdlTG9nLmQvdGxzMTMtbWlkZGxlYm94LWNvbXBhdC1kaXNhYmxlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUzMzFiYwotLS0gL2Rldi9udWxsCisrKyBiL0NoYW5nZUxvZy5kL3RsczEzLW1pZGRsZWJveC1jb21wYXQtZGlzYWJsZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQnVnZml4CisgICAqIFdoZW4gTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBpcyBkaXNhYmxlZCwgd29yayB3aXRoCisgICAgIHBlZXJzIHRoYXQgaGF2ZSBtaWRkbGVib3ggY29tcGF0aWJpbGl0eSBlbmFibGVkLCBhcyBsb25nIGFzIG5vCisgICAgIHByb2JsZW1hdGljIG1pZGRsZWJveCBpcyBpbiB0aGUgd2F5LiBGaXhlcyAjOTU1MS4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZy5kL3RsczEzLXdpdGhvdXQtdGlja2V0cy50eHQgYi9DaGFuZ2VMb2cuZC90bHMxMy13aXRob3V0LXRpY2tldHMudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2VlZjIxLi4wMDAwMDAwCi0tLSBhL0NoYW5nZUxvZy5kL3RsczEzLXdpdGhvdXQtdGlja2V0cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUJ1Z2ZpeAotICAgKiBGaXggVExTIDEuMyBjbGllbnQgYnVpbGQgYW5kIHJ1bnRpbWUgd2hlbiBzdXBwb3J0IGZvciBzZXNzaW9uIHRpY2tldHMgaXMKLSAgICAgZGlzYWJsZWQgKE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBjb25maWd1cmF0aW9uIG9wdGlvbikuIEZpeGVzICM2Mzk1LgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCBmYjgwNTI5Li5lNGQ5OGM5IDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtMjgsNiArMjgsMTAgQEAKIHByb2dyYW1zOiBsaWIgbWJlZHRsc190ZXN0CiAJJChNQUtFKSAtQyBwcm9ncmFtcwogCitzc2wtb3B0OiBsaWIgbWJlZHRsc190ZXN0CisJJChNQUtFKSAtQyBwcm9ncmFtcyBzc2wtb3B0CisJJChNQUtFKSAtQyB0ZXN0cyBzc2wtb3B0CisKIGxpYjoKIAkkKE1BS0UpIC1DIGxpYnJhcnkKIApkaWZmIC0tZ2l0IGEvY29uZmlncy9jb25maWctc3ltbWV0cmljLW9ubHkuaCBiL2NvbmZpZ3MvY29uZmlnLXN5bW1ldHJpYy1vbmx5LmgKaW5kZXggNTEyZGQ3Ni4uZjczZGIzYSAxMDA2NDQKLS0tIGEvY29uZmlncy9jb25maWctc3ltbWV0cmljLW9ubHkuaAorKysgYi9jb25maWdzL2NvbmZpZy1zeW1tZXRyaWMtb25seS5oCkBAIC02NSwxMyArNjUsMTEgQEAKICNkZWZpbmUgTUJFRFRMU19QU0FfSVRTX0ZJTEVfQwogI2RlZmluZSBNQkVEVExTX1JJUEVNRDE2MF9DCiAjZGVmaW5lIE1CRURUTFNfU0hBMV9DCi0vKiBUaGUgbGlicmFyeSBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBlbmFibGluZyBTSEEtMjI0IHdpdGhvdXQgU0hBLTI1Ni4KLSAqIEEgZnV0dXJlIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkgd2lsbCBoYXZlIHRoaXMgb3B0aW9uIGRpc2FibGVkCi0gKiBieSBkZWZhdWx0LiAqLwogI2RlZmluZSBNQkVEVExTX1NIQTIyNF9DCiAjZGVmaW5lIE1CRURUTFNfU0hBMjU2X0MKICNkZWZpbmUgTUJFRFRMU19TSEEzODRfQwogI2RlZmluZSBNQkVEVExTX1NIQTUxMl9DCisjZGVmaW5lIE1CRURUTFNfU0hBM19DCiAvLyNkZWZpbmUgTUJFRFRMU19USFJFQURJTkdfQwogI2RlZmluZSBNQkVEVExTX1RJTUlOR19DCiAjZGVmaW5lIE1CRURUTFNfVkVSU0lPTl9DCmRpZmYgLS1naXQgYS9jb25maWdzL2NyeXB0by1jb25maWctY2NtLWFlcy1zaGEyNTYuaCBiL2NvbmZpZ3MvY3J5cHRvLWNvbmZpZy1jY20tYWVzLXNoYTI1Ni5oCmluZGV4IDdmOGQ1ODcuLjY4YTljMGEgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3MvY3J5cHRvLWNvbmZpZy1jY20tYWVzLXNoYTI1Ni5oCisrKyBiL2NvbmZpZ3MvY3J5cHRvLWNvbmZpZy1jY20tYWVzLXNoYTI1Ni5oCkBAIC0yLDcgKzIsNyBAQAogICogXGZpbGUgY29uZmlncy9jcnlwdG8tY29uZmlnLWNjbS1hZXMtc2hhMjU2LmgKICAqCiAgKiBcYnJpZWYgUFNBIGNyeXB0byBjb25maWd1cmF0aW9uIHdpdGggb25seSBzeW1tZXRyaWMgY3J5cHRvZ3JhcGh5OiBDQ00tQUVTLAotICogICAgICAgIFNIQS0yNTYsIEhNQUMgYW5kIGtleSBkZXJpdmF0aW9uCisgKiAgICAgICAgU0hBLTI1NiBhbmQga2V5IGRlcml2YXRpb24gKHVzZXMgSE1BQykuCiAgKi8KIC8qCiAgKiAgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKQEAgLTEzLDEyICsxMywxMCBAQAogI2RlZmluZSBQU0FfQ1JZUFRPX0NPTkZJR19ICiAKICNkZWZpbmUgUFNBX1dBTlRfQUxHX0NDTSAxCi0jZGVmaW5lIFBTQV9XQU5UX0FMR19ITUFDIDEKICNkZWZpbmUgUFNBX1dBTlRfQUxHX1NIQV8yNTYgMQogI2RlZmluZSBQU0FfV0FOVF9BTEdfVExTMTJfUFJGIDEKICNkZWZpbmUgUFNBX1dBTlRfQUxHX1RMUzEyX1BTS19UT19NUyAxCiAjZGVmaW5lIFBTQV9XQU5UX0tFWV9UWVBFX0RFUklWRSAxCi0jZGVmaW5lIFBTQV9XQU5UX0tFWV9UWVBFX0hNQUMgMQogI2RlZmluZSBQU0FfV0FOVF9LRVlfVFlQRV9BRVMgMQogI2RlZmluZSBQU0FfV0FOVF9LRVlfVFlQRV9SQVdfREFUQSAxCiAKZGlmZiAtLWdpdCBhL2RvY3MvYXJjaGl0ZWN0dXJlL3BzYS1jcnlwdG8taW1wbGVtZW50YXRpb24tc3RydWN0dXJlLm1kIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLWNyeXB0by1pbXBsZW1lbnRhdGlvbi1zdHJ1Y3R1cmUubWQKaW5kZXggZDdlNGY5Yy4uMDk1NDYwMiAxMDA2NDQKLS0tIGEvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLWNyeXB0by1pbXBsZW1lbnRhdGlvbi1zdHJ1Y3R1cmUubWQKKysrIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLWNyeXB0by1pbXBsZW1lbnRhdGlvbi1zdHJ1Y3R1cmUubWQKQEAgLTg2LDcgKzg2LDcgQEAKICogWyBdIGB0ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX21ldGFkYXRhLmRhdGFgIOKAlCBbTmV3IGZ1bmN0aW9ucyBhbmQgbWFjcm9zXSgjbmV3LWZ1bmN0aW9ucy1hbmQtbWFjcm9zKQogKiAoSWYgYWRkaW5nIGBQU0FfSVNfeHh4YCkgYHRlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fbWV0YWRhdGEuZnVuY3Rpb25gIOKAlCBbTmV3IGZ1bmN0aW9ucyBhbmQgbWFjcm9zXSgjbmV3LWZ1bmN0aW9ucy1hbmQtbWFjcm9zKQogKiBbIF0gYHRlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG8qLmRhdGFgLCBgdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0byouZnVuY3Rpb25gIOKAlCBbVW5pdCB0ZXN0c10oI3VuaXQtdGVzdHMpCi0qIFsgXSBgc2NyaXB0cy9tYmVkdGxzX2Rldi9jcnlwdG9fa25vd2xlZGdlLnB5YCwgYHNjcmlwdHMvbWJlZHRsc19kZXYvYXN5bW1ldHJpY19rZXlfZGF0YS5weWAg4oCUIFtVbml0IHRlc3RzXSgjdW5pdC10ZXN0cykKKyogWyBdIGBmcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9jcnlwdG9fa25vd2xlZGdlLnB5YCwgYGZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL2FzeW1tZXRyaWNfa2V5X2RhdGEucHlgIOKAlCBbVW5pdCB0ZXN0c10oI3VuaXQtdGVzdHMpCiAqIFsgXSBgQ2hhbmdlTG9nLmQvKi50eHRgIOKAlCBjaGFuZ2Vsb2cgZW50cnkKIAogU3VtbWFyeSBvZiBmaWxlcyB0byBtb2RpZnkgd2hlbiBhZGRpbmcgbmV3IEFQSSBmdW5jdGlvbnM6CkBAIC0xNTMsNyArMTUzLDcgQEAKIAogIyMjIFVuaXQgdGVzdHMKIAotQSBudW1iZXIgb2YgdW5pdCB0ZXN0cyBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYHRlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX3Rlc3RzLnB5YCBiYXNlZCBvbiB0aGUgYWxnb3JpdGhtcyBhbmQga2V5IHR5cGVzIGRlY2xhcmVkIGluIGBpbmNsdWRlL3BzYS9jcnlwdG9fdmFsdWVzLmhgIGFuZCBgaW5jbHVkZS9wc2EvY3J5cHRvX2V4dHJhLmhgOgorQSBudW1iZXIgb2YgdW5pdCB0ZXN0cyBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYGZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weWAgYmFzZWQgb24gdGhlIGFsZ29yaXRobXMgYW5kIGtleSB0eXBlcyBkZWNsYXJlZCBpbiBgaW5jbHVkZS9wc2EvY3J5cHRvX3ZhbHVlcy5oYCBhbmQgYGluY2x1ZGUvcHNhL2NyeXB0b19leHRyYS5oYDoKIAogKiBBdHRlbXB0IHRvIGNyZWF0ZSBhIGtleSB3aXRoIGEga2V5IHR5cGUgdGhhdCBpcyBub3Qgc3VwcG9ydGVkLgogKiBBdHRlbXB0IHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uIHdpdGggYSBjb21iaW5hdGlvbiBvZiBrZXkgdHlwZSBhbmQgYWxnb3JpdGhtIHRoYXQgaXMgbm90IHZhbGlkIG9yIG5vdCBzdXBwb3J0ZWQuCkBAIC0xNjEsOCArMTYxLDggQEAKIAogV2hlbiBhZGRpbmcgYSBuZXcga2V5IHR5cGUgb3IgYWxnb3JpdGhtOgogCi0qIGBzY3JpcHRzL21iZWR0bHNfZGV2L2NyeXB0b19rbm93bGVkZ2UucHlgIGNvbnRhaW5zIGtub3dsZWRnZSBhYm91dCB0aGUgY29tcGF0aWJpbGl0eSBvZiBrZXkgdHlwZXMsIGtleSBzaXplcyBhbmQgYWxnb3JpdGhtcy4KLSogYHNjcmlwdHMvbWJlZHRsc19kZXYvYXN5bW1ldHJpY19rZXlfZGF0YS5weWAgY29udGFpbnMgdmFsaWQga2V5IGRhdGEgZm9yIGFzeW1tZXRyaWMga2V5IHR5cGVzLgorKiBgZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvY3J5cHRvX2tub3dsZWRnZS5weWAgY29udGFpbnMga25vd2xlZGdlIGFib3V0IHRoZSBjb21wYXRpYmlsaXR5IG9mIGtleSB0eXBlcywga2V5IHNpemVzIGFuZCBhbGdvcml0aG1zLgorKiBgZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvYXN5bW1ldHJpY19rZXlfZGF0YS5weWAgY29udGFpbnMgdmFsaWQga2V5IGRhdGEgZm9yIGFzeW1tZXRyaWMga2V5IHR5cGVzLgogCiBPdGhlciB0aGluZ3MgbmVlZCB0byBiZSB0ZXN0ZWQgbWFudWFsbHksIGVpdGhlciBpbiBgdGVzdHMvc3VpdGVzL3Rlc3Rfc3V0aWVfcHNhX2NyeXB0by5kYXRhYCBvciBpbiBhbm90aGVyIGZpbGUuIEZvciBleGFtcGxlICh0aGlzIGlzIG5vdCBhbiBleGhhdXN0aXZlIGxpc3QpOgogCmRpZmYgLS1naXQgYS9kb2NzL2FyY2hpdGVjdHVyZS9wc2Eta2V5c3RvcmUtZGVzaWduLm1kIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLWtleXN0b3JlLWRlc2lnbi5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTA4MmE4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLWtleXN0b3JlLWRlc2lnbi5tZApAQCAtMCwwICsxLDIxNCBAQAorUFNBIGtleSBzdG9yZSBkZXNpZ24KKz09PT09PT09PT09PT09PT09PT09CisKKyMjIEludHJvZHVjdGlvbgorCitUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBrZXkgc3RvcmFnZSBpbiBtZW1vcnkgaW4gdGhlIE1iZWQgVExTIGFuZCBURi1QU0EtQ3J5cHRvIGltcGxlbWVudGF0aW9uIG9mIHRoZSBQU0EgQ3J5cHRvZ3JhcGh5IEFQSS4KKworSW4gdGhlIFBTQSBDcnlwdG9ncmFwaHkgQVBJLCBjcnlwdG9ncmFwaGljIG9wZXJhdGlvbnMgYWNjZXNzIGtleSBtYXRlcmlhbHMgdmlhIGEga2V5IGlkZW50aWZpZXIgKGtleSBJRCBmb3Igc2hvcnQpLiBBcHBsaWNhdGlvbnMgbXVzdCBmaXJzdCBjcmVhdGUgYSBrZXkgb2JqZWN0LCB3aGljaCBhbGxvY2F0ZXMgc3RvcmFnZSBpbiBtZW1vcnkgZm9yIHRoZSBrZXkgbWF0ZXJpYWwgYW5kIG1ldGFkYXRhLiBUaGlzIHN0b3JhZ2UgaXMgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIGxpYnJhcnkgYW5kIG1heSBiZSBsb2NhdGVkIGluIGEgZGlmZmVyZW50IG1lbW9yeSBzcGFjZSBzdWNoIGFzIGEgdHJ1c3RlZCBleGVjdXRpb24gZW52aXJvbm1lbnQgb3IgYSBzZWN1cmUgZWxlbWVudC4KKworVGhlIHN0b3JhZ2Ugb2YgcGVyc2lzdGVudCBrZXlzIGlzIG91dCBvZiBzY29wZSBvZiB0aGlzIGRvY3VtZW50LiBTZWUgdGhlIFtNYmVkIENyeXB0byBzdG9yYWdlIHNwZWNpZmljYXRpb25dKG1iZWQtY3J5cHRvLXN0b3JhZ2Utc3BlY2lmaWNhdGlvbi5tZCkuCisKKyMjIEtleSBzbG90IG1hbmFnZW1lbnQgaW50ZXJmYWNlCisKKyMjIyBLZXkgc3RvcmUgYW5kIGtleSBzbG90cworCitUaGUgKiprZXkgc3RvcmUqKiBjb25zaXN0cyBvZiBhIGNvbGxlY3Rpb24gb2YgKiprZXkgc2xvdHMqKi4gRWFjaCBrZXkgc2xvdCBjb250YWlucyB0aGUgbWV0YWRhdGEgZm9yIG9uZSBrZXksIGFzIHdlbGwgYXMgdGhlIGtleSBtYXRlcmlhbCBvciBhIHJlZmVyZW5jZSB0byB0aGUga2V5IG1hdGVyaWFsLgorCitBIGtleSBzbG90IGhhcyB0aGUgdHlwZSBgcHNhX2tleV9zbG90X3RgLiBUaGUga2V5IHN0b3JlIGlzIGEgZ2xvYmFsIG9iamVjdCB3aGljaCBpcyBwcml2YXRlIGluc2lkZSBgcHNhX2NyeXB0b19zbG90X21hbmFnZW1lbnQuY2AuCisKKyMjIyBLZXkgc2xvdCBlbnRyeSBwb2ludHMKKworVGhlIGZvbGxvd2luZyBvcGVyYXRpb25zIGFsbG9jYXRlIGEga2V5IHNsb3QgYnkgY2FsbGluZyBgcHNhX3Jlc2VydmVfZnJlZV9rZXlfc2xvdCgpYDoKKworKiAqKkNyZWF0aW5nKiogYSBrZXkgb2JqZWN0LCB0aHJvdWdoIG1lYW5zIHN1Y2ggYXMgaW1wb3J0LCByYW5kb20gZ2VuZXJhdGlvbiwgZGV0ZXJtaW5pc3RpYyBkZXJpdmF0aW9uLCBjb3B5LCBvciByZWdpc3RyYXRpb24gb2YgYW4gZXhpc3Rpbmcga2V5IHRoYXQgaXMgc3RvcmVkIGluIHByb3RlY3RlZCBoYXJkd2FyZSAoc2VjdXJlIGVsZW1lbnQsIGhhcmR3YXJlIHVuaXF1ZSBrZXkgKEhVSykpLgorKiAqKkxvYWRpbmcqKiBhIHBlcnNpc3RlbnQga2V5IGZyb20gc3RvcmFnZSwgb3IgbG9hZGluZyBhIGJ1aWx0LWluIGtleS4gVGhpcyBpcyBkb25lIHRocm91Z2ggYHBzYV9nZXRfYW5kX2xvY2tfa2V5X3Nsb3QoKWAsIHdoaWNoIGNhbGxzIGBwc2FfcmVzZXJ2ZV9mcmVlX2tleV9zbG90KClgIGFuZCBsb2FkcyB0aGUga2V5IGlmIGFwcGxpY2FibGUuCisKK1RoZSBmb2xsb3dpbmcgb3BlcmF0aW9ucyBmcmVlIGEga2V5IHNsb3QgYnkgY2FsbGluZyBgcHNhX3dpcGVfa2V5X3Nsb3QoKWAgYW5kLCBpZiBhcHBsaWNhYmxlLCBgcHNhX2ZyZWVfa2V5X3Nsb3QoKWA6CisKKyogKipEZXN0cm95aW5nKiogYSBrZXkuCisqICoqUHVyZ2luZyoqIGEgcGVyc2lzdGVudCBrZXkgZnJvbSBtZW1vcnksIGVpdGhlciBleHBsaWNpdGx5IGF0IHRoZSBhcHBsaWNhdGlvbidzIHJlcXVlc3Qgb3IgdG8gZnJlZSBtZW1vcnkuCisKK0RlaW5pdGlhbGl6aW5nIHRoZSBQU0EgQ3J5cHRvIHN1YnN5c3RlbSB3aXRoIGBtYmVkdGxzX3BzYV9jcnlwdG9fZnJlZSgpYCBkZXN0cm95cyBhbGwgdm9sYXRpbGUga2V5cyBhbmQgcHVyZ2VzIGFsbCBwZXJzaXN0ZW50IGtleXMuCisKK1RoZSBsaWJyYXJ5IGFjY2Vzc2VzIGtleSBzbG90cyBpbiB0aGUgZm9sbG93aW5nIHNjZW5hcmlvczoKKworKiB3aGlsZSB0aGUga2V5IGlzIGJlaW5nIGNyZWF0ZWQgb3IgbG9hZGVkOworKiB3aGlsZSB0aGUga2V5IGlzIGJlaW5nIGRlc3Ryb3llZCBvciBwdXJnZWQ7CisqIHdoaWxlIHRoZSBrZXkgbWV0YWRhdGEgb3Iga2V5IG1hdGVyaWFsIGlzIGJlaW5nIGFjY2Vzc2VkLgorCisjIyMgS2V5IHNsb3Qgc3RhdGVzCisKK1RoZSBzdGF0ZSBvZiBhIGtleSBzbG90IGlzIGluZGljYXRlZCBieSBpdHMgYHN0YXRlYCBmaWVsZCBvZiB0eXBlIGBwc2Ffa2V5X3Nsb3Rfc3RhdGVfdGAsIHdoaWNoIGNhbiBiZToKKworKiBgUFNBX1NMT1RfRU1QVFlgOiBhIHNsb3QgdGhhdCBvY2N1cGllcyBtZW1vcnkgYnV0IGRvZXMgbm90IGN1cnJlbnRseSBjb250YWluIGEga2V5LgorKiBgUFNBX1NMT1RfRklMTElOR2A6IGEgc2xvdCB0aGF0IGlzIGJlaW5nIGZpbGxlZCB0byBjcmVhdGUgb3IgbG9hZCBhIGtleS4KKyogYFBTQV9TTE9UX0ZVTExgOiBhIHNsb3QgY29udGFpbmluZyBhIGtleS4KKyogYFBTQV9TTE9UX1BFTkRJTkdfREVMRVRJT05gOiBhIHNsb3Qgd2hvc2Uga2V5IGlzIGJlaW5nIGRlc3Ryb3kgb3IgcHVyZ2VkLgorCitUaGVzZSBzdGF0ZXMgYXJlIG1vc3RseSB1c2VmdWwgZm9yIGNvbmN1cnJlbmN5LiBTZWUgW0NvbmN1cnJlbmN5XSgjY29uY3VycmVuY3kpIGJlbG93IGFuZCBba2V5IHNsb3Qgc3RhdGVzIGluIHRoZSBQU0EgdGhyZWFkIHNhZmV0eSBzcGVjaWZpY2F0aW9uXShwc2EtdGhyZWFkLXNhZmV0eS9wc2EtdGhyZWFkLXNhZmV0eS5tZCNrZXktc2xvdC1zdGF0ZXMpLgorCisjIyMjIENvbmN1cnJlbmN5CisKK0luIGEgbXVsdGl0aHJlYWRlZCBlbnZpcm9ubWVudCwgc2luY2UgTWJlZCBUTFMgMy42LjAsIGVhY2gga2V5IHNsb3QgaXMgcHJvdGVjdGVkIGJ5IGEgcmVhZGVyLXdyaXRlciBsb2NrLiAoSW4gZWFybGllciB2ZXJzaW9ucywgdGhlIGtleSBzdG9yZSB3YXMgbm90IHRocmVhZC1zYWZlLikgVGhlIGxvY2sgaXMgY29udHJvbGxlZCBieSBhIHNpbmdsZSBnbG9iYWwgbXV0ZXggYG1iZWR0bHNfdGhyZWFkaW5nX3BzYV9nbG9iYWxkYXRhX211dGV4YC4gVGhlIGNvbmN1cnJlbmN5IHN0YXRlIG9mIHRoZSBzbG90IGlzIGluZGljYXRlZCBieSB0aGUgc3RhdGUgYW5kIHRoZSBgcmVnaXN0ZXJlZF9yZWFkZXJzYCBmaWVsZDoKKworKiBgRU1QVFlgIG9yIGBGVUxMYCBzdGF0ZSwgYHJlZ2lzdGVyZWRfcmVhZGVycyA9PSAwYDogdGhlIHNsb3QgaXMgbm90IGluIHVzZSBieSBhbnkgdGhyZWFkLgorKiBgRlVMTGAgc3RhdGUsIGByZWdpc3RlcmVkX3JlYWRlcnMgIT0gMGA6IHRoZSBzbG90IGlzIGJlaW5nIHJlYWQuCisqIGBGSUxMSU5HYCBvciBgUEVORElOR19ERUxFVElPTmAgc3RhdGU6IHRoZSBzbG90IGlzIGJlaW5nIHdyaXR0ZW4uCisKK0ZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1BTQSB0aHJlYWQgc2FmZXR5XShwc2EtdGhyZWFkLXNhZmV0eS9wc2EtdGhyZWFkLXNhZmV0eS5tZCkuCisKK05vdGUgdGhhdCBhIHNsb3QgbXVzdCBub3QgYmUgbW92ZWQgaW4gbWVtb3J5IHdoaWxlIGl0IGlzIGJlaW5nIHJlYWQgb3Igd3JpdHRlbi4KKworIyMgS2V5IHNsb3QgbWFuYWdlbWVudCBpbXBsZW1lbnRhdGlvbnMKKworIyMjIEtleSBzdG9yZSBpbXBsZW1lbnRhdGlvbiB2YXJpYW50cworCitUaGVyZSBhcmUgdGhyZWUgdmFyaWFudHMgb2YgdGhlIGtleSBzdG9yZSBpbXBsZW1lbnRhdGlvbiwgcmVzcG9uZGluZyB0byBkaWZmZXJlbnQgbmVlZHMuCisKKyogSHlicmlkIGtleSBzdG9yZSAoW3N0YXRpYyBrZXkgc2xvdHNdKCNzdGF0aWMta2V5LXN0b3JlKSB3aXRoIGR5bmFtaWMga2V5IGRhdGEpOiB0aGUga2V5IHN0b3JlIGlzIGEgc3RhdGljYWxseSBhbGxvY2F0ZWQgYXJyYXkgb2Ygc2xvdHMsIG9mIHNpemUgYE1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UYC4gS2V5IG1hdGVyaWFsIGlzIGFsbG9jYXRlZCBvbiB0aGUgaGVhcC4gVGhpcyBpcyB0aGUgaGlzdG9yaWNhbCBpbXBsZW1lbnRhdGlvbi4gSXQgcmVtYWlucyB0aGUgZGVmYXVsdCBpbiB0aGUgTWJlZCBUTFMgMy42IGxvbmctdGltZSBzdXBwb3J0IChMVFMpIGJyYW5jaCB3aGVuIHVzaW5nIGEgaGFuZHdyaXR0ZW4gYG1iZWR0bHNfY29uZmlnLmhgLCBhcyBpcyBjb21tb24gb24gcmVzb3VyY2UtY29uc3RyYWluZWQgcGxhdGZvcm1zLCBiZWNhdXNlIHRoZSBhbHRlcm5hdGl2ZXMgaGF2ZSB0cmFkZW9mZnMgKGtleSBzaXplIGxpbWl0IGFuZCBsYXJnZXIgUkFNIHVzYWdlIGF0IHJlc3QgZm9yIHRoZSBzdGF0aWMga2V5IHN0b3JlLCBsYXJnZXIgY29kZSBzaXplIGFuZCBtb3JlIHJpc2sgZHVlIHRvIGNvZGUgY29tcGxleGl0eSBmb3IgdGhlIGR5bmFtaWMga2V5IHN0b3JlKS4KKyogRnVsbHkgW3N0YXRpYyBrZXkgc3RvcmVdKCNzdGF0aWMta2V5LXN0b3JlKSAoc2luY2UgTWJlZCBUTFMgMy42LjMpOiB0aGUga2V5IHN0b3JlIGlzIGEgc3RhdGljYWxseSBhbGxvY2F0ZWQgYXJyYXkgb2Ygc2xvdHMsIG9mIHNpemUgYE1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UYC4gRWFjaCBrZXkgc2xvdCBjb250YWlucyB0aGUga2V5IHJlcHJlc2VudGF0aW9uIGRpcmVjdGx5LCBhbmQgdGhlIGtleSByZXByZXNlbnRhdGlvbiBtdXN0IGJlIG5vIG1vcmUgdGhhbiBgTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFYCBieXRlcy4gVGhpcyBpcyBpbnRlbmRlZCBmb3IgdmVyeSBjb25zdHJhaW5lZCBkZXZpY2VzIHRoYXQgZG8gbm90IGhhdmUgYSBoZWFwLgorKiBbRHluYW1pYyBrZXkgc3RvcmVdKCNkeW5hbWljLWtleS1zdG9yZSkgKHNpbmNlIE1iZWQgVExTIDMuNi4xKTogdGhlIGtleSBzdG9yZSBpcyBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYXMgbXVsdGlwbGUgc2xpY2VzIG9uIHRoZSBoZWFwLCB3aXRoIGEgc2l6ZSB0aGF0IGFkanVzdHMgdG8gdGhlIGFwcGxpY2F0aW9uJ3MgdXNhZ2UuIEtleSBtYXRlcmlhbCBpcyBhbGxvY2F0ZWQgb24gdGhlIGhlYXAuIENvbXBhcmVkIHRvIHRoZSBoeWJyaWQga2V5IHN0b3JlLCB0aGUgY29kZSBzaXplIGFuZCBSQU0gY29uc3VtcHRpb24gYXJlIGxhcmdlci4gVGhpcyBpcyBpbnRlbmRlZCBmb3IgaGlnaGVyLWVuZCBkZXZpY2VzIHdoZXJlIGFwcGxpY2F0aW9ucyBhcmUgbm90IGV4cGVjdGVkIHRvIGhhdmUgYSBoaWdobHkgcHJlZGljYXRhYmxlIHJlc291cmNlIHVzYWdlLiBUaGlzIGlzIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHdoZW4gdXNpbmcgdGhlIGRlZmF1bHQgYG1iZWR0bHNfY29uZmlnLmhgIGZpbGUsIGFzIGlzIGNvbW1vbiBvbiBwbGF0Zm9ybXMgc3VjaCBhcyBMaW51eCwgc3RhcnRpbmcgd2l0aCBNYmVkIFRMUyAzLjYuMS4KKworIyMjIyBGdXR1cmUgaW1wcm92ZW1lbnQ6IG1lcmdpbmcgdGhlIGtleSBzdG9yZSB2YXJpYW50cworCitJbiB0aGUgZnV0dXJlLCB3ZSBtYXkgcmVkdWNlIHRoZSBudW1iZXIgb2Yga2V5IHN0b3JlIHZhcmlhbnRzIHRvIGp1c3QgdHdvLCBwZXJoYXBzIGV2ZW4gb25lLgorCitXZSBpbnRyb2R1Y2VkIHRoZSB2YXJpYW50cyBvdGhlciB0aGFuIHRoZSBoeWJyaWQga2V5IHN0b3JlIGluIGEgcGF0Y2ggcmVsZWFzZSBvZiBhIGxvbmctdGltZSBzdXBwb3J0IHZlcnNpb24uIEFzIGEgY29uc2VxdWVuY2UsIHdlIHdhbnRlZCB0byBtaW5pbWl6ZSBtYWtpbmcgY2hhbmdlcyB0byB0aGUgZGVmYXVsdCBidWlsZCAod2hlbiBub3QgdXNpbmcgdGhlIHN1cHBsaWVkIGBtYmVkdGxzX2NvbmZpZy5oYCwgYXMgZXhwbGFpbmVkIGFib3ZlKSwgdG8gbWluaW1pemUgdGhlIHJpc2sgb2YgYnVncyBhbmQgdGhlIGluY3JlYXNlIGluIGNvZGUgc2l6ZS4gVGhlc2UgY29uc2lkZXJhdGlvbnMgd2lsbCBub3QgYXBwbHkgaW4gZnV0dXJlIG1ham9yIG9yIG1pbm9yIHJlbGVhc2VzLCBzbyB0aGUgZGVmYXVsdCBrZXkgc3RvcmUgY2FuIGNoYW5nZSBsYXRlci4KKworVGhlIHN0YXRpYyBrZXkgc3RvcmUgY291bGQgYmVjb21lIGEgcnVudGltZSBkZWNpc2lvbiwgd2hlcmUgb25seSBrZXlzIGxhcmdlciB0aGFuIHNvbWUgdGhyZXNob2xkIHJlcXVpcmUgdGhlIHVzZSBvZiBoZWFwIG1lbW9yeS4gVGhlIHJlYXNvbnMgbm90IHRvIGRvIHRoaXMgaW4gTWJlZCBUTFMgMy42LnggYXJlIHRoYXQgdGhpcyBpbmNyZWFzZXMgY29tcGxleGl0eSBzb21ld2hhdCAoc2xpZ2h0bHkgbW9yZSBjb2RlIHNpemUsIGFuZCBtb3JlIHJpc2spLCBhbmQgdGhpcyBjaGFuZ2VzIHRoZSBSQU0gdXNhZ2UgcHJvZmlsZSBzb21ld2hhdC4KKworQSBtYWpvciBjb25zdHJhaW50IG9uIHRoZSBkZXNpZ24gb2YgdGhlIGR5bmFtaWMga2V5IHN0b3JlIGlzIHRoZSBuZWVkIHRvIHByZXNlcnZlIHNsb3QgcG9pbnRlcnMgd2hpbGUgYSBzbG90IG1heSBiZSBhY2Nlc3NlZCBieSBhbm90aGVyIHRocmVhZCAoc2VlIFvigJxDb25jdXJyZW5jeeKAnV0oI2NvbmN1cnJlbmN5KSkuIFdpdGggdGhlIGNvbmN1cnJlbmN5IHByaW1pdGl2ZXMgYXZhaWxhYmxlIGluIE1iZWQgVExTIDMueCwgaXQgaXMgdmVyeSBoYXJkIHRvIG1vdmUgYSBrZXkgc2xvdCBpbiBtZW1vcnksIGJlY2F1c2UgdGhlcmUgY291bGQgYmUgYW4gaW5kZWZpbml0ZSB3YWl0IHVudGlsIHNvbWUgb3RoZXIgdGhyZWFkIGhhcyBmaW5pc2hlZCBhY2Nlc3NpbmcgdGhlIHNsb3QuIFRoaXMgcHVzaGVkIHRvd2FyZHMgdGhlIHNsaWNlLWJhc2VkIG9yZ2FuaXNhdGlvbiBkZXNjcmliZWQgYmVsb3csIHdoZXJlIGVhY2ggc2xpY2UgaXMgYWxsb2NhdGVkIGZvciB0aGUgbG9uZyB0ZXJtLiBJbiBwYXJ0aWN1bGFyLCBzbGljZXMgY2Fubm90IGJlIGNvbXBhY3RlZCAoY29tcGFjdGluZyB3b3VsZCBiZSBtb3Zpbmcgc2xvdHMgb3V0IG9mIGEgc3BhcnNlbHktdXNlZCBzbGljZSB0byBmcmVlIGl0KS4gQmV0dGVyIGNvbmN1cnJlbmN5IHByaW1pdGl2ZXMgKGUuZy4gY29uZGl0aW9uIHZhcmlhYmxlcyBvciBzZW1hcGhvcmVzKSwgdG9nZXRoZXIgd2l0aCBhIGByZWFsbG9jKClgIHByaW1pdGl2ZSwgY291bGQgYWxsb3cgZnJlZWluZyB1bnVzZWQgbWVtb3J5IG1vcmUgYWdncmVzc2l2ZWx5LCB3aGljaCBjb3VsZCBtYWtlIHRoZSBkeW5hbWljIGtleSBzdG9yZSBub3QgZGV0cmltZW50YWwgaW4gUkFNIHVzYWdlIGNvbXBhcmVkIHRvIHRoZSBoaXN0b3JpY2FsIGh5YnJpZCBrZXkgc3RvcmUuCisKKyMjIyMgU2xpY2UgYWJzdHJhY3Rpb24KKworU29tZSBwYXJ0cyBvZiB0aGUga2V5IHNsb3QgbWFuYWdlbWVudCBjb2RlIHVzZSAqKmtleSBzbGljZXMqKiBhcyBhbiBhYnN0cmFjdGlvbi4gQSBrZXkgc2xpY2UgaXMgYW4gYXJyYXkgb2Yga2V5IHNsb3RzLiBLZXkgc2xpY2VzIGFyZSBpZGVudGlmaWVkIGJ5IGFuIGluZGV4IHdoaWNoIGlzIGEgc21hbGwgbm9uLW5lZ2F0aXZlIGludGVnZXIuCisKKyogV2l0aCBhIFtzdGF0aWMga2V5IHN0b3JlXSgjc3RhdGljLWtleS1zdG9yZSksIHRoZXJlIGlzIGEgc2luZ2xlLCBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzbGljZSwgd2l0aCB0aGUgaW5kZXggMC4KKyogV2l0aCBhIFtkeW5hbWljIGtleSBzdG9yZV0oI2R5bmFtaWMta2V5LXN0b3JlKSwgdGhlcmUgaXMgc3RhdGljYWxseSBhbGxvY2F0ZWQgYXJyYXkgb2YgcG9pbnRlcnMgdG8ga2V5IHNsaWNlcy4gVGhlIGluZGV4IG9mIGEgc2xpY2UgaXMgdGhlIGluZGV4IGluIHRoYXQgYXJyYXkuIFRoZSBzbGljZXMgYXJlIGFsbG9jYXRlZCBvbiB0aGUgaGVhcCBhcyBuZWVkZWQuCisKKyMjIyMgS2V5IGlkZW50aWZpZXJzIGFuZCBzbG90IGxvY2F0aW9uCisKK1doZW4gY3JlYXRpbmcgYSB2b2xhdGlsZSBrZXksIHRoZSBzbGljZSBjb250YWluaW5nIHRoZSBzbG90IGFuZCBpbmRleCBvZiB0aGUgc2xvdCBpbiBpdHMgc2xpY2UgZGV0ZXJtaW5lIHRoZSBrZXkgaWRlbnRpZmllci4gV2hlbiBhY2Nlc3NpbmcgYSB2b2xhdGlsZSBrZXksIHRoZSBzbGljZSBhbmQgdGhlIHNsb3QgaW5kZXggaW4gdGhlIHNsaWNlIGFyZSBjYWxjdWxhdGVkIGZyb20gdGhlIGtleSBpZGVudGlmaWVyLiBUaGUgZW5jb2Rpbmcgb2YgdGhlIHNsb3QgbG9jYXRpb24gaW4gdGhlIHZvbGF0aWxlIGtleSBpZGVudGlmaWVyIGlzIGRpZmZlcmVudCBmb3IgYSBbc3RhdGljXSgjdm9sYXRpbGUta2V5LWlkZW50aWZpZXJzLWluLXRoZS1zdGF0aWMta2V5LXN0b3JlKSBvciBbZHluYW1pY10oI3ZvbGF0aWxlLWtleS1pZGVudGlmaWVycy1pbi10aGUtZHluYW1pYy1rZXktc3RvcmUpIGtleSBzdG9yZS4KKworIyMjIFN0YXRpYyBrZXkgc3RvcmUKKworVGhlIHN0YXRpYyBrZXkgc3RvcmUgaXMgdGhlIGhpc3RvcmljYWwgaW1wbGVtZW50YXRpb24uIFRoZSBrZXkgc3RvcmUgaXMgYSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBhcnJheSBvZiBzbG90cywgb2Ygc2l6ZSBgTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlRgLiBUaGlzIHZhbHVlIGlzIGFuIHVwcGVyIGJvdW5kIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHZvbGF0aWxlIGtleXMgcGx1cyBsb2FkZWQga2V5cy4KKworU2luY2UgTWJlZCBUTFMgMy42LjMsIHRoZXJlIGFyZSB0d28gdmFyaWFudHMgZm9yIHRoZSBzdGF0aWMga2V5IHN0b3JlOiBhIGh5YnJpZCB2YXJpYW50IChkZWZhdWx0KSwgYW5kIGEgZnVsbHktc3RhdGljIHZhcmlhbnQgZW5hYmxlZCBieSB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24gYE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFNgLiBUaGUgdHdvIHZhcmlhbnRzIGhhdmUgdGhlIHNhbWUga2V5IHN0b3JlIG1hbmFnZW1lbnQ6IHRoZSBvbmx5IGRpZmZlcmVuY2UgaXMgaW4gaG93IHRoZSBtZW1vcnkgZm9yIGtleSBkYXRhIGlzIG1hbmFnZWQuIFdpdGggZnVsbHkgc3RhdGljIGtleSBzbG90cywgdGhlIGtleSBkYXRhIGlzIGRpcmVjdGx5IGluc2lkZSB0aGUgc2xvdCwgYW5kIGxpbWl0ZWQgdG8gYE1CRURUTFNfUFNBX0tFWV9TTE9UX0JVRkZFUl9TSVpFYCBieXRlcy4gV2l0aCB0aGUgaHlicmlkIGtleSBzdG9yZSwgdGhlIHNsb3QgY29udGFpbnMgYSBwb2ludGVyIHRvIHRoZSBrZXkgZGF0YSwgd2hpY2ggaXMgYWxsb2NhdGVkIG9uIHRoZSBoZWFwLgorCisjIyMjIFZvbGF0aWxlIGtleSBpZGVudGlmaWVycyBpbiB0aGUgc3RhdGljIGtleSBzdG9yZQorCitGb3IgZWFzeSBsb29rdXAsIGEgdm9sYXRpbGUga2V5IHdob3NlIGluZGV4IGlzIGBpZGAgaXMgc3RvcmVkIGF0IHRoZSBpbmRleCBgaWQgLSBQU0FfS0VZX0lEX1ZPTEFUSUxFX01JTmAuCisKKyMjIyMgS2V5IGNyZWF0aW9uIHdpdGggYSBzdGF0aWMga2V5IHN0b3JlCisKK1RvIGNyZWF0ZSBhIGtleSwgYHBzYV9yZXNlcnZlX2ZyZWVfa2V5X3Nsb3QoKWAgc2VhcmNoZXMgdGhlIGtleSBzbG90IGFycmF5IHVudGlsIGl0IGZpbmRzIG9uZSB0aGF0IGlzIGVtcHR5LiBJZiB0aGVyZSBhcmUgbm9uZSwgdGhlIGNvZGUgbG9va3MgZm9yIGEgcGVyc2lzdGVudCBrZXkgdGhhdCBjYW4gYmUgcHVyZ2VkIChzZWUgW+KAnFBlcnNpc3RlbnQga2V5IGNhY2hl4oCdXSgjcGVyc2lzdGVudC1rZXktY2FjaGUpKSwgYW5kIHB1cmdlcyBpdC4gSWYgbm8gc2xvdCBpcyBmcmVlIGFuZCBubyBzbG90IGNvbnRhaW5zIGEgcHVyZ2VhYmxlIGtleSwgdGhlIGtleSBjcmVhdGlvbiBmYWlscy4KKworIyMjIyBGcmVlaW5nIGEga2V5IHNsb3Qgd2l0aCBhIHN0YXRpYyBrZXkgc3RvcmUKKworV2l0aCBhIHN0YXRpYyBrZXkgc3RvcmUsIGBwc2Ffd2lwZV9rZXlfc2xvdCgpYCBkZXN0cm95cyBvciBwdXJnZXMgYSBrZXkgYnkgZnJlZWluZyBhbnkgYXNzb2NpYXRlZCByZXNvdXJjZXMsIHRoZW4gc2V0dGluZyB0aGUga2V5IHNsb3QgdG8gdGhlIGVtcHR5IHN0YXRlLiBUaGUgc2xvdCBpcyB0aGVuIHJlYWR5IGZvciByZXVzZS4KKworIyMjIER5bmFtaWMga2V5IHN0b3JlCisKK1RoZSBkeW5hbWljIGtleSBzdG9yZSBhbGxvd3MgYSBsYXJnZSBudW1iZXIgb2Yga2V5cywgYXQgdGhlIGV4cGVuc2Ugb2YgbW9yZSBjb21wbGV4IG1lbW9yeSBtYW5hZ2VtZW50LgorCitUaGUgZHluYW1pYyBrZXkgc3RvcmUgd2FzIGFkZGVkIGluIE1iZWQgVExTIDMuNi4xLiBJdCBpcyBlbmFibGVkIGJ5IGBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQ2AsIHdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBzaW5jZSBNYmVkIFRMUyAzLjYuMS4KKworIyMjIyBEeW5hbWljIGtleSBzbG90IHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcworCitLZXkgbWFuYWdlbWVudCBhbmQga2V5IGFjY2VzcyBoYXZlICRPKDEpJCBhbW9ydGl6ZWQgcGVyZm9ybWFuY2UsIGFuZCBtb3N0bHkgJE8oMSkkIHBlcmZvcm1hbmNlIGZvciBhY3Rpb25zIGludm9sdmluZyBrZXlzLiBNb3JlIHByZWNpc2VseToKKworKiBBY2Nlc3MgdG8gYW4gZXhpc3Rpbmcgdm9sYXRpbGUga2V5IHRha2VzICRPKDEpJCB0aW1lLgorKiBBY2Nlc3MgdG8gYSBwZXJzaXN0ZW50IGtleSAoaW5jbHVkaW5nIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbikgdGFrZXMgdGltZSB0aGF0IGlzIGxpbmVhciBpbiBgTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlRgLgorKiBBbGxvY2F0aW5nIGEga2V5IHRha2VzIGFtb3J0aXplZCAkTygxKSQgdGltZS4gVXN1YWxseSB0aGUgdGltZSBpcyAkTyhzKSQgd2hlcmUgJHMkIGlzIHRoZSBudW1iZXIgb2Ygc2xpY2VzICh3aGljaCBpcyBhIGhhcmQtY29kZWQgdmFsdWUgbGVzcyB0aGFuICQzMCQpLCBidXQgd2hlbiBjcmVhdGluZyAkayQgdm9sYXRpbGUga2V5cywgYXQgbW9zdCAkXGxvZyhrKSQgY3JlYXRpb25zIHdpbGwgaW52b2x2ZSBjYWxscyB0byBgY2FsbG9jKClgLCB0b3RhbGxpbmcgJE8oaykkIG1lbW9yeS4KKyogRGVzdHJveWluZyBhIHZvbGF0aWxlIGtleSB0YWtlcyAkTygxKSQgdGltZSBhcyBvZiBNYmVkIFRMUyAzLjYuMS4gTGF0ZXIgaW1wcm92ZW1lbnRzIHRvIG1lbW9yeSBjb25zdW1wdGlvbiBhcmUgbGlrZWx5IHRvIGludm9sdmUgY2FsbHMgdG8gYGZyZWUoKWAgd2hpY2ggbWF5IHRvdGFsICRPKGspJCBtZW1vcnkgd2hlcmUgJGskIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b2xhdGlsZSBrZXlzLgorCisjIyMjIEtleSBzbGljZXMgaW4gdGhlIGR5bmFtaWMga2V5IHN0b3JlCisKK1RoZSBrZXkgc2xvdCBpcyBvcmdhbml6ZWQgaW4gc2xpY2VzLCB3aGljaCBhcmUgZHluYW1pY2FsbHkgYXJyYXlzIG9mIGtleSBzbG90LiBUaGUgbnVtYmVyIG9mIHNsaWNlcyBpcyBkZXRlcm1pbmVkIGF0IGNvbXBpbGUgdGltZS4gVGhlIGtleSBzdG9yZSBjb250YWlucyBhIHN0YXRpYyBhcnJheSBvZiBwb2ludGVycyB0byBzbGljZXMuCisKK1ZvbGF0aWxlIGtleXMgYW5kIGxvYWRlZCBrZXlzIChwZXJzaXN0ZW50IG9yIGJ1aWx0LWluKSBhcmUgc3RvcmVkIGluIHNlcGFyYXRlIHNsaWNlcy4KK0tleSBzbGljZXMgbnVtYmVyIDAgdG8gYEtFWV9TTE9UX1ZPTEFUSUxFX1NMSUNFX0NPVU5UIC0gMWAgY29udGFpbiBvbmx5IHZvbGF0aWxlIGtleXMuCitPbmUga2V5IHNsaWNlIGNvbnRhaW5zIG9ubHkgbG9hZGVkIGtleXM6IHRoYXQga2V5IHNsaWNlIGlzIHRodXMgdGhlIGNhY2hlIHNsaWNlLiBTZWUgW+KAnFBlcnNpc3RlbnQga2V5IGNhY2hl4oCdXShwZXJzaXN0ZW50LWtleS1jYWNoZSkgZm9yIGhvdyB0aGUgY2FjaGUgaXMgbWFuYWdlZC4KKworIyMjIyBWb2xhdGlsZSBrZXkgaWRlbnRpZmllcnMgaW4gdGhlIGR5bmFtaWMga2V5IHN0b3JlCisKK0Egdm9sYXRpbGUga2V5IGlkZW50aWZpZXIgZW5jb2RlcyB0aGUgc2xpY2UgaW5kZXggYW5kIHRoZSBzbG90IGluZGV4IGF0IHNlcGFyYXRlIGJpdCBwb3NpdGlvbnMuIFRoYXQgaXMsIGBrZXlfaWQgPSBCQVNFIHwgc2xpY2VfaW5kZXggfCBzbG90X2luZGV4YCB3aGVyZSB0aGUgYml0cyBzZXQgaW4gYEJBU0VgLCBgc2xpY2VfaW5kZXhgIGFuZCBgc2xvdF9pbmRleGAgZG8gbm90IG92ZXJsYXAuCisKKyMjIyMgRnJvbSBrZXkgc2xvdCB0byBrZXkgc2xpY2UKKworU29tZSBwYXJ0cyBvZiB0aGUgc2xvdCBtYW5hZ2VtZW50IGNvZGUgbmVlZCB0byBkZXRlcm1pbmUgd2hpY2gga2V5IHNsaWNlIGNvbnRhaW5zIGEga2V5IHNsb3Qgd2hlbiBnaXZlbiBhIHBvaW50ZXIgdG8gdGhlIGtleSBzbG90LiBJbiBwcmluY2lwbGUsIHRoZSBrZXkgc2xpY2UgaXMgdW5pcXVlbHkgZGV0ZXJtaW5lZCBmcm9tIHRoZSBrZXkgaWRlbnRpZmllciB3aGljaCBpcyBsb2NhdGVkIGluIHRoZSBzbG90OgorCisqIGZvciBhIHZvbGF0aWxlIGtleSBpZGVudGlmaWVyLCB0aGUgW3NsaWNlIGluZGV4IGlzIGVuY29kZWQgaW4gdGhlIGtleSBpZGVudGlmaWVyXSgjdm9sYXRpbGUta2V5LWlkZW50aWZpZXJzLWluLXRoZS1keW5hbWljLWtleS1zdG9yZSk7CisqIGZvciBhIHBlcnNpc3RlbnQga2V5IGlkZW50aWZpZXIgb3IgYnVpbHQtaW4ga2V5IGlkZW50aWZpZXIsIFt0aGUgc2xvdCBpcyBpbiB0aGUgc29sZSBjYWNoZSBzbGljZV0oI2tleS1zbGljZXMtaW4tdGhlLWR5bmFtaWMta2V5LXN0b3JlKS4KKworTm9uZXRoZWxlc3MsIHdlIHN0b3JlIHRoZSBzbGljZSBpbmRleCBhcyBhIGZpZWxkIGluIHRoZSBzbG90LCBmb3IgdHdvIHJlYXNvbnM6CisKKyogSXQgaXMgbW9yZSByb2J1c3QgaW4gY2FzZSB0aGUgc2xpY2UgYXNzaWdubWVudCBiZWNvbWVzIG1vcmUgY29tcGxleCBpbiB0aGUgZnV0dXJlIG9yIGlzIHNvbWVob3cgYnVnZ3kuCisqIEl0IGFsbG93cyB0aGUgc2xvdCB0byBzbGljZSBjb3JyZXNwb25kZW5jZSB0byB3b3JrIGV2ZW4gaWYgdGhlIGtleSBpZGVudGlmaWVyIGZpZWxkIGhhcyBub3QgYmVlbiBmaWxsZWQgeWV0IG9yIGhhcyBiZWVuIHdpcGVkLiBUaGUgaW1wbGVtZW50YXRpb24gaW4gTWJlZCBUTFMgMy42LjEgcmVxdWlyZXMgdGhpcyBiZWNhdXNlIGBwc2Ffd2lwZV9rZXlfc2xvdCgpYCB3aXBlcyB0aGUgc2xvdCwgdGhlbiBjYWxscyBgcHNhX2ZyZWVfa2V5X3Nsb3QoKWAsIHdoaWNoIG5lZWRzIHRvIGRldGVybWluZSB0aGUgc2xpY2UuIEtlZXBpbmcgdGhlIHNsaWNlIGluZGV4IGFzIGEgc2VwYXJhdGUgZmllbGQgYWxsb3dzIHVzIHRvIGJldHRlciBzZXBhcmF0ZSB0aGUgY29uY2VybnMgb2Yga2V5IGxpdmVuZXNzIGFuZCBzbG90IGxpdmVuZXNzLiBBIHJlZGVzaWduIG9mIHRoZSBpbnRlcm5hbCBpbnRlcmZhY2VzIGNvdWxkIGltcHJvdmUgdGhpcywgYnV0IHdvdWxkIGJlIHRvbyBkaXNydXB0aXZlIGluIHRoZSAzLjYgTFRTIGJyYW5jaC4KKworIyMjIyBMZW5ndGggb2YgdGhlIHZvbGF0aWxlIGtleSBzbGljZXMKKworVGhlIHZvbGF0aWxlIGtleSBzbGljZXMgaGF2ZSBleHBvbmVudGlhbGx5IGluY3JlYXNpbmcgbGVuZ3RoOiBlYWNoIHNsaWNlIGlzIHR3aWNlIGFzIGxvbmcgYXMgdGhlIHByZXZpb3VzIG9uZS4gVGh1cyBpZiB0aGUgbGVuZ3RoIG9mIHNsaWNlIDAgaXMgYEJgIGFuZCB0aGVyZSBhcmUgYE5gIHNsaWNlcywgdGhlbiB0aGVyZSBhcmUgYEIgKiAoMl5OIC0gMSlgIHNsb3RzLgorCitBcyBvZiBNYmVkIFRMUyAzLjYuMSwgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZvbGF0aWxlIGtleSBzbG90cyBpcyBsZXNzIHRoYW4gdGhlIHRoZW9yZXRpY2FsIG1heGltdW0gb2YgMl4zMCAtIDJeMTYgKDB4MTAwMDAwMDAuLjB4N2ZmZWZmZmYsIHRoZSBsYXJnZXN0IHJhbmdlIG9mIGtleSBpZGVudGlmaWVycyByZXNlcnZlZCBmb3IgdGhlIFBTQSBDcnlwdG8gaW1wbGVtZW50YXRpb24gdGhhdCBkb2VzIG5vdCBvdmVybGFwIHRoZSByYW5nZSBmb3IgYnVpbHQtaW4ga2V5cykuIFRoZSByZWFzb24gaXMgdGhhdCB3ZSBsaW1pdCB0aGUgc2xvdCBpbmRleCB0byAyXjI1LTEgc28gdGhhdCB0aGUgW2VuY29kaW5nIG9mIHZvbGF0aWxlIGtleSBpZGVudGlmaWVyc10oI3ZvbGF0aWxlLWtleS1pZGVudGlmaWVycy1pbi10aGUtZHluYW1pYy1rZXktc3RvcmUpIGhhcyAyNSBiaXRzIGZvciB0aGUgc2xvdCBpbmRleC4KKworV2hlbiBgTUJFRFRMU19URVNUX0hPT0tTYCBpcyBlbmFibGVkLCB0aGUgbGVuZ3RoIG9mIGtleSBzbGljZXMgY2FuIGJlIG92ZXJyaWRkZW4uIFdlIHVzZSB0aGlzIGluIHRlc3RzIHRoYXQgbmVlZCB0byBmaWxsIHRoZSBrZXkgc3RvcmUuCisKKyMjIyMgRnJlZSBsaXN0CisKK0VhY2ggdm9sYXRpbGUga2V5IHNsaWNlIGhhcyBhICoqZnJlZSBsaXN0KiouIFRoaXMgaXMgYSBsaW5rZWQgbGlzdCBvZiBhbGwgdGhlIHNsb3RzIGluIHRoZSBzbGljZSB0aGF0IGFyZSBmcmVlLiBUaGUgZ2xvYmFsIGRhdGEgY29udGFpbnMgYSBzdGF0aWMgYXJyYXkgb2YgZnJlZSBsaXN0IGhlYWRzLCBpLmUuIHRoZSBpbmRleCBvZiBhIGZyZWUgc2xvdCBpbiB0aGUgc2xpY2UuIEVhY2ggZnJlZSBzbG90IGNvbnRhaW5zIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBmcmVlIHNsb3QgaW4gdGhhdCBzbGljZSdzIGZyZWUgbGlzdC4gVGhlIGVuZCBvZiB0aGUgbGlzdCBpcyBpbmRpY2F0ZWQgYnkgYW4gaW5kZXggdGhhdCBpcyBsYXJnZXIgdGhhbiB0aGUgbGVuZ3RoIG9mIHRoZSBzbGljZS4gSWYgdGhlIGxpc3QgaXMgZW1wdHksIHRoZSBoZWFkIGNvbnRhaW5zIGFuIGluZGV4IHRoYXQgaXMgbGFyZ2VyIHRoYW4gdGhlIGxlbmd0aC4KKworQXMgYSBzbWFsbCBvcHRpbWl6YXRpb24sIGEgZnJlZSBzbG90IGRvZXMgbm90IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGluZGV4IG9mIHRoZSBuZXh0IHNsb3QsIGJ1dCB0aGUgaW5kZXggb2YgdGhlIG5leHQgZnJlZSBzbG90IG9uIHRoZSBsaXN0IF9yZWxhdGl2ZSB0byB0aGUgbmV4dCBzbG90IGluIHRoZSBhcnJheV8uIEZvciBleGFtcGxlLCAwIGluZGljYXRlcyB0aGF0IHRoZSBuZXh0IGZyZWUgc2xvdCBpcyB0aGUgc2xvdCBpbW1lZGlhdGVseSBhZnRlciB0aGUgY3VycmVudCBzbG90LiBUaGlzIGZhY3QgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIGVuY29kaW5nOiBhIHNsaWNlIGZyZXNobHkgb2J0YWluZWQgZnJvbSBgY2FsbG9jYCBoYXMgYWxsIG9mIGl0cyBzbG90cyBpbiB0aGUgZnJlZSBsaXN0IGluIG9yZGVyLiBUaGUgdmFsdWUgMSBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBvbmUgZWxlbWVudCBiZXR3ZWVuIHRoaXMgc2xvdCBhbmQgdGhlIG5leHQgZnJlZSBzbG90LiBUaGUgbmV4dCBlbGVtZW50IG9mIHRoZSBmcmVlIGxpc3QgY2FuIGNvbWUgYmVmb3JlIHRoZSBjdXJyZW50IHNsb3Q6IC0yIGluZGljYXRlcyB0aGF0IGl0J3MgdGhlIHNsb3QgaW1tZWRpYXRlbHkgYmVmb3JlLCAtMyBpcyB0d28gc2xvdHMgYmVmb3JlLCBhbmQgc28gb24gKC0xIGlzIGltcG9zc2libGUpLiBJbiBnZW5lcmFsLCB0aGUgYWJzb2x1dGUgaW5kZXggb2YgdGhlIG5leHQgc2xvdCBhZnRlciBzbG90IGBpYCBpbiB0aGUgZnJlZSBsaXN0IGlzIGBpICsgMSBzbGljZVtpXS5uZXh0X2ZyZWVfcmVsYXRpdmVfdG9fbmV4dGAuCisKKyMjIyMgRHluYW1pYyBrZXkgc2xvdCBhbGxvY2F0aW9uCisKK1RvIGNyZWF0ZSBhIHZvbGF0aWxlIGtleSwgYHBzYV9yZXNlcnZlX2ZyZWVfa2V5X3Nsb3QoKWAgc2VhcmNoZXMgdGhlIGZyZWUgbGlzdHMgb2YgZWFjaCBhbGxvY2F0ZWQgc2xpY2UgdW50aWwgaXQgZmluZHMgYSBzbGljZSB0aGF0IGlzIG5vdCBmdWxsLiBJZiBhbGwgYWxsb2NhdGVkIHNsaWNlcyBhcmUgZnVsbCwgdGhlIGNvZGUgYWxsb2NhdGVzIGEgbmV3IHNsaWNlIGF0IHRoZSBsb3dlc3QgcG9zc2libGUgc2xpY2UgaW5kZXguIElmIGFsbCBwb3NzaWJsZSBzbGljZXMgYXJlIGFscmVhZHkgYWxsb2NhdGVkIGFuZCBmdWxsLCB0aGUga2V5IGNyZWF0aW9uIGZhaWxzLgorCitUaGUgbmV3bHkgYWxsb2NhdGVkIHNsb3QgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzbGljZSdzIGZyZWUgbGlzdC4KKworV2Ugb25seSBhbGxvY2F0ZSBhIHNsaWNlIG9mIHNpemUgYEIgKiAyXmtgIGlmIHRoZXJlIGFyZSBhbHJlYWR5IGBCICogKDJeayAtIDEpYCBvY2N1cGllZCBzbG90cy4gVGh1cyB0aGUgbWVtb3J5IG92ZXJoZWFkIGlzIGF0IG1vc3QgYEJgIHNsb3RzIHBsdXMgdGhlIG51bWJlciBvZiBvY2N1cGllZCBzbG90cywgaS5lLiB0aGUgbWVtb3J5IGNvbnN1bXB0aW9uIGZvciBzbG90cyBpcyBhdCBtb3N0IHR3aWNlIHRoZSByZXF1aXJlZCBtZW1vcnkgcGx1cyBhIHNtYWxsIGNvbnN0YW50IG92ZXJoZWFkLgorCisjIyMjIER5bmFtaWMga2V5IHNsb3QgZGVhbGxvY2F0aW9uCisKK1doZW4gZGVzdHJveWluZyBhIHZvbGF0aWxlIGtleSwgYHBzYV93aXBlX2tleV9zbG90KClgIGNhbGxzIGBwc2FfZnJlZV9rZXlfc2xvdCgpYC4gVGhpcyBmdW5jdGlvbiBhZGRzIHRoZSBuZXdseSBmcmVlZCBzbG90IHRvIHRoZSBoZWFkIG9mIHRoZSBmcmVlIGxpc3QuCisKKyMjIyMjIEZ1dHVyZSBpbXByb3ZlbWVudDogc2xpY2UgZGVhbGxvY2F0aW9uCisKK0FzIG9mIE1iZWQgVExTIDMuNi4xLCBgcHNhX2ZyZWVfa2V5X3Nsb3QoKWAgZG9lcyBub3QgZGVhbGxvY2F0ZSBzbGljZXMuIFRodXMgdGhlIG1lbW9yeSBjb25zdW1wdGlvbiBmb3Igc2xvdHMgbmV2ZXIgZGVjcmVhc2VzIChleGNlcHQgd2hlbiB0aGUgUFNBIGNyeXB0byBzdWJzeXN0ZW0gaXMgZGVpbml0aWFsaXplZCkuIEZyZWVpbmcga2V5IHNsaWNlcyBpbnRlbGxpZ2VudGx5IHdvdWxkIGJlIGEgZGVzaXJhYmxlIGltcHJvdmVtZW50LgorCitXZSBzaG91bGQgbm90IGZyZWUgYSBrZXkgc2xpY2UgYXMgc29vbiBhcyBpdCBiZWNvbWVzIGVtcHR5LCBiZWNhdXNlIHRoYXQgd291bGQgY2F1c2UgbGFyZ2UgYWxsb2NhdGlvbnMgYW5kIGRlYWxsb2NhdGlvbnMgaWYgdGhlcmUgYXJlIHNsaWNlcyBmdWxsIG9mIGxvbmctbGl2ZWQga2V5cywgYW5kIHRoZW4gb25lIHNsaWNlIGtlZXBzIGJlaW5nIGFsbG9jYXRlIGFuZCBkZWFsbG9jYXRlZCBmb3IgdGhlIG9jY2FzaW9uYWwgc2hvcnQtbGl2ZWQga2V5cy4gUmF0aGVyLCB0aGVyZSBzaG91bGQgYmUgc29tZSBoeXN0ZXJlc2lzLCBlLmcuIG9ubHkgZGVhbGxvY2F0ZSBhIHNsaWNlIGlmIHRoZXJlIGFyZSBhdCBsZWFzdCBUIGZyZWUgc2xvdHMgaW4gdGhlIHByZXZpb3VzIHNsaWNlLiBbIzk0MzVdKGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NDM1KQorCitOb3RlIHRoYXQgY3VycmVudGx5LCB0aGUgc2xpY2UgYXJyYXkgY29udGFpbnMgb25lIHNlcXVlbmNlIG9mIGFsbG9jYXRlZCBzbGljZXMgZm9sbG93ZWQgYnkgb25lIHNlcXVlbmNlIG9mIHVuYWxsb2NhdGVkIHNsaWNlcy4gTWl4aW5nIGFsbG9jYXRlZCBhbmQgdW5hbGxvY2F0ZWQgc2xpY2VzIG1heSBtYWtlIHNvbWUgcGFydHMgb2YgdGhlIGNvZGUgYSBsaXR0bGUgbW9yZSBjb21wbGV4LCBhbmQgc2hvdWxkIGJlIHRlc3RlZCB0aG9yb3VnaGx5LgorCisjIyMgUGVyc2lzdGVudCBrZXkgY2FjaGUKKworUGVyc2lzdGVudCBrZXlzIGFuZCBidWlsdC1pbiBrZXlzIG5lZWQgdG8gYmUgbG9hZGVkIGludG8gdGhlIGluLW1lbW9yeSBrZXkgc3RvcmUgZWFjaCB0aW1lIHRoZXkgYXJlIGFjY2Vzc2VkOgorCisqIHdoaWxlIGNyZWF0aW5nIHRoZW07CisqIHRvIGFjY2VzcyB0aGVpciBtZXRhZGF0YTsKKyogdG8gc3RhcnQgcGVyZm9ybWluZyBhbiBvcGVyYXRpb24gd2l0aCB0aGUga2V5OworKiB3aGVuIGRlc3Ryb3lpbmcgdGhlIGtleS4KKworVG8gYXZvaWQgZnJlcXVlbnQgc3RvcmFnZSBhY2Nlc3MsIHdlIGNhY2hlIHBlcnNpc3RlbnQga2V5cyBpbiBtZW1vcnkuIFRoaXMgY2FjaGUgYWxzbyBhcHBsaWVzIHRvIGJ1aWx0LWluIGtleXMuCisKK1dpdGggdGhlIFtzdGF0aWMga2V5IHN0b3JlXSgjc3RhdGljLWtleS1zdG9yZSksIGEgbm9uLWVtcHR5IHNsb3QgY2FuIGNvbnRhaW4gZWl0aGVyIGEgdm9sYXRpbGUga2V5IG9yIGEgY2FjaGUgZW50cnkgZm9yIGEgcGVyc2lzdGVudCBvciBidWlsdC1pbiBrZXkuIFdpdGggdGhlIFtkeW5hbWljIGtleSBzdG9yZV0oI2R5bmFtaWMta2V5LXN0b3JlKSwgdm9sYXRpbGUga2V5cyBhbmQgY2FjaGVkIGtleXMgYXJlIHBsYWNlZCBpbiBzZXBhcmF0ZSBbc2xpY2VzXSgja2V5LXNsaWNlcy1pbi10aGUtZHluYW1pYy1rZXktc3RvcmUpLgorCitUaGUgcGVyc2lzdGVudCBrZXkgY2FjaGUgaXMgYSBmaXhlZC1zaXplIGFycmF5IG9mIGBNQkVEVExTX1BTQV9LRVlfU0xPVF9DT1VOVGAgc2xvdHMuIEluIHRoZSBzdGF0aWMga2V5IHN0b3JlLCB0aGlzIGFycmF5IGlzIHNoYXJlZCB3aXRoIHZvbGF0aWxlIGtleXMuIEluIHRoZSBkeW5hbWljIGtleSBzdG9yZSwgdGhlIGNhY2hlIGlzIGEgc2VwYXJhdGUgYXJyYXkgdGhhdCBkb2VzIG5vdCBjb250YWluIHZvbGF0aWxlIGtleXMuCisKKyMjIyMgQWNjZXNzaW5nIGEgcGVyc2lzdGVudCBrZXkKKworYHBzYV9nZXRfYW5kX2xvY2tfa2V5X3Nsb3QoKWAgYXV0b21hdGljYWxseSBsb2FkcyBwZXJzaXN0ZW50IGFuZCBidWlsdC1pbiBrZXlzIGlmIHRoZSBzcGVjaWZpZWQga2V5IGlkZW50aWZpZXIgaXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcmFuZ2UuIFRvIHRoYXQgZWZmZWN0LCBpdCB0cmF2ZXJzZXMgdGhlIGtleSBjYWNoZSB0byBzZWUgaWYgYSBrZXkgd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllciBpcyBhbHJlYWR5IGxvYWRlZC4gSWYgbm90LCBpdCBsb2FkcyB0aGUga2V5LiBUaGlzIGNhY2hlIHdhbGsgdGFrZXMgdGltZSB0aGF0IGlzIHByb3BvcnRpb25hbCB0byB0aGUgY2FjaGUgc2l6ZS4KKworIyMjIyBDYWNoZSBldmljdGlvbgorCitBIGtleSBzbG90IG11c3QgYmUgYWxsb2NhdGVkIGluIHRoZSBjYWNoZSBzbGljZToKKworKiB0byBjcmVhdGUgYSB2b2xhdGlsZSBrZXkgKHN0YXRpYyBrZXkgc3RvcmUgb25seSk7CisqIHRvIGNyZWF0ZSBhIHBlcnNpc3RlbnQga2V5OworKiB0byBsb2FkIGEgcGVyc2lzdGVudCBvciBidWlsdC1pbiBrZXkuCisKK0lmIHRoZSBjYWNoZSBzbGljZSBpcyBmdWxsLCB0aGUgY29kZSB3aWxsIHRyeSB0byBldmljdCBhbiBlbnRyeS4gT25seSBzbG90cyB0aGF0IGRvIG5vdCBoYXZlIHJlYWRlcnMgY2FuIGJlIGV2aWN0ZWQgKHNlZSBb4oCcQ29uY3VycmVuY3nigJ1dKCNjb25jdXJyZW5jeSkpLiBJbiB0aGUgc3RhdGljIGtleSBzdG9yZSwgc2xvdHMgY29udGFpbmluZyB2b2xhdGlsZSBrZXlzIGNhbm5vdCBiZSBldmljdGVkLgorCitBcyBvZiBNYmVkIFRMUyAzLjYuMSwgdGhlcmUgaXMgbm8gdHJhY2tpbmcgb2YgYSBrZXkncyB1c2FnZSBmcmVxdWVuY3kgb3IgYWdlLiBUaGUgc2xvdCBldmljdGlvbiBjb2RlIHBpY2tzIHRoZSBmaXJzdCBldmljdGFibGUgc2xvdCBpdCBmaW5kcyBpbiBpdHMgdHJhdmVyc2FsIG9yZGVyLiBXZSBoYXZlIG5vdCByZWFzb25lZCBhYm91dCBvciBleHBlcmltZW50ZWQgd2l0aCBkaWZmZXJlbnQgc3RyYXRlZ2llcy4KZGlmZiAtLWdpdCBhL2RvY3MvYXJjaGl0ZWN0dXJlL3BzYS1taWdyYXRpb24vcHNhLWxpbWl0YXRpb25zLm1kIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLW1pZ3JhdGlvbi9wc2EtbGltaXRhdGlvbnMubWQKaW5kZXggMjlkN2M1My4uMjM1ZjMzMSAxMDA2NDQKLS0tIGEvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLW1pZ3JhdGlvbi9wc2EtbGltaXRhdGlvbnMubWQKKysrIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLW1pZ3JhdGlvbi9wc2EtbGltaXRhdGlvbnMubWQKQEAgLTExLDYgKzExLDE3IEBACiBMaW1pdGF0aW9ucyByZWxldmFudCBmb3IgRzEgKHBlcmZvcm1pbmcgY3J5cHRvIG9wZXJhdGlvbnMpCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKK0V4ZWN1dGl2ZSBzdW1tYXJ5CistLS0tLS0tLS0tLS0tLS0tLQorCistIFJlc3RhcnRhYmxlL2ludGVycnVwdGlibGUgRUNDIG9wZXJhdGlvbnM6IHNvbWUgb3BlcmF0aW9ucyAoYHNpZ25faGFzaGApIGFyZQorICBhbHJlYWR5IHN1cHBvcnRlZCBpbiBQU0EsIGJ1dCBub3QgdXNlZCBieSBUTFMuIFRoZSByZW1haW5pbmcgb3BlcmF0aW9ucworKEVDREggYGtleV9hZ3JlZW1lbnRgIGFuZCBgZXhwb3J0X3B1YmxpY2ApIHdpbGwgYmUgaW1wbGVtZW50ZWQgaW4gNC4wIG9yIDQueCwKK2FuZCB1c2VkIGJ5IFRMUyBpbiA0LnguCistIEFyYml0cmFyeSBwYXJhbWV0ZXJzIGZvciBGRkRIOiB1c2UgaW4gVExTIHdpbGwgYmUgZHJvcHBlZCBpbiA0LjAuCistIFJTQS1QU1MgcGFyYW1ldGVyczogYWxyZWFkeSBpbXBsZW1lbnRlZCBzYWZlIHRob3VnaCBhcmd1YWJseSBub24tY29tcGxpYW50CisgIHNvbHV0aW9uIGluIE1iZWQgVExTIDMuNCwgbm8gY29tcGxhaW50cyBzbyBmYXIuCisKIFJlc3RhcnRhYmxlIChha2EgaW50ZXJydXB0aWJsZSkgRUNDIG9wZXJhdGlvbnMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtMjcsMjAgKzM4LDkgQEAKIG9wZXJhdGlvbnMgdGhhdCBzaG91bGQgdXNlIFBTQSBkbyBub3QgKHNpZ25hdHVyZSBnZW5lcmF0aW9uICYgdmVyaWZpY2F0aW9uKSBhcwogdGhleSB1c2UgdGhlIGxlZ2FjeSBBUEkgaW5zdGVhZCwgaW4gb3JkZXIgdG8gZ2V0IHJlc3RhcnRhYmxlIGJlaGF2aW91ci4KIAotVGhpbmdzIHRoYXQgYXJlIGluIHRoZSBBUEkgYnV0IG5vdCBpbXBsZW1lbnRlZCB5ZXQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVBTQSBDcnlwdG8gaGFzIGFuIEFQSSBmb3IgRkZESCwgYnV0IGl0J3Mgbm90IGltcGxlbWVudGVkIGluIE1iZWQgVExTIHlldC4KLShSZWdhcmRpbmcgRkZESCwgc2VlIHRoZSBuZXh0IHNlY3Rpb24gYXMgd2VsbC4pIFNlZSBpc3N1ZSBbMzI2MV1bZmZkaF0gb24KLWdpdGh1Yi4KLQotW2ZmZGhdOiBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvMzI2MQotCiBBcmJpdHJhcnkgcGFyYW1ldGVycyBmb3IgRkZESAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotKFNlZSBhbHNvIHRoZSBmaXJzdCBwYXJhZ3JhcGggaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24uKQotCiBDdXJyZW50bHksIHRoZSBQU0EgQ3J5cHRvIEFQSSBjYW4gb25seSBwZXJmb3JtIEZGREggd2l0aCBhIGxpbWl0ZWQgc2V0IG9mCiB3ZWxsLWtub3duIHBhcmFtZXRlcnMgKHNvbWUgb2YgdGhlbSBkZWZpbmVkIGluIHRoZSBzcGVjLCBidXQgaW1wbGVtZW50YXRpb25zCiBhcmUgZnJlZSB0byBleHRlbmQgdGhhdCBzZXQpLgpkaWZmIC0tZ2l0IGEvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLW1pZ3JhdGlvbi9zdHJhdGVneS5tZCBiL2RvY3MvYXJjaGl0ZWN0dXJlL3BzYS1taWdyYXRpb24vc3RyYXRlZ3kubWQKaW5kZXggYjk4NWE3Ny4uYTg5ZmU2NyAxMDA2NDQKLS0tIGEvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLW1pZ3JhdGlvbi9zdHJhdGVneS5tZAorKysgYi9kb2NzL2FyY2hpdGVjdHVyZS9wc2EtbWlncmF0aW9uL3N0cmF0ZWd5Lm1kCkBAIC0xOCwxMSArMTgsMTYgQEAKIGltcGxlbWVudGVkLCBzZWUgYGRvY3MvdXNlLXBzYS1jcnlwdG8ubWRgLCB3aGVyZSBuZXcgQVBJcyBhcmUgYWJvdXQgKEcyKSwgYW5kCiBpbnRlcm5hbCBjaGFuZ2VzIGltcGxlbWVudCAoRzEpLgogCi1BcyBvZiBlYXJseSAyMDIzLCB3b3JrIHRvd2FyZHMgRzUgaXMgaW4gcHJvZ3Jlc3M6IE1iZWQgVExTIDMuMyBhbmQgMy40IHNhdwotc29tZSBpbXByb3ZlbWVudHMgaW4gdGhpcyBhcmVhLCBhbmQgbW9yZSB3aWxsIGJlIGNvbWluZyBpbiBmdXR1cmUgcmVsZWFzZXMuCitBcyBvZiBNYmVkIFRMUyAzLjYgKGVhcmx5IDIwMjQpLCB3b3JrIHRvd2FyZHMgRzUgaXMgd2VsbCBhZHZhbmNlZDogaXQgaXMgbm93Citwb3NzaWJsZSB0byBoYXZlIGhhc2hlcy9ITUFDLCBjaXBoZXJzL0FFQUQsIGFuZCBFQ0MgcHJvdmlkZWQgb25seSBieSBkcml2ZXJzLAord2l0aCBzb21lIGxpbWl0YXRpb25zLiBTZWUKK1tgZG9jcy9kcml2ZXItb25seS1idWlsZHMubWRgXSguLi8uLi9kcml2ZXItb25seS1idWlsZHMuaHRtbCkgZm9yIGRldGFpbHMuCitUaGUgbWFpbiBnYXAgaXMgUlNBIGluIFBLLCBYLjUwOSBhbmQgVExTOyBpdCBzaG91bGQgYmUgcmVzb2x2ZWQgYnkgNC4wIHdvcmsuCiAKIEdlbmVyYWxseSBzcGVha2luZywgdGhlIG51bWJlcmluZyBhYm92ZSBkb2Vzbid0IG1lYW4gdGhhdCBlYWNoIGdvYWwgcmVxdWlyZXMKLXRoZSBwcmVjZWRpbmcgb25lcyB0byBiZSBjb21wbGV0ZWQuCit0aGUgcHJlY2VkaW5nIG9uZXMgdG8gYmUgY29tcGxldGVkLiAoQXMgYW4gZXhhbXBsZSwgbXVjaCBwcm9ncmVzcyB0b3dhcmRzIEc1Cit3YXMgbWFkZSBpbiAzLngsIHdoaWxlIEc0IHdpbGwgYmUgbW9zdGx5IDQuMCBhbmQgcHJvYmFibHkgbm90IGZ1bGx5IGNvbXBsZXRlCit1bnRpbCA1LjAuKQogCiAKIENvbXBpbGUtdGltZSBvcHRpb25zCkBAIC0xNDYsNyArMTUxLDcgQEAKIFRoaXMgc3RyYXRlZ3kgaXMgY3VycmVudGx5IChlYXJseSAyMDIzKSB1c2VkIGZvciBhbGwgb3BlcmF0aW9ucyBpbiB0aGUgUEsKIGxheWVyOyB0aGUgTUQgbGF5ZXIgdXNlcyBhIHZhcmlhbnQgd2hlcmUgaXQgZGlzcGF0Y2hlcyB0byBQU0EgaWYgYSBkcml2ZXIgaXMKIGF2YWlsYWJsZSBhbmQgdGhlIGRyaXZlciBzdWJzeXN0ZW0gaGFzIGJlZW4gaW5pdGlhbGl6ZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgotYFVTRV9QU0FfQ1JZUFRPYCBpcyBlbmFibGVkOyBzZWUgYG1kLWNpcGhlci1kaXNwYXRjaC5tZGAgaW4gdGhlIHNhbWUgZGlyZWN0b3J5CitgVVNFX1BTQV9DUllQVE9gIGlzIGVuYWJsZWQ7IHNlZSBbYG1kLWNpcGhlci1kaXNwYXRjaC5tZGBdKG1kLWNpcGhlci1kaXNwYXRjaC5odG1sKQogZm9yIGRldGFpbHMuCiAKIFRoaXMgc3RyYXRlZ3kgaXMgbm90IHZlcnkgd2VsbCBzdWl0ZWQgdG8gdGhlIENpcGhlciBsYXllciwgYXMgdGhlIFBTQQpAQCAtMTcyLDcgKzE3Nyw3IEBACiAKIFRoaXMgc3RyYXRlZ3kgaXMgY3VycmVudGx5IChlYXJseSAyMDIzKSB1c2VkIGZvciB0aGUgTUQgbGF5ZXIgYW5kIHRoZSBDaXBoZXIKIGxheWVyIGluIFguNTA5IGFuZCBUTFMuIENyeXB0byBtb2R1bGVzIGhvd2V2ZXIgYWx3YXlzIGNhbGwgdG8gTUQgd2hpY2ggbWF5Ci10aGVuIGRpc3BhdGNoIHRvIFBTQSwgc2VlIGBtZC1jaXBoZXItZGlzcGF0Y2gubWRgLgordGhlbiBkaXNwYXRjaCB0byBQU0EsIHNlZSBbYG1kLWNpcGhlci1kaXNwYXRjaC5tZGBdKG1kLWNpcGhlci1kaXNwYXRjaC5odG1sKS4KIAogT3B0LWluIHVzZSBvZiBQU0EgZnJvbSB0aGUgYWJzdHJhY3Rpb24gbGF5ZXIKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yMTksMTEgKzIyNCwxNiBAQAogCiAtIFBLIChmb3IgRzEpOiBzaWxlbnRseSBjYWxsIFBTQQogLSBQSyAoZm9yIEcyKTogb3B0LWluIHVzZSBvZiBQU0EgKG5ldyBrZXkgdHlwZSkKLS0gQ2lwaGVyIChHMSk6IHJlcGxhY2UgY2FsbHMgYXQgZWFjaCBjYWxsIHNpdGUKKy0gUEsgKGZvciBHNSk6IHN0b3JlIGtleXMgaW4gUFNBLWZyaWVuZGx5IGZvcm1hdCB3aGVuIGBFQ1BfQ2AgaXMgZGlzYWJsZWQgYW5kCisgIGBVU0VfUFNBYCBpcyBlbmFibGVkCistIENpcGhlciAoRzEsIFRMUyk6IHJlcGxhY2UgY2FsbHMgYXQgZWFjaCBjYWxsIHNpdGUKKy0gQ2lwaGVyIChHNSk6IGNyZWF0ZSBhIG5ldyBpbnRlcm5hbCBhYnN0cmFjdGlvbiBsYXllciBmb3IgKG5vbi1ERVMpIGJsb2NrCisgIGNpcGhlcnMgdGhhdCBzaWxlbnRseSBjYWxscyBQU0Egd2hlbiBhIGRyaXZlciBpcyBhdmFpbGFibGUsIHNlZQorICBbYG1kLWNpcGhlci1kaXNwYXRjaC5tZGBdKG1kLWNpcGhlci1kaXNwYXRjaC5odG1sKS4KIC0gTUQgKEcxLCBYLjUwOSBhbmQgVExTKTogcmVwbGFjZSBjYWxscyBhdCBlYWNoIGNhbGwgc2l0ZSAoZGVwZW5kaW5nIG9uCiAgIGBVU0VfUFNBX0NSWVBUT2ApCiAtIE1EIChHNSk6IHNpbGVudGx5IGNhbGwgUFNBIHdoZW4gYSBkcml2ZXIgaXMgYXZhaWxhYmxlLCBzZWUKLSAgYG1kLWNpcGhlci1kaXNwYXRjaC5tZGAuCisgIFtgbWQtY2lwaGVyLWRpc3BhdGNoLm1kYF0obWQtY2lwaGVyLWRpc3BhdGNoLmh0bWwpLgogCiAKIFN1cHBvcnRpbmcgYnVpbGRzIHdpdGggZHJpdmVycyB3aXRob3V0IHRoZSBzb2Z0d2FyZSBpbXBsZW1lbnRhdGlvbgpAQCAtMjkyLDcgKzMwMiw3IEBACiAoVGhlIHN0cmF0ZWd5IHdhcyBvdXRsaW5lZCBpbiB0aGUgcHJldmlvdXMgc2VjdGlvbi4pCiAKIFJlZ2FyZGluZyBsaWJtYmVkY3J5cHRvOgotLSBmb3IgaGFzaGVzIGFuZCBjaXBoZXJzLCBzZWUgYG1kLWNpcGhlci1kaXNwYXRjaC5tZGAgaW4gdGhlIHNhbWUgZGlyZWN0b3J5OworLSBmb3IgaGFzaGVzIGFuZCBjaXBoZXJzLCBzZWUgW2BtZC1jaXBoZXItZGlzcGF0Y2gubWRgXShtZC1jaXBoZXItZGlzcGF0Y2guaHRtbCk7CiAtIGZvciBFQ0MsIHdlIGhhdmUgbm8gaW50ZXJuYWwgdXNlcyBvZiB0aGUgdG9wLWxldmVsIGFsZ29yaXRobXMgKEVDRFNBLCBFQ0RILAogICBFQ0pQQUtFKSwgaG93ZXZlciB0aGV5IGFsbCBkZXBlbmQgb24gYEVDUF9DYCB3aGljaCBpbiB0dXJuIGRlcGVuZHMgb24KIGBCSUdOVU1fQ2AuIFNvLCBkaXJlY3QgY2FsbHMgZnJvbSBUTFMsIFguNTA5IGFuZCBQSyB0byBFQ1AgYW5kIEJpZ251bSB3aWxsCmRpZmYgLS1naXQgYS9kb2NzL2FyY2hpdGVjdHVyZS9wc2EtbWlncmF0aW9uL3RyYW5zaXRpb24tZ3VhcmRzLm1kIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLW1pZ3JhdGlvbi90cmFuc2l0aW9uLWd1YXJkcy5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGE2NWYxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLW1pZ3JhdGlvbi90cmFuc2l0aW9uLWd1YXJkcy5tZApAQCAtMCwwICsxLDMyMCBAQAorVGhpcyBkb2N1bWVudCBleHBsYWlucyBmZWF0dXJlIGd1YXJkcyBtYWNyb3MgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIHRyYW5zaXRpb24KK2Zyb20gbGVnYWN5IHRvIFBTQSBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hldGhlciBhIGdpdmVuIGNyeXB0b2dyYXBoaWMKK21lY2hhbmlzbSBpcyBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgYnVpbGQuCisKK1dlIGN1cnJlbnRseSAoYXMgb2YgTWJlZCBUTFMgMy42KSBoYXZlIHRocmVlIHNldHMgb2YgZmVhdHVyZSBtYWNyb3M6CistIGBQU0FfV0FOVGAgbWFjcm9zOworLSBsZWdhY3kgYE1CRURUTFNfeHh4YCBtYWNyb3M7CistIHRyYW5zaXRpb25hbCBgTUJFRFRMU194eHhgIG1hY3JvcyB0aGF0IHN0ZW0gZnJvbSB0aGUgZGVzaXJlIHRvIGJlIGFibGUgdG8KKyAgdXNlIGNyeXB0byBtZWNoYW5pc21zIHRoYXQgYXJlIG9ubHkgcHJvdmlkZWQgYnkgYSBkcml2ZXIgKEc1IGluCitgc3RyYXRlZ3kubWRgKS4KKworVGhpcyBkb2N1bWVudCdzIGdvYWwgaXMgdG8gc2hlZCBzb21lIGxpZ2h0IG9uIHdoZW4gdG8gdXNlIHdoaWNoLiBJdCBpcyBtb3N0bHkKK2ludGVuZGVkIGZvciBtYWludGFpbmVycy4KKworU2luY2UgbW9zdCB0cmFuc2l0aW9uIG1hY3JvcyBjb21lIGZyb20gZHJpdmVyLW9ubHkgd29yaywgaXQgY2FuIGJlIHVzZWZ1bCB0bworY2hlY2sgYGRvY3MvZHJpdmVyLW9ubHktYnVpbGRzLm1kYCBhcyB3ZWxsIGZvciBiYWNrZ3JvdW5kLiAoTm90ZTogYXMKK21haW50YWluZXJzLCBmb3IgdGhlIGJlc3QgcHJlY2lzaW9uIGFib3V0IHdoYXQncyBzdXBwb3J0ZWQgb2Ygbm90IHdpdGgKK2RyaXZlcnMsIGNoZWNrIHRoZSByZWxldmFudCBgY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfeHh4YCdzCitjb25maWd1cmF0aW9uLCBhcyB3ZWxsIGFzIHRoZSBjb3JyZXNwb25kaW5nIGV4Y2x1ZGUgbGlzdCBpbgorYGFuYWx5emVfb3V0Y29tZXMucHlgLikKKworR2VuZXJhbCBjb25zaWRlcmF0aW9ucworPT09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIGRvY3VtZW50IG9ubHkgYXBwbGllcyB0byBNYmVkIFRMUyAzLjYgVExTLiBCeSBjb250cmFzdDoKKy0gaW4gMi4yOCB3ZSBoYXZlIG5vIGRyaXZlci1vbmx5IHN1cHBvcnQsIHNvIHRoZSBsZWdhY3kgZ3VhcmRzIGBNQkVEVExTX1hYWGAKKyAgc2hvdWxkIGJlIHVzZWQgZXZlcnl3aGVyZTsKKy0gaW4gNC4wIGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBwdXJlbHkgYmFzZWQgb24gUFNBLCBzbyBgUFNBX1dBTlRgIG1hY3JvcworICBzaG91bGQgYmUgdXNlZCBldmVyeXdoZXJlLgorCitJdCBpcyB1c2VmdWwgdG8gY29uc2lkZXIgdGhlIGZvbGxvd2luZyBkb21haW5zOgorLSBUaGUgUFNBIGRvbWFpbjogdGhpbmdzIGRlY2xhcmVkIGluIGBpbmNsdWRlL3BzYS8qLmhgLCBpbXBsZW1lbnRlZCBpbgorICBgbGlicmFyeS9wc2FfKi5jYCBhbmQgdGVzdGVkIGluIGB0ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2EqYC4KKy0gVGhlIHB1cmUgVExTIDEuMyBkb21haW46IHRoZSBwYXJ0cyBvZiBUTFMgMS4zIHRoYXQgYXJlIG5vdCBpbiB0aGUgYFVTRV9QU0FgCisgIGRvbWFpbiAoc2VlIGJlbG93KS4gVGhvc2UgdXNlIFBTQSBBUElzIHVuY29uZGl0aW9uYWxseS4KKy0gVGhlIGBVU0VfUFNBYCBkb21haW4gKHRoYXQgaXMsIGNvZGUgdGhhdCBjYWxscyBQU0EgY3J5cHRvIEFQSXMgd2hlbgorICBgVVNFX1BTQWAgaXMgZW5hYmxlZCwgYW5kIGxlZ2FjeSBjcnlwdG8gQVBJcyBvdGhlcndpc2UpOiB0aGF0J3MgUEssIFguNTA5LAorbW9zdCBvZiBUTFMgMS4yIGFuZCB0aGUgcGFydHMgb2YgVExTIDEuMyB0aGF0IGFyZSBjb21tb24gd2l0aCBUTFMgMS4yIG9yIGFyZQorYWJvdXQgcHVibGljL3ByaXZhdGUga2V5cyAoc2VlIGBkb2NzL3VzZS1wc2EtY3J5cHRvLm1kYCBmb3IgZGV0YWlscykuCistIFRoZSBsZWdhY3kgY3J5cHRvIGRvbWFpbjogYSBudW1iZXIgb2YgbW9kdWxlcyB0aGVyZSB3aWxsIHVzZSBjcnlwdG8gZnJvbQorICBvdGhlciBtb2R1bGVzLCBmb3IgZXhhbXBsZSBSU0EgYW5kIGVudHJvcHkgd2lsbCB1c2UgaGFzaGVzLCBQRU0gd2lsbCB1c2UKK2hhc2hlcyBhbmQgY2lwaGVycyAoZnJvbSBlbmNyeXB0ZWQgUEVNKSwgZXRjLgorCitUaGUgZmlyc3QgdHdvIGNhdGVnb3JpZXMgKFBTQSBkb21haW4sIHB1cmUgVExTIDEuMyBkb21haW4pIGFyZSBzaW1wbGU6IGFzIGEKK2dlbmVyYWwgcnVsZSwgdXNlIGBQU0FfV0FOVGAgbWFjcm9zLiAoV2l0aCB2ZXJ5IGZldyBleGNlcHRpb25zLCBzZWUKK2Bjb21wb25lbnRfY2hlY2tfdGVzdF9kZXBlbmRlbmNpZXNgIGluIGBhbGwuc2hgLikgSW4gdGhlIHJhcmUgaW5zdGFuY2VzIHdoZXJlIGl0IGlzIG5lY2Vzc2FyeSB0bworY2hlY2sgd2hldGhlciBhIG1lY2hhbmlzbSBpcyBidWlsdC1pbiBvciBwcm92aWRlZCBieSBhIGRyaXZlciwKK2BNQkVEVExTX1BTQV9CVUlMVElOX3h4eGAgYW5kIGBNQkVEVExTX1BTQV9BQ0NFTF94eHhgIG1hY3JvcyBzaG91bGQgYmUgdXNlZAorKGJ1dCBub3QgbGVnYWN5IGBNQkVEVExTX3h4eGAgbWFjcm9zKS4KKworRm9yIHRoZSBgVVNFX1BTQWAgZG9tYWluLCBpdCBzaG91bGQgYWx3YXlzIGJlIGNvcnJlY3QgdG8gdXNlIGV4cHJlc3Npb25zIGxpa2UKK2AoIVVTRV9QU0EgJiYgTUJFRFRMU194eHgpIHx8IChVU0VfUFNBICYmIFBTQV9XQU5UX3h4eClgLiBTb21ldGltZXMsIG1hY3JvcworYXJlIGRlZmluZWQgaW4gb3JkZXIgdG8gYXZvaWQgdXNpbmcgbG9uZyBleHByZXNzaW9ucyBldmVyeXdoZXJlOyB0aGV5IHdpbGwgYmUKK21lbnRpb25lZCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLgorCitUaGUgcmVtYWluaW5nIGNhdGVnb3J5LCB0aGUgbGVnYWN5IGRvbWFpbiwgdGVuZHMgdG8gYmUgbW9yZSBjb21wbGV4LiBUaGVyZSBhcmUKK2RpZmZlcmVudCBydWxlcyBmb3IgZGlmZmVyZW50IGZhbWlsaWVzIG9mIG1lY2hhbmlzbXMsIGFzIGRldGFpbGVkIGluIHRoZQorZm9sbG93aW5nIHNlY3Rpb25zLgorCitTeW1tZXRyaWMgY3J5cHRvCis9PT09PT09PT09PT09PT09CisKK0hhc2hlcworLS0tLS0tCisKKyoqSGFzaCB2cyBITUFDOioqIEhpc3RvcmljYWxseSAoc2luY2UgMi4wKSB3ZSd2ZSBoYWQgdGhlIGdlbmVyaWMgaGFzaAoraW50ZXJmYWNlLCBhbmQgdGhlIGltcGxlbWVudGF0aW9uIG9mIEhNQUMsIGluIHRoZSBzYW1lIGZpbGUgY29udHJvbGxlZCBieSBhCitzaW5nbGUgZmVhdHVyZSBtYWNybzogYE1CRURUTFNfTURfQ2AuIFRoaXMgaGFzIG5vdyBiZWVuIHNwbGl0IGluIHR3bzoKKy0gYE1CRURUTFNfTURfTElHSFRgIGlzIGFib3V0IHRoZSBnZW5lcmljIGhhc2ggaW50ZXJmYWNlOyB3ZSBjb3VsZCB0aGluayBvZiBpdAorICBhcyBgTUJFRFRMU19IQVNIX0NgLgorLSBgTUJFRFRMU19NRF9DYCBpcyBhYm91dCB0aGUgSE1BQyBpbXBsZW1lbnRhdGlvbjsgd2UgY291bGQgdGhpbmsgb2YgaXQgYXMKKyAgYE1CRURUTFNfSE1BQ19DYCAoYXV0by1lbmFibGluZyBgTUJFRFRMU19IQVNIX0NgKS4KKworKEluIGZhY3QsIHRoaXMgaXMgbm90IHRoZSB3aG9sZSBzdG9yeTogYE1EX0xJR0hUYCBpcyB0aGUgX2NvcmVfIG9mIHRoZSBnZW5lcmljCitoYXNoIGludGVyZmFjZSwgZXhjbHVkaW5nIGZ1bmN0aW9ucyBzdWNoIGFzIGBtYmVkdGxzX21kX2xpc3QoKWAgYW5kCitgbWJlZHRsc19tZF9pbmZvX2Zyb21fc3RyaW5nKClgLCBgbWJlZHRsc19tZF9maWxlKClgLCBldGMuIEJ1dCBJIHRoaW5rIHRoZQorYWJvdmUgc2hvdWxkIHN0aWxsIHByb3ZpZGUgYSBnb29kIGludHVpdGlvbiBhcyBmaXJzdCBhcHByb3hpbWF0aW9uLikKKworTm90ZSB0aGF0IGFsbCB1c2VycyBvZiBoYXNoZXMgaW4gdGhlIGxpYnJhcnkgdXNlIGVpdGhlciB0aGUgUFNBIENyeXB0byBBUEkgb3IgdGhlIGBtZC5oYCBBUEkuCitUaGF0IGlzLCBubyB1c2VyIGluIHRoZSBsaWJyYXJ5LCBldmVuIGluIHRoZSBsZWdhY3kgZG9tYWluLCB1c2VzIHRoZSBsb3ctbGV2ZWwgaGFzaCBBUElzCisoYG1iZWR0bHNfc2hhMjU2YCBldGMpLiAoVGhhdCdzIG5vdCB0cnVlIG9mIGFsbCBleGFtcGxlIHByb2dyYW1zLCB0aG91Z2guKQorCisqKkhlbHBlciBtYWNyb3M6KiogaW4gYGNvbmZpZ19hZGp1c3RfbGVnYWN5X2NyeXB0by5oYCB3ZSBkZWZpbmUgYSBmYW1pbHkgb2YKK21hY3JvIGBNQkVEVExTX01EX0NBTl94eHhgLiBUaGVzZSBtYWNyb3MgYXJlIGRlZmluZWQgKGZvciBhdmFpbGFibGUgaGFzaGVzKSBhcworc29vbiBhcyBgTUJFRFRMU19NRF9MSUdIVGAgaXMgZW5hYmxlZC4gVGhpcyBzdWJzZXQgb2YgYE1EYCBpcyBhdXRvbWF0aWNhbGx5CitlbmFibGVkIGFzIHNvb24gYXMgc29tZXRoaW5nIGZyb20gdGhlIGxlZ2FjeSBkb21haW4sIG9yIGZyb20gdGhlIGBVU0VfUFNBYAorZG9tYWluLCBuZWVkcyBhIGhhc2guIChOb3RlIHRoYXQgdGhpcyBpbmNsdWRlcyBgRU5UUk9QWV9DYCwgc28gaW4gcHJhY3RpY2UKK2BNRF9MSUdIVGAgaXMgZW5hYmxlZCBpbiBtb3N0IGJ1aWxkcy4pCisKK05vdGUgdGhhdCB0aGVyZSBpcyBhIHJ1bGUsIGVuZm9yY2VkIGJ5IGBjb25maWdfYWRqdXN0X3BzYV9zdXBlcnNldF9sZWdhY3kuaGAsCit0aGF0IGFzIHNvb24gYXMgYFBTQV9DUllQVE9fQ2AgaXMgZW5hYmxlZCwgYWxsIGhhc2hlcyB0aGF0IGFyZSBlbmFibGVkIG9uIHRoZQorbGVnYWN5IHNpZGUgYXJlIGFsc28gZW5hYmxlZCBvbiB0aGUgUFNBIHNpZGUgKHRoZSBjb252ZXJzZSBpcyBub3QgdHJ1ZTogYSBoYXNoCit0aGF0J3MgcHJvdmlkZWQgYnkgYSBkcml2ZXIgd2lsbCB0eXBpY2FsbHkgYmUgYXZhaWxhYmxlIG9ubHkgb24gdGhlIFBTQSBzaWRlKS4gU28sIGluCitwcmFjdGljZSwgd2hlbiBgUFNBX0NSWVBUT19DYCBhbmQgYE1EX0xJR0hUYCBhcmUgYm90aCBlbmFibGVkLAorYFBTQV9XQU5UX0FMR194eHhgIGFuZCBgTUJFRFRMU19NRF9DQU5feHh4YCBhcmUgZXF1aXZhbGVudC4KKworKipMZWdhY3kgYW5kIGBVU0VfUFNBYCBkb21haW5zOioqIGZvciBoYXNoZXMsIGBNQkVEVExTX01EX0NBTl94eHhgICh3aGVyZQorYHh4eGAgaXMgdGhlIGxlZ2FjeSBuYW1lIG9mIHRoZSBoYXNoKSBjYW4gYmUgdXNlZCBldmVyeXdoZXJlIChleGNlcHQgaW4gdGhlCitQU0EgZG9tYWluIHdoaWNoIHNob3VsZCB1c2UgYFBTQV9XQU5UYCBhcyB1c3VhbCkuIE5vIHNwZWNpYWwgaW5jbHVkZSBpcworcmVxdWlyZWQsIGBidWlsZF9pbmZvLmhgIG9yIGBjb21tb24uaGAgaXMgZW5vdWdoLgorCisqKlB1cmUgVExTIDEuMyBkb21haW46KiogaXQgaXMgbm90IGVhc3kgdG8ga25vdyB3aGljaCB1c2VzIG9mIGhhc2hlcyBmYWxsIGluCit0aGlzIGRvbWFpbiBhcyBvcHBvc2VkIHRvIHRoZSBgVVNFX1BTQWAgZG9tYWluIHdoaXRob3V0IGxvb2tpbmcgYXQgdGhlIGNvZGUuCitGb3J0dW5hdGVseSwgYE1EX0NBTmAgYW5kIGBQU0FfV0FOVGAgbWFjcm9zIGNhbiBiZSB1c2VkIGludGVyY2hhbmdlYWJseSwgYXMKK3BlciB0aGUgbm90ZSBhYm92ZS4KKworSE1BQworLS0tLQorCisqKkxlZ2FjeSBkb21haW46KiogdGhlIGNvZGUgaXMgdXNpbmcgdGhlIGBtZC5oYCBBUEkuIEZvciB0aGlzIGRvbWFpbiwKK2F2YWlsYWJpbGl0eSBvZiBITUFDLXh4eCBpcyBkZXRlcm1pbmVkIGJ5IGBNQkVEVExTX01EX0MgJiYgTUJFRFRMU19NRF9DQU5feHh4YAorKHNlZSBwcmV2aW91cyBzdWJzZWN0aW9uIGFib3V0IGBNRF9DQU5gKS4gTW9kdWxlcyBpbiB0aGlzIGRvbWFpbiB0aGF0IG1heSB1c2UKK0hNQUMgYXJlIFBLQ1M1LCBQS0NTNywgSEtERiwgSE1BQy1EUkJHIGFuZCBFQ0RTQSBkZXRlcm1pbmlzdGljLgorCisqKmBVU0VfUFNBYCBkb21haW46KiogY29kZSB3aWxsIHVzZSB0aGUgYG1kLmhgIEFQSSB3aGVuIGBVU0VfUFNBYCBpcyBkaXNhYmxlZCwKK2FuZCB0aGUgYHBzYV9tYWNgIEFQSSB3aGVuIGBVU0VfUFNBYCBpcyBlbmFibGVkLiBJdCBzaG91bGQgY2hlY2sgZm9yIHRoZQorYXZhaWxhYmlsaXR5IG9mIEhNQUMteHh4IHdpdGggZWl0aGVyOgorYGBgCisoKCFNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICYmIE1CRURUTFNfTURfQykgfHwKKyAoTUJFRFRMU19VU0VfUFNBX0NSWVBUTyAmJiBQU0FfV0FOVF9BTEdfSE1BQykpICYmCitNQkVEVExTX01EX0NBTl94eHgKK2BgYAorb3IKK2BgYAorKCFNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICYmIE1CRURUTFNfTURfQyAmJiBNQkVEVExTX3h4eF9DKSB8fAorKE1CRURUTFNfVVNFX1BTQV9DUllQVE8gJiYgUFNBX1dBTlRfQUxHX0hNQUMgJiYgUFNBX1dBTlRfQUxHX3h4eCkKK2BgYAorb3IgYW55IGVxdWl2YWxlbnQgY29uZGl0aW9uIChzZWUgbm90ZSBhdCB0aGUgZW5kIG9mIHRoZSBwcmV2aW91cyBzZWN0aW9uKS4KK1RoZSBvbmx5IG1vZHVsZSBpbiB0aGlzIGNhc2UgaXMgVExTLCB3aGljaCBjdXJyZW50bHkgZGVwZW5kcyBvbgorYFVTRV9QU0FfQ1JZUFRPIHx8IE1EX0NgLgorCitOb3RlOiB3aGlsZSB3cml0aW5nIHRoaXMsIGl0IG9jY3VycyB0byBtZSB0aGF0IFRMUyAxLjIgZG9lcyBub3Qgc2VlbSB0byBiZQorY2hlY2tpbmcgZm9yIGBQU0FfV0FOVF9BTEdfSE1BQ2AgYmVmb3JlIGVuYWJsaW5nIENCQyBjaXBoZXJzdWl0ZXMgd2hlbgorYFVTRV9QU0FgIGlzIGVuYWJsZWQsIHdoaWNoIEkgdGhpbmsgaXQgc2hvdWxkLiBCdWlsZHMgd2l0aCBgVVNFX1BTQWAgZW5hYmxlZCwKK2BQU0FfV0FOVF9BTEdfSE1BQ2AgZGlzYWJsZWQgYW5kIG90aGVyIHJlcXVpcmVtZW50cyBmb3IgQ0JDIGNpcGhlcnN1aXRlcworZW5hYmxlZCwgYXJlIHByb2JhYmx5IGJyb2tlbiAocGVyaGFwcyBvbmx5IGF0IHJ1bnRpbWUgd2hlbiBhIENCQyBjaXBoZXJzdWl0ZQoraXMgbmVnb3RpYXRlZCkuCisKKyoqUHVyZSBUTFMgMS4zIGRvbWFpbjoqKiBITUFDIGlzIHVzZWQgZm9yIHRoZSBGaW5pc2hlZCBtZXNzYWdlIHZpYSBQU0EgQ3J5cHRvCitBUElzLiBTbywgVExTIDEuMyBzaG91bGQgZGVwZW5kIG9uIGBQU0FfV0FOVF9BTEdfSE1BQ2AgLSBkb2Vzbid0IHNlZW0gdG8gYmUKK2VuZm9yY2VkIGJ5IGBjaGVja19jb25maWcuaGAsIG9yIGRvY3VtZW50ZWQgaW4gYG1iZWR0bHNfY29uZmlnLmhgLCBhdCB0aGUKK21vbWVudC4KKworQ2lwaGVycyAoQUVBRCBhbmQgdW5hdXRoZW50aWNhdGVkKQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisqKk92ZXJ2aWV3IG9mIGV4aXN0aW5nIChpbnRlcm5hbCkgQVBJczoqKiB3ZSBjdXJyZW50bHkgaGF2ZSA1IChmYW1pbGllcyBvZikKK0FQSXMgZm9yIGNpcGhlcnMgKGFuZCBhc3NvY2lhdGVkIGNvbnN0cnVjdHMpIGluIHRoZSBsaWJyYXJ5OgorLSBMb3ctbGV2ZWwgQVBJIGZvciBwcmltaXRpdmVzOiBgbWJlZHRsc19hZXNfeHh4YCBldGMuIC0gdXNlZCBieSBgY2lwaGVyLmNgCisgIGFuZCBzb21lIG90aGVyIG1vZHVsZXMgaW4gdGhlIGxlZ2FjeSBkb21haW4uCistIEludGVybmFsIGFic3RyYWN0aW9uIGxheWVyIGBibG9ja19jaXBoZXJgIGZvciBBRVMsIEFSSUEgYW5kIENhbWVsbGlhCisgIHByaW1pdGl2ZXMgLSB1c2VkIG9ubHkgYnkgYGdjbS5jYCBhbmQgYGNjbS5jYCwgb25seSB3aGVuIGBDSVBIRVJfQ2AgaXMgbm90CitlbmFibGVkIChmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zKS4KKy0gQmxvY2sgY2lwaGVyIG1vZGVzIC8gZGVyaXZhdGl2ZXM6CisgIC0gYG1iZWR0bHNfZ2NtX3h4eGAgYW5kIGBtYmVkdGxzX2NjbV94eHhgLCB1c2VkIGJ5IGBjaXBoZXIuY2AgYW5kCisgICAgdGhlIGJ1aWx0LWluIFBTQSBpbXBsZW1lbnRhdGlvbjsKKyAgLSBgbWJlZHRsc19uaXN0X2t3X3h4eGAsIHVzZWQgYnkgYGNpcGhlci5jYDsKKyAgLSBgbWJlZHRsc19jaXBoZXJfY21hY194eHhgLCB1c2VkIGJ5IHRoZSBidWlsdC1pbiBQU0EgaW1wbGVtZW50YXRpb247CisgIC0gYG1iZWR0bHNfY3RyX2RyYmdfeHh4YCwgdXNlZCBieSBQU0EgY3J5cHRvJ3MgUk5HIHN1YnN5c3RlbS4KKy0gQ2lwaGVyOiB1c2VkIGJ5IHNvbWUgbW9kdWxlcyBpbiB0aGUgbGVnYWN5IGRvbWFpbiwgYW5kIGJ5IHRoZSBidWlsdC1pbiBQU0EKKyAgaW1wbGVtZW50YXRpb24uCistIFBTQTogdXNlZCBieSB0aGUgYFVTRV9QU0FgIGRvbWFpbiB3aGVuIGBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPYCBpcyBlbmFibGVkLgorCisqKkxlZ2FjeSBkb21haW46KiogbW9zdCBjb2RlIGhlcmUgaXMgdXNpbmcgZWl0aGVyIGBjaXBoZXIuaGAgb3IgbG93LWxldmVsIEFQSXMKK2xpa2UgYGFlcy5oYCwgYW5kIHNob3VsZCB1c2UgbGVnYWN5IG1hY3JvcyBsaWtlIGBNQkVEVExTX0FFU19DYCBhbmQKK2BNQkVEVExTX0NJUEhFUl9NT0RFX0NCQ2AuIFRoaXMgaW5jbHVkZXMgTklTVC1LVywgQ01BQywgUEtDUzUvUEtDUzEyIGVuL2RlY3J5cHRpb24KK2Z1bmN0aW9ucywgUEVNIGRlY3J5cHRpb24sIFBLIHBhcnNpbmcgb2YgZW5jcnlwdGVkIGtleXMuIFRoZSBvbmx5IGV4Y2VwdGlvbnMKK2FyZToKKzEuIGBHQ01gIGFuZCBgQ0NNYCB1c2UgdGhlIGludGVybmFsIGFic3RyYWN0aW9uIGxheWVyIGBibG9ja19jaXBoZXJgIGFuZCBjaGVjaworICAgZm9yIGF2YWlsYWJpbGl0eSBvZiBibG9jayBjaXBoZXJzIHVzaW5nIGBNQkVEVExTX0NDTV9HQ01fQ0FOX3h4eGAgbWFjcm9zCitkZWZpbmVkIGluIGBjb25maWdfYWRqdXRfbGVnYWN5X2NyeXB0by5oYC4gQXMgYSB1c2VyLCB0byBjaGVjayBpZiBBRVMtR0NNIGlzCithdmFpbGFibGUgdGhyb3VnaCB0aGUgYG1iZWR0bHNfZ2NtYCBBUEksIHlvdSB3YW50IHRvIGNoZWNrIGZvciBgTUJFRFRMU19HQ01fQ2AKK2FuZCBgTUJEVExTX0NDTV9HQ01fQ0FOX0FFU2AuCisyLiBgQ1RSX0RSQkdgIHVzZXMgdGhlIGxvdy1sZXZlbCBgbWJlZHRsc19hZXNfYCBBUEkgaWYgaXQncyBhdmFpbGFibGUsCisgIG90aGVyd2lzZSBpdCB1c2VzIHRoZSBQU0EgQVBJLiBUaGVyZSBpcyBubyBuZWVkIGZvciB1c2VycyBvZiBgQ1RSX0RSQkdgIHRvCitjaGVjayBpZiBBRVMgaXMgYXZhaWxhYmxlOiBgY2hlY2tfY29uZmlnLmhgIGlzIGFscmVhZHkgdGFraW5nIGNhcmUgb2YgdGhhdCwgc28KK2Zyb20gYSB1c2VyJ3MgcGVyc3BlY3RpdmUgYXMgc29vbiBhcyBgTUJFRFRMU19DVFJfRFJCR19DYCBpcyBlbmFibGVkLCB5b3UgY2FuCit1c2UgaXQgd2l0aG91dCB3b3JyeWluZyBhYm91dCBBRVMuCisKKyoqYFVTRV9QU0FgIGRvbWFpbjoqKiBoZXJlIHdlIHNob3VsZCB1c2UgY29uZGl0aW9ucyBsaWtlIHRoZSBmb2xsb3dpbmcgaW4KK29yZGVyIHRvIHRlc3QgZm9yIGF2YWlsYWJpbGl0eSBvZiBjaXBoZXJzIGFuZCBhc3NvY2lhdGVkIG1vZGVzLgorYGBgCisvLyBpcyBBRVMgYXZhaWxhYmxlPworKCFkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pICYmIGRlZmluZWQoTUJFRFRMU19BRVNfQykpIHx8IFwKKyhkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pICYmIGRlZmluZWQoUFNBX1dBTlRfS0VZX1RZUEVfQUVTKSkKKy8vIGlzIENCQyBhdmFpbGFibGU/CisoIWRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykgJiYgZGVmaW5lZChNQkVEVExTX0NJUEhFUl9NT0RFX0NCQykpIHx8IFwKKyhkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pICYmIGRlZmluZWQoUFNBX1dBTlRfQUxHX0NCQ19OT19QQURESU5HKSkKKy8vIGlzIEdDTSBhdmFpbGFibGU/CisoIWRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykgJiYgZGVmaW5lZChNQkVEVExTX0dDTV9DKSkgfHwgXAorKGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykgJiYgZGVmaW5lZChQU0FfV0FOVF9BTEdfR0NNKSkKK2BgYAorTm90ZTogVExTIGlzIHRoZSBvbmx5IHVzZXIgb2YgY2lwaGVycyBpbiB0aGUgYFVTRV9QU0FgIGRvbWFpbiwgYW5kIGl0IGRlZmluZXMKK2BNQkVEVExTX1NTTF9IQVZFX3h4eGAgbWFjcm9zIGluIGBjb25maWdfYWRqdXN0X2xlZ2FjeV9jcnlwdG8uaGAgZm9yIHRoZQorY2lwaGVycyBhbmQgbW9kZXMgaXQgbmVlZHMgdG8ga25vdyBhYm91dC4KKworKipQdXJlIFRMUyAxLjMgZG9tYWluOioqIG5vbmUuIEFsbCBmcm9tIFRMUyAxLjMgYXJlIGluIHRoZSBgVVNFX1BTQWAgZG9tYWluCisoY29tbW9uIHRvIFRMUyAxLjIpLgorCitLZXkgZGVyaXZhdGlvbgorLS0tLS0tLS0tLS0tLS0KKworKipMZWdhY3kgZG9tYWluOioqIHRoZSBtb2R1bGVzIFBLQ1M1IGFuZCBQS0NTMTIgYm90aCBwcm92aWRlCitrZXkgZGVyaXZhdGlvbiAocmVzcGVjdGl2ZWx5IFBCS0RGMi1ITUFDIGFuZCBQS0NTMTIgZGVyaXZhdGlvbiksIGFuZCB1c2UgaXQKK2ZvciBwYXNzd29yZC1iYXNlZCBlbmNyeXB0aW9uLiAoTm90ZTogUEVNIGhhcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBQQktERjEgYnV0CitpdCdzIGludGVybmFsLikKKworKipgVVNFX1BTQWAgZG9tYWluOioqIFBLIChwYXJzZSkgd2lsbCB1c2UgUEtDUzUgYW5kIFBLQ1MxMiBlbmNyeXB0aW9uIChoZW5jZQoraW5kaXJlY3RseSBrZXkgZGVyaXZhdGlvbikgaWYgcHJlc2VudCBpbiB0aGUgYnVpbGQuIFRoZSBtYWNyb3MgYXJlCitgTUJFRFRMU19QS0NTNV9DYCBhbmQgYE1CRURUTFNfUEtDUzEyX0NgLiBOb3RlIHRoYXQgZXZlbiB3aGVuIGBVU0VfUFNBYCBpcworZW5hYmxlZCwgUEsgcGFyc2Ugd2lsbCBfbm90XyB1c2UgUFNBIGZvciB0aGUgUEJLREYyIHBhcnQgb2YgUEtDUzUgZGVjcnlwdGlvbi4KKworKipQdXJlIFRMUyAxLjMgZG9tYWluOioqIFRMUyAxLjMgaXMgdXNpbmcgSEtERiB2aWEgUFNBIENyeXB0byBBUElzLiBXZSBhbHJlYWR5CitlbmZvcmNlIGluIGBjaGVja19jb25maWcuaGAgdGhhdCBUTFMgMS4zIGRlcGVuZHMgb24gdGhlIGFwcHJvcHJpYXRlIGBQU0FfV0FOVGAKK21hY3Jvcy4KKworQXN5bW1ldHJpYyBjcnlwdG8KKz09PT09PT09PT09PT09PT09CisKK1JTQQorLS0tCisKKyoqTGVnYWN5IGRvbWFpbiBhbmQgYFVTRV9QU0FgIGRvbWFpbjoqKiB1c2UgYFJTQV9DYCBldmVyeXdoZXJlLiAoTm90ZTogdGhlcmUncworbm8gdXNlciBvZiBSU0EgaW4gdGhlIGxlZ2FjeSBkb21haW4sIGFuZCB0aGUgb25seSBkaXJlY3QgdXNlciBpbiB0aGUgYFVTRV9QU0FgCitkb21haW4gaXMgUEsgLSBib3RoIFguNTA5IGFuZCBUTFMgd2lsbCBvbmx5IFJTQSB2aWEgUEsuKQorCisqKlB1cmUgVExTIDEuMyBkb21haW46Kiogbm8gdXNlIG9mIFJTQSBpbiB0aGlzIGRvbWFpbi4gQWxsIFRMUyAxLjMgdXNlcyBvZiBSU0EKK2dvIHRocm91Z2ggUEssIGhlbmNlIGFyZSBpbiB0aGUgYFVTRV9QU0FgIGRvbWFpbi4KKworRkZESAorLS0tLQorCisqKkxlZ2FjeSBkb21haW4gYW5kIGBVU0VfUFNBYCBkb21haW46KiogdXNlIGBESE1fQ2AuIFRoZSBvbmx5IHVzZXIgaXMgVExTIDEuMgord2hpY2ggaXMgYWN0dWFsbHkgaW4gdGhlIGxlZ2FjeSBkb21haW4gLSB0aGlzIGlzIGFuIGV4Y2VwdGlvbiB3aGVyZSBgVVNFX1BTQWAKK2hhcyBubyBlZmZlY3QsIGJlY2F1c2UgUFNBIGRvZXNuJ3QgY292ZXIgdGhlIG5lZWRzIG9mIFRMUyAxLjIgaGVyZS4KKworKipQdXJlIFRMUyAxLjMgZG9tYWluOioqIHVzZSBgUFNBX1dBTlRgLiBUaGUgVExTIDEuMyBjb2RlIGZvciBEaWZmaWUtSGVsbG1hbgoraXMgY29tbW9uIHRvIEVDREggYW5kIEZGREggdGhhbmtzIHRvIFBTQSBDcnlwdG8gQVBJcyBiZWluZyBnZW5lcmljIGVub3VnaC4gVGhlCitwYXJ0cyBhYm91dCBGRkRIIGFyZSBndWFyZGVkIHdpdGggYFBTQV9XQU5UX0FMR19GRkRIYCAod2l0aCB0aGUgcmVhc29uaW5nIHRoYXQKK3RoaXMgaW1wbGllcyBzdXBwb3J0IGZvciB0aGUgY29ycmVzcG9uZGluZyBrZXkgdHlwZSkuCisKK0VDQworLS0tCisKKyoqQ3VydmVzOioqIGluIGBjb25maWdfYWRqdXRfcHNhX3N1cGVyc2V0X2xlZ2FjeS5oYCB3ZSBlbnN1cmUgdGhhdCwgYXMgc29vbiBhcworYFBTQV9DUllQVE9fQ2AgaXMgZW5hYmxlZCwgYWxsCitjdXJ2ZXMgdGhhdCBhcmUgc3VwcG9ydGVkIG9uIHRoZSBsZWdhY3kgc2lkZSAoYE1CRURUTFNfRUNQX0RQX3h4eF9FTkFCTEVEYCkKK2FyZSBhbHNvIHN1cHBvcnRlZCBvbiB0aGUgUFNBIHNpZGUgKGBQU0FfV0FOVF9FQ0NfeHh4YCkuIChUaGUgY29udmVyc2UgaXMgbm90Cit0cnVlIGFzIGEgY3VydmUgcHJvdmlkZWQgYnkgYSBkcml2ZXIgd2lsbCB0eXBpY2FsbHkgb25seSBiZSBhdmFpbGFibGUgb24gdGhlCitQU0Egc2lkZSkuCisKK0luIGBjb25maWdfYWRqdXN0X2xlZ2FjeV9jcnlwdG8uaGAgd2UgZGVmaW5lIG1hY3JvcyBgTUJFRFRMU19FQ1BfSEFWRV94eHhgLgorVGhlc2UgbWFjcm9zIGFyZSB1c2VmdWwgZm9yIGRhdGEgYW5kIGZ1bmN0aW9ucyB0aGF0IGhhdmUgdXNlcnMgaW4gc2V2ZXJhbAorZG9tYWlucywgc3VjaCBhcyBgbWJlZHRsc19lY2NfZ3JvdXBfdG9fcHNhKClgLCBvciB0aGF0IGhhdmUgdXNlcnMgb25seSBpbiB0aGUKK2BVU0VfUFNBYCBkb21haW4gYnV0IHdhbnQgYSBzaW1wbGVyIChpZiBzdWItb3B0aW1hbCkgY29uZGl0aW9uLCBzdWNoIGFzCitgbWJlZHRsc19vaWRfZ2V0X2VjX2dycCgpYC4KKworU3RyaWN0bHkgc3BlYWtpbmcsIGNvZGUgaW4gdGhlIGBVU0VfUFNBYCBkb21haW4gc2hvdWxkIG5vdCB1c2UgdGhlIGFib3ZlCitgTUJFRFRMU19FQ1BfSEFWRV94eHhgIG1hY3JvcyBidXQgY29uZGl0aW9ucyBsaWtlCitgYGAKKyghTUJFRFRMU19VU0VfUFNBX0NSWVBUTyAmJiBNQkVEVExTX0VDUF9EUF94eHhfRU5BQkxFRCkgfHwKKyhNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICYmIFBTQV9XQU5UX0VDQ194eHgpCitgYGAKK05vdGUgd2hpbGUgd3JpdGluZzogYSBsb3Qgb2YgdGVzdHMgZm9yIHRoaW5ncyBpbiB0aGUgYFVTRV9QU0FgIGRvbWFpbiBhcHBlYXIKK3RvIGJlIHVzaW5nIGBNQkVEVExTX0VDUF9IQVZFX3h4eGAuIElNTyB0aGlzIGlzIGluY29ycmVjdCwgYnV0IG5vdCBjYXVnaHQgYnkKK3RoZSBDSSBiZWNhdXNlIEkgZ3Vlc3Mgd2UgZG9uJ3QgcnVuIHRlc3RzIGluIGNvbmZpZ3VyYXRpb25zIHRoYXQgaGF2ZSBib3RoCitgVVNFX1BTQV9DUllQVE9gIGRpc2FibGVkLCBhbmQgc29tZSBjdXJ2ZXMgZW5hYmxlZCBvbmx5IG9uIHRoZSBQU0Egc2lkZS4gTXkKK2luaXRpYWwgZmVlbGluZyBpcyB3ZSBkb24ndCBjYXJlIGFib3V0IHN1Y2ggY29uZmlndXJhdGlvbnMgYXMgdGhpcyBwb2ludCwgYW5kCitjYW4gbGVhdmUgdGhlIGRlcGVuZGVuY2llcyBhcyB0aGV5IGFyZSB1bnRpbCB0aGV5J3JlIHJlcGxhY2VkIHdpdGggYFBTQV9XQU5UYAorbWFjcm9zIGluIDQuMCBhbnl3YXkuCisKKyoqTGVnYWN5IGRvbWFpbjoqKiB1c2UgdGhlIGxlZ2FjeSBtYWNyb3MgYEVDUF9DYCwgYEVDREhfQ2AsIGBFQ0RTQV9DYCwKK2BFQ0pQQUtFX0NgLCBgTUJFRFRMU19FQ1BfRFBfeHh4X0VOQUJMRURgLiAoVGhpcyBpcyBtb3N0bHkganVzdCBFQ0RILCBFQ0RTQQorYW5kIEVDIEotUEFLRSB1c2luZyBFQ1AuKQorCisqKktleSBtYW5hZ2VtZW50LCBgVVNFX1BTQWAgZG9tYWluOioqIGBNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVNgIG1lYW5zIHRoYXQgUEsKK3N1cHBvcnRzIEVDQyBrZXkgcGFyc2luZyBhbmQgd3JpdGluZyAoYW5kIHN0b3JhZ2UpLiBJdCBkb2VzIG5vdCBpbXBseSBzdXBwb3J0Citmb3IgZG9pbmcgY3J5cHRvIG9wZXJhdGlvbiB3aXRoIHN1Y2gga2V5cyAtIHNlZSBgTUJFRFRMU19QS19DQU5fRUNEU0FfeHh4YAorYWJvdmUgZm9yIHRoYXQuCisKKyoqRUNESCwgYFVTRV9QU0FgIGRvbWFpbjoqKiB0aGlzIGlzIGp1c3QgVExTIDEuMi4gSXQncyB1c2luZyB0aGUgaGVscGVyIG1hY3JvCitgTUJFRFRMU19DQU5fRUNESGAgZGVmaW5lZCBpbiBgY29uZmlnX2FkanVzdF9sZWdhY3lfY3J5cHRvLmhgICh3aGljaCBzaG91bGQKK3Byb2JhYmx5IGJlIGNhbGxlZCBgTUJFRFRMU19TU0xfVExTMV8yX0NBTl9FQ0RIYCBhcyBpdCdzIG9ubHkgZm9yIFRMUyAxLjIpLgorKE5vdGU6IHRoZSBtYWNybyBpcyBub3QgdXNlZCBkaXJlY3RseSBpbiB0aGUgY29kZSwgaXQncyBvbmx5IHVzZWQgYXMgYQorZGVwZW5kZW5jeSBmb3IgcmVsZXZhbnQgVExTIDEuMiBrZXkgZXhjaGFuZ2VzLiBUaGVuIHRoZSBjb2RlIHVzZXMgdGhlIGd1YXJkcworZm9yIHRoZSBrZXkgZXhjaGFuZ2VzLikKKworKipFQ0RILCBwdXJlIFRMUyAxLjMgZG9tYWluOioqIHVzaW5nIGBQU0FfV0FOVF9BTEdfRUNESGAuCisKKyoqRUNEU0EsIGBVU0VfUFNBYCBkb21haW46Kiogc2hvdWxkIHVzZSB0aGUgbWFjcm9zCitgTUJFRFRMU19QS19DQU5fRUNEU0Ffe1NJR04sVkVSSUZZLFNPTUV9YCB0aGF0IGluZGljYXRlIHN1cHBvcnQgZm9yIHNpZ25hdHVyZQorZ2VuZXJhdGlvbiwgdmVyaWZpY2F0aW9uLCBvciBhdCBsZWFzdCBvbmUgb2YgdGhvc2UsIHJlc3BlY3RpdmVseS4gVG8gY2hlY2sgZm9yCitzdXBwb3J0IGZvciBzaWduYXR1cmVzIHdpdGggYSBzcGVjaWZpYyBoYXNoLCBjb21iaW5lCitgTUJFRFRMU19QS19DQU5fRUNEU0FfeHh4YCB3aXRoIGBNQkVEVExTX01EX0NBTl94eHhgLgorCisqKkVDRFNBLCBwdXJlIFRMUyAxLjMgZG9tYWluOioqIG5vbmUgLSBldmVyeXRoaW5nIGdvZXMgdGhyb3VnaCBQSy4KKworKipFQyBKLVBBS0UsIGBVU0VfUFNBYCBkb21haW46Kiogb25seSB1c2VkIGJ5IFRMUyAxLjIuIFRoZSBjb2RlIGlzIGd1YXJkZWQgYnkKK3RoZSBjb3JyZXNwb25kaW5nIGBLRVlfRVhDSEFOR0VgIG1hY3JvLCB3aGljaCBpbiBgY2hlY2tfY29uZmlnLmhgIGRlcGVuZHMgb24KK3RoZSBhcHByb3ByaWF0ZSBtYWNyb3MgZGVwZW5kaW5nIG9uIHdoZXRoZXIgYFVTRV9QU0FgIGlzIG9uIG9yIG9mZi4KKworKipFQyBKLVBBS0UsIHB1cmUgVExTIDEuMyBkb21haW46Kiogbm9uZSAtIEVDIEotUEFLRSBpcyBUTFMgMS4yIChzbyBmYXIpLgorCisqKlJlbGF0ZWQgaW50ZXJuYWwgbWFjcm9zOioqCistIGBNQkVEVExTX1BLX1VTRV9QU0FfRUNfREFUQWAgaXMgYW4gaW50ZXJuYWwgc3dpdGNoIG9mIHRoZSBQSyBtb2R1bGUuIFdoZW4KKyAgaXQncyBub3QgZGVmaW5lZCwgUEsgc3RvcmVzIEVDQyBrZXlzIGFzIGEgYHN0cnVjdCBtYmVkdGxzX2VjeHh4X2tleXBhaXJgOword2hlbiBpdCdzIGRlZmluZWQsIFBLIHN0b3JlcyBpbiBhIFBTQSAtZnJpZW5kbHkgZm9ybWF0IGluc3RlYWQgKFBTQSBrZXkgc2xvdAorZm9yIHByaXZhdGUga2V5cywgbWV0YWRhdGEgKyBhcnJheSBvZiBieXRlcyB3aXRoIHRoZSBQU0EgaW1wb3J0L2V4cG9ydCBmb3JtYXQKK2ZvciB0aGUgcHVibGljIHBhcnQpLiBUaGlzIG1hY3JvIGlzIG9ubHkgZGVmaW5lZCB3aGVuIGBFQ1BfQ2AgaXMgbm90IGFuZAorYFVTRV9QU0FgIGlzLCBzZWUgY29tbWVudHMgYWJvdmUgaXRzIGRlZmluaXRpb24gaW4gYHBrLmhgIGZvciBkZXRhaWxzLgorLSBgTUJFRFRMU19FQ1BfTElHSFRgIGVuYWJsZXMgb25seSBhIHN1YnNldCBvZiBgZWNwLmNgLiBUaGlzIHN1YnNldCBpcyBwcmV0dHkKKyAgbXVjaCBhZCBob2M6IGl0J3MgYmFzaWNhbGx5IGV2ZXJ5dGhpbmcgdGhhdCBkb2Vzbid0IGRlcGVuZCBvbiBzY2FsYXIKK211bHRpcGxpY2F0aW9uIChfdGhlXyBjb21wbGV4IGV4cGVuc2l2ZSBvcGVyYXRpb24gaW4gRUNDIGFyaXRobWV0aWMpLgorQmFzaWNhbGx5LCB0aGlzIHN1YnNldCBnaXZlcyBhY2Nlc3MgdG8gY3VydmUgZGF0YSAoY29uc3RhbnRzKSwga2V5IHN0b3JhZ2UsCitiYXNpYyBwYXJzaW5nIGFuZCB3cml0aW5nLiBJdCBpcyBhdXRvLWVuYWJsZWQgaW4gc29tZSBkcml2ZXItb25seQorY29uZmlndXJhdGlvbnMgd2hlcmUgdGhlIHVzZXIgaGFzIGRpc2FibGVkIGBFQ1BfQ2AgYmVjYXVzZSB0aGV5IGhhdmUgZHJpdmVycworZm9yIHRoZSBjcnlwdG8gb3BlcmF0aW9ucyB0aGV5IHVzZSwgYnV0IHRoZXkndmUgYWxzbyBhc2tlZCBmb3Igc29tZSB0aGluZ3MKK3RoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgZHJpdmVycyB5ZXQsIHN1Y2ggYXMgZGV0ZXJtaW5pc3RpYyBrZXkgZGVyaXZhdGlvbiwKK29yIHBhcnNpbmcgb2YgY29tcHJlc3NlZCBrZXlzIC0gb24gdGhvc2UgY2FzZXMsIGBFQ1BfTElHSFRgIHdpbGwgc3VwcG9ydCB0aGlzCituZWVkcyB3aXRob3V0IGJyaW5naW5nIGJhY2sgdGhlIGZ1bGwgYEVDUF9DYC4KZGlmZiAtLWdpdCBhL2RvY3MvYXJjaGl0ZWN0dXJlL3BzYS1zaGFyZWQtbWVtb3J5Lm1kIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLXNoYXJlZC1tZW1vcnkubWQKaW5kZXggZWYzYTZiMC4uMjgzZmZjNiAxMDA2NDQKLS0tIGEvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLXNoYXJlZC1tZW1vcnkubWQKKysrIGIvZG9jcy9hcmNoaXRlY3R1cmUvcHNhLXNoYXJlZC1tZW1vcnkubWQKQEAgLTY2Myw3ICs2NjMsNyBAQAogCiBUaGVyZSBub3cgZXhpc3RzIGEgbW9yZSBnZW5lcmljIG1lY2hhbmlzbSBmb3IgbWFraW5nIGV4YWN0bHkgdGhpcyBraW5kIG9mIHRyYW5zZm9ybWF0aW9uIC0gdGhlIFBTQSB0ZXN0IHdyYXBwZXJzLCB3aGljaCBleGlzdCBpbiB0aGUgZmlsZXMgYHRlc3RzL2luY2x1ZGUvdGVzdC9wc2FfdGVzdF93cmFwcGVycy5oYCBhbmQgYHRlc3RzL3NyYy9wc2FfdGVzdF93cmFwcGVycy5jYC4gVGhlc2UgYXJlIHdyYXBwZXJzIGFyb3VuZCBhbGwgUFNBIGZ1bmN0aW9ucyB0aGF0IGFsbG93IHRlc3RpbmcgY29kZSB0byBiZSBpbnNlcnRlZCBhdCB0aGUgc3RhcnQgYW5kIGVuZCBvZiBhIFBTQSBmdW5jdGlvbiBjYWxsLgogCi1UaGUgdGVzdCB3cmFwcGVycyBhcmUgZ2VuZXJhdGVkIGJ5IGEgc2NyaXB0LCBhbHRob3VnaCB0aGV5IGFyZSBub3QgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgYnVpbGQgcHJvY2Vzcy4gSW5zdGVhZCwgdGhleSBhcmUgY2hlY2tlZCBpbnRvIHNvdXJjZSBjb250cm9sIGFuZCBtdXN0IGJlIG1hbnVhbGx5IHVwZGF0ZWQgd2hlbiBmdW5jdGlvbnMgY2hhbmdlIGJ5IHJ1bm5pbmcgYHRlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX3dyYXBwZXJzLnB5YC4KK1RoZSB0ZXN0IHdyYXBwZXJzIGFyZSBnZW5lcmF0ZWQgYnkgYSBzY3JpcHQsIGFsdGhvdWdoIHRoZXkgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhcyBwYXJ0IG9mIHRoZSBidWlsZCBwcm9jZXNzLiBJbnN0ZWFkLCB0aGV5IGFyZSBjaGVja2VkIGludG8gc291cmNlIGNvbnRyb2wgYW5kIG11c3QgYmUgbWFudWFsbHkgdXBkYXRlZCB3aGVuIGZ1bmN0aW9ucyBjaGFuZ2UgYnkgcnVubmluZyBgZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX3dyYXBwZXJzLnB5YC4KIAogUG9pc29uaW5nIGNvZGUgaXMgYWRkZWQgdG8gdGhlc2UgdGVzdCB3cmFwcGVycyB3aGVyZSByZWxldmFudCBpbiBvcmRlciB0byBwcmUtcG9pc29uIGFuZCBwb3N0LXVucG9pc29uIHRoZSBwYXJhbWV0ZXJzIHRvIHRoZSBmdW5jdGlvbnMuCiAKZGlmZiAtLWdpdCBhL2RvY3MvYXJjaGl0ZWN0dXJlL3Rlc3RpbmcvdGVzdC1mcmFtZXdvcmsubWQgYi9kb2NzL2FyY2hpdGVjdHVyZS90ZXN0aW5nL3Rlc3QtZnJhbWV3b3JrLm1kCmluZGV4IDgwNjY3ZGYuLmE5ZTNkYWMgMTAwNjQ0Ci0tLSBhL2RvY3MvYXJjaGl0ZWN0dXJlL3Rlc3RpbmcvdGVzdC1mcmFtZXdvcmsubWQKKysrIGIvZG9jcy9hcmNoaXRlY3R1cmUvdGVzdGluZy90ZXN0LWZyYW1ld29yay5tZApAQCAtMjIsNyArMjIsNyBAQAogKiBNYWtlIHRoZSBkZXNjcmlwdGlvbiBkZXNjcmlwdGl2ZS4g4oCcZm9vOiB4PTIsIHk9NOKAnSBpcyBtb3JlIGRlc2NyaXB0aXZlIHRoYW4g4oCcZm9vICMy4oCdLiDigJxmb286IDA8eDx5LCBib3RoIGV2ZW7igJ0gaXMgZXZlbiBiZXR0ZXIgaWYgdGhlc2UgaW5lcXVhbGl0aWVzIGFuZCBwYXJpdGllcyBhcmUgd2h5IHRoaXMgcGFydGljdWxhciB0ZXN0IGRhdGEgd2FzIGNob3Nlbi4KICogQXZvaWQgY2hhbmdpbmcgdGhlIGRlc2NyaXB0aW9uIG9mIGFuIGV4aXN0aW5nIHRlc3QgY2FzZSB3aXRob3V0IGEgZ29vZCByZWFzb24uIFRoaXMgYnJlYWtzIHRoZSB0cmFja2luZyBvZiBmYWlsdXJlcyBhY3Jvc3MgQ0kgcnVucywgc2luY2UgdGhpcyB0cmFja2luZyBpcyBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb25zLgogCi1gdGVzdHMvc2NyaXB0cy9jaGVja190ZXN0X2Nhc2VzLnB5YCBlbmZvcmNlcyBzb21lIHJ1bGVzIGFuZCB3YXJucyBpZiBzb21lIGd1aWRlbGluZXMgYXJlIHZpb2xhdGVkLgorYGZyYW1ld29yay9zY3JpcHRzL2NoZWNrX3Rlc3RfY2FzZXMucHlgIGVuZm9yY2VzIHNvbWUgcnVsZXMgYW5kIHdhcm5zIGlmIHNvbWUgZ3VpZGVsaW5lcyBhcmUgdmlvbGF0ZWQuCiAKICMjIFRMUyB0ZXN0cwogCmRpZmYgLS1naXQgYS9kb2NzL2RyaXZlci1vbmx5LWJ1aWxkcy5tZCBiL2RvY3MvZHJpdmVyLW9ubHktYnVpbGRzLm1kCmluZGV4IDQwOTVkOGUuLjZiZDkyNjIgMTAwNjQ0Ci0tLSBhL2RvY3MvZHJpdmVyLW9ubHktYnVpbGRzLm1kCisrKyBiL2RvY3MvZHJpdmVyLW9ubHktYnVpbGRzLm1kCkBAIC0yNzcsNiArMjc3LDExIEBACiBgW1BTQV9XQU5UfE1CRURUTFNfUFNBX0FDQ0VMXV9BTEdfRkZESGAgYWxsb3cgYnVpbGRzIGFjY2VsZXJhdGluZyBGRkRIIGFuZAogcmVtb3ZpbmcgYnVpbHRpbiBzdXBwb3J0IChpLmUuIGBNQkVEVExTX0RITV9DYCkuCiAKK05vdGUgdGhhdCB0aGUgUFNBIEFQSSBvbmx5IHN1cHBvcnRzIEZGREggd2l0aCBSRkMgNzkxOSBncm91cHMsIHdoZXJlYXMgdGhlCitNYmVkIFRMUyBsZWdhY3kgQVBJIHN1cHBvcnRzIGN1c3RvbSBncm91cHMuIEFzIGEgY29uc2VxdWVuY2UsIHRoZSBUTFMgbGF5ZXIKK29mIE1iZWQgVExTIG9ubHkgc3VwcG9ydHMgREhFIGNpcGhlciBzdWl0ZXMgaWYgYnVpbHQtaW4gRkZESAorKGBNQkVEVExTX0RITV9DYCkgaXMgcHJlc2VudCwgZXZlbiB3aGVuIGBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPYCBpcyBlbmFibGVkLgorCiBSU0EKIC0tLQogCkBAIC00MDMsOCArNDA4LDYgQEAKIAogIyMjIFBhcnRpYWwgYWNjZWxlcmF0aW9uIGZvciBDQ00vR0NNCiAKLVtUaGlzIHNlY3Rpb24gZGVwZW5kcyBvbiAjODU5OCBzbyBpdCBtaWdodCBiZSB1cGRhdGVkIHdoaWxlIHRoYXQgUFIgcHJvZ3Jlc3Nlcy5dCi0KIEluIGNhc2UgbGVnYWN5IENDTS9HQ00gYWxnb3JpdGhtcyBhcmUgZW5hYmxlZCwgaXQgaXMgc3RpbGwgcG9zc2libGUgdG8gYmVuZWZpdAogZnJvbSBQU0EgYWNjZWxlcmF0aW9uIG9mIHRoZSB1bmRlcmx5aW5nIGJsb2NrIGNpcGhlciBieSBlbmFibGluZyBzdXBwb3J0IGZvcgogRUNCIG1vZGUgKGBQU0FfV0FOVF9BTEdfRUNCX05PX1BBRERJTkdgICsgYE1CRURUTFNfUFNBX0FDQ0VMX0FMR19FQ0JfTk9fUEFERElOR2ApCmRpZmYgLS1naXQgYS9kb2NzL3BzYS10cmFuc2l0aW9uLm1kIGIvZG9jcy9wc2EtdHJhbnNpdGlvbi5tZAppbmRleCBiYmI3ZGEyLi45NTJjYjFjIDEwMDY0NAotLS0gYS9kb2NzL3BzYS10cmFuc2l0aW9uLm1kCisrKyBiL2RvY3MvcHNhLXRyYW5zaXRpb24ubWQKQEAgLTc3OSw3ICs3NzksNyBAQAogCiBUaGUgZWFzaWVzdCB3YXkgdG8gY3JlYXRlIGEga2V5IHBhaXIgb2JqZWN0IGlzIGJ5IHJhbmRvbWx5IGdlbmVyYXRpbmcgaXQgd2l0aCBbYHBzYV9nZW5lcmF0ZV9rZXlgXShodHRwczovL21iZWQtdGxzLnJlYWR0aGVkb2NzLmlvL3Byb2plY3RzL2FwaS9lbi9kZXZlbG9wbWVudC9hcGkvZ3JvdXAvZ3JvdXBfX3JhbmRvbS8jZ3JvdXBfX3JhbmRvbV8xZ2ExOTg1ZWFlNDE3ZGZiY2NlZGY1MGQ1ZmZmNTRlYThjNSkuIENvbXBhcmVkIHdpdGggdGhlIGxvdy1sZXZlbCBmdW5jdGlvbnMgZnJvbSB0aGUgbGVnYWN5IEFQSSAoYG1iZWR0bHNfcnNhX2dlbl9rZXlgLCBgbWJlZHRsc19lY3BfZ2VuX3ByaXZrZXlgLCBgbWJlZHRsc19lY3BfZ2VuX2tleXBhaXJgLCBgbWJlZHRsc19lY3BfZ2VuX2tleXBhaXJfYmFzZWAsIGBtYmVkdGxzX2VjZHNhX2dlbmtleWApLCB0aGlzIGRpcmVjdGx5IGNyZWF0ZXMgYW4gb2JqZWN0IHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBoaWdoLWxldmVsIEFQSXMsIGJ1dCByZW1vdmVzIHNvbWUgb2YgdGhlIGZsZXhpYmlsaXR5LiBOb3RlIHRoYXQgaWYgeW91IHdhbnQgdG8gZXhwb3J0IHRoZSBnZW5lcmF0ZWQgcHJpdmF0ZSBrZXksIHlvdSBtdXN0IHBhc3MgdGhlIGZsYWcgW2BQU0FfS0VZX1VTQUdFX0VYUE9SVGBdKGh0dHBzOi8vbWJlZC10bHMucmVhZHRoZWRvY3MuaW8vcHJvamVjdHMvYXBpL2VuL2RldmVsb3BtZW50L2FwaS9ncm91cC9ncm91cF9fcG9saWN5LyNncm91cF9fcG9saWN5XzFnYTdkZGRjY2RkMTMwMzE3NmU4N2E0ZDIwYzg3YjU4OWVkKSB0byBbYHBzYV9zZXRfa2V5X3VzYWdlX2ZsYWdzYF0oaHR0cHM6Ly9tYmVkLXRscy5yZWFkdGhlZG9jcy5pby9wcm9qZWN0cy9hcGkvZW4vZGV2ZWxvcG1lbnQvYXBpL2dyb3VwL2dyb3VwX19hdHRyaWJ1dGVzLyNncm91cF9fYXR0cmlidXRlc18xZ2E0MmE2NWIzYzQ1MjJjZTliNjdlYTVlYTc3MjBlMTdkZSk7IGV4cG9ydGluZyB0aGUgcHVibGljIGtleSB3aXRoIFtgcHNhX2V4cG9ydF9wdWJsaWNfa2V5YF0oaHR0cHM6Ly9tYmVkLXRscy5yZWFkdGhlZG9jcy5pby9wcm9qZWN0cy9hcGkvZW4vZGV2ZWxvcG1lbnQvYXBpL2dyb3VwL2dyb3VwX19pbXBvcnRfX2V4cG9ydC8jZ3JvdXBfX2ltcG9ydF9fZXhwb3J0XzFnYWYyMmFlNzMzMTIyMTdhYWVkZTJlYTAyY2RlYmI2MDYyKSBpcyBhbHdheXMgcGVybWl0dGVkLgogCi1Gb3IgUlNBIGtleXMsIGBwc2FfZ2VuZXJhdGVfa2V5YCB1c2VzIDY1NTM3IGFzIHRoZSBwdWJsaWMgZXhwb25lbnQuIFlvdSBjYW4gdXNlIFtgcHNhX2dlbmVyYXRlX2tleV9leHRgXShodHRwczovL21iZWQtdGxzLnJlYWR0aGVkb2NzLmlvL3Byb2plY3RzL2FwaS9lbi9kZXZlbG9wbWVudC9hcGkvZ3JvdXAvZ3JvdXBfX3JhbmRvbS8jZ3JvdXBfX3JhbmRvbV8xZ2E2Nzc2MzYwYWU4MDQ2YTQ0NTZhNWY5OTBmOTk3ZGE1OCkgdG8gc2VsZWN0IGEgZGlmZmVyZW50IHB1YmxpYyBleHBvbmVudC4gQXMgb2YgTWJlZCBUTFMgMy42LjAsIHNlbGVjdGluZyBhIGRpZmZlcmVudCBwdWJsaWMgZXhwb25lbnQgaXMgb25seSBzdXBwb3J0ZWQgd2l0aCB0aGUgYnVpbHQtaW4gUlNBIGltcGxlbWVudGF0aW9uLCBub3Qgd2l0aCBQU0EgZHJpdmVycy4KK0ZvciBSU0Ega2V5cywgYHBzYV9nZW5lcmF0ZV9rZXlgIHVzZXMgNjU1MzcgYXMgdGhlIHB1YmxpYyBleHBvbmVudC4gWW91IGNhbiB1c2UgW2Bwc2FfZ2VuZXJhdGVfa2V5X2N1c3RvbWBdKGh0dHBzOi8vbWJlZC10bHMucmVhZHRoZWRvY3MuaW8vcHJvamVjdHMvYXBpL2VuL2RldmVsb3BtZW50L2FwaS9ncm91cC9ncm91cF9fcmFuZG9tLyNnYTA0MTU2MTc0NDNhZmU0MmE3MTIwMjdiYmI4YWQ4OWYwKSB0byBzZWxlY3QgYSBkaWZmZXJlbnQgcHVibGljIGV4cG9uZW50LiBBcyBvZiBNYmVkIFRMUyAzLjYuMSwgc2VsZWN0aW5nIGEgZGlmZmVyZW50IHB1YmxpYyBleHBvbmVudCBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIHRoZSBidWlsdC1pbiBSU0EgaW1wbGVtZW50YXRpb24sIG5vdCB3aXRoIFBTQSBkcml2ZXJzLgogCiBUbyBjcmVhdGUgYSBrZXkgb2JqZWN0IGZyb20gZXhpc3RpbmcgbWF0ZXJpYWwsIHVzZSBbYHBzYV9pbXBvcnRfa2V5YF0oaHR0cHM6Ly9tYmVkLXRscy5yZWFkdGhlZG9jcy5pby9wcm9qZWN0cy9hcGkvZW4vZGV2ZWxvcG1lbnQvYXBpL2dyb3VwL2dyb3VwX19pbXBvcnRfX2V4cG9ydC8jZ3JvdXBfX2ltcG9ydF9fZXhwb3J0XzFnYTAzMzZlYTc2YmYzMDU4N2FiMjA0YTgyOTY0NjIzMjdiKS4gVGhpcyBmdW5jdGlvbiBoYXMgdGhlIHNhbWUgYmFzaWMgZ29hbCBhcyB0aGUgUEsgcGFyc2UgZnVuY3Rpb25zIChgbWJlZHRsc19wa19wYXJzZV9rZXlgLCBgbWJlZHRsc19wa19wYXJzZV9wdWJsaWNfa2V5YCwgYG1iZWR0bHNfcGtfcGFyc2Vfc3VicHVia2V5YCksIGJ1dCBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlIGZvcm1hdCB0aGF0IGp1c3QgY29udGFpbnMgdGhlIG51bWJlcihzKSB0aGF0IG1ha2UgdXAgdGhlIGtleSwgd2l0aCB2ZXJ5IGxpdHRsZSBtZXRhZGF0YS4gVGhlIHRhYmxlIGJlbG93IHN1bW1hcml6ZXMgdGhlIFBTQSBpbXBvcnQvZXhwb3J0IGZvcm1hdCBmb3Iga2V5IHBhaXJzIGFuZCBwdWJsaWMga2V5czsgc2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIFtgcHNhX2V4cG9ydF9rZXlgXShodHRwczovL21iZWQtdGxzLnJlYWR0aGVkb2NzLmlvL3Byb2plY3RzL2FwaS9lbi9kZXZlbG9wbWVudC9hcGkvZ3JvdXAvZ3JvdXBfX2ltcG9ydF9fZXhwb3J0LyNncm91cF9faW1wb3J0X19leHBvcnRfMWdhNjY4ZTM1YmU4ZDI4NTJhZDNmZWVlZjc0YWM2Zjc1YmYpIGFuZCBbYHBzYV9leHBvcnRfcHVibGljX2tleWBdKGh0dHBzOi8vbWJlZC10bHMucmVhZHRoZWRvY3MuaW8vcHJvamVjdHMvYXBpL2VuL2RldmVsb3BtZW50L2FwaS9ncm91cC9ncm91cF9faW1wb3J0X19leHBvcnQvI2dyb3VwX19pbXBvcnRfX2V4cG9ydF8xZ2FmMjJhZTczMzEyMjE3YWFlZGUyZWEwMmNkZWJiNjA2MikgZm9yIG1vcmUgZGV0YWlscy4KIApAQCAtOTM5LDcgKzkzOSw3IEBACiAKIFRoZSBlcXVpdmFsZW50IG9mIGBtYmVkdGxzX3BrX3ZlcmlmeWAgb3IgYG1iZWR0bHNfcGtfdmVyaWZ5X2V4dGAgdG8gdmVyaWZ5IGFuIGFscmVhZHkgY2FsY3VsYXRlZCBoYXNoIGlzIFtgcHNhX3ZlcmlmeV9oYXNoYF0oaHR0cHM6Ly9tYmVkLXRscy5yZWFkdGhlZG9jcy5pby9wcm9qZWN0cy9hcGkvZW4vZGV2ZWxvcG1lbnQvYXBpL2dyb3VwL2dyb3VwX19hc3ltbWV0cmljLyNncm91cF9fYXN5bW1ldHJpY18xZ2FlMmZmYmYwMWU1MjY2MzkxYWZmMjJiMTAxYTQ5ZjVmNSkuCiBUaGUga2V5IG11c3QgYmUgYSBwdWJsaWMga2V5IChvciBhIGtleSBwYWlyKSBhbGxvd2luZyB0aGUgdXNhZ2UgYFBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0hgIChzZWUg4oCcW1B1YmxpYy1rZXkgY3J5cHRvZ3JhcGh5IHBvbGljaWVzXSgjcHVibGljLWtleS1jcnlwdG9ncmFwaHktcG9saWNpZXMp4oCdKS4KLVRoaXMgaXMgYWxzbyB0aGUgZXF1aXZhbGVudCBvZiB0aGUgdHlwZS1zcGVjaWZpYyBmdW5jdGlvbnMgYG1iZWR0bHNfcnNhX3BrY3MxX3ZlcmlmeWAsIGBtYmVkdGxzX3JzYV9yc2Fzc2FfcGtjczFfdjE1X3ZlcmlmeWAsIGBtYmVkdGxzX3JzYV9yc2Fzc2FfcHNzX3ZlcmlmeWAsIGBtYmVkdGxzX3JzYV9yc2Fzc2FfcHNzX3ZlcmlmeV9leHRgLCBgbWJlZHRsc19lY2RzYV92ZXJpZnlgIGFtZCBgbWJlZHRsc19lY2RzYV9yZWFkX3NpZ25hdHVyZWAuIE5vdGUgdGhhdCB0aGUgUFNBIEFQSSB1c2VzIHRoZSByYXcgZm9ybWF0IGZvciBFQ0RTQSBzaWduYXR1cmVzLCBub3QgdGhlIEFTTi4xIGZvcm1hdDsgc2VlIOKAnFtFQ0RTQSBzaWduYXR1cmVdKCNlY2RzYS1zaWduYXR1cmUp4oCdIGZvciBtb3JlIGRldGFpbHMuCitUaGlzIGlzIGFsc28gdGhlIGVxdWl2YWxlbnQgb2YgdGhlIHR5cGUtc3BlY2lmaWMgZnVuY3Rpb25zIGBtYmVkdGxzX3JzYV9wa2NzMV92ZXJpZnlgLCBgbWJlZHRsc19yc2FfcnNhc3NhX3BrY3MxX3YxNV92ZXJpZnlgLCBgbWJlZHRsc19yc2FfcnNhc3NhX3Bzc192ZXJpZnlgLCBgbWJlZHRsc19yc2FfcnNhc3NhX3Bzc192ZXJpZnlfZXh0YCwgYG1iZWR0bHNfZWNkc2FfdmVyaWZ5YCBhbmQgYG1iZWR0bHNfZWNkc2FfcmVhZF9zaWduYXR1cmVgLiBOb3RlIHRoYXQgdGhlIFBTQSBBUEkgdXNlcyB0aGUgcmF3IGZvcm1hdCBmb3IgRUNEU0Egc2lnbmF0dXJlcywgbm90IHRoZSBBU04uMSBmb3JtYXQ7IHNlZSDigJxbRUNEU0Egc2lnbmF0dXJlXSgjZWNkc2Etc2lnbmF0dXJlKeKAnSBmb3IgbW9yZSBkZXRhaWxzLgogCiBHZW5lcmFsbHksIGBwc2Ffc2lnbl9oYXNoYCBhbmQgYHBzYV92ZXJpZnlfaGFzaGAgcmVxdWlyZSB0aGUgaW5wdXQgdG8gaGF2ZSB0aGUgY29ycmVjdCBsZW5ndGggZm9yIHRoZSBoYXNoICh0aGlzIGhhcyBoaXN0b3JpY2FsbHkgbm90IGFsd2F5cyBiZWVuIGVuZm9yY2VkIGluIHRoZSBjb3JyZXNwb25kaW5nIGxlZ2FjeSBBUElzKS4KIApkaWZmIC0tZ2l0IGEvZG9jcy9yZXF1aXJlbWVudHMudHh0IGIvZG9jcy9yZXF1aXJlbWVudHMudHh0CmluZGV4IGExYmZkODIuLjIyODdiMmEgMTAwNjQ0Ci0tLSBhL2RvY3MvcmVxdWlyZW1lbnRzLnR4dAorKysgYi9kb2NzL3JlcXVpcmVtZW50cy50eHQKQEAgLTEsNjMgKzEsNjYgQEAKICMKLSMgVGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgcGlwLWNvbXBpbGUgd2l0aCBQeXRob24gMy45CisjIFRoaXMgZmlsZSBpcyBhdXRvZ2VuZXJhdGVkIGJ5IHBpcC1jb21waWxlIHdpdGggUHl0aG9uIDMuOAogIyBieSB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6CiAjCiAjICAgIHBpcC1jb21waWxlIHJlcXVpcmVtZW50cy5pbgogIwogYWxhYmFzdGVyPT0wLjcuMTMKICAgICAjIHZpYSBzcGhpbngKLWJhYmVsPT0yLjEyLjEKK2JhYmVsPT0yLjE1LjAKICAgICAjIHZpYSBzcGhpbngKIGJyZWF0aGU9PTQuMzUuMAogICAgICMgdmlhIC1yIHJlcXVpcmVtZW50cy5pbgotY2VydGlmaT09MjAyMi4xMi43CitjZXJ0aWZpPT0yMDI0LjcuNAogICAgICMgdmlhIHJlcXVlc3RzCi1jaGFyc2V0LW5vcm1hbGl6ZXI9PTMuMS4wCitjaGFyc2V0LW5vcm1hbGl6ZXI9PTMuMy4yCiAgICAgIyB2aWEgcmVxdWVzdHMKLWNsaWNrPT04LjEuMworY2xpY2s9PTguMS43CiAgICAgIyB2aWEgcmVhZHRoZWRvY3MtY2xpCi1kb2N1dGlscz09MC4xNy4xCitkb2N1dGlscz09MC4yMC4xCiAgICAgIyB2aWEKICAgICAjICAgYnJlYXRoZQogICAgICMgICBzcGhpbngKICAgICAjICAgc3BoaW54LXJ0ZC10aGVtZQotaWRuYT09My40CitpZG5hPT0zLjcKICAgICAjIHZpYSByZXF1ZXN0cwogaW1hZ2VzaXplPT0xLjQuMQogICAgICMgdmlhIHNwaGlueAotaW1wb3J0bGliLW1ldGFkYXRhPT02LjAuMAoraW1wb3J0bGliLW1ldGFkYXRhPT04LjAuMAogICAgICMgdmlhIHNwaGlueAotamluamEyPT0zLjEuMgoramluamEyPT0zLjEuNAogICAgICMgdmlhIHNwaGlueAotbWFya2Rvd24taXQtcHk9PTIuMi4wCittYXJrZG93bi1pdC1weT09My4wLjAKICAgICAjIHZpYSByaWNoCi1tYXJrdXBzYWZlPT0yLjEuMgorbWFya3Vwc2FmZT09Mi4xLjUKICAgICAjIHZpYSBqaW5qYTIKIG1kdXJsPT0wLjEuMgogICAgICMgdmlhIG1hcmtkb3duLWl0LXB5Ci1wYWNrYWdpbmc9PTIzLjAKK3BhY2thZ2luZz09MjQuMQogICAgICMgdmlhIHNwaGlueAotcHlnbWVudHM9PTIuMTQuMAorcHlnbWVudHM9PTIuMTguMAogICAgICMgdmlhCiAgICAgIyAgIHJpY2gKICAgICAjICAgc3BoaW54Ci1weXlhbWw9PTYuMAorcHl0ej09MjAyNC4xCisgICAgIyB2aWEgYmFiZWwKK3B5eWFtbD09Ni4wLjEKICAgICAjIHZpYSByZWFkdGhlZG9jcy1jbGkKIHJlYWR0aGVkb2NzLWNsaT09NAogICAgICMgdmlhIC1yIHJlcXVpcmVtZW50cy5pbgotcmVxdWVzdHM9PTIuMjguMgorcmVxdWVzdHM9PTIuMzIuMwogICAgICMgdmlhCiAgICAgIyAgIHJlYWR0aGVkb2NzLWNsaQogICAgICMgICBzcGhpbngKLXJpY2g9PTEzLjMuNQorcmljaD09MTMuNy4xCiAgICAgIyB2aWEgcmVhZHRoZWRvY3MtY2xpCiBzbm93YmFsbHN0ZW1tZXI9PTIuMi4wCiAgICAgIyB2aWEgc3BoaW54Ci1zcGhpbng9PTQuNS4wCitzcGhpbng9PTcuMS4yCiAgICAgIyB2aWEKICAgICAjICAgYnJlYXRoZQogICAgICMgICBzcGhpbngtcnRkLXRoZW1lCi1zcGhpbngtcnRkLXRoZW1lPT0xLjIuMAorICAgICMgICBzcGhpbnhjb250cmliLWpxdWVyeQorc3BoaW54LXJ0ZC10aGVtZT09Mi4wLjAKICAgICAjIHZpYSAtciByZXF1aXJlbWVudHMuaW4KIHNwaGlueGNvbnRyaWItYXBwbGVoZWxwPT0xLjAuNAogICAgICMgdmlhIHNwaGlueApAQCAtNjUsNyArNjgsNyBAQAogICAgICMgdmlhIHNwaGlueAogc3BoaW54Y29udHJpYi1odG1saGVscD09Mi4wLjEKICAgICAjIHZpYSBzcGhpbngKLXNwaGlueGNvbnRyaWItanF1ZXJ5PT0yLjAuMAorc3BoaW54Y29udHJpYi1qcXVlcnk9PTQuMQogICAgICMgdmlhIHNwaGlueC1ydGQtdGhlbWUKIHNwaGlueGNvbnRyaWItanNtYXRoPT0xLjAuMQogICAgICMgdmlhIHNwaGlueApAQCAtNzMsMTAgKzc2LDkgQEAKICAgICAjIHZpYSBzcGhpbngKIHNwaGlueGNvbnRyaWItc2VyaWFsaXppbmdodG1sPT0xLjEuNQogICAgICMgdmlhIHNwaGlueAotdXJsbGliMz09MS4yNi4xNQordHlwaW5nLWV4dGVuc2lvbnM9PTQuMTIuMgorICAgICMgdmlhIHJpY2gKK3VybGxpYjM9PTIuMi4yCiAgICAgIyB2aWEgcmVxdWVzdHMKLXppcHA9PTMuMTUuMAoremlwcD09My4xOS4yCiAgICAgIyB2aWEgaW1wb3J0bGliLW1ldGFkYXRhCi0KLSMgVGhlIGZvbGxvd2luZyBwYWNrYWdlcyBhcmUgY29uc2lkZXJlZCB0byBiZSB1bnNhZmUgaW4gYSByZXF1aXJlbWVudHMgZmlsZToKLSMgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvZG94eWdlbi9pbnB1dC9kb2NfbWFpbnBhZ2UuaCBiL2RveHlnZW4vaW5wdXQvZG9jX21haW5wYWdlLmgKaW5kZXggM2ViNWY3NS4uZDg3MjgxOCAxMDA2NDQKLS0tIGEvZG94eWdlbi9pbnB1dC9kb2NfbWFpbnBhZ2UuaAorKysgYi9kb3h5Z2VuL2lucHV0L2RvY19tYWlucGFnZS5oCkBAIC0xMCw3ICsxMCw3IEBACiAgKi8KIAogLyoqCi0gKiBAbWFpbnBhZ2UgTWJlZCBUTFMgdjMuNi4wIEFQSSBEb2N1bWVudGF0aW9uCisgKiBAbWFpbnBhZ2UgTWJlZCBUTFMgdjMuNi4yIEFQSSBEb2N1bWVudGF0aW9uCiAgKgogICogVGhpcyBkb2N1bWVudGF0aW9uIGRlc2NyaWJlcyB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIG9mIE1iZWQgVExTLiAgSXQgd2FzCiAgKiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHNwZWNpYWxseSBmb3JtYXR0ZWQgY29tbWVudCBibG9ja3MgaW4KZGlmZiAtLWdpdCBhL2RveHlnZW4vbWJlZHRscy5kb3h5ZmlsZSBiL2RveHlnZW4vbWJlZHRscy5kb3h5ZmlsZQppbmRleCBjNDUwNWFjLi4yODFmMDYyIDEwMDY0NAotLS0gYS9kb3h5Z2VuL21iZWR0bHMuZG94eWZpbGUKKysrIGIvZG94eWdlbi9tYmVkdGxzLmRveHlmaWxlCkBAIC0xLDQgKzEsNCBAQAotUFJPSkVDVF9OQU1FICAgICAgICAgICA9ICJNYmVkIFRMUyB2My42LjAiCitQUk9KRUNUX05BTUUgICAgICAgICAgID0gIk1iZWQgVExTIHYzLjYuMiIKIE9VVFBVVF9ESVJFQ1RPUlkgICAgICAgPSAuLi9hcGlkb2MvCiBGVUxMX1BBVEhfTkFNRVMgICAgICAgID0gTk8KIE9QVElNSVpFX09VVFBVVF9GT1JfQyAgPSBZRVMKZGlmZiAtLWdpdCBhL2ZyYW1ld29yayBiL2ZyYW1ld29yawppbmRleCA3NTA2MzRkLi5kNjg0NDZjIDE2MDAwMAotLS0gYS9mcmFtZXdvcmsKKysrIGIvZnJhbWV3b3JrCkBAIC0xICsxIEBACi1TdWJwcm9qZWN0IGNvbW1pdCA3NTA2MzRkM2E1MWViOWQ2MWI1OWZkNWQ4MDE1NDY5MjdjOTQ2NTg4CitTdWJwcm9qZWN0IGNvbW1pdCBkNjg0NDZjOWRhMDJlNTM2Mjc5YTdhYWE1YTNjOTg1MDc0MmJhMzBjCmRpZmYgLS1naXQgYS9pbmNsdWRlL21iZWR0bHMvYmlnbnVtLmggYi9pbmNsdWRlL21iZWR0bHMvYmlnbnVtLmgKaW5kZXggNzFkN2I5Ny4uODM2N2NkMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9tYmVkdGxzL2JpZ251bS5oCisrKyBiL2luY2x1ZGUvbWJlZHRscy9iaWdudW0uaApAQCAtODgwLDcgKzg4MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX21waV9zaW50IGIpOwogCiAvKioKLSAqIFxicmllZiAgICAgICAgICBQZXJmb3JtIGEgc2xpZGluZy13aW5kb3cgZXhwb25lbnRpYXRpb246IFggPSBBXkUgbW9kIE4KKyAqIFxicmllZiAgICAgICAgICBQZXJmb3JtIGEgbW9kdWxhciBleHBvbmVudGlhdGlvbjogWCA9IEFeRSBtb2QgTgogICoKICAqIFxwYXJhbSBYICAgICAgICBUaGUgZGVzdGluYXRpb24gTVBJLiBUaGlzIG11c3QgcG9pbnQgdG8gYW4gaW5pdGlhbGl6ZWQgTVBJLgogICogICAgICAgICAgICAgICAgIFRoaXMgbXVzdCBub3QgYWxpYXMgRSBvciBOLgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYmVkdGxzL2J1aWxkX2luZm8uaCBiL2luY2x1ZGUvbWJlZHRscy9idWlsZF9pbmZvLmgKaW5kZXggZWFiMTY3Zi4uZDkxZDI5NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9tYmVkdGxzL2J1aWxkX2luZm8uaAorKysgYi9pbmNsdWRlL21iZWR0bHMvYnVpbGRfaW5mby5oCkBAIC0yNiwxNiArMjYsMTYgQEAKICAqLwogI2RlZmluZSBNQkVEVExTX1ZFUlNJT05fTUFKT1IgIDMKICNkZWZpbmUgTUJFRFRMU19WRVJTSU9OX01JTk9SICA2Ci0jZGVmaW5lIE1CRURUTFNfVkVSU0lPTl9QQVRDSCAgMAorI2RlZmluZSBNQkVEVExTX1ZFUlNJT05fUEFUQ0ggIDIKIAogLyoqCiAgKiBUaGUgc2luZ2xlIHZlcnNpb24gbnVtYmVyIGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZToKICAqICAgIE1NTk5QUDAwCiAgKiAgICBNYWpvciB2ZXJzaW9uIHwgTWlub3IgdmVyc2lvbiB8IFBhdGNoIHZlcnNpb24KICAqLwotI2RlZmluZSBNQkVEVExTX1ZFUlNJT05fTlVNQkVSICAgICAgICAgMHgwMzA2MDAwMAotI2RlZmluZSBNQkVEVExTX1ZFUlNJT05fU1RSSU5HICAgICAgICAgIjMuNi4wIgotI2RlZmluZSBNQkVEVExTX1ZFUlNJT05fU1RSSU5HX0ZVTEwgICAgIk1iZWQgVExTIDMuNi4wIgorI2RlZmluZSBNQkVEVExTX1ZFUlNJT05fTlVNQkVSICAgICAgICAgMHgwMzA2MDIwMAorI2RlZmluZSBNQkVEVExTX1ZFUlNJT05fU1RSSU5HICAgICAgICAgIjMuNi4yIgorI2RlZmluZSBNQkVEVExTX1ZFUlNJT05fU1RSSU5HX0ZVTEwgICAgIk1iZWQgVExTIDMuNi4yIgogCiAvKiBNYWNyb3MgZm9yIGJ1aWxkLXRpbWUgcGxhdGZvcm0gZGV0ZWN0aW9uICovCiAKQEAgLTEwMSw2ICsxMDEsMTMgQEAKICNkZWZpbmUgaW5saW5lIF9faW5saW5lCiAjZW5kaWYKIAorI2lmIGRlZmluZWQoTUJFRFRMU19DT05GSUdfRklMRVNfUkVBRCkKKyNlcnJvciAiU29tZXRoaW5nIHdlbnQgd3Jvbmc6IE1CRURUTFNfQ09ORklHX0ZJTEVTX1JFQUQgZGVmaW5lZCBiZWZvcmUgcmVhZGluZyB0aGUgY29uZmlnIGZpbGVzISIKKyNlbmRpZgorI2lmIGRlZmluZWQoTUJFRFRMU19DT05GSUdfSVNfRklOQUxJWkVEKQorI2Vycm9yICJTb21ldGhpbmcgd2VudCB3cm9uZzogTUJFRFRMU19DT05GSUdfSVNfRklOQUxJWkVEIGRlZmluZWQgYmVmb3JlIHJlYWRpbmcgdGhlIGNvbmZpZyBmaWxlcyEiCisjZW5kaWYKKwogLyogWC41MDksIFRMUyBhbmQgbm9uLVBTQSBjcnlwdG8gY29uZmlndXJhdGlvbiAqLwogI2lmICFkZWZpbmVkKE1CRURUTFNfQ09ORklHX0ZJTEUpCiAjaW5jbHVkZSAibWJlZHRscy9tYmVkdGxzX2NvbmZpZy5oIgpAQCAtMTM1LDYgKzE0MiwxMiBAQAogI2VuZGlmCiAjZW5kaWYgLyogZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHKSAqLwogCisvKiBJbmRpY2F0ZSB0aGF0IGFsbCBjb25maWd1cmF0aW9uIGZpbGVzIGhhdmUgYmVlbiByZWFkLgorICogSXQgaXMgbm93IHRpbWUgdG8gYWRqdXN0IHRoZSBjb25maWd1cmF0aW9uIChmb2xsb3cgdGhyb3VnaCBvbiBkZXBlbmRlbmNpZXMsCisgKiBtYWtlIFBTQSBhbmQgbGVnYWN5IGNyeXB0byBjb25zaXN0ZW50LCBldGMuKS4KKyAqLworI2RlZmluZSBNQkVEVExTX0NPTkZJR19GSUxFU19SRUFECisKIC8qIEF1dG8tZW5hYmxlIE1CRURUTFNfQ1RSX0RSQkdfVVNFXzEyOF9CSVRfS0VZIGlmCiAgKiBNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSCBhbmQgTUJFRFRMU19DVFJfRFJCR19DIGRlZmluZWQKICAqIHRvIGVuc3VyZSBhIDEyOC1iaXQga2V5IHNpemUgaW4gQ1RSX0RSQkcuCkBAIC0xNjksOCArMTgyLDEzIEBACiAKICNpbmNsdWRlICJtYmVkdGxzL2NvbmZpZ19hZGp1c3Rfc3NsLmgiCiAKLS8qIE1ha2Ugc3VyZSBhbGwgY29uZmlndXJhdGlvbiBzeW1ib2xzIGFyZSBzZXQgYmVmb3JlIGluY2x1ZGluZyBjaGVja19jb25maWcuaCwKLSAqIGV2ZW4gdGhlIG9uZXMgdGhhdCBhcmUgY2FsY3VsYXRlZCBwcm9ncmFtbWF0aWNhbGx5LiAqLworLyogSW5kaWNhdGUgdGhhdCBhbGwgY29uZmlndXJhdGlvbiBzeW1ib2xzIGFyZSBzZXQsCisgKiBldmVuIHRoZSBvbmVzIHRoYXQgYXJlIGNhbGN1bGF0ZWQgcHJvZ3JhbW1hdGljYWxseS4KKyAqIEl0IGlzIG5vdyBzYWZlIHRvIHF1ZXJ5IHRoZSBjb25maWd1cmF0aW9uICh0byBjaGVjayBpdCwgdG8gc2l6ZSBidWZmZXJzLAorICogZXRjLikuCisgKi8KKyNkZWZpbmUgTUJFRFRMU19DT05GSUdfSVNfRklOQUxJWkVECisKICNpbmNsdWRlICJtYmVkdGxzL2NoZWNrX2NvbmZpZy5oIgogCiAjZW5kaWYgLyogTUJFRFRMU19CVUlMRF9JTkZPX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWJlZHRscy9jaGVja19jb25maWcuaCBiL2luY2x1ZGUvbWJlZHRscy9jaGVja19jb25maWcuaAppbmRleCBiM2MwMzhkLi5hZWM1MDUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvY2hlY2tfY29uZmlnLmgKKysrIGIvaW5jbHVkZS9tYmVkdGxzL2NoZWNrX2NvbmZpZy5oCkBAIC0yLDYgKzIsMTMgQEAKICAqIFxmaWxlIGNoZWNrX2NvbmZpZy5oCiAgKgogICogXGJyaWVmIENvbnNpc3RlbmN5IGNoZWNrcyBmb3IgY29uZmlndXJhdGlvbiBvcHRpb25zCisgKgorICogVGhpcyBpcyBhbiBpbnRlcm5hbCBoZWFkZXIuIERvIG5vdCBpbmNsdWRlIGl0IGRpcmVjdGx5LgorICoKKyAqIFRoaXMgaGVhZGVyIGlzIGluY2x1ZGVkIGF1dG9tYXRpY2FsbHkgYnkgYWxsIHB1YmxpYyBNYmVkIFRMUyBoZWFkZXJzCisgKiAodmlhIG1iZWR0bHMvYnVpbGRfaW5mby5oKS4gRG8gbm90IGluY2x1ZGUgaXQgZGlyZWN0bHkgaW4gYSBjb25maWd1cmF0aW9uCisgKiBmaWxlIHN1Y2ggYXMgbWJlZHRscy9tYmVkdGxzX2NvbmZpZy5oIG9yICNNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEUhCisgKiBJdCB3b3VsZCBydW4gYXQgdGhlIHdyb25nIHRpbWUgZHVlIHRvIG1pc3NpbmcgZGVyaXZlZCBzeW1ib2xzLgogICovCiAvKgogICogIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCkBAIC0xMiw2ICsxOSwxMyBAQAogI2RlZmluZSBNQkVEVExTX0NIRUNLX0NPTkZJR19ICiAKIC8qICpJTkRFTlQtT0ZGKiAqLworCisjaWYgIWRlZmluZWQoTUJFRFRMU19DT05GSUdfSVNfRklOQUxJWkVEKQorI3dhcm5pbmcgIkRvIG5vdCBpbmNsdWRlIG1iZWR0bHMvY2hlY2tfY29uZmlnLmggbWFudWFsbHkhICIgXAorICAgICAgICAgIlRoaXMgbWF5IGNhdXNlIHNwdXJpb3VzIGVycm9ycy4gIiBcCisgICAgICAgICAiSXQgaXMgaW5jbHVkZWQgYXV0b21hdGljYWxseSBhdCB0aGUgcmlnaHQgcG9pbnQgc2luY2UgTWJlZCBUTFMgMy4wLiIKKyNlbmRpZiAvKiAhTUJFRFRMU19DT05GSUdfSVNfRklOQUxJWkVEICovCisKIC8qCiAgKiBXZSBhc3N1bWUgQ0hBUl9CSVQgaXMgOCBpbiBtYW55IHBsYWNlcy4gSW4gcHJhY3RpY2UsIHRoaXMgaXMgdHJ1ZSBvbiBvdXIKICAqIHRhcmdldCBwbGF0Zm9ybXMsIHNvIG5vdCBhbiBpc3N1ZSwgYnV0IGxldCdzIGp1c3QgYmUgZXh0cmEgc3VyZS4KQEAgLTIzMyw2ICsyNDcsOSBAQAogI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfTUVNU0FOKSAmJiAgIWRlZmluZWQoTUJFRFRMU19IQVNfTUVNU0FOKQogI2Vycm9yICJNQkVEVExTX1RFU1RfQ09OU1RBTlRfRkxPV19NRU1TQU4gcmVxdWlyZXMgYnVpbGRpbmcgd2l0aCBNZW1vcnlTYW5pdGl6ZXIiCiAjZW5kaWYKKyNpZiBkZWZpbmVkKE1CRURUTFNfSEFTX01FTVNBTikgJiYgZGVmaW5lZChNQkVEVExTX0hBVkVfQVNNKQorI2Vycm9yICJNZW1vcnlTYW5pdGl6ZXIgZG9lcyBub3Qgc3VwcG9ydCBhc3NlbWJseSBpbXBsZW1lbnRhdGlvbiIKKyNlbmRpZgogI3VuZGVmIE1CRURUTFNfSEFTX01FTVNBTiAvLyB0ZW1wb3JhcnkgbWFjcm8gZGVmaW5lZCBhYm92ZQogCiAjaWYgZGVmaW5lZChNQkVEVExTX0NDTV9DKSAmJiBcCkBAIC03MjQsNiArNzQxLDExIEBACiAjZXJyb3IgIk1CRURUTFNfUFNBX0lOSkVDVF9FTlRST1BZIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggTUJFRFRMU19QU0FfQ1JZUFRPX0VYVEVSTkFMX1JORyIKICNlbmRpZgogCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykgJiYgICAgICAgICAgIFwKKyAgICBkZWZpbmVkKE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMpCisjZXJyb3IgIk1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDIGFuZCBNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RTIGNhbm5vdCBiZSBkZWZpbmVkIHNpbXVsdGFuZW91c2x5IgorI2VuZGlmCisKICNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0lUU19GSUxFX0MpICYmIFwKICAgICAhZGVmaW5lZChNQkVEVExTX0ZTX0lPKQogI2Vycm9yICJNQkVEVExTX1BTQV9JVFNfRklMRV9DIGRlZmluZWQsIGJ1dCBub3QgYWxsIHByZXJlcXVpc2l0ZXMiCmRpZmYgLS1naXQgYS9pbmNsdWRlL21iZWR0bHMvY29uZmlnX2FkanVzdF9sZWdhY3lfY3J5cHRvLmggYi9pbmNsdWRlL21iZWR0bHMvY29uZmlnX2FkanVzdF9sZWdhY3lfY3J5cHRvLmgKaW5kZXggOWIwNjA0MS4uM2JhOTg3ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19hZGp1c3RfbGVnYWN5X2NyeXB0by5oCisrKyBiL2luY2x1ZGUvbWJlZHRscy9jb25maWdfYWRqdXN0X2xlZ2FjeV9jcnlwdG8uaApAQCAtMiw3ICsyLDkgQEAKICAqIFxmaWxlIG1iZWR0bHMvY29uZmlnX2FkanVzdF9sZWdhY3lfY3J5cHRvLmgKICAqIFxicmllZiBBZGp1c3QgbGVnYWN5IGNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbgogICoKLSAqIEF1dG9tYXRpY2FsbHkgZW5hYmxlIGNlcnRhaW4gZGVwZW5kZW5jaWVzLiBHZW5lcmFsbHksIE1CRURMVFNfeHh4CisgKiBUaGlzIGlzIGFuIGludGVybmFsIGhlYWRlci4gRG8gbm90IGluY2x1ZGUgaXQgZGlyZWN0bHkuCisgKgorICogQXV0b21hdGljYWxseSBlbmFibGUgY2VydGFpbiBkZXBlbmRlbmNpZXMuIEdlbmVyYWxseSwgTUJFRFRMU194eHgKICAqIGNvbmZpZ3VyYXRpb25zIG5lZWQgdG8gYmUgZXhwbGljaXRseSBlbmFibGVkIGJ5IHRoZSB1c2VyOiBlbmFibGluZwogICogTUJFRFRMU194eHhfQSBidXQgbm90IE1CRURUTFNfeHh4X0Igd2hlbiBBIHJlcXVpcmVzIEIgcmVzdWx0cyBpbiBhCiAgKiBjb21waWxhdGlvbiBlcnJvci4gSG93ZXZlciwgd2UgZG8gYXV0b21hdGljYWxseSBlbmFibGUgY2VydGFpbiBvcHRpb25zCkBAIC0yMiw2ICsyNCwxNCBAQAogI2lmbmRlZiBNQkVEVExTX0NPTkZJR19BREpVU1RfTEVHQUNZX0NSWVBUT19ICiAjZGVmaW5lIE1CRURUTFNfQ09ORklHX0FESlVTVF9MRUdBQ1lfQ1JZUFRPX0gKIAorI2lmICFkZWZpbmVkKE1CRURUTFNfQ09ORklHX0ZJTEVTX1JFQUQpCisjZXJyb3IgIkRvIG5vdCBpbmNsdWRlIG1iZWR0bHMvY29uZmlnX2FkanVzdF8qLmggbWFudWFsbHkhIFRoaXMgY2FuIGxlYWQgdG8gcHJvYmxlbXMsICIgXAorICAgICJ1cCB0byBhbmQgaW5jbHVkaW5nIHJ1bnRpbWUgZXJyb3JzIHN1Y2ggYXMgYnVmZmVyIG92ZXJmbG93cy4gIiBcCisgICAgIklmIHlvdSdyZSB0cnlpbmcgdG8gZml4IGEgY29tcGxhaW50IGZyb20gY2hlY2tfY29uZmlnLmgsIGp1c3QgcmVtb3ZlICIgXAorICAgICJpdCBmcm9tIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlOiBzaW5jZSBNYmVkIFRMUyAzLjAsIGl0IGlzIGluY2x1ZGVkICIgXAorICAgICJhdXRvbWF0aWNhbGx5IGF0IHRoZSByaWdodCBwb2ludC4iCisjZW5kaWYgLyogKi8KKwogLyogSWRlYWxseSwgd2UnZCBzZXQgdGhvc2UgYXMgZGVmYXVsdHMgaW4gbWJlZHRsc19jb25maWcuaCwgYnV0CiAgKiBwdXR0aW5nIGFuICNpZmRlZiBfV0lOMzIgaW4gbWJlZHRsc19jb25maWcuaCB3b3VsZCBjb25mdXNlIGNvbmZpZy5weS4KICAqCkBAIC00OCw3ICs1OCw4IEBACiAgICAgZGVmaW5lZChNQkVEVExTX1BTQV9CVUlMVElOX0FMR19FQ0JfTk9fUEFERElORykgfHwgXAogICAgIGRlZmluZWQoTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfQ0JDX05PX1BBRERJTkcpIHx8IFwKICAgICBkZWZpbmVkKE1CRURUTFNfUFNBX0JVSUxUSU5fQUxHX0NCQ19QS0NTNykgfHwgXAotICAgIGRlZmluZWQoTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfQ0NNX1NUQVJfTk9fVEFHKSkKKyAgICBkZWZpbmVkKE1CRURUTFNfUFNBX0JVSUxUSU5fQUxHX0NDTV9TVEFSX05PX1RBRykgfHwgXAorICAgIGRlZmluZWQoTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfQ01BQykpCiAjZGVmaW5lIE1CRURUTFNfQ0lQSEVSX0MKICNlbmRpZgogCkBAIC0yOTMsNiArMzA0LDE0IEBACiAjZGVmaW5lIE1CRURUTFNfRUNQX0xJR0hUCiAjZW5kaWYKIAorLyogQmFja3dhcmQgY29tcGF0aWJpbGl0eTogYWZ0ZXIgIzg3NDAgdGhlIFJTQSBtb2R1bGUgb2ZmZXJzIGZ1bmN0aW9ucyB0byBwYXJzZQorICogYW5kIHdyaXRlIFJTQSBwcml2YXRlL3B1YmxpYyBrZXlzIHdpdGhvdXQgcmVseWluZyBvbiB0aGUgUEsgb25lLiBPZiBjb3Vyc2UKKyAqIHRoaXMgbmVlZHMgQVNOMSBzdXBwb3J0IHRvIGRvIHNvLCBzbyB3ZSBlbmFibGUgaXQgaGVyZS4gKi8KKyNpZiBkZWZpbmVkKE1CRURUTFNfUlNBX0MpCisjZGVmaW5lIE1CRURUTFNfQVNOMV9QQVJTRV9DCisjZGVmaW5lIE1CRURUTFNfQVNOMV9XUklURV9DCisjZW5kaWYKKwogLyogTUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VEIGlzIGludHJvZHVjZWQgaW4gTWJlZCBUTFMgdmVyc2lvbiAzLjUsIHdoaWxlCiAgKiBpbiBwcmV2aW91cyB2ZXJzaW9uIGNvbXByZXNzZWQgcG9pbnRzIHdlcmUgYXV0b21hdGljYWxseSBzdXBwb3J0ZWQgYXMgbG9uZwogICogYXMgUEtfUEFSU0VfQyBhbmQgRUNQX0Mgd2VyZSBlbmFibGVkLiBBcyBhIGNvbnNlcXVlbmNlLCBmb3IgYmFja3dhcmQKQEAgLTQwOSwxMiArNDI4LDEyIEBACiAKIC8qIHBzYV91dGlsIGZpbGUgZmVhdHVyZXMgc29tZSBFQ0RTQSBjb252ZXJzaW9uIGZ1bmN0aW9ucywgdG8gY29udmVydCBiZXR3ZWVuCiAgKiBsZWdhY3kncyBBU04uMSBERVIgZm9ybWF0IGFuZCBQU0EncyByYXcgb25lLiAqLwotI2lmIGRlZmluZWQoTUJFRFRMU19FQ0RTQV9DKSB8fCAoZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQykgJiYgXAorI2lmIChkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DTElFTlQpICYmIFwKICAgICAoZGVmaW5lZChQU0FfV0FOVF9BTEdfRUNEU0EpIHx8IGRlZmluZWQoUFNBX1dBTlRfQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EpKSkKICNkZWZpbmUgTUJFRFRMU19QU0FfVVRJTF9IQVZFX0VDRFNBCiAjZW5kaWYKIAotLyogU29tZSBpbnRlcm5hbCBoZWxwZXJzIHRvIGRldGVybWluZSB3aGljaCBrZXlzIGFyZSBhdmFpbGJsZS4gKi8KKy8qIFNvbWUgaW50ZXJuYWwgaGVscGVycyB0byBkZXRlcm1pbmUgd2hpY2gga2V5cyBhcmUgYXZhaWxhYmxlLiAqLwogI2lmICghZGVmaW5lZChNQkVEVExTX1VTRV9QU0FfQ1JZUFRPKSAmJiBkZWZpbmVkKE1CRURUTFNfQUVTX0MpKSB8fCBcCiAgICAgKGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykgJiYgZGVmaW5lZChQU0FfV0FOVF9LRVlfVFlQRV9BRVMpKQogI2RlZmluZSBNQkVEVExTX1NTTF9IQVZFX0FFUwpAQCAtNDI4LDcgKzQ0Nyw3IEBACiAjZGVmaW5lIE1CRURUTFNfU1NMX0hBVkVfQ0FNRUxMSUEKICNlbmRpZgogCi0vKiBTb21lIGludGVybmFsIGhlbHBlcnMgdG8gZGV0ZXJtaW5lIHdoaWNoIG9wZXJhdGlvbiBtb2RlcyBhcmUgYXZhaWxibGUuICovCisvKiBTb21lIGludGVybmFsIGhlbHBlcnMgdG8gZGV0ZXJtaW5lIHdoaWNoIG9wZXJhdGlvbiBtb2RlcyBhcmUgYXZhaWxhYmxlLiAqLwogI2lmICghZGVmaW5lZChNQkVEVExTX1VTRV9QU0FfQ1JZUFRPKSAmJiBkZWZpbmVkKE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDKSkgfHwgXAogICAgIChkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pICYmIGRlZmluZWQoUFNBX1dBTlRfQUxHX0NCQ19OT19QQURESU5HKSkKICNkZWZpbmUgTUJFRFRMU19TU0xfSEFWRV9DQkMKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWJlZHRscy9jb25maWdfYWRqdXN0X2xlZ2FjeV9mcm9tX3BzYS5oIGIvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19hZGp1c3RfbGVnYWN5X2Zyb21fcHNhLmgKaW5kZXggMDA5MWUyNC4uMDRiZGFlNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19hZGp1c3RfbGVnYWN5X2Zyb21fcHNhLmgKKysrIGIvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19hZGp1c3RfbGVnYWN5X2Zyb21fcHNhLmgKQEAgLTIsNiArMiw4IEBACiAgKiBcZmlsZSBtYmVkdGxzL2NvbmZpZ19hZGp1c3RfbGVnYWN5X2Zyb21fcHNhLmgKICAqIFxicmllZiBBZGp1c3QgUFNBIGNvbmZpZ3VyYXRpb246IGFjdGl2YXRlIGxlZ2FjeSBpbXBsZW1lbnRhdGlvbnMKICAqCisgKiBUaGlzIGlzIGFuIGludGVybmFsIGhlYWRlci4gRG8gbm90IGluY2x1ZGUgaXQgZGlyZWN0bHkuCisgKgogICogV2hlbiBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHIGlzIGVuYWJsZWQsIGFjdGl2YXRlIGxlZ2FjeSBpbXBsZW1lbnRhdGlvbnMKICAqIG9mIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyBhcyBuZWVkZWQgdG8gZnVsZmlsbCB0aGUgbmVlZHMgb2YgdGhlIFBTQQogICogY29uZmlndXJhdGlvbi4gR2VuZXJhbGx5IHNwZWFraW5nLCB3ZSBhY3RpdmF0ZSBhIGxlZ2FjeSBtZWNoYW5pc20gaWYKQEAgLTE2LDYgKzE4LDE0IEBACiAjaWZuZGVmIE1CRURUTFNfQ09ORklHX0FESlVTVF9MRUdBQ1lfRlJPTV9QU0FfSAogI2RlZmluZSBNQkVEVExTX0NPTkZJR19BREpVU1RfTEVHQUNZX0ZST01fUFNBX0gKIAorI2lmICFkZWZpbmVkKE1CRURUTFNfQ09ORklHX0ZJTEVTX1JFQUQpCisjZXJyb3IgIkRvIG5vdCBpbmNsdWRlIG1iZWR0bHMvY29uZmlnX2FkanVzdF8qLmggbWFudWFsbHkhIFRoaXMgY2FuIGxlYWQgdG8gcHJvYmxlbXMsICIgXAorICAgICJ1cCB0byBhbmQgaW5jbHVkaW5nIHJ1bnRpbWUgZXJyb3JzIHN1Y2ggYXMgYnVmZmVyIG92ZXJmbG93cy4gIiBcCisgICAgIklmIHlvdSdyZSB0cnlpbmcgdG8gZml4IGEgY29tcGxhaW50IGZyb20gY2hlY2tfY29uZmlnLmgsIGp1c3QgcmVtb3ZlICIgXAorICAgICJpdCBmcm9tIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlOiBzaW5jZSBNYmVkIFRMUyAzLjAsIGl0IGlzIGluY2x1ZGVkICIgXAorICAgICJhdXRvbWF0aWNhbGx5IGF0IHRoZSByaWdodCBwb2ludC4iCisjZW5kaWYgLyogKi8KKwogLyogRGVmaW5lIGFwcHJvcHJpYXRlIEFDQ0VMIG1hY3JvcyBmb3IgdGhlIHAyNTYtbSBkcml2ZXIuCiAgKiBJbiB0aGUgZnV0dXJlLCB0aG9zZSBzaG91bGQgYmUgZ2VuZXJhdGVkIGZyb20gdGhlIGRyaXZlcnMgSlNPTiBkZXNjcmlwdGlvbi4KICAqLwpAQCAtNDk4LDcgKzUwOCw2IEBACiAgKiBUaGUgUFNBIGltcGxlbWVudGF0aW9uIGhhcyBpdHMgb3duIGltcGxlbWVudGF0aW9uIG9mIEhLREYsIHNlcGFyYXRlIGZyb20KICAqIGhrZGYuYy4gTm8gbmVlZCB0byBlbmFibGUgTUJFRFRMU19IS0RGX0MgaGVyZS4KICAqLwotI2RlZmluZSBNQkVEVExTX1BTQV9CVUlMVElOX0FMR19ITUFDIDEKICNkZWZpbmUgTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfSEtERiAxCiAjZW5kaWYgLyogIU1CRURUTFNfUFNBX0FDQ0VMX0FMR19IS0RGICovCiAjZW5kaWYgLyogUFNBX1dBTlRfQUxHX0hLREYgKi8KQEAgLTUwOSw3ICs1MTgsNiBAQAogICogVGhlIFBTQSBpbXBsZW1lbnRhdGlvbiBoYXMgaXRzIG93biBpbXBsZW1lbnRhdGlvbiBvZiBIS0RGLCBzZXBhcmF0ZSBmcm9tCiAgKiBoa2RmLmMuIE5vIG5lZWQgdG8gZW5hYmxlIE1CRURUTFNfSEtERl9DIGhlcmUuCiAgKi8KLSNkZWZpbmUgTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfSE1BQyAxCiAjZGVmaW5lIE1CRURUTFNfUFNBX0JVSUxUSU5fQUxHX0hLREZfRVhUUkFDVCAxCiAjZW5kaWYgLyogIU1CRURUTFNfUFNBX0FDQ0VMX0FMR19IS0RGX0VYVFJBQ1QgKi8KICNlbmRpZiAvKiBQU0FfV0FOVF9BTEdfSEtERl9FWFRSQUNUICovCkBAIC01MjAsNyArNTI4LDYgQEAKICAqIFRoZSBQU0EgaW1wbGVtZW50YXRpb24gaGFzIGl0cyBvd24gaW1wbGVtZW50YXRpb24gb2YgSEtERiwgc2VwYXJhdGUgZnJvbQogICogaGtkZi5jLiBObyBuZWVkIHRvIGVuYWJsZSBNQkVEVExTX0hLREZfQyBoZXJlLgogICovCi0jZGVmaW5lIE1CRURUTFNfUFNBX0JVSUxUSU5fQUxHX0hNQUMgMQogI2RlZmluZSBNQkVEVExTX1BTQV9CVUlMVElOX0FMR19IS0RGX0VYUEFORCAxCiAjZW5kaWYgLyogIU1CRURUTFNfUFNBX0FDQ0VMX0FMR19IS0RGX0VYUEFORCAqLwogI2VuZGlmIC8qIFBTQV9XQU5UX0FMR19IS0RGX0VYUEFORCAqLwpAQCAtNjMwLDkgKzYzNyw2IEBACiAjaWYgIWRlZmluZWQoTUJFRFRMU19QU0FfQUNDRUxfQUxHX1BCS0RGMl9ITUFDKQogI2RlZmluZSBNQkVEVExTX1BTQV9CVUlMVElOX0FMR19QQktERjJfSE1BQyAxCiAjZGVmaW5lIFBTQV9IQVZFX1NPRlRfUEJLREYyX0hNQUMgMQotI2lmICFkZWZpbmVkKE1CRURUTFNfUFNBX0FDQ0VMX0FMR19ITUFDKQotI2RlZmluZSBNQkVEVExTX1BTQV9CVUlMVElOX0FMR19ITUFDIDEKLSNlbmRpZiAvKiAhTUJFRFRMU19QU0FfQUNDRUxfQUxHX0hNQUMgKi8KICNlbmRpZiAvKiAhTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfUEJLREYyX0hNQUMgKi8KICNlbmRpZiAvKiBQU0FfV0FOVF9BTEdfUEJLREYyX0hNQUMgKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19hZGp1c3RfcHNhX2Zyb21fbGVnYWN5LmggYi9pbmNsdWRlL21iZWR0bHMvY29uZmlnX2FkanVzdF9wc2FfZnJvbV9sZWdhY3kuaAppbmRleCAzNDU2NjE1Li4xNGNhMTQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvY29uZmlnX2FkanVzdF9wc2FfZnJvbV9sZWdhY3kuaAorKysgYi9pbmNsdWRlL21iZWR0bHMvY29uZmlnX2FkanVzdF9wc2FfZnJvbV9sZWdhY3kuaApAQCAtMiw2ICsyLDggQEAKICAqIFxmaWxlIG1iZWR0bHMvY29uZmlnX2FkanVzdF9wc2FfZnJvbV9sZWdhY3kuaAogICogXGJyaWVmIEFkanVzdCBQU0EgY29uZmlndXJhdGlvbjogY29uc3RydWN0IFBTQSBjb25maWd1cmF0aW9uIGZyb20gbGVnYWN5CiAgKgorICogVGhpcyBpcyBhbiBpbnRlcm5hbCBoZWFkZXIuIERvIG5vdCBpbmNsdWRlIGl0IGRpcmVjdGx5LgorICoKICAqIFdoZW4gTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyBpcyBkaXNhYmxlZCwgd2UgYXV0b21hdGljYWxseSBlbmFibGUKICAqIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyB0aHJvdWdoIHRoZSBQU0EgaW50ZXJmYWNlIHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcKICAqIGxlZ2FjeSBtZWNoYW5pc20gaXMgZW5hYmxlZC4gSW4gbWFueSBjYXNlcywgdGhpcyBqdXN0IGVuYWJsZXMgdGhlIFBTQQpAQCAtMTgsNiArMjAsMTQgQEAKICNpZm5kZWYgTUJFRFRMU19DT05GSUdfQURKVVNUX1BTQV9GUk9NX0xFR0FDWV9ICiAjZGVmaW5lIE1CRURUTFNfQ09ORklHX0FESlVTVF9QU0FfRlJPTV9MRUdBQ1lfSAogCisjaWYgIWRlZmluZWQoTUJFRFRMU19DT05GSUdfRklMRVNfUkVBRCkKKyNlcnJvciAiRG8gbm90IGluY2x1ZGUgbWJlZHRscy9jb25maWdfYWRqdXN0XyouaCBtYW51YWxseSEgVGhpcyBjYW4gbGVhZCB0byBwcm9ibGVtcywgIiBcCisgICAgInVwIHRvIGFuZCBpbmNsdWRpbmcgcnVudGltZSBlcnJvcnMgc3VjaCBhcyBidWZmZXIgb3ZlcmZsb3dzLiAiIFwKKyAgICAiSWYgeW91J3JlIHRyeWluZyB0byBmaXggYSBjb21wbGFpbnQgZnJvbSBjaGVja19jb25maWcuaCwganVzdCByZW1vdmUgIiBcCisgICAgIml0IGZyb20geW91ciBjb25maWd1cmF0aW9uIGZpbGU6IHNpbmNlIE1iZWQgVExTIDMuMCwgaXQgaXMgaW5jbHVkZWQgIiBcCisgICAgImF1dG9tYXRpY2FsbHkgYXQgdGhlIHJpZ2h0IHBvaW50LiIKKyNlbmRpZiAvKiAqLworCiAvKgogICogRW5zdXJlIFBTQV9XQU5UXyogZGVmaW5lcyBhcmUgc2V0dXAgcHJvcGVybHkgaWYgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRwogICogaXMgbm90IGRlZmluZWQKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWJlZHRscy9jb25maWdfYWRqdXN0X3BzYV9zdXBlcnNldF9sZWdhY3kuaCBiL2luY2x1ZGUvbWJlZHRscy9jb25maWdfYWRqdXN0X3BzYV9zdXBlcnNldF9sZWdhY3kuaAppbmRleCAzYTU1YzNmLi5lZjY1Y2NlIDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvY29uZmlnX2FkanVzdF9wc2Ffc3VwZXJzZXRfbGVnYWN5LmgKKysrIGIvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19hZGp1c3RfcHNhX3N1cGVyc2V0X2xlZ2FjeS5oCkBAIC0yLDYgKzIsOCBAQAogICogXGZpbGUgbWJlZHRscy9jb25maWdfYWRqdXN0X3BzYV9zdXBlcnNldF9sZWdhY3kuaAogICogXGJyaWVmIEFkanVzdCBQU0EgY29uZmlndXJhdGlvbjogYXV0b21hdGljIGVuYWJsZW1lbnQgZnJvbSBsZWdhY3kKICAqCisgKiBUaGlzIGlzIGFuIGludGVybmFsIGhlYWRlci4gRG8gbm90IGluY2x1ZGUgaXQgZGlyZWN0bHkuCisgKgogICogVG8gc2ltcGxpZnkgc29tZSBlZGdlIGNhc2VzLCB3ZSBhdXRvbWF0aWNhbGx5IGVuYWJsZSBjZXJ0YWluIGNyeXB0b2dyYXBoaWMKICAqIG1lY2hhbmlzbXMgaW4gdGhlIFBTQSBBUEkgaWYgdGhleSBhcmUgZW5hYmxlZCBpbiB0aGUgbGVnYWN5IEFQSS4gVGhlIGdlbmVyYWwKICAqIGlkZWEgaXMgdGhhdCBpZiBsZWdhY3kgbW9kdWxlIE0gdXNlcyBtZWNoYW5pc20gQSBpbnRlcm5hbGx5LCBhbmQgQSBoYXMKQEAgLTE3LDYgKzE5LDE0IEBACiAjaWZuZGVmIE1CRURUTFNfQ09ORklHX0FESlVTVF9QU0FfU1VQRVJTRVRfTEVHQUNZX0gKICNkZWZpbmUgTUJFRFRMU19DT05GSUdfQURKVVNUX1BTQV9TVVBFUlNFVF9MRUdBQ1lfSAogCisjaWYgIWRlZmluZWQoTUJFRFRMU19DT05GSUdfRklMRVNfUkVBRCkKKyNlcnJvciAiRG8gbm90IGluY2x1ZGUgbWJlZHRscy9jb25maWdfYWRqdXN0XyouaCBtYW51YWxseSEgVGhpcyBjYW4gbGVhZCB0byBwcm9ibGVtcywgIiBcCisgICAgInVwIHRvIGFuZCBpbmNsdWRpbmcgcnVudGltZSBlcnJvcnMgc3VjaCBhcyBidWZmZXIgb3ZlcmZsb3dzLiAiIFwKKyAgICAiSWYgeW91J3JlIHRyeWluZyB0byBmaXggYSBjb21wbGFpbnQgZnJvbSBjaGVja19jb25maWcuaCwganVzdCByZW1vdmUgIiBcCisgICAgIml0IGZyb20geW91ciBjb25maWd1cmF0aW9uIGZpbGU6IHNpbmNlIE1iZWQgVExTIDMuMCwgaXQgaXMgaW5jbHVkZWQgIiBcCisgICAgImF1dG9tYXRpY2FsbHkgYXQgdGhlIHJpZ2h0IHBvaW50LiIKKyNlbmRpZiAvKiAqLworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qIEhhc2hlcyB0aGF0IGFyZSBidWlsdCBpbiBhcmUgYWxzbyBlbmFibGVkIGluIFBTQS4KICAqIFRoaXMgc2ltcGxpZmllcyBkZXBlbmRlbmN5IGRlY2xhcmF0aW9ucyBlc3BlY2lhbGx5CmRpZmYgLS1naXQgYS9pbmNsdWRlL21iZWR0bHMvY29uZmlnX2FkanVzdF9zc2wuaCBiL2luY2x1ZGUvbWJlZHRscy9jb25maWdfYWRqdXN0X3NzbC5oCmluZGV4IDM5YzdiM2IuLjFmODJkOWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbWJlZHRscy9jb25maWdfYWRqdXN0X3NzbC5oCisrKyBiL2luY2x1ZGUvbWJlZHRscy9jb25maWdfYWRqdXN0X3NzbC5oCkBAIC0yLDcgKzIsOSBAQAogICogXGZpbGUgbWJlZHRscy9jb25maWdfYWRqdXN0X3NzbC5oCiAgKiBcYnJpZWYgQWRqdXN0IFRMUyBjb25maWd1cmF0aW9uCiAgKgotICogQXV0b21hdGljYWxseSBlbmFibGUgY2VydGFpbiBkZXBlbmRlbmNpZXMuIEdlbmVyYWxseSwgTUJFRExUU194eHgKKyAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgaGVhZGVyLiBEbyBub3QgaW5jbHVkZSBpdCBkaXJlY3RseS4KKyAqCisgKiBBdXRvbWF0aWNhbGx5IGVuYWJsZSBjZXJ0YWluIGRlcGVuZGVuY2llcy4gR2VuZXJhbGx5LCBNQkVEVExTX3h4eAogICogY29uZmlndXJhdGlvbnMgbmVlZCB0byBiZSBleHBsaWNpdGx5IGVuYWJsZWQgYnkgdGhlIHVzZXI6IGVuYWJsaW5nCiAgKiBNQkVEVExTX3h4eF9BIGJ1dCBub3QgTUJFRFRMU194eHhfQiB3aGVuIEEgcmVxdWlyZXMgQiByZXN1bHRzIGluIGEKICAqIGNvbXBpbGF0aW9uIGVycm9yLiBIb3dldmVyLCB3ZSBkbyBhdXRvbWF0aWNhbGx5IGVuYWJsZSBjZXJ0YWluIG9wdGlvbnMKQEAgLTIyLDYgKzI0LDE0IEBACiAjaWZuZGVmIE1CRURUTFNfQ09ORklHX0FESlVTVF9TU0xfSAogI2RlZmluZSBNQkVEVExTX0NPTkZJR19BREpVU1RfU1NMX0gKIAorI2lmICFkZWZpbmVkKE1CRURUTFNfQ09ORklHX0ZJTEVTX1JFQUQpCisjZXJyb3IgIkRvIG5vdCBpbmNsdWRlIG1iZWR0bHMvY29uZmlnX2FkanVzdF8qLmggbWFudWFsbHkhIFRoaXMgY2FuIGxlYWQgdG8gcHJvYmxlbXMsICIgXAorICAgICJ1cCB0byBhbmQgaW5jbHVkaW5nIHJ1bnRpbWUgZXJyb3JzIHN1Y2ggYXMgYnVmZmVyIG92ZXJmbG93cy4gIiBcCisgICAgIklmIHlvdSdyZSB0cnlpbmcgdG8gZml4IGEgY29tcGxhaW50IGZyb20gY2hlY2tfY29uZmlnLmgsIGp1c3QgcmVtb3ZlICIgXAorICAgICJpdCBmcm9tIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlOiBzaW5jZSBNYmVkIFRMUyAzLjAsIGl0IGlzIGluY2x1ZGVkICIgXAorICAgICJhdXRvbWF0aWNhbGx5IGF0IHRoZSByaWdodCBwb2ludC4iCisjZW5kaWYgLyogKi8KKwogLyogVGhlIGZvbGxvd2luZyBibG9ja3MgbWFrZSBpdCBlYXNpZXIgdG8gZGlzYWJsZSBhbGwgb2YgVExTLAogICogb3Igb2YgVExTIDEuMiBvciAxLjMgb3IgRFRMUywgd2l0aG91dCBoYXZpbmcgdG8gbWFudWFsbHkgZGlzYWJsZSBhbGwKICAqIGtleSBleGNoYW5nZXMsIG9wdGlvbnMgYW5kIGV4dGVuc2lvbnMgcmVsYXRlZCB0byB0aGVtLiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19hZGp1c3RfeDUwOS5oIGIvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19hZGp1c3RfeDUwOS5oCmluZGV4IDM0NmM4YWUuLmNmYjJkODggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbWJlZHRscy9jb25maWdfYWRqdXN0X3g1MDkuaAorKysgYi9pbmNsdWRlL21iZWR0bHMvY29uZmlnX2FkanVzdF94NTA5LmgKQEAgLTIsNyArMiw5IEBACiAgKiBcZmlsZSBtYmVkdGxzL2NvbmZpZ19hZGp1c3RfeDUwOS5oCiAgKiBcYnJpZWYgQWRqdXN0IFguNTA5IGNvbmZpZ3VyYXRpb24KICAqCi0gKiBBdXRvbWF0aWNhbGx5IGVuYWJsZSBjZXJ0YWluIGRlcGVuZGVuY2llcy4gR2VuZXJhbGx5LCBNQkVETFRTX3h4eAorICogVGhpcyBpcyBhbiBpbnRlcm5hbCBoZWFkZXIuIERvIG5vdCBpbmNsdWRlIGl0IGRpcmVjdGx5LgorICoKKyAqIEF1dG9tYXRpY2FsbHkgZW5hYmxlIGNlcnRhaW4gZGVwZW5kZW5jaWVzLiBHZW5lcmFsbHksIE1CRURUTFNfeHh4CiAgKiBjb25maWd1cmF0aW9ucyBuZWVkIHRvIGJlIGV4cGxpY2l0bHkgZW5hYmxlZCBieSB0aGUgdXNlcjogZW5hYmxpbmcKICAqIE1CRURUTFNfeHh4X0EgYnV0IG5vdCBNQkVEVExTX3h4eF9CIHdoZW4gQSByZXF1aXJlcyBCIHJlc3VsdHMgaW4gYQogICogY29tcGlsYXRpb24gZXJyb3IuIEhvd2V2ZXIsIHdlIGRvIGF1dG9tYXRpY2FsbHkgZW5hYmxlIGNlcnRhaW4gb3B0aW9ucwpAQCAtMjIsNCArMjQsMTIgQEAKICNpZm5kZWYgTUJFRFRMU19DT05GSUdfQURKVVNUX1g1MDlfSAogI2RlZmluZSBNQkVEVExTX0NPTkZJR19BREpVU1RfWDUwOV9ICiAKKyNpZiAhZGVmaW5lZChNQkVEVExTX0NPTkZJR19GSUxFU19SRUFEKQorI2Vycm9yICJEbyBub3QgaW5jbHVkZSBtYmVkdGxzL2NvbmZpZ19hZGp1c3RfKi5oIG1hbnVhbGx5ISBUaGlzIGNhbiBsZWFkIHRvIHByb2JsZW1zLCAiIFwKKyAgICAidXAgdG8gYW5kIGluY2x1ZGluZyBydW50aW1lIGVycm9ycyBzdWNoIGFzIGJ1ZmZlciBvdmVyZmxvd3MuICIgXAorICAgICJJZiB5b3UncmUgdHJ5aW5nIHRvIGZpeCBhIGNvbXBsYWludCBmcm9tIGNoZWNrX2NvbmZpZy5oLCBqdXN0IHJlbW92ZSAiIFwKKyAgICAiaXQgZnJvbSB5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZTogc2luY2UgTWJlZCBUTFMgMy4wLCBpdCBpcyBpbmNsdWRlZCAiIFwKKyAgICAiYXV0b21hdGljYWxseSBhdCB0aGUgcmlnaHQgcG9pbnQuIgorI2VuZGlmIC8qICovCisKICNlbmRpZiAvKiBNQkVEVExTX0NPTkZJR19BREpVU1RfWDUwOV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL21iZWR0bHMvY29uZmlnX3BzYS5oIGIvaW5jbHVkZS9tYmVkdGxzL2NvbmZpZ19wc2EuaAppbmRleCAxN2RhNjFiLi41ZjNkMGYzIDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvY29uZmlnX3BzYS5oCisrKyBiL2luY2x1ZGUvbWJlZHRscy9jb25maWdfcHNhLmgKQEAgLTIyLDYgKzIyLDggQEAKIAogI2luY2x1ZGUgInBzYS9jcnlwdG9fYWRqdXN0X2NvbmZpZ19zeW5vbnltcy5oIgogCisjaW5jbHVkZSAicHNhL2NyeXB0b19hZGp1c3RfY29uZmlnX2RlcGVuZGVuY2llcy5oIgorCiAjaW5jbHVkZSAibWJlZHRscy9jb25maWdfYWRqdXN0X3BzYV9zdXBlcnNldF9sZWdhY3kuaCIKIAogI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRykKQEAgLTMyLDcgKzM0LDExIEBACiAgKiBiZWZvcmUgd2UgZGVkdWNlIHdoYXQgYnVpbHQtaW5zIGFyZSByZXF1aXJlZC4gKi8KICNpbmNsdWRlICJwc2EvY3J5cHRvX2FkanVzdF9jb25maWdfa2V5X3BhaXJfdHlwZXMuaCIKIAorI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0MpCisvKiBJZiB3ZSBhcmUgaW1wbGVtZW50aW5nIFBTQSBjcnlwdG8gb3Vyc2VsdmVzLCB0aGVuIHdlIHdhbnQgdG8gZW5hYmxlIHRoZQorICogcmVxdWlyZWQgYnVpbHQtaW5zLiBPdGhlcndpc2UsIFBTQSBmZWF0dXJlcyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIuICovCiAjaW5jbHVkZSAibWJlZHRscy9jb25maWdfYWRqdXN0X2xlZ2FjeV9mcm9tX3BzYS5oIgorI2VuZGlmCiAKICNlbHNlIC8qIE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYmVkdGxzL2N0cl9kcmJnLmggYi9pbmNsdWRlL21iZWR0bHMvY3RyX2RyYmcuaAppbmRleCBjMDA3NTZkLi4wYjdjY2UxIDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvY3RyX2RyYmcuaAorKysgYi9pbmNsdWRlL21iZWR0bHMvY3RyX2RyYmcuaApAQCAtMzIsMTIgKzMyLDI3IEBACiAKICNpbmNsdWRlICJtYmVkdGxzL2J1aWxkX2luZm8uaCIKIAotLyogSW4gY2FzZSBBRVNfQyBpcyBkZWZpbmVkIHRoZW4gaXQgaXMgdGhlIHByaW1hcnkgb3B0aW9uIGZvciBiYWNrd2FyZAotICogY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy4gSWYgdGhhdCdzIG5vdCBhdmFpbGFibGUsIFBTQSBpcyB1c2VkIGluc3RlYWQgKi8KLSNpZiBkZWZpbmVkKE1CRURUTFNfQUVTX0MpCi0jaW5jbHVkZSAibWJlZHRscy9hZXMuaCIKLSNlbHNlCisvKiBUaGUgQ1RSX0RSQkcgaW1wbGVtZW50YXRpb24gY2FuIGVpdGhlciBkaXJlY3RseSBjYWxsIHRoZSBsb3ctbGV2ZWwgQUVTCisgKiBtb2R1bGUgKGdhdGVkIGJ5IE1CRURUTFNfQUVTX0MpIG9yIGNhbGwgdGhlIFBTQSBBUEkgdG8gcGVyZm9ybSBBRVMKKyAqIG9wZXJhdGlvbnMuIENhbGxpbmcgdGhlIEFFUyBtb2R1bGUgZGlyZWN0bHkgaXMgdGhlIGRlZmF1bHQsIGJvdGggZm9yCisgKiBtYXhpbXVtIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYW5kIGJlY2F1c2UgaXQncyBhIGJpdCBtb3JlIGVmZmljaWVudAorICogKGxlc3MgZ2x1ZSBjb2RlKS4KKyAqCisgKiBXaGVuIE1CRURUTFNfQUVTX0MgaXMgZGlzYWJsZWQsIHRoZSBDVFJfRFJCRyBtb2R1bGUgY2FsbHMgUFNBIGNyeXB0byBhbmQKKyAqIHRodXMgYmVuZWZpdHMgZnJvbSB0aGUgUFNBIEFFUyBhY2NlbGVyYXRvciBkcml2ZXIuCisgKiBJdCBpcyB0ZWNobmljYWxseSBwb3NzaWJsZSB0byBlbmFibGUgTUJFRFRMU19DVFJfRFJCR19VU0VfUFNBX0NSWVBUTworICogdG8gdXNlIFBTQSBldmVuIHdoZW4gTUJFRFRMU19BRVNfQyBpcyBlbmFibGVkLCBidXQgdGhlcmUgaXMgdmVyeSBsaXR0bGUKKyAqIHJlYXNvbiB0byBkbyBzbyBvdGhlciB0aGFuIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoaXMgaXMgbm90IG9mZmljaWFsbHkKKyAqIHN1cHBvcnRlZC4KKyAqLworI2lmICFkZWZpbmVkKE1CRURUTFNfQUVTX0MpCisjZGVmaW5lIE1CRURUTFNfQ1RSX0RSQkdfVVNFX1BTQV9DUllQVE8KKyNlbmRpZgorCisjaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX1VTRV9QU0FfQ1JZUFRPKQogI2luY2x1ZGUgInBzYS9jcnlwdG8uaCIKKyNlbHNlCisjaW5jbHVkZSAibWJlZHRscy9hZXMuaCIKICNlbmRpZgogCiAjaW5jbHVkZSAiZW50cm9weS5oIgpAQCAtMTU3LDcgKzE3Miw3IEBACiAjZGVmaW5lIE1CRURUTFNfQ1RSX0RSQkdfRU5UUk9QWV9OT05DRV9MRU4gKE1CRURUTFNfQ1RSX0RSQkdfRU5UUk9QWV9MRU4gKyAxKSAvIDIKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoTUJFRFRMU19BRVNfQykKKyNpZiBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfVVNFX1BTQV9DUllQVE8pCiB0eXBlZGVmIHN0cnVjdCBtYmVkdGxzX2N0cl9kcmJnX3BzYV9jb250ZXh0IHsKICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCBrZXlfaWQ7CiAgICAgcHNhX2NpcGhlcl9vcGVyYXRpb25fdCBvcGVyYXRpb247CkBAIC0xODksMTAgKzIwNCwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIFRoaXMgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJlcXVlc3RzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdGhhdCBjYW4gYmUgbWFkZSBiZXR3ZWVuIHJlc2VlZGluZ3MuICovCiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfQUVTX0MpCi0gICAgbWJlZHRsc19hZXNfY29udGV4dCBNQkVEVExTX1BSSVZBVEUoYWVzX2N0eCk7ICAgICAgICAvKiE8IFRoZSBBRVMgY29udGV4dC4gKi8KLSNlbHNlCisjaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX1VTRV9QU0FfQ1JZUFRPKQogICAgIG1iZWR0bHNfY3RyX2RyYmdfcHNhX2NvbnRleHQgTUJFRFRMU19QUklWQVRFKHBzYV9jdHgpOyAvKiE8IFRoZSBQU0EgY29udGV4dC4gKi8KKyNlbHNlCisgICAgbWJlZHRsc19hZXNfY29udGV4dCBNQkVEVExTX1BSSVZBVEUoYWVzX2N0eCk7ICAgICAgICAvKiE8IFRoZSBBRVMgY29udGV4dC4gKi8KICNlbmRpZgogCiAgICAgLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWJlZHRscy9lY2RoLmggYi9pbmNsdWRlL21iZWR0bHMvZWNkaC5oCmluZGV4IGEwOTA5ZDYuLmE2YTUwNjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbWJlZHRscy9lY2RoLmgKKysrIGIvaW5jbHVkZS9tYmVkdGxzL2VjZGguaApAQCAtMzI1LDcgKzMyNSw3IEBACiAgKiBcYnJpZWYgICAgICAgICAgIFRoaXMgZnVuY3Rpb24gc2V0cyB1cCBhbiBFQ0RIIGNvbnRleHQgZnJvbSBhbiBFQyBrZXkuCiAgKgogICogICAgICAgICAgICAgICAgICBJdCBpcyB1c2VkIGJ5IGNsaWVudHMgYW5kIHNlcnZlcnMgaW4gcGxhY2Ugb2YgdGhlCi0gKiAgICAgICAgICAgICAgICAgIFNlcnZlcktleUVjaGFuZ2UgZm9yIHN0YXRpYyBFQ0RILCBhbmQgaW1wb3J0cyBFQ0RICisgKiAgICAgICAgICAgICAgICAgIFNlcnZlcktleUV4Y2hhbmdlIGZvciBzdGF0aWMgRUNESCwgYW5kIGltcG9ydHMgRUNESAogICogICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzIGZyb20gdGhlIEVDIGtleSBpbmZvcm1hdGlvbiBvZiBhIGNlcnRpZmljYXRlLgogICoKICAqIFxzZWUgICAgICAgICAgICAgZWNwLmgKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWJlZHRscy9lY3AuaCBiL2luY2x1ZGUvbWJlZHRscy9lY3AuaAppbmRleCBkOGY3M2FlLi42MjM5MTBiIDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvZWNwLmgKKysrIGIvaW5jbHVkZS9tYmVkdGxzL2VjcC5oCkBAIC0yMTYsNyArMjE2LDcgQEAKICAqIHJhbmdlIG9mIDxjb2RlPjAuLjJeKDIqcGJpdHMpLTE8L2NvZGU+LCBhbmQgdHJhbnNmb3JtcyBpdCBpbi1wbGFjZSB0byBhbiBpbnRlZ2VyCiAgKiB3aGljaCBpcyBjb25ncnVlbnQgbW9kIFxwIFAgdG8gdGhlIGdpdmVuIE1QSSwgYW5kIGlzIGNsb3NlIGVub3VnaCB0byBccCBwYml0cwogICogaW4gc2l6ZSwgc28gdGhhdCBpdCBtYXkgYmUgZWZmaWNpZW50bHkgYnJvdWdodCBpbiB0aGUgMC4uUC0xIHJhbmdlIGJ5IGEgZmV3Ci0gKiBhZGRpdGlvbnMgb3Igc3VidHJhY3Rpb25zLiBUaGVyZWZvcmUsIGl0IGlzIG9ubHkgYW4gYXBwcm94aW1hdGl2ZSBtb2R1bGFyCisgKiBhZGRpdGlvbnMgb3Igc3VidHJhY3Rpb25zLiBUaGVyZWZvcmUsIGl0IGlzIG9ubHkgYW4gYXBwcm94aW1hdGUgbW9kdWxhcgogICogcmVkdWN0aW9uLiBJdCBtdXN0IHJldHVybiAwIG9uIHN1Y2Nlc3MgYW5kIG5vbi16ZXJvIG9uIGZhaWx1cmUuCiAgKgogICogXG5vdGUgICAgICAgIEFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgRUNQIG1vZHVsZSBtdXN0IG9iZXkgdGhlCmRpZmYgLS1naXQgYS9pbmNsdWRlL21iZWR0bHMvZW50cm9weS5oIGIvaW5jbHVkZS9tYmVkdGxzL2VudHJvcHkuaAppbmRleCAyMGZkNjg3Li42YzY0ZTNlIDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvZW50cm9weS5oCisrKyBiL2luY2x1ZGUvbWJlZHRscy9lbnRyb3B5LmgKQEAgLTE3LDEyICsxNywxMyBAQAogCiAjaW5jbHVkZSAibWQuaCIKIAotI2lmIGRlZmluZWQoTUJFRFRMU19NRF9DQU5fU0hBNTEyKSAmJiAhZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfRk9SQ0VfU0hBMjU2KQorI2lmIChkZWZpbmVkKE1CRURUTFNfTURfQ0FOX1NIQTUxMikgfHwgZGVmaW5lZChQU0FfV0FOVF9BTEdfU0hBXzUxMikpICYmIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfRk9SQ0VfU0hBMjU2KQogI2RlZmluZSBNQkVEVExTX0VOVFJPUFlfU0hBNTEyX0FDQ1VNVUxBVE9SCiAjZGVmaW5lIE1CRURUTFNfRU5UUk9QWV9NRCAgTUJFRFRMU19NRF9TSEE1MTIKICNkZWZpbmUgTUJFRFRMU19FTlRST1BZX0JMT0NLX1NJWkUgICAgICA2NCAgICAgIC8qKjwgQmxvY2sgc2l6ZSBvZiBlbnRyb3B5IGFjY3VtdWxhdG9yIChTSEEtNTEyKSAqLwogI2Vsc2UKLSNpZiBkZWZpbmVkKE1CRURUTFNfTURfQ0FOX1NIQTI1NikKKyNpZiAoZGVmaW5lZChNQkVEVExTX01EX0NBTl9TSEEyNTYpIHx8IGRlZmluZWQoUFNBX1dBTlRfQUxHX1NIQV8yNTYpKQogI2RlZmluZSBNQkVEVExTX0VOVFJPUFlfU0hBMjU2X0FDQ1VNVUxBVE9SCiAjZGVmaW5lIE1CRURUTFNfRU5UUk9QWV9NRCAgTUJFRFRMU19NRF9TSEEyNTYKICNkZWZpbmUgTUJFRFRMU19FTlRST1BZX0JMT0NLX1NJWkUgICAgICAzMiAgICAgIC8qKjwgQmxvY2sgc2l6ZSBvZiBlbnRyb3B5IGFjY3VtdWxhdG9yIChTSEEtMjU2KSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYmVkdGxzL21iZWR0bHNfY29uZmlnLmggYi9pbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaAppbmRleCAzNTkyMTQxLi5lYmM5Mjc2IDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaAorKysgYi9pbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaApAQCAtMTExOCw3ICsxMTE4LDcgQEAKICAqICAgICAgICAgICBNQkVEVExTX0VDUF9EUF9TRUNQMjU2UjFfRU5BQkxFRAogICoKICAqIFx3YXJuaW5nIElmIFNIQS0yNTYgaXMgcHJvdmlkZWQgb25seSBieSBhIFBTQSBkcml2ZXIsIHlvdSBtdXN0IGNhbGwKLSAqIHBzYV9jcnlwdG9faW5pdCgpIGJlZm9yZSB0aGUgZmlyc3QgaGFuc2hha2UgKGV2ZW4gaWYKKyAqIHBzYV9jcnlwdG9faW5pdCgpIGJlZm9yZSB0aGUgZmlyc3QgaGFuZHNoYWtlIChldmVuIGlmCiAgKiBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGlzIGRpc2FibGVkKS4KICAqCiAgKiBUaGlzIGVuYWJsZXMgdGhlIGZvbGxvd2luZyBjaXBoZXJzdWl0ZXMgKGlmIG90aGVyIHJlcXVpc2l0ZXMgYXJlCkBAIC0xNDE1LDYgKzE0MTUsMjMgQEAKIC8vI2RlZmluZSBNQkVEVExTX1BTQV9DUllQVE9fU1BNCiAKIC8qKgorICogXGRlZiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQworICoKKyAqIER5bmFtaWNhbGx5IHJlc2l6ZSB0aGUgUFNBIGtleSBzdG9yZSB0byBhY2NvbW1vZGF0ZSBhbnkgbnVtYmVyIG9mCisgKiB2b2xhdGlsZSBrZXlzICh1bnRpbCB0aGUgaGVhcCBtZW1vcnkgaXMgZXhoYXVzdGVkKS4KKyAqCisgKiBJZiB0aGlzIG9wdGlvbiBpcyBkaXNhYmxlZCwgdGhlIGtleSBzdG9yZSBoYXMgYSBmaXhlZCBzaXplCisgKiAjTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlQgZm9yIHZvbGF0aWxlIGtleXMgYW5kIGxvYWRlZCBwZXJzaXN0ZW50IGtleXMKKyAqIHRvZ2V0aGVyLgorICoKKyAqIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgd2hlbiAjTUJFRFRMU19QU0FfQ1JZUFRPX0MgaXMgZGlzYWJsZWQuCisgKgorICogTW9kdWxlOiAgbGlicmFyeS9wc2FfY3J5cHRvLmMKKyAqIFJlcXVpcmVzOiBNQkVEVExTX1BTQV9DUllQVE9fQworICovCisjZGVmaW5lIE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDCisKKy8qKgogICogVW5jb21tZW50IHRvIGVuYWJsZSBwMjU2LW0uIFRoaXMgaXMgYW4gYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb24gb2YKICAqIGtleSBnZW5lcmF0aW9uLCBFQ0RIIGFuZCAocmFuZG9taXplZCkgRUNEU0Egb24gdGhlIGN1cnZlIFNFQ1AyNTZSMS4KICAqIENvbXBhcmVkIHRvIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uOgpAQCAtMTc4MSw4ICsxNzk4LDkgQEAKICAqIFJlcXVpcmVzOiBNQkVEVExTX1BTQV9DUllQVE9fQwogICoKICAqIFxub3RlIFRMUyAxLjMgdXNlcyBQU0EgY3J5cHRvIGZvciBjcnlwdG9ncmFwaGljIG9wZXJhdGlvbnMgdGhhdCBhcmUKLSAqICAgICAgIGRpcmVjdGx5IHBlcmZvcm1lZCBieSBUTFMgMS4zIGNvZGUuIEFzIGEgY29uc2VxdWVuY2UsIHlvdSBtdXN0Ci0gKiAgICAgICBjYWxsIHBzYV9jcnlwdG9faW5pdCgpIGJlZm9yZSB0aGUgZmlyc3QgVExTIDEuMyBoYW5kc2hha2UuCisgKiAgICAgICBkaXJlY3RseSBwZXJmb3JtZWQgYnkgVExTIDEuMyBjb2RlLiBBcyBhIGNvbnNlcXVlbmNlLCB3aGVuIFRMUyAxLjMKKyAqICAgICAgIGlzIGVuYWJsZWQsIGEgVExTIGhhbmRzaGFrZSBtYXkgY2FsbCBwc2FfY3J5cHRvX2luaXQoKSwgZXZlbgorICogICAgICAgaWYgaXQgZW5kcyB1cCBuZWdvdGlhdGluZyBhIGRpZmZlcmVudCBUTFMgdmVyc2lvbi4KICAqCiAgKiBcbm90ZSBDcnlwdG9ncmFwaGljIG9wZXJhdGlvbnMgcGVyZm9ybWVkIGluZGlyZWN0bHkgdmlhIGFub3RoZXIgbW9kdWxlCiAgKiAgICAgICAoWC41MDksIFBLKSBvciBieSBjb2RlIHNoYXJlZCB3aXRoIFRMUyAxLjIgKHJlY29yZCBwcm90ZWN0aW9uLApAQCAtMjYyNSw3ICsyNjQzLDcgQEAKICAqIFRoZSBDVFJfRFJCRyBnZW5lcmF0b3IgdXNlcyBBRVMtMjU2IGJ5IGRlZmF1bHQuCiAgKiBUbyB1c2UgQUVTLTEyOCBpbnN0ZWFkLCBlbmFibGUgXGMgTUJFRFRMU19DVFJfRFJCR19VU0VfMTI4X0JJVF9LRVkgYWJvdmUuCiAgKgotICogQUVTIHN1cHBvcnQgY2FuIGVpdGhlciBiZSBhY2hpdmVkIHRocm91Z2ggYnVpbHRpbiAoTUJFRFRMU19BRVNfQykgb3IgUFNBLgorICogQUVTIHN1cHBvcnQgY2FuIGVpdGhlciBiZSBhY2hpZXZlZCB0aHJvdWdoIGJ1aWx0aW4gKE1CRURUTFNfQUVTX0MpIG9yIFBTQS4KICAqIEJ1aWx0aW4gaXMgdGhlIGRlZmF1bHQgb3B0aW9uIHdoZW4gTUJFRFRMU19BRVNfQyBpcyBkZWZpbmVkIG90aGVyd2lzZSBQU0EKICAqIGlzIHVzZWQuCiAgKgpAQCAtMzI1MSw2ICszMjY5LDI2IEBACiAjZGVmaW5lIE1CRURUTFNfUFNBX0lUU19GSUxFX0MKIAogLyoqCisgKiBcZGVmIE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMKKyAqCisgKiBTdGF0aWNhbGx5IHByZWFsbG9jYXRlIG1lbW9yeSB0byBzdG9yZSBrZXlzJyBtYXRlcmlhbCBpbiBQU0EgaW5zdGVhZAorICogb2YgYWxsb2NhdGluZyBpdCBkeW5hbWljYWxseSB3aGVuIHJlcXVpcmVkLiBUaGlzIGFsbG93cyBidWlsZHMgd2l0aG91dCBhCisgKiBoZWFwLCBpZiBub25lIG9mIHRoZSBlbmFibGVkIGNyeXB0b2dyYXBoaWMgaW1wbGVtZW50YXRpb25zIG9yIG90aGVyIGZlYXR1cmVzCisgKiByZXF1aXJlIGl0LgorICogVGhpcyBmZWF0dXJlIGFmZmVjdHMgYm90aCB2b2xhdGlsZSBhbmQgcGVyc2lzdGVudCBrZXlzIHdoaWNoIG1lYW5zIHRoYXQKKyAqIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHBlcnNpc3RlbnRseSBzdG9yZSBhIGtleSB3aGljaCBpcyBsYXJnZXIgdGhhbgorICogI01CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVF9CVUZGRVJfU0laRS4KKyAqCisgKiBcbm90ZSBUaGlzIGZlYXR1cmUgY29tZXMgd2l0aCBhIChwb3RlbnRpYWxseSkgaGlnaGVyIFJBTSB1c2FnZSBzaW5jZToKKyAqICAgICAgIC0gQWxsIHRoZSBrZXkgc2xvdHMgYXJlIGFsbG9jYXRlZCBubyBtYXR0ZXIgaWYgdGhleSBhcmUgdXNlZCBvciBub3QuCisgKiAgICAgICAtIEVhY2gga2V5IGJ1ZmZlcidzIGxlbmd0aCBpcyAjTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFIGJ5dGVzLgorICoKKyAqIFJlcXVpcmVzOiBNQkVEVExTX1BTQV9DUllQVE9fQworICoKKyAqLworLy8jZGVmaW5lIE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMKKworLyoqCiAgKiBcZGVmIE1CRURUTFNfUklQRU1EMTYwX0MKICAqCiAgKiBFbmFibGUgdGhlIFJJUEVNRC0xNjAgaGFzaCBhbGdvcml0aG0uCkBAIC00MDE2LDI1ICs0MDU0LDU0IEBACiAgKiBVc2UgSE1BQ19EUkJHIHdpdGggdGhlIHNwZWNpZmllZCBoYXNoIGFsZ29yaXRobSBmb3IgSE1BQ19EUkJHIGZvciB0aGUKICAqIFBTQSBjcnlwdG8gc3Vic3lzdGVtLgogICoKLSAqIElmIHRoaXMgb3B0aW9uIGlzIHVuc2V0OgotICogLSBJZiBDVFJfRFJCRyBpcyBhdmFpbGFibGUsIHRoZSBQU0Egc3Vic3lzdGVtIHVzZXMgaXQgcmF0aGVyIHRoYW4gSE1BQ19EUkJHLgotICogLSBPdGhlcndpc2UsIHRoZSBQU0Egc3Vic3lzdGVtIHVzZXMgSE1BQ19EUkJHIHdpdGggZWl0aGVyCi0gKiAgICNNQkVEVExTX01EX1NIQTUxMiBvciAjTUJFRFRMU19NRF9TSEEyNTYgYmFzZWQgb24gYXZhaWxhYmlsaXR5IGFuZAotICogICBvbiB1bnNwZWNpZmllZCBoZXVyaXN0aWNzLgorICogSWYgdGhpcyBvcHRpb24gaXMgdW5zZXQsIHRoZSBsaWJyYXJ5IGNob29zZXMgYSBoYXNoIChjdXJyZW50bHkgYmV0d2VlbgorICogI01CRURUTFNfTURfU0hBNTEyIGFuZCAjTUJFRFRMU19NRF9TSEEyNTYpIGJhc2VkIG9uIGF2YWlsYWJpbGl0eSBhbmQKKyAqIHVuc3BlY2lmaWVkIGhldXJpc3RpY3MuCisgKgorICogXG5vdGUgVGhlIFBTQSBjcnlwdG8gc3Vic3lzdGVtIHVzZXMgdGhlIGZpcnN0IGF2YWlsYWJsZSBtZWNoYW5pc20gYW1vbmdzdAorICogICAgICAgdGhlIGZvbGxvd2luZzoKKyAqICAgICAgIC0gI01CRURUTFNfUFNBX0NSWVBUT19FWFRFUk5BTF9STkcgaWYgZW5hYmxlZDsKKyAqICAgICAgIC0gRW50cm9weSBmcm9tICNNQkVEVExTX0VOVFJPUFlfQyBwbHVzIENUUl9EUkJHIHdpdGggQUVTCisgKiAgICAgICAgIGlmICNNQkVEVExTX0NUUl9EUkJHX0MgaXMgZW5hYmxlZDsKKyAqICAgICAgIC0gRW50cm9weSBmcm9tICNNQkVEVExTX0VOVFJPUFlfQyBwbHVzIEhNQUNfRFJCRy4KKyAqCisgKiAgICAgICBBIGZ1dHVyZSB2ZXJzaW9uIG1heSByZWV2YWx1YXRlIHRoZSBwcmlvcml0aXphdGlvbiBvZiBEUkJHIG1lY2hhbmlzbXMuCiAgKi8KIC8vI2RlZmluZSBNQkVEVExTX1BTQV9ITUFDX0RSQkdfTURfVFlQRSBNQkVEVExTX01EX1NIQTI1NgogCiAvKiogXGRlZiBNQkVEVExTX1BTQV9LRVlfU0xPVF9DT1VOVAotICogUmVzdHJpY3QgdGhlIFBTQSBsaWJyYXJ5IHRvIHN1cHBvcnRpbmcgYSBtYXhpbXVtIGFtb3VudCBvZiBzaW11bHRhbmVvdXNseQotICogbG9hZGVkIGtleXMuIEEgbG9hZGVkIGtleSBpcyBhIGtleSBzdG9yZWQgYnkgdGhlIFBTQSBDcnlwdG8gY29yZSBhcyBhCi0gKiB2b2xhdGlsZSBrZXksIG9yIGEgcGVyc2lzdGVudCBrZXkgd2hpY2ggaXMgbG9hZGVkIHRlbXBvcmFyaWx5IGJ5IHRoZQotICogbGlicmFyeSBhcyBwYXJ0IG9mIGEgY3J5cHRvIG9wZXJhdGlvbiBpbiBmbGlnaHQuCiAgKgotICogSWYgdGhpcyBvcHRpb24gaXMgdW5zZXQsIHRoZSBsaWJyYXJ5IHdpbGwgZmFsbCBiYWNrIHRvIGEgZGVmYXVsdCB2YWx1ZSBvZgotICogMzIga2V5cy4KKyAqIFdoZW4gI01CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDIGlzIGRpc2FibGVkLAorICogdGhlIG1heGltdW0gYW1vdW50IG9mIFBTQSBrZXlzIHNpbXVsdGFuZW91c2x5IGluIG1lbW9yeS4gVGhpcyBjb3VudHMgYWxsCisgKiB2b2xhdGlsZSBrZXlzLCBwbHVzIGxvYWRlZCBwZXJzaXN0ZW50IGtleXMuCisgKgorICogV2hlbiAjTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgaXMgZW5hYmxlZCwKKyAqIHRoZSBtYXhpbXVtIG51bWJlciBvZiBsb2FkZWQgcGVyc2lzdGVudCBrZXlzLgorICoKKyAqIEN1cnJlbnRseSwgcGVyc2lzdGVudCBrZXlzIGRvIG5vdCBuZWVkIHRvIGJlIGxvYWRlZCBhbGwgdGhlIHRpbWUgd2hpbGUKKyAqIGEgbXVsdGlwYXJ0IG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcywgb25seSB3aGlsZSB0aGUgb3BlcmF0aW9uIGlzIGJlaW5nCisgKiBzZXQgdXAuIFRoaXMgbWF5IGNoYW5nZSBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIGxpYnJhcnkuCisgKgorICogQ3VycmVudGx5LCB0aGUgbGlicmFyeSB0cmF2ZXJzZXMgb2YgdGhlIHdob2xlIHRhYmxlIG9uIGVhY2ggYWNjZXNzIHRvIGEKKyAqIHBlcnNpc3RlbnQga2V5LiBUaGVyZWZvcmUgbGFyZ2UgdmFsdWVzIG1heSBjYXVzZSBwb29yIHBlcmZvcm1hbmNlLgorICoKKyAqIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgd2hlbiAjTUJFRFRMU19QU0FfQ1JZUFRPX0MgaXMgZGlzYWJsZWQuCiAgKi8KIC8vI2RlZmluZSBNQkVEVExTX1BTQV9LRVlfU0xPVF9DT1VOVCAzMgogCisvKioKKyAqIFxkZWYgTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFCisgKgorICogRGVmaW5lIHRoZSBzaXplIChpbiBieXRlcykgb2YgZWFjaCBzdGF0aWMga2V5IGJ1ZmZlciB3aGVuCisgKiAjTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UUyBpcyBzZXQuIElmIG5vdAorICogZXhwbGljaXRseSBkZWZpbmVkIHRoZW4gaXQncyBhdXRvbWF0aWNhbGx5IGd1ZXNzZWQgZnJvbSBhdmFpbGFibGUgUFNBIGtleXMKKyAqIGVuYWJsZWQgaW4gdGhlIGJ1aWxkIHRocm91Z2ggUFNBX1dBTlRfeHh4IHN5bWJvbHMuCisgKiBJZiByZXF1aXJlZCBieSB0aGUgYXBwbGljYXRpb24gdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHNldCB0byBoaWdoZXIgdmFsdWVzCisgKiBpbiBvcmRlciB0byBzdG9yZSBsYXJnZXIgb2JqZWN0cyAoZXg6IHJhdyBrZXlzKSwgYnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcworICogd2lsbCBpbmNyZWFzZSBSQU0gdXNhZ2UuCisgKi8KKy8vI2RlZmluZSBNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RfQlVGRkVSX1NJWkUgICAgICAgMjU2CisKIC8qIFJTQSBPUFRJT05TICovCiAvLyNkZWZpbmUgTUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyAgICAgICAgICAgIDEwMjQgLyoqPCAgTWluaW11bSBSU0Ega2V5IHNpemUgdGhhdCBjYW4gYmUgZ2VuZXJhdGVkIGluIGJpdHMgKE1pbmltdW0gcG9zc2libGUgdmFsdWUgaXMgMTI4IGJpdHMpICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWJlZHRscy9zc2wuaCBiL2luY2x1ZGUvbWJlZHRscy9zc2wuaAppbmRleCBjYTEzMGEzLi40MmZmZmJmIDEwMDY0NAotLS0gYS9pbmNsdWRlL21iZWR0bHMvc3NsLmgKKysrIGIvaW5jbHVkZS9tYmVkdGxzL3NzbC5oCkBAIC04MywxMCArODMsNyBAQAogLyoqIFByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZC4gKi8KICNkZWZpbmUgTUJFRFRMU19FUlJfU1NMX0JBRF9DRVJUSUZJQ0FURSAgICAgICAgICAgICAgICAgICAtMHg3QTAwCiAvKiBFcnJvciBzcGFjZSBnYXAgKi8KLS8qKgotICogUmVjZWl2ZWQgTmV3U2Vzc2lvblRpY2tldCBQb3N0IEhhbmRzaGFrZSBNZXNzYWdlLgotICogVGhpcyBlcnJvciBjb2RlIGlzIGV4cGVyaW1lbnRhbCBhbmQgbWF5IGJlIGNoYW5nZWQgb3IgcmVtb3ZlZCB3aXRob3V0IG5vdGljZS4KLSAqLworLyoqIEEgVExTIDEuMyBOZXdTZXNzaW9uVGlja2V0IG1lc3NhZ2UgaGFzIGJlZW4gcmVjZWl2ZWQuICovCiAjZGVmaW5lIE1CRURUTFNfRVJSX1NTTF9SRUNFSVZFRF9ORVdfU0VTU0lPTl9USUNLRVQgICAgICAgLTB4N0IwMAogLyoqIE5vdCBwb3NzaWJsZSB0byByZWFkIGVhcmx5IGRhdGEgKi8KICNkZWZpbmUgTUJFRFRMU19FUlJfU1NMX0NBTk5PVF9SRUFEX0VBUkxZX0RBVEEgICAgICAgICAgICAtMHg3QjgwCkBAIC0zMjQsNiArMzIxLDkgQEAKICNkZWZpbmUgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTX0RJU0FCTEVEICAgICAwCiAjZGVmaW5lIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19FTkFCTEVEICAgICAgMQogCisjZGVmaW5lIE1CRURUTFNfU1NMX1RMUzFfM19TSUdOQUxfTkVXX1NFU1NJT05fVElDS0VUU19ESVNBQkxFRCAgMAorI2RlZmluZSBNQkVEVExTX1NTTF9UTFMxXzNfU0lHTkFMX05FV19TRVNTSU9OX1RJQ0tFVFNfRU5BQkxFRCAgIDEKKwogI2RlZmluZSBNQkVEVExTX1NTTF9QUkVTRVRfREVGQVVMVCAgICAgICAgICAgICAgMAogI2RlZmluZSBNQkVEVExTX1NTTF9QUkVTRVRfU1VJVEVCICAgICAgICAgICAgICAgMgogCkBAIC0xNDQ2LDYgKzE0NDYsMTIgQEAKICNlbmRpZgogI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTKSAmJiBcCiAgICAgZGVmaW5lZChNQkVEVExTX1NTTF9DTElfQykKKyAgICAvKiogRW5jb2RlcyB0d28gYm9vbGVhbnMsIG9uZSBzdGF0aW5nIHdoZXRoZXIgVExTIDEuMiBzZXNzaW9uIHRpY2tldHMgYXJlCisgICAgICogIGVuYWJsZWQgb3Igbm90LCB0aGUgb3RoZXIgb25lIHdoZXRoZXIgdGhlIGhhbmRsaW5nIG9mIFRMUyAxLjMKKyAgICAgKiAgTmV3U2Vzc2lvblRpY2tldCBtZXNzYWdlcyBpcyBlbmFibGVkIG9yIG5vdC4gVGhleSBhcmUgcmVzcGVjdGl2ZWx5IHNldAorICAgICAqICBieSBtYmVkdGxzX3NzbF9jb25mX3Nlc3Npb25fdGlja2V0cygpIGFuZAorICAgICAqICBtYmVkdGxzX3NzbF9jb25mX3RsczEzX2VuYWJsZV9zaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0cygpLgorICAgICAqLwogICAgIHVpbnQ4X3QgTUJFRFRMU19QUklWQVRFKHNlc3Npb25fdGlja2V0cyk7ICAgLyohPCB1c2Ugc2Vzc2lvbiB0aWNrZXRzPyAqLwogI2VuZGlmCiAKQEAgLTIzNjQsNyArMjM3MCw3IEBACiAgKi8KIGludCBtYmVkdGxzX3NzbF9nZXRfb3duX2NpZChtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICplbmFibGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgb3duX2NpZFtNQkVEVExTX1NTTF9DSURfT1VUX0xFTl9NQVhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgb3duX2NpZFtNQkVEVExTX1NTTF9DSURfSU5fTEVOX01BWF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpvd25fY2lkX2xlbik7CiAKIC8qKgpAQCAtNDQ2NSwyMSArNDQ3MSw1MCBAQAogdm9pZCBtYmVkdGxzX3NzbF9jb25mX3ByZWZlcmVuY2Vfb3JkZXIobWJlZHRsc19zc2xfY29uZmlnICpjb25mLCBpbnQgb3JkZXIpOwogI2VuZGlmIC8qIE1CRURUTFNfU1NMX1NSVl9DICovCiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUykgJiYgXAotICAgIGRlZmluZWQoTUJFRFRMU19TU0xfQ0xJX0MpCisjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMpICYmIGRlZmluZWQoTUJFRFRMU19TU0xfQ0xJX0MpCiAvKioKLSAqIFxicmllZiAgICAgICAgICBFbmFibGUgLyBEaXNhYmxlIHNlc3Npb24gdGlja2V0cyAoY2xpZW50IG9ubHkpLgotICogICAgICAgICAgICAgICAgIChEZWZhdWx0OiBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfRU5BQkxFRC4pCisgKiBcYnJpZWYgICAgICAgICAgRW5hYmxlIC8gRGlzYWJsZSBUTFMgMS4yIHNlc3Npb24gdGlja2V0cyAoY2xpZW50IG9ubHksCisgKiAgICAgICAgICAgICAgICAgVExTIDEuMiBvbmx5KS4gRW5hYmxlZCBieSBkZWZhdWx0LgogICoKICAqIFxub3RlICAgICAgICAgICBPbiBzZXJ2ZXIsIHVzZSBcYyBtYmVkdGxzX3NzbF9jb25mX3Nlc3Npb25fdGlja2V0c19jYigpLgogICoKICAqIFxwYXJhbSBjb25mICAgICBTU0wgY29uZmlndXJhdGlvbgotICogXHBhcmFtIHVzZV90aWNrZXRzICAgRW5hYmxlIG9yIGRpc2FibGUgKE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19FTkFCTEVEIG9yCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTX0RJU0FCTEVEKQorICogXHBhcmFtIHVzZV90aWNrZXRzICAgRW5hYmxlIG9yIGRpc2FibGUgKCNNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfRU5BQkxFRCBvcgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfRElTQUJMRUQpCiAgKi8KIHZvaWQgbWJlZHRsc19zc2xfY29uZl9zZXNzaW9uX3RpY2tldHMobWJlZHRsc19zc2xfY29uZmlnICpjb25mLCBpbnQgdXNlX3RpY2tldHMpOwotI2VuZGlmIC8qIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyAmJgotICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DICovCisKKyNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMykKKy8qKgorICogXGJyaWVmIEVuYWJsZSAvIERpc2FibGUgaGFuZGxpbmcgb2YgVExTIDEuMyBOZXdTZXNzaW9uVGlja2V0IG1lc3NhZ2VzCisgKiAgICAgICAgKGNsaWVudCBvbmx5LCBUTFMgMS4zIG9ubHkpLgorICoKKyAqICAgICAgICBUaGUgaGFuZGxpbmcgb2YgVExTIDEuMyBOZXdTZXNzaW9uVGlja2V0IG1lc3NhZ2VzIGlzIGRpc2FibGVkIGJ5CisgKiAgICAgICAgZGVmYXVsdC4KKyAqCisgKiAgICAgICAgSW4gVExTIDEuMywgc2VydmVycyBtYXkgc2VuZCBhIE5ld1Nlc3Npb25UaWNrZXQgbWVzc2FnZSBhdCBhbnkgdGltZSwKKyAqICAgICAgICBhbmQgbWF5IHNlbmQgbXVsdGlwbGUgTmV3U2Vzc2lvblRpY2tldCBtZXNzYWdlcy4gQnkgZGVmYXVsdCwgVExTIDEuMworICogICAgICAgIGNsaWVudHMgaWdub3JlIE5ld1Nlc3Npb25UaWNrZXQgbWVzc2FnZXMuCisgKgorICogICAgICAgIFRvIHN1cHBvcnQgc2Vzc2lvbiB0aWNrZXRzIGluIFRMUyAxLjMgY2xpZW50cywgY2FsbCB0aGlzIGZ1bmN0aW9uCisgKiAgICAgICAgd2l0aCAjTUJFRFRMU19TU0xfVExTMV8zX1NJR05BTF9ORVdfU0VTU0lPTl9USUNLRVRTX0VOQUJMRUQuIFdoZW4KKyAqICAgICAgICB0aGlzIGlzIGVuYWJsZWQsIHdoZW4gYSBjbGllbnQgcmVjZWl2ZXMgYSBOZXdTZXNzaW9uVGlja2V0IG1lc3NhZ2UsCisgKiAgICAgICAgdGhlIG5leHQgY2FsbCB0byBhIG1lc3NhZ2UgcHJvY2Vzc2luZyBmdW5jdGlvbnMgKG5vdGFibHkKKyAqICAgICAgICBtYmVkdGxzX3NzbF9oYW5kc2hha2UoKSBhbmQgbWJlZHRsc19zc2xfcmVhZCgpKSB3aWxsIHJldHVybgorICogICAgICAgICNNQkVEVExTX0VSUl9TU0xfUkVDRUlWRURfTkVXX1NFU1NJT05fVElDS0VULiBUaGUgY2xpZW50IHNob3VsZCB0aGVuCisgKiAgICAgICAgY2FsbCBtYmVkdGxzX3NzbF9nZXRfc2Vzc2lvbigpIHRvIHJldHJpZXZlIHRoZSBzZXNzaW9uIHRpY2tldCBiZWZvcmUKKyAqICAgICAgICBjYWxsaW5nIHRoZSBzYW1lIG1lc3NhZ2UgcHJvY2Vzc2luZyBmdW5jdGlvbiBhZ2Fpbi4KKyAqCisgKiBccGFyYW0gY29uZiAgU1NMIGNvbmZpZ3VyYXRpb24KKyAqIFxwYXJhbSBzaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0cyBFbmFibGUgb3IgZGlzYWJsZQorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgjTUJFRFRMU19TU0xfVExTMV8zX1NJR05BTF9ORVdfU0VTU0lPTl9USUNLRVRTX0VOQUJMRUQgb3IKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI01CRURUTFNfU1NMX1RMUzFfM19TSUdOQUxfTkVXX1NFU1NJT05fVElDS0VUU19ESVNBQkxFRCkKKyAqLwordm9pZCBtYmVkdGxzX3NzbF9jb25mX3RsczEzX2VuYWJsZV9zaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0cygKKyAgICBtYmVkdGxzX3NzbF9jb25maWcgKmNvbmYsIGludCBzaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0cyk7CisKKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgKi8KKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgJiYgTUJFRFRMU19TU0xfQ0xJX0MgKi8KIAogI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTKSAmJiBcCiAgICAgZGVmaW5lZChNQkVEVExTX1NTTF9TUlZfQykgJiYgXApAQCAtNDg4Nyw2ICs0OTIyLDEwIEBACiAgKiBccmV0dXJuICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9IRUxMT19WRVJJRllfUkVRVUlSRUQgaWYgRFRMUyBpcyBpbiB1c2UKICAqICAgICAgICAgICAgICAgICBhbmQgdGhlIGNsaWVudCBkaWQgbm90IGRlbW9uc3RyYXRlIHJlYWNoYWJpbGl0eSB5ZXQgLSBpbgogICogICAgICAgICAgICAgICAgIHRoaXMgY2FzZSB5b3UgbXVzdCBzdG9wIHVzaW5nIHRoZSBjb250ZXh0IChzZWUgYmVsb3cpLgorICogXHJldHVybiAgICAgICAgICNNQkVEVExTX0VSUl9TU0xfUkVDRUlWRURfTkVXX1NFU1NJT05fVElDS0VUIGlmIGEgVExTIDEuMworICogICAgICAgICAgICAgICAgIE5ld1Nlc3Npb25UaWNrZXQgbWVzc2FnZSBoYXMgYmVlbiByZWNlaXZlZC4gU2VlIHRoZQorICogICAgICAgICAgICAgICAgIGRvY3VtZW50YXRpb24gb2YgbWJlZHRsc19zc2xfcmVhZCgpIGZvciBtb3JlIGluZm9ybWF0aW9uCisgKiAgICAgICAgICAgICAgICAgYWJvdXQgdGhpcyBlcnJvciBjb2RlLgogICogXHJldHVybiAgICAgICAgICNNQkVEVExTX0VSUl9TU0xfUkVDRUlWRURfRUFSTFlfREFUQSBpZiBlYXJseSBkYXRhLCBhcwogICogICAgICAgICAgICAgICAgIGRlZmluZWQgaW4gUkZDIDg0NDYgKFRMUyAxLjMgc3BlY2lmaWNhdGlvbiksIGhhcyBiZWVuCiAgKiAgICAgICAgICAgICAgICAgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGUgaGFuZHNoYWtlLiBUaGlzIGlzIHNlcnZlciBzcGVjaWZpYwpAQCAtNDkwMyw2ICs0OTQyLDcgQEAKICAqICAgICAgICAgICAgICAgICAjTUJFRFRMU19FUlJfU1NMX1dBTlRfV1JJVEUsCiAgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9BU1lOQ19JTl9QUk9HUkVTUyBvcgogICogICAgICAgICAgICAgICAgICNNQkVEVExTX0VSUl9TU0xfQ1JZUFRPX0lOX1BST0dSRVNTIG9yCisgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9SRUNFSVZFRF9ORVdfU0VTU0lPTl9USUNLRVQgb3IKICAqICAgICAgICAgICAgICAgICAjTUJFRFRMU19FUlJfU1NMX1JFQ0VJVkVEX0VBUkxZX0RBVEEsCiAgKiAgICAgICAgICAgICAgICAgeW91IG11c3Qgc3RvcCB1c2luZyB0aGUgU1NMIGNvbnRleHQgZm9yIHJlYWRpbmcgb3Igd3JpdGluZywKICAqICAgICAgICAgICAgICAgICBhbmQgZWl0aGVyIGZyZWUgaXQgb3IgY2FsbCBcYyBtYmVkdGxzX3NzbF9zZXNzaW9uX3Jlc2V0KCkKQEAgLTQ5MjMsMTAgKzQ5NjMsMTMgQEAKICAqICAgICAgICAgICAgICAgICBjdXJyZW50bHkgYmVpbmcgcHJvY2Vzc2VkIG1pZ2h0IG9yIG1pZ2h0IG5vdCBjb250YWluIGZ1cnRoZXIKICAqICAgICAgICAgICAgICAgICBEVExTIHJlY29yZHMuCiAgKgotICogXG5vdGUgICAgICAgICAgIElmIHRoZSBjb250ZXh0IGlzIGNvbmZpZ3VyZWQgdG8gYWxsb3cgVExTIDEuMywgb3IgaWYKLSAqICAgICAgICAgICAgICAgICAjTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBpcyBlbmFibGVkLCB0aGUgUFNBIGNyeXB0bworICogXG5vdGUgICAgICAgICAgIElmICNNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGlzIGVuYWJsZWQsIHRoZSBQU0EgY3J5cHRvCiAgKiAgICAgICAgICAgICAgICAgc3Vic3lzdGVtIG11c3QgaGF2ZSBiZWVuIGluaXRpYWxpemVkIGJ5IGNhbGxpbmcKICAqICAgICAgICAgICAgICAgICBwc2FfY3J5cHRvX2luaXQoKSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgorICogICAgICAgICAgICAgICAgIE90aGVyd2lzZSwgdGhlIGhhbmRzaGFrZSBtYXkgY2FsbCBwc2FfY3J5cHRvX2luaXQoKQorICogICAgICAgICAgICAgICAgIGlmIGEgbmVnb3RpYXRpb24gaW52b2x2aW5nIFRMUyAxLjMgdGFrZXMgcGxhY2UgKHRoaXMgbWF5CisgKiAgICAgICAgICAgICAgICAgYmUgdGhlIGNhc2UgZXZlbiBpZiBUTFMgMS4zIGlzIG9mZmVyZWQgYnV0IGV2ZW50dWFsbHkKKyAqICAgICAgICAgICAgICAgICBub3Qgc2VsZWN0ZWQpLgogICovCiBpbnQgbWJlZHRsc19zc2xfaGFuZHNoYWtlKG1iZWR0bHNfc3NsX2NvbnRleHQgKnNzbCk7CiAKQEAgLTQ5NzQsNiArNTAxNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9XQU5UX1JFQUQsICNNQkVEVExTX0VSUl9TU0xfV0FOVF9XUklURSwKICAqICAgICAgICAgICAgICAgICAjTUJFRFRMU19FUlJfU1NMX0FTWU5DX0lOX1BST0dSRVNTLAogICogICAgICAgICAgICAgICAgICNNQkVEVExTX0VSUl9TU0xfQ1JZUFRPX0lOX1BST0dSRVNTIG9yCisgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9SRUNFSVZFRF9ORVdfU0VTU0lPTl9USUNLRVQgb3IKICAqICAgICAgICAgICAgICAgICAjTUJFRFRMU19FUlJfU1NMX1JFQ0VJVkVEX0VBUkxZX0RBVEEsIHlvdSBtdXN0IHN0b3AgdXNpbmcKICAqICAgICAgICAgICAgICAgICB0aGUgU1NMIGNvbnRleHQgZm9yIHJlYWRpbmcgb3Igd3JpdGluZywgYW5kIGVpdGhlciBmcmVlIGl0CiAgKiAgICAgICAgICAgICAgICAgb3IgY2FsbCBcYyBtYmVkdGxzX3NzbF9zZXNzaW9uX3Jlc2V0KCkgb24gaXQgYmVmb3JlCkBAIC01MDQyLDYgKzUwODYsMTcgQEAKICAqIFxyZXR1cm4gICAgICAgICAjTUJFRFRMU19FUlJfU1NMX0NMSUVOVF9SRUNPTk5FQ1QgaWYgd2UncmUgYXQgdGhlIHNlcnZlcgogICogICAgICAgICAgICAgICAgIHNpZGUgb2YgYSBEVExTIGNvbm5lY3Rpb24gYW5kIHRoZSBjbGllbnQgaXMgaW5pdGlhdGluZyBhCiAgKiAgICAgICAgICAgICAgICAgbmV3IGNvbm5lY3Rpb24gdXNpbmcgdGhlIHNhbWUgc291cmNlIHBvcnQuIFNlZSBiZWxvdy4KKyAqIFxyZXR1cm4gICAgICAgICAjTUJFRFRMU19FUlJfU1NMX1JFQ0VJVkVEX05FV19TRVNTSU9OX1RJQ0tFVCBpZiBhIFRMUyAxLjMKKyAqICAgICAgICAgICAgICAgICBOZXdTZXNzaW9uVGlja2V0IG1lc3NhZ2UgaGFzIGJlZW4gcmVjZWl2ZWQuCisgKiAgICAgICAgICAgICAgICAgVGhpcyBlcnJvciBjb2RlIGlzIG9ubHkgcmV0dXJuZWQgb24gdGhlIGNsaWVudCBzaWRlLiBJdCBpcworICogICAgICAgICAgICAgICAgIG9ubHkgcmV0dXJuZWQgaWYgaGFuZGxpbmcgb2YgVExTIDEuMyBOZXdTZXNzaW9uVGlja2V0CisgKiAgICAgICAgICAgICAgICAgbWVzc2FnZXMgaGFzIGJlZW4gZW5hYmxlZCB0aHJvdWdoCisgKiAgICAgICAgICAgICAgICAgbWJlZHRsc19zc2xfY29uZl90bHMxM19lbmFibGVfc2lnbmFsX25ld19zZXNzaW9uX3RpY2tldHMoKS4KKyAqICAgICAgICAgICAgICAgICBUaGlzIGVycm9yIGNvZGUgaW5kaWNhdGVzIHRoYXQgYSBUTFMgMS4zIE5ld1Nlc3Npb25UaWNrZXQKKyAqICAgICAgICAgICAgICAgICBtZXNzYWdlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBwYXJzZWQgc3VjY2Vzc2Z1bGx5IGJ5IHRoZQorICogICAgICAgICAgICAgICAgIGNsaWVudC4gVGhlIHRpY2tldCBkYXRhIGNhbiBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgU1NMCisgKiAgICAgICAgICAgICAgICAgY29udGV4dCBieSBjYWxsaW5nIG1iZWR0bHNfc3NsX2dldF9zZXNzaW9uKCkuIEl0IHJlbWFpbnMKKyAqICAgICAgICAgICAgICAgICBhdmFpbGFibGUgdW50aWwgdGhlIG5leHQgY2FsbCB0byBtYmVkdGxzX3NzbF9yZWFkKCkuCiAgKiBccmV0dXJuICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9SRUNFSVZFRF9FQVJMWV9EQVRBIGlmIGVhcmx5IGRhdGEsIGFzCiAgKiAgICAgICAgICAgICAgICAgZGVmaW5lZCBpbiBSRkMgODQ0NiAoVExTIDEuMyBzcGVjaWZpY2F0aW9uKSwgaGFzIGJlZW4KICAqICAgICAgICAgICAgICAgICByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoZSBoYW5kc2hha2UuIFRoaXMgaXMgc2VydmVyIHNwZWNpZmljCkBAIC01MDU5LDYgKzUxMTQsNyBAQAogICogICAgICAgICAgICAgICAgICNNQkVEVExTX0VSUl9TU0xfQVNZTkNfSU5fUFJPR1JFU1MsCiAgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9DUllQVE9fSU5fUFJPR1JFU1MsCiAgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9DTElFTlRfUkVDT05ORUNUIG9yCisgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9SRUNFSVZFRF9ORVdfU0VTU0lPTl9USUNLRVQgb3IKICAqICAgICAgICAgICAgICAgICAjTUJFRFRMU19FUlJfU1NMX1JFQ0VJVkVEX0VBUkxZX0RBVEEsCiAgKiAgICAgICAgICAgICAgICAgeW91IG11c3Qgc3RvcCB1c2luZyB0aGUgU1NMIGNvbnRleHQgZm9yIHJlYWRpbmcgb3Igd3JpdGluZywKICAqICAgICAgICAgICAgICAgICBhbmQgZWl0aGVyIGZyZWUgaXQgb3IgY2FsbCBcYyBtYmVkdGxzX3NzbF9zZXNzaW9uX3Jlc2V0KCkKQEAgLTUxMjQsNiArNTE4MCwxMCBAQAogICogICAgICAgICAgICAgICAgIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcyAoc2VlIG1iZWR0bHNfZWNwX3NldF9tYXhfb3BzKCkpIC0KICAqICAgICAgICAgICAgICAgICBpbiB0aGlzIGNhc2UgeW91IG11c3QgY2FsbCB0aGlzIGZ1bmN0aW9uIGFnYWluIHRvIGNvbXBsZXRlCiAgKiAgICAgICAgICAgICAgICAgdGhlIGhhbmRzaGFrZSB3aGVuIHlvdSdyZSBkb25lIGF0dGVuZGluZyBvdGhlciB0YXNrcy4KKyAqIFxyZXR1cm4gICAgICAgICAjTUJFRFRMU19FUlJfU1NMX1JFQ0VJVkVEX05FV19TRVNTSU9OX1RJQ0tFVCBpZiBhIFRMUyAxLjMKKyAqICAgICAgICAgICAgICAgICBOZXdTZXNzaW9uVGlja2V0IG1lc3NhZ2UgaGFzIGJlZW4gcmVjZWl2ZWQuIFNlZSB0aGUKKyAqICAgICAgICAgICAgICAgICBkb2N1bWVudGF0aW9uIG9mIG1iZWR0bHNfc3NsX3JlYWQoKSBmb3IgbW9yZSBpbmZvcm1hdGlvbgorICogICAgICAgICAgICAgICAgIGFib3V0IHRoaXMgZXJyb3IgY29kZS4KICAqIFxyZXR1cm4gICAgICAgICAjTUJFRFRMU19FUlJfU1NMX1JFQ0VJVkVEX0VBUkxZX0RBVEEgaWYgZWFybHkgZGF0YSwgYXMKICAqICAgICAgICAgICAgICAgICBkZWZpbmVkIGluIFJGQyA4NDQ2IChUTFMgMS4zIHNwZWNpZmljYXRpb24pLCBoYXMgYmVlbgogICogICAgICAgICAgICAgICAgIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhlIGhhbmRzaGFrZS4gVGhpcyBpcyBzZXJ2ZXIgc3BlY2lmaWMKQEAgLTUxNDAsNiArNTIwMCw3IEBACiAgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9XQU5UX1dSSVRFLAogICogICAgICAgICAgICAgICAgICNNQkVEVExTX0VSUl9TU0xfQVNZTkNfSU5fUFJPR1JFU1MsCiAgKiAgICAgICAgICAgICAgICAgI01CRURUTFNfRVJSX1NTTF9DUllQVE9fSU5fUFJPR1JFU1Mgb3IKKyAqICAgICAgICAgICAgICAgICAjTUJFRFRMU19FUlJfU1NMX1JFQ0VJVkVEX05FV19TRVNTSU9OX1RJQ0tFVCBvcgogICogICAgICAgICAgICAgICAgICNNQkVEVExTX0VSUl9TU0xfUkVDRUlWRURfRUFSTFlfREFUQSwKICAqICAgICAgICAgICAgICAgICB5b3UgbXVzdCBzdG9wIHVzaW5nIHRoZSBTU0wgY29udGV4dCBmb3IgcmVhZGluZyBvciB3cml0aW5nLAogICogICAgICAgICAgICAgICAgIGFuZCBlaXRoZXIgZnJlZSBpdCBvciBjYWxsIFxjIG1iZWR0bHNfc3NsX3Nlc3Npb25fcmVzZXQoKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wc2EvY3J5cHRvLmggYi9pbmNsdWRlL3BzYS9jcnlwdG8uaAppbmRleCA3MDgzYmQ5Li4yYmJjZWEzIDEwMDY0NAotLS0gYS9pbmNsdWRlL3BzYS9jcnlwdG8uaAorKysgYi9pbmNsdWRlL3BzYS9jcnlwdG8uaApAQCAtMTE5LDggKzExOSw4IEBACiAgKiB2YWx1ZSBpbiB0aGUgc3RydWN0dXJlLgogICogVGhlIHBlcnNpc3RlbnQga2V5IHdpbGwgYmUgd3JpdHRlbiB0byBzdG9yYWdlIHdoZW4gdGhlIGF0dHJpYnV0ZQogICogc3RydWN0dXJlIGlzIHBhc3NlZCB0byBhIGtleSBjcmVhdGlvbiBmdW5jdGlvbiBzdWNoIGFzCi0gKiBwc2FfaW1wb3J0X2tleSgpLCBwc2FfZ2VuZXJhdGVfa2V5KCksIHBzYV9nZW5lcmF0ZV9rZXlfZXh0KCksCi0gKiBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleSgpLCBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9leHQoKQorICogcHNhX2ltcG9ydF9rZXkoKSwgcHNhX2dlbmVyYXRlX2tleSgpLCBwc2FfZ2VuZXJhdGVfa2V5X2N1c3RvbSgpLAorICogcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXkoKSwgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfY3VzdG9tKCkKICAqIG9yIHBzYV9jb3B5X2tleSgpLgogICoKICAqIFRoaXMgZnVuY3Rpb24gbWF5IGJlIGRlY2xhcmVkIGFzIGBzdGF0aWNgIChpLmUuIHdpdGhvdXQgZXh0ZXJuYWwKQEAgLTEyOSw2ICsxMjksOSBAQAogICoKICAqIFxwYXJhbVtvdXRdIGF0dHJpYnV0ZXMgIFRoZSBhdHRyaWJ1dGUgc3RydWN0dXJlIHRvIHdyaXRlIHRvLgogICogXHBhcmFtIGtleSAgICAgICAgICAgICAgVGhlIHBlcnNpc3RlbnQgaWRlbnRpZmllciBmb3IgdGhlIGtleS4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgY2FuIGJlIGFueSB2YWx1ZSBpbiB0aGUgcmFuZ2UgZnJvbQorICogICAgICAgICAgICAgICAgICAgICAgICAgI1BTQV9LRVlfSURfVVNFUl9NSU4gdG8gI1BTQV9LRVlfSURfVVNFUl9NQVgKKyAqICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1c2l2ZS4KICAqLwogc3RhdGljIHZvaWQgcHNhX3NldF9rZXlfaWQocHNhX2tleV9hdHRyaWJ1dGVzX3QgKmF0dHJpYnV0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCBrZXkpOwpAQCAtMTY0LDggKzE2Nyw4IEBACiAgKiB2YWx1ZSBpbiB0aGUgc3RydWN0dXJlLgogICogVGhlIHBlcnNpc3RlbnQga2V5IHdpbGwgYmUgd3JpdHRlbiB0byBzdG9yYWdlIHdoZW4gdGhlIGF0dHJpYnV0ZQogICogc3RydWN0dXJlIGlzIHBhc3NlZCB0byBhIGtleSBjcmVhdGlvbiBmdW5jdGlvbiBzdWNoIGFzCi0gKiBwc2FfaW1wb3J0X2tleSgpLCBwc2FfZ2VuZXJhdGVfa2V5KCksIHBzYV9nZW5lcmF0ZV9rZXlfZXh0KCksCi0gKiBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleSgpLCBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9leHQoKQorICogcHNhX2ltcG9ydF9rZXkoKSwgcHNhX2dlbmVyYXRlX2tleSgpLCBwc2FfZ2VuZXJhdGVfa2V5X2N1c3RvbSgpLAorICogcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXkoKSwgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfY3VzdG9tKCkKICAqIG9yIHBzYV9jb3B5X2tleSgpLgogICoKICAqIFRoaXMgZnVuY3Rpb24gbWF5IGJlIGRlY2xhcmVkIGFzIGBzdGF0aWNgIChpLmUuIHdpdGhvdXQgZXh0ZXJuYWwKQEAgLTg3MSw3ICs4NzQsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2ggdGhhdCAjUFNBX0FMR19JU19IQVNIKFxwIGFsZykgaXMgdHJ1ZSkuCiAgKiBccGFyYW1baW5dIGlucHV0ICAgICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgdGhlIG1lc3NhZ2UgdG8gaGFzaC4KICAqIFxwYXJhbSBpbnB1dF9sZW5ndGggICAgICBTaXplIG9mIHRoZSBccCBpbnB1dCBidWZmZXIgaW4gYnl0ZXMuCi0gKiBccGFyYW1bb3V0XSBoYXNoICAgICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgdGhlIGV4cGVjdGVkIGhhc2ggdmFsdWUuCisgKiBccGFyYW1baW5dIGhhc2ggICAgICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgdGhlIGV4cGVjdGVkIGhhc2ggdmFsdWUuCiAgKiBccGFyYW0gaGFzaF9sZW5ndGggICAgICAgU2l6ZSBvZiB0aGUgXHAgaGFzaCBidWZmZXIgaW4gYnl0ZXMuCiAgKgogICogXHJldHZhbCAjUFNBX1NVQ0NFU1MKQEAgLTEyMjQsNyArMTIyNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjaCB0aGF0ICNQU0FfQUxHX0lTX01BQyhccCBhbGcpIGlzIHRydWUpLgogICogXHBhcmFtW2luXSBpbnB1dCAgICAgICAgIEJ1ZmZlciBjb250YWluaW5nIHRoZSBpbnB1dCBtZXNzYWdlLgogICogXHBhcmFtIGlucHV0X2xlbmd0aCAgICAgIFNpemUgb2YgdGhlIFxwIGlucHV0IGJ1ZmZlciBpbiBieXRlcy4KLSAqIFxwYXJhbVtvdXRdIG1hYyAgICAgICAgICBCdWZmZXIgY29udGFpbmluZyB0aGUgZXhwZWN0ZWQgTUFDIHZhbHVlLgorICogXHBhcmFtW2luXSBtYWMgICAgICAgICAgIEJ1ZmZlciBjb250YWluaW5nIHRoZSBleHBlY3RlZCBNQUMgdmFsdWUuCiAgKiBccGFyYW0gbWFjX2xlbmd0aCAgICAgICAgU2l6ZSBvZiB0aGUgXHAgbWFjIGJ1ZmZlciBpbiBieXRlcy4KICAqCiAgKiBccmV0dmFsICNQU0FfU1VDQ0VTUwpAQCAtMjkxMCw3ICsyOTEzLDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHAga2V5LgogICogXHBhcmFtW2luXSAgaW5wdXQgICAgICAgICAgICBUaGUgbWVzc2FnZSB3aG9zZSBzaWduYXR1cmUgaXMgdG8gYmUgdmVyaWZpZWQuCiAgKiBccGFyYW1baW5dICBpbnB1dF9sZW5ndGggICAgIFNpemUgb2YgdGhlIFxwIGlucHV0IGJ1ZmZlciBpbiBieXRlcy4KLSAqIFxwYXJhbVtvdXRdIHNpZ25hdHVyZSAgICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgdGhlIHNpZ25hdHVyZSB0byB2ZXJpZnkuCisgKiBccGFyYW1baW5dIHNpZ25hdHVyZSAgICAgICAgIEJ1ZmZlciBjb250YWluaW5nIHRoZSBzaWduYXR1cmUgdG8gdmVyaWZ5LgogICogXHBhcmFtW2luXSAgc2lnbmF0dXJlX2xlbmd0aCBTaXplIG9mIHRoZSBccCBzaWduYXR1cmUgYnVmZmVyIGluIGJ5dGVzLgogICoKICAqIFxyZXR2YWwgI1BTQV9TVUNDRVNTIFxlbXB0eWRlc2NyaXB0aW9uCkBAIC0zMjM0LDcgKzMyMzcsNyBAQAogICogICAgb2Ygb3IgYWZ0ZXIgcHJvdmlkaW5nIGlucHV0cy4gRm9yIHNvbWUgYWxnb3JpdGhtcywgdGhpcyBzdGVwIGlzIG1hbmRhdG9yeQogICogICAgYmVjYXVzZSB0aGUgb3V0cHV0IGRlcGVuZHMgb24gdGhlIG1heGltdW0gY2FwYWNpdHkuCiAgKiAtIyBUbyBkZXJpdmUgYSBrZXksIGNhbGwgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXkoKSBvcgotICogICAgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfZXh0KCkuCisgKiAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oKS4KICAqICAgIFRvIGRlcml2ZSBhIGJ5dGUgc3RyaW5nIGZvciBhIGRpZmZlcmVudCBwdXJwb3NlLCBjYWxsCiAgKiAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2J5dGVzKCkuCiAgKiAgICBTdWNjZXNzaXZlIGNhbGxzIHRvIHRoZXNlIGZ1bmN0aW9ucyB1c2Ugc3VjY2Vzc2l2ZSBvdXRwdXQgYnl0ZXMKQEAgLTM0NTcsNyArMzQ2MCw3IEBACiAgKiBcbm90ZSBPbmNlIGFsbCBpbnB1dHMgc3RlcHMgYXJlIGNvbXBsZXRlZCwgdGhlIG9wZXJhdGlvbnMgd2lsbCBhbGxvdzoKICAqIC0gcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9ieXRlcygpIGlmIGVhY2ggaW5wdXQgd2FzIGVpdGhlciBhIGRpcmVjdCBpbnB1dAogICogICBvciAgYSBrZXkgd2l0aCAjUFNBX0tFWV9VU0FHRV9ERVJJVkUgc2V0OwotICogLSBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleSgpIG9yIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2V4dCgpCisgKiAtIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5KCkgb3IgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfY3VzdG9tKCkKICAqICAgaWYgdGhlIGlucHV0IGZvciBzdGVwCiAgKiAgICNQU0FfS0VZX0RFUklWQVRJT05fSU5QVVRfU0VDUkVUIG9yICNQU0FfS0VZX0RFUklWQVRJT05fSU5QVVRfUEFTU1dPUkQKICAqICAgd2FzIGZyb20gYSBrZXkgc2xvdCB3aXRoICNQU0FfS0VZX1VTQUdFX0RFUklWRSBhbmQgZWFjaCBvdGhlciBpbnB1dCB3YXMKQEAgLTM3MDcsOSArMzcxMCw5IEBACiAgKiBvbiB0aGUgZGVyaXZlZCBrZXkgYmFzZWQgb24gdGhlIGF0dHJpYnV0ZXMgYW5kIHN0cmVuZ3RoIG9mIHRoZSBzZWNyZXQga2V5LgogICoKICAqIFxub3RlIFRoaXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nCi0gKiAgICAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9leHQoKQotICogICAgICAgd2l0aCB0aGUgcHJvZHVjdGlvbiBwYXJhbWV0ZXJzICNQU0FfS0VZX1BST0RVQ1RJT05fUEFSQU1FVEVSU19JTklUCi0gKiAgICAgICBhbmQgYHBhcmFtc19kYXRhX2xlbmd0aCA9PSAwYCAoaS5lLiBgcGFyYW1zLT5kYXRhYCBpcyBlbXB0eSkuCisgKiAgICAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oKQorICogICAgICAgd2l0aCB0aGUgY3VzdG9tIHByb2R1Y3Rpb24gcGFyYW1ldGVycyAjUFNBX0NVU1RPTV9LRVlfUEFSQU1FVEVSU19JTklUCisgKiAgICAgICBhbmQgYGN1c3RvbV9kYXRhX2xlbmd0aCA9PSAwYCAoaS5lLiBgY3VzdG9tX2RhdGFgIGlzIGVtcHR5KS4KICAqCiAgKiBccGFyYW1baW5dIGF0dHJpYnV0ZXMgICAgVGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBuZXcga2V5LgogICogICAgICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBrZXkgdHlwZSB0byBiZSBjcmVhdGVkIGlzCkBAIC0zNzgxLDYgKzM3ODQsODUgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcG9saWN5IG11c3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIGN1cnJlbnQKICAqICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24uCiAgKiBccGFyYW1baW4sb3V0XSBvcGVyYXRpb24gVGhlIGtleSBkZXJpdmF0aW9uIG9wZXJhdGlvbiBvYmplY3QgdG8gcmVhZCBmcm9tLgorICogXHBhcmFtW2luXSBjdXN0b20gICAgICAgIEN1c3RvbWl6YXRpb24gcGFyYW1ldGVycyBmb3IgdGhlIGtleSBnZW5lcmF0aW9uLgorICogICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gdGhpcyBpcyAjUFNBX0NVU1RPTV9LRVlfUEFSQU1FVEVSU19JTklUCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBccCBjdXN0b21fZGF0YV9sZW5ndGggPSAwLAorICogICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0bworICogICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5KCkuCisgKiBccGFyYW1baW5dIGN1c3RvbV9kYXRhICAgVmFyaWFibGUtbGVuZ3RoIGRhdGEgYXNzb2NpYXRlZCB3aXRoIFxjIGN1c3RvbS4KKyAqIFxwYXJhbSBjdXN0b21fZGF0YV9sZW5ndGgKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGggb2YgYGN1c3RvbV9kYXRhYCBpbiBieXRlcy4KKyAqIFxwYXJhbVtvdXRdIGtleSAgICAgICAgICBPbiBzdWNjZXNzLCBhbiBpZGVudGlmaWVyIGZvciB0aGUgbmV3bHkgY3JlYXRlZAorICogICAgICAgICAgICAgICAgICAgICAgICAgIGtleS4gRm9yIHBlcnNpc3RlbnQga2V5cywgdGhpcyBpcyB0aGUga2V5CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllciBkZWZpbmVkIGluIFxwIGF0dHJpYnV0ZXMuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgXGMgMCBvbiBmYWlsdXJlLgorICoKKyAqIFxyZXR2YWwgI1BTQV9TVUNDRVNTCisgKiAgICAgICAgIFN1Y2Nlc3MuCisgKiAgICAgICAgIElmIHRoZSBrZXkgaXMgcGVyc2lzdGVudCwgdGhlIGtleSBtYXRlcmlhbCBhbmQgdGhlIGtleSdzIG1ldGFkYXRhCisgKiAgICAgICAgIGhhdmUgYmVlbiBzYXZlZCB0byBwZXJzaXN0ZW50IHN0b3JhZ2UuCisgKiBccmV0dmFsICNQU0FfRVJST1JfQUxSRUFEWV9FWElTVFMKKyAqICAgICAgICAgVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGNyZWF0ZSBhIHBlcnNpc3RlbnQga2V5LCBhbmQgdGhlcmUgaXMKKyAqICAgICAgICAgYWxyZWFkeSBhIHBlcnNpc3RlbnQga2V5IHdpdGggdGhlIGdpdmVuIGlkZW50aWZpZXIuCisgKiBccmV0dmFsICNQU0FfRVJST1JfSU5TVUZGSUNJRU5UX0RBVEEKKyAqICAgICAgICAgVGhlcmUgd2FzIG5vdCBlbm91Z2ggZGF0YSB0byBjcmVhdGUgdGhlIGRlc2lyZWQga2V5LgorICogICAgICAgICBOb3RlIHRoYXQgaW4gdGhpcyBjYXNlLCBubyBvdXRwdXQgaXMgd3JpdHRlbiB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KKyAqICAgICAgICAgVGhlIG9wZXJhdGlvbidzIGNhcGFjaXR5IGlzIHNldCB0byAwLCB0aHVzIHN1YnNlcXVlbnQgY2FsbHMgdG8KKyAqICAgICAgICAgdGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBzdWNjZWVkLCBldmVuIHdpdGggYSBzbWFsbGVyIG91dHB1dCBidWZmZXIuCisgKiBccmV0dmFsICNQU0FfRVJST1JfTk9UX1NVUFBPUlRFRAorICogICAgICAgICBUaGUga2V5IHR5cGUgb3Iga2V5IHNpemUgaXMgbm90IHN1cHBvcnRlZCwgZWl0aGVyIGJ5IHRoZQorICogICAgICAgICBpbXBsZW1lbnRhdGlvbiBpbiBnZW5lcmFsIG9yIGluIHRoaXMgcGFydGljdWxhciBsb2NhdGlvbi4KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9JTlZBTElEX0FSR1VNRU5UCisgKiAgICAgICAgIFRoZSBwcm92aWRlZCBrZXkgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkIGZvciB0aGUgb3BlcmF0aW9uLgorICogXHJldHZhbCAjUFNBX0VSUk9SX05PVF9QRVJNSVRURUQKKyAqICAgICAgICAgVGhlICNQU0FfS0VZX0RFUklWQVRJT05fSU5QVVRfU0VDUkVUIG9yCisgKiAgICAgICAgICNQU0FfS0VZX0RFUklWQVRJT05fSU5QVVRfUEFTU1dPUkQgaW5wdXQgd2FzIG5vdCBwcm92aWRlZCB0aHJvdWdoIGEKKyAqICAgICAgICAga2V5OyBvciBvbmUgb2YgdGhlIGlucHV0cyB3YXMgYSBrZXkgd2hvc2UgcG9saWN5IGRpZG4ndCBhbGxvdworICogICAgICAgICAjUFNBX0tFWV9VU0FHRV9ERVJJVkUuCisgKiBccmV0dmFsICNQU0FfRVJST1JfSU5TVUZGSUNJRU5UX01FTU9SWSBcZW1wdHlkZXNjcmlwdGlvbgorICogXHJldHZhbCAjUFNBX0VSUk9SX0lOU1VGRklDSUVOVF9TVE9SQUdFIFxlbXB0eWRlc2NyaXB0aW9uCisgKiBccmV0dmFsICNQU0FfRVJST1JfQ09NTVVOSUNBVElPTl9GQUlMVVJFIFxlbXB0eWRlc2NyaXB0aW9uCisgKiBccmV0dmFsICNQU0FfRVJST1JfSEFSRFdBUkVfRkFJTFVSRSBcZW1wdHlkZXNjcmlwdGlvbgorICogXHJldHZhbCAjUFNBX0VSUk9SX0NPUlJVUFRJT05fREVURUNURUQgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9EQVRBX0lOVkFMSUQgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9EQVRBX0NPUlJVUFQgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9TVE9SQUdFX0ZBSUxVUkUgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9CQURfU1RBVEUKKyAqICAgICAgICAgVGhlIG9wZXJhdGlvbiBzdGF0ZSBpcyBub3QgdmFsaWQgKGl0IG11c3QgYmUgYWN0aXZlIGFuZCBjb21wbGV0ZWQKKyAqICAgICAgICAgYWxsIHJlcXVpcmVkIGlucHV0IHN0ZXBzKSwgb3IgdGhlIGxpYnJhcnkgaGFzIG5vdCBiZWVuIHByZXZpb3VzbHkKKyAqICAgICAgICAgaW5pdGlhbGl6ZWQgYnkgcHNhX2NyeXB0b19pbml0KCkuCisgKiAgICAgICAgIEl0IGlzIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCB3aGV0aGVyIGEgZmFpbHVyZSB0byBpbml0aWFsaXplCisgKiAgICAgICAgIHJlc3VsdHMgaW4gdGhpcyBlcnJvciBjb2RlLgorICovCitwc2Ffc3RhdHVzX3QgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfY3VzdG9tKAorICAgIGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphdHRyaWJ1dGVzLAorICAgIHBzYV9rZXlfZGVyaXZhdGlvbl9vcGVyYXRpb25fdCAqb3BlcmF0aW9uLAorICAgIGNvbnN0IHBzYV9jdXN0b21fa2V5X3BhcmFtZXRlcnNfdCAqY3VzdG9tLAorICAgIGNvbnN0IHVpbnQ4X3QgKmN1c3RvbV9kYXRhLAorICAgIHNpemVfdCBjdXN0b21fZGF0YV9sZW5ndGgsCisgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgKmtleSk7CisKKyNpZm5kZWYgX19jcGx1c3BsdXMKKy8qIE9taXR0ZWQgd2hlbiBjb21waWxpbmcgaW4gQysrLCBiZWNhdXNlIG9uZSBvZiB0aGUgcGFyYW1ldGVycyBpcyBhCisgKiBwb2ludGVyIHRvIGEgc3RydWN0IHdpdGggYSBmbGV4aWJsZSBhcnJheSBtZW1iZXIsIGFuZCB0aGF0IGlzIG5vdAorICogc3RhbmRhcmQgQysrLgorICogaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzkwMjAKKyAqLworLyoqIERlcml2ZSBhIGtleSBmcm9tIGFuIG9uZ29pbmcga2V5IGRlcml2YXRpb24gb3BlcmF0aW9uIHdpdGggY3VzdG9tCisgKiAgcHJvZHVjdGlvbiBwYXJhbWV0ZXJzLgorICoKKyAqIFxub3RlCisgKiBUaGlzIGlzIGEgZGVwcmVjYXRlZCB2YXJpYW50IG9mIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2N1c3RvbSgpLgorICogSXQgaXMgZXF1aXZhbGVudCBleGNlcHQgdGhhdCB0aGUgYXNzb2NpYXRlZCB2YXJpYWJsZS1sZW5ndGggZGF0YQorICogaXMgcGFzc2VkIGluIGBwYXJhbXMtPmRhdGFgIGluc3RlYWQgb2YgYSBzZXBhcmF0ZSBwYXJhbWV0ZXIuCisgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIE1iZWQgVExTLgorICoKKyAqIFxwYXJhbVtpbl0gYXR0cmlidXRlcyAgICBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIG5ldyBrZXkuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIGtleSB0eXBlIHRvIGJlIGNyZWF0ZWQgaXMKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAjUFNBX0tFWV9UWVBFX1BBU1NXT1JEX0hBU0ggdGhlbiB0aGUgYWxnb3JpdGhtIGluCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHBvbGljeSBtdXN0IGJlIHRoZSBzYW1lIGFzIGluIHRoZSBjdXJyZW50CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLgorICogXHBhcmFtW2luLG91dF0gb3BlcmF0aW9uIFRoZSBrZXkgZGVyaXZhdGlvbiBvcGVyYXRpb24gb2JqZWN0IHRvIHJlYWQgZnJvbS4KICAqIFxwYXJhbVtpbl0gcGFyYW1zICAgICAgICBDdXN0b21pemF0aW9uIHBhcmFtZXRlcnMgZm9yIHRoZSBrZXkgZGVyaXZhdGlvbi4KICAqICAgICAgICAgICAgICAgICAgICAgICAgICBXaGVuIHRoaXMgaXMgI1BTQV9LRVlfUFJPRFVDVElPTl9QQVJBTUVURVJTX0lOSVQKICAqICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIFxwIHBhcmFtc19kYXRhX2xlbmd0aCA9IDAsCkBAIC0zODQwLDYgKzM5MjIsNyBAQAogICAgIGNvbnN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3QgKnBhcmFtcywKICAgICBzaXplX3QgcGFyYW1zX2RhdGFfbGVuZ3RoLAogICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90ICprZXkpOworI2VuZGlmIC8qICFfX2NwbHVzcGx1cyAqLwogCiAvKiogQ29tcGFyZSBvdXRwdXQgZGF0YSBmcm9tIGEga2V5IGRlcml2YXRpb24gb3BlcmF0aW9uIHRvIGFuIGV4cGVjdGVkIHZhbHVlLgogICoKQEAgLTM4NjUsOCArMzk0OCw4IEBACiAgKiBwc2Ffa2V5X2Rlcml2YXRpb25fYWJvcnQoKS4KICAqCiAgKiBccGFyYW1baW4sb3V0XSBvcGVyYXRpb24gVGhlIGtleSBkZXJpdmF0aW9uIG9wZXJhdGlvbiBvYmplY3QgdG8gcmVhZCBmcm9tLgotICogXHBhcmFtW2luXSBleHBlY3RlZF9vdXRwdXQgQnVmZmVyIGNvbnRhaW5pbmcgdGhlIGV4cGVjdGVkIGRlcml2YXRpb24gb3V0cHV0LgotICogXHBhcmFtIG91dHB1dF9sZW5ndGggICAgIExlbmd0aCBvZiB0aGUgZXhwZWN0ZWQgb3V0cHV0OyB0aGlzIGlzIGFsc28gdGhlCisgKiBccGFyYW1baW5dIGV4cGVjdGVkICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgdGhlIGV4cGVjdGVkIGRlcml2YXRpb24gb3V0cHV0LgorICogXHBhcmFtIGV4cGVjdGVkX2xlbmd0aCAgIExlbmd0aCBvZiB0aGUgZXhwZWN0ZWQgb3V0cHV0OyB0aGlzIGlzIGFsc28gdGhlCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgd2lsbCBiZSByZWFkLgogICoKICAqIFxyZXR2YWwgI1BTQV9TVUNDRVNTIFxlbXB0eWRlc2NyaXB0aW9uCkBAIC0zODk2LDggKzM5NzksOCBAQAogICovCiBwc2Ffc3RhdHVzX3QgcHNhX2tleV9kZXJpdmF0aW9uX3ZlcmlmeV9ieXRlcygKICAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3BlcmF0aW9uX3QgKm9wZXJhdGlvbiwKLSAgICBjb25zdCB1aW50OF90ICpleHBlY3RlZF9vdXRwdXQsCi0gICAgc2l6ZV90IG91dHB1dF9sZW5ndGgpOworICAgIGNvbnN0IHVpbnQ4X3QgKmV4cGVjdGVkLAorICAgIHNpemVfdCBleHBlY3RlZF9sZW5ndGgpOwogCiAvKiogQ29tcGFyZSBvdXRwdXQgZGF0YSBmcm9tIGEga2V5IGRlcml2YXRpb24gb3BlcmF0aW9uIHRvIGFuIGV4cGVjdGVkIHZhbHVlCiAgKiBzdG9yZWQgaW4gYSBrZXkgb2JqZWN0LgpAQCAtMzkyNyw3ICs0MDEwLDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24uIFRoZSB2YWx1ZSBvZiB0aGlzIGtleSB3YXMgbGlrZWx5CiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZWQgYnkgYSBwcmV2aW91cyBjYWxsIHRvCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXkoKSBvcgotICogICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2V4dCgpLgorICogICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2N1c3RvbSgpLgogICoKICAqIFxyZXR2YWwgI1BTQV9TVUNDRVNTIFxlbXB0eWRlc2NyaXB0aW9uCiAgKiBccmV0dmFsICNQU0FfRVJST1JfSU5WQUxJRF9TSUdOQVRVUkUKQEAgLTQwOTUsOSArNDE3OCw5IEBACiAgKiAgIGJldHdlZW4gMl57bi0xfSBhbmQgMl5uIHdoZXJlIG4gaXMgdGhlIGJpdCBzaXplIHNwZWNpZmllZCBpbiB0aGUKICAqICAgYXR0cmlidXRlcy4KICAqCi0gKiBcbm90ZSBUaGlzIGZ1bmN0aW9uIGlzIGVxdWl2YWxlbnQgdG8gY2FsbGluZyBwc2FfZ2VuZXJhdGVfa2V5X2V4dCgpCi0gKiAgICAgICB3aXRoIHRoZSBwcm9kdWN0aW9uIHBhcmFtZXRlcnMgI1BTQV9LRVlfUFJPRFVDVElPTl9QQVJBTUVURVJTX0lOSVQKLSAqICAgICAgIGFuZCBgcGFyYW1zX2RhdGFfbGVuZ3RoID09IDBgIChpLmUuIGBwYXJhbXMtPmRhdGFgIGlzIGVtcHR5KS4KKyAqIFxub3RlIFRoaXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nIHBzYV9nZW5lcmF0ZV9rZXlfY3VzdG9tKCkKKyAqICAgICAgIHdpdGggdGhlIGN1c3RvbSBwcm9kdWN0aW9uIHBhcmFtZXRlcnMgI1BTQV9DVVNUT01fS0VZX1BBUkFNRVRFUlNfSU5JVAorICogICAgICAgYW5kIGBjdXN0b21fZGF0YV9sZW5ndGggPT0gMGAgKGkuZS4gYGN1c3RvbV9kYXRhYCBpcyBlbXB0eSkuCiAgKgogICogXHBhcmFtW2luXSBhdHRyaWJ1dGVzICAgIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgbmV3IGtleS4KICAqIFxwYXJhbVtvdXRdIGtleSAgICAgICAgICBPbiBzdWNjZXNzLCBhbiBpZGVudGlmaWVyIGZvciB0aGUgbmV3bHkgY3JlYXRlZApAQCAtNDEzNyw3ICs0MjIwLDcgQEAKICAqIFNlZSB0aGUgZGVzY3JpcHRpb24gb2YgcHNhX2dlbmVyYXRlX2tleSgpIGZvciB0aGUgb3BlcmF0aW9uIG9mIHRoaXMKICAqIGZ1bmN0aW9uIHdpdGggdGhlIGRlZmF1bHQgcHJvZHVjdGlvbiBwYXJhbWV0ZXJzLiBJbiBhZGRpdGlvbiwgdGhpcyBmdW5jdGlvbgogICogc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGN1c3RvbWl6YXRpb25zLCBkZXNjcmliZWQgaW4gbW9yZSBkZXRhaWwKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIG9mIDo6cHNhX2tleV9wcm9kdWN0aW9uX3BhcmFtZXRlcnNfdDoKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIG9mIDo6cHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190OgogICoKICAqIC0gUlNBIGtleXM6IGdlbmVyYXRpb24gd2l0aCBhIGN1c3RvbSBwdWJsaWMgZXhwb25lbnQuCiAgKgpAQCAtNDE0NSw2ICs0MjI4LDY0IEBACiAgKiAgICAgICB2ZXJzaW9ucyBvZiBNYmVkIFRMUy4KICAqCiAgKiBccGFyYW1baW5dIGF0dHJpYnV0ZXMgICAgVGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBuZXcga2V5LgorICogXHBhcmFtW2luXSBjdXN0b20gICAgICAgIEN1c3RvbWl6YXRpb24gcGFyYW1ldGVycyBmb3IgdGhlIGtleSBnZW5lcmF0aW9uLgorICogICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gdGhpcyBpcyAjUFNBX0NVU1RPTV9LRVlfUEFSQU1FVEVSU19JTklUCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBccCBjdXN0b21fZGF0YV9sZW5ndGggPSAwLAorICogICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0bworICogICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9nZW5lcmF0ZV9rZXkoKS4KKyAqIFxwYXJhbVtpbl0gY3VzdG9tX2RhdGEgICBWYXJpYWJsZS1sZW5ndGggZGF0YSBhc3NvY2lhdGVkIHdpdGggXGMgY3VzdG9tLgorICogXHBhcmFtIGN1c3RvbV9kYXRhX2xlbmd0aAorICogICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBvZiBgY3VzdG9tX2RhdGFgIGluIGJ5dGVzLgorICogXHBhcmFtW291dF0ga2V5ICAgICAgICAgIE9uIHN1Y2Nlc3MsIGFuIGlkZW50aWZpZXIgZm9yIHRoZSBuZXdseSBjcmVhdGVkCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5LiBGb3IgcGVyc2lzdGVudCBrZXlzLCB0aGlzIGlzIHRoZSBrZXkKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVyIGRlZmluZWQgaW4gXHAgYXR0cmlidXRlcy4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICBcYyAwIG9uIGZhaWx1cmUuCisgKgorICogXHJldHZhbCAjUFNBX1NVQ0NFU1MKKyAqICAgICAgICAgU3VjY2Vzcy4KKyAqICAgICAgICAgSWYgdGhlIGtleSBpcyBwZXJzaXN0ZW50LCB0aGUga2V5IG1hdGVyaWFsIGFuZCB0aGUga2V5J3MgbWV0YWRhdGEKKyAqICAgICAgICAgaGF2ZSBiZWVuIHNhdmVkIHRvIHBlcnNpc3RlbnQgc3RvcmFnZS4KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9BTFJFQURZX0VYSVNUUworICogICAgICAgICBUaGlzIGlzIGFuIGF0dGVtcHQgdG8gY3JlYXRlIGEgcGVyc2lzdGVudCBrZXksIGFuZCB0aGVyZSBpcworICogICAgICAgICBhbHJlYWR5IGEgcGVyc2lzdGVudCBrZXkgd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllci4KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9OT1RfU1VQUE9SVEVEIFxlbXB0eWRlc2NyaXB0aW9uCisgKiBccmV0dmFsICNQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVCBcZW1wdHlkZXNjcmlwdGlvbgorICogXHJldHZhbCAjUFNBX0VSUk9SX0lOU1VGRklDSUVOVF9NRU1PUlkgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9JTlNVRkZJQ0lFTlRfRU5UUk9QWSBcZW1wdHlkZXNjcmlwdGlvbgorICogXHJldHZhbCAjUFNBX0VSUk9SX0NPTU1VTklDQVRJT05fRkFJTFVSRSBcZW1wdHlkZXNjcmlwdGlvbgorICogXHJldHZhbCAjUFNBX0VSUk9SX0hBUkRXQVJFX0ZBSUxVUkUgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9DT1JSVVBUSU9OX0RFVEVDVEVEIFxlbXB0eWRlc2NyaXB0aW9uCisgKiBccmV0dmFsICNQU0FfRVJST1JfSU5TVUZGSUNJRU5UX1NUT1JBR0UgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9EQVRBX0lOVkFMSUQgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9EQVRBX0NPUlJVUFQgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9TVE9SQUdFX0ZBSUxVUkUgXGVtcHR5ZGVzY3JpcHRpb24KKyAqIFxyZXR2YWwgI1BTQV9FUlJPUl9CQURfU1RBVEUKKyAqICAgICAgICAgVGhlIGxpYnJhcnkgaGFzIG5vdCBiZWVuIHByZXZpb3VzbHkgaW5pdGlhbGl6ZWQgYnkgcHNhX2NyeXB0b19pbml0KCkuCisgKiAgICAgICAgIEl0IGlzIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCB3aGV0aGVyIGEgZmFpbHVyZSB0byBpbml0aWFsaXplCisgKiAgICAgICAgIHJlc3VsdHMgaW4gdGhpcyBlcnJvciBjb2RlLgorICovCitwc2Ffc3RhdHVzX3QgcHNhX2dlbmVyYXRlX2tleV9jdXN0b20oY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190ICpjdXN0b20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY3VzdG9tX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGN1c3RvbV9kYXRhX2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCAqa2V5KTsKKworI2lmbmRlZiBfX2NwbHVzcGx1cworLyogT21pdHRlZCB3aGVuIGNvbXBpbGluZyBpbiBDKyssIGJlY2F1c2Ugb25lIG9mIHRoZSBwYXJhbWV0ZXJzIGlzIGEKKyAqIHBvaW50ZXIgdG8gYSBzdHJ1Y3Qgd2l0aCBhIGZsZXhpYmxlIGFycmF5IG1lbWJlciwgYW5kIHRoYXQgaXMgbm90CisgKiBzdGFuZGFyZCBDKysuCisgKiBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTAyMAorICovCisvKioKKyAqIFxicmllZiBHZW5lcmF0ZSBhIGtleSBvciBrZXkgcGFpciB1c2luZyBjdXN0b20gcHJvZHVjdGlvbiBwYXJhbWV0ZXJzLgorICoKKyAqIFxub3RlCisgKiBUaGlzIGlzIGEgZGVwcmVjYXRlZCB2YXJpYW50IG9mIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2N1c3RvbSgpLgorICogSXQgaXMgZXF1aXZhbGVudCBleGNlcHQgdGhhdCB0aGUgYXNzb2NpYXRlZCB2YXJpYWJsZS1sZW5ndGggZGF0YQorICogaXMgcGFzc2VkIGluIGBwYXJhbXMtPmRhdGFgIGluc3RlYWQgb2YgYSBzZXBhcmF0ZSBwYXJhbWV0ZXIuCisgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIE1iZWQgVExTLgorICoKKyAqIFxwYXJhbVtpbl0gYXR0cmlidXRlcyAgICBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIG5ldyBrZXkuCiAgKiBccGFyYW1baW5dIHBhcmFtcyAgICAgICAgQ3VzdG9taXphdGlvbiBwYXJhbWV0ZXJzIGZvciB0aGUga2V5IGdlbmVyYXRpb24uCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgV2hlbiB0aGlzIGlzICNQU0FfS0VZX1BST0RVQ1RJT05fUEFSQU1FVEVSU19JTklUCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBccCBwYXJhbXNfZGF0YV9sZW5ndGggPSAwLApAQCAtNDE4NCw2ICs0MzI1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwc2Ffa2V5X3Byb2R1Y3Rpb25fcGFyYW1ldGVyc190ICpwYXJhbXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHBhcmFtc19kYXRhX2xlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCAqa2V5KTsKKyNlbmRpZiAvKiAhX19jcGx1c3BsdXMgKi8KIAogLyoqQH0qLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BzYS9jcnlwdG9fYWRqdXN0X2F1dG9fZW5hYmxlZC5oIGIvaW5jbHVkZS9wc2EvY3J5cHRvX2FkanVzdF9hdXRvX2VuYWJsZWQuaAppbmRleCA2M2ZiMjllLi4zYTJhZjE1IDEwMDY0NAotLS0gYS9pbmNsdWRlL3BzYS9jcnlwdG9fYWRqdXN0X2F1dG9fZW5hYmxlZC5oCisrKyBiL2luY2x1ZGUvcHNhL2NyeXB0b19hZGp1c3RfYXV0b19lbmFibGVkLmgKQEAgLTIsNiArMiw4IEBACiAgKiBcZmlsZSBwc2EvY3J5cHRvX2FkanVzdF9hdXRvX2VuYWJsZWQuaAogICogXGJyaWVmIEFkanVzdCBQU0EgY29uZmlndXJhdGlvbjogZW5hYmxlIGFsd2F5cy1vbiBmZWF0dXJlcwogICoKKyAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgaGVhZGVyLiBEbyBub3QgaW5jbHVkZSBpdCBkaXJlY3RseS4KKyAqCiAgKiBBbHdheXMgZW5hYmxlIGNlcnRhaW4gZmVhdHVyZXMgd2hpY2ggcmVxdWlyZSBhIG5lZ2xpZ2libGUgYW1vdW50IG9mIGNvZGUKICAqIHRvIGltcGxlbWVudCwgdG8gYXZvaWQgc29tZSBlZGdlIGNhc2VzIGluIHRoZSBjb25maWd1cmF0aW9uIGNvbWJpbmF0b3JpY3MuCiAgKi8KQEAgLTEzLDYgKzE1LDE0IEBACiAjaWZuZGVmIFBTQV9DUllQVE9fQURKVVNUX0FVVE9fRU5BQkxFRF9ICiAjZGVmaW5lIFBTQV9DUllQVE9fQURKVVNUX0FVVE9fRU5BQkxFRF9ICiAKKyNpZiAhZGVmaW5lZChNQkVEVExTX0NPTkZJR19GSUxFU19SRUFEKQorI2Vycm9yICJEbyBub3QgaW5jbHVkZSBwc2EvY3J5cHRvX2FkanVzdF8qLmggbWFudWFsbHkhIFRoaXMgY2FuIGxlYWQgdG8gcHJvYmxlbXMsICIgXAorICAgICJ1cCB0byBhbmQgaW5jbHVkaW5nIHJ1bnRpbWUgZXJyb3JzIHN1Y2ggYXMgYnVmZmVyIG92ZXJmbG93cy4gIiBcCisgICAgIklmIHlvdSdyZSB0cnlpbmcgdG8gZml4IGEgY29tcGxhaW50IGZyb20gY2hlY2tfY29uZmlnLmgsIGp1c3QgcmVtb3ZlICIgXAorICAgICJpdCBmcm9tIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlOiBzaW5jZSBNYmVkIFRMUyAzLjAsIGl0IGlzIGluY2x1ZGVkICIgXAorICAgICJhdXRvbWF0aWNhbGx5IGF0IHRoZSByaWdodCBwb2ludC4iCisjZW5kaWYgLyogKi8KKwogI2RlZmluZSBQU0FfV0FOVF9LRVlfVFlQRV9ERVJJVkUgMQogI2RlZmluZSBQU0FfV0FOVF9LRVlfVFlQRV9QQVNTV09SRCAxCiAjZGVmaW5lIFBTQV9XQU5UX0tFWV9UWVBFX1BBU1NXT1JEX0hBU0ggMQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wc2EvY3J5cHRvX2FkanVzdF9jb25maWdfZGVwZW5kZW5jaWVzLmggYi9pbmNsdWRlL3BzYS9jcnlwdG9fYWRqdXN0X2NvbmZpZ19kZXBlbmRlbmNpZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmU5YzRkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wc2EvY3J5cHRvX2FkanVzdF9jb25maWdfZGVwZW5kZW5jaWVzLmgKQEAgLTAsMCArMSw1MSBAQAorLyoqCisgKiBcZmlsZSBwc2EvY3J5cHRvX2FkanVzdF9jb25maWdfZGVwZW5kZW5jaWVzLmgKKyAqIFxicmllZiBBZGp1c3QgUFNBIGNvbmZpZ3VyYXRpb24gYnkgcmVzb2x2aW5nIHNvbWUgZGVwZW5kZW5jaWVzLgorICoKKyAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgaGVhZGVyLiBEbyBub3QgaW5jbHVkZSBpdCBkaXJlY3RseS4KKyAqCisgKiBTZWUgZG9jcy9wcm9wb3NlZC9wc2EtY29uZGl0aW9uYWwtaW5jbHVzaW9uLWMubWQuCisgKiBJZiB0aGUgTWJlZCBUTFMgaW1wbGVtZW50YXRpb24gb2YgYSBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbSBBIGRlcGVuZHMgb24gYQorICogY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc20gQiB0aGVuIGlmIHRoZSBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbSBBIGlzIGVuYWJsZWQKKyAqIGFuZCBub3QgYWNjZWxlcmF0ZWQgZW5hYmxlIEIuIE5vdGUgdGhhdCBpZiBBIGlzIGVuYWJsZWQgYW5kIGFjY2VsZXJhdGVkLCBpdAorICogaXMgbm90IG5lY2Vzc2FyeSB0byBlbmFibGUgQiBmb3IgQSBzdXBwb3J0LgorICovCisvKgorICogIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisgKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgorICovCisKKyNpZm5kZWYgUFNBX0NSWVBUT19BREpVU1RfQ09ORklHX0RFUEVOREVOQ0lFU19ICisjZGVmaW5lIFBTQV9DUllQVE9fQURKVVNUX0NPTkZJR19ERVBFTkRFTkNJRVNfSAorCisjaWYgIWRlZmluZWQoTUJFRFRMU19DT05GSUdfRklMRVNfUkVBRCkKKyNlcnJvciAiRG8gbm90IGluY2x1ZGUgcHNhL2NyeXB0b19hZGp1c3RfKi5oIG1hbnVhbGx5ISBUaGlzIGNhbiBsZWFkIHRvIHByb2JsZW1zLCAiIFwKKyAgICAidXAgdG8gYW5kIGluY2x1ZGluZyBydW50aW1lIGVycm9ycyBzdWNoIGFzIGJ1ZmZlciBvdmVyZmxvd3MuICIgXAorICAgICJJZiB5b3UncmUgdHJ5aW5nIHRvIGZpeCBhIGNvbXBsYWludCBmcm9tIGNoZWNrX2NvbmZpZy5oLCBqdXN0IHJlbW92ZSAiIFwKKyAgICAiaXQgZnJvbSB5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZTogc2luY2UgTWJlZCBUTFMgMy4wLCBpdCBpcyBpbmNsdWRlZCAiIFwKKyAgICAiYXV0b21hdGljYWxseSBhdCB0aGUgcmlnaHQgcG9pbnQuIgorI2VuZGlmIC8qICovCisKKyNpZiAoZGVmaW5lZChQU0FfV0FOVF9BTEdfVExTMTJfUFJGKSAmJiBcCisgICAgIWRlZmluZWQoTUJFRFRMU19QU0FfQUNDRUxfQUxHX1RMUzEyX1BSRikpIHx8IFwKKyAgICAoZGVmaW5lZChQU0FfV0FOVF9BTEdfVExTMTJfUFNLX1RPX01TKSAmJiBcCisgICAgIWRlZmluZWQoTUJFRFRMU19QU0FfQUNDRUxfQUxHX1RMUzEyX1BTS19UT19NUykpIHx8IFwKKyAgICAoZGVmaW5lZChQU0FfV0FOVF9BTEdfSEtERikgJiYgXAorICAgICFkZWZpbmVkKE1CRURUTFNfUFNBX0FDQ0VMX0FMR19IS0RGKSkgfHwgXAorICAgIChkZWZpbmVkKFBTQV9XQU5UX0FMR19IS0RGX0VYVFJBQ1QpICYmIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX1BTQV9BQ0NFTF9BTEdfSEtERl9FWFRSQUNUKSkgfHwgXAorICAgIChkZWZpbmVkKFBTQV9XQU5UX0FMR19IS0RGX0VYUEFORCkgJiYgXAorICAgICFkZWZpbmVkKE1CRURUTFNfUFNBX0FDQ0VMX0FMR19IS0RGX0VYUEFORCkpIHx8IFwKKyAgICAoZGVmaW5lZChQU0FfV0FOVF9BTEdfUEJLREYyX0hNQUMpICYmIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX1BTQV9BQ0NFTF9BTEdfUEJLREYyX0hNQUMpKQorI2RlZmluZSBQU0FfV0FOVF9BTEdfSE1BQyAxCisjZGVmaW5lIFBTQV9XQU5UX0tFWV9UWVBFX0hNQUMgMQorI2VuZGlmCisKKyNpZiAoZGVmaW5lZChQU0FfV0FOVF9BTEdfUEJLREYyX0FFU19DTUFDX1BSRl8xMjgpICYmIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX1BTQV9BQ0NFTF9BTEdfUEJLREYyX0FFU19DTUFDX1BSRl8xMjgpKQorI2RlZmluZSBQU0FfV0FOVF9LRVlfVFlQRV9BRVMgMQorI2RlZmluZSBQU0FfV0FOVF9BTEdfQ01BQyAxCisjZW5kaWYKKworI2VuZGlmIC8qIFBTQV9DUllQVE9fQURKVVNUX0NPTkZJR19ERVBFTkRFTkNJRVNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wc2EvY3J5cHRvX2FkanVzdF9jb25maWdfa2V5X3BhaXJfdHlwZXMuaCBiL2luY2x1ZGUvcHNhL2NyeXB0b19hZGp1c3RfY29uZmlnX2tleV9wYWlyX3R5cGVzLmgKaW5kZXggNjNhZmMwZS4uY2VjMzllMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wc2EvY3J5cHRvX2FkanVzdF9jb25maWdfa2V5X3BhaXJfdHlwZXMuaAorKysgYi9pbmNsdWRlL3BzYS9jcnlwdG9fYWRqdXN0X2NvbmZpZ19rZXlfcGFpcl90eXBlcy5oCkBAIC0yLDYgKzIsOCBAQAogICogXGZpbGUgcHNhL2NyeXB0b19hZGp1c3RfY29uZmlnX2tleV9wYWlyX3R5cGVzLmgKICAqIFxicmllZiBBZGp1c3QgUFNBIGNvbmZpZ3VyYXRpb24gZm9yIGtleSBwYWlyIHR5cGVzLgogICoKKyAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgaGVhZGVyLiBEbyBub3QgaW5jbHVkZSBpdCBkaXJlY3RseS4KKyAqCiAgKiBTZWUgZG9jcy9wcm9wb3NlZC9wc2EtY29uZGl0aW9uYWwtaW5jbHVzaW9uLWMubWQuCiAgKiAtIFN1cHBvcnQgbm9uLWJhc2ljIG9wZXJhdGlvbnMgaW4gYSBrZXlwYWlyIHR5cGUgaW1wbGljaXRseSBlbmFibGVzIGJhc2ljCiAgKiAgIHN1cHBvcnQgZm9yIHRoYXQga2V5cGFpciB0eXBlLgpAQCAtMTksNiArMjEsMTQgQEAKICNpZm5kZWYgUFNBX0NSWVBUT19BREpVU1RfS0VZUEFJUl9UWVBFU19ICiAjZGVmaW5lIFBTQV9DUllQVE9fQURKVVNUX0tFWVBBSVJfVFlQRVNfSAogCisjaWYgIWRlZmluZWQoTUJFRFRMU19DT05GSUdfRklMRVNfUkVBRCkKKyNlcnJvciAiRG8gbm90IGluY2x1ZGUgcHNhL2NyeXB0b19hZGp1c3RfKi5oIG1hbnVhbGx5ISBUaGlzIGNhbiBsZWFkIHRvIHByb2JsZW1zLCAiIFwKKyAgICAidXAgdG8gYW5kIGluY2x1ZGluZyBydW50aW1lIGVycm9ycyBzdWNoIGFzIGJ1ZmZlciBvdmVyZmxvd3MuICIgXAorICAgICJJZiB5b3UncmUgdHJ5aW5nIHRvIGZpeCBhIGNvbXBsYWludCBmcm9tIGNoZWNrX2NvbmZpZy5oLCBqdXN0IHJlbW92ZSAiIFwKKyAgICAiaXQgZnJvbSB5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZTogc2luY2UgTWJlZCBUTFMgMy4wLCBpdCBpcyBpbmNsdWRlZCAiIFwKKyAgICAiYXV0b21hdGljYWxseSBhdCB0aGUgcmlnaHQgcG9pbnQuIgorI2VuZGlmIC8qICovCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQU5ZVEhJTkcgLT4gQkFTSUMKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wc2EvY3J5cHRvX2FkanVzdF9jb25maWdfc3lub255bXMuaCBiL2luY2x1ZGUvcHNhL2NyeXB0b19hZGp1c3RfY29uZmlnX3N5bm9ueW1zLmgKaW5kZXggMzMyYjYyMi4uNTRiMTE2ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wc2EvY3J5cHRvX2FkanVzdF9jb25maWdfc3lub255bXMuaAorKysgYi9pbmNsdWRlL3BzYS9jcnlwdG9fYWRqdXN0X2NvbmZpZ19zeW5vbnltcy5oCkBAIC0yLDYgKzIsOCBAQAogICogXGZpbGUgcHNhL2NyeXB0b19hZGp1c3RfY29uZmlnX3N5bm9ueW1zLmgKICAqIFxicmllZiBBZGp1c3QgUFNBIGNvbmZpZ3VyYXRpb246IGVuYWJsZSBxdWFzaS1zeW5vbnltcwogICoKKyAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgaGVhZGVyLiBEbyBub3QgaW5jbHVkZSBpdCBkaXJlY3RseS4KKyAqCiAgKiBXaGVuIHR3byBmZWF0dXJlcyByZXF1aXJlIGFsbW9zdCB0aGUgc2FtZSBjb2RlLCB3ZSBhdXRvbWF0aWNhbGx5IGVuYWJsZQogICogYm90aCB3aGVuIGVpdGhlciBvbmUgaXMgcmVxdWVzdGVkLCB0byByZWR1Y2UgdGhlIGNvbWJpbmF0b3JpY3Mgb2YKICAqIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb25zLgpAQCAtMTQsNiArMTYsMTQgQEAKICNpZm5kZWYgUFNBX0NSWVBUT19BREpVU1RfQ09ORklHX1NZTk9OWU1TX0gKICNkZWZpbmUgUFNBX0NSWVBUT19BREpVU1RfQ09ORklHX1NZTk9OWU1TX0gKIAorI2lmICFkZWZpbmVkKE1CRURUTFNfQ09ORklHX0ZJTEVTX1JFQUQpCisjZXJyb3IgIkRvIG5vdCBpbmNsdWRlIHBzYS9jcnlwdG9fYWRqdXN0XyouaCBtYW51YWxseSEgVGhpcyBjYW4gbGVhZCB0byBwcm9ibGVtcywgIiBcCisgICAgInVwIHRvIGFuZCBpbmNsdWRpbmcgcnVudGltZSBlcnJvcnMgc3VjaCBhcyBidWZmZXIgb3ZlcmZsb3dzLiAiIFwKKyAgICAiSWYgeW91J3JlIHRyeWluZyB0byBmaXggYSBjb21wbGFpbnQgZnJvbSBjaGVja19jb25maWcuaCwganVzdCByZW1vdmUgIiBcCisgICAgIml0IGZyb20geW91ciBjb25maWd1cmF0aW9uIGZpbGU6IHNpbmNlIE1iZWQgVExTIDMuMCwgaXQgaXMgaW5jbHVkZWQgIiBcCisgICAgImF1dG9tYXRpY2FsbHkgYXQgdGhlIHJpZ2h0IHBvaW50LiIKKyNlbmRpZiAvKiAqLworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qIERlIGZhY3RvIHN5bm9ueW1zICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcHNhL2NyeXB0b19leHRyYS5oIGIvaW5jbHVkZS9wc2EvY3J5cHRvX2V4dHJhLmgKaW5kZXggNmVkMWY2Yy4uZjQ4YzA4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wc2EvY3J5cHRvX2V4dHJhLmgKKysrIGIvaW5jbHVkZS9wc2EvY3J5cHRvX2V4dHJhLmgKQEAgLTMyLDYgKzMyLDE2IEBACiAjZGVmaW5lIE1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UIDMyCiAjZW5kaWYKIAorLyogSWYgdGhlIHNpemUgb2Ygc3RhdGljIGtleSBzbG90cyBpcyBub3QgZXhwbGljaXRseSBkZWZpbmVkIGJ5IHRoZSB1c2VyLCB0aGVuCisgKiBzZXQgaXQgdG8gdGhlIG1heGltdW0gYmV0d2VlbiBQU0FfRVhQT1JUX0tFWV9QQUlSX09SX1BVQkxJQ19NQVhfU0laRSBhbmQKKyAqIFBTQV9DSVBIRVJfTUFYX0tFWV9MRU5HVEguCisgKiBTZWUgbWJlZHRsc19jb25maWcuaCBmb3IgdGhlIGRlZmluaXRpb24uICovCisjaWYgIWRlZmluZWQoTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFKQorI2RlZmluZSBNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RfQlVGRkVSX1NJWkUgIFwKKyAgICAoKFBTQV9FWFBPUlRfS0VZX1BBSVJfT1JfUFVCTElDX01BWF9TSVpFID4gUFNBX0NJUEhFUl9NQVhfS0VZX0xFTkdUSCkgPyBcCisgICAgIFBTQV9FWFBPUlRfS0VZX1BBSVJfT1JfUFVCTElDX01BWF9TSVpFIDogUFNBX0NJUEhFUl9NQVhfS0VZX0xFTkdUSCkKKyNlbmRpZiAvKiAhTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFKi8KKwogLyoqIFxhZGR0b2dyb3VwIGF0dHJpYnV0ZXMKICAqIEB7CiAgKi8KQEAgLTE1NCw2ICsxNjQsMTQgQEAKICAqIHNwZWNpZmllZCBpbiBccCBhdHRyaWJ1dGVzLgogICoKICAqIFxwYXJhbVtpbl0gYXR0cmlidXRlcyAgICAgICAgVGhlIGF0dHJpYnV0ZXMgb2YgdGhlIGV4aXN0aW5nIGtleS4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBUaGUgbGlmZXRpbWUgbXVzdCBiZSBhIHBlcnNpc3RlbnQgbGlmZXRpbWUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBhIHNlY3VyZSBlbGVtZW50LiBWb2xhdGlsZSBsaWZldGltZXMgYXJlCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gVGhlIGtleSBpZGVudGlmaWVyIG11c3QgYmUgaW4gdGhlIHZhbGlkCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2UgZm9yIHBlcnNpc3RlbnQga2V5cy4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBUaGUga2V5IHR5cGUgYW5kIHNpemUgbXVzdCBiZSBzcGVjaWZpZWQgYW5kCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVzdCBiZSBjb25zaXN0ZW50IHdpdGggdGhlIGtleSBtYXRlcmlhbAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBzZWN1cmUgZWxlbWVudC4KICAqCiAgKiBccmV0dmFsICNQU0FfU1VDQ0VTUwogICogICAgICAgICBUaGUga2V5IHdhcyBzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZC4KQEAgLTQ3OSw3ICs0OTcsNyBAQAogICogI1BTQV9LRVlfSURfVkVORE9SX01JTiBhbmQgI1BTQV9LRVlfSURfVkVORE9SX01BWCBhbmQgbXVzdCBub3QgaW50ZXJzZWN0CiAgKiB3aXRoIGFueSBvdGhlciBzZXQgb2YgaW1wbGVtZW50YXRpb24tY2hvc2VuIGtleSBpZGVudGlmaWVycy4KICAqCi0gKiBUaGlzIHZhbHVlIGlzIHBhcnQgb2YgdGhlIGxpYnJhcnkncyBBQkkgc2luY2UgY2hhbmdpbmcgaXQgd291bGQgaW52YWxpZGF0ZQorICogVGhpcyB2YWx1ZSBpcyBwYXJ0IG9mIHRoZSBsaWJyYXJ5J3MgQVBJIHNpbmNlIGNoYW5naW5nIGl0IHdvdWxkIGludmFsaWRhdGUKICAqIHRoZSB2YWx1ZXMgb2YgYnVpbHQtaW4ga2V5IGlkZW50aWZpZXJzIGluIGFwcGxpY2F0aW9ucy4KICAqLwogI2RlZmluZSBNQkVEVExTX1BTQV9LRVlfSURfQlVJTFRJTl9NSU4gICAgICAgICAgKChwc2Ffa2V5X2lkX3QpIDB4N2ZmZjAwMDApCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BzYS9jcnlwdG9fc2l6ZXMuaCBiL2luY2x1ZGUvcHNhL2NyeXB0b19zaXplcy5oCmluZGV4IDYzNWVlOTguLjg3YjhjMzkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcHNhL2NyeXB0b19zaXplcy5oCisrKyBiL2luY2x1ZGUvcHNhL2NyeXB0b19zaXplcy5oCkBAIC0xMDM4LDYgKzEwMzgsMTAgQEAKICAgICBQU0FfS0VZX0VYUE9SVF9GRkRIX1BVQkxJQ19LRVlfTUFYX1NJWkUoUFNBX1ZFTkRPUl9GRkRIX01BWF9LRVlfQklUUykKICNlbmRpZgogCisjZGVmaW5lIFBTQV9FWFBPUlRfS0VZX1BBSVJfT1JfUFVCTElDX01BWF9TSVpFIFwKKyAgICAoKFBTQV9FWFBPUlRfS0VZX1BBSVJfTUFYX1NJWkUgPiBQU0FfRVhQT1JUX1BVQkxJQ19LRVlfTUFYX1NJWkUpID8gXAorICAgICBQU0FfRVhQT1JUX0tFWV9QQUlSX01BWF9TSVpFIDogUFNBX0VYUE9SVF9QVUJMSUNfS0VZX01BWF9TSVpFKQorCiAvKiogU3VmZmljaWVudCBvdXRwdXQgYnVmZmVyIHNpemUgZm9yIHBzYV9yYXdfa2V5X2FncmVlbWVudCgpLgogICoKICAqIFRoaXMgbWFjcm8gcmV0dXJucyBhIGNvbXBpbGUtdGltZSBjb25zdGFudCBpZiBpdHMgYXJndW1lbnRzIGFyZQpAQCAtMTA4NSw2ICsxMDg5LDI3IEBACiAjZGVmaW5lIFBTQV9SQVdfS0VZX0FHUkVFTUVOVF9PVVRQVVRfTUFYX1NJWkUgICAgUFNBX0JJVFNfVE9fQllURVMoUFNBX1ZFTkRPUl9GRkRIX01BWF9LRVlfQklUUykKICNlbmRpZgogCisvKiogTWF4aW11bSBrZXkgbGVuZ3RoIGZvciBjaXBoZXJzLgorICoKKyAqIFNpbmNlIHRoZXJlIGlzIG5vIGFkZGl0aW9uYWwgUFNBX1dBTlRfeHh4IHN5bWJvbCB0byBzcGVjaWZpeSB0aGUgc2l6ZSBvZgorICogdGhlIGtleSBvbmNlIGEgY2lwaGVyIGlzIGVuYWJsZWQgKGFzIGl0IGhhcHBlbnMgZm9yIGFzeW1tZXRyaWMga2V5cyBmb3IKKyAqIGV4YW1wbGUpLCB0aGUgbWF4aW11bSBrZXkgbGVuZ3RoIGlzIHRha2VuIGludG8gYWNjb3VudCBmb3IgZWFjaCBjaXBoZXIuCisgKiBUaGUgcmVzdWx0aW5nIHZhbHVlIHdpbGwgYmUgdGhlIG1heGltdW0gY2lwaGVyJ3Mga2V5IGxlbmd0aCBnaXZlbiBkZXBlbmRpbmcKKyAqIG9uIHdoaWNoIGNpcGhlcnMgYXJlIGVuYWJsZWQuCisgKgorICogTm90ZTogbWF4IHZhbHVlIGZvciBBRVMgdXNlZCBiZWxvdyB3b3VsZCBiZSBkb3VibGVkIGlmIFhUUyB3ZXJlIGVuYWJsZWQsIGJ1dAorICogICAgICAgdGhpcyBtb2RlIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGluIE1iZWQgVExTIGltcGxlbWVudGF0aW9uIG9mIFBTQQorICogICAgICAgQVBJcy4KKyAqLworI2lmIChkZWZpbmVkKFBTQV9XQU5UX0tFWV9UWVBFX0FFUykgfHwgZGVmaW5lZChQU0FfV0FOVF9LRVlfVFlQRV9BUklBKSB8fCBcCisgICAgZGVmaW5lZChQU0FfV0FOVF9LRVlfVFlQRV9DQU1FTExJQSkgfHwgZGVmaW5lZChQU0FfV0FOVF9LRVlfVFlQRV9DSEFDSEEyMCkpCisjZGVmaW5lIFBTQV9DSVBIRVJfTUFYX0tFWV9MRU5HVEggICAgICAgMzJ1CisjZWxpZiBkZWZpbmVkKFBTQV9XQU5UX0tFWV9UWVBFX0RFUykKKyNkZWZpbmUgUFNBX0NJUEhFUl9NQVhfS0VZX0xFTkdUSCAgICAgICAyNHUKKyNlbHNlCisjZGVmaW5lIFBTQV9DSVBIRVJfTUFYX0tFWV9MRU5HVEggICAgICAgMHUKKyNlbmRpZgorCiAvKiogVGhlIGRlZmF1bHQgSVYgc2l6ZSBmb3IgYSBjaXBoZXIgYWxnb3JpdGhtLCBpbiBieXRlcy4KICAqCiAgKiBUaGUgSVYgdGhhdCBpcyBnZW5lcmF0ZWQgYXMgcGFydCBvZiBhIGNhbGwgdG8gI3BzYV9jaXBoZXJfZW5jcnlwdCgpIGlzIGFsd2F5cwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wc2EvY3J5cHRvX3N0cnVjdC5oIGIvaW5jbHVkZS9wc2EvY3J5cHRvX3N0cnVjdC5oCmluZGV4IDM5MTM1NTEuLjM2MmU5MjEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcHNhL2NyeXB0b19zdHJ1Y3QuaAorKysgYi9pbmNsdWRlL3BzYS9jcnlwdG9fc3RydWN0LmgKQEAgLTIyMyw5ICsyMjMsMzQgQEAKICAgICByZXR1cm4gdjsKIH0KIAotc3RydWN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3Mgeworc3RydWN0IHBzYV9jdXN0b21fa2V5X3BhcmFtZXRlcnNfcyB7CiAgICAgLyogRnV0dXJlIHZlcnNpb25zIG1heSBhZGQgb3RoZXIgZmllbGRzIGluIHRoaXMgc3RydWN0dXJlLiAqLwogICAgIHVpbnQzMl90IGZsYWdzOworfTsKKworLyoqIFRoZSBkZWZhdWx0IHByb2R1Y3Rpb24gcGFyYW1ldGVycyBmb3Iga2V5IGdlbmVyYXRpb24gb3Iga2V5IGRlcml2YXRpb24uCisgKgorICogQ2FsbGluZyBwc2FfZ2VuZXJhdGVfa2V5X2N1c3RvbSgpIG9yIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2N1c3RvbSgpCisgKiB3aXRoIGBjdXN0b209UFNBX0NVU1RPTV9LRVlfUEFSQU1FVEVSU19JTklUYCBhbmQgYGN1c3RvbV9kYXRhX2xlbmd0aD0wYCBpcworICogZXF1aXZhbGVudCB0byBjYWxsaW5nIHBzYV9nZW5lcmF0ZV9rZXkoKSBvciBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleSgpCisgKiByZXNwZWN0aXZlbHkuCisgKi8KKyNkZWZpbmUgUFNBX0NVU1RPTV9LRVlfUEFSQU1FVEVSU19JTklUIHsgMCB9CisKKyNpZm5kZWYgX19jcGx1c3BsdXMKKy8qIE9taXR0ZWQgd2hlbiBjb21waWxpbmcgaW4gQysrLCBiZWNhdXNlIG9uZSBvZiB0aGUgcGFyYW1ldGVycyBpcyBhCisgKiBwb2ludGVyIHRvIGEgc3RydWN0IHdpdGggYSBmbGV4aWJsZSBhcnJheSBtZW1iZXIsIGFuZCB0aGF0IGlzIG5vdAorICogc3RhbmRhcmQgQysrLgorICogaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzkwMjAKKyAqLworLyogVGhpcyBpcyBhIGRlcHJlY2F0ZWQgdmFyaWFudCBvZiBgc3RydWN0IHBzYV9jdXN0b21fa2V5X3BhcmFtZXRlcnNfc2AuCisgKiBJdCBoYXMgZXhhY3RseSB0aGUgc2FtZSBsYXlvdXQsIHBsdXMgYW4gZXh0cmEgZmllbGQgd2hpY2ggaXMgYSBmbGV4aWJsZQorICogYXJyYXkgbWVtYmVyLiBUaHVzIGEgYGNvbnN0IHN0cnVjdCBwc2Ffa2V5X3Byb2R1Y3Rpb25fcGFyYW1ldGVyc19zICpgCisgKiBjYW4gYmUgcGFzc2VkIHRvIGFueSBmdW5jdGlvbiB0aGF0IHJlYWRzIGEKKyAqIGBjb25zdCBzdHJ1Y3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc19zICpgLgorICovCitzdHJ1Y3QgcHNhX2tleV9wcm9kdWN0aW9uX3BhcmFtZXRlcnNfcyB7CisgICAgdWludDMyX3QgZmxhZ3M7CiAgICAgdWludDhfdCBkYXRhW107CiB9OwogCkBAIC0yMzgsNiArMjYzLDcgQEAKICAqIHJlc3BlY3RpdmVseS4KICAqLwogI2RlZmluZSBQU0FfS0VZX1BST0RVQ1RJT05fUEFSQU1FVEVSU19JTklUIHsgMCB9CisjZW5kaWYgLyogIV9fY3BsdXNwbHVzICovCiAKIHN0cnVjdCBwc2Ffa2V5X3BvbGljeV9zIHsKICAgICBwc2Ffa2V5X3VzYWdlX3QgTUJFRFRMU19QUklWQVRFKHVzYWdlKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcHNhL2NyeXB0b190eXBlcy5oIGIvaW5jbHVkZS9wc2EvY3J5cHRvX3R5cGVzLmgKaW5kZXggYzIxYmFkOC4uZjgzMTQ4NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wc2EvY3J5cHRvX3R5cGVzLmgKKysrIGIvaW5jbHVkZS9wc2EvY3J5cHRvX3R5cGVzLmgKQEAgLTQ1Nyw2ICs0NTcsMzAgQEAKIAogLyoqIFxicmllZiBDdXN0b20gcGFyYW1ldGVycyBmb3Iga2V5IGdlbmVyYXRpb24gb3Iga2V5IGRlcml2YXRpb24uCiAgKgorICogVGhpcyBpcyBhIHN0cnVjdHVyZSB0eXBlIHdpdGggYXQgbGVhc3QgdGhlIGZvbGxvd2luZyBmaWVsZDoKKyAqCisgKiAtIFxjIGZsYWdzOiBhbiB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUuIDAgZm9yIHRoZSBkZWZhdWx0IHByb2R1Y3Rpb24gcGFyYW1ldGVycy4KKyAqCisgKiBGdW5jdGlvbnMgdGhhdCB0YWtlIHN1Y2ggYSBzdHJ1Y3R1cmUgYXMgaW5wdXQgYWxzbyB0YWtlIGFuIGFzc29jaWF0ZWQKKyAqIGlucHV0IGJ1ZmZlciBcYyBjdXN0b21fZGF0YSBvZiBsZW5ndGggXGMgY3VzdG9tX2RhdGFfbGVuZ3RoLgorICoKKyAqIFRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGlzIHN0cnVjdHVyZSBhbmQgdGhlIGFzc29jaWF0ZWQgXGMgY3VzdG9tX2RhdGEKKyAqIHBhcmFtZXRlciBkZXBlbmQgb24gdGhlIHR5cGUgb2YgdGhlIGNyZWF0ZWQga2V5LgorICoKKyAqIC0gI1BTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6CisgKiAgICAgLSBcYyBmbGFnczogbXVzdCBiZSAwLgorICogICAgIC0gXGMgY3VzdG9tX2RhdGE6IHRoZSBwdWJsaWMgZXhwb25lbnQsIGluIGxpdHRsZS1lbmRpYW4gb3JkZXIuCisgKiAgICAgICBUaGlzIG11c3QgYmUgYW4gb2RkIGludGVnZXIgYW5kIG11c3Qgbm90IGJlIDEuCisgKiAgICAgICBJbXBsZW1lbnRhdGlvbnMgbXVzdCBzdXBwb3J0IDY1NTM3LCBzaG91bGQgc3VwcG9ydCAzIGFuZCBtYXkKKyAqICAgICAgIHN1cHBvcnQgb3RoZXIgdmFsdWVzLgorICogICAgICAgV2hlbiBub3QgdXNpbmcgYSBkcml2ZXIsIE1iZWQgVExTIHN1cHBvcnRzIHZhbHVlcyB1cCB0byBcYyBJTlRfTUFYLgorICogICAgICAgSWYgdGhpcyBpcyBlbXB0eSwgdGhlIGRlZmF1bHQgdmFsdWUgNjU1MzcgaXMgdXNlZC4KKyAqIC0gT3RoZXIga2V5IHR5cGVzOiByZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4gXGMgZmxhZ3MgbXVzdCBiZSAwLgorICovCit0eXBlZGVmIHN0cnVjdCBwc2FfY3VzdG9tX2tleV9wYXJhbWV0ZXJzX3MgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190OworCisvKiogXGJyaWVmIEN1c3RvbSBwYXJhbWV0ZXJzIGZvciBrZXkgZ2VuZXJhdGlvbiBvciBrZXkgZGVyaXZhdGlvbi4KKyAqCiAgKiBUaGlzIGlzIGEgc3RydWN0dXJlIHR5cGUgd2l0aCBhdCBsZWFzdCB0aGUgZm9sbG93aW5nIGZpZWxkczoKICAqCiAgKiAtIFxjIGZsYWdzOiBhbiB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUuIDAgZm9yIHRoZSBkZWZhdWx0IHByb2R1Y3Rpb24gcGFyYW1ldGVycy4KZGlmZiAtLWdpdCBhL2xpYnJhcnkvQ01ha2VMaXN0cy50eHQgYi9saWJyYXJ5L0NNYWtlTGlzdHMudHh0CmluZGV4IDM3YTk3MjQuLjRiZTlhNTQgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvQ01ha2VMaXN0cy50eHQKKysrIGIvbGlicmFyeS9DTWFrZUxpc3RzLnR4dApAQCAtMTY2LDExICsxNjYsMTEgQEAKICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9zc2xfZGVidWdfaGVscGVyc19nZW5lcmF0ZWQuYwogICAgICAgICBDT01NQU5ECiAgICAgICAgICAgICAke01CRURUTFNfUFlUSE9OX0VYRUNVVEFCTEV9Ci0gICAgICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3NjcmlwdHMvZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkKKyAgICAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkKICAgICAgICAgICAgICAgICAtLW1iZWR0bHMtcm9vdCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4KICAgICAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0KICAgICAgICAgREVQRU5EUwotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3NjcmlwdHMvZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9zc2xfZGVidWdfaGVscGVycy5weQogICAgICAgICAgICAgJHtlcnJvcl9oZWFkZXJzfQogICAgICkKIApAQCAtMTk3LDExICsxOTcsMTEgQEAKIGVuZGlmKCkKIAogaWYoQ01BS0VfQ09NUElMRVJfSVNfR05VQ0MpCi0gICAgc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFHU30gLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyIpCisgICAgc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFHU30gLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyIpCiBlbmRpZihDTUFLRV9DT01QSUxFUl9JU19HTlVDQykKIAogaWYoQ01BS0VfQ09NUElMRVJfSVNfQ0xBTkcpCi0gICAgc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFHU30gLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV2RvY3VtZW50YXRpb24gLVduby1kb2N1bWVudGF0aW9uLWRlcHJlY2F0ZWQtc3luYyAtV3VucmVhY2hhYmxlLWNvZGUiKQorICAgIHNldChDTUFLRV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdkb2N1bWVudGF0aW9uIC1Xbm8tZG9jdW1lbnRhdGlvbi1kZXByZWNhdGVkLXN5bmMgLVd1bnJlYWNoYWJsZS1jb2RlIikKIGVuZGlmKENNQUtFX0NPTVBJTEVSX0lTX0NMQU5HKQogCiBpZihDTUFLRV9DT01QSUxFUl9JU19NU1ZDKQpAQCAtMzAwLDcgKzMwMCw3IEBACiBpZihVU0VfU0hBUkVEX01CRURUTFNfTElCUkFSWSkKICAgICBzZXQoQ01BS0VfTElCUkFSWV9QQVRIICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfSkKICAgICBhZGRfbGlicmFyeSgke21iZWRjcnlwdG9fdGFyZ2V0fSBTSEFSRUQgJHtzcmNfY3J5cHRvfSkKLSAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHttYmVkY3J5cHRvX3RhcmdldH0gUFJPUEVSVElFUyBWRVJTSU9OIDMuNi4wIFNPVkVSU0lPTiAxNikKKyAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHttYmVkY3J5cHRvX3RhcmdldH0gUFJPUEVSVElFUyBWRVJTSU9OIDMuNi4yIFNPVkVSU0lPTiAxNikKICAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoJHttYmVkY3J5cHRvX3RhcmdldH0gUFVCTElDICR7bGlic30pCiAKICAgICBpZihUQVJHRVQgJHtldmVyZXN0X3RhcmdldH0pCkBAIC0zMTIsMTEgKzMxMiwxMSBAQAogICAgIGVuZGlmKCkKIAogICAgIGFkZF9saWJyYXJ5KCR7bWJlZHg1MDlfdGFyZ2V0fSBTSEFSRUQgJHtzcmNfeDUwOX0pCi0gICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7bWJlZHg1MDlfdGFyZ2V0fSBQUk9QRVJUSUVTIFZFUlNJT04gMy42LjAgU09WRVJTSU9OIDcpCisgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7bWJlZHg1MDlfdGFyZ2V0fSBQUk9QRVJUSUVTIFZFUlNJT04gMy42LjIgU09WRVJTSU9OIDcpCiAgICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7bWJlZHg1MDlfdGFyZ2V0fSBQVUJMSUMgJHtsaWJzfSAke21iZWRjcnlwdG9fdGFyZ2V0fSkKIAogICAgIGFkZF9saWJyYXJ5KCR7bWJlZHRsc190YXJnZXR9IFNIQVJFRCAke3NyY190bHN9KQotICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke21iZWR0bHNfdGFyZ2V0fSBQUk9QRVJUSUVTIFZFUlNJT04gMy42LjAgU09WRVJTSU9OIDIxKQorICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke21iZWR0bHNfdGFyZ2V0fSBQUk9QRVJUSUVTIFZFUlNJT04gMy42LjIgU09WRVJTSU9OIDIxKQogICAgIHRhcmdldF9saW5rX2xpYnJhcmllcygke21iZWR0bHNfdGFyZ2V0fSBQVUJMSUMgJHtsaWJzfSAke21iZWR4NTA5X3RhcmdldH0pCiBlbmRpZihVU0VfU0hBUkVEX01CRURUTFNfTElCUkFSWSkKIApkaWZmIC0tZ2l0IGEvbGlicmFyeS9NYWtlZmlsZSBiL2xpYnJhcnkvTWFrZWZpbGUKaW5kZXggMzg4ZmNlYS4uZWIzYjkwMSAxMDA2NDQKLS0tIGEvbGlicmFyeS9NYWtlZmlsZQorKysgYi9saWJyYXJ5L01ha2VmaWxlCkBAIC0zMzcsNiArMzM3LDEwIEBACiAJZWNobyAiICBDQyAgICAkPCIKIAkkKENDKSAkKExPQ0FMX0NGTEFHUykgJChDRkxBR1MpIC1vICRAIC1jICQ8CiAKKy5jLnM6CisJZWNobyAiICBDQyAgICAkPCIKKwkkKENDKSAkKExPQ0FMX0NGTEFHUykgJChDRkxBR1MpIC1TIC1vICRAIC1jICQ8CisKIC5QSE9OWTogZ2VuZXJhdGVkX2ZpbGVzCiBnZW5lcmF0ZWRfZmlsZXM6ICQoR0VORVJBVEVEX0ZJTEVTKQogCkBAIC0zNTUsMTEgKzM1OSwxMSBAQAogCWVjaG8gIiAgR2VuICAgJEAiCiAJJChQRVJMKSAuLi9zY3JpcHRzL2dlbmVyYXRlX2Vycm9ycy5wbAogCi1zc2xfZGVidWdfaGVscGVyc19nZW5lcmF0ZWQuYzogJChnZW5fZmlsZV9kZXApIC4uL3NjcmlwdHMvZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkKK3NzbF9kZWJ1Z19oZWxwZXJzX2dlbmVyYXRlZC5jOiAkKGdlbl9maWxlX2RlcCkgLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkKIHNzbF9kZWJ1Z19oZWxwZXJzX2dlbmVyYXRlZC5jOiAkKGdlbl9maWxlX2RlcCkgJChmaWx0ZXItb3V0ICVjb25maWclLCQod2lsZGNhcmQgLi4vaW5jbHVkZS9tYmVkdGxzLyouaCkpCiBzc2xfZGVidWdfaGVscGVyc19nZW5lcmF0ZWQuYzoKIAllY2hvICIgIEdlbiAgICRAIgotCSQoUFlUSE9OKSAuLi9zY3JpcHRzL2dlbmVyYXRlX3NzbF9kZWJ1Z19oZWxwZXJzLnB5IC0tbWJlZHRscy1yb290IC4uIC4KKwkkKFBZVEhPTikgLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkgLS1tYmVkdGxzLXJvb3QgLi4gLgogCiB2ZXJzaW9uX2ZlYXR1cmVzLmM6ICQoZ2VuX2ZpbGVfZGVwKSAuLi9zY3JpcHRzL2dlbmVyYXRlX2ZlYXR1cmVzLnBsCiB2ZXJzaW9uX2ZlYXR1cmVzLmM6ICQoZ2VuX2ZpbGVfZGVwKSAuLi9zY3JpcHRzL2RhdGFfZmlsZXMvdmVyc2lvbl9mZWF0dXJlcy5mbXQKQEAgLTM4NywxMiArMzkxLDEzIEBACiAKIGNsZWFuOgogaWZuZGVmIFdJTkRPV1MKLQlybSAtZiAqLm8gbGlibWJlZCoKLQlybSAtZiAkKFRISVJEUEFSVFlfQ1JZUFRPX09CSkVDVFMpCisJcm0gLWYgKi5vICoucyBsaWJtYmVkKgorCXJtIC1mICQoVEhJUkRQQVJUWV9DUllQVE9fT0JKRUNUUykgJChUSElSRFBBUlRZX0NSWVBUT19PQkpFQ1RTOi5vPS5zKQogZWxzZQogCWlmIGV4aXN0ICoubyBkZWwgL1EgL0YgKi5vCisJaWYgZXhpc3QgKi5zIGRlbCAvUSAvRiAqLnMKIAlpZiBleGlzdCBsaWJtYmVkKiBkZWwgL1EgL0YgbGlibWJlZCoKLQlkZWwgL1EgL0YgZGVsX2Vycm9yc19vdXRfaWZfdGhlX2ZpbGVfbGlzdF9pc19lbXB0eV9idXRfbm90X2lmX2FfZmlsZV9kb2VzX25vdF9leGlzdCAkKHN1YnN0IC8sXCwkKFRISVJEUEFSVFlfQ1JZUFRPX09CSkVDVFMpKQorCWRlbCAvUSAvRiBkZWxfZXJyb3JzX291dF9pZl90aGVfZmlsZV9saXN0X2lzX2VtcHR5X2J1dF9ub3RfaWZfYV9maWxlX2RvZXNfbm90X2V4aXN0ICQoc3Vic3QgLyxcLCQoVEhJUkRQQVJUWV9DUllQVE9fT0JKRUNUUykgJChUSElSRFBBUlRZX0NSWVBUT19PQkpFQ1RTOi5vPS5zKSkKIGVuZGlmCiAKIG5lYXQ6IGNsZWFuCmRpZmYgLS1naXQgYS9saWJyYXJ5L2JpZ251bS5jIGIvbGlicmFyeS9iaWdudW0uYwppbmRleCBjNDVmZDViLi40MjQ0OTA5IDEwMDY0NAotLS0gYS9saWJyYXJ5L2JpZ251bS5jCisrKyBiL2xpYnJhcnkvYmlnbnVtLmMKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIm1iZWR0bHMvYmlnbnVtLmgiCiAjaW5jbHVkZSAiYmlnbnVtX2NvcmUuaCIKKyNpbmNsdWRlICJiaWdudW1faW50ZXJuYWwuaCIKICNpbmNsdWRlICJibl9tdWwuaCIKICNpbmNsdWRlICJtYmVkdGxzL3BsYXRmb3JtX3V0aWwuaCIKICNpbmNsdWRlICJtYmVkdGxzL2Vycm9yLmgiCkBAIC0xNjEwLDkgKzE2MTEsMTMgQEAKICAgICByZXR1cm4gMDsKIH0KIAotaW50IG1iZWR0bHNfbXBpX2V4cF9tb2QobWJlZHRsc19tcGkgKlgsIGNvbnN0IG1iZWR0bHNfbXBpICpBLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGkgKkUsIGNvbnN0IG1iZWR0bHNfbXBpICpOLAotICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19tcGkgKnByZWNfUlIpCisvKgorICogV2FybmluZyEgSWYgdGhlIHBhcmFtZXRlciBFX3B1YmxpYyBoYXMgTUJFRFRMU19NUElfSVNfUFVCTElDIGFzIGl0cyB2YWx1ZSwKKyAqIHRoaXMgZnVuY3Rpb24gaXMgbm90IGNvbnN0YW50IHRpbWUgd2l0aCByZXNwZWN0IHRvIHRoZSBleHBvbmVudCAocGFyYW1ldGVyIEUpLgorICovCitzdGF0aWMgaW50IG1iZWR0bHNfbXBpX2V4cF9tb2Rfb3B0aW9uYWxseV9zYWZlKG1iZWR0bHNfbXBpICpYLCBjb25zdCBtYmVkdGxzX21waSAqQSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGkgKkUsIGludCBFX3B1YmxpYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGkgKk4sIG1iZWR0bHNfbXBpICpwcmVjX1JSKQogewogICAgIGludCByZXQgPSBNQkVEVExTX0VSUl9FUlJPUl9DT1JSVVBUSU9OX0RFVEVDVEVEOwogCkBAIC0xNjk1LDcgKzE3MDAsMTEgQEAKICAgICB7CiAgICAgICAgIG1iZWR0bHNfbXBpX3VpbnQgbW0gPSBtYmVkdGxzX21waV9jb3JlX21vbnRtdWxfaW5pdChOLT5wKTsKICAgICAgICAgbWJlZHRsc19tcGlfY29yZV90b19tb250X3JlcChYLT5wLCBYLT5wLCBOLT5wLCBOLT5uLCBtbSwgUlIucCwgVCk7Ci0gICAgICAgIG1iZWR0bHNfbXBpX2NvcmVfZXhwX21vZChYLT5wLCBYLT5wLCBOLT5wLCBOLT5uLCBFLT5wLCBFLT5uLCBSUi5wLCBUKTsKKyAgICAgICAgaWYgKEVfcHVibGljID09IE1CRURUTFNfTVBJX0lTX1BVQkxJQykgeworICAgICAgICAgICAgbWJlZHRsc19tcGlfY29yZV9leHBfbW9kX3Vuc2FmZShYLT5wLCBYLT5wLCBOLT5wLCBOLT5uLCBFLT5wLCBFLT5uLCBSUi5wLCBUKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1iZWR0bHNfbXBpX2NvcmVfZXhwX21vZChYLT5wLCBYLT5wLCBOLT5wLCBOLT5uLCBFLT5wLCBFLT5uLCBSUi5wLCBUKTsKKyAgICAgICAgfQogICAgICAgICBtYmVkdGxzX21waV9jb3JlX2Zyb21fbW9udF9yZXAoWC0+cCwgWC0+cCwgTi0+cCwgTi0+biwgbW0sIFQpOwogICAgIH0KIApAQCAtMTcyMCw2ICsxNzI5LDIwIEBACiAgICAgcmV0dXJuIHJldDsKIH0KIAoraW50IG1iZWR0bHNfbXBpX2V4cF9tb2QobWJlZHRsc19tcGkgKlgsIGNvbnN0IG1iZWR0bHNfbXBpICpBLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGkgKkUsIGNvbnN0IG1iZWR0bHNfbXBpICpOLAorICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19tcGkgKnByZWNfUlIpCit7CisgICAgcmV0dXJuIG1iZWR0bHNfbXBpX2V4cF9tb2Rfb3B0aW9uYWxseV9zYWZlKFgsIEEsIEUsIE1CRURUTFNfTVBJX0lTX1NFQ1JFVCwgTiwgcHJlY19SUik7Cit9CisKK2ludCBtYmVkdGxzX21waV9leHBfbW9kX3Vuc2FmZShtYmVkdGxzX21waSAqWCwgY29uc3QgbWJlZHRsc19tcGkgKkEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGkgKkUsIGNvbnN0IG1iZWR0bHNfbXBpICpOLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfbXBpICpwcmVjX1JSKQoreworICAgIHJldHVybiBtYmVkdGxzX21waV9leHBfbW9kX29wdGlvbmFsbHlfc2FmZShYLCBBLCBFLCBNQkVEVExTX01QSV9JU19QVUJMSUMsIE4sIHByZWNfUlIpOworfQorCiAvKgogICogR3JlYXRlc3QgY29tbW9uIGRpdmlzb3I6IEcgPSBnY2QoQSwgQikgIChIQUMgMTQuNTQpCiAgKi8KZGlmZiAtLWdpdCBhL2xpYnJhcnkvYmlnbnVtX2NvcmUuYyBiL2xpYnJhcnkvYmlnbnVtX2NvcmUuYwppbmRleCAxYTNlMGI5Li44ODU4MmMyIDEwMDY0NAotLS0gYS9saWJyYXJ5L2JpZ251bV9jb3JlLmMKKysrIGIvbGlicmFyeS9iaWdudW1fY29yZS5jCkBAIC03NDYsOCArNzQ2LDk2IEBACiAgICAgfQogfQogCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCit2b2lkICgqbWJlZHRsc19zYWZlX2NvZGVwYXRoX2hvb2spKHZvaWQpID0gTlVMTDsKK3ZvaWQgKCptYmVkdGxzX3Vuc2FmZV9jb2RlcGF0aF9ob29rKSh2b2lkKSA9IE5VTEw7CisjZW5kaWYKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY2FsY3VsYXRlcyB0aGUgaW5kaWNlcyBvZiB0aGUgZXhwb25lbnQgd2hlcmUgdGhlIGV4cG9uZW50aWF0aW9uIGFsZ29yaXRobSBzaG91bGQKKyAqIHN0YXJ0IHByb2Nlc3NpbmcuCisgKgorICogV2FybmluZyEgSWYgdGhlIHBhcmFtZXRlciBFX3B1YmxpYyBoYXMgTUJFRFRMU19NUElfSVNfUFVCTElDIGFzIGl0cyB2YWx1ZSwKKyAqIHRoaXMgZnVuY3Rpb24gaXMgbm90IGNvbnN0YW50IHRpbWUgd2l0aCByZXNwZWN0IHRvIHRoZSBleHBvbmVudCAocGFyYW1ldGVyIEUpLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgZXhwX21vZF9jYWxjX2ZpcnN0X2JpdF9vcHRpb25hbGx5X3NhZmUoY29uc3QgbWJlZHRsc19tcGlfdWludCAqRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgRV9saW1icywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgRV9wdWJsaWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpFX2xpbWJfaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpFX2JpdF9pbmRleCkKK3sKKyAgICBpZiAoRV9wdWJsaWMgPT0gTUJFRFRMU19NUElfSVNfUFVCTElDKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIFNraXAgbGVhZGluZyB6ZXJvIGJpdHMuCisgICAgICAgICAqLworICAgICAgICBzaXplX3QgRV9iaXRzID0gbWJlZHRsc19tcGlfY29yZV9iaXRsZW4oRSwgRV9saW1icyk7CisgICAgICAgIGlmIChFX2JpdHMgPT0gMCkgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIElmIEUgaXMgMCBtYmVkdGxzX21waV9jb3JlX2JpdGxlbigpIHJldHVybnMgMC4gRXZlbiBpZiB0aGF0IGlzIHRoZSBjYXNlLCB3ZSB3aWxsIHdhbnQKKyAgICAgICAgICAgICAqIHRvIHJlcHJlc2VudCBpdCBhcyBhIHNpbmdsZSAwIGJpdCBhbmQgYXMgc3VjaCB0aGUgYml0bGVuZ3RoIHdpbGwgYmUgMS4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgRV9iaXRzID0gMTsKKyAgICAgICAgfQorCisgICAgICAgICpFX2xpbWJfaW5kZXggPSBFX2JpdHMgLyBiaUw7CisgICAgICAgICpFX2JpdF9pbmRleCA9IEVfYml0cyAlIGJpTDsKKworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgICAgICBpZiAobWJlZHRsc191bnNhZmVfY29kZXBhdGhfaG9vayAhPSBOVUxMKSB7CisgICAgICAgICAgICBtYmVkdGxzX3Vuc2FmZV9jb2RlcGF0aF9ob29rKCk7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAgIC8qCisgICAgICAgICAqIEhlcmUgd2UgbmVlZCB0byBiZSBjb25zdGFudCB0aW1lIHdpdGggcmVzcGVjdCB0byBFIGFuZCBjYW4ndCBkbyBhbnl0aGluZyBiZXR0ZXIgdGhhbgorICAgICAgICAgKiBzdGFydCBhdCB0aGUgZmlyc3QgYWxsb2NhdGVkIGJpdC4KKyAgICAgICAgICovCisgICAgICAgICpFX2xpbWJfaW5kZXggPSBFX2xpbWJzOworICAgICAgICAqRV9iaXRfaW5kZXggPSAwOworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgICAgICBpZiAobWJlZHRsc19zYWZlX2NvZGVwYXRoX2hvb2sgIT0gTlVMTCkgeworICAgICAgICAgICAgbWJlZHRsc19zYWZlX2NvZGVwYXRoX2hvb2soKTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorfQorCisvKgorICogV2FybmluZyEgSWYgdGhlIHBhcmFtZXRlciB3aW5kb3dfcHVibGljIGhhcyBNQkVEVExTX01QSV9JU19QVUJMSUMgYXMgaXRzIHZhbHVlLCB0aGlzIGZ1bmN0aW9uIGlzCisgKiBub3QgY29uc3RhbnQgdGltZSB3aXRoIHJlc3BlY3QgdG8gdGhlIHdpbmRvdyBwYXJhbWV0ZXIgYW5kIGNvbnNlcXVlbnRseSB0aGUgZXhwb25lbnQgb2YgdGhlCisgKiBleHBvbmVudGlhdGlvbiAocGFyYW1ldGVyIEUgb2YgbWJlZHRsc19tcGlfY29yZV9leHBfbW9kX29wdGlvbmFsbHlfc2FmZSkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBleHBfbW9kX3RhYmxlX2xvb2t1cF9vcHRpb25hbGx5X3NhZmUobWJlZHRsc19tcGlfdWludCAqV3NlbGVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19tcGlfdWludCAqV3RhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgQU5fbGltYnMsIHNpemVfdCB3ZWxlbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19tcGlfdWludCB3aW5kb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aW5kb3dfcHVibGljKQoreworICAgIGlmICh3aW5kb3dfcHVibGljID09IE1CRURUTFNfTVBJX0lTX1BVQkxJQykgeworICAgICAgICBtZW1jcHkoV3NlbGVjdCwgV3RhYmxlICsgd2luZG93ICogQU5fbGltYnMsIEFOX2xpbWJzICogY2lMKTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICAgICAgaWYgKG1iZWR0bHNfdW5zYWZlX2NvZGVwYXRoX2hvb2sgIT0gTlVMTCkgeworICAgICAgICAgICAgbWJlZHRsc191bnNhZmVfY29kZXBhdGhfaG9vaygpOworICAgICAgICB9CisjZW5kaWYKKyAgICB9IGVsc2UgeworICAgICAgICAvKiBTZWxlY3QgV3RhYmxlW3dpbmRvd10gd2l0aG91dCBsZWFraW5nIHdpbmRvdyB0aHJvdWdoCisgICAgICAgICAqIG1lbW9yeSBhY2Nlc3MgcGF0dGVybnMuICovCisgICAgICAgIG1iZWR0bHNfbXBpX2NvcmVfY3RfdWludF90YWJsZV9sb29rdXAoV3NlbGVjdCwgV3RhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFOX2xpbWJzLCB3ZWxlbSwgd2luZG93KTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICAgICAgaWYgKG1iZWR0bHNfc2FmZV9jb2RlcGF0aF9ob29rICE9IE5VTEwpIHsKKyAgICAgICAgICAgIG1iZWR0bHNfc2FmZV9jb2RlcGF0aF9ob29rKCk7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KK30KKwogLyogRXhwb25lbnRpYXRpb246IFggOj0gQV5FIG1vZCBOLgogICoKKyAqIFdhcm5pbmchIElmIHRoZSBwYXJhbWV0ZXIgRV9wdWJsaWMgaGFzIE1CRURUTFNfTVBJX0lTX1BVQkxJQyBhcyBpdHMgdmFsdWUsCisgKiB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBjb25zdGFudCB0aW1lIHdpdGggcmVzcGVjdCB0byB0aGUgZXhwb25lbnQgKHBhcmFtZXRlciBFKS4KKyAqCiAgKiBBIG11c3QgYWxyZWFkeSBiZSBpbiBNb250Z29tZXJ5IGZvcm0uCiAgKgogICogQXMgaW4gb3RoZXIgYmlnbnVtIGZ1bmN0aW9ucywgYXNzdW1lIHRoYXQgQU5fbGltYnMgYW5kIEVfbGltYnMgYXJlIG5vbnplcm8uCkBAIC03NTgsMTYgKzg0NiwyNSBAQAogICogKFRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgdGhlIGJvZHkgaW4gb3VyIGxvb3AgcHJvY2Vzc2VzIGEgc2luZ2xlIGJpdCBpbnN0ZWFkCiAgKiBvZiBhIGZ1bGwgd2luZG93LikKICAqLwotdm9pZCBtYmVkdGxzX21waV9jb3JlX2V4cF9tb2QobWJlZHRsc19tcGlfdWludCAqWCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1iZWR0bHNfbXBpX3VpbnQgKkEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpOLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IEFOX2xpbWJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGlfdWludCAqRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBFX2xpbWJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGlfdWludCAqUlIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX21waV91aW50ICpUKQorc3RhdGljIHZvaWQgbWJlZHRsc19tcGlfY29yZV9leHBfbW9kX29wdGlvbmFsbHlfc2FmZShtYmVkdGxzX21waV91aW50ICpYLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpBLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpOLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgQU5fbGltYnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1iZWR0bHNfbXBpX3VpbnQgKkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBFX2xpbWJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgRV9wdWJsaWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1iZWR0bHNfbXBpX3VpbnQgKlJSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX21waV91aW50ICpUKQogewotICAgIGNvbnN0IHNpemVfdCB3c2l6ZSA9IGV4cF9tb2RfZ2V0X3dpbmRvd19zaXplKEVfbGltYnMgKiBiaUwpOworICAgIC8qIFdlJ2xsIHByb2Nlc3MgdGhlIGJpdHMgb2YgRSBmcm9tIG1vc3Qgc2lnbmlmaWNhbnQKKyAgICAgKiAobGltYl9pbmRleD1FX2xpbWJzLTEsIEVfYml0X2luZGV4PWJpTC0xKSB0byBsZWFzdCBzaWduaWZpY2FudAorICAgICAqIChsaW1iX2luZGV4PTAsIEVfYml0X2luZGV4PTApLiAqLworICAgIHNpemVfdCBFX2xpbWJfaW5kZXggPSBFX2xpbWJzOworICAgIHNpemVfdCBFX2JpdF9pbmRleCA9IDA7CisgICAgZXhwX21vZF9jYWxjX2ZpcnN0X2JpdF9vcHRpb25hbGx5X3NhZmUoRSwgRV9saW1icywgRV9wdWJsaWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkVfbGltYl9pbmRleCwgJkVfYml0X2luZGV4KTsKKworICAgIGNvbnN0IHNpemVfdCB3c2l6ZSA9IGV4cF9tb2RfZ2V0X3dpbmRvd19zaXplKEVfbGltYl9pbmRleCAqIGJpTCk7CiAgICAgY29uc3Qgc2l6ZV90IHdlbGVtID0gKChzaXplX3QpIDEpIDw8IHdzaXplOwogCiAgICAgLyogVGhpcyBpcyBob3cgd2Ugd2lsbCB1c2UgdGhlIHRlbXBvcmFyeSBzdG9yYWdlIFQsIHdoaWNoIG11c3QgaGF2ZSBzcGFjZQpAQCAtNzg2LDcgKzg4Myw3IEBACiAKICAgICBjb25zdCBtYmVkdGxzX21waV91aW50IG1tID0gbWJlZHRsc19tcGlfY29yZV9tb250bXVsX2luaXQoTik7CiAKLSAgICAvKiBTZXQgV3RhYmxlW2ldID0gQV4oMl5pKSAoaW4gTW9udGdvbWVyeSByZXByZXNlbnRhdGlvbikgKi8KKyAgICAvKiBTZXQgV3RhYmxlW2ldID0gQV5pIChpbiBNb250Z29tZXJ5IHJlcHJlc2VudGF0aW9uKSAqLwogICAgIGV4cF9tb2RfcHJlY29tcHV0ZV93aW5kb3coQSwgTiwgQU5fbGltYnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbSwgUlIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWxlbSwgV3RhYmxlLCB0ZW1wKTsKQEAgLTc5OCwxMSArODk1LDYgQEAKICAgICAvKiBYID0gMSAoaW4gTW9udGdvbWVyeSBwcmVzZW50YXRpb24pIGluaXRpYWxseSAqLwogICAgIG1lbWNweShYLCBXdGFibGUsIEFOX2xpbWJzICogY2lMKTsKIAotICAgIC8qIFdlJ2xsIHByb2Nlc3MgdGhlIGJpdHMgb2YgRSBmcm9tIG1vc3Qgc2lnbmlmaWNhbnQKLSAgICAgKiAobGltYl9pbmRleD1FX2xpbWJzLTEsIEVfYml0X2luZGV4PWJpTC0xKSB0byBsZWFzdCBzaWduaWZpY2FudAotICAgICAqIChsaW1iX2luZGV4PTAsIEVfYml0X2luZGV4PTApLiAqLwotICAgIHNpemVfdCBFX2xpbWJfaW5kZXggPSBFX2xpbWJzOwotICAgIHNpemVfdCBFX2JpdF9pbmRleCA9IDA7CiAgICAgLyogQXQgYW55IGdpdmVuIHRpbWUsIHdpbmRvdyBjb250YWlucyB3aW5kb3dfYml0cyBiaXRzIGZyb20gRS4KICAgICAgKiB3aW5kb3dfYml0cyBjYW4gZ28gdXAgdG8gd3NpemUuICovCiAgICAgc2l6ZV90IHdpbmRvd19iaXRzID0gMDsKQEAgLTgyOCwxMCArOTIwLDkgQEAKICAgICAgICAgICogd2hlbiB3ZSd2ZSBmaW5pc2hlZCBwcm9jZXNzaW5nIHRoZSBleHBvbmVudC4gKi8KICAgICAgICAgaWYgKHdpbmRvd19iaXRzID09IHdzaXplIHx8CiAgICAgICAgICAgICAoRV9iaXRfaW5kZXggPT0gMCAmJiBFX2xpbWJfaW5kZXggPT0gMCkpIHsKLSAgICAgICAgICAgIC8qIFNlbGVjdCBXdGFibGVbd2luZG93XSB3aXRob3V0IGxlYWtpbmcgd2luZG93IHRocm91Z2gKLSAgICAgICAgICAgICAqIG1lbW9yeSBhY2Nlc3MgcGF0dGVybnMuICovCi0gICAgICAgICAgICBtYmVkdGxzX21waV9jb3JlX2N0X3VpbnRfdGFibGVfbG9va3VwKFdzZWxlY3QsIFd0YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5fbGltYnMsIHdlbGVtLCB3aW5kb3cpOworCisgICAgICAgICAgICBleHBfbW9kX3RhYmxlX2xvb2t1cF9vcHRpb25hbGx5X3NhZmUoV3NlbGVjdCwgV3RhYmxlLCBBTl9saW1icywgd2VsZW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LCBFX3B1YmxpYyk7CiAgICAgICAgICAgICAvKiBNdWx0aXBseSBYIGJ5IHRoZSBzZWxlY3RlZCBlbGVtZW50LiAqLwogICAgICAgICAgICAgbWJlZHRsc19tcGlfY29yZV9tb250bXVsKFgsIFgsIFdzZWxlY3QsIEFOX2xpbWJzLCBOLCBBTl9saW1icywgbW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCk7CkBAIC04NDEsNiArOTMyLDQyIEBACiAgICAgfSB3aGlsZSAoIShFX2JpdF9pbmRleCA9PSAwICYmIEVfbGltYl9pbmRleCA9PSAwKSk7CiB9CiAKK3ZvaWQgbWJlZHRsc19tcGlfY29yZV9leHBfbW9kKG1iZWR0bHNfbXBpX3VpbnQgKlgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpBLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGlfdWludCAqTiwgc2l6ZV90IEFOX2xpbWJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGlfdWludCAqRSwgc2l6ZV90IEVfbGltYnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpSUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfbXBpX3VpbnQgKlQpCit7CisgICAgbWJlZHRsc19tcGlfY29yZV9leHBfbW9kX29wdGlvbmFsbHlfc2FmZShYLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTl9saW1icywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFX2xpbWJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19NUElfSVNfU0VDUkVULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUKTsKK30KKwordm9pZCBtYmVkdGxzX21waV9jb3JlX2V4cF9tb2RfdW5zYWZlKG1iZWR0bHNfbXBpX3VpbnQgKlgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGlfdWludCAqQSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpOLCBzaXplX3QgQU5fbGltYnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGlfdWludCAqRSwgc2l6ZV90IEVfbGltYnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGlfdWludCAqUlIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19tcGlfdWludCAqVCkKK3sKKyAgICBtYmVkdGxzX21waV9jb3JlX2V4cF9tb2Rfb3B0aW9uYWxseV9zYWZlKFgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFOX2xpbWJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVfbGltYnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX01QSV9JU19QVUJMSUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFQpOworfQorCiBtYmVkdGxzX21waV91aW50IG1iZWR0bHNfbXBpX2NvcmVfc3ViX2ludChtYmVkdGxzX21waV91aW50ICpYLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGlfdWludCAqQSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfbXBpX3VpbnQgYywgIC8qIGRvdWJsZXMgYXMgY2FycnkgKi8KZGlmZiAtLWdpdCBhL2xpYnJhcnkvYmlnbnVtX2NvcmUuaCBiL2xpYnJhcnkvYmlnbnVtX2NvcmUuaAppbmRleCA5MmM4ZDQ3Li4yNjRlZTYzIDEwMDY0NAotLS0gYS9saWJyYXJ5L2JpZ251bV9jb3JlLmgKKysrIGIvbGlicmFyeS9iaWdudW1fY29yZS5oCkBAIC03MCw5ICs3MCw3IEBACiAKICNpbmNsdWRlICJjb21tb24uaCIKIAotI2lmIGRlZmluZWQoTUJFRFRMU19CSUdOVU1fQykKICNpbmNsdWRlICJtYmVkdGxzL2JpZ251bS5oIgotI2VuZGlmCiAKICNpbmNsdWRlICJjb25zdGFudF90aW1lX2ludGVybmFsLmgiCiAKQEAgLTkwLDYgKzg4LDM0IEBACiAjZGVmaW5lIEdFVF9CWVRFKFgsIGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgKCgoWClbKGkpIC8gY2lMXSA+PiAoKChpKSAlIGNpTCkgKiA4KSkgJiAweGZmKQogCisvKiBDb25zdGFudHMgdG8gaWRlbnRpZnkgd2hldGhlciBhIHZhbHVlIGlzIHB1YmxpYyBvciBzZWNyZXQuIElmIGEgcGFyYW1ldGVyIGlzIG1hcmtlZCBhcyBzZWNyZXQgYnkKKyAqIHRoaXMgY29uc3RhbnQsIHRoZSBmdW5jdGlvbiBtdXN0IGJlIGNvbnN0YW50IHRpbWUgd2l0aCByZXNwZWN0IHRvIHRoZSBwYXJhbWV0ZXIuCisgKgorICogVGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgZnVuY3Rpb25zIHdpdGggdGhlIF9vcHRpb25hbGx5X3NhZmUgcG9zdGZpeC4gQWxsIG90aGVyIGZ1bmN0aW9ucyBoYXZlCisgKiBmaXhlZCBiZWhhdmlvciB0aGF0IGNhbid0IGJlIGNoYW5nZWQgYXQgcnVudGltZSBhbmQgYXJlIGNvbnN0YW50IHRpbWUgd2l0aCByZXNwZWN0IHRvIHRoZWlyCisgKiBwYXJhbWV0ZXJzIGFzIHByZXNjcmliZWQgYnkgdGhlaXIgZG9jdW1lbnRhdGlvbiBvciBieSBjb252ZW50aW9ucyBpbiB0aGVpciBtb2R1bGUncyBkb2N1bWVudGF0aW9uLgorICoKKyAqIFBhcmFtZXRlcnMgc2hvdWxkIGJlIG5hbWVkIFhfcHVibGljIHdoZXJlIFggaXMgdGhlIG5hbWUgb2YgdGhlCisgKiBjb3JyZXNwb25kaW5nIGlucHV0IHBhcmFtZXRlci4KKyAqCisgKiBJbXBsZW1lbnRhdGlvbiBzaG91bGQgYWx3YXlzIGNoZWNrIHVzaW5nCisgKiAgaWYgKFhfcHVibGljID09IE1CRURUTFNfTVBJX0lTX1BVQkxJQykgeworICogICAgICAvLyB1bnNhZmUgcGF0aAorICogIH0gZWxzZSB7CisgKiAgICAgIC8vIHNhZmUgcGF0aAorICogIH0KKyAqIG5vdCB0aGUgb3RoZXIgd2F5IHJvdW5kLCBpbiBvcmRlciB0byBwcmV2ZW50IG1pc3VzZS4gKFRoYXQgaXMsIGlmIGEgdmFsdWUKKyAqIG90aGVyIHRoYW4gdGhlIHR3byBiZWxvdyBpcyBwYXNzZWQsIGRlZmF1bHQgdG8gdGhlIHNhZmUgcGF0aC4pCisgKgorICogVGhlIHZhbHVlIG9mIE1CRURUTFNfTVBJX0lTX1BVQkxJQyBpcyBjaG9zZW4gaW4gYSB3YXkgdGhhdCBpcyB1bmxpa2VseSB0byBoYXBwZW4gYnkgYWNjaWRlbnQsIGJ1dAorICogd2hpY2ggY2FuIGJlIHVzZWQgYXMgYW4gaW1tZWRpYXRlIHZhbHVlIGluIGEgVGh1bWIyIGNvbXBhcmlzb24gKGZvciBjb2RlIHNpemUpLiAqLworI2RlZmluZSBNQkVEVExTX01QSV9JU19QVUJMSUMgIDB4MmEyYTJhMmEKKyNkZWZpbmUgTUJFRFRMU19NUElfSVNfU0VDUkVUICAwCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisvLyBEZWZhdWx0IHZhbHVlIGZvciB0ZXN0aW5nIHRoYXQgaXMgbmVpdGhlciBNQkVEVExTX01QSV9JU19QVUJMSUMgbm9yIE1CRURUTFNfTVBJX0lTX1NFQ1JFVAorI2RlZmluZSBNQkVEVExTX01QSV9JU19URVNUICAxCisjZW5kaWYKKwogLyoqIENvdW50IGxlYWRpbmcgemVybyBiaXRzIGluIGEgZ2l2ZW4gaW50ZWdlci4KICAqCiAgKiBcd2FybmluZyAgICAgVGhlIHJlc3VsdCBpcyB1bmRlZmluZWQgaWYgXHAgYSA9PSAwCkBAIC02MDUsNiArNjMxLDQyIEBACiBzaXplX3QgbWJlZHRsc19tcGlfY29yZV9leHBfbW9kX3dvcmtpbmdfbGltYnMoc2l6ZV90IEFOX2xpbWJzLCBzaXplX3QgRV9saW1icyk7CiAKIC8qKgorICogXGJyaWVmICAgICAgICAgICAgUGVyZm9ybSBhIG1vZHVsYXIgZXhwb25lbnRpYXRpb24gd2l0aCBwdWJsaWMgb3Igc2VjcmV0IGV4cG9uZW50OgorICogICAgICAgICAgICAgICAgICAgWCA9IEFeRSBtb2QgTiwgd2hlcmUgXHAgQSBpcyBhbHJlYWR5IGluIE1vbnRnb21lcnkgZm9ybS4KKyAqCisgKiBcd2FybmluZyAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBjb25zdGFudCB0aW1lIHdpdGggcmVzcGVjdCB0byBccCBFICh0aGUgZXhwb25lbnQpLgorICoKKyAqIFxwIFggbWF5IGJlIGFsaWFzZWQgdG8gXHAgQSwgYnV0IG5vdCB0byBccCBSUiBvciBccCBFLCBldmVuIGlmIFxwIEVfbGltYnMgPT0KKyAqIFxwIEFOX2xpbWJzLgorICoKKyAqIFxwYXJhbVtvdXRdIFggICAgIFRoZSBkZXN0aW5hdGlvbiBNUEksIGFzIGEgbGl0dGxlIGVuZGlhbiBhcnJheSBvZiBsZW5ndGgKKyAqICAgICAgICAgICAgICAgICAgIFxwIEFOX2xpbWJzLgorICogXHBhcmFtW2luXSBBICAgICAgVGhlIGJhc2UgTVBJLCBhcyBhIGxpdHRsZSBlbmRpYW4gYXJyYXkgb2YgbGVuZ3RoIFxwIEFOX2xpbWJzLgorICogICAgICAgICAgICAgICAgICAgTXVzdCBiZSBpbiBNb250Z29tZXJ5IGZvcm0uCisgKiBccGFyYW1baW5dIE4gICAgICBUaGUgbW9kdWx1cywgYXMgYSBsaXR0bGUgZW5kaWFuIGFycmF5IG9mIGxlbmd0aCBccCBBTl9saW1icy4KKyAqIFxwYXJhbSBBTl9saW1icyAgIFRoZSBudW1iZXIgb2YgbGltYnMgaW4gXHAgWCwgXHAgQSwgXHAgTiwgXHAgUlIuCisgKiBccGFyYW1baW5dIEUgICAgICBUaGUgZXhwb25lbnQsIGFzIGEgbGl0dGxlIGVuZGlhbiBhcnJheSBvZiBsZW5ndGggXHAgRV9saW1icy4KKyAqIFxwYXJhbSBFX2xpbWJzICAgIFRoZSBudW1iZXIgb2YgbGltYnMgaW4gXHAgRS4KKyAqIFxwYXJhbVtpbl0gUlIgICAgIFRoZSBwcmVjb21wdXRlZCByZXNpZHVlIG9mIDJeezIqYmlMfSBtb2R1bG8gTiwgYXMgYSBsaXR0bGUKKyAqICAgICAgICAgICAgICAgICAgIGVuZGlhbiBhcnJheSBvZiBsZW5ndGggXHAgQU5fbGltYnMuCisgKiBccGFyYW1baW4sb3V0XSBUICBUZW1wb3Jhcnkgc3RvcmFnZSBvZiBhdCBsZWFzdCB0aGUgbnVtYmVyIG9mIGxpbWJzIHJldHVybmVkCisgKiAgICAgICAgICAgICAgICAgICBieSBgbWJlZHRsc19tcGlfY29yZV9leHBfbW9kX3dvcmtpbmdfbGltYnMoKWAuCisgKiAgICAgICAgICAgICAgICAgICBJdHMgaW5pdGlhbCBjb250ZW50IGlzIHVudXNlZCBhbmQgaXRzIGZpbmFsIGNvbnRlbnQgaXMKKyAqICAgICAgICAgICAgICAgICAgIGluZGV0ZXJtaW5hdGUuCisgKiAgICAgICAgICAgICAgICAgICBJdCBtdXN0IG5vdCBhbGlhcyBvciBvdGhlcndpc2Ugb3ZlcmxhcCBhbnkgb2YgdGhlIG90aGVyCisgKiAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLgorICogICAgICAgICAgICAgICAgICAgSXQgaXMgdXAgdG8gdGhlIGNhbGxlciB0byB6ZXJvaXplIFxwIFQgd2hlbiBpdCBpcyBubworICogICAgICAgICAgICAgICAgICAgbG9uZ2VyIG5lZWRlZCwgYW5kIGJlZm9yZSBmcmVlaW5nIGl0IGlmIGl0IHdhcyBkeW5hbWljYWxseQorICogICAgICAgICAgICAgICAgICAgYWxsb2NhdGVkLgorICovCit2b2lkIG1iZWR0bHNfbXBpX2NvcmVfZXhwX21vZF91bnNhZmUobWJlZHRsc19tcGlfdWludCAqWCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpBLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1iZWR0bHNfbXBpX3VpbnQgKk4sIHNpemVfdCBBTl9saW1icywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpFLCBzaXplX3QgRV9saW1icywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX21waV91aW50ICpSUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX21waV91aW50ICpUKTsKKworLyoqCiAgKiBcYnJpZWYgICAgICAgICAgICBQZXJmb3JtIGEgbW9kdWxhciBleHBvbmVudGlhdGlvbiB3aXRoIHNlY3JldCBleHBvbmVudDoKICAqICAgICAgICAgICAgICAgICAgIFggPSBBXkUgbW9kIE4sIHdoZXJlIFxwIEEgaXMgYWxyZWFkeSBpbiBNb250Z29tZXJ5IGZvcm0uCiAgKgpkaWZmIC0tZ2l0IGEvbGlicmFyeS9iaWdudW1fY29yZV9pbnZhc2l2ZS5oIGIvbGlicmFyeS9iaWdudW1fY29yZV9pbnZhc2l2ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2NzA5OWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJyYXJ5L2JpZ251bV9jb3JlX2ludmFzaXZlLmgKQEAgLTAsMCArMSwyMyBAQAorLyoqCisgKiBcZmlsZSBiaWdudW1fY29yZV9pbnZhc2l2ZS5oCisgKgorICogXGJyaWVmIEZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBmb3IgaW52YXNpdmUgZnVuY3Rpb25zIG9mIGJpZ251bSBjb3JlLgorICovCisvKioKKyAqICBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycworICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKyAqLworCisjaWZuZGVmIE1CRURUTFNfQklHTlVNX0NPUkVfSU5WQVNJVkVfSAorI2RlZmluZSBNQkVEVExTX0JJR05VTV9DT1JFX0lOVkFTSVZFX0gKKworI2luY2x1ZGUgImJpZ251bV9jb3JlLmgiCisKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKworZXh0ZXJuIHZvaWQgKCptYmVkdGxzX3NhZmVfY29kZXBhdGhfaG9vaykodm9pZCk7CitleHRlcm4gdm9pZCAoKm1iZWR0bHNfdW5zYWZlX2NvZGVwYXRoX2hvb2spKHZvaWQpOworCisjZW5kaWYgLyogTUJFRFRMU19URVNUX0hPT0tTICYmICFNQkVEVExTX1RIUkVBRElOR19DICovCisKKyNlbmRpZiAvKiBNQkVEVExTX0JJR05VTV9DT1JFX0lOVkFTSVZFX0ggKi8KZGlmZiAtLWdpdCBhL2xpYnJhcnkvYmlnbnVtX2ludGVybmFsLmggYi9saWJyYXJ5L2JpZ251bV9pbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjZWFmNTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJyYXJ5L2JpZ251bV9pbnRlcm5hbC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qKgorICogXGZpbGUgYmlnbnVtX2ludGVybmFsLmgKKyAqCisgKiBcYnJpZWYgSW50ZXJuYWwtb25seSBiaWdudW0gcHVibGljLWtleSBjcnlwdG9zeXN0ZW0gQVBJLgorICoKKyAqIFRoaXMgZmlsZSBkZWNsYXJlcyBiaWdudW0tcmVsYXRlZCBmdW5jdGlvbnMgdGhhdCBhcmUgdG8gYmUgdXNlZAorICogb25seSBmcm9tIHdpdGhpbiB0aGUgTWJlZCBUTFMgbGlicmFyeSBpdHNlbGYuCisgKgorICovCisvKgorICogIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisgKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgorICovCisjaWZuZGVmIE1CRURUTFNfQklHTlVNX0lOVEVSTkFMX0gKKyNkZWZpbmUgTUJFRFRMU19CSUdOVU1fSU5URVJOQUxfSAorCisvKioKKyAqIFxicmllZiAgICAgICAgICBQZXJmb3JtIGEgbW9kdWxhciBleHBvbmVudGlhdGlvbjogWCA9IEFeRSBtb2QgTgorICoKKyAqIFx3YXJuaW5nICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBjb25zdGFudCB0aW1lIHdpdGggcmVzcGVjdCB0byBccCBFICh0aGUgZXhwb25lbnQpLgorICoKKyAqIFxwYXJhbSBYICAgICAgICBUaGUgZGVzdGluYXRpb24gTVBJLiBUaGlzIG11c3QgcG9pbnQgdG8gYW4gaW5pdGlhbGl6ZWQgTVBJLgorICogICAgICAgICAgICAgICAgIFRoaXMgbXVzdCBub3QgYWxpYXMgRSBvciBOLgorICogXHBhcmFtIEEgICAgICAgIFRoZSBiYXNlIG9mIHRoZSBleHBvbmVudGlhdGlvbi4KKyAqICAgICAgICAgICAgICAgICBUaGlzIG11c3QgcG9pbnQgdG8gYW4gaW5pdGlhbGl6ZWQgTVBJLgorICogXHBhcmFtIEUgICAgICAgIFRoZSBleHBvbmVudCBNUEkuIFRoaXMgbXVzdCBwb2ludCB0byBhbiBpbml0aWFsaXplZCBNUEkuCisgKiBccGFyYW0gTiAgICAgICAgVGhlIGJhc2UgZm9yIHRoZSBtb2R1bGFyIHJlZHVjdGlvbi4gVGhpcyBtdXN0IHBvaW50IHRvIGFuCisgKiAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZWQgTVBJLgorICogXHBhcmFtIHByZWNfUlIgIEEgaGVscGVyIE1QSSBkZXBlbmRpbmcgc29sZWx5IG9uIFxwIE4gd2hpY2ggY2FuIGJlIHVzZWQgdG8KKyAqICAgICAgICAgICAgICAgICBzcGVlZC11cCBtdWx0aXBsZSBtb2R1bGFyIGV4cG9uZW50aWF0aW9ucyBmb3IgdGhlIHNhbWUgdmFsdWUKKyAqICAgICAgICAgICAgICAgICBvZiBccCBOLiBUaGlzIG1heSBiZSBcYyBOVUxMLiBJZiBpdCBpcyBub3QgXGMgTlVMTCwgaXQgbXVzdAorICogICAgICAgICAgICAgICAgIHBvaW50IHRvIGFuIGluaXRpYWxpemVkIE1QSS4gSWYgaXQgaGFzbid0IGJlZW4gdXNlZCBhZnRlcgorICogICAgICAgICAgICAgICAgIHRoZSBjYWxsIHRvIG1iZWR0bHNfbXBpX2luaXQoKSwgdGhpcyBmdW5jdGlvbiB3aWxsIGNvbXB1dGUKKyAqICAgICAgICAgICAgICAgICB0aGUgaGVscGVyIHZhbHVlIGFuZCBzdG9yZSBpdCBpbiBccCBwcmVjX1JSIGZvciByZXVzZSBvbgorICogICAgICAgICAgICAgICAgIHN1YnNlcXVlbnQgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbi4gT3RoZXJ3aXNlLCB0aGUgZnVuY3Rpb24KKyAqICAgICAgICAgICAgICAgICB3aWxsIGFzc3VtZSB0aGF0IFxwIHByZWNfUlIgaG9sZHMgdGhlIGhlbHBlciB2YWx1ZSBzZXQgYnkgYQorICogICAgICAgICAgICAgICAgIHByZXZpb3VzIGNhbGwgdG8gbWJlZHRsc19tcGlfZXhwX21vZCgpLCBhbmQgcmV1c2UgaXQuCisgKgorICogXHJldHVybiAgICAgICAgIFxjIDAgaWYgc3VjY2Vzc2Z1bC4KKyAqIFxyZXR1cm4gICAgICAgICAjTUJFRFRMU19FUlJfTVBJX0FMTE9DX0ZBSUxFRCBpZiBhIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZC4KKyAqIFxyZXR1cm4gICAgICAgICAjTUJFRFRMU19FUlJfTVBJX0JBRF9JTlBVVF9EQVRBIGlmIFxjIE4gaXMgbmVnYXRpdmUgb3IKKyAqICAgICAgICAgICAgICAgICBldmVuLCBvciBpZiBcYyBFIGlzIG5lZ2F0aXZlLgorICogXHJldHVybiAgICAgICAgIEFub3RoZXIgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBkaWZmZXJlbnQga2luZHMgb2YgZmFpbHVyZXMuCisgKgorICovCitpbnQgbWJlZHRsc19tcGlfZXhwX21vZF91bnNhZmUobWJlZHRsc19tcGkgKlgsIGNvbnN0IG1iZWR0bHNfbXBpICpBLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1iZWR0bHNfbXBpICpFLCBjb25zdCBtYmVkdGxzX21waSAqTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX21waSAqcHJlY19SUik7CisKKyNlbmRpZiAvKiBiaWdudW1faW50ZXJuYWwuaCAqLwpkaWZmIC0tZ2l0IGEvbGlicmFyeS9ibG9ja19jaXBoZXIuYyBiL2xpYnJhcnkvYmxvY2tfY2lwaGVyLmMKaW5kZXggMDRjZDdmYi4uNTFjZGNkZiAxMDA2NDQKLS0tIGEvbGlicmFyeS9ibG9ja19jaXBoZXIuYworKysgYi9saWJyYXJ5L2Jsb2NrX2NpcGhlci5jCkBAIC01MSw2ICs1MSwxMCBAQAogCiB2b2lkIG1iZWR0bHNfYmxvY2tfY2lwaGVyX2ZyZWUobWJlZHRsc19ibG9ja19jaXBoZXJfY29udGV4dF90ICpjdHgpCiB7CisgICAgaWYgKGN0eCA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICNpZiBkZWZpbmVkKE1CRURUTFNfQkxPQ0tfQ0lQSEVSX1NPTUVfUFNBKQogICAgIGlmIChjdHgtPmVuZ2luZSA9PSBNQkVEVExTX0JMT0NLX0NJUEhFUl9FTkdJTkVfUFNBKSB7CiAgICAgICAgIHBzYV9kZXN0cm95X2tleShjdHgtPnBzYV9rZXlfaWQpOwpkaWZmIC0tZ2l0IGEvbGlicmFyeS9jY20uYyBiL2xpYnJhcnkvY2NtLmMKaW5kZXggNDVlZDY5Ny4uOTY5YzZjNyAxMDA2NDQKLS0tIGEvbGlicmFyeS9jY20uYworKysgYi9saWJyYXJ5L2NjbS5jCkBAIC0xNzAsMTEgKzE3MCwxMiBAQAogICAgIH0KIAogICAgIC8qIENDTSBleHBlY3RzIG5vbi1lbXB0eSB0YWcuCi0gICAgICogQ0NNKiBhbGxvd3MgZW1wdHkgdGFnLiBGb3IgQ0NNKiB3aXRob3V0IHRhZywgaWdub3JlIHBsYWludGV4dCBsZW5ndGguCisgICAgICogQ0NNKiBhbGxvd3MgZW1wdHkgdGFnLiBGb3IgQ0NNKiB3aXRob3V0IHRhZywgdGhlIHRhZyBjYWxjdWxhdGlvbiBpcyBza2lwcGVkLgogICAgICAqLwogICAgIGlmIChjdHgtPnRhZ19sZW4gPT0gMCkgewogICAgICAgICBpZiAoY3R4LT5tb2RlID09IE1CRURUTFNfQ0NNX1NUQVJfRU5DUllQVCB8fCBjdHgtPm1vZGUgPT0gTUJFRFRMU19DQ01fU1RBUl9ERUNSWVBUKSB7CiAgICAgICAgICAgICBjdHgtPnBsYWludGV4dF9sZW4gPSAwOworICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICByZXR1cm4gTUJFRFRMU19FUlJfQ0NNX0JBRF9JTlBVVDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvbGlicmFyeS9jaXBoZXIuYyBiL2xpYnJhcnkvY2lwaGVyLmMKaW5kZXggMDY4MzY3Ny4uN2Y0YzEyMSAxMDA2NDQKLS0tIGEvbGlicmFyeS9jaXBoZXIuYworKysgYi9saWJyYXJ5L2NpcGhlci5jCkBAIC04NDksNiArODQ5LDkgQEAKICAgICB9CiAKICAgICBwYWRkaW5nX2xlbiA9IGlucHV0W2lucHV0X2xlbiAtIDFdOworICAgIGlmIChwYWRkaW5nX2xlbiA9PSAwIHx8IHBhZGRpbmdfbGVuID4gaW5wdXRfbGVuKSB7CisgICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9DSVBIRVJfSU5WQUxJRF9QQURESU5HOworICAgIH0KICAgICAqZGF0YV9sZW4gPSBpbnB1dF9sZW4gLSBwYWRkaW5nX2xlbjsKIAogICAgIG1iZWR0bHNfY3RfY29uZGl0aW9uX3QgYmFkID0gbWJlZHRsc19jdF91aW50X2d0KHBhZGRpbmdfbGVuLCBpbnB1dF9sZW4pOwpkaWZmIC0tZ2l0IGEvbGlicmFyeS9jb21tb24uaCBiL2xpYnJhcnkvY29tbW9uLmgKaW5kZXggMzkzNmZmZC4uN2JiMjY3NCAxMDA2NDQKLS0tIGEvbGlicmFyeS9jb21tb24uaAorKysgYi9saWJyYXJ5L2NvbW1vbi5oCkBAIC0zNTIsMTcgKzM1MiwxOSBAQAogI2VuZGlmCiAKIC8qIEFsd2F5cyBwcm92aWRlIGEgc3RhdGljIGFzc2VydCBtYWNybywgc28gaXQgY2FuIGJlIHVzZWQgdW5jb25kaXRpb25hbGx5LgotICogSXQgd2lsbCBleHBhbmQgdG8gbm90aGluZyBvbiBzb21lIHN5c3RlbXMuCi0gKiBDYW4gYmUgdXNlZCBvdXRzaWRlIGZ1bmN0aW9ucyAoYnV0IGRvbid0IGFkZCBhIHRyYWlsaW5nICc7JyBpbiB0aGF0IGNhc2U6Ci0gKiB0aGUgc2VtaWNvbG9uIGlzIGluY2x1ZGVkIGhlcmUgdG8gYXZvaWQgdHJpZ2dlcmluZyAtV2V4dHJhLXNlbWkgd2hlbgotICogTUJFRFRMU19TVEFUSUNfQVNTRVJUKCkgZXhwYW5kcyB0byBub3RoaW5nKS4KLSAqIENhbid0IHVzZSB0aGUgQzExLXN0eWxlIGBkZWZpbmVkKHN0YXRpY19hc3NlcnQpYCBvbiBGcmVlQlNELCBzaW5jZSBpdAorICogSXQgZG9lcyBub3RoaW5nIG9uIHN5c3RlbXMgd2hlcmUgd2UgZG9uJ3Qga25vdyBob3cgdG8gZGVmaW5lIGEgc3RhdGljIGFzc2VydC4KKyAqLworLyogQ2FuJ3QgdXNlIHRoZSBDMTEtc3R5bGUgYGRlZmluZWQoc3RhdGljX2Fzc2VydClgIG9uIEZyZWVCU0QsIHNpbmNlIGl0CiAgKiBkZWZpbmVzIHN0YXRpY19hc3NlcnQgZXZlbiB3aXRoIC1zdGQ9Yzk5LCBidXQgdGhlbiBjb21wbGFpbnMgYWJvdXQgaXQuCiAgKi8KICNpZiBkZWZpbmVkKHN0YXRpY19hc3NlcnQpICYmICFkZWZpbmVkKF9fRnJlZUJTRF9fKQotI2RlZmluZSBNQkVEVExTX1NUQVRJQ19BU1NFUlQoZXhwciwgbXNnKSAgICBzdGF0aWNfYXNzZXJ0KGV4cHIsIG1zZyk7CisjZGVmaW5lIE1CRURUTFNfU1RBVElDX0FTU0VSVChleHByLCBtc2cpICAgIHN0YXRpY19hc3NlcnQoZXhwciwgbXNnKQogI2Vsc2UKLSNkZWZpbmUgTUJFRFRMU19TVEFUSUNfQVNTRVJUKGV4cHIsIG1zZykKKy8qIE1ha2Ugc3VyZSBgTUJFRFRMU19TVEFUSUNfQVNTRVJUKGV4cHIsIG1zZyk7YCBpcyB2YWxpZCBib3RoIGluc2lkZSBhbmQKKyAqIG91dHNpZGUgYSBmdW5jdGlvbi4gV2UgY2hvb3NlIGEgc3RydWN0IGRlY2xhcmF0aW9uLCB3aGljaCBjYW4gYmUgcmVwZWF0ZWQKKyAqIGFueSBudW1iZXIgb2YgdGltZXMgYW5kIGRvZXMgbm90IG5lZWQgYSBtYXRjaGluZyBkZWZpbml0aW9uLiAqLworI2RlZmluZSBNQkVEVExTX1NUQVRJQ19BU1NFUlQoZXhwciwgbXNnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCBJU09fQ19kb2VzX25vdF9hbGxvd19leHRyYV9zZW1pY29sb25fb3V0c2lkZV9vZl9hX2Z1bmN0aW9uCiAjZW5kaWYKIAogI2lmIGRlZmluZWQoX19oYXNfYnVpbHRpbikKZGlmZiAtLWdpdCBhL2xpYnJhcnkvY29uc3RhbnRfdGltZV9pbXBsLmggYi9saWJyYXJ5L2NvbnN0YW50X3RpbWVfaW1wbC5oCmluZGV4IDJhNDU3NGIuLmFlYWVlY2IgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvY29uc3RhbnRfdGltZV9pbXBsLmgKKysrIGIvbGlicmFyeS9jb25zdGFudF90aW1lX2ltcGwuaApAQCAtMzYsMjQgKzM2LDkgQEAKICAgICAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcmVkdW5kYW50LWRlY2xzIgogI2VuZGlmCiAKLS8qIERpc2FibGUgYXNtIHVuZGVyIE1lbXNhbiBiZWNhdXNlIGl0IGNvbmZ1c2VzIE1lbXNhbiBhbmQgZ2VuZXJhdGVzIGZhbHNlIGVycm9ycy4KLSAqCi0gKiBXZSBhbHNvIGRpc2FibGUgdW5kZXIgVmFsZ3JpbmQgYnkgZGVmYXVsdCwgYmVjYXVzZSBpdCdzIG1vcmUgdXNlZnVsCi0gKiBmb3IgVmFsZ3JpbmQgdG8gdGVzdCB0aGUgcGxhaW4gQyBpbXBsZW1lbnRhdGlvbi4gTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfQVNNIC8vbm8tY2hlY2stbmFtZXMKLSAqIG1heSBiZSBzZXQgdG8gcGVybWl0IGJ1aWxkaW5nIGFzbSB1bmRlciBWYWxncmluZC4KLSAqLwotI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfTUVNU0FOKSB8fCBcCi0gICAgKGRlZmluZWQoTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfVkFMR1JJTkQpICYmICFkZWZpbmVkKE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX0FTTSkpIC8vbm8tY2hlY2stbmFtZXMKLSNkZWZpbmUgTUJFRFRMU19DVF9OT19BU00KLSNlbGlmIGRlZmluZWQoX19oYXNfZmVhdHVyZSkKLSNpZiBfX2hhc19mZWF0dXJlKG1lbW9yeV9zYW5pdGl6ZXIpCi0jZGVmaW5lIE1CRURUTFNfQ1RfTk9fQVNNCi0jZW5kaWYKLSNlbmRpZgotCiAvKiBhcm1jYzUgLS1nbnUgZGVmaW5lcyBfX0dOVUNfXyBidXQgZG9lc24ndCBzdXBwb3J0IEdOVSdzIGV4dGVuZGVkIGFzbSAqLwogI2lmIGRlZmluZWQoTUJFRFRMU19IQVZFX0FTTSkgJiYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCFkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikgfHwgXAotICAgIF9fQVJNQ0NfVkVSU0lPTiA+PSA2MDAwMDAwKSAmJiAhZGVmaW5lZChNQkVEVExTX0NUX05PX0FTTSkKKyAgICBfX0FSTUNDX1ZFUlNJT04gPj0gNjAwMDAwMCkKICNkZWZpbmUgTUJFRFRMU19DVF9BU00KICNpZiAoZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fdGh1bWJfXykgfHwgZGVmaW5lZChfX3RodW1iMl9fKSkKICNkZWZpbmUgTUJFRFRMU19DVF9BUk1fQVNNCmRpZmYgLS1naXQgYS9saWJyYXJ5L2N0cl9kcmJnLmMgYi9saWJyYXJ5L2N0cl9kcmJnLmMKaW5kZXggNjZkOWQyOC4uYjgyMDQ0ZSAxMDA2NDQKLS0tIGEvbGlicmFyeS9jdHJfZHJiZy5jCisrKyBiL2xpYnJhcnkvY3RyX2RyYmcuYwpAQCAtMjYsMTMgKzI2LDEzIEBACiAjZW5kaWYKIAogLyogVXNpbmcgZXJyb3IgdHJhbnNsYXRpb24gZnVuY3Rpb25zIGZyb20gUFNBIHRvIE1iZWRUTFMgKi8KLSNpZiAhZGVmaW5lZChNQkVEVExTX0FFU19DKQorI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19VU0VfUFNBX0NSWVBUTykKICNpbmNsdWRlICJwc2FfdXRpbF9pbnRlcm5hbC5oIgogI2VuZGlmCiAKICNpbmNsdWRlICJtYmVkdGxzL3BsYXRmb3JtLmgiCiAKLSNpZiAhZGVmaW5lZChNQkVEVExTX0FFU19DKQorI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19VU0VfUFNBX0NSWVBUTykKIHN0YXRpYyBwc2Ffc3RhdHVzX3QgY3RyX2RyYmdfc2V0dXBfcHNhX2NvbnRleHQobWJlZHRsc19jdHJfZHJiZ19wc2FfY29udGV4dCAqcHNhX2N0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqa2V5LCBzaXplX3Qga2V5X2xlbikKIHsKQEAgLTczLDExICs3MywxMSBAQAogdm9pZCBtYmVkdGxzX2N0cl9kcmJnX2luaXQobWJlZHRsc19jdHJfZHJiZ19jb250ZXh0ICpjdHgpCiB7CiAgICAgbWVtc2V0KGN0eCwgMCwgc2l6ZW9mKG1iZWR0bHNfY3RyX2RyYmdfY29udGV4dCkpOwotI2lmIGRlZmluZWQoTUJFRFRMU19BRVNfQykKLSAgICBtYmVkdGxzX2Flc19pbml0KCZjdHgtPmFlc19jdHgpOwotI2Vsc2UKKyNpZiBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfVVNFX1BTQV9DUllQVE8pCiAgICAgY3R4LT5wc2FfY3R4LmtleV9pZCA9IE1CRURUTFNfU1ZDX0tFWV9JRF9JTklUOwogICAgIGN0eC0+cHNhX2N0eC5vcGVyYXRpb24gPSBwc2FfY2lwaGVyX29wZXJhdGlvbl9pbml0KCk7CisjZWxzZQorICAgIG1iZWR0bHNfYWVzX2luaXQoJmN0eC0+YWVzX2N0eCk7CiAjZW5kaWYKICAgICAvKiBJbmRpY2F0ZSB0aGF0IHRoZSBlbnRyb3B5IG5vbmNlIGxlbmd0aCBpcyBub3Qgc2V0IGV4cGxpY2l0bHkuCiAgICAgICogU2VlIG1iZWR0bHNfY3RyX2RyYmdfc2V0X25vbmNlX2xlbigpLiAqLwpAQCAtMTAyLDEwICsxMDIsMTAgQEAKICAgICAgICAgbWJlZHRsc19tdXRleF9mcmVlKCZjdHgtPm11dGV4KTsKICAgICB9CiAjZW5kaWYKLSNpZiBkZWZpbmVkKE1CRURUTFNfQUVTX0MpCi0gICAgbWJlZHRsc19hZXNfZnJlZSgmY3R4LT5hZXNfY3R4KTsKLSNlbHNlCisjaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX1VTRV9QU0FfQ1JZUFRPKQogICAgIGN0cl9kcmJnX2Rlc3Ryb3lfcHNhX2NvbnRleCgmY3R4LT5wc2FfY3R4KTsKKyNlbHNlCisgICAgbWJlZHRsc19hZXNfZnJlZSgmY3R4LT5hZXNfY3R4KTsKICNlbmRpZgogICAgIG1iZWR0bHNfcGxhdGZvcm1femVyb2l6ZShjdHgsIHNpemVvZihtYmVkdGxzX2N0cl9kcmJnX2NvbnRleHQpKTsKICAgICBjdHgtPnJlc2VlZF9pbnRlcnZhbCA9IE1CRURUTFNfQ1RSX0RSQkdfUkVTRUVEX0lOVEVSVkFMOwpAQCAtMTY4LDE1ICsxNjgsMTUgQEAKICAgICB1bnNpZ25lZCBjaGFyIGNoYWluW01CRURUTFNfQ1RSX0RSQkdfQkxPQ0tTSVpFXTsKICAgICB1bnNpZ25lZCBjaGFyICpwLCAqaXY7CiAgICAgaW50IHJldCA9IDA7Ci0jaWYgZGVmaW5lZChNQkVEVExTX0FFU19DKQotICAgIG1iZWR0bHNfYWVzX2NvbnRleHQgYWVzX2N0eDsKLSNlbHNlCisjaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX1VTRV9QU0FfQ1JZUFRPKQogICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7CiAgICAgc2l6ZV90IHRtcF9sZW47CiAgICAgbWJlZHRsc19jdHJfZHJiZ19wc2FfY29udGV4dCBwc2FfY3R4OwogCiAgICAgcHNhX2N0eC5rZXlfaWQgPSBNQkVEVExTX1NWQ19LRVlfSURfSU5JVDsKICAgICBwc2FfY3R4Lm9wZXJhdGlvbiA9IHBzYV9jaXBoZXJfb3BlcmF0aW9uX2luaXQoKTsKKyNlbHNlCisgICAgbWJlZHRsc19hZXNfY29udGV4dCBhZXNfY3R4OwogI2VuZGlmCiAKICAgICBpbnQgaSwgajsKQEAgLTIwOSwxOSArMjA5LDE5IEBACiAgICAgICAgIGtleVtpXSA9IGk7CiAgICAgfQogCi0jaWYgZGVmaW5lZChNQkVEVExTX0FFU19DKQorI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19VU0VfUFNBX0NSWVBUTykKKyAgICBzdGF0dXMgPSBjdHJfZHJiZ19zZXR1cF9wc2FfY29udGV4dCgmcHNhX2N0eCwga2V5LCBzaXplb2Yoa2V5KSk7CisgICAgaWYgKHN0YXR1cyAhPSBQU0FfU1VDQ0VTUykgeworICAgICAgICByZXQgPSBwc2FfZ2VuZXJpY19zdGF0dXNfdG9fbWJlZHRscyhzdGF0dXMpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorI2Vsc2UKICAgICBtYmVkdGxzX2Flc19pbml0KCZhZXNfY3R4KTsKIAogICAgIGlmICgocmV0ID0gbWJlZHRsc19hZXNfc2V0a2V5X2VuYygmYWVzX2N0eCwga2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0NUUl9EUkJHX0tFWUJJVFMpKSAhPSAwKSB7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9Ci0jZWxzZQotICAgIHN0YXR1cyA9IGN0cl9kcmJnX3NldHVwX3BzYV9jb250ZXh0KCZwc2FfY3R4LCBrZXksIHNpemVvZihrZXkpKTsKLSAgICBpZiAoc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7Ci0gICAgICAgIHJldCA9IHBzYV9nZW5lcmljX3N0YXR1c190b19tYmVkdGxzKHN0YXR1cyk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CiAjZW5kaWYKIAogICAgIC8qCkBAIC0yMzgsMTggKzIzOCwxOCBAQAogICAgICAgICAgICAgdXNlX2xlbiAtPSAodXNlX2xlbiA+PSBNQkVEVExTX0NUUl9EUkJHX0JMT0NLU0laRSkgPwogICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0NUUl9EUkJHX0JMT0NLU0laRSA6IHVzZV9sZW47CiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfQUVTX0MpCi0gICAgICAgICAgICBpZiAoKHJldCA9IG1iZWR0bHNfYWVzX2NyeXB0X2VjYigmYWVzX2N0eCwgTUJFRFRMU19BRVNfRU5DUllQVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWluLCBjaGFpbikpICE9IDApIHsKLSAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgICAgICAgICB9Ci0jZWxzZQorI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19VU0VfUFNBX0NSWVBUTykKICAgICAgICAgICAgIHN0YXR1cyA9IHBzYV9jaXBoZXJfdXBkYXRlKCZwc2FfY3R4Lm9wZXJhdGlvbiwgY2hhaW4sIE1CRURUTFNfQ1RSX0RSQkdfQkxPQ0tTSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhaW4sIE1CRURUTFNfQ1RSX0RSQkdfQkxPQ0tTSVpFLCAmdG1wX2xlbik7CiAgICAgICAgICAgICBpZiAoc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7CiAgICAgICAgICAgICAgICAgcmV0ID0gcHNhX2dlbmVyaWNfc3RhdHVzX3RvX21iZWR0bHMoc3RhdHVzKTsKICAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7CiAgICAgICAgICAgICB9CisjZWxzZQorICAgICAgICAgICAgaWYgKChyZXQgPSBtYmVkdGxzX2Flc19jcnlwdF9lY2IoJmFlc19jdHgsIE1CRURUTFNfQUVTX0VOQ1JZUFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFpbiwgY2hhaW4pKSAhPSAwKSB7CisgICAgICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgIH0KIApAQCAtMjY0LDEyICsyNjQsNyBAQAogICAgIC8qCiAgICAgICogRG8gZmluYWwgZW5jcnlwdGlvbiB3aXRoIHJlZHVjZWQgZGF0YQogICAgICAqLwotI2lmIGRlZmluZWQoTUJFRFRMU19BRVNfQykKLSAgICBpZiAoKHJldCA9IG1iZWR0bHNfYWVzX3NldGtleV9lbmMoJmFlc19jdHgsIHRtcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19DVFJfRFJCR19LRVlCSVRTKSkgIT0gMCkgewotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotI2Vsc2UKKyNpZiBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfVVNFX1BTQV9DUllQVE8pCiAgICAgY3RyX2RyYmdfZGVzdHJveV9wc2FfY29udGV4KCZwc2FfY3R4KTsKIAogICAgIHN0YXR1cyA9IGN0cl9kcmJnX3NldHVwX3BzYV9jb250ZXh0KCZwc2FfY3R4LCB0bXAsIE1CRURUTFNfQ1RSX0RSQkdfS0VZU0laRSk7CkBAIC0yNzcsMzIgKzI3MiwzNyBAQAogICAgICAgICByZXQgPSBwc2FfZ2VuZXJpY19zdGF0dXNfdG9fbWJlZHRscyhzdGF0dXMpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQorI2Vsc2UKKyAgICBpZiAoKHJldCA9IG1iZWR0bHNfYWVzX3NldGtleV9lbmMoJmFlc19jdHgsIHRtcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19DVFJfRFJCR19LRVlCSVRTKSkgIT0gMCkgeworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQogI2VuZGlmCiAgICAgaXYgPSB0bXAgKyBNQkVEVExTX0NUUl9EUkJHX0tFWVNJWkU7CiAgICAgcCA9IG91dHB1dDsKIAogICAgIGZvciAoaiA9IDA7IGogPCBNQkVEVExTX0NUUl9EUkJHX1NFRURMRU47IGogKz0gTUJFRFRMU19DVFJfRFJCR19CTE9DS1NJWkUpIHsKLSNpZiBkZWZpbmVkKE1CRURUTFNfQUVTX0MpCi0gICAgICAgIGlmICgocmV0ID0gbWJlZHRsc19hZXNfY3J5cHRfZWNiKCZhZXNfY3R4LCBNQkVEVExTX0FFU19FTkNSWVBULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdiwgaXYpKSAhPSAwKSB7Ci0gICAgICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgICAgIH0KLSNlbHNlCisjaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX1VTRV9QU0FfQ1JZUFRPKQogICAgICAgICBzdGF0dXMgPSBwc2FfY2lwaGVyX3VwZGF0ZSgmcHNhX2N0eC5vcGVyYXRpb24sIGl2LCBNQkVEVExTX0NUUl9EUkJHX0JMT0NLU0laRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXYsIE1CRURUTFNfQ1RSX0RSQkdfQkxPQ0tTSVpFLCAmdG1wX2xlbik7CiAgICAgICAgIGlmIChzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpIHsKICAgICAgICAgICAgIHJldCA9IHBzYV9nZW5lcmljX3N0YXR1c190b19tYmVkdGxzKHN0YXR1cyk7CiAgICAgICAgICAgICBnb3RvIGV4aXQ7CiAgICAgICAgIH0KKyNlbHNlCisgICAgICAgIGlmICgocmV0ID0gbWJlZHRsc19hZXNfY3J5cHRfZWNiKCZhZXNfY3R4LCBNQkVEVExTX0FFU19FTkNSWVBULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdiwgaXYpKSAhPSAwKSB7CisgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIH0KICNlbmRpZgogICAgICAgICBtZW1jcHkocCwgaXYsIE1CRURUTFNfQ1RSX0RSQkdfQkxPQ0tTSVpFKTsKICAgICAgICAgcCArPSBNQkVEVExTX0NUUl9EUkJHX0JMT0NLU0laRTsKICAgICB9CiBleGl0OgotI2lmIGRlZmluZWQoTUJFRFRMU19BRVNfQykKLSAgICBtYmVkdGxzX2Flc19mcmVlKCZhZXNfY3R4KTsKLSNlbHNlCisjaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX1VTRV9QU0FfQ1JZUFRPKQogICAgIGN0cl9kcmJnX2Rlc3Ryb3lfcHNhX2NvbnRleCgmcHNhX2N0eCk7CisjZWxzZQorICAgIG1iZWR0bHNfYWVzX2ZyZWUoJmFlc19jdHgpOwogI2VuZGlmCiAgICAgLyoKICAgICAgKiB0aWR5IHVwIHRoZSBzdGFjawpAQCAtMzM2LDcgKzMzNiw3IEBACiAgICAgdW5zaWduZWQgY2hhciAqcCA9IHRtcDsKICAgICBpbnQgajsKICAgICBpbnQgcmV0ID0gMDsKLSNpZiAhZGVmaW5lZChNQkVEVExTX0FFU19DKQorI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19VU0VfUFNBX0NSWVBUTykKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzOwogICAgIHNpemVfdCB0bXBfbGVuOwogI2VuZGlmCkBAIC0zNTIsMTggKzM1MiwxOCBAQAogICAgICAgICAvKgogICAgICAgICAgKiBDcnlwdCBjb3VudGVyIGJsb2NrCiAgICAgICAgICAqLwotI2lmIGRlZmluZWQoTUJFRFRMU19BRVNfQykKLSAgICAgICAgaWYgKChyZXQgPSBtYmVkdGxzX2Flc19jcnlwdF9lY2IoJmN0eC0+YWVzX2N0eCwgTUJFRFRMU19BRVNfRU5DUllQVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5jb3VudGVyLCBwKSkgIT0gMCkgewotICAgICAgICAgICAgZ290byBleGl0OwotICAgICAgICB9Ci0jZWxzZQorI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19VU0VfUFNBX0NSWVBUTykKICAgICAgICAgc3RhdHVzID0gcHNhX2NpcGhlcl91cGRhdGUoJmN0eC0+cHNhX2N0eC5vcGVyYXRpb24sIGN0eC0+Y291bnRlciwgc2l6ZW9mKGN0eC0+Y291bnRlciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAsIE1CRURUTFNfQ1RSX0RSQkdfQkxPQ0tTSVpFLCAmdG1wX2xlbik7CiAgICAgICAgIGlmIChzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpIHsKICAgICAgICAgICAgIHJldCA9IHBzYV9nZW5lcmljX3N0YXR1c190b19tYmVkdGxzKHN0YXR1cyk7CiAgICAgICAgICAgICBnb3RvIGV4aXQ7CiAgICAgICAgIH0KKyNlbHNlCisgICAgICAgIGlmICgocmV0ID0gbWJlZHRsc19hZXNfY3J5cHRfZWNiKCZjdHgtPmFlc19jdHgsIE1CRURUTFNfQUVTX0VOQ1JZUFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+Y291bnRlciwgcCkpICE9IDApIHsKKyAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgfQogI2VuZGlmCiAKICAgICAgICAgcCArPSBNQkVEVExTX0NUUl9EUkJHX0JMT0NLU0laRTsKQEAgLTM3NCwxMiArMzc0LDcgQEAKICAgICAvKgogICAgICAqIFVwZGF0ZSBrZXkgYW5kIGNvdW50ZXIKICAgICAgKi8KLSNpZiBkZWZpbmVkKE1CRURUTFNfQUVTX0MpCi0gICAgaWYgKChyZXQgPSBtYmVkdGxzX2Flc19zZXRrZXlfZW5jKCZjdHgtPmFlc19jdHgsIHRtcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19DVFJfRFJCR19LRVlCSVRTKSkgIT0gMCkgewotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotI2Vsc2UKKyNpZiBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfVVNFX1BTQV9DUllQVE8pCiAgICAgY3RyX2RyYmdfZGVzdHJveV9wc2FfY29udGV4KCZjdHgtPnBzYV9jdHgpOwogCiAgICAgc3RhdHVzID0gY3RyX2RyYmdfc2V0dXBfcHNhX2NvbnRleHQoJmN0eC0+cHNhX2N0eCwgdG1wLCBNQkVEVExTX0NUUl9EUkJHX0tFWVNJWkUpOwpAQCAtMzg3LDYgKzM4MiwxMSBAQAogICAgICAgICByZXQgPSBwc2FfZ2VuZXJpY19zdGF0dXNfdG9fbWJlZHRscyhzdGF0dXMpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQorI2Vsc2UKKyAgICBpZiAoKHJldCA9IG1iZWR0bHNfYWVzX3NldGtleV9lbmMoJmN0eC0+YWVzX2N0eCwgdG1wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0NUUl9EUkJHX0tFWUJJVFMpKSAhPSAwKSB7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CiAjZW5kaWYKICAgICBtZW1jcHkoY3R4LT5jb3VudGVyLCB0bXAgKyBNQkVEVExTX0NUUl9EUkJHX0tFWVNJWkUsCiAgICAgICAgICAgIE1CRURUTFNfQ1RSX0RSQkdfQkxPQ0tTSVpFKTsKQEAgLTU2NCwxMiArNTY0LDcgQEAKICAgICAgICAgICAgICAgICAgZ29vZF9ub25jZV9sZW4oY3R4LT5lbnRyb3B5X2xlbikpOwogCiAgICAgLyogSW5pdGlhbGl6ZSB3aXRoIGFuIGVtcHR5IGtleS4gKi8KLSNpZiBkZWZpbmVkKE1CRURUTFNfQUVTX0MpCi0gICAgaWYgKChyZXQgPSBtYmVkdGxzX2Flc19zZXRrZXlfZW5jKCZjdHgtPmFlc19jdHgsIGtleSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19DVFJfRFJCR19LRVlCSVRTKSkgIT0gMCkgewotICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KLSNlbHNlCisjaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX1VTRV9QU0FfQ1JZUFRPKQogICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7CiAKICAgICBzdGF0dXMgPSBjdHJfZHJiZ19zZXR1cF9wc2FfY29udGV4dCgmY3R4LT5wc2FfY3R4LCBrZXksIE1CRURUTFNfQ1RSX0RSQkdfS0VZU0laRSk7CkBAIC01NzcsNiArNTcyLDExIEBACiAgICAgICAgIHJldCA9IHBzYV9nZW5lcmljX3N0YXR1c190b19tYmVkdGxzKHN0YXR1cyk7CiAgICAgICAgIHJldHVybiBzdGF0dXM7CiAgICAgfQorI2Vsc2UKKyAgICBpZiAoKHJldCA9IG1iZWR0bHNfYWVzX3NldGtleV9lbmMoJmN0eC0+YWVzX2N0eCwga2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0NUUl9EUkJHX0tFWUJJVFMpKSAhPSAwKSB7CisgICAgICAgIHJldHVybiByZXQ7CisgICAgfQogI2VuZGlmCiAKICAgICAvKiBEbyB0aGUgaW5pdGlhbCBzZWVkaW5nLiAqLwpAQCAtNjU1LDEyICs2NTUsNyBAQAogICAgICAgICAvKgogICAgICAgICAgKiBDcnlwdCBjb3VudGVyIGJsb2NrCiAgICAgICAgICAqLwotI2lmIGRlZmluZWQoTUJFRFRMU19BRVNfQykKLSAgICAgICAgaWYgKChyZXQgPSBtYmVkdGxzX2Flc19jcnlwdF9lY2IoJmN0eC0+YWVzX2N0eCwgTUJFRFRMU19BRVNfRU5DUllQVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5jb3VudGVyLCBsb2NhbHMudG1wKSkgIT0gMCkgewotICAgICAgICAgICAgZ290byBleGl0OwotICAgICAgICB9Ci0jZWxzZQorI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19VU0VfUFNBX0NSWVBUTykKICAgICAgICAgcHNhX3N0YXR1c190IHN0YXR1czsKICAgICAgICAgc2l6ZV90IHRtcF9sZW47CiAKQEAgLTY3MCw2ICs2NjUsMTEgQEAKICAgICAgICAgICAgIHJldCA9IHBzYV9nZW5lcmljX3N0YXR1c190b19tYmVkdGxzKHN0YXR1cyk7CiAgICAgICAgICAgICBnb3RvIGV4aXQ7CiAgICAgICAgIH0KKyNlbHNlCisgICAgICAgIGlmICgocmV0ID0gbWJlZHRsc19hZXNfY3J5cHRfZWNiKCZjdHgtPmFlc19jdHgsIE1CRURUTFNfQUVTX0VOQ1JZUFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+Y291bnRlciwgbG9jYWxzLnRtcCkpICE9IDApIHsKKyAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgfQogI2VuZGlmCiAKICAgICAgICAgdXNlX2xlbiA9IChvdXRwdXRfbGVuID4gTUJFRFRMU19DVFJfRFJCR19CTE9DS1NJWkUpCmRpZmYgLS1naXQgYS9saWJyYXJ5L2VudHJvcHkuYyBiL2xpYnJhcnkvZW50cm9weS5jCmluZGV4IGUzYmM4NTEuLjdkY2YwNjcgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvZW50cm9weS5jCisrKyBiL2xpYnJhcnkvZW50cm9weS5jCkBAIC02MSw2ICs2MSwxMCBAQAogCiB2b2lkIG1iZWR0bHNfZW50cm9weV9mcmVlKG1iZWR0bHNfZW50cm9weV9jb250ZXh0ICpjdHgpCiB7CisgICAgaWYgKGN0eCA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvKiBJZiB0aGUgY29udGV4dCB3YXMgYWxyZWFkeSBmcmVlLCBkb24ndCBjYWxsIGZyZWUoKSBhZ2Fpbi4KICAgICAgKiBUaGlzIGlzIGltcG9ydGFudCBmb3IgbXV0ZXhlcyB3aGljaCBkb24ndCBhbGxvdyBkb3VibGUtZnJlZS4gKi8KICAgICBpZiAoY3R4LT5hY2N1bXVsYXRvcl9zdGFydGVkID09IC0xKSB7CmRpZmYgLS1naXQgYS9saWJyYXJ5L2VudHJvcHlfcG9sbC5jIGIvbGlicmFyeS9lbnRyb3B5X3BvbGwuYwppbmRleCA3OTRlZTAzLi42MTE3NjhjIDEwMDY0NAotLS0gYS9saWJyYXJ5L2VudHJvcHlfcG9sbC5jCisrKyBiL2xpYnJhcnkvZW50cm9weV9wb2xsLmMKQEAgLTUsMTAgKzUsMTIgQEAKICAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCiAgKi8KIAotI2lmIGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fbWlkaXBpeF9fKSAmJiAhZGVmaW5lZChfR05VX1NPVVJDRSkKKyNpZiBkZWZpbmVkKF9fbGludXhfXykgfHwgZGVmaW5lZChfX21pZGlwaXhfXykKIC8qIEVuc3VyZSB0aGF0IHN5c2NhbGwoKSBpcyBhdmFpbGFibGUgZXZlbiB3aGVuIGNvbXBpbGluZyB3aXRoIC1zdGQ9Yzk5ICovCisjaWYgIWRlZmluZWQoX0dOVV9TT1VSQ0UpCiAjZGVmaW5lIF9HTlVfU09VUkNFCiAjZW5kaWYKKyNlbmRpZgogCiAjaW5jbHVkZSAiY29tbW9uLmgiCiAKZGlmZiAtLWdpdCBhL2xpYnJhcnkvbG1vdHMuYyBiL2xpYnJhcnkvbG1vdHMuYwppbmRleCBjNzA5MWI0Li5jNTFjYjQxIDEwMDY0NAotLS0gYS9saWJyYXJ5L2xtb3RzLmMKKysrIGIvbGlicmFyeS9sbW90cy5jCkBAIC0zODcsNiArMzg3LDEwIEBACiAKIHZvaWQgbWJlZHRsc19sbW90c19wdWJsaWNfZnJlZShtYmVkdGxzX2xtb3RzX3B1YmxpY190ICpjdHgpCiB7CisgICAgaWYgKGN0eCA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBtYmVkdGxzX3BsYXRmb3JtX3plcm9pemUoY3R4LCBzaXplb2YoKmN0eCkpOwogfQogCkBAIC01NTYsNiArNTYwLDEwIEBACiAKIHZvaWQgbWJlZHRsc19sbW90c19wcml2YXRlX2ZyZWUobWJlZHRsc19sbW90c19wcml2YXRlX3QgKmN0eCkKIHsKKyAgICBpZiAoY3R4ID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG1iZWR0bHNfcGxhdGZvcm1femVyb2l6ZShjdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqY3R4KSk7CiB9CmRpZmYgLS1naXQgYS9saWJyYXJ5L2xtcy5jIGIvbGlicmFyeS9sbXMuYwppbmRleCA4ZDNjYWUwLi43ZjdiZWMwIDEwMDY0NAotLS0gYS9saWJyYXJ5L2xtcy5jCisrKyBiL2xpYnJhcnkvbG1zLmMKQEAgLTIyOSw2ICsyMjksMTAgQEAKIAogdm9pZCBtYmVkdGxzX2xtc19wdWJsaWNfZnJlZShtYmVkdGxzX2xtc19wdWJsaWNfdCAqY3R4KQogeworICAgIGlmIChjdHggPT0gTlVMTCkgeworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbWJlZHRsc19wbGF0Zm9ybV96ZXJvaXplKGN0eCwgc2l6ZW9mKCpjdHgpKTsKIH0KIApAQCAtNTI4LDYgKzUzMiwxMCBAQAogCiB2b2lkIG1iZWR0bHNfbG1zX3ByaXZhdGVfZnJlZShtYmVkdGxzX2xtc19wcml2YXRlX3QgKmN0eCkKIHsKKyAgICBpZiAoY3R4ID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIHVuc2lnbmVkIGludCBpZHg7CiAKICAgICBpZiAoY3R4LT5oYXZlX3ByaXZhdGVfa2V5KSB7CmRpZmYgLS1naXQgYS9saWJyYXJ5L21kLmMgYi9saWJyYXJ5L21kLmMKaW5kZXggMTJhM2VhMi4uYzk1ODQ2YSAxMDA2NDQKLS0tIGEvbGlicmFyeS9tZC5jCisrKyBiL2xpYnJhcnkvbWQuYwpAQCAtNDEsNyArNDEsNyBAQAogI2luY2x1ZGUgIm1iZWR0bHMvc2hhNTEyLmgiCiAjaW5jbHVkZSAibWJlZHRscy9zaGEzLmgiCiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DKQorI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVCkKICNpbmNsdWRlIDxwc2EvY3J5cHRvLmg+CiAjaW5jbHVkZSAibWRfcHNhLmgiCiAjaW5jbHVkZSAicHNhX3V0aWxfaW50ZXJuYWwuaCIKQEAgLTc2MSwxMyArNzYxLDEzIEBACiAgICAgcmV0dXJuIG1kX2luZm8tPnR5cGU7CiB9CiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DKQorI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVCkKIGludCBtYmVkdGxzX21kX2Vycm9yX2Zyb21fcHNhKHBzYV9zdGF0dXNfdCBzdGF0dXMpCiB7CiAgICAgcmV0dXJuIFBTQV9UT19NQkVEVExTX0VSUl9MSVNUKHN0YXR1cywgcHNhX3RvX21kX2Vycm9ycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2dlbmVyaWNfc3RhdHVzX3RvX21iZWR0bHMpOwogfQotI2VuZGlmIC8qIE1CRURUTFNfUFNBX0NSWVBUT19DICovCisjZW5kaWYgLyogTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVCAqLwogCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL2xpYnJhcnkvbmV0X3NvY2tldHMuYyBiL2xpYnJhcnkvbmV0X3NvY2tldHMuYwppbmRleCBlZGVjNTg3Li5iZDVjNDdiIDEwMDY0NAotLS0gYS9saWJyYXJ5L25ldF9zb2NrZXRzLmMKKysrIGIvbGlicmFyeS9uZXRfc29ja2V0cy5jCkBAIC0xOTAsNyArMTkwLDcgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgY2xvc2UoY3R4LT5mZCk7CisgICAgICAgIG1iZWR0bHNfbmV0X2Nsb3NlKGN0eCk7CiAgICAgICAgIHJldCA9IE1CRURUTFNfRVJSX05FVF9DT05ORUNUX0ZBSUxFRDsKICAgICB9CiAKQEAgLTIzNywxMyArMjM3LDEzIEBACiAgICAgICAgIG4gPSAxOwogICAgICAgICBpZiAoc2V0c29ja29wdChjdHgtPmZkLCBTT0xfU09DS0VULCBTT19SRVVTRUFERFIsCiAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopICZuLCBzaXplb2YobikpICE9IDApIHsKLSAgICAgICAgICAgIGNsb3NlKGN0eC0+ZmQpOworICAgICAgICAgICAgbWJlZHRsc19uZXRfY2xvc2UoY3R4KTsKICAgICAgICAgICAgIHJldCA9IE1CRURUTFNfRVJSX05FVF9TT0NLRVRfRkFJTEVEOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYmluZChjdHgtPmZkLCBjdXItPmFpX2FkZHIsIE1TVkNfSU5UX0NBU1QgY3VyLT5haV9hZGRybGVuKSAhPSAwKSB7Ci0gICAgICAgICAgICBjbG9zZShjdHgtPmZkKTsKKyAgICAgICAgICAgIG1iZWR0bHNfbmV0X2Nsb3NlKGN0eCk7CiAgICAgICAgICAgICByZXQgPSBNQkVEVExTX0VSUl9ORVRfQklORF9GQUlMRUQ7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQpAQCAtMjUxLDcgKzI1MSw3IEBACiAgICAgICAgIC8qIExpc3RlbiBvbmx5IG1ha2VzIHNlbnNlIGZvciBUQ1AgKi8KICAgICAgICAgaWYgKHByb3RvID09IE1CRURUTFNfTkVUX1BST1RPX1RDUCkgewogICAgICAgICAgICAgaWYgKGxpc3RlbihjdHgtPmZkLCBNQkVEVExTX05FVF9MSVNURU5fQkFDS0xPRykgIT0gMCkgewotICAgICAgICAgICAgICAgIGNsb3NlKGN0eC0+ZmQpOworICAgICAgICAgICAgICAgIG1iZWR0bHNfbmV0X2Nsb3NlKGN0eCk7CiAgICAgICAgICAgICAgICAgcmV0ID0gTUJFRFRMU19FUlJfTkVUX0xJU1RFTl9GQUlMRUQ7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CkBAIC02ODMsNyArNjgzLDcgQEAKICAqLwogdm9pZCBtYmVkdGxzX25ldF9mcmVlKG1iZWR0bHNfbmV0X2NvbnRleHQgKmN0eCkKIHsKLSAgICBpZiAoY3R4LT5mZCA9PSAtMSkgeworICAgIGlmIChjdHggPT0gTlVMTCB8fCBjdHgtPmZkID09IC0xKSB7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL2xpYnJhcnkvbmlzdF9rdy5jIGIvbGlicmFyeS9uaXN0X2t3LmMKaW5kZXggZjE1NDI1Yi4uOGZhYWZlNCAxMDA2NDQKLS0tIGEvbGlicmFyeS9uaXN0X2t3LmMKKysrIGIvbGlicmFyeS9uaXN0X2t3LmMKQEAgLTEwMiw2ICsxMDIsMTAgQEAKICAqLwogdm9pZCBtYmVkdGxzX25pc3Rfa3dfZnJlZShtYmVkdGxzX25pc3Rfa3dfY29udGV4dCAqY3R4KQogeworICAgIGlmIChjdHggPT0gTlVMTCkgeworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbWJlZHRsc19jaXBoZXJfZnJlZSgmY3R4LT5jaXBoZXJfY3R4KTsKICAgICBtYmVkdGxzX3BsYXRmb3JtX3plcm9pemUoY3R4LCBzaXplb2YobWJlZHRsc19uaXN0X2t3X2NvbnRleHQpKTsKIH0KZGlmZiAtLWdpdCBhL2xpYnJhcnkvcGVtLmMgYi9saWJyYXJ5L3BlbS5jCmluZGV4IDBmZWU1ZGYuLjAyMDc2MDEgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvcGVtLmMKKysrIGIvbGlicmFyeS9wZW0uYwpAQCAtNDgxLDYgKzQ4MSwxMCBAQAogCiB2b2lkIG1iZWR0bHNfcGVtX2ZyZWUobWJlZHRsc19wZW1fY29udGV4dCAqY3R4KQogeworICAgIGlmIChjdHggPT0gTlVMTCkgeworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGN0eC0+YnVmICE9IE5VTEwpIHsKICAgICAgICAgbWJlZHRsc196ZXJvaXplX2FuZF9mcmVlKGN0eC0+YnVmLCBjdHgtPmJ1Zmxlbik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvbGlicmFyeS9way5jIGIvbGlicmFyeS9way5jCmluZGV4IGMyOTMxOGQuLjUxZjBjMjQgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvcGsuYworKysgYi9saWJyYXJ5L3BrLmMKQEAgLTM1LDEwICszNSw2IEBACiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAKLSNkZWZpbmUgUFNBX0VYUE9SVF9LRVlfUEFJUl9PUl9QVUJMSUNfTUFYX1NJWkUgXAotICAgIChQU0FfRVhQT1JUX0tFWV9QQUlSX01BWF9TSVpFID4gUFNBX0VYUE9SVF9QVUJMSUNfS0VZX01BWF9TSVpFKSA/IFwKLSAgICBQU0FfRVhQT1JUX0tFWV9QQUlSX01BWF9TSVpFIDogUFNBX0VYUE9SVF9QVUJMSUNfS0VZX01BWF9TSVpFCi0KIC8qCiAgKiBJbml0aWFsaXNlIGEgbWJlZHRsc19wa19jb250ZXh0CiAgKi8KQEAgLTg2OCw3ICs4NjQsNiBAQAogICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7CiAgICAgcHNhX2tleV9hdHRyaWJ1dGVzX3Qga2V5X2F0dHIgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKICAgICBwc2Ffa2V5X3R5cGVfdCBrZXlfdHlwZTsKLSAgICBwc2FfYWxnb3JpdGhtX3QgYWxnX3R5cGU7CiAgICAgc2l6ZV90IGtleV9iaXRzOwogICAgIC8qIFVzZSBhIGJ1ZmZlciBzaXplIGxhcmdlIGVub3VnaCB0byBjb250YWluIGVpdGhlciBhIGtleSBwYWlyIG9yIHB1YmxpYyBrZXkuICovCiAgICAgdW5zaWduZWQgY2hhciBleHBfa2V5W1BTQV9FWFBPUlRfS0VZX1BBSVJfT1JfUFVCTElDX01BWF9TSVpFXTsKQEAgLTg5OSw3ICs4OTQsNiBAQAogICAgICAgICBrZXlfdHlwZSA9IFBTQV9LRVlfVFlQRV9QVUJMSUNfS0VZX09GX0tFWV9QQUlSKGtleV90eXBlKTsKICAgICB9CiAgICAga2V5X2JpdHMgPSBwc2FfZ2V0X2tleV9iaXRzKCZrZXlfYXR0cik7Ci0gICAgYWxnX3R5cGUgPSBwc2FfZ2V0X2tleV9hbGdvcml0aG0oJmtleV9hdHRyKTsKIAogI2lmIGRlZmluZWQoTUJFRFRMU19SU0FfQykKICAgICBpZiAoKGtleV90eXBlID09IFBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVIpIHx8CkBAIC05MTksNiArOTEzLDcgQEAKICAgICAgICAgICAgIGdvdG8gZXhpdDsKICAgICAgICAgfQogCisgICAgICAgIHBzYV9hbGdvcml0aG1fdCBhbGdfdHlwZSA9IHBzYV9nZXRfa2V5X2FsZ29yaXRobSgma2V5X2F0dHIpOwogICAgICAgICBtYmVkdGxzX21kX3R5cGVfdCBtZF90eXBlID0gTUJFRFRMU19NRF9OT05FOwogICAgICAgICBpZiAoUFNBX0FMR19HRVRfSEFTSChhbGdfdHlwZSkgIT0gUFNBX0FMR19BTllfSEFTSCkgewogICAgICAgICAgICAgbWRfdHlwZSA9IG1iZWR0bHNfbWRfdHlwZV9mcm9tX3BzYV9hbGcoYWxnX3R5cGUpOwpAQCAtOTY4LDYgKzk2Myw3IEBACiAgICAgfSBlbHNlCiAjZW5kaWYgLyogTUJFRFRMU19QS19IQVZFX0VDQ19LRVlTICovCiAgICAgeworICAgICAgICAodm9pZCkga2V5X2JpdHM7CiAgICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9QS19CQURfSU5QVVRfREFUQTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL2xpYnJhcnkvcGt3cml0ZS5jIGIvbGlicmFyeS9wa3dyaXRlLmMKaW5kZXggNWUwMDljNS4uMmE2OTg0NCAxMDA2NDQKLS0tIGEvbGlicmFyeS9wa3dyaXRlLmMKKysrIGIvbGlicmFyeS9wa3dyaXRlLmMKQEAgLTY1LDE3ICs2NSwyMSBAQAogI2lmIGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykKICAgICBpZiAobWJlZHRsc19wa19nZXRfdHlwZShwaykgPT0gTUJFRFRMU19QS19PUEFRVUUpIHsKICAgICAgICAgdWludDhfdCB0bXBbUFNBX0VYUE9SVF9LRVlfUEFJUl9NQVhfU0laRV07Ci0gICAgICAgIHNpemVfdCBsZW4gPSAwLCB0bXBfbGVuID0gMDsKKyAgICAgICAgc2l6ZV90IHRtcF9sZW4gPSAwOwogCiAgICAgICAgIGlmIChwc2FfZXhwb3J0X2tleShway0+cHJpdl9pZCwgdG1wLCBzaXplb2YodG1wKSwgJnRtcF9sZW4pICE9IFBTQV9TVUNDRVNTKSB7CiAgICAgICAgICAgICByZXR1cm4gTUJFRFRMU19FUlJfUEtfQkFEX0lOUFVUX0RBVEE7CiAgICAgICAgIH0KKyAgICAgICAgLyogRW5zdXJlIHRoZXJlJ3MgZW5vdWdoIHNwYWNlIGluIHRoZSBwcm92aWRlZCBidWZmZXIgYmVmb3JlIGNvcHlpbmcgZGF0YSBpbnRvIGl0LiAqLworICAgICAgICBpZiAodG1wX2xlbiA+IChzaXplX3QpICgqcCAtIGJ1ZikpIHsKKyAgICAgICAgICAgIG1iZWR0bHNfcGxhdGZvcm1femVyb2l6ZSh0bXAsIHNpemVvZih0bXApKTsKKyAgICAgICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9BU04xX0JVRl9UT09fU01BTEw7CisgICAgICAgIH0KICAgICAgICAgKnAgLT0gdG1wX2xlbjsKICAgICAgICAgbWVtY3B5KCpwLCB0bXAsIHRtcF9sZW4pOwotICAgICAgICBsZW4gKz0gdG1wX2xlbjsKICAgICAgICAgbWJlZHRsc19wbGF0Zm9ybV96ZXJvaXplKHRtcCwgc2l6ZW9mKHRtcCkpOwogCi0gICAgICAgIHJldHVybiAoaW50KSBsZW47CisgICAgICAgIHJldHVybiAoaW50KSB0bXBfbGVuOwogICAgIH0KICNlbmRpZiAvKiBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICovCiAgICAgcmV0dXJuIG1iZWR0bHNfcnNhX3dyaXRlX2tleShtYmVkdGxzX3BrX3JzYSgqcGspLCBidWYsIHApOwpAQCAtMTI1LDYgKzEyOSwxMCBAQAogICAgICAgICBpZiAocHNhX2V4cG9ydF9wdWJsaWNfa2V5KHBrLT5wcml2X2lkLCBidWYsIHNpemVvZihidWYpLCAmbGVuKSAhPSBQU0FfU1VDQ0VTUykgewogICAgICAgICAgICAgcmV0dXJuIE1CRURUTFNfRVJSX1BLX0JBRF9JTlBVVF9EQVRBOwogICAgICAgICB9CisgICAgICAgIC8qIEVuc3VyZSB0aGVyZSdzIGVub3VnaCBzcGFjZSBpbiB0aGUgcHJvdmlkZWQgYnVmZmVyIGJlZm9yZSBjb3B5aW5nIGRhdGEgaW50byBpdC4gKi8KKyAgICAgICAgaWYgKGxlbiA+IChzaXplX3QpICgqcCAtIHN0YXJ0KSkgeworICAgICAgICAgICAgcmV0dXJuIE1CRURUTFNfRVJSX0FTTjFfQlVGX1RPT19TTUFMTDsKKyAgICAgICAgfQogICAgICAgICAqcCAtPSBsZW47CiAgICAgICAgIG1lbWNweSgqcCwgYnVmLCBsZW4pOwogICAgICAgICByZXR1cm4gKGludCkgbGVuOwpkaWZmIC0tZ2l0IGEvbGlicmFyeS9wbGF0Zm9ybV91dGlsLmMgYi9saWJyYXJ5L3BsYXRmb3JtX3V0aWwuYwppbmRleCAwNzQxYmY1Li4xOWVmMDdhIDEwMDY0NAotLS0gYS9saWJyYXJ5L3BsYXRmb3JtX3V0aWwuYworKysgYi9saWJyYXJ5L3BsYXRmb3JtX3V0aWwuYwpAQCAtMTQ5LDcgKzE0OSw3IEBACiAjaW5jbHVkZSA8dGltZS5oPgogI2lmICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQodW5peCkgfHwgXAogICAgIGRlZmluZWQoX191bml4KSB8fCBkZWZpbmVkKF9fdW5peF9fKSB8fCAoZGVmaW5lZChfX0FQUExFX18pICYmIFwKLSAgICBkZWZpbmVkKF9fTUFDSF9fKSkgfHwgZGVmaW5lZF9fbWlkaXBpeF9fKQorICAgIGRlZmluZWQoX19NQUNIX18pKSB8fCBkZWZpbmVkKF9fbWlkaXBpeF9fKSkKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNlbmRpZiAvKiAhX1dJTjMyICYmICh1bml4IHx8IF9fdW5peCB8fCBfX3VuaXhfXyB8fAogICAgICAgICAqIChfX0FQUExFX18gJiYgX19NQUNIX18pIHx8IF9fbWlkaXBpeF9fKSAqLwpkaWZmIC0tZ2l0IGEvbGlicmFyeS9wc2FfY3J5cHRvLmMgYi9saWJyYXJ5L3BzYV9jcnlwdG8uYwppbmRleCA5NjljNjk1Li5mMGNjZjNkIDEwMDY0NAotLS0gYS9saWJyYXJ5L3BzYV9jcnlwdG8uYworKysgYi9saWJyYXJ5L3BzYV9jcnlwdG8uYwpAQCAtNzA1LDYgKzcwNSwxMSBAQAogcHNhX3N0YXR1c190IHBzYV9hbGxvY2F0ZV9idWZmZXJfdG9fc2xvdChwc2Ffa2V5X3Nsb3RfdCAqc2xvdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGJ1ZmZlcl9sZW5ndGgpCiB7CisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RTKQorICAgIGlmIChidWZmZXJfbGVuZ3RoID4gKChzaXplX3QpIE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVF9CVUZGRVJfU0laRSkpIHsKKyAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9OT1RfU1VQUE9SVEVEOworICAgIH0KKyNlbHNlCiAgICAgaWYgKHNsb3QtPmtleS5kYXRhICE9IE5VTEwpIHsKICAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9BTFJFQURZX0VYSVNUUzsKICAgICB9CkBAIC03MTMsNiArNzE4LDcgQEAKICAgICBpZiAoc2xvdC0+a2V5LmRhdGEgPT0gTlVMTCkgewogICAgICAgICByZXR1cm4gUFNBX0VSUk9SX0lOU1VGRklDSUVOVF9NRU1PUlk7CiAgICAgfQorI2VuZGlmCiAKICAgICBzbG90LT5rZXkuYnl0ZXMgPSBidWZmZXJfbGVuZ3RoOwogICAgIHJldHVybiBQU0FfU1VDQ0VTUzsKQEAgLTExNzcsMTEgKzExODMsMTggQEAKIAogcHNhX3N0YXR1c190IHBzYV9yZW1vdmVfa2V5X2RhdGFfZnJvbV9tZW1vcnkocHNhX2tleV9zbG90X3QgKnNsb3QpCiB7CisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RTKQorICAgIGlmIChzbG90LT5rZXkuYnl0ZXMgPiAwKSB7CisgICAgICAgIG1iZWR0bHNfcGxhdGZvcm1femVyb2l6ZShzbG90LT5rZXkuZGF0YSwgTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFKTsKKyAgICB9CisjZWxzZQogICAgIGlmIChzbG90LT5rZXkuZGF0YSAhPSBOVUxMKSB7CiAgICAgICAgIG1iZWR0bHNfemVyb2l6ZV9hbmRfZnJlZShzbG90LT5rZXkuZGF0YSwgc2xvdC0+a2V5LmJ5dGVzKTsKICAgICB9CiAKICAgICBzbG90LT5rZXkuZGF0YSA9IE5VTEw7CisjZW5kaWYgLyogTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UUyAqLworCiAgICAgc2xvdC0+a2V5LmJ5dGVzID0gMDsKIAogICAgIHJldHVybiBQU0FfU1VDQ0VTUzsKQEAgLTEyMTAsMTUgKzEyMjMsMTUgQEAKICAgICAgICAgY2FzZSBQU0FfU0xPVF9QRU5ESU5HX0RFTEVUSU9OOgogICAgICAgICAgICAgLyogSW4gdGhpcyBzdGF0ZSBwc2Ffd2lwZV9rZXlfc2xvdCgpIG11c3Qgb25seSBiZSBjYWxsZWQgaWYgdGhlCiAgICAgICAgICAgICAgKiBjYWxsZXIgaXMgdGhlIGxhc3QgcmVhZGVyLiAqLwotICAgICAgICAgICAgaWYgKHNsb3QtPnJlZ2lzdGVyZWRfcmVhZGVycyAhPSAxKSB7Ci0gICAgICAgICAgICAgICAgTUJFRFRMU19URVNUX0hPT0tfVEVTVF9BU1NFUlQoc2xvdC0+cmVnaXN0ZXJlZF9yZWFkZXJzID09IDEpOworICAgICAgICAgICAgaWYgKHNsb3QtPnZhci5vY2N1cGllZC5yZWdpc3RlcmVkX3JlYWRlcnMgIT0gMSkgeworICAgICAgICAgICAgICAgIE1CRURUTFNfVEVTVF9IT09LX1RFU1RfQVNTRVJUKHNsb3QtPnZhci5vY2N1cGllZC5yZWdpc3RlcmVkX3JlYWRlcnMgPT0gMSk7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gUFNBX0VSUk9SX0NPUlJVUFRJT05fREVURUNURUQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBQU0FfU0xPVF9GSUxMSU5HOgogICAgICAgICAgICAgLyogSW4gdGhpcyBzdGF0ZSByZWdpc3RlcmVkX3JlYWRlcnMgbXVzdCBiZSAwLiAqLwotICAgICAgICAgICAgaWYgKHNsb3QtPnJlZ2lzdGVyZWRfcmVhZGVycyAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgTUJFRFRMU19URVNUX0hPT0tfVEVTVF9BU1NFUlQoc2xvdC0+cmVnaXN0ZXJlZF9yZWFkZXJzID09IDApOworICAgICAgICAgICAgaWYgKHNsb3QtPnZhci5vY2N1cGllZC5yZWdpc3RlcmVkX3JlYWRlcnMgIT0gMCkgeworICAgICAgICAgICAgICAgIE1CRURUTFNfVEVTVF9IT09LX1RFU1RfQVNTRVJUKHNsb3QtPnZhci5vY2N1cGllZC5yZWdpc3RlcmVkX3JlYWRlcnMgPT0gMCk7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gUFNBX0VSUk9SX0NPUlJVUFRJT05fREVURUNURUQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKQEAgLTEyMzIsNiArMTI0NSwxMSBAQAogICAgICAgICAgICAgc3RhdHVzID0gUFNBX0VSUk9SX0NPUlJVUFRJT05fREVURUNURUQ7CiAgICAgfQogCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykKKyAgICBzaXplX3Qgc2xpY2VfaW5kZXggPSBzbG90LT5zbGljZV9pbmRleDsKKyNlbmRpZiAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLworCisKICAgICAvKiBNdWx0aXBhcnQgb3BlcmF0aW9ucyBtYXkgc3RpbGwgYmUgdXNpbmcgdGhlIGtleS4gVGhpcyBpcyBzYWZlCiAgICAgICogYmVjYXVzZSBhbGwgbXVsdGlwYXJ0IG9wZXJhdGlvbiBvYmplY3RzIGFyZSBpbmRlcGVuZGVudCBmcm9tCiAgICAgICogdGhlIGtleSBzbG90OiBpZiB0aGV5IG5lZWQgdG8gYWNjZXNzIHRoZSBrZXkgYWZ0ZXIgdGhlIHNldHVwCkBAIC0xMjQyLDYgKzEyNjAsMTcgQEAKICAgICAgKiB6ZXJvaXplIGJlY2F1c2UgdGhlIG1ldGFkYXRhIGlzIG5vdCBwYXJ0aWN1bGFybHkgc2Vuc2l0aXZlLgogICAgICAqIFRoaXMgbWVtc2V0IGFsc28gc2V0cyB0aGUgc2xvdCdzIHN0YXRlIHRvIFBTQV9TTE9UX0VNUFRZLiAqLwogICAgIG1lbXNldChzbG90LCAwLCBzaXplb2YoKnNsb3QpKTsKKworI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMpCisgICAgLyogSWYgdGhlIHNsb3QgaXMgYWxyZWFkeSBjb3JydXB0ZWQsIHNvbWV0aGluZyB3ZW50IGRlZXBseSB3cm9uZywKKyAgICAgKiBsaWtlIGEgdGhyZWFkIHN0aWxsIHVzaW5nIHRoZSBzbG90IG9yIGEgc3RyYXkgcG9pbnRlciBsZWFkaW5nCisgICAgICogdG8gdGhlIHNsb3QncyBtZW1vcnkgYmVpbmcgdXNlZCBmb3IgYW5vdGhlciBvYmplY3QuIExldCB0aGUgc2xvdAorICAgICAqIGxlYWsgcmF0aGVyIHRoYW4gbWFrZSB0aGUgY29ycnVwdGlvbiB3b3JzZS4gKi8KKyAgICBpZiAoc3RhdHVzID09IFBTQV9TVUNDRVNTKSB7CisgICAgICAgIHN0YXR1cyA9IHBzYV9mcmVlX2tleV9zbG90KHNsaWNlX2luZGV4LCBzbG90KTsKKyAgICB9CisjZW5kaWYgLyogTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgKi8KKwogICAgIHJldHVybiBzdGF0dXM7CiB9CiAKQEAgLTE3NTMsOCArMTc4Miw2IEBACiAgICAgcHNhX3NlX2Rydl90YWJsZV9lbnRyeV90ICoqcF9kcnYpCiB7CiAgICAgcHNhX3N0YXR1c190IHN0YXR1czsKLSAgICBwc2Ffa2V5X2lkX3Qgdm9sYXRpbGVfa2V5X2lkOwotICAgIHBzYV9rZXlfc2xvdF90ICpzbG90OwogCiAgICAgKHZvaWQpIG1ldGhvZDsKICAgICAqcF9kcnYgPSBOVUxMOwpAQCAtMTc2NCwxMSArMTc5MSwxNiBAQAogICAgICAgICByZXR1cm4gc3RhdHVzOwogICAgIH0KIAorICAgIGludCBrZXlfaXNfdm9sYXRpbGUgPSBQU0FfS0VZX0xJRkVUSU1FX0lTX1ZPTEFUSUxFKGF0dHJpYnV0ZXMtPmxpZmV0aW1lKTsKKyAgICBwc2Ffa2V5X2lkX3Qgdm9sYXRpbGVfa2V5X2lkOworCiAjaWYgZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQogICAgIFBTQV9USFJFQURJTkdfQ0hLX1JFVChtYmVkdGxzX211dGV4X2xvY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWJlZHRsc190aHJlYWRpbmdfa2V5X3Nsb3RfbXV0ZXgpKTsKICNlbmRpZgotICAgIHN0YXR1cyA9IHBzYV9yZXNlcnZlX2ZyZWVfa2V5X3Nsb3QoJnZvbGF0aWxlX2tleV9pZCwgcF9zbG90KTsKKyAgICBzdGF0dXMgPSBwc2FfcmVzZXJ2ZV9mcmVlX2tleV9zbG90KAorICAgICAgICBrZXlfaXNfdm9sYXRpbGUgPyAmdm9sYXRpbGVfa2V5X2lkIDogTlVMTCwKKyAgICAgICAgcF9zbG90KTsKICNpZiBkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCiAgICAgUFNBX1RIUkVBRElOR19DSEtfUkVUKG1iZWR0bHNfbXV0ZXhfdW5sb2NrKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1iZWR0bHNfdGhyZWFkaW5nX2tleV9zbG90X211dGV4KSk7CkBAIC0xNzc2LDcgKzE4MDgsNyBAQAogICAgIGlmIChzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpIHsKICAgICAgICAgcmV0dXJuIHN0YXR1czsKICAgICB9Ci0gICAgc2xvdCA9ICpwX3Nsb3Q7CisgICAgcHNhX2tleV9zbG90X3QgKnNsb3QgPSAqcF9zbG90OwogCiAgICAgLyogV2UncmUgc3RvcmluZyB0aGUgZGVjbGFyZWQgYml0LXNpemUgb2YgdGhlIGtleS4gSXQncyB1cCB0byBlYWNoCiAgICAgICogY3JlYXRpb24gbWVjaGFuaXNtIHRvIHZlcmlmeSB0aGF0IHRoaXMgaW5mb3JtYXRpb24gaXMgY29ycmVjdC4KQEAgLTE3ODcsNyArMTgxOSw3IEBACiAgICAgICogZGVmaW5pdGlvbi4gKi8KIAogICAgIHNsb3QtPmF0dHIgPSAqYXR0cmlidXRlczsKLSAgICBpZiAoUFNBX0tFWV9MSUZFVElNRV9JU19WT0xBVElMRShzbG90LT5hdHRyLmxpZmV0aW1lKSkgeworICAgIGlmIChrZXlfaXNfdm9sYXRpbGUpIHsKICNpZiAhZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fS0VZX0lEX0VOQ09ERVNfT1dORVIpCiAgICAgICAgIHNsb3QtPmF0dHIuaWQgPSB2b2xhdGlsZV9rZXlfaWQ7CiAjZWxzZQpAQCAtMTgzNSw2ICsxODY3LDkgQEAKIAogICAgICAgICBzdGF0dXMgPSBwc2FfY29weV9rZXlfbWF0ZXJpYWxfaW50b19zbG90KAogICAgICAgICAgICAgc2xvdCwgKHVpbnQ4X3QgKikgKCZzbG90X251bWJlciksIHNpemVvZihzbG90X251bWJlcikpOworICAgICAgICBpZiAoc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7CisgICAgICAgICAgICByZXR1cm4gc3RhdHVzOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKCpwX2RydiA9PSBOVUxMICYmIG1ldGhvZCA9PSBQU0FfS0VZX0NSRUFUSU9OX1JFR0lTVEVSKSB7CkBAIC0yMDc0LDcgKzIxMDksNyBAQAogICAgICAqIHN0b3JhZ2UgKCB0aHVzIG5vdCBpbiB0aGUgY2FzZSBvZiBpbXBvcnRpbmcgYSBrZXkgaW4gYSBzZWN1cmUgZWxlbWVudAogICAgICAqIHdpdGggc3RvcmFnZSAoIE1CRURUTFNfUFNBX0NSWVBUT19TRV9DICkgKSx3ZSBoYXZlIHRvIGFsbG9jYXRlIGEKICAgICAgKiBidWZmZXIgdG8gaG9sZCB0aGUgaW1wb3J0ZWQga2V5IG1hdGVyaWFsLiAqLwotICAgIGlmIChzbG90LT5rZXkuZGF0YSA9PSBOVUxMKSB7CisgICAgaWYgKHNsb3QtPmtleS5ieXRlcyA9PSAwKSB7CiAgICAgICAgIGlmIChwc2Ffa2V5X2xpZmV0aW1lX2lzX2V4dGVybmFsKGF0dHJpYnV0ZXMtPmxpZmV0aW1lKSkgewogICAgICAgICAgICAgc3RhdHVzID0gcHNhX2RyaXZlcl93cmFwcGVyX2dldF9rZXlfYnVmZmVyX3NpemVfZnJvbV9rZXlfZGF0YSgKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLCBkYXRhLCBkYXRhX2xlbmd0aCwgJnN0b3JhZ2Vfc2l6ZSk7CkBAIC0yMTQ2LDYgKzIxODEsMTQgQEAKICAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9OT1RfU1VQUE9SVEVEOwogICAgIH0KIAorICAgIC8qIE5vdCB1c2FibGUgd2l0aCB2b2xhdGlsZSBrZXlzLCBldmVuIHdpdGggYW4gYXBwcm9wcmlhdGUgbG9jYXRpb24sCisgICAgICogZHVlIHRvIHRoZSBBUEkgZGVzaWduLgorICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85MjUzCisgICAgICovCisgICAgaWYgKFBTQV9LRVlfTElGRVRJTUVfSVNfVk9MQVRJTEUocHNhX2dldF9rZXlfbGlmZXRpbWUoYXR0cmlidXRlcykpKSB7CisgICAgICAgIHJldHVybiBQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVDsKKyAgICB9CisKICAgICBzdGF0dXMgPSBwc2Ffc3RhcnRfa2V5X2NyZWF0aW9uKFBTQV9LRVlfQ1JFQVRJT05fUkVHSVNURVIsIGF0dHJpYnV0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2xvdCwgJmRyaXZlcik7CiAgICAgaWYgKHN0YXR1cyAhPSBQU0FfU1VDQ0VTUykgewpAQCAtNDYyOCwxMSArNDY3MSw3IEBACiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAKLSAgICBpZiAoYWxnID09IFBTQV9BTEdfQ0NNX1NUQVJfTk9fVEFHICYmCi0gICAgICAgIGlucHV0X2xlbmd0aCA8IFBTQV9CTE9DS19DSVBIRVJfQkxPQ0tfTEVOR1RIKHNsb3QtPmF0dHIudHlwZSkpIHsKLSAgICAgICAgc3RhdHVzID0gUFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQ7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9IGVsc2UgaWYgKGlucHV0X2xlbmd0aCA8IFBTQV9DSVBIRVJfSVZfTEVOR1RIKHNsb3QtPmF0dHIudHlwZSwgYWxnKSkgeworICAgIGlmIChpbnB1dF9sZW5ndGggPCBQU0FfQ0lQSEVSX0lWX0xFTkdUSChzbG90LT5hdHRyLnR5cGUsIGFsZykpIHsKICAgICAgICAgc3RhdHVzID0gUFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQ7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CkBAIC01MTk0LDYgKzUyMzMsMTIgQEAKICAgICAgICAgZ290byBleGl0OwogICAgIH0KIAorICAgIC8qIE5vIGlucHV0IHRvIGFkZCAoemVybyBsZW5ndGgpLCBub3RoaW5nIHRvIGRvLiAqLworICAgIGlmIChpbnB1dF9sZW5ndGggPT0gMCkgeworICAgICAgICBzdGF0dXMgPSBQU0FfU1VDQ0VTUzsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKwogICAgIGlmIChvcGVyYXRpb24tPmxlbmd0aHNfc2V0KSB7CiAgICAgICAgIGlmIChvcGVyYXRpb24tPmFkX3JlbWFpbmluZyA8IGlucHV0X2xlbmd0aCkgewogICAgICAgICAgICAgc3RhdHVzID0gUFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQ7CkBAIC02NDA3LDI3ICs2NDUyLDI4IEBACiAgICAgcmV0dXJuIHN0YXR1czsKIH0KIAotc3RhdGljIGNvbnN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3QgZGVmYXVsdF9wcm9kdWN0aW9uX3BhcmFtZXRlcnMgPQotICAgIFBTQV9LRVlfUFJPRFVDVElPTl9QQVJBTUVURVJTX0lOSVQ7CitzdGF0aWMgY29uc3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190IGRlZmF1bHRfY3VzdG9tX3Byb2R1Y3Rpb24gPQorICAgIFBTQV9DVVNUT01fS0VZX1BBUkFNRVRFUlNfSU5JVDsKIAotaW50IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX2FyZV9kZWZhdWx0KAotICAgIGNvbnN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3QgKnBhcmFtcywKLSAgICBzaXplX3QgcGFyYW1zX2RhdGFfbGVuZ3RoKQoraW50IHBzYV9jdXN0b21fa2V5X3BhcmFtZXRlcnNfYXJlX2RlZmF1bHQoCisgICAgY29uc3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190ICpjdXN0b20sCisgICAgc2l6ZV90IGN1c3RvbV9kYXRhX2xlbmd0aCkKIHsKLSAgICBpZiAocGFyYW1zLT5mbGFncyAhPSAwKSB7CisgICAgaWYgKGN1c3RvbS0+ZmxhZ3MgIT0gMCkgewogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgaWYgKHBhcmFtc19kYXRhX2xlbmd0aCAhPSAwKSB7CisgICAgaWYgKGN1c3RvbV9kYXRhX2xlbmd0aCAhPSAwKSB7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICByZXR1cm4gMTsKIH0KIAotcHNhX3N0YXR1c190IHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2V4dCgKK3BzYV9zdGF0dXNfdCBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oCiAgICAgY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmF0dHJpYnV0ZXMsCiAgICAgcHNhX2tleV9kZXJpdmF0aW9uX29wZXJhdGlvbl90ICpvcGVyYXRpb24sCi0gICAgY29uc3QgcHNhX2tleV9wcm9kdWN0aW9uX3BhcmFtZXRlcnNfdCAqcGFyYW1zLAotICAgIHNpemVfdCBwYXJhbXNfZGF0YV9sZW5ndGgsCisgICAgY29uc3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190ICpjdXN0b20sCisgICAgY29uc3QgdWludDhfdCAqY3VzdG9tX2RhdGEsCisgICAgc2l6ZV90IGN1c3RvbV9kYXRhX2xlbmd0aCwKICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCAqa2V5KQogewogICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7CkBAIC02NDQyLDcgKzY0ODgsOCBAQAogICAgICAgICByZXR1cm4gUFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQ7CiAgICAgfQogCi0gICAgaWYgKCFwc2Ffa2V5X3Byb2R1Y3Rpb25fcGFyYW1ldGVyc19hcmVfZGVmYXVsdChwYXJhbXMsIHBhcmFtc19kYXRhX2xlbmd0aCkpIHsKKyAgICAodm9pZCkgY3VzdG9tX2RhdGE7ICAgICAgICAgLyogV2Ugb25seSBhY2NlcHQgMC1sZW5ndGggZGF0YSAqLworICAgIGlmICghcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc19hcmVfZGVmYXVsdChjdXN0b20sIGN1c3RvbV9kYXRhX2xlbmd0aCkpIHsKICAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9JTlZBTElEX0FSR1VNRU5UOwogICAgIH0KIApAQCAtNjQ3NywxNCArNjUyNCwyOSBAQAogICAgIHJldHVybiBzdGF0dXM7CiB9CiAKK3BzYV9zdGF0dXNfdCBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9leHQoCisgICAgY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmF0dHJpYnV0ZXMsCisgICAgcHNhX2tleV9kZXJpdmF0aW9uX29wZXJhdGlvbl90ICpvcGVyYXRpb24sCisgICAgY29uc3QgcHNhX2tleV9wcm9kdWN0aW9uX3BhcmFtZXRlcnNfdCAqcGFyYW1zLAorICAgIHNpemVfdCBwYXJhbXNfZGF0YV9sZW5ndGgsCisgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgKmtleSkKK3sKKyAgICByZXR1cm4gcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfY3VzdG9tKAorICAgICAgICBhdHRyaWJ1dGVzLCBvcGVyYXRpb24sCisgICAgICAgIChjb25zdCBwc2FfY3VzdG9tX2tleV9wYXJhbWV0ZXJzX3QgKikgcGFyYW1zLAorICAgICAgICBwYXJhbXMtPmRhdGEsIHBhcmFtc19kYXRhX2xlbmd0aCwKKyAgICAgICAga2V5KTsKK30KKwogcHNhX3N0YXR1c190IHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5KAogICAgIGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphdHRyaWJ1dGVzLAogICAgIHBzYV9rZXlfZGVyaXZhdGlvbl9vcGVyYXRpb25fdCAqb3BlcmF0aW9uLAogICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90ICprZXkpCiB7Ci0gICAgcmV0dXJuIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2V4dChhdHRyaWJ1dGVzLCBvcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGVmYXVsdF9wcm9kdWN0aW9uX3BhcmFtZXRlcnMsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkpOworICAgIHJldHVybiBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oYXR0cmlidXRlcywgb3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRlZmF1bHRfY3VzdG9tX3Byb2R1Y3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5KTsKIH0KIAogCkBAIC03ODU4LDE1ICs3OTIwLDE4IEBACiAKIHBzYV9zdGF0dXNfdCBwc2FfZ2VuZXJhdGVfa2V5X2ludGVybmFsKAogICAgIGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphdHRyaWJ1dGVzLAotICAgIGNvbnN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3QgKnBhcmFtcywgc2l6ZV90IHBhcmFtc19kYXRhX2xlbmd0aCwKKyAgICBjb25zdCBwc2FfY3VzdG9tX2tleV9wYXJhbWV0ZXJzX3QgKmN1c3RvbSwKKyAgICBjb25zdCB1aW50OF90ICpjdXN0b21fZGF0YSwKKyAgICBzaXplX3QgY3VzdG9tX2RhdGFfbGVuZ3RoLAogICAgIHVpbnQ4X3QgKmtleV9idWZmZXIsIHNpemVfdCBrZXlfYnVmZmVyX3NpemUsIHNpemVfdCAqa2V5X2J1ZmZlcl9sZW5ndGgpCiB7CiAgICAgcHNhX3N0YXR1c190IHN0YXR1cyA9IFBTQV9FUlJPUl9DT1JSVVBUSU9OX0RFVEVDVEVEOwogICAgIHBzYV9rZXlfdHlwZV90IHR5cGUgPSBhdHRyaWJ1dGVzLT50eXBlOwogCiAgICAgLyogT25seSB1c2VkIGZvciBSU0EgKi8KLSAgICAodm9pZCkgcGFyYW1zOwotICAgICh2b2lkKSBwYXJhbXNfZGF0YV9sZW5ndGg7CisgICAgKHZvaWQpIGN1c3RvbTsKKyAgICAodm9pZCkgY3VzdG9tX2RhdGE7CisgICAgKHZvaWQpIGN1c3RvbV9kYXRhX2xlbmd0aDsKIAogICAgIGlmIChrZXlfdHlwZV9pc19yYXdfYnl0ZXModHlwZSkpIHsKICAgICAgICAgc3RhdHVzID0gcHNhX2dlbmVyYXRlX3JhbmRvbV9pbnRlcm5hbChrZXlfYnVmZmVyLCBrZXlfYnVmZmVyX3NpemUpOwpAQCAtNzg4NCw3ICs3OTQ5LDcgQEAKICNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFKQogICAgIGlmICh0eXBlID09IFBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVIpIHsKICAgICAgICAgcmV0dXJuIG1iZWR0bHNfcHNhX3JzYV9nZW5lcmF0ZV9rZXkoYXR0cmlidXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBwYXJhbXNfZGF0YV9sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbV9kYXRhLCBjdXN0b21fZGF0YV9sZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9idWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9idWZmZXJfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5X2J1ZmZlcl9sZW5ndGgpOwpAQCAtNzkxNiwxMCArNzk4MSwxMSBAQAogICAgIHJldHVybiBQU0FfU1VDQ0VTUzsKIH0KIAotcHNhX3N0YXR1c190IHBzYV9nZW5lcmF0ZV9rZXlfZXh0KGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphdHRyaWJ1dGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3QgKnBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgcGFyYW1zX2RhdGFfbGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90ICprZXkpCitwc2Ffc3RhdHVzX3QgcHNhX2dlbmVyYXRlX2tleV9jdXN0b20oY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190ICpjdXN0b20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY3VzdG9tX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGN1c3RvbV9kYXRhX2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCAqa2V5KQogewogICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7CiAgICAgcHNhX2tleV9zbG90X3QgKnNsb3QgPSBOVUxMOwpAQCAtNzk0MSwxMiArODAwNywxMiBAQAogCiAjaWYgZGVmaW5lZChQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEUpCiAgICAgaWYgKGF0dHJpYnV0ZXMtPnR5cGUgPT0gUFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUikgewotICAgICAgICBpZiAocGFyYW1zLT5mbGFncyAhPSAwKSB7CisgICAgICAgIGlmIChjdXN0b20tPmZsYWdzICE9IDApIHsKICAgICAgICAgICAgIHJldHVybiBQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVDsKICAgICAgICAgfQogICAgIH0gZWxzZQogI2VuZGlmCi0gICAgaWYgKCFwc2Ffa2V5X3Byb2R1Y3Rpb25fcGFyYW1ldGVyc19hcmVfZGVmYXVsdChwYXJhbXMsIHBhcmFtc19kYXRhX2xlbmd0aCkpIHsKKyAgICBpZiAoIXBzYV9jdXN0b21fa2V5X3BhcmFtZXRlcnNfYXJlX2RlZmF1bHQoY3VzdG9tLCBjdXN0b21fZGF0YV9sZW5ndGgpKSB7CiAgICAgICAgIHJldHVybiBQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVDsKICAgICB9CiAKQEAgLTc5NjAsNyArODAyNiw3IEBACiAgICAgICogc3RvcmFnZSAoIHRodXMgbm90IGluIHRoZSBjYXNlIG9mIGdlbmVyYXRpbmcgYSBrZXkgaW4gYSBzZWN1cmUgZWxlbWVudAogICAgICAqIHdpdGggc3RvcmFnZSAoIE1CRURUTFNfUFNBX0NSWVBUT19TRV9DICkgKSx3ZSBoYXZlIHRvIGFsbG9jYXRlIGEKICAgICAgKiBidWZmZXIgdG8gaG9sZCB0aGUgZ2VuZXJhdGVkIGtleSBtYXRlcmlhbC4gKi8KLSAgICBpZiAoc2xvdC0+a2V5LmRhdGEgPT0gTlVMTCkgeworICAgIGlmIChzbG90LT5rZXkuYnl0ZXMgPT0gMCkgewogICAgICAgICBpZiAoUFNBX0tFWV9MSUZFVElNRV9HRVRfTE9DQVRJT04oYXR0cmlidXRlcy0+bGlmZXRpbWUpID09CiAgICAgICAgICAgICBQU0FfS0VZX0xPQ0FUSU9OX0xPQ0FMX1NUT1JBR0UpIHsKICAgICAgICAgICAgIHN0YXR1cyA9IHBzYV92YWxpZGF0ZV9rZXlfdHlwZV9hbmRfc2l6ZV9mb3Jfa2V5X2dlbmVyYXRpb24oCkBAIC03OTg3LDcgKzgwNTMsOCBAQAogICAgIH0KIAogICAgIHN0YXR1cyA9IHBzYV9kcml2ZXJfd3JhcHBlcl9nZW5lcmF0ZV9rZXkoYXR0cmlidXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcywgcGFyYW1zX2RhdGFfbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tX2RhdGEsIGN1c3RvbV9kYXRhX2xlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3QtPmtleS5kYXRhLCBzbG90LT5rZXkuYnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2xvdC0+a2V5LmJ5dGVzKTsKICAgICBpZiAoc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7CkBAIC04MDA1LDEyICs4MDcyLDI1IEBACiAgICAgcmV0dXJuIHN0YXR1czsKIH0KIAorcHNhX3N0YXR1c190IHBzYV9nZW5lcmF0ZV9rZXlfZXh0KGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphdHRyaWJ1dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3QgKnBhcmFtcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgcGFyYW1zX2RhdGFfbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90ICprZXkpCit7CisgICAgcmV0dXJuIHBzYV9nZW5lcmF0ZV9rZXlfY3VzdG9tKAorICAgICAgICBhdHRyaWJ1dGVzLAorICAgICAgICAoY29uc3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190ICopIHBhcmFtcywKKyAgICAgICAgcGFyYW1zLT5kYXRhLCBwYXJhbXNfZGF0YV9sZW5ndGgsCisgICAgICAgIGtleSk7Cit9CisKIHBzYV9zdGF0dXNfdCBwc2FfZ2VuZXJhdGVfa2V5KGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphdHRyaWJ1dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgKmtleSkKIHsKLSAgICByZXR1cm4gcHNhX2dlbmVyYXRlX2tleV9leHQoYXR0cmlidXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRlZmF1bHRfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkpOworICAgIHJldHVybiBwc2FfZ2VuZXJhdGVfa2V5X2N1c3RvbShhdHRyaWJ1dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGVmYXVsdF9jdXN0b21fcHJvZHVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5KTsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9saWJyYXJ5L3BzYV9jcnlwdG9fY2lwaGVyLmMgYi9saWJyYXJ5L3BzYV9jcnlwdG9fY2lwaGVyLmMKaW5kZXggODgxZDY3My4uMzIxNmM5NCAxMDA2NDQKLS0tIGEvbGlicmFyeS9wc2FfY3J5cHRvX2NpcGhlci5jCisrKyBiL2xpYnJhcnkvcHNhX2NyeXB0b19jaXBoZXIuYwpAQCAtMjYzLDcgKzI2Myw3IEBACiB7CiAgICAgbWJlZHRsc19jaXBoZXJfbW9kZV90IG1vZGU7CiAgICAgcHNhX3N0YXR1c190IHN0YXR1czsKLSAgICBtYmVkdGxzX2NpcGhlcl9pZF90IGNpcGhlcl9pZF90bXA7CisgICAgbWJlZHRsc19jaXBoZXJfaWRfdCBjaXBoZXJfaWRfdG1wID0gTUJFRFRMU19DSVBIRVJfSURfTk9ORTsKIAogICAgIHN0YXR1cyA9IG1iZWR0bHNfY2lwaGVyX3ZhbHVlc19mcm9tX3BzYShhbGcsIGtleV90eXBlLCAma2V5X2JpdHMsICZtb2RlLCAmY2lwaGVyX2lkX3RtcCk7CiAgICAgaWYgKHN0YXR1cyAhPSBQU0FfU1VDQ0VTUykgewpkaWZmIC0tZ2l0IGEvbGlicmFyeS9wc2FfY3J5cHRvX2NvcmUuaCBiL2xpYnJhcnkvcHNhX2NyeXB0b19jb3JlLmgKaW5kZXggOTQ2MmQyZS4uZGYwZWU1MCAxMDA2NDQKLS0tIGEvbGlicmFyeS9wc2FfY3J5cHRvX2NvcmUuaAorKysgYi9saWJyYXJ5L3BzYV9jcnlwdG9fY29yZS5oCkBAIC01OSw2ICs1OSw4IEBACiAgKiBhbmQgbWV0YWRhdGEgZm9yIG9uZSBrZXkuCiAgKi8KIHR5cGVkZWYgc3RydWN0IHsKKyAgICAvKiBUaGlzIGZpZWxkIGlzIGFjY2Vzc2VkIGluIGEgbG90IG9mIHBsYWNlcy4gUHV0dGluZyBpdCBmaXJzdAorICAgICAqIHJlZHVjZXMgdGhlIGNvZGUgc2l6ZS4gKi8KICAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBhdHRyOwogCiAgICAgLyoKQEAgLTc4LDQwICs4MCw4NiBAQAogICAgICAqIHNsb3RzIHRoYXQgYXJlIGluIGEgc3VpdGFibGUgc3RhdGUgZm9yIHRoZSBmdW5jdGlvbi4KICAgICAgKiBGb3IgZXhhbXBsZSwgcHNhX2dldF9hbmRfbG9ja19rZXlfc2xvdF9pbl9tZW1vcnksIHdoaWNoIGZpbmRzIGEgc2xvdAogICAgICAqIGNvbnRhaW5pbmcgYSBnaXZlbiBrZXkgSUQsIHdpbGwgb25seSBjaGVjayBzbG90cyB3aG9zZSBzdGF0ZSB2YXJpYWJsZSBpcwotICAgICAqIFBTQV9TTE9UX0ZVTEwuICovCisgICAgICogUFNBX1NMT1RfRlVMTC4KKyAgICAgKi8KICAgICBwc2Ffa2V5X3Nsb3Rfc3RhdGVfdCBzdGF0ZTsKIAotICAgIC8qCi0gICAgICogTnVtYmVyIG9mIGZ1bmN0aW9ucyByZWdpc3RlcmVkIGFzIHJlYWRpbmcgdGhlIG1hdGVyaWFsIGluIHRoZSBrZXkgc2xvdC4KKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDKQorICAgIC8qIFRoZSBpbmRleCBvZiB0aGUgc2xpY2UgY29udGFpbmluZyB0aGlzIHNsb3QuCisgICAgICogVGhpcyBmaWVsZCBtdXN0IGJlIGZpbGxlZCBpZiB0aGUgc2xvdCBjb250YWlucyBhIGtleQorICAgICAqIChpbmNsdWRpbmcga2V5cyBiZWluZyBjcmVhdGVkIG9yIGRlc3Ryb3llZCksIGFuZCBjYW4gYmUgZWl0aGVyCisgICAgICogZmlsbGVkIG9yIDAgd2hlbiB0aGUgc2xvdCBpcyBmcmVlLgogICAgICAqCi0gICAgICogTGlicmFyeSBmdW5jdGlvbnMgbXVzdCBub3Qgd3JpdGUgZGlyZWN0bHkgdG8gcmVnaXN0ZXJlZF9yZWFkZXJzCi0gICAgICoKLSAgICAgKiBBIGZ1bmN0aW9uIG11c3QgY2FsbCBwc2FfcmVnaXN0ZXJfcmVhZChzbG90KSBiZWZvcmUgcmVhZGluZyB0aGUgY3VycmVudAotICAgICAqIGNvbnRlbnRzIG9mIHRoZSBzbG90IGZvciBhbiBvcGVyYXRpb24uCi0gICAgICogVGhleSB0aGVuIG11c3QgY2FsbCBwc2FfdW5yZWdpc3Rlcl9yZWFkKHNsb3QpIG9uY2UgdGhleSBoYXZlIGZpbmlzaGVkCi0gICAgICogcmVhZGluZyB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgc2xvdC4gSWYgdGhlIGtleSBzbG90IG11dGV4IGlzIG5vdAotICAgICAqIGhlbGQgKHdoZW4gbXV0ZXhlcyBhcmUgZW5hYmxlZCksIHRoaXMgY2FsbCBtdXN0IGJlIGRvbmUgdmlhIGEgY2FsbCB0bwotICAgICAqIHBzYV91bnJlZ2lzdGVyX3JlYWRfdW5kZXJfbXV0ZXgoc2xvdCkuCi0gICAgICogQSBmdW5jdGlvbiBtdXN0IGNhbGwgcHNhX2tleV9zbG90X2hhc19yZWFkZXJzKHNsb3QpIHRvIGNoZWNrIGlmCi0gICAgICogdGhlIHNsb3QgaXMgaW4gdXNlIGZvciByZWFkaW5nLgotICAgICAqCi0gICAgICogVGhpcyBjb3VudGVyIGlzIHVzZWQgdG8gcHJldmVudCByZXNldHRpbmcgdGhlIGtleSBzbG90IHdoaWxlIHRoZSBsaWJyYXJ5Ci0gICAgICogbWF5IGFjY2VzcyBpdC4gRm9yIGV4YW1wbGUsIHN1Y2ggY29udHJvbCBpcyBuZWVkZWQgaW4gdGhlIGZvbGxvd2luZwotICAgICAqIHNjZW5hcmlvczoKLSAgICAgKiAuIEluIGNhc2Ugb2Yga2V5IHNsb3Qgc3RhcnZhdGlvbiwgYWxsIGtleSBzbG90cyBjb250YWluIHRoZSBkZXNjcmlwdGlvbgotICAgICAqICAgb2YgYSBrZXksIGFuZCB0aGUgbGlicmFyeSBhc2tzIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgYSBwZXJzaXN0ZW50Ci0gICAgICogICBrZXkgbm90IHByZXNlbnQgaW4gdGhlIGtleSBzbG90cywgdGhlIGtleSBzbG90cyBjdXJyZW50bHkgYWNjZXNzZWQgYnkKLSAgICAgKiAgIHRoZSBsaWJyYXJ5IGNhbm5vdCBiZSByZWNsYWltZWQgdG8gZnJlZSBhIGtleSBzbG90IHRvIGxvYWQgdGhlCi0gICAgICogICBwZXJzaXN0ZW50IGtleS4KLSAgICAgKiAuIEluIGNhc2Ugb2YgYSBtdWx0aS10aHJlYWRlZCBhcHBsaWNhdGlvbiB3aGVyZSBvbmUgdGhyZWFkIGFza3MgdG8gY2xvc2UKLSAgICAgKiAgIG9yIHB1cmdlIG9yIGRlc3Ryb3kgYSBrZXkgd2hpbGUgaXQgaXMgaW4gdXNlIGJ5IHRoZSBsaWJyYXJ5IHRocm91Z2gKLSAgICAgKiAgIGFub3RoZXIgdGhyZWFkLiAqLwotICAgIHNpemVfdCByZWdpc3RlcmVkX3JlYWRlcnM7CisgICAgICogSW4gbW9zdCBjYXNlcywgdGhlIHNsaWNlIGluZGV4IGNhbiBiZSBkZWR1Y2VkIGZyb20gdGhlIGtleSBpZGVudGlmZXIuCisgICAgICogV2Uga2VlcCBpdCBpbiBhIHNlcGFyYXRlIGZpZWxkIGZvciByb2J1c3RuZXNzIChpdCByZWR1Y2VzIHRoZSBjaGFuY2UKKyAgICAgKiB0aGF0IGEgY29kaW5nIG1pc3Rha2UgaW4gdGhlIGtleSBzdG9yZSB3aWxsIHJlc3VsdCBpbiBhY2Nlc3NpbmcgdGhlCisgICAgICogd3Jvbmcgc2xpY2UpLCBhbmQgYWxzbyBzbyB0aGF0IGl0J3MgYXZhaWxhYmxlIGV2ZW4gb24gY29kZSBwYXRocworICAgICAqIGR1cmluZyBjcmVhdGlvbiBvciBkZXN0cnVjdGlvbiB3aGVyZSB0aGUga2V5IGlkZW50aWZpZXIgbWlnaHQgbm90IGJlCisgICAgICogZmlsbGVkIGluLgorICAgICAqICovCisgICAgdWludDhfdCBzbGljZV9pbmRleDsKKyNlbmRpZiAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLworCisgICAgdW5pb24geworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyogVGhlIGluZGV4IG9mIHRoZSBuZXh0IHNsb3QgaW4gdGhlIGZyZWUgbGlzdCBmb3IgdGhpcworICAgICAgICAgICAgICogc2xpY2UsIHJlbGF0aXZlICogdG8gdGhlIG5leHQgYXJyYXkgZWxlbWVudC4KKyAgICAgICAgICAgICAqCisgICAgICAgICAgICAgKiBUaGF0IGlzLCAwIG1lYW5zIHRoZSBuZXh0IHNsb3QsIDEgbWVhbnMgdGhlIG5leHQgc2xvdAorICAgICAgICAgICAgICogYnV0IG9uZSwgZXRjLiAtMSB3b3VsZCBtZWFuIHRoZSBzbG90IGl0c2VsZi4gLTIgbWVhbnMKKyAgICAgICAgICAgICAqIHRoZSBwcmV2aW91cyBzbG90LCBldGMuCisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICogSWYgdGhpcyBpcyBiZXlvbmQgdGhlIGFycmF5IGxlbmd0aCwgdGhlIGZyZWUgbGlzdCBlbmRzIHdpdGggdGhlCisgICAgICAgICAgICAgKiBjdXJyZW50IGVsZW1lbnQuCisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICogVGhlIHJlYXNvbiBmb3IgdGhpcyBzdHJhbmdlIGVuY29kaW5nIGlzIHRoYXQgMCBtZWFucyB0aGUgbmV4dAorICAgICAgICAgICAgICogZWxlbWVudC4gVGhpcyB3YXksIHdoZW4gd2UgYWxsb2NhdGUgYSBzbGljZSBhbmQgaW5pdGlhbGl6ZSBpdAorICAgICAgICAgICAgICogdG8gYWxsLXplcm8sIHRoZSBzbGljZSBpcyByZWFkeSBmb3IgdXNlLCB3aXRoIGEgZnJlZSBsaXN0IHRoYXQKKyAgICAgICAgICAgICAqIGNvbnNpc3RzIG9mIGFsbCB0aGUgc2xvdHMgaW4gb3JkZXIuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGludDMyX3QgbmV4dF9mcmVlX3JlbGF0aXZlX3RvX25leHQ7CisgICAgICAgIH0gZnJlZTsKKworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIE51bWJlciBvZiBmdW5jdGlvbnMgcmVnaXN0ZXJlZCBhcyByZWFkaW5nIHRoZSBtYXRlcmlhbCBpbiB0aGUga2V5IHNsb3QuCisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICogTGlicmFyeSBmdW5jdGlvbnMgbXVzdCBub3Qgd3JpdGUgZGlyZWN0bHkgdG8gcmVnaXN0ZXJlZF9yZWFkZXJzCisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICogQSBmdW5jdGlvbiBtdXN0IGNhbGwgcHNhX3JlZ2lzdGVyX3JlYWQoc2xvdCkgYmVmb3JlIHJlYWRpbmcKKyAgICAgICAgICAgICAqIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBzbG90IGZvciBhbiBvcGVyYXRpb24uCisgICAgICAgICAgICAgKiBUaGV5IHRoZW4gbXVzdCBjYWxsIHBzYV91bnJlZ2lzdGVyX3JlYWQoc2xvdCkgb25jZSB0aGV5IGhhdmUKKyAgICAgICAgICAgICAqIGZpbmlzaGVkIHJlYWRpbmcgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgdGhlIHNsb3QuIElmIHRoZSBrZXkKKyAgICAgICAgICAgICAqIHNsb3QgbXV0ZXggaXMgbm90IGhlbGQgKHdoZW4gbXV0ZXhlcyBhcmUgZW5hYmxlZCksIHRoaXMgY2FsbAorICAgICAgICAgICAgICogbXVzdCBiZSBkb25lIHZpYSBhIGNhbGwgdG8KKyAgICAgICAgICAgICAqIHBzYV91bnJlZ2lzdGVyX3JlYWRfdW5kZXJfbXV0ZXgoc2xvdCkuCisgICAgICAgICAgICAgKiBBIGZ1bmN0aW9uIG11c3QgY2FsbCBwc2Ffa2V5X3Nsb3RfaGFzX3JlYWRlcnMoc2xvdCkgdG8gY2hlY2sgaWYKKyAgICAgICAgICAgICAqIHRoZSBzbG90IGlzIGluIHVzZSBmb3IgcmVhZGluZy4KKyAgICAgICAgICAgICAqCisgICAgICAgICAgICAgKiBUaGlzIGNvdW50ZXIgaXMgdXNlZCB0byBwcmV2ZW50IHJlc2V0dGluZyB0aGUga2V5IHNsb3Qgd2hpbGUKKyAgICAgICAgICAgICAqIHRoZSBsaWJyYXJ5IG1heSBhY2Nlc3MgaXQuIEZvciBleGFtcGxlLCBzdWNoIGNvbnRyb2wgaXMgbmVlZGVkCisgICAgICAgICAgICAgKiBpbiB0aGUgZm9sbG93aW5nIHNjZW5hcmlvczoKKyAgICAgICAgICAgICAqIC4gSW4gY2FzZSBvZiBrZXkgc2xvdCBzdGFydmF0aW9uLCBhbGwga2V5IHNsb3RzIGNvbnRhaW4gdGhlCisgICAgICAgICAgICAgKiAgIGRlc2NyaXB0aW9uIG9mIGEga2V5LCBhbmQgdGhlIGxpYnJhcnkgYXNrcyBmb3IgdGhlCisgICAgICAgICAgICAgKiAgIGRlc2NyaXB0aW9uIG9mIGEgcGVyc2lzdGVudCBrZXkgbm90IHByZXNlbnQgaW4gdGhlCisgICAgICAgICAgICAgKiAgIGtleSBzbG90cywgdGhlIGtleSBzbG90cyBjdXJyZW50bHkgYWNjZXNzZWQgYnkgdGhlCisgICAgICAgICAgICAgKiAgIGxpYnJhcnkgY2Fubm90IGJlIHJlY2xhaW1lZCB0byBmcmVlIGEga2V5IHNsb3QgdG8gbG9hZAorICAgICAgICAgICAgICogICB0aGUgcGVyc2lzdGVudCBrZXkuCisgICAgICAgICAgICAgKiAuIEluIGNhc2Ugb2YgYSBtdWx0aS10aHJlYWRlZCBhcHBsaWNhdGlvbiB3aGVyZSBvbmUgdGhyZWFkCisgICAgICAgICAgICAgKiAgIGFza3MgdG8gY2xvc2Ugb3IgcHVyZ2Ugb3IgZGVzdHJveSBhIGtleSB3aGlsZSBpdCBpcyBpbiB1c2UKKyAgICAgICAgICAgICAqICAgYnkgdGhlIGxpYnJhcnkgdGhyb3VnaCBhbm90aGVyIHRocmVhZC4gKi8KKyAgICAgICAgICAgIHNpemVfdCByZWdpc3RlcmVkX3JlYWRlcnM7CisgICAgICAgIH0gb2NjdXBpZWQ7CisgICAgfSB2YXI7CiAKICAgICAvKiBEeW5hbWljYWxseSBhbGxvY2F0ZWQga2V5IGRhdGEgYnVmZmVyLgogICAgICAqIEZvcm1hdCBhcyBzcGVjaWZpZWQgaW4gcHNhX2V4cG9ydF9rZXkoKS4gKi8KICAgICBzdHJ1Y3Qga2V5X2RhdGEgeworI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UUykKKyAgICAgICAgdWludDhfdCBkYXRhW01CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVF9CVUZGRVJfU0laRV07CisjZWxzZQogICAgICAgICB1aW50OF90ICpkYXRhOworI2VuZGlmCiAgICAgICAgIHNpemVfdCBieXRlczsKICAgICB9IGtleTsKIH0gcHNhX2tleV9zbG90X3Q7CkBAIC0xNjksNyArMjE3LDcgQEAKICAqLwogc3RhdGljIGlubGluZSBpbnQgcHNhX2tleV9zbG90X2hhc19yZWFkZXJzKGNvbnN0IHBzYV9rZXlfc2xvdF90ICpzbG90KQogewotICAgIHJldHVybiBzbG90LT5yZWdpc3RlcmVkX3JlYWRlcnMgPiAwOworICAgIHJldHVybiBzbG90LT52YXIub2NjdXBpZWQucmVnaXN0ZXJlZF9yZWFkZXJzID4gMDsKIH0KIAogI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MpCkBAIC0zNDMsMTcgKzM5MSwxOCBAQAogICAgIGNvbnN0IHVpbnQ4X3QgKmtleV9idWZmZXIsIHNpemVfdCBrZXlfYnVmZmVyX3NpemUsCiAgICAgdWludDhfdCAqZGF0YSwgc2l6ZV90IGRhdGFfc2l6ZSwgc2l6ZV90ICpkYXRhX2xlbmd0aCk7CiAKLS8qKiBXaGV0aGVyIGEga2V5IHByb2R1Y3Rpb24gcGFyYW1ldGVycyBzdHJ1Y3R1cmUgaXMgdGhlIGRlZmF1bHQuCisvKiogV2hldGhlciBhIGtleSBjdXN0b20gcHJvZHVjdGlvbiBwYXJhbWV0ZXJzIHN0cnVjdHVyZSBpcyB0aGUgZGVmYXVsdC4KICAqCi0gKiBDYWxscyB0byBhIGtleSBnZW5lcmF0aW9uIGRyaXZlciB3aXRoIG5vbi1kZWZhdWx0IHByb2R1Y3Rpb24gcGFyYW1ldGVycworICogQ2FsbHMgdG8gYSBrZXkgZ2VuZXJhdGlvbiBkcml2ZXIgd2l0aCBub24tZGVmYXVsdCBjdXN0b20gcHJvZHVjdGlvbiBwYXJhbWV0ZXJzCiAgKiByZXF1aXJlIGEgZHJpdmVyIHN1cHBvcnRpbmcgY3VzdG9tIHByb2R1Y3Rpb24gcGFyYW1ldGVycy4KICAqCi0gKiBccGFyYW1baW5dIHBhcmFtcyAgICAgICAgICAgIFRoZSBrZXkgcHJvZHVjdGlvbiBwYXJhbWV0ZXJzIHRvIGNoZWNrLgotICogXHBhcmFtIHBhcmFtc19kYXRhX2xlbmd0aCAgICBTaXplIG9mIGBwYXJhbXMtPmRhdGFgIGluIGJ5dGVzLgorICogXHBhcmFtW2luXSBjdXN0b20gICAgICAgICAgICBUaGUga2V5IGN1c3RvbSBwcm9kdWN0aW9uIHBhcmFtZXRlcnMgdG8gY2hlY2suCisgKiBccGFyYW0gY3VzdG9tX2RhdGFfbGVuZ3RoICAgIFNpemUgb2YgdGhlIGFzc29jaWF0ZWQgdmFyaWFibGUtbGVuZ3RoIGRhdGEKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYnl0ZXMuCiAgKi8KLWludCBwc2Ffa2V5X3Byb2R1Y3Rpb25fcGFyYW1ldGVyc19hcmVfZGVmYXVsdCgKLSAgICBjb25zdCBwc2Ffa2V5X3Byb2R1Y3Rpb25fcGFyYW1ldGVyc190ICpwYXJhbXMsCi0gICAgc2l6ZV90IHBhcmFtc19kYXRhX2xlbmd0aCk7CitpbnQgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc19hcmVfZGVmYXVsdCgKKyAgICBjb25zdCBwc2FfY3VzdG9tX2tleV9wYXJhbWV0ZXJzX3QgKmN1c3RvbSwKKyAgICBzaXplX3QgY3VzdG9tX2RhdGFfbGVuZ3RoKTsKIAogLyoqCiAgKiBcYnJpZWYgR2VuZXJhdGUgYSBrZXkuCkBAIC0zNjIsOSArNDExLDkgQEAKICAqICAgICAgIGVudHJ5IHBvaW50LgogICoKICAqIFxwYXJhbVtpbl0gIGF0dHJpYnV0ZXMgICAgICAgICBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIGtleSB0byBnZW5lcmF0ZS4KLSAqIFxwYXJhbVtpbl0gIHBhcmFtcyAgICAgICAgICAgICBUaGUgcHJvZHVjdGlvbiBwYXJhbWV0ZXJzIGZyb20KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2FfZ2VuZXJhdGVfa2V5X2V4dCgpLgotICogXHBhcmFtICAgICAgcGFyYW1zX2RhdGFfbGVuZ3RoIFRoZSBzaXplIG9mIGBwYXJhbXMtPmRhdGFgIGluIGJ5dGVzLgorICogXHBhcmFtW2luXSBjdXN0b20gICAgICAgICAgICAgIEN1c3RvbSBwYXJhbWV0ZXJzIGZvciB0aGUga2V5IGdlbmVyYXRpb24uCisgKiBccGFyYW1baW5dIGN1c3RvbV9kYXRhICAgICAgICAgVmFyaWFibGUtbGVuZ3RoIGRhdGEgYXNzb2NpYXRlZCB3aXRoIFxjIGN1c3RvbS4KKyAqIFxwYXJhbSBjdXN0b21fZGF0YV9sZW5ndGggICAgICBMZW5ndGggb2YgYGN1c3RvbV9kYXRhYCBpbiBieXRlcy4KICAqIFxwYXJhbVtvdXRdIGtleV9idWZmZXIgICAgICAgICBCdWZmZXIgd2hlcmUgdGhlIGtleSBkYXRhIGlzIHRvIGJlIHdyaXR0ZW4uCiAgKiBccGFyYW1baW5dICBrZXlfYnVmZmVyX3NpemUgICAgU2l6ZSBvZiBccCBrZXlfYnVmZmVyIGluIGJ5dGVzLgogICogXHBhcmFtW291dF0ga2V5X2J1ZmZlcl9sZW5ndGggIE9uIHN1Y2Nlc3MsIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBpbgpAQCAtMzc5LDggKzQyOCw5IEBACiAgKiAgICAgICAgIFRoZSBzaXplIG9mIFxwIGtleV9idWZmZXIgaXMgdG9vIHNtYWxsLgogICovCiBwc2Ffc3RhdHVzX3QgcHNhX2dlbmVyYXRlX2tleV9pbnRlcm5hbChjb25zdCBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCAqYXR0cmlidXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3QgKnBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBwYXJhbXNfZGF0YV9sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwc2FfY3VzdG9tX2tleV9wYXJhbWV0ZXJzX3QgKmN1c3RvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmN1c3RvbV9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGN1c3RvbV9kYXRhX2xlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmtleV9idWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qga2V5X2J1ZmZlcl9zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICprZXlfYnVmZmVyX2xlbmd0aCk7CmRpZmYgLS1naXQgYS9saWJyYXJ5L3BzYV9jcnlwdG9fcmFuZG9tX2ltcGwuaCBiL2xpYnJhcnkvcHNhX2NyeXB0b19yYW5kb21faW1wbC5oCmluZGV4IDUzM2ZiMmUuLjViNTE2MzEgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvcHNhX2NyeXB0b19yYW5kb21faW1wbC5oCisrKyBiL2xpYnJhcnkvcHNhX2NyeXB0b19yYW5kb21faW1wbC5oCkBAIC0yMSwxMyArMjEsMTAgQEAKICNpbmNsdWRlICJtYmVkdGxzL2VudHJvcHkuaCIKIAogLyogQ2hvb3NlIGEgRFJCRyBiYXNlZCBvbiBjb25maWd1cmF0aW9uIGFuZCBhdmFpbGFiaWxpdHkgKi8KLSNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0hNQUNfRFJCR19NRF9UWVBFKQotCi0jaW5jbHVkZSAibWJlZHRscy9obWFjX2RyYmcuaCIKLQotI2VsaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX0MpCisjaWYgZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX0MpCiAKICNpbmNsdWRlICJtYmVkdGxzL2N0cl9kcmJnLmgiCisjdW5kZWYgTUJFRFRMU19QU0FfSE1BQ19EUkJHX01EX1RZUEUKIAogI2VsaWYgZGVmaW5lZChNQkVEVExTX0hNQUNfRFJCR19DKQogCkBAIC00OSwxNyArNDYsMTEgQEAKICNlcnJvciAiTm8gaGFzaCBhbGdvcml0aG0gYXZhaWxhYmxlIGZvciBITUFDX0RCUkcuIgogI2VuZGlmCiAKLSNlbHNlIC8qICFNQkVEVExTX1BTQV9ITUFDX0RSQkdfTURfVFlQRSAmJiAhTUJFRFRMU19DVFJfRFJCR19DICYmICFNQkVEVExTX0hNQUNfRFJCR19DKi8KKyNlbHNlIC8qICFNQkVEVExTX0NUUl9EUkJHX0MgJiYgIU1CRURUTFNfSE1BQ19EUkJHX0MqLwogCiAjZXJyb3IgIk5vIERSQkcgbW9kdWxlIGF2YWlsYWJsZSBmb3IgdGhlIHBzYV9jcnlwdG8gbW9kdWxlLiIKIAotI2VuZGlmIC8qICFNQkVEVExTX1BTQV9ITUFDX0RSQkdfTURfVFlQRSAmJiAhTUJFRFRMU19DVFJfRFJCR19DICYmICFNQkVEVExTX0hNQUNfRFJCR19DKi8KLQotI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19DKQotI2luY2x1ZGUgIm1iZWR0bHMvY3RyX2RyYmcuaCIKLSNlbGlmIGRlZmluZWQoTUJFRFRMU19ITUFDX0RSQkdfQykKLSNpbmNsdWRlICJtYmVkdGxzL2htYWNfZHJiZy5oIgotI2VuZGlmIC8qICFNQkVEVExTX0NUUl9EUkJHX0MgJiYgIU1CRURUTFNfSE1BQ19EUkJHX0MgKi8KKyNlbmRpZiAvKiAhTUJFRFRMU19DVFJfRFJCR19DICYmICFNQkVEVExTX0hNQUNfRFJCR19DKi8KIAogLyogVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRoYXQgbWJlZHRsc19wc2FfZ2V0X3JhbmRvbSgpIGlzIGV4cGVjdGVkIHRvIHJldHVybi4gKi8KICNpZiBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfQykKZGlmZiAtLWdpdCBhL2xpYnJhcnkvcHNhX2NyeXB0b19yc2EuYyBiL2xpYnJhcnkvcHNhX2NyeXB0b19yc2EuYwppbmRleCAyZjYxM2IzLi4zOGRjM2I4IDEwMDY0NAotLS0gYS9saWJyYXJ5L3BzYV9jcnlwdG9fcnNhLmMKKysrIGIvbGlicmFyeS9wc2FfY3J5cHRvX3JzYS5jCkBAIC0xOTcsMTYgKzE5NywxNCBAQAogCiAgICAgc3RhdHVzID0gbWJlZHRsc19wc2FfcnNhX2xvYWRfcmVwcmVzZW50YXRpb24oCiAgICAgICAgIGF0dHJpYnV0ZXMtPnR5cGUsIGtleV9idWZmZXIsIGtleV9idWZmZXJfc2l6ZSwgJnJzYSk7Ci0gICAgaWYgKHN0YXR1cyAhPSBQU0FfU1VDQ0VTUykgewotICAgICAgICByZXR1cm4gc3RhdHVzOworICAgIGlmIChzdGF0dXMgPT0gUFNBX1NVQ0NFU1MpIHsKKyAgICAgICAgc3RhdHVzID0gbWJlZHRsc19wc2FfcnNhX2V4cG9ydF9rZXkoUFNBX0tFWV9UWVBFX1JTQV9QVUJMSUNfS0VZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc2EsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9sZW5ndGgpOwogICAgIH0KIAotICAgIHN0YXR1cyA9IG1iZWR0bHNfcHNhX3JzYV9leHBvcnRfa2V5KFBTQV9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc2EsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9sZW5ndGgpOwotCiAgICAgbWJlZHRsc19yc2FfZnJlZShyc2EpOwogICAgIG1iZWR0bHNfZnJlZShyc2EpOwogCkBAIC0yNDEsNyArMjM5LDcgQEAKIAogcHNhX3N0YXR1c190IG1iZWR0bHNfcHNhX3JzYV9nZW5lcmF0ZV9rZXkoCiAgICAgY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmF0dHJpYnV0ZXMsCi0gICAgY29uc3QgcHNhX2tleV9wcm9kdWN0aW9uX3BhcmFtZXRlcnNfdCAqcGFyYW1zLCBzaXplX3QgcGFyYW1zX2RhdGFfbGVuZ3RoLAorICAgIGNvbnN0IHVpbnQ4X3QgKmN1c3RvbV9kYXRhLCBzaXplX3QgY3VzdG9tX2RhdGFfbGVuZ3RoLAogICAgIHVpbnQ4X3QgKmtleV9idWZmZXIsIHNpemVfdCBrZXlfYnVmZmVyX3NpemUsIHNpemVfdCAqa2V5X2J1ZmZlcl9sZW5ndGgpCiB7CiAgICAgcHNhX3N0YXR1c190IHN0YXR1czsKQEAgLTI0OSw4ICsyNDcsOCBAQAogICAgIGludCByZXQgPSBNQkVEVExTX0VSUl9FUlJPUl9DT1JSVVBUSU9OX0RFVEVDVEVEOwogICAgIGludCBleHBvbmVudCA9IDY1NTM3OwogCi0gICAgaWYgKHBhcmFtc19kYXRhX2xlbmd0aCAhPSAwKSB7Ci0gICAgICAgIHN0YXR1cyA9IHBzYV9yc2FfcmVhZF9leHBvbmVudChwYXJhbXMtPmRhdGEsIHBhcmFtc19kYXRhX2xlbmd0aCwKKyAgICBpZiAoY3VzdG9tX2RhdGFfbGVuZ3RoICE9IDApIHsKKyAgICAgICAgc3RhdHVzID0gcHNhX3JzYV9yZWFkX2V4cG9uZW50KGN1c3RvbV9kYXRhLCBjdXN0b21fZGF0YV9sZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXhwb25lbnQpOwogICAgICAgICBpZiAoc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7CiAgICAgICAgICAgICByZXR1cm4gc3RhdHVzOwpAQCAtMjY0LDYgKzI2Miw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KSBhdHRyaWJ1dGVzLT5iaXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb25lbnQpOwogICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICBtYmVkdGxzX3JzYV9mcmVlKCZyc2EpOwogICAgICAgICByZXR1cm4gbWJlZHRsc190b19wc2FfZXJyb3IocmV0KTsKICAgICB9CiAKQEAgLTMzMCw3ICszMjksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9idWZmZXJfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcnNhKTsKICAgICBpZiAoc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7Ci0gICAgICAgIHJldHVybiBzdGF0dXM7CisgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAKICAgICBzdGF0dXMgPSBwc2FfcnNhX2RlY29kZV9tZF90eXBlKGFsZywgaGFzaF9sZW5ndGgsICZtZF9hbGcpOwpkaWZmIC0tZ2l0IGEvbGlicmFyeS9wc2FfY3J5cHRvX3JzYS5oIGIvbGlicmFyeS9wc2FfY3J5cHRvX3JzYS5oCmluZGV4IGZmZWVmMjYuLjFhNzgwMDAgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvcHNhX2NyeXB0b19yc2EuaAorKysgYi9saWJyYXJ5L3BzYV9jcnlwdG9fcnNhLmgKQEAgLTEwNSwxNyArMTA1LDExIEBACiAvKioKICAqIFxicmllZiBHZW5lcmF0ZSBhbiBSU0Ega2V5LgogICoKLSAqIFxub3RlIFRoZSBzaWduYXR1cmUgb2YgdGhlIGZ1bmN0aW9uIGlzIHRoYXQgb2YgYSBQU0EgZHJpdmVyIGdlbmVyYXRlX2tleQotICogICAgICAgZW50cnkgcG9pbnQuCi0gKgogICogXHBhcmFtW2luXSAgYXR0cmlidXRlcyAgICAgICAgIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgUlNBIGtleSB0byBnZW5lcmF0ZS4KLSAqIFxwYXJhbVtpbl0gIHBhcmFtcyAgICAgICAgICAgICBQcm9kdWN0aW9uIHBhcmFtZXRlcnMgZm9yIHRoZSBrZXkKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0aW9uLiBUaGlzIGZ1bmN0aW9uIG9ubHkgdXNlcwotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBwYXJhbXMtPmRhdGFgLAotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIGNvbnRhaW5zIHRoZSBwdWJsaWMgZXhwb25lbnQuCisgKiBccGFyYW1baW5dICBjdXN0b21fZGF0YSAgICAgICAgVGhlIHB1YmxpYyBleHBvbmVudCB0byB1c2UuCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBjYW4gYmUgYSBudWxsIHBvaW50ZXIgaWYKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcYyBwYXJhbXNfZGF0YV9sZW5ndGggaXMgMC4KLSAqIFxwYXJhbSBwYXJhbXNfZGF0YV9sZW5ndGggICAgICBMZW5ndGggb2YgYHBhcmFtcy0+ZGF0YWAgaW4gYnl0ZXMuCisgKiBccGFyYW0gY3VzdG9tX2RhdGFfbGVuZ3RoICAgICAgTGVuZ3RoIG9mIFxwIGN1c3RvbV9kYXRhIGluIGJ5dGVzLgogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgY2FuIGJlIDAsIGluIHdoaWNoIGNhc2UgdGhlCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIGV4cG9uZW50IHdpbGwgYmUgNjU1MzcuCiAgKiBccGFyYW1bb3V0XSBrZXlfYnVmZmVyICAgICAgICAgQnVmZmVyIHdoZXJlIHRoZSBrZXkgZGF0YSBpcyB0byBiZSB3cml0dGVuLgpAQCAtMTMyLDcgKzEyNiw3IEBACiAgKi8KIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3BzYV9yc2FfZ2VuZXJhdGVfa2V5KAogICAgIGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphdHRyaWJ1dGVzLAotICAgIGNvbnN0IHBzYV9rZXlfcHJvZHVjdGlvbl9wYXJhbWV0ZXJzX3QgKnBhcmFtcywgc2l6ZV90IHBhcmFtc19kYXRhX2xlbmd0aCwKKyAgICBjb25zdCB1aW50OF90ICpjdXN0b21fZGF0YSwgc2l6ZV90IGN1c3RvbV9kYXRhX2xlbmd0aCwKICAgICB1aW50OF90ICprZXlfYnVmZmVyLCBzaXplX3Qga2V5X2J1ZmZlcl9zaXplLCBzaXplX3QgKmtleV9idWZmZXJfbGVuZ3RoKTsKIAogLyoqIFNpZ24gYW4gYWxyZWFkeS1jYWxjdWxhdGVkIGhhc2ggd2l0aCBhbiBSU0EgcHJpdmF0ZSBrZXkuCmRpZmYgLS1naXQgYS9saWJyYXJ5L3BzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50LmMgYi9saWJyYXJ5L3BzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50LmMKaW5kZXggYjE4NGVkMC4uOTg1MGQ4YyAxMDA2NDQKLS0tIGEvbGlicmFyeS9wc2FfY3J5cHRvX3Nsb3RfbWFuYWdlbWVudC5jCisrKyBiL2xpYnJhcnkvcHNhX2NyeXB0b19zbG90X21hbmFnZW1lbnQuYwpAQCAtMjcsOCArMjcsMTY2IEBACiAjaW5jbHVkZSAibWJlZHRscy90aHJlYWRpbmcuaCIKICNlbmRpZgogCisKKworLyogTWFrZSBzdXJlIHdlIGhhdmUgZGlzdGluY3QgcmFuZ2VzIG9mIGtleSBpZGVudGlmaWVycyBmb3IgZGlzdGluY3QKKyAqIHB1cnBvc2VzLiAqLworTUJFRFRMU19TVEFUSUNfQVNTRVJUKFBTQV9LRVlfSURfVVNFUl9NSU4gPCBQU0FfS0VZX0lEX1VTRVJfTUFYLAorICAgICAgICAgICAgICAgICAgICAgICJFbXB0eSB1c2VyIGtleSBJRCByYW5nZSIpOworTUJFRFRMU19TVEFUSUNfQVNTRVJUKFBTQV9LRVlfSURfVkVORE9SX01JTiA8IFBTQV9LRVlfSURfVkVORE9SX01BWCwKKyAgICAgICAgICAgICAgICAgICAgICAiRW1wdHkgdmVuZG9yIGtleSBJRCByYW5nZSIpOworTUJFRFRMU19TVEFUSUNfQVNTRVJUKE1CRURUTFNfUFNBX0tFWV9JRF9CVUlMVElOX01JTiA8IE1CRURUTFNfUFNBX0tFWV9JRF9CVUlMVElOX01BWCwKKyAgICAgICAgICAgICAgICAgICAgICAiRW1wdHkgYnVpbHRpbiBrZXkgSUQgcmFuZ2UiKTsKK01CRURUTFNfU1RBVElDX0FTU0VSVChQU0FfS0VZX0lEX1ZPTEFUSUxFX01JTiA8IFBTQV9LRVlfSURfVk9MQVRJTEVfTUFYLAorICAgICAgICAgICAgICAgICAgICAgICJFbXB0eSB2b2xhdGlsZSBrZXkgSUQgcmFuZ2UiKTsKKworTUJFRFRMU19TVEFUSUNfQVNTRVJUKFBTQV9LRVlfSURfVVNFUl9NQVggPCBQU0FfS0VZX0lEX1ZFTkRPUl9NSU4gfHwKKyAgICAgICAgICAgICAgICAgICAgICBQU0FfS0VZX0lEX1ZFTkRPUl9NQVggPCBQU0FfS0VZX0lEX1VTRVJfTUlOLAorICAgICAgICAgICAgICAgICAgICAgICJPdmVybGFwIGJldHdlZW4gdXNlciBrZXkgSURzIGFuZCB2ZW5kb3Iga2V5IElEcyIpOworCitNQkVEVExTX1NUQVRJQ19BU1NFUlQoUFNBX0tFWV9JRF9WRU5ET1JfTUlOIDw9IE1CRURUTFNfUFNBX0tFWV9JRF9CVUlMVElOX01JTiAmJgorICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfUFNBX0tFWV9JRF9CVUlMVElOX01BWCA8PSBQU0FfS0VZX0lEX1ZFTkRPUl9NQVgsCisgICAgICAgICAgICAgICAgICAgICAgIkJ1aWx0aW4ga2V5IGlkZW50aWZpZXJzIGFyZSBub3QgaW4gdGhlIHZlbmRvciByYW5nZSIpOworCitNQkVEVExTX1NUQVRJQ19BU1NFUlQoUFNBX0tFWV9JRF9WRU5ET1JfTUlOIDw9IFBTQV9LRVlfSURfVk9MQVRJTEVfTUlOICYmCisgICAgICAgICAgICAgICAgICAgICAgUFNBX0tFWV9JRF9WT0xBVElMRV9NQVggPD0gUFNBX0tFWV9JRF9WRU5ET1JfTUFYLAorICAgICAgICAgICAgICAgICAgICAgICJWb2xhdGlsZSBrZXkgaWRlbnRpZmllcnMgYXJlIG5vdCBpbiB0aGUgdmVuZG9yIHJhbmdlIik7CisKK01CRURUTFNfU1RBVElDX0FTU0VSVChQU0FfS0VZX0lEX1ZPTEFUSUxFX01BWCA8IE1CRURUTFNfUFNBX0tFWV9JRF9CVUlMVElOX01JTiB8fAorICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfUFNBX0tFWV9JRF9CVUlMVElOX01BWCA8IFBTQV9LRVlfSURfVk9MQVRJTEVfTUlOLAorICAgICAgICAgICAgICAgICAgICAgICJPdmVybGFwIGJldHdlZW4gYnVpbHRpbiBrZXkgSURzIGFuZCB2b2xhdGlsZSBrZXkgSURzIik7CisKKworCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykKKworLyogRHluYW1pYyBrZXkgc3RvcmUuCisgKgorICogVGhlIGtleSBzdG9yZSBjb25zaXN0cyBvZiBtdWx0aXBsZSBzbGljZXMuCisgKgorICogVGhlIHZvbGF0aWxlIGtleXMgYXJlIHN0b3JlZCBpbiB2YXJpYWJsZS1zaXplZCB0YWJsZXMgY2FsbGVkIHNsaWNlcy4KKyAqIFNsaWNlcyBhcmUgYWxsb2NhdGVkIG9uIGRlbWFuZCBhbmQgZGVhbGxvY2F0ZWQgd2hlbiBwb3NzaWJsZS4KKyAqIFRoZSBzaXplIG9mIHNsaWNlcyBpbmNyZWFzZXMgZXhwb25lbnRpYWxseSwgc28gdGhlIGF2ZXJhZ2Ugb3ZlcmhlYWQKKyAqIChudW1iZXIgb2Ygc2xvdHMgdGhhdCBhcmUgYWxsb2NhdGVkIGJ1dCBub3QgdXNlZCkgaXMgcm91Z2hseQorICogcHJvcG9ydGlvbmFsIHRvIHRoZSBudW1iZXIgb2Yga2V5cyAod2l0aCBhIGZhY3RvciB0aGF0IGdyb3dzCisgKiB3aGVuIHRoZSBrZXkgc3RvcmUgaXMgZnJhZ21lbnRlZCkuCisgKgorICogT25lIHNsaWNlIGlzIGRlZGljYXRlZCB0byB0aGUgY2FjaGUgb2YgcGVyc2lzdGVudCBhbmQgYnVpbHQtaW4ga2V5cy4KKyAqIEZvciBzaW1wbGljaXR5LCB0aGV5IGFyZSBzZXBhcmF0ZWQgZnJvbSB2b2xhdGlsZSBrZXlzLiBUaGlzIGNhY2hlCisgKiBzbGljZSBoYXMgYSBmaXhlZCBzaXplIGFuZCBoYXMgdGhlIHNsaWNlIGluZGV4IEtFWV9TTE9UX0NBQ0hFX1NMSUNFX0lOREVYLAorICogbG9jYXRlZCBhZnRlciB0aGUgc2xpY2VzIGZvciB2b2xhdGlsZSBrZXlzLgorICovCisKKy8qIFNpemUgb2YgdGhlIGxhc3Qgc2xpY2UgY29udGFpbmluZyB0aGUgY2FjaGUgb2YgcGVyc2lzdGVudCBhbmQgYnVpbHQtaW4ga2V5cy4gKi8KKyNkZWZpbmUgUEVSU0lTVEVOVF9LRVlfQ0FDSEVfQ09VTlQgTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlQKKworLyogVm9sYXRpbGUga2V5cyBhcmUgc3RvcmVkIGluIHNsaWNlcyAwIHRocm91Z2gKKyAqIChLRVlfU0xPVF9WT0xBVElMRV9TTElDRV9DT1VOVCAtIDEpIGluY2x1c2l2ZS4KKyAqIEVhY2ggc2xpY2UgaXMgdHdpY2UgdGhlIHNpemUgb2YgdGhlIHByZXZpb3VzIHNsaWNlLgorICogVm9sYXRpbGUga2V5IGlkZW50aWZpZXJzIGVuY29kZSB0aGUgc2xpY2UgbnVtYmVyIGFzIGZvbGxvd3M6CisgKiAgICAgYml0cyAzMC4uMzE6ICAwYjEwIChtYW5kYXRlZCBieSB0aGUgUFNBIENyeXB0byBzcGVjaWZpY2F0aW9uKS4KKyAqICAgICBiaXRzIDI1Li4yOTogIHNsaWNlIGluZGV4ICgwLi4uS0VZX1NMT1RfVk9MQVRJTEVfU0xJQ0VfQ09VTlQtMSkKKyAqICAgICBiaXRzIDAuLjI0OiAgIHNsb3QgaW5kZXggaW4gc2xpY2UKKyAqLworI2RlZmluZSBLRVlfSURfU0xPVF9JTkRFWF9XSURUSCAyNXUKKyNkZWZpbmUgS0VZX0lEX1NMSUNFX0lOREVYX1dJRFRIIDV1CisKKyNkZWZpbmUgS0VZX1NMT1RfVk9MQVRJTEVfU0xJQ0VfQkFTRV9MRU5HVEggMTZ1CisjZGVmaW5lIEtFWV9TTE9UX1ZPTEFUSUxFX1NMSUNFX0NPVU5UIDIydQorI2RlZmluZSBLRVlfU0xJQ0VfQ09VTlQgKEtFWV9TTE9UX1ZPTEFUSUxFX1NMSUNFX0NPVU5UICsgMXUpCisjZGVmaW5lIEtFWV9TTE9UX0NBQ0hFX1NMSUNFX0lOREVYIEtFWV9TTE9UX1ZPTEFUSUxFX1NMSUNFX0NPVU5UCisKKworLyogQ2hlY2sgdGhhdCB0aGUgbGVuZ3RoIG9mIHRoZSBsYXJnZXN0IHNsaWNlIChjYWxjdWxhdGVkIGFzCisgKiBLRVlfU0xJQ0VfTEVOR1RIX01BWCBiZWxvdykgZG9lcyBub3Qgb3ZlcmZsb3cgc2l6ZV90LiBXZSB1c2UKKyAqIGFuIGluZGlyZWN0IG1ldGhvZCBpbiBjYXNlIHRoZSBjYWxjdWxhdGlvbiBvZiBLRVlfU0xJQ0VfTEVOR1RIX01BWAorICogaXRzZWxmIG92ZXJmbG93cyB1aW50bWF4X3Q6IGlmIChCQVNFX0xFTkdUSCA8PCBjKQorICogb3ZlcmZsb3dzIHNpemVfdCB0aGVuIEJBU0VfTEVOR1RIID4gU0laRV9NQVggPj4gYy4KKyAqLworI2lmIChLRVlfU0xPVF9WT0xBVElMRV9TTElDRV9CQVNFX0xFTkdUSCA+ICAgICAgICAgICAgICBcCisgICAgIFNJWkVfTUFYID4+IChLRVlfU0xPVF9WT0xBVElMRV9TTElDRV9DT1VOVCAtIDEpKQorI2Vycm9yICJNYXhpbXVtIHNsaWNlIGxlbmd0aCBvdmVyZmxvd3Mgc2l6ZV90IgorI2VuZGlmCisKKyNpZiBLRVlfSURfU0xJQ0VfSU5ERVhfV0lEVEggKyBLRVlfSURfU0xPVF9JTkRFWF9XSURUSCA+IDMwCisjZXJyb3IgIk5vdCBlbm91Z2ggcm9vbSBpbiB2b2xhdGlsZSBrZXkgSURzIGZvciBzbGljZSBpbmRleCBhbmQgc2xvdCBpbmRleCIKKyNlbmRpZgorI2lmIEtFWV9TTE9UX1ZPTEFUSUxFX1NMSUNFX0NPVU5UID4gKDEgPDwgS0VZX0lEX1NMSUNFX0lOREVYX1dJRFRIKQorI2Vycm9yICJUb28gbWFueSBzbGljZXMgdG8gZml0IHRoZSBzbGljZSBpbmRleCBpbiBhIHZvbGF0aWxlIGtleSBJRCIKKyNlbmRpZgorI2RlZmluZSBLRVlfU0xJQ0VfTEVOR1RIX01BWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIChLRVlfU0xPVF9WT0xBVElMRV9TTElDRV9CQVNFX0xFTkdUSCA8PCAoS0VZX1NMT1RfVk9MQVRJTEVfU0xJQ0VfQ09VTlQgLSAxKSkKKyNpZiBLRVlfU0xJQ0VfTEVOR1RIX01BWCA+IDEgPDwgS0VZX0lEX1NMT1RfSU5ERVhfV0lEVEgKKyNlcnJvciAiTm90IGVub3VnaCByb29tIGluIHZvbGF0aWxlIGtleSBJRHMgZm9yIGEgc2xvdCBpbmRleCBpbiB0aGUgbGFyZ2VzdCBzbGljZSIKKyNlbmRpZgorI2lmIEtFWV9JRF9TTElDRV9JTkRFWF9XSURUSCA+IDgKKyNlcnJvciAiU2xpY2UgaW5kZXggZG9lcyBub3QgZml0IGluIHVpbnQ4X3QgZm9yIHBzYV9rZXlfc2xvdF90OjpzbGljZV9pbmRleCIKKyNlbmRpZgorCisKKy8qIENhbGN1bGF0ZSB0aGUgdm9sYXRpbGUga2V5IGlkIHRvIHVzZSBmb3IgYSBnaXZlbiBzbG90LgorICogVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHZhbGlkIHBhcmFtZXRlciB2YWx1ZXMuICovCitzdGF0aWMgcHNhX2tleV9pZF90IHZvbGF0aWxlX2tleV9pZF9vZl9pbmRleChzaXplX3Qgc2xpY2VfaWR4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNsb3RfaWR4KQoreworICAgIC8qIFdlIGFzc2VydCBhYm92ZSB0aGF0IHRoZSBzbGljZSBhbmQgc2xvdCBpbmRleGVzIGZpdCBpbiBzZXBhcmF0ZQorICAgICAqIGJpdC1maWVsZHMgaW5zaWRlIHBzYV9rZXlfaWRfdCwgd2hpY2ggaXMgYSAzMi1iaXQgdHlwZSBwZXIgdGhlCisgICAgICogUFNBIENyeXB0b2dyYXBoeSBzcGVjaWZpY2F0aW9uLiAqLworICAgIHJldHVybiAocHNhX2tleV9pZF90KSAoMHg0MDAwMDAwMHUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNsaWNlX2lkeCA8PCBLRVlfSURfU0xPVF9JTkRFWF9XSURUSCkgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xvdF9pZHgpOworfQorCisvKiBDYWxjdWxhdGUgdGhlIHNsaWNlIGNvbnRhaW5pbmcgdGhlIGdpdmVuIHZvbGF0aWxlIGtleS4KKyAqIFRoaXMgZnVuY3Rpb24gYXNzdW1lcyB2YWxpZCBwYXJhbWV0ZXIgdmFsdWVzLiAqLworc3RhdGljIHNpemVfdCBzbGljZV9pbmRleF9vZl92b2xhdGlsZV9rZXlfaWQocHNhX2tleV9pZF90IGtleV9pZCkKK3sKKyAgICBzaXplX3QgbWFzayA9ICgxTFUgPDwgS0VZX0lEX1NMSUNFX0lOREVYX1dJRFRIKSAtIDE7CisgICAgcmV0dXJuIChrZXlfaWQgPj4gS0VZX0lEX1NMT1RfSU5ERVhfV0lEVEgpICYgbWFzazsKK30KKworLyogQ2FsY3VsYXRlIHRoZSBpbmRleCBvZiB0aGUgc2xvdCBjb250YWluaW5nIHRoZSBnaXZlbiB2b2xhdGlsZSBrZXkuCisgKiBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdmFsaWQgcGFyYW1ldGVyIHZhbHVlcy4gKi8KK3N0YXRpYyBzaXplX3Qgc2xvdF9pbmRleF9vZl92b2xhdGlsZV9rZXlfaWQocHNhX2tleV9pZF90IGtleV9pZCkKK3sKKyAgICByZXR1cm4ga2V5X2lkICYgKCgxTFUgPDwgS0VZX0lEX1NMT1RfSU5ERVhfV0lEVEgpIC0gMSk7Cit9CisKKy8qIEluIGdsb2JhbF9kYXRhLmZpcnN0X2ZyZWVfc2xvdF9pbmRleCwgdXNlIHRoaXMgc3BlY2lhbCB2YWx1ZSB0bworICogaW5kaWNhdGUgdGhhdCB0aGUgc2xpY2UgaXMgZnVsbC4gKi8KKyNkZWZpbmUgRlJFRV9TTE9UX0lOREVYX05PTkUgKChzaXplX3QpIC0xKQorCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpCitzaXplX3QgcHNhX2tleV9zbG90X3ZvbGF0aWxlX3NsaWNlX2NvdW50KHZvaWQpCit7CisgICAgcmV0dXJuIEtFWV9TTE9UX1ZPTEFUSUxFX1NMSUNFX0NPVU5UOworfQorI2VuZGlmCisKKyNlbHNlIC8qIE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDICovCisKKy8qIFN0YXRpYyBrZXkgc3RvcmUuCisgKgorICogQWxsIHRoZSBrZXlzICh2b2xhdGlsZSBvciBwZXJzaXN0ZW50KSBhcmUgaW4gYSBzaW5nbGUgc2xpY2UuCisgKiBXZSBvbmx5IHVzZSBzbGljZXMgYXMgYSBjb25jZXB0IHRvIGFsbG93IHNvbWUgZGlmZmVyZW5jZXMgYmV0d2VlbgorICogc3RhdGljIGFuZCBkeW5hbWljIGtleSBzdG9yZSBtYW5hZ2VtZW50IHRvIGJlIGJ1cmllZCBpbiBhdXhpbGlhcnkKKyAqIGZ1bmN0aW9ucy4KKyAqLworCisjZGVmaW5lIFBFUlNJU1RFTlRfS0VZX0NBQ0hFX0NPVU5UIE1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UCisjZGVmaW5lIEtFWV9TTElDRV9DT1VOVCAxdQorI2RlZmluZSBLRVlfU0xPVF9DQUNIRV9TTElDRV9JTkRFWCAwCisKKyNlbmRpZiAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLworCisKIHR5cGVkZWYgc3RydWN0IHsKKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDKQorICAgIHBzYV9rZXlfc2xvdF90ICprZXlfc2xpY2VzW0tFWV9TTElDRV9DT1VOVF07CisgICAgc2l6ZV90IGZpcnN0X2ZyZWVfc2xvdF9pbmRleFtLRVlfU0xPVF9WT0xBVElMRV9TTElDRV9DT1VOVF07CisjZWxzZSAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLwogICAgIHBzYV9rZXlfc2xvdF90IGtleV9zbG90c1tNQkVEVExTX1BTQV9LRVlfU0xPVF9DT1VOVF07CisjZW5kaWYgLyogTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgKi8KICAgICB1aW50OF90IGtleV9zbG90c19pbml0aWFsaXplZDsKIH0gcHNhX2dsb2JhbF9kYXRhX3Q7CiAKQEAgLTUxLDYgKzIwOSwxMjUgQEAKICAgICByZXR1cm4gaW5pdGlhbGl6ZWQ7CiB9CiAKKworCisvKiogVGhlIGxlbmd0aCBvZiB0aGUgZ2l2ZW4gc2xpY2UgaW4gdGhlIGtleSBzbG90IHRhYmxlLgorICoKKyAqIFxwYXJhbSBzbGljZV9pZHggICAgIFRoZSBzbGljZSBudW1iZXIuIEl0IG11c3Qgc2F0aXNmeQorICogICAgICAgICAgICAgICAgICAgICAgMCA8PSBzbGljZV9pZHggPCBLRVlfU0xJQ0VfQ09VTlQuCisgKgorICogXHJldHVybiAgICAgICAgICAgICAgVGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZ2l2ZW4gc2xpY2UuCisgKi8KK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGtleV9zbGljZV9sZW5ndGgoc2l6ZV90IHNsaWNlX2lkeCk7CisKKy8qKiBHZXQgYSBwb2ludGVyIHRvIHRoZSBzbG90IHdoZXJlIHRoZSBnaXZlbiB2b2xhdGlsZSBrZXkgaXMgbG9jYXRlZC4KKyAqCisgKiBccGFyYW0ga2V5X2lkICAgICAgICBUaGUga2V5IGlkZW50aWZpZXIuIEl0IG11c3QgYmUgYSB2YWxpZCB2b2xhdGlsZSBrZXkKKyAqICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXIuCisgKiBccmV0dXJuICAgICAgICAgICAgICBBIHBvaW50ZXIgdG8gdGhlIG9ubHkgc2xvdCB0aGF0IHRoZSBnaXZlbiBrZXkKKyAqICAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBpbi4gTm90ZSB0aGF0IHRoZSBzbG90IG1heSBiZSBlbXB0eSBvcgorICogICAgICAgICAgICAgICAgICAgICAgY29udGFpbiBhIGRpZmZlcmVudCBrZXkuCisgKi8KK3N0YXRpYyBpbmxpbmUgcHNhX2tleV9zbG90X3QgKmdldF92b2xhdGlsZV9rZXlfc2xvdChwc2Ffa2V5X2lkX3Qga2V5X2lkKTsKKworLyoqIEdldCBhIHBvaW50ZXIgdG8gYW4gZW50cnkgaW4gdGhlIHBlcnNpc3RlbnQga2V5IGNhY2hlLgorICoKKyAqIFxwYXJhbSBzbG90X2lkeCAgICAgIFRoZSBpbmRleCBpbiB0aGUgdGFibGUuIEl0IG11c3Qgc2F0aXNmeQorICogICAgICAgICAgICAgICAgICAgICAgMCA8PSBzbG90X2lkeCA8IFBFUlNJU1RFTlRfS0VZX0NBQ0hFX0NPVU5ULgorICogXHJldHVybiAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBzbG90IGNvbnRhaW5pbmcgdGhlIGdpdmVuCisgKiAgICAgICAgICAgICAgICAgICAgICBwZXJzaXN0ZW50IGtleSBjYWNoZSBlbnRyeS4KKyAqLworc3RhdGljIGlubGluZSBwc2Ffa2V5X3Nsb3RfdCAqZ2V0X3BlcnNpc3RlbnRfa2V5X3Nsb3Qoc2l6ZV90IHNsb3RfaWR4KTsKKworLyoqIEdldCBhIHBvaW50ZXIgdG8gYSBzbG90IGdpdmVuIGJ5IHNsaWNlIGFuZCBpbmRleC4KKyAqCisgKiBccGFyYW0gc2xpY2VfaWR4ICAgICBUaGUgc2xpY2UgbnVtYmVyLiBJdCBtdXN0IHNhdGlzZnkKKyAqICAgICAgICAgICAgICAgICAgICAgIDAgPD0gc2xpY2VfaWR4IDwgS0VZX1NMSUNFX0NPVU5ULgorICogXHBhcmFtIHNsb3RfaWR4ICAgICAgQW4gaW5kZXggaW4gdGhlIGdpdmVuIHNsaWNlLiBJdCBtdXN0IHNhdGlzZnkKKyAqICAgICAgICAgICAgICAgICAgICAgIDAgPD0gc2xvdF9pZHggPCBrZXlfc2xpY2VfbGVuZ3RoKHNsaWNlX2lkeCkuCisgKgorICogXHJldHVybiAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBnaXZlbiBzbG90LgorICovCitzdGF0aWMgaW5saW5lIHBzYV9rZXlfc2xvdF90ICpnZXRfa2V5X3Nsb3Qoc2l6ZV90IHNsaWNlX2lkeCwgc2l6ZV90IHNsb3RfaWR4KTsKKworI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMpCisKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykKK3NpemVfdCAoKm1iZWR0bHNfdGVzdF9ob29rX3BzYV92b2xhdGlsZV9rZXlfc2xpY2VfbGVuZ3RoKShzaXplX3Qgc2xpY2VfaWR4KSA9IE5VTEw7CisjZW5kaWYKKworc3RhdGljIGlubGluZSBzaXplX3Qga2V5X3NsaWNlX2xlbmd0aChzaXplX3Qgc2xpY2VfaWR4KQoreworICAgIGlmIChzbGljZV9pZHggPT0gS0VZX1NMT1RfQ0FDSEVfU0xJQ0VfSU5ERVgpIHsKKyAgICAgICAgcmV0dXJuIFBFUlNJU1RFTlRfS0VZX0NBQ0hFX0NPVU5UOworICAgIH0gZWxzZSB7CisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpCisgICAgICAgIGlmIChtYmVkdGxzX3Rlc3RfaG9va19wc2Ffdm9sYXRpbGVfa2V5X3NsaWNlX2xlbmd0aCAhPSBOVUxMKSB7CisgICAgICAgICAgICByZXR1cm4gbWJlZHRsc190ZXN0X2hvb2tfcHNhX3ZvbGF0aWxlX2tleV9zbGljZV9sZW5ndGgoc2xpY2VfaWR4KTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIHJldHVybiBLRVlfU0xPVF9WT0xBVElMRV9TTElDRV9CQVNFX0xFTkdUSCA8PCBzbGljZV9pZHg7CisgICAgfQorfQorCitzdGF0aWMgaW5saW5lIHBzYV9rZXlfc2xvdF90ICpnZXRfdm9sYXRpbGVfa2V5X3Nsb3QocHNhX2tleV9pZF90IGtleV9pZCkKK3sKKyAgICBzaXplX3Qgc2xpY2VfaWR4ID0gc2xpY2VfaW5kZXhfb2Zfdm9sYXRpbGVfa2V5X2lkKGtleV9pZCk7CisgICAgaWYgKHNsaWNlX2lkeCA+PSBLRVlfU0xPVF9WT0xBVElMRV9TTElDRV9DT1VOVCkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgc2l6ZV90IHNsb3RfaWR4ID0gc2xvdF9pbmRleF9vZl92b2xhdGlsZV9rZXlfaWQoa2V5X2lkKTsKKyAgICBpZiAoc2xvdF9pZHggPj0ga2V5X3NsaWNlX2xlbmd0aChzbGljZV9pZHgpKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBwc2Ffa2V5X3Nsb3RfdCAqc2xpY2UgPSBnbG9iYWxfZGF0YS5rZXlfc2xpY2VzW3NsaWNlX2lkeF07CisgICAgaWYgKHNsaWNlID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiAmc2xpY2Vbc2xvdF9pZHhdOworfQorCitzdGF0aWMgaW5saW5lIHBzYV9rZXlfc2xvdF90ICpnZXRfcGVyc2lzdGVudF9rZXlfc2xvdChzaXplX3Qgc2xvdF9pZHgpCit7CisgICAgcmV0dXJuICZnbG9iYWxfZGF0YS5rZXlfc2xpY2VzW0tFWV9TTE9UX0NBQ0hFX1NMSUNFX0lOREVYXVtzbG90X2lkeF07Cit9CisKK3N0YXRpYyBpbmxpbmUgcHNhX2tleV9zbG90X3QgKmdldF9rZXlfc2xvdChzaXplX3Qgc2xpY2VfaWR4LCBzaXplX3Qgc2xvdF9pZHgpCit7CisgICAgcmV0dXJuICZnbG9iYWxfZGF0YS5rZXlfc2xpY2VzW3NsaWNlX2lkeF1bc2xvdF9pZHhdOworfQorCisjZWxzZSAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLworCitzdGF0aWMgaW5saW5lIHNpemVfdCBrZXlfc2xpY2VfbGVuZ3RoKHNpemVfdCBzbGljZV9pZHgpCit7CisgICAgKHZvaWQpIHNsaWNlX2lkeDsKKyAgICByZXR1cm4gQVJSQVlfTEVOR1RIKGdsb2JhbF9kYXRhLmtleV9zbG90cyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgcHNhX2tleV9zbG90X3QgKmdldF92b2xhdGlsZV9rZXlfc2xvdChwc2Ffa2V5X2lkX3Qga2V5X2lkKQoreworICAgIE1CRURUTFNfU1RBVElDX0FTU0VSVChBUlJBWV9MRU5HVEgoZ2xvYmFsX2RhdGEua2V5X3Nsb3RzKSA8PQorICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfS0VZX0lEX1ZPTEFUSUxFX01BWCAtIFBTQV9LRVlfSURfVk9MQVRJTEVfTUlOICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBrZXkgc2xvdCBhcnJheSBpcyBsYXJnZXIgdGhhbiB0aGUgdm9sYXRpbGUga2V5IElEIHJhbmdlIik7CisgICAgcmV0dXJuICZnbG9iYWxfZGF0YS5rZXlfc2xvdHNba2V5X2lkIC0gUFNBX0tFWV9JRF9WT0xBVElMRV9NSU5dOworfQorCitzdGF0aWMgaW5saW5lIHBzYV9rZXlfc2xvdF90ICpnZXRfcGVyc2lzdGVudF9rZXlfc2xvdChzaXplX3Qgc2xvdF9pZHgpCit7CisgICAgcmV0dXJuICZnbG9iYWxfZGF0YS5rZXlfc2xvdHNbc2xvdF9pZHhdOworfQorCitzdGF0aWMgaW5saW5lIHBzYV9rZXlfc2xvdF90ICpnZXRfa2V5X3Nsb3Qoc2l6ZV90IHNsaWNlX2lkeCwgc2l6ZV90IHNsb3RfaWR4KQoreworICAgICh2b2lkKSBzbGljZV9pZHg7CisgICAgcmV0dXJuICZnbG9iYWxfZGF0YS5rZXlfc2xvdHNbc2xvdF9pZHhdOworfQorCisjZW5kaWYgLyogTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgKi8KKworCisKIGludCBwc2FfaXNfdmFsaWRfa2V5X2lkKG1iZWR0bHNfc3ZjX2tleV9pZF90IGtleSwgaW50IHZlbmRvcl9vaykKIHsKICAgICBwc2Ffa2V5X2lkX3Qga2V5X2lkID0gTUJFRFRMU19TVkNfS0VZX0lEX0dFVF9LRVlfSUQoa2V5KTsKQEAgLTExMiwxMiArMzg5LDEzIEBACiAgICAgcHNhX2tleV9zbG90X3QgKnNsb3QgPSBOVUxMOwogCiAgICAgaWYgKHBzYV9rZXlfaWRfaXNfdm9sYXRpbGUoa2V5X2lkKSkgewotICAgICAgICBzbG90ID0gJmdsb2JhbF9kYXRhLmtleV9zbG90c1trZXlfaWQgLSBQU0FfS0VZX0lEX1ZPTEFUSUxFX01JTl07CisgICAgICAgIHNsb3QgPSBnZXRfdm9sYXRpbGVfa2V5X3Nsb3Qoa2V5X2lkKTsKIAogICAgICAgICAvKiBDaGVjayBpZiBib3RoIHRoZSBQU0Ega2V5IGlkZW50aWZpZXIga2V5X2lkIGFuZCB0aGUgb3duZXIKICAgICAgICAgICogaWRlbnRpZmllciBvZiBrZXkgbWF0Y2ggdGhvc2Ugb2YgdGhlIGtleSBzbG90LiAqLwotICAgICAgICBpZiAoKHNsb3QtPnN0YXRlID09IFBTQV9TTE9UX0ZVTEwpICYmCi0gICAgICAgICAgICAobWJlZHRsc19zdmNfa2V5X2lkX2VxdWFsKGtleSwgc2xvdC0+YXR0ci5pZCkpKSB7CisgICAgICAgIGlmIChzbG90ICE9IE5VTEwgJiYKKyAgICAgICAgICAgIHNsb3QtPnN0YXRlID09IFBTQV9TTE9UX0ZVTEwgJiYKKyAgICAgICAgICAgIG1iZWR0bHNfc3ZjX2tleV9pZF9lcXVhbChrZXksIHNsb3QtPmF0dHIuaWQpKSB7CiAgICAgICAgICAgICBzdGF0dXMgPSBQU0FfU1VDQ0VTUzsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHN0YXR1cyA9IFBTQV9FUlJPUl9ET0VTX05PVF9FWElTVDsKQEAgLTEyNyw4ICs0MDUsOCBAQAogICAgICAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9JTlZBTElEX0hBTkRMRTsKICAgICAgICAgfQogCi0gICAgICAgIGZvciAoc2xvdF9pZHggPSAwOyBzbG90X2lkeCA8IE1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UOyBzbG90X2lkeCsrKSB7Ci0gICAgICAgICAgICBzbG90ID0gJmdsb2JhbF9kYXRhLmtleV9zbG90c1tzbG90X2lkeF07CisgICAgICAgIGZvciAoc2xvdF9pZHggPSAwOyBzbG90X2lkeCA8IFBFUlNJU1RFTlRfS0VZX0NBQ0hFX0NPVU5UOyBzbG90X2lkeCsrKSB7CisgICAgICAgICAgICBzbG90ID0gZ2V0X3BlcnNpc3RlbnRfa2V5X3Nsb3Qoc2xvdF9pZHgpOwogICAgICAgICAgICAgLyogT25seSBjb25zaWRlciBzbG90cyB3aGljaCBhcmUgaW4gYSBmdWxsIHN0YXRlLiAqLwogICAgICAgICAgICAgaWYgKChzbG90LT5zdGF0ZSA9PSBQU0FfU0xPVF9GVUxMKSAmJgogICAgICAgICAgICAgICAgIChtYmVkdGxzX3N2Y19rZXlfaWRfZXF1YWwoa2V5LCBzbG90LT5hdHRyLmlkKSkpIHsKQEAgLTE1MSwyOSArNDI5LDE2OSBAQAogCiBwc2Ffc3RhdHVzX3QgcHNhX2luaXRpYWxpemVfa2V5X3Nsb3RzKHZvaWQpCiB7CisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykKKyAgICBnbG9iYWxfZGF0YS5rZXlfc2xpY2VzW0tFWV9TTE9UX0NBQ0hFX1NMSUNFX0lOREVYXSA9CisgICAgICAgIG1iZWR0bHNfY2FsbG9jKFBFUlNJU1RFTlRfS0VZX0NBQ0hFX0NPVU5ULAorICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmdsb2JhbF9kYXRhLmtleV9zbGljZXNbS0VZX1NMT1RfQ0FDSEVfU0xJQ0VfSU5ERVhdKSk7CisgICAgaWYgKGdsb2JhbF9kYXRhLmtleV9zbGljZXNbS0VZX1NMT1RfQ0FDSEVfU0xJQ0VfSU5ERVhdID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9JTlNVRkZJQ0lFTlRfTUVNT1JZOworICAgIH0KKyNlbHNlIC8qIE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDICovCiAgICAgLyogTm90aGluZyB0byBkbzogcHJvZ3JhbSBzdGFydHVwIGFuZCBwc2Ffd2lwZV9hbGxfa2V5X3Nsb3RzKCkgYm90aAogICAgICAqIGd1YXJhbnRlZSB0aGF0IHRoZSBrZXkgc2xvdHMgYXJlIGluaXRpYWxpemVkIHRvIGFsbC16ZXJvLCB3aGljaAogICAgICAqIG1lYW5zIHRoYXQgYWxsIHRoZSBrZXkgc2xvdHMgYXJlIGluIGEgdmFsaWQsIGVtcHR5IHN0YXRlLiBUaGUgZ2xvYmFsCiAgICAgICogZGF0YSBtdXRleCBpcyBhbHJlYWR5IGhlbGQgd2hlbiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIHNvIG5vIG5lZWQgdG8KICAgICAgKiBsb2NrIGl0IGhlcmUsIHRvIHNldCB0aGUgZmxhZy4gKi8KKyNlbmRpZiAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLworCiAgICAgZ2xvYmFsX2RhdGEua2V5X3Nsb3RzX2luaXRpYWxpemVkID0gMTsKICAgICByZXR1cm4gUFNBX1NVQ0NFU1M7CiB9CiAKIHZvaWQgcHNhX3dpcGVfYWxsX2tleV9zbG90cyh2b2lkKQogewotICAgIHNpemVfdCBzbG90X2lkeDsKLQotICAgIGZvciAoc2xvdF9pZHggPSAwOyBzbG90X2lkeCA8IE1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UOyBzbG90X2lkeCsrKSB7Ci0gICAgICAgIHBzYV9rZXlfc2xvdF90ICpzbG90ID0gJmdsb2JhbF9kYXRhLmtleV9zbG90c1tzbG90X2lkeF07Ci0gICAgICAgIHNsb3QtPnJlZ2lzdGVyZWRfcmVhZGVycyA9IDE7Ci0gICAgICAgIHNsb3QtPnN0YXRlID0gUFNBX1NMT1RfUEVORElOR19ERUxFVElPTjsKLSAgICAgICAgKHZvaWQpIHBzYV93aXBlX2tleV9zbG90KHNsb3QpOworICAgIGZvciAoc2l6ZV90IHNsaWNlX2lkeCA9IDA7IHNsaWNlX2lkeCA8IEtFWV9TTElDRV9DT1VOVDsgc2xpY2VfaWR4KyspIHsKKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDKQorICAgICAgICBpZiAoZ2xvYmFsX2RhdGEua2V5X3NsaWNlc1tzbGljZV9pZHhdID09IE5VTEwpIHsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisjZW5kaWYgIC8qIE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDICovCisgICAgICAgIGZvciAoc2l6ZV90IHNsb3RfaWR4ID0gMDsgc2xvdF9pZHggPCBrZXlfc2xpY2VfbGVuZ3RoKHNsaWNlX2lkeCk7IHNsb3RfaWR4KyspIHsKKyAgICAgICAgICAgIHBzYV9rZXlfc2xvdF90ICpzbG90ID0gZ2V0X2tleV9zbG90KHNsaWNlX2lkeCwgc2xvdF9pZHgpOworI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMpCisgICAgICAgICAgICAvKiBXaGVuIE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDIGlzIGRpc2FibGVkLCBjYWxsaW5nCisgICAgICAgICAgICAgKiBwc2Ffd2lwZV9rZXlfc2xvdCgpIG9uIGFuIHVudXNlZCBzbG90IGlzIHVzZWxlc3MsIGJ1dCBpdAorICAgICAgICAgICAgICogaGFwcGVucyB0byB3b3JrIChiZWNhdXNlIHdlIGZsaXAgdGhlIHN0YXRlIHRvIFBFTkRJTkdfREVMRVRJT04pLgorICAgICAgICAgICAgICoKKyAgICAgICAgICAgICAqIFdoZW4gTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgaXMgZW5hYmxlZCwKKyAgICAgICAgICAgICAqIHBzYV93aXBlX2tleV9zbG90KCkgbmVlZHMgdG8gaGF2ZSBhIHZhbGlkIHNsaWNlX2luZGV4CisgICAgICAgICAgICAgKiBmaWVsZCwgYnV0IHRoYXQgdmFsdWUgbWlnaHQgbm90IGJlIGNvcnJlY3QgaW4gYQorICAgICAgICAgICAgICogZnJlZSBzbG90LCBzbyB3ZSBtdXN0IG5vdCBjYWxsIGl0LgorICAgICAgICAgICAgICoKKyAgICAgICAgICAgICAqIEJ5cGFzcyB0aGUgY2FsbCB0byBwc2Ffd2lwZV9rZXlfc2xvdCgpIGlmIHRoZSBzbG90IGlzIGVtcHR5LAorICAgICAgICAgICAgICogYnV0IG9ubHkgaWYgTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgaXMgZW5hYmxlZCwgdG8gc2F2ZQorICAgICAgICAgICAgICogYSBmZXcgYnl0ZXMgb2YgY29kZSBzaXplIG90aGVyd2lzZS4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKHNsb3QtPnN0YXRlID09IFBTQV9TTE9UX0VNUFRZKSB7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgICAgIHNsb3QtPnZhci5vY2N1cGllZC5yZWdpc3RlcmVkX3JlYWRlcnMgPSAxOworICAgICAgICAgICAgc2xvdC0+c3RhdGUgPSBQU0FfU0xPVF9QRU5ESU5HX0RFTEVUSU9OOworICAgICAgICAgICAgKHZvaWQpIHBzYV93aXBlX2tleV9zbG90KHNsb3QpOworICAgICAgICB9CisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykKKyAgICAgICAgbWJlZHRsc19mcmVlKGdsb2JhbF9kYXRhLmtleV9zbGljZXNbc2xpY2VfaWR4XSk7CisgICAgICAgIGdsb2JhbF9kYXRhLmtleV9zbGljZXNbc2xpY2VfaWR4XSA9IE5VTEw7CisjZW5kaWYgIC8qIE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDICovCiAgICAgfQorCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykKKyAgICBmb3IgKHNpemVfdCBzbGljZV9pZHggPSAwOyBzbGljZV9pZHggPCBLRVlfU0xPVF9WT0xBVElMRV9TTElDRV9DT1VOVDsgc2xpY2VfaWR4KyspIHsKKyAgICAgICAgZ2xvYmFsX2RhdGEuZmlyc3RfZnJlZV9zbG90X2luZGV4W3NsaWNlX2lkeF0gPSAwOworICAgIH0KKyNlbmRpZiAgLyogTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgKi8KKwogICAgIC8qIFRoZSBnbG9iYWwgZGF0YSBtdXRleCBpcyBhbHJlYWR5IGhlbGQgd2hlbiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uICovCiAgICAgZ2xvYmFsX2RhdGEua2V5X3Nsb3RzX2luaXRpYWxpemVkID0gMDsKIH0KIAorI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMpCisKK3N0YXRpYyBwc2Ffc3RhdHVzX3QgcHNhX2FsbG9jYXRlX3ZvbGF0aWxlX2tleV9zbG90KHBzYV9rZXlfaWRfdCAqa2V5X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV9zbG90X3QgKipwX3Nsb3QpCit7CisgICAgc2l6ZV90IHNsaWNlX2lkeDsKKyAgICBmb3IgKHNsaWNlX2lkeCA9IDA7IHNsaWNlX2lkeCA8IEtFWV9TTE9UX1ZPTEFUSUxFX1NMSUNFX0NPVU5UOyBzbGljZV9pZHgrKykgeworICAgICAgICBpZiAoZ2xvYmFsX2RhdGEuZmlyc3RfZnJlZV9zbG90X2luZGV4W3NsaWNlX2lkeF0gIT0gRlJFRV9TTE9UX0lOREVYX05PTkUpIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIGlmIChzbGljZV9pZHggPT0gS0VZX1NMT1RfVk9MQVRJTEVfU0xJQ0VfQ09VTlQpIHsKKyAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9JTlNVRkZJQ0lFTlRfTUVNT1JZOworICAgIH0KKworICAgIGlmIChnbG9iYWxfZGF0YS5rZXlfc2xpY2VzW3NsaWNlX2lkeF0gPT0gTlVMTCkgeworICAgICAgICBnbG9iYWxfZGF0YS5rZXlfc2xpY2VzW3NsaWNlX2lkeF0gPQorICAgICAgICAgICAgbWJlZHRsc19jYWxsb2Moa2V5X3NsaWNlX2xlbmd0aChzbGljZV9pZHgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHBzYV9rZXlfc2xvdF90KSk7CisgICAgICAgIGlmIChnbG9iYWxfZGF0YS5rZXlfc2xpY2VzW3NsaWNlX2lkeF0gPT0gTlVMTCkgeworICAgICAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9JTlNVRkZJQ0lFTlRfTUVNT1JZOworICAgICAgICB9CisgICAgfQorICAgIHBzYV9rZXlfc2xvdF90ICpzbGljZSA9IGdsb2JhbF9kYXRhLmtleV9zbGljZXNbc2xpY2VfaWR4XTsKKworICAgIHNpemVfdCBzbG90X2lkeCA9IGdsb2JhbF9kYXRhLmZpcnN0X2ZyZWVfc2xvdF9pbmRleFtzbGljZV9pZHhdOworICAgICprZXlfaWQgPSB2b2xhdGlsZV9rZXlfaWRfb2ZfaW5kZXgoc2xpY2VfaWR4LCBzbG90X2lkeCk7CisKKyAgICBwc2Ffa2V5X3Nsb3RfdCAqc2xvdCA9ICZzbGljZVtzbG90X2lkeF07CisgICAgc2l6ZV90IG5leHRfZnJlZSA9IHNsb3RfaWR4ICsgMSArIHNsb3QtPnZhci5mcmVlLm5leHRfZnJlZV9yZWxhdGl2ZV90b19uZXh0OworICAgIGlmIChuZXh0X2ZyZWUgPj0ga2V5X3NsaWNlX2xlbmd0aChzbGljZV9pZHgpKSB7CisgICAgICAgIG5leHRfZnJlZSA9IEZSRUVfU0xPVF9JTkRFWF9OT05FOworICAgIH0KKyAgICBnbG9iYWxfZGF0YS5maXJzdF9mcmVlX3Nsb3RfaW5kZXhbc2xpY2VfaWR4XSA9IG5leHRfZnJlZTsKKyAgICAvKiBUaGUgLm5leHRfZnJlZSBmaWVsZCBpcyBub3QgbWVhbmluZ2Z1bCB3aGVuIHRoZSBzbG90IGlzIG5vdCBmcmVlLAorICAgICAqIHNvIGdpdmUgaXQgdGhlIHNhbWUgY29udGVudCBhcyBmcmVzaGx5IGluaXRpYWxpemVkIG1lbW9yeS4gKi8KKyAgICBzbG90LT52YXIuZnJlZS5uZXh0X2ZyZWVfcmVsYXRpdmVfdG9fbmV4dCA9IDA7CisKKyAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gcHNhX2tleV9zbG90X3N0YXRlX3RyYW5zaXRpb24oc2xvdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX1NMT1RfRU1QVFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9TTE9UX0ZJTExJTkcpOworICAgIGlmIChzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpIHsKKyAgICAgICAgLyogVGhlIG9ubHkgcmVhc29uIGZvciBmYWlsdXJlIGlzIGlmIHRoZSBzbG90IHN0YXRlIHdhcyBub3QgZW1wdHkuCisgICAgICAgICAqIFRoaXMgaW5kaWNhdGVzIHRoYXQgc29tZXRoaW5nIGhhcyBnb25lIGhvcnJpYmx5IHdyb25nLgorICAgICAgICAgKiBJbiB0aGlzIGNhc2UsIHdlIGxlYXZlIHRoZSBzbG90IG91dCBvZiB0aGUgZnJlZSBsaXN0LCBhbmQgc3RvcAorICAgICAgICAgKiBtb2RpZnlpbmcgaXQuIFRoaXMgbWluaW1pemVzIGFueSBmdXJ0aGVyIGNvcnJ1cHRpb24uIFRoZSBzbG90CisgICAgICAgICAqIGlzIGEgbWVtb3J5IGxlYWssIGJ1dCB0aGF0J3MgYSBsZXNzZXIgZXZpbC4gKi8KKyAgICAgICAgcmV0dXJuIHN0YXR1czsKKyAgICB9CisKKyAgICAqcF9zbG90ID0gc2xvdDsKKyAgICAvKiBXZSBhc3NlcnQgYXQgY29tcGlsZSB0aW1lIHRoYXQgdGhlIHNsaWNlIGluZGV4IGZpdHMgaW4gdWludDhfdC4gKi8KKyAgICBzbG90LT5zbGljZV9pbmRleCA9ICh1aW50OF90KSBzbGljZV9pZHg7CisgICAgcmV0dXJuIFBTQV9TVUNDRVNTOworfQorCitwc2Ffc3RhdHVzX3QgcHNhX2ZyZWVfa2V5X3Nsb3Qoc2l6ZV90IHNsaWNlX2lkeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3Nsb3RfdCAqc2xvdCkKK3sKKworICAgIGlmIChzbGljZV9pZHggPT0gS0VZX1NMT1RfQ0FDSEVfU0xJQ0VfSU5ERVgpIHsKKyAgICAgICAgLyogVGhpcyBpcyBhIGNhY2hlIGVudHJ5LiBXZSBkb24ndCBtYWludGFpbiBhIGZyZWUgbGlzdCwgc28KKyAgICAgICAgICogdGhlcmUncyBub3RoaW5nIHRvIGRvLiAqLworICAgICAgICByZXR1cm4gUFNBX1NVQ0NFU1M7CisgICAgfQorICAgIGlmIChzbGljZV9pZHggPj0gS0VZX1NMT1RfVk9MQVRJTEVfU0xJQ0VfQ09VTlQpIHsKKyAgICAgICAgcmV0dXJuIFBTQV9FUlJPUl9DT1JSVVBUSU9OX0RFVEVDVEVEOworICAgIH0KKworICAgIHBzYV9rZXlfc2xvdF90ICpzbGljZSA9IGdsb2JhbF9kYXRhLmtleV9zbGljZXNbc2xpY2VfaWR4XTsKKyAgICBwc2Ffa2V5X3Nsb3RfdCAqc2xpY2VfZW5kID0gc2xpY2UgKyBrZXlfc2xpY2VfbGVuZ3RoKHNsaWNlX2lkeCk7CisgICAgaWYgKHNsb3QgPCBzbGljZSB8fCBzbG90ID49IHNsaWNlX2VuZCkgeworICAgICAgICAvKiBUaGUgc2xvdCBpc24ndCBhY3R1YWxseSBpbiB0aGUgc2xpY2UhIFdlIGNhbid0IGRldGVjdCB0aGF0CisgICAgICAgICAqIGNvbmRpdGlvbiBmb3Igc3VyZSwgYmVjYXVzZSB0aGUgcG9pbnRlciBjb21wYXJpc29uIGl0c2VsZiBpcworICAgICAgICAgKiB1bmRlZmluZWQgYmVoYXZpb3IgaW4gdGhhdCBjYXNlLiBUaGF0IHNhbWUgY29uZGl0aW9uIG1ha2VzIHRoZQorICAgICAgICAgKiBzdWJ0cmFjdGlvbiB0byBjYWxjdWxhdGUgdGhlIHNsb3QgaW5kZXggYWxzbyBVQi4KKyAgICAgICAgICogR2l2ZSB1cCBub3cgdG8gYXZvaWQgY2F1c2luZyBmdXJ0aGVyIGNvcnJ1cHRpb24uCisgICAgICAgICAqLworICAgICAgICByZXR1cm4gUFNBX0VSUk9SX0NPUlJVUFRJT05fREVURUNURUQ7CisgICAgfQorICAgIHNpemVfdCBzbG90X2lkeCA9IHNsb3QgLSBzbGljZTsKKworICAgIHNpemVfdCBuZXh0X2ZyZWUgPSBnbG9iYWxfZGF0YS5maXJzdF9mcmVlX3Nsb3RfaW5kZXhbc2xpY2VfaWR4XTsKKyAgICBpZiAobmV4dF9mcmVlID49IGtleV9zbGljZV9sZW5ndGgoc2xpY2VfaWR4KSkgeworICAgICAgICAvKiBUaGUgc2xvdCB3YXMgZnVsbC4gVGhlIG5ld2x5IGZyZWVkIHNsb3QgdGh1cyBiZWNvbWVzIHRoZQorICAgICAgICAgKiBlbmQgb2YgdGhlIGZyZWUgbGlzdC4gKi8KKyAgICAgICAgbmV4dF9mcmVlID0ga2V5X3NsaWNlX2xlbmd0aChzbGljZV9pZHgpOworICAgIH0KKyAgICBnbG9iYWxfZGF0YS5maXJzdF9mcmVlX3Nsb3RfaW5kZXhbc2xpY2VfaWR4XSA9IHNsb3RfaWR4OworICAgIHNsb3QtPnZhci5mcmVlLm5leHRfZnJlZV9yZWxhdGl2ZV90b19uZXh0ID0KKyAgICAgICAgKGludDMyX3QpIG5leHRfZnJlZSAtIChpbnQzMl90KSBzbG90X2lkeCAtIDE7CisKKyAgICByZXR1cm4gUFNBX1NVQ0NFU1M7Cit9CisjZW5kaWYgLyogTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgKi8KKwogcHNhX3N0YXR1c190IHBzYV9yZXNlcnZlX2ZyZWVfa2V5X3Nsb3QocHNhX2tleV9pZF90ICp2b2xhdGlsZV9rZXlfaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3Nsb3RfdCAqKnBfc2xvdCkKIHsKQEAgLTE4Niw5ICs2MDQsMTkgQEAKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDKQorICAgIGlmICh2b2xhdGlsZV9rZXlfaWQgIT0gTlVMTCkgeworICAgICAgICByZXR1cm4gcHNhX2FsbG9jYXRlX3ZvbGF0aWxlX2tleV9zbG90KHZvbGF0aWxlX2tleV9pZCwgcF9zbG90KTsKKyAgICB9CisjZW5kaWYgLyogTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgKi8KKworICAgIC8qIFdpdGggYSBkeW5hbWljIGtleSBzdG9yZSwgYWxsb2NhdGUgYW4gZW50cnkgaW4gdGhlIGNhY2hlIHNsaWNlLAorICAgICAqIGFwcGxpY2FibGUgb25seSB0byBub24tdm9sYXRpbGUga2V5cyB0aGF0IGdldCBjYWNoZWQgaW4gUkFNLgorICAgICAqIFdpdGggYSBzdGF0aWMga2V5IHN0b3JlLCBhbGxvY2F0ZSBhbiBlbnRyeSBpbiB0aGUgc29sZSBzbGljZSwKKyAgICAgKiBhcHBsaWNhYmxlIHRvIGFsbCBrZXlzLiAqLwogICAgIHNlbGVjdGVkX3Nsb3QgPSB1bnVzZWRfcGVyc2lzdGVudF9rZXlfc2xvdCA9IE5VTEw7Ci0gICAgZm9yIChzbG90X2lkeCA9IDA7IHNsb3RfaWR4IDwgTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlQ7IHNsb3RfaWR4KyspIHsKLSAgICAgICAgcHNhX2tleV9zbG90X3QgKnNsb3QgPSAmZ2xvYmFsX2RhdGEua2V5X3Nsb3RzW3Nsb3RfaWR4XTsKKyAgICBmb3IgKHNsb3RfaWR4ID0gMDsgc2xvdF9pZHggPCBQRVJTSVNURU5UX0tFWV9DQUNIRV9DT1VOVDsgc2xvdF9pZHgrKykgeworICAgICAgICBwc2Ffa2V5X3Nsb3RfdCAqc2xvdCA9IGdldF9rZXlfc2xvdChLRVlfU0xPVF9DQUNIRV9TTElDRV9JTkRFWCwgc2xvdF9pZHgpOwogICAgICAgICBpZiAoc2xvdC0+c3RhdGUgPT0gUFNBX1NMT1RfRU1QVFkpIHsKICAgICAgICAgICAgIHNlbGVjdGVkX3Nsb3QgPSBzbG90OwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yMjYsOCArNjU0LDE4IEBACiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAKLSAgICAgICAgKnZvbGF0aWxlX2tleV9pZCA9IFBTQV9LRVlfSURfVk9MQVRJTEVfTUlOICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICgocHNhX2tleV9pZF90KSAoc2VsZWN0ZWRfc2xvdCAtIGdsb2JhbF9kYXRhLmtleV9zbG90cykpOworI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMpCisgICAgICAgIHNlbGVjdGVkX3Nsb3QtPnNsaWNlX2luZGV4ID0gS0VZX1NMT1RfQ0FDSEVfU0xJQ0VfSU5ERVg7CisjZW5kaWYgLyogTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgKi8KKworI2lmICFkZWZpbmVkKE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDKQorICAgICAgICBpZiAodm9sYXRpbGVfa2V5X2lkICE9IE5VTEwpIHsKKyAgICAgICAgICAgIC8qIFJlZnJlc2ggc2xvdF9pZHgsIGZvciB3aGVuIHRoZSBzbG90IGlzIG5vdCB0aGUgb3JpZ2luYWwKKyAgICAgICAgICAgICAqIHNlbGVjdGVkX3Nsb3QgYnV0IHJhdGhlciB1bnVzZWRfcGVyc2lzdGVudF9rZXlfc2xvdC4gICovCisgICAgICAgICAgICBzbG90X2lkeCA9IHNlbGVjdGVkX3Nsb3QgLSBnbG9iYWxfZGF0YS5rZXlfc2xvdHM7CisgICAgICAgICAgICAqdm9sYXRpbGVfa2V5X2lkID0gUFNBX0tFWV9JRF9WT0xBVElMRV9NSU4gKyBzbG90X2lkeDsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICpwX3Nsb3QgPSBzZWxlY3RlZF9zbG90OwogCiAgICAgICAgIHJldHVybiBQU0FfU1VDQ0VTUzsKQEAgLTIzNiw3ICs2NzQsNiBAQAogCiBlcnJvcjoKICAgICAqcF9zbG90ID0gTlVMTDsKLSAgICAqdm9sYXRpbGVfa2V5X2lkID0gMDsKIAogICAgIHJldHVybiBzdGF0dXM7CiB9CkBAIC0zOTUsOSArODMyLDggQEAKICAgICAvKiBMb2FkaW5nIGtleXMgZnJvbSBzdG9yYWdlIHJlcXVpcmVzIHN1cHBvcnQgZm9yIHN1Y2ggYSBtZWNoYW5pc20gKi8KICNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MpIHx8IFwKICAgICBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19CVUlMVElOX0tFWVMpCi0gICAgcHNhX2tleV9pZF90IHZvbGF0aWxlX2tleV9pZDsKIAotICAgIHN0YXR1cyA9IHBzYV9yZXNlcnZlX2ZyZWVfa2V5X3Nsb3QoJnZvbGF0aWxlX2tleV9pZCwgcF9zbG90KTsKKyAgICBzdGF0dXMgPSBwc2FfcmVzZXJ2ZV9mcmVlX2tleV9zbG90KE5VTEwsIHBfc2xvdCk7CiAgICAgaWYgKHN0YXR1cyAhPSBQU0FfU1VDQ0VTUykgewogI2lmIGRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKICAgICAgICAgUFNBX1RIUkVBRElOR19DSEtfUkVUKG1iZWR0bHNfbXV0ZXhfdW5sb2NrKApAQCAtNDI0LDYgKzg2MCw4IEBACiAgICAgaWYgKHN0YXR1cyAhPSBQU0FfU1VDQ0VTUykgewogICAgICAgICBwc2Ffd2lwZV9rZXlfc2xvdCgqcF9zbG90KTsKIAorICAgICAgICAvKiBJZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0LCB3ZSBuZWVkIHRvIHJldHVybgorICAgICAgICAgKiBQU0FfRVJST1JfSU5WQUxJRF9IQU5ETEUuICovCiAgICAgICAgIGlmIChzdGF0dXMgPT0gUFNBX0VSUk9SX0RPRVNfTk9UX0VYSVNUKSB7CiAgICAgICAgICAgICBzdGF0dXMgPSBQU0FfRVJST1JfSU5WQUxJRF9IQU5ETEU7CiAgICAgICAgIH0KQEAgLTQ0MCw2ICs4NzgsOSBAQAogICAgIHN0YXR1cyA9IFBTQV9FUlJPUl9JTlZBTElEX0hBTkRMRTsKICNlbmRpZiAvKiBNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DIHx8IE1CRURUTFNfUFNBX0NSWVBUT19CVUlMVElOX0tFWVMgKi8KIAorICAgIGlmIChzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpIHsKKyAgICAgICAgKnBfc2xvdCA9IE5VTEw7CisgICAgfQogI2lmIGRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKICAgICBQU0FfVEhSRUFESU5HX0NIS19SRVQobWJlZHRsc19tdXRleF91bmxvY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWJlZHRsc190aHJlYWRpbmdfa2V5X3Nsb3RfbXV0ZXgpKTsKQEAgLTQ2MCwxMiArOTAxLDEyIEBACiAgICAgLyogSWYgd2UgYXJlIHRoZSBsYXN0IHJlYWRlciBhbmQgdGhlIHNsb3QgaXMgbWFya2VkIGZvciBkZWxldGlvbiwKICAgICAgKiB3ZSBtdXN0IHdpcGUgdGhlIHNsb3QgaGVyZS4gKi8KICAgICBpZiAoKHNsb3QtPnN0YXRlID09IFBTQV9TTE9UX1BFTkRJTkdfREVMRVRJT04pICYmCi0gICAgICAgIChzbG90LT5yZWdpc3RlcmVkX3JlYWRlcnMgPT0gMSkpIHsKKyAgICAgICAgKHNsb3QtPnZhci5vY2N1cGllZC5yZWdpc3RlcmVkX3JlYWRlcnMgPT0gMSkpIHsKICAgICAgICAgcmV0dXJuIHBzYV93aXBlX2tleV9zbG90KHNsb3QpOwogICAgIH0KIAogICAgIGlmIChwc2Ffa2V5X3Nsb3RfaGFzX3JlYWRlcnMoc2xvdCkpIHsKLSAgICAgICAgc2xvdC0+cmVnaXN0ZXJlZF9yZWFkZXJzLS07CisgICAgICAgIHNsb3QtPnZhci5vY2N1cGllZC5yZWdpc3RlcmVkX3JlYWRlcnMtLTsKICAgICAgICAgcmV0dXJuIFBTQV9TVUNDRVNTOwogICAgIH0KIApAQCAtNTk5LDcgKzEwNDAsNyBAQAogICAgICAgICByZXR1cm4gc3RhdHVzOwogICAgIH0KIAotICAgIGlmIChzbG90LT5yZWdpc3RlcmVkX3JlYWRlcnMgPT0gMSkgeworICAgIGlmIChzbG90LT52YXIub2NjdXBpZWQucmVnaXN0ZXJlZF9yZWFkZXJzID09IDEpIHsKICAgICAgICAgc3RhdHVzID0gcHNhX3dpcGVfa2V5X3Nsb3Qoc2xvdCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgc3RhdHVzID0gcHNhX3VucmVnaXN0ZXJfcmVhZChzbG90KTsKQEAgLTYzNCw3ICsxMDc1LDcgQEAKICAgICB9CiAKICAgICBpZiAoKCFQU0FfS0VZX0xJRkVUSU1FX0lTX1ZPTEFUSUxFKHNsb3QtPmF0dHIubGlmZXRpbWUpKSAmJgotICAgICAgICAoc2xvdC0+cmVnaXN0ZXJlZF9yZWFkZXJzID09IDEpKSB7CisgICAgICAgIChzbG90LT52YXIub2NjdXBpZWQucmVnaXN0ZXJlZF9yZWFkZXJzID09IDEpKSB7CiAgICAgICAgIHN0YXR1cyA9IHBzYV93aXBlX2tleV9zbG90KHNsb3QpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHN0YXR1cyA9IHBzYV91bnJlZ2lzdGVyX3JlYWQoc2xvdCk7CkBAIC02NDksMzQgKzEwOTAsMzkgQEAKIAogdm9pZCBtYmVkdGxzX3BzYV9nZXRfc3RhdHMobWJlZHRsc19wc2Ffc3RhdHNfdCAqc3RhdHMpCiB7Ci0gICAgc2l6ZV90IHNsb3RfaWR4OwotCiAgICAgbWVtc2V0KHN0YXRzLCAwLCBzaXplb2YoKnN0YXRzKSk7CiAKLSAgICBmb3IgKHNsb3RfaWR4ID0gMDsgc2xvdF9pZHggPCBNQkVEVExTX1BTQV9LRVlfU0xPVF9DT1VOVDsgc2xvdF9pZHgrKykgewotICAgICAgICBjb25zdCBwc2Ffa2V5X3Nsb3RfdCAqc2xvdCA9ICZnbG9iYWxfZGF0YS5rZXlfc2xvdHNbc2xvdF9pZHhdOwotICAgICAgICBpZiAocHNhX2tleV9zbG90X2hhc19yZWFkZXJzKHNsb3QpKSB7Ci0gICAgICAgICAgICArK3N0YXRzLT5sb2NrZWRfc2xvdHM7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHNsb3QtPnN0YXRlID09IFBTQV9TTE9UX0VNUFRZKSB7Ci0gICAgICAgICAgICArK3N0YXRzLT5lbXB0eV9zbG90czsKKyAgICBmb3IgKHNpemVfdCBzbGljZV9pZHggPSAwOyBzbGljZV9pZHggPCBLRVlfU0xJQ0VfQ09VTlQ7IHNsaWNlX2lkeCsrKSB7CisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykKKyAgICAgICAgaWYgKGdsb2JhbF9kYXRhLmtleV9zbGljZXNbc2xpY2VfaWR4XSA9PSBOVUxMKSB7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAgICBpZiAoUFNBX0tFWV9MSUZFVElNRV9JU19WT0xBVElMRShzbG90LT5hdHRyLmxpZmV0aW1lKSkgewotICAgICAgICAgICAgKytzdGF0cy0+dm9sYXRpbGVfc2xvdHM7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwc2Ffa2V5X2lkX3QgaWQgPSBNQkVEVExTX1NWQ19LRVlfSURfR0VUX0tFWV9JRChzbG90LT5hdHRyLmlkKTsKLSAgICAgICAgICAgICsrc3RhdHMtPnBlcnNpc3RlbnRfc2xvdHM7Ci0gICAgICAgICAgICBpZiAoaWQgPiBzdGF0cy0+bWF4X29wZW5faW50ZXJuYWxfa2V5X2lkKSB7Ci0gICAgICAgICAgICAgICAgc3RhdHMtPm1heF9vcGVuX2ludGVybmFsX2tleV9pZCA9IGlkOworI2VuZGlmICAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLworICAgICAgICBmb3IgKHNpemVfdCBzbG90X2lkeCA9IDA7IHNsb3RfaWR4IDwga2V5X3NsaWNlX2xlbmd0aChzbGljZV9pZHgpOyBzbG90X2lkeCsrKSB7CisgICAgICAgICAgICBjb25zdCBwc2Ffa2V5X3Nsb3RfdCAqc2xvdCA9IGdldF9rZXlfc2xvdChzbGljZV9pZHgsIHNsb3RfaWR4KTsKKyAgICAgICAgICAgIGlmIChzbG90LT5zdGF0ZSA9PSBQU0FfU0xPVF9FTVBUWSkgeworICAgICAgICAgICAgICAgICsrc3RhdHMtPmVtcHR5X3Nsb3RzOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChQU0FfS0VZX0xJRkVUSU1FX0dFVF9MT0NBVElPTihzbG90LT5hdHRyLmxpZmV0aW1lKSAhPQotICAgICAgICAgICAgUFNBX0tFWV9MT0NBVElPTl9MT0NBTF9TVE9SQUdFKSB7Ci0gICAgICAgICAgICBwc2Ffa2V5X2lkX3QgaWQgPSBNQkVEVExTX1NWQ19LRVlfSURfR0VUX0tFWV9JRChzbG90LT5hdHRyLmlkKTsKLSAgICAgICAgICAgICsrc3RhdHMtPmV4dGVybmFsX3Nsb3RzOwotICAgICAgICAgICAgaWYgKGlkID4gc3RhdHMtPm1heF9vcGVuX2V4dGVybmFsX2tleV9pZCkgewotICAgICAgICAgICAgICAgIHN0YXRzLT5tYXhfb3Blbl9leHRlcm5hbF9rZXlfaWQgPSBpZDsKKyAgICAgICAgICAgIGlmIChwc2Ffa2V5X3Nsb3RfaGFzX3JlYWRlcnMoc2xvdCkpIHsKKyAgICAgICAgICAgICAgICArK3N0YXRzLT5sb2NrZWRfc2xvdHM7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoUFNBX0tFWV9MSUZFVElNRV9JU19WT0xBVElMRShzbG90LT5hdHRyLmxpZmV0aW1lKSkgeworICAgICAgICAgICAgICAgICsrc3RhdHMtPnZvbGF0aWxlX3Nsb3RzOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBwc2Ffa2V5X2lkX3QgaWQgPSBNQkVEVExTX1NWQ19LRVlfSURfR0VUX0tFWV9JRChzbG90LT5hdHRyLmlkKTsKKyAgICAgICAgICAgICAgICArK3N0YXRzLT5wZXJzaXN0ZW50X3Nsb3RzOworICAgICAgICAgICAgICAgIGlmIChpZCA+IHN0YXRzLT5tYXhfb3Blbl9pbnRlcm5hbF9rZXlfaWQpIHsKKyAgICAgICAgICAgICAgICAgICAgc3RhdHMtPm1heF9vcGVuX2ludGVybmFsX2tleV9pZCA9IGlkOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChQU0FfS0VZX0xJRkVUSU1FX0dFVF9MT0NBVElPTihzbG90LT5hdHRyLmxpZmV0aW1lKSAhPQorICAgICAgICAgICAgICAgIFBTQV9LRVlfTE9DQVRJT05fTE9DQUxfU1RPUkFHRSkgeworICAgICAgICAgICAgICAgIHBzYV9rZXlfaWRfdCBpZCA9IE1CRURUTFNfU1ZDX0tFWV9JRF9HRVRfS0VZX0lEKHNsb3QtPmF0dHIuaWQpOworICAgICAgICAgICAgICAgICsrc3RhdHMtPmV4dGVybmFsX3Nsb3RzOworICAgICAgICAgICAgICAgIGlmIChpZCA+IHN0YXRzLT5tYXhfb3Blbl9leHRlcm5hbF9rZXlfaWQpIHsKKyAgICAgICAgICAgICAgICAgICAgc3RhdHMtPm1heF9vcGVuX2V4dGVybmFsX2tleV9pZCA9IGlkOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL2xpYnJhcnkvcHNhX2NyeXB0b19zbG90X21hbmFnZW1lbnQuaCBiL2xpYnJhcnkvcHNhX2NyeXB0b19zbG90X21hbmFnZW1lbnQuaAppbmRleCBiY2ZjOWQ4Li5hZjEyMDhlIDEwMDY0NAotLS0gYS9saWJyYXJ5L3BzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50LmgKKysrIGIvbGlicmFyeS9wc2FfY3J5cHRvX3Nsb3RfbWFuYWdlbWVudC5oCkBAIC0xNSwyMCArMTUsMjYgQEAKIAogLyoqIFJhbmdlIG9mIHZvbGF0aWxlIGtleSBpZGVudGlmaWVycy4KICAqCi0gKiAgVGhlIGxhc3QgI01CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UIGlkZW50aWZpZXJzIG9mIHRoZSBpbXBsZW1lbnRhdGlvbgorICogIFRoZSBmaXJzdCAjTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlQgaWRlbnRpZmllcnMgb2YgdGhlIGltcGxlbWVudGF0aW9uCiAgKiAgcmFuZ2Ugb2Yga2V5IGlkZW50aWZpZXJzIGFyZSByZXNlcnZlZCBmb3Igdm9sYXRpbGUga2V5IGlkZW50aWZpZXJzLgotICogIEEgdm9sYXRpbGUga2V5IGlkZW50aWZpZXIgaXMgZXF1YWwgdG8gI1BTQV9LRVlfSURfVk9MQVRJTEVfTUlOIHBsdXMgdGhlCi0gKiAgaW5kZXggb2YgdGhlIGtleSBzbG90IGNvbnRhaW5pbmcgdGhlIHZvbGF0aWxlIGtleSBkZWZpbml0aW9uLgorICoKKyAqICBJZiBcYyBpZCBpcyBhIGEgdm9sYXRpbGUga2V5IGlkZW50aWZpZXIsICNQU0FfS0VZX0lEX1ZPTEFUSUxFX01JTiAtIFxjIGlkCisgKiAgaW5kaWNhdGVzIHRoZSBrZXkgc2xvdCBjb250YWluaW5nIHRoZSB2b2xhdGlsZSBrZXkgZGVmaW5pdGlvbi4gU2VlCisgKiAgcHNhX2NyeXB0b19zbG90X21hbmFnZW1lbnQuYyBmb3IgZGV0YWlscy4KICAqLwogCiAvKiogVGhlIG1pbmltdW0gdmFsdWUgZm9yIGEgdm9sYXRpbGUga2V5IGlkZW50aWZpZXIuCiAgKi8KLSNkZWZpbmUgUFNBX0tFWV9JRF9WT0xBVElMRV9NSU4gIChQU0FfS0VZX0lEX1ZFTkRPUl9NQVggLSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlQgKyAxKQorI2RlZmluZSBQU0FfS0VZX0lEX1ZPTEFUSUxFX01JTiAgUFNBX0tFWV9JRF9WRU5ET1JfTUlOCiAKIC8qKiBUaGUgbWF4aW11bSB2YWx1ZSBmb3IgYSB2b2xhdGlsZSBrZXkgaWRlbnRpZmllci4KICAqLwotI2RlZmluZSBQU0FfS0VZX0lEX1ZPTEFUSUxFX01BWCAgUFNBX0tFWV9JRF9WRU5ET1JfTUFYCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykKKyNkZWZpbmUgUFNBX0tFWV9JRF9WT0xBVElMRV9NQVggKE1CRURUTFNfUFNBX0tFWV9JRF9CVUlMVElOX01JTiAtIDEpCisjZWxzZSAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLworI2RlZmluZSBQU0FfS0VZX0lEX1ZPTEFUSUxFX01BWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoUFNBX0tFWV9JRF9WT0xBVElMRV9NSU4gKyBNQkVEVExTX1BTQV9LRVlfU0xPVF9DT1VOVCAtIDEpCisjZW5kaWYgLyogTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgKi8KIAogLyoqIFRlc3Qgd2hldGhlciBhIGtleSBpZGVudGlmaWVyIGlzIGEgdm9sYXRpbGUga2V5IGlkZW50aWZpZXIuCiAgKgpAQCAtNTgsNiArNjQsOSBAQAogICogSXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXIgdG8gY2FsbCBwc2FfdW5yZWdpc3Rlcl9yZWFkKHNsb3QpCiAgKiB3aGVuIHRoZXkgaGF2ZSBmaW5pc2hlZCByZWFkaW5nIHRoZSBjb250ZW50cyBvZiB0aGUgc2xvdC4KICAqCisgKiBPbiBmYWlsdXJlLCBgKnBfc2xvdGAgaXMgc2V0IHRvIE5VTEwuIFRoaXMgZW5zdXJlcyB0aGF0IGl0IGlzIGFsd2F5cyB2YWxpZAorICogdG8gY2FsbCBwc2FfdW5yZWdpc3Rlcl9yZWFkIG9uIHRoZSByZXR1cm5lZCBzbG90LgorICoKICAqIFxwYXJhbSBrZXkgICAgICAgICAgIEtleSBpZGVudGlmaWVyIHRvIHF1ZXJ5LgogICogXHBhcmFtW291dF0gcF9zbG90ICAgT24gc3VjY2VzcywgYCpwX3Nsb3RgIGNvbnRhaW5zIGEgcG9pbnRlciB0byB0aGUKICAqICAgICAgICAgICAgICAgICAgICAgIGtleSBzbG90IGNvbnRhaW5pbmcgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBrZXkKQEAgLTkxLDYgKzEwMCwyNCBAQAogICovCiBwc2Ffc3RhdHVzX3QgcHNhX2luaXRpYWxpemVfa2V5X3Nsb3RzKHZvaWQpOwogCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmIGRlZmluZWQoTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMpCisvKiBBbGxvdyB0ZXN0IGNvZGUgdG8gY3VzdG9taXplIHRoZSBrZXkgc2xpY2UgbGVuZ3RoLiBXZSB1c2UgdGhpcyBpbiB0ZXN0cworICogdGhhdCBleGhhdXN0IHRoZSBrZXkgc3RvcmUgdG8gcmVhY2ggYSBmdWxsIGtleSBzdG9yZSBpbiByZWFzb25hYmxlIHRpbWUKKyAqIGFuZCBtZW1vcnkuCisgKgorICogVGhlIGxlbmd0aCBvZiBlYWNoIHNsaWNlIG11c3QgYmUgYmV0d2VlbiAxIGFuZAorICogKDEgPDwgS0VZX0lEX1NMT1RfSU5ERVhfV0lEVEgpIGluY2x1c2l2ZS4KKyAqCisgKiBUaGUgbGVuZ3RoIGZvciBhIGdpdmVuIHNsaWNlIGluZGV4IG11c3Qgbm90IGNoYW5nZSB3aGlsZQorICogdGhlIGtleSBzdG9yZSBpcyBpbml0aWFsaXplZC4KKyAqLworZXh0ZXJuIHNpemVfdCAoKm1iZWR0bHNfdGVzdF9ob29rX3BzYV92b2xhdGlsZV9rZXlfc2xpY2VfbGVuZ3RoKSgKKyAgICBzaXplX3Qgc2xpY2VfaWR4KTsKKworLyogVGhlIG51bWJlciBvZiB2b2xhdGlsZSBrZXkgc2xpY2VzLiAqLworc2l6ZV90IHBzYV9rZXlfc2xvdF92b2xhdGlsZV9zbGljZV9jb3VudCh2b2lkKTsKKyNlbmRpZgorCiAvKiogRGVsZXRlIGFsbCBkYXRhIGZyb20ga2V5IHNsb3RzIGluIG1lbW9yeS4KICAqIFRoaXMgZnVuY3Rpb24gaXMgbm90IHRocmVhZCBzYWZlLCBpdCB3aXBlcyBldmVyeSBrZXkgc2xvdCByZWdhcmRsZXNzIG9mCiAgKiBzdGF0ZSBhbmQgcmVhZGVyIGNvdW50LiBJdCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiBubyBzbG90IGlzIGluIHVzZS4KQEAgLTExMCwxMyArMTM3LDIyIEBACiAgKiBJZiBtdWx0aS10aHJlYWRpbmcgaXMgZW5hYmxlZCwgdGhlIGNhbGxlciBtdXN0IGhvbGQgdGhlCiAgKiBnbG9iYWwga2V5IHNsb3QgbXV0ZXguCiAgKgotICogXHBhcmFtW291dF0gdm9sYXRpbGVfa2V5X2lkICAgT24gc3VjY2Vzcywgdm9sYXRpbGUga2V5IGlkZW50aWZpZXIKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc29jaWF0ZWQgdG8gdGhlIHJldHVybmVkIHNsb3QuCisgKiBccGFyYW1bb3V0XSB2b2xhdGlsZV9rZXlfaWQgICAtIElmIG51bGwsIHJlc2VydmUgYSBjYWNoZSBzbG90IGZvcgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHBlcnNpc3RlbnQgb3IgYnVpbHQtaW4ga2V5LgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBJZiBub24tbnVsbCwgYWxsb2NhdGUgYSBzbG90IGZvcgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHZvbGF0aWxlIGtleS4gT24gc3VjY2VzcywKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHAgKnZvbGF0aWxlX2tleV9pZCBpcyB0aGUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllciBjb3JyZXNwb25kaW5nIHRvIHRoZQorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5lZCBzbG90LiBJdCBpcyB0aGUgY2FsbGVyJ3MKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHkgdG8gc2V0IHRoaXMga2V5IGlkZW50aWZpZXIKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGF0dHJpYnV0ZXMuCiAgKiBccGFyYW1bb3V0XSBwX3Nsb3QgICAgICAgICAgICBPbiBzdWNjZXNzLCBhIHBvaW50ZXIgdG8gdGhlIHNsb3QuCiAgKgogICogXHJldHZhbCAjUFNBX1NVQ0NFU1MgXGVtcHR5ZGVzY3JpcHRpb24KICAqIFxyZXR2YWwgI1BTQV9FUlJPUl9JTlNVRkZJQ0lFTlRfTUVNT1JZCiAgKiAgICAgICAgIFRoZXJlIHdlcmUgbm8gZnJlZSBrZXkgc2xvdHMuCisgKiAgICAgICAgIFdoZW4gI01CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDIGlzIGVuYWJsZWQsIHRoZXJlIHdhcyBub3QKKyAqICAgICAgICAgZW5vdWdoIG1lbW9yeSB0byBhbGxvY2F0ZSBtb3JlIHNsb3RzLgogICogXHJldHZhbCAjUFNBX0VSUk9SX0JBRF9TVEFURSBcZW1wdHlkZXNjcmlwdGlvbgogICogXHJldHZhbCAjUFNBX0VSUk9SX0NPUlJVUFRJT05fREVURUNURUQKICAqICAgICAgICAgVGhpcyBmdW5jdGlvbiBhdHRlbXB0ZWQgdG8gb3BlcmF0ZSBvbiBhIGtleSBzbG90IHdoaWNoIHdhcyBpbiBhbgpAQCAtMTI1LDYgKzE2MSwyOSBAQAogcHNhX3N0YXR1c190IHBzYV9yZXNlcnZlX2ZyZWVfa2V5X3Nsb3QocHNhX2tleV9pZF90ICp2b2xhdGlsZV9rZXlfaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3Nsb3RfdCAqKnBfc2xvdCk7CiAKKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDKQorLyoqIFJldHVybiBhIGtleSBzbG90IHRvIHRoZSBmcmVlIGxpc3QuCisgKgorICogQ2FsbCB0aGlzIGZ1bmN0aW9uIHdoZW4gYSBzbG90IG9idGFpbmVkIGZyb20gcHNhX3Jlc2VydmVfZnJlZV9rZXlfc2xvdCgpCisgKiBpcyBubyBsb25nZXIgaW4gdXNlLgorICoKKyAqIElmIG11bHRpLXRocmVhZGluZyBpcyBlbmFibGVkLCB0aGUgY2FsbGVyIG11c3QgaG9sZCB0aGUKKyAqIGdsb2JhbCBrZXkgc2xvdCBtdXRleC4KKyAqCisgKiBccGFyYW0gc2xpY2VfaWR4ICAgICAgICAgICAgIFRoZSBzbGljZSBjb250YWluaW5nIHRoZSBzbG90LgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIGBzbG90LT5zbGljZV9pbmRleGAgd2hlbiB0aGUgc2xvdAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBvYnRhaW5lZCBmcm9tIHBzYV9yZXNlcnZlX2ZyZWVfa2V5X3Nsb3QoKS4KKyAqIFxwYXJhbSBzbG90ICAgICAgICAgICAgICAgICAgVGhlIGtleSBzbG90LgorICoKKyAqIFxyZXR2YWwgI1BTQV9TVUNDRVNTIFxlbXB0eWRlc2NyaXB0aW9uCisgKiBccmV0dmFsICNQU0FfRVJST1JfQ09SUlVQVElPTl9ERVRFQ1RFRAorICogICAgICAgICBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRlZCB0byBvcGVyYXRlIG9uIGEga2V5IHNsb3Qgd2hpY2ggd2FzIGluIGFuCisgKiAgICAgICAgIHVuZXhwZWN0ZWQgc3RhdGUuCisgKi8KK3BzYV9zdGF0dXNfdCBwc2FfZnJlZV9rZXlfc2xvdChzaXplX3Qgc2xpY2VfaWR4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfc2xvdF90ICpzbG90KTsKKyNlbmRpZiAvKiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyAqLworCiAvKiogQ2hhbmdlIHRoZSBzdGF0ZSBvZiBhIGtleSBzbG90LgogICoKICAqIFRoaXMgZnVuY3Rpb24gY2hhbmdlcyB0aGUgc3RhdGUgb2YgdGhlIGtleSBzbG90IGZyb20gZXhwZWN0ZWRfc3RhdGUgdG8KQEAgLTE3MSwxMCArMjMwLDEwIEBACiBzdGF0aWMgaW5saW5lIHBzYV9zdGF0dXNfdCBwc2FfcmVnaXN0ZXJfcmVhZChwc2Ffa2V5X3Nsb3RfdCAqc2xvdCkKIHsKICAgICBpZiAoKHNsb3QtPnN0YXRlICE9IFBTQV9TTE9UX0ZVTEwpIHx8Ci0gICAgICAgIChzbG90LT5yZWdpc3RlcmVkX3JlYWRlcnMgPj0gU0laRV9NQVgpKSB7CisgICAgICAgIChzbG90LT52YXIub2NjdXBpZWQucmVnaXN0ZXJlZF9yZWFkZXJzID49IFNJWkVfTUFYKSkgewogICAgICAgICByZXR1cm4gUFNBX0VSUk9SX0NPUlJVUFRJT05fREVURUNURUQ7CiAgICAgfQotICAgIHNsb3QtPnJlZ2lzdGVyZWRfcmVhZGVycysrOworICAgIHNsb3QtPnZhci5vY2N1cGllZC5yZWdpc3RlcmVkX3JlYWRlcnMrKzsKIAogICAgIHJldHVybiBQU0FfU1VDQ0VTUzsKIH0KZGlmZiAtLWdpdCBhL2xpYnJhcnkvcHNhX2NyeXB0b19zdG9yYWdlLmggYi9saWJyYXJ5L3BzYV9jcnlwdG9fc3RvcmFnZS5oCmluZGV4IGQ3ZjViMTguLjQzM2VjZGMgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvcHNhX2NyeXB0b19zdG9yYWdlLmgKKysrIGIvbGlicmFyeS9wc2FfY3J5cHRvX3N0b3JhZ2UuaApAQCAtMjEsOSArMjEsMTYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAotLyogTGltaXQgdGhlIG1heGltdW0ga2V5IHNpemUgaW4gc3RvcmFnZS4gVGhpcyBzaG91bGQgaGF2ZSBubyBlZmZlY3QKLSAqIHNpbmNlIHRoZSBrZXkgc2l6ZSBpcyBsaW1pdGVkIGluIG1lbW9yeS4gKi8KKy8qIExpbWl0IHRoZSBtYXhpbXVtIGtleSBzaXplIGluIHN0b3JhZ2UuICovCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RTKQorLyogUmVmbGVjdCB0aGUgbWF4aW11bSBzaXplIGZvciB0aGUga2V5IGJ1ZmZlci4gKi8KKyNkZWZpbmUgUFNBX0NSWVBUT19NQVhfU1RPUkFHRV9TSVpFIChNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RfQlVGRkVSX1NJWkUpCisjZWxzZQorLyogSnVzdCBzZXQgYW4gdXBwZXIgYm91bmRhcnkgYnV0IGl0IHNob3VsZCBoYXZlIG5vIGVmZmVjdCBzaW5jZSB0aGUga2V5IHNpemUKKyAqIGlzIGxpbWl0ZWQgaW4gbWVtb3J5LiAqLwogI2RlZmluZSBQU0FfQ1JZUFRPX01BWF9TVE9SQUdFX1NJWkUgKFBTQV9CSVRTX1RPX0JZVEVTKFBTQV9NQVhfS0VZX0JJVFMpKQorI2VuZGlmCisKIC8qIFNhbml0eSBjaGVjazogYSBmaWxlIHNpemUgbXVzdCBmaXQgaW4gMzIgYml0cy4gQWxsb3cgYSBnZW5lcm91cwogICogNjRrQiBvZiBtZXRhZGF0YS4gKi8KICNpZiBQU0FfQ1JZUFRPX01BWF9TVE9SQUdFX1NJWkUgPiAweGZmZmYwMDAwCmRpZmYgLS1naXQgYS9saWJyYXJ5L3BzYV91dGlsLmMgYi9saWJyYXJ5L3BzYV91dGlsLmMKaW5kZXggNGNjYzViMC4uNjc5ZDAwZSAxMDA2NDQKLS0tIGEvbGlicmFyeS9wc2FfdXRpbC5jCisrKyBiL2xpYnJhcnkvcHNhX3V0aWwuYwpAQCAtNDQzLDYgKzQ0Myw5IEBACiAgICAgaWYgKHJhd19sZW4gIT0gKDIgKiBjb29yZGluYXRlX2xlbikpIHsKICAgICAgICAgcmV0dXJuIE1CRURUTFNfRVJSX0FTTjFfSU5WQUxJRF9EQVRBOwogICAgIH0KKyAgICBpZiAoY29vcmRpbmF0ZV9sZW4gPiBzaXplb2YocikpIHsKKyAgICAgICAgcmV0dXJuIE1CRURUTFNfRVJSX0FTTjFfQlVGX1RPT19TTUFMTDsKKyAgICB9CiAKICAgICAvKiBTaW5jZSByYXcgYW5kIGRlciBidWZmZXJzIG1pZ2h0IG92ZXJsYXAsIGR1bXAgciBhbmQgcyBiZWZvcmUgc3RhcnRpbmcKICAgICAgKiB0aGUgY29udmVyc2lvbi4gKi8KQEAgLTU2MSw2ICs1NjQsOSBAQAogICAgIGlmIChyYXdfc2l6ZSA8IGNvb3JkaW5hdGVfc2l6ZSAqIDIpIHsKICAgICAgICAgcmV0dXJuIE1CRURUTFNfRVJSX0FTTjFfQlVGX1RPT19TTUFMTDsKICAgICB9CisgICAgaWYgKDIgKiBjb29yZGluYXRlX3NpemUgPiBzaXplb2YocmF3X3RtcCkpIHsKKyAgICAgICAgcmV0dXJuIE1CRURUTFNfRVJSX0FTTjFfQlVGX1RPT19TTUFMTDsKKyAgICB9CiAKICAgICAvKiBDaGVjayB0aGF0IHRoZSBwcm92aWRlZCBpbnB1dCBERVIgYnVmZmVyIGhhcyB0aGUgcmlnaHQgaGVhZGVyLiAqLwogICAgIHJldCA9IG1iZWR0bHNfYXNuMV9nZXRfdGFnKCZwLCBkZXIgKyBkZXJfbGVuLCAmZGF0YV9sZW4sCmRpZmYgLS1naXQgYS9saWJyYXJ5L3JzYS5jIGIvbGlicmFyeS9yc2EuYwppbmRleCA3ZWI0YTI1Li41NTdmYWFmIDEwMDY0NAotLS0gYS9saWJyYXJ5L3JzYS5jCisrKyBiL2xpYnJhcnkvcnNhLmMKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIm1iZWR0bHMvcnNhLmgiCiAjaW5jbHVkZSAiYmlnbnVtX2NvcmUuaCIKKyNpbmNsdWRlICJiaWdudW1faW50ZXJuYWwuaCIKICNpbmNsdWRlICJyc2FfYWx0X2hlbHBlcnMuaCIKICNpbmNsdWRlICJyc2FfaW50ZXJuYWwuaCIKICNpbmNsdWRlICJtYmVkdGxzL29pZC5oIgpAQCAtMTI1OSw3ICsxMjYwLDcgQEAKICAgICB9CiAKICAgICBvbGVuID0gY3R4LT5sZW47Ci0gICAgTUJFRFRMU19NUElfQ0hLKG1iZWR0bHNfbXBpX2V4cF9tb2QoJlQsICZULCAmY3R4LT5FLCAmY3R4LT5OLCAmY3R4LT5STikpOworICAgIE1CRURUTFNfTVBJX0NISyhtYmVkdGxzX21waV9leHBfbW9kX3Vuc2FmZSgmVCwgJlQsICZjdHgtPkUsICZjdHgtPk4sICZjdHgtPlJOKSk7CiAgICAgTUJFRFRMU19NUElfQ0hLKG1iZWR0bHNfbXBpX3dyaXRlX2JpbmFyeSgmVCwgb3V0cHV0LCBvbGVuKSk7CiAKIGNsZWFudXA6CmRpZmYgLS1naXQgYS9saWJyYXJ5L3NoYTI1Ni5jIGIvbGlicmFyeS9zaGEyNTYuYwppbmRleCA4Nzg4OTgxLi4xNTlhY2NjIDEwMDY0NAotLS0gYS9saWJyYXJ5L3NoYTI1Ni5jCisrKyBiL2xpYnJhcnkvc2hhMjU2LmMKQEAgLTQ0LDcgKzQ0LDkgQEAKICNlbmRpZiAvKiBkZWZpbmVkKF9fY2xhbmdfXykgJiYgIChfX2NsYW5nX21ham9yX18gPj0gNCkgKi8KIAogLyogRW5zdXJlIHRoYXQgU0lHX1NFVE1BU0sgaXMgZGVmaW5lZCB3aGVuIC1zdGQ9Yzk5IGlzIHVzZWQuICovCisjaWYgIWRlZmluZWQoX0dOVV9TT1VSQ0UpCiAjZGVmaW5lIF9HTlVfU09VUkNFCisjZW5kaWYKIAogI2luY2x1ZGUgImNvbW1vbi5oIgogCkBAIC0xNTAsNyArMTUyLDkgQEAKICAgICByZXR1cm4gMTsKIH0KICNlbGlmIGRlZmluZWQoTUJFRFRMU19QTEFURk9STV9JU19XSU5ET1dTX09OX0FSTTY0KQorI2lmbmRlZiBXSU4zMl9MRUFOX0FORF9NRUFOCiAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KKyNlbmRpZgogI2luY2x1ZGUgPFdpbmRvd3MuaD4KICNpbmNsdWRlIDxwcm9jZXNzdGhyZWFkc2FwaS5oPgogCmRpZmYgLS1naXQgYS9saWJyYXJ5L3NzbF9jb29raWUuYyBiL2xpYnJhcnkvc3NsX2Nvb2tpZS5jCmluZGV4IDI3NzJjYWMuLmFjYzllOGMgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvc3NsX2Nvb2tpZS5jCisrKyBiL2xpYnJhcnkvc3NsX2Nvb2tpZS5jCkBAIC04NCw2ICs4NCwxMCBAQAogCiB2b2lkIG1iZWR0bHNfc3NsX2Nvb2tpZV9mcmVlKG1iZWR0bHNfc3NsX2Nvb2tpZV9jdHggKmN0eCkKIHsKKyAgICBpZiAoY3R4ID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogI2lmIGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykKICAgICBwc2FfZGVzdHJveV9rZXkoY3R4LT5wc2FfaG1hY19rZXkpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL2xpYnJhcnkvc3NsX21pc2MuaCBiL2xpYnJhcnkvc3NsX21pc2MuaAppbmRleCBhODgwN2Y2Li43NDk1YWUzIDEwMDY0NAotLS0gYS9saWJyYXJ5L3NzbF9taXNjLmgKKysrIGIvbGlicmFyeS9zc2xfbWlzYy5oCkBAIC0xMSw2ICsxMSw3IEBACiAjZGVmaW5lIE1CRURUTFNfU1NMX01JU0NfSAogCiAjaW5jbHVkZSAibWJlZHRscy9idWlsZF9pbmZvLmgiCisjaW5jbHVkZSAiY29tbW9uLmgiCiAKICNpbmNsdWRlICJtYmVkdGxzL2Vycm9yLmgiCiAKQEAgLTQ3LDcgKzQ4LDcgQEAKICNpbmNsdWRlICJzc2xfY2lwaGVyc3VpdGVzX2ludGVybmFsLmgiCiAjaW5jbHVkZSAieDUwOV9pbnRlcm5hbC5oIgogI2luY2x1ZGUgInBrX2ludGVybmFsLmgiCi0jaW5jbHVkZSAiY29tbW9uLmgiCisKIAogLyogU2hvcnRoYW5kIGZvciByZXN0YXJ0YWJsZSBFQ0MgKi8KICNpZiBkZWZpbmVkKE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFKSAmJiBcCkBAIC0xNTA3LDcgKzE1MDgsNyBAQAogI2VuZGlmIC8qIE1CRURUTFNfS0VZX0VYQ0hBTkdFX1NPTUVfUFNLX0VOQUJMRUQgKi8KIAogI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfSEFORFNIQUtFX1dJVEhfUFNLX0VOQUJMRUQpCi0jaWYgZGVmaW5lZChNQkVEVExTX1NTTF9DTElfQykKKyNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX0NMSV9DKSB8fCBkZWZpbmVkKE1CRURUTFNfU1NMX1NSVl9DKQogTUJFRFRMU19DSEVDS19SRVRVUk5fQ1JJVElDQUwKIGludCBtYmVkdGxzX3NzbF9jb25mX2hhc19zdGF0aWNfcHNrKG1iZWR0bHNfc3NsX2NvbmZpZyBjb25zdCAqY29uZik7CiAjZW5kaWYKQEAgLTE2NzQsMTggKzE2NzUsNTMgQEAKIH0KIAogLyoKLSAqIENoZWNrIHVzYWdlIG9mIGEgY2VydGlmaWNhdGUgd3J0IGV4dGVuc2lvbnM6Ci0gKiBrZXlVc2FnZSwgZXh0ZW5kZWRLZXlVc2FnZSAobGF0ZXIpLCBhbmQgblNDZXJ0VHlwZSAobGF0ZXIpLgorICogVmVyaWZ5IGEgY2VydGlmaWNhdGUuCiAgKgotICogV2FybmluZzogY2VydF9lbmRwb2ludCBpcyB0aGUgZW5kcG9pbnQgb2YgdGhlIGNlcnQgKGllLCBvZiBvdXIgcGVlciB3aGVuIHdlCi0gKiBjaGVjayBhIGNlcnQgd2UgcmVjZWl2ZWQgZnJvbSB0aGVtKSEKKyAqIFtpbi9vdXRdIHNzbDogbWlzYy4gdGhpbmdzIHJlYWQKKyAqICAgICAgICAgICAgICAgc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCB1cGRhdGVkCisgKiBbaW5dIGF1dGhtb2RlOiBvbmUgb2YgTUJFRFRMU19TU0xfVkVSSUZZX3tOT05FLE9QVElPTkFMLFJFUVVJUkVEfQorICogW2luXSBjaGFpbjogdGhlIGNlcnRpZmljYXRlIGNoYWluIHRvIHZlcmlmeSAoaWUgdGhlIHBlZXIncyBjaGFpbikKKyAqIFtpbl0gY2lwaGVyc3VpdGVfaW5mbzogRm9yIFRMUyAxLjIsIHRoaXMgc2Vzc2lvbidzIGNpcGhlcnN1aXRlOworICogICAgICAgICAgICAgICAgICAgICAgICBmb3IgVExTIDEuMywgbWF5IGJlIGxlZnQgTlVMTC4KKyAqIFtpbl0gcnNfY3R4OiByZXN0YXJ0IGNvbnRleHQgaWYgcmVzdGFydGFibGUgRUNDIGlzIGluIHVzZTsKKyAqICAgICAgICAgICAgICBsZWF2ZSBOVUxMIGZvciBubyByZXN0YXJ0YWJsZSBiZWhhdmlvdXIuCisgKgorICogUmV0dXJuOgorICogLSAwIGlmIHRoZSBoYW5kc2hha2Ugc2hvdWxkIGNvbnRpbnVlLiBEZXBlbmRpbmcgb24gdGhlCisgKiAgIGF1dGhtb2RlIGl0IG1lYW5zOgorICogICAtIFJFUVVJUkVEOiB0aGUgY2VydGlmaWNhdGUgd2FzIGZvdW5kIHRvIGJlIHZhbGlkLCB0cnVzdGVkICYgYWNjZXB0YWJsZS4KKyAqICAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0IGlzIDAuCisgKiAgIC0gT1BUSU9OQUw6IHRoZSBjZXJ0aWZpY2F0ZSBtYXkgb3IgbWF5IG5vdCBiZSBhY2NlcHRhYmxlLCBidXQKKyAqICAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0IHdhcyB1cGRhdGVkIHdpdGggdGhlIHJlc3VsdC4KKyAqICAgLSBOT05FOiB0aGUgY2VydGlmaWNhdGUgd2Fzbid0IGV2ZW4gY2hlY2tlZC4KKyAqIC0gTUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQgb3IgTUJFRFRMU19FUlJfU1NMX0JBRF9DRVJUSUZJQ0FURSBpZgorICogICB0aGUgY2VydGlmaWNhdGUgd2FzIGZvdW5kIHRvIGJlIGludmFsaWQvdW50cnVzdGVkL3VuYWNjZXB0YWJsZSBhbmQgdGhlCisgKiAgIGhhbmRzaGFrZSBzaG91bGQgYmUgYWJvcnRlZCAoY2FuIG9ubHkgaGFwcGVuIHdpdGggUkVRVUlSRUQpLgorICogLSBhbm90aGVyIGVycm9yIGNvZGUgaWYgYW5vdGhlciBlcnJvciBoYXBwZW5lZCAob3V0LW9mLW1lbW9yeSwgZXRjLikKKyAqLworTUJFRFRMU19DSEVDS19SRVRVUk5fQ1JJVElDQUwKK2ludCBtYmVkdGxzX3NzbF92ZXJpZnlfY2VydGlmaWNhdGUobWJlZHRsc19zc2xfY29udGV4dCAqc3NsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXV0aG1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfeDUwOV9jcnQgKmNoYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX3NzbF9jaXBoZXJzdWl0ZV90ICpjaXBoZXJzdWl0ZV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpyc19jdHgpOworCisvKgorICogQ2hlY2sgdXNhZ2Ugb2YgYSBjZXJ0aWZpY2F0ZSB3cnQgdXNhZ2UgZXh0ZW5zaW9uczoKKyAqIGtleVVzYWdlIGFuZCBleHRlbmRlZEtleVVzYWdlLgorICogKE5vdGU6IG5TQ2VydFR5cGUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHN0YW5kYXJkLCB3ZSBkb24ndCBjaGVjayBpdC4pCisgKgorICogTm90ZTogaWYgdGxzX3ZlcnNpb24gaXMgMS4zLCBjaXBoZXJzdWl0ZSBpcyBpZ25vcmVkIGFuZCBjYW4gYmUgTlVMTC4KKyAqCisgKiBOb3RlOiByZWN2X2VuZHBvaW50IGlzIHRoZSByZWNlaXZlcidzIGVuZHBvaW50LgogICoKICAqIFJldHVybiAwIGlmIGV2ZXJ5dGhpbmcgaXMgT0ssIC0xIGlmIG5vdC4KICAqLwogTUJFRFRMU19DSEVDS19SRVRVUk5fQ1JJVElDQUwKIGludCBtYmVkdGxzX3NzbF9jaGVja19jZXJ0X3VzYWdlKGNvbnN0IG1iZWR0bHNfeDUwOV9jcnQgKmNlcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX3NzbF9jaXBoZXJzdWl0ZV90ICpjaXBoZXJzdWl0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjZXJ0X2VuZHBvaW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlY3ZfZW5kcG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3NzbF9wcm90b2NvbF92ZXJzaW9uIHRsc192ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmZsYWdzKTsKICNlbmRpZiAvKiBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MgKi8KIApAQCAtMTg5MSw2ICsxOTI3LDI2IEBACiAjZW5kaWYgLyogTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yICYmIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyAqLwogCiAjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMpCisKKy8qKiBcYnJpZWYgSW5pdGlhbGl6ZSB0aGUgUFNBIGNyeXB0byBzdWJzeXN0ZW0gaWYgbmVjZXNzYXJ5LgorICoKKyAqIENhbGwgdGhpcyBmdW5jdGlvbiBiZWZvcmUgZG9pbmcgYW55IGNyeXB0b2dyYXBoeSBpbiBhIFRMUyAxLjMgaGFuZHNoYWtlLgorICoKKyAqIFRoaXMgaXMgbmVjZXNzYXJ5IGluIE1iZWQgVExTIDMueCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KKyAqIFVwIHRvIE1iZWQgVExTIDMuNSwgaW4gdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiwgeW91IGNvdWxkIHBlcmZvcm0KKyAqIGEgVExTIGNvbm5lY3Rpb24gd2l0aCBkZWZhdWx0IHBhcmFtZXRlcnMgd2l0aG91dCBoYXZpbmcgY2FsbGVkCisgKiBwc2FfY3J5cHRvX2luaXQoKSwgc2luY2UgdGhlIFRMUyBsYXllciBvbmx5IHN1cHBvcnRlZCBUTFMgMS4yIGFuZAorICogZGlkIG5vdCB1c2UgUFNBIGNyeXB0by4gKFRMUyAxLjIgb25seSB1c2VzIFBTQSBjcnlwdG8gaWYKKyAqIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gaXMgZW5hYmxlZCwgd2hpY2ggaXMgbm90IHRoZSBjYXNlIGluIHRoZSBkZWZhdWx0CisgKiBjb25maWd1cmF0aW9uLikgU3RhcnRpbmcgd2l0aCBNYmVkIFRMUyAzLjYuMCwgVExTIDEuMyBpcyBlbmFibGVkCisgKiBieSBkZWZhdWx0LCBhbmQgdGhlIFRMUyAxLjMgbGF5ZXIgdXNlcyBQU0EgY3J5cHRvLiBUaGlzIG1lYW5zIHRoYXQKKyAqIGFwcGxpY2F0aW9ucyB0aGF0IGFyZSBub3Qgb3RoZXJ3aXNlIHVzaW5nIFBTQSBjcnlwdG8gYW5kIHRoYXQgd29ya2VkCisgKiB3aXRoIE1iZWQgVExTIDMuNSBzdGFydGVkIGZhaWxpbmcgaW4gVExTIDMuNi4wIGlmIHRoZXkgY29ubmVjdGVkIHRvCisgKiBhIHBlZXIgdGhhdCBzdXBwb3J0cyBUTFMgMS4zLiBTZWUKKyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85MDcyCisgKi8KK2ludCBtYmVkdGxzX3NzbF90bHMxM19jcnlwdG9faW5pdChtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wpOworCiBleHRlcm4gY29uc3QgdWludDhfdCBtYmVkdGxzX3NzbF90bHMxM19oZWxsb19yZXRyeV9yZXF1ZXN0X21hZ2ljWwogICAgIE1CRURUTFNfU0VSVkVSX0hFTExPX1JBTkRPTV9MRU5dOwogTUJFRFRMU19DSEVDS19SRVRVUk5fQ1JJVElDQUwKQEAgLTI5MTQsOCArMjk3MCwzOSBAQAogewogICAgIHNlc3Npb24tPnRpY2tldF9mbGFncyAmPSB+KGZsYWdzICYgTUJFRFRMU19TU0xfVExTMV8zX1RJQ0tFVF9GTEFHU19NQVNLKTsKIH0KKwogI2VuZGlmIC8qIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyAmJiBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgKi8KIAorI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTKSAmJiBkZWZpbmVkKE1CRURUTFNfU1NMX0NMSV9DKQorI2RlZmluZSBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfVExTMV8yX0JJVCAwCisjZGVmaW5lIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19UTFMxXzNfQklUIDEKKworI2RlZmluZSBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfVExTMV8yX01BU0sgXAorICAgICgxIDw8IE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19UTFMxXzJfQklUKQorI2RlZmluZSBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfVExTMV8zX01BU0sgXAorICAgICgxIDw8IE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19UTFMxXzNfQklUKQorCisjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIpCitzdGF0aWMgaW5saW5lIGludCBtYmVkdGxzX3NzbF9jb25mX2dldF9zZXNzaW9uX3RpY2tldHMoCisgICAgY29uc3QgbWJlZHRsc19zc2xfY29uZmlnICpjb25mKQoreworICAgIHJldHVybiBjb25mLT5zZXNzaW9uX3RpY2tldHMgJiBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfVExTMV8yX01BU0sgPworICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfRU5BQkxFRCA6CisgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19ESVNBQkxFRDsKK30KKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIgKi8KKworI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zKQorc3RhdGljIGlubGluZSBpbnQgbWJlZHRsc19zc2xfY29uZl9pc19zaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0c19lbmFibGVkKAorICAgIGNvbnN0IG1iZWR0bHNfc3NsX2NvbmZpZyAqY29uZikKK3sKKyAgICByZXR1cm4gY29uZi0+c2Vzc2lvbl90aWNrZXRzICYgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTX1RMUzFfM19NQVNLID8KKyAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX1NJR05BTF9ORVdfU0VTU0lPTl9USUNLRVRTX0VOQUJMRUQgOgorICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfU0lHTkFMX05FV19TRVNTSU9OX1RJQ0tFVFNfRElTQUJMRUQ7Cit9CisjZW5kaWYgLyogTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zICovCisjZW5kaWYgLyogTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTICYmIE1CRURUTFNfU1NMX0NMSV9DICovCisKICNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX0NMSV9DKSAmJiBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMykKIGludCBtYmVkdGxzX3NzbF90bHMxM19maW5hbGl6ZV9jbGllbnRfaGVsbG8obWJlZHRsc19zc2xfY29udGV4dCAqc3NsKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlicmFyeS9zc2xfbXNnLmMgYi9saWJyYXJ5L3NzbF9tc2cuYwppbmRleCAyYmRhZDg0Li5kY2RhMWQzIDEwMDY0NAotLS0gYS9saWJyYXJ5L3NzbF9tc2cuYworKysgYi9saWJyYXJ5L3NzbF9tc2cuYwpAQCAtNTA2NiwxNSArNTA2Niw5IEBACiAKICNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMykKICAgICAgICAgaWYgKHNzbC0+dGxzX3ZlcnNpb24gPT0gTUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzMpIHsKLSNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUpCi0gICAgICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMSwKKyAgICAgICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiSWdub3JlIENoYW5nZUNpcGhlclNwZWMgaW4gVExTIDEuMyBjb21wYXRpYmlsaXR5IG1vZGUiKSk7CiAgICAgICAgICAgICByZXR1cm4gTUJFRFRMU19FUlJfU1NMX0NPTlRJTlVFX1BST0NFU1NJTkc7Ci0jZWxzZQotICAgICAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJDaGFuZ2VDaXBoZXJTcGVjIGludmFsaWQgaW4gVExTIDEuMyB3aXRob3V0IGNvbXBhdGliaWxpdHkgbW9kZSIpKTsKLSAgICAgICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9TU0xfSU5WQUxJRF9SRUNPUkQ7Ci0jZW5kaWYgLyogTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSAqLwogICAgICAgICB9CiAjZW5kaWYgLyogTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zICovCiAgICAgfQpAQCAtNTU5NSwxMyArNTU4OSwxOSBAQAogICAgICAgICBpZiAoc3NsX3RsczEzX2lzX25ld19zZXNzaW9uX3RpY2tldChzc2wpKSB7CiAjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMpCiAgICAgICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMywgKCJOZXdTZXNzaW9uVGlja2V0IHJlY2VpdmVkIikpOwotICAgICAgICAgICAgc3NsLT5rZWVwX2N1cnJlbnRfbWVzc2FnZSA9IDE7CisgICAgICAgICAgICBpZiAobWJlZHRsc19zc2xfY29uZl9pc19zaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0c19lbmFibGVkKHNzbC0+Y29uZikgPT0KKyAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfU0lHTkFMX05FV19TRVNTSU9OX1RJQ0tFVFNfRU5BQkxFRCkgeworICAgICAgICAgICAgICAgIHNzbC0+a2VlcF9jdXJyZW50X21lc3NhZ2UgPSAxOwogCi0gICAgICAgICAgICBtYmVkdGxzX3NzbF9oYW5kc2hha2Vfc2V0X3N0YXRlKHNzbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX05FV19TRVNTSU9OX1RJQ0tFVCk7Ci0gICAgICAgICAgICByZXR1cm4gTUJFRFRMU19FUlJfU1NMX1dBTlRfUkVBRDsKKyAgICAgICAgICAgICAgICBtYmVkdGxzX3NzbF9oYW5kc2hha2Vfc2V0X3N0YXRlKHNzbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19ORVdfU0VTU0lPTl9USUNLRVQpOworICAgICAgICAgICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9TU0xfV0FOVF9SRUFEOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMywgKCJJZ25vcmluZyBOZXdTZXNzaW9uVGlja2V0LCBoYW5kbGluZyBkaXNhYmxlZC4iKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9CiAjZWxzZQotICAgICAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDMsICgiSWdub3JlIE5ld1Nlc3Npb25UaWNrZXQsIG5vdCBzdXBwb3J0ZWQuIikpOworICAgICAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDMsICgiSWdub3JpbmcgTmV3U2Vzc2lvblRpY2tldCwgbm90IHN1cHBvcnRlZC4iKSk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICNlbmRpZgogICAgICAgICB9CmRpZmYgLS1naXQgYS9saWJyYXJ5L3NzbF90aWNrZXQuYyBiL2xpYnJhcnkvc3NsX3RpY2tldC5jCmluZGV4IDZhMzFiMGIuLmJmYjY1NmMgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvc3NsX3RpY2tldC5jCisrKyBiL2xpYnJhcnkvc3NsX3RpY2tldC5jCkBAIC01MzQsNiArNTM0LDEwIEBACiAgKi8KIHZvaWQgbWJlZHRsc19zc2xfdGlja2V0X2ZyZWUobWJlZHRsc19zc2xfdGlja2V0X2NvbnRleHQgKmN0eCkKIHsKKyAgICBpZiAoY3R4ID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogI2lmIGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykKICAgICBwc2FfZGVzdHJveV9rZXkoY3R4LT5rZXlzWzBdLmtleSk7CiAgICAgcHNhX2Rlc3Ryb3lfa2V5KGN0eC0+a2V5c1sxXS5rZXkpOwpkaWZmIC0tZ2l0IGEvbGlicmFyeS9zc2xfdGxzLmMgYi9saWJyYXJ5L3NzbF90bHMuYwppbmRleCBjMmMyYjZmLi5jNzczMzY1IDEwMDY0NAotLS0gYS9saWJyYXJ5L3NzbF90bHMuYworKysgYi9saWJyYXJ5L3NzbF90bHMuYwpAQCAtMTMyLDcgKzEzMiw3IEBACiAKIGludCBtYmVkdGxzX3NzbF9nZXRfb3duX2NpZChtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICplbmFibGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgb3duX2NpZFtNQkVEVExTX1NTTF9DSURfT1VUX0xFTl9NQVhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgb3duX2NpZFtNQkVEVExTX1NTTF9DSURfSU5fTEVOX01BWF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpvd25fY2lkX2xlbikKIHsKICAgICAqZW5hYmxlZCA9IE1CRURUTFNfU1NMX0NJRF9ESVNBQkxFRDsKQEAgLTEzNTQsMjkgKzEzNTQsNiBAQAogICAgICAgICByZXR1cm4gcmV0OwogICAgIH0KIAotI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zKQotICAgIC8qIFJGQyA4NDQ2IHNlY3Rpb24gNC40LjMKLSAgICAgKgotICAgICAqIElmIHRoZSB2ZXJpZmljYXRpb24gZmFpbHMsIHRoZSByZWNlaXZlciBNVVNUIHRlcm1pbmF0ZSB0aGUgaGFuZHNoYWtlIHdpdGgKLSAgICAgKiBhICJkZWNyeXB0X2Vycm9yIiBhbGVydC4KLSAgICAgKgotICAgICAqIElmIHRoZSBjbGllbnQgaXMgY29uZmlndXJlZCBhcyBUTFMgMS4zIG9ubHkgd2l0aCBvcHRpb25hbCB2ZXJpZnksIHJldHVybgotICAgICAqIGJhZCBjb25maWcuCi0gICAgICoKLSAgICAgKi8KLSAgICBpZiAobWJlZHRsc19zc2xfY29uZl90bHMxM19pc19lcGhlbWVyYWxfZW5hYmxlZCgKLSAgICAgICAgICAgIChtYmVkdGxzX3NzbF9jb250ZXh0ICopIHNzbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYKLSAgICAgICAgc3NsLT5jb25mLT5lbmRwb2ludCA9PSBNQkVEVExTX1NTTF9JU19DTElFTlQgICAgICAgICAgICAgICAgJiYKLSAgICAgICAgc3NsLT5jb25mLT5tYXhfdGxzX3ZlcnNpb24gPT0gTUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzMgICAgJiYKLSAgICAgICAgc3NsLT5jb25mLT5taW5fdGxzX3ZlcnNpb24gPT0gTUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzMgICAgJiYKLSAgICAgICAgc3NsLT5jb25mLT5hdXRobW9kZSA9PSBNQkVEVExTX1NTTF9WRVJJRllfT1BUSU9OQUwpIHsKLSAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKAotICAgICAgICAgICAgMSwgKCJPcHRpb25hbCB2ZXJpZnkgYXV0aCBtb2RlICIKLSAgICAgICAgICAgICAgICAiaXMgbm90IGF2YWlsYWJsZSBmb3IgVExTIDEuMyBjbGllbnQiKSk7Ci0gICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9TU0xfQkFEX0NPTkZJRzsKLSAgICB9Ci0jZW5kaWYgLyogTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zICovCi0KICAgICBpZiAoc3NsLT5jb25mLT5mX3JuZyA9PSBOVUxMKSB7CiAgICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygxLCAoIm5vIFJORyBwcm92aWRlZCIpKTsKICAgICAgICAgcmV0dXJuIE1CRURUTFNfRVJSX1NTTF9OT19STkc7CkBAIC0yMjQzLDYgKzIyMjAsNyBAQAogICAgICAgICBtYmVkdGxzX3plcm9pemVfYW5kX2ZyZWUoc3NsLT5oYW5kc2hha2UtPnBzaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC0+aGFuZHNoYWtlLT5wc2tfbGVuKTsKICAgICAgICAgc3NsLT5oYW5kc2hha2UtPnBza19sZW4gPSAwOworICAgICAgICBzc2wtPmhhbmRzaGFrZS0+cHNrID0gTlVMTDsKICAgICB9CiAjZW5kaWYgLyogTUJFRFRMU19VU0VfUFNBX0NSWVBUTyAqLwogfQpAQCAtMzAwOCwxMSArMjk4NiwyNCBAQAogCiAjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMpCiAjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9DTElfQykKKwogdm9pZCBtYmVkdGxzX3NzbF9jb25mX3Nlc3Npb25fdGlja2V0cyhtYmVkdGxzX3NzbF9jb25maWcgKmNvbmYsIGludCB1c2VfdGlja2V0cykKIHsKLSAgICBjb25mLT5zZXNzaW9uX3RpY2tldHMgPSB1c2VfdGlja2V0czsKKyAgICBjb25mLT5zZXNzaW9uX3RpY2tldHMgJj0gfk1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19UTFMxXzJfTUFTSzsKKyAgICBjb25mLT5zZXNzaW9uX3RpY2tldHMgfD0gKHVzZV90aWNrZXRzICE9IDApIDw8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19UTFMxXzJfQklUOwogfQotI2VuZGlmCisKKyNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMykKK3ZvaWQgbWJlZHRsc19zc2xfY29uZl90bHMxM19lbmFibGVfc2lnbmFsX25ld19zZXNzaW9uX3RpY2tldHMoCisgICAgbWJlZHRsc19zc2xfY29uZmlnICpjb25mLCBpbnQgc2lnbmFsX25ld19zZXNzaW9uX3RpY2tldHMpCit7CisgICAgY29uZi0+c2Vzc2lvbl90aWNrZXRzICY9IH5NQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfVExTMV8zX01BU0s7CisgICAgY29uZi0+c2Vzc2lvbl90aWNrZXRzIHw9IChzaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0cyAhPSAwKSA8PAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfVExTMV8zX0JJVDsKK30KKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgKi8KKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9DTElfQyAqLwogCiAjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TUlZfQykKIApAQCAtNTg3Nyw3ICs1ODY4LDMzIEBACiAgICAgaWYgKGVuZHBvaW50ID09IE1CRURUTFNfU1NMX0lTX0NMSUVOVCkgewogICAgICAgICBjb25mLT5hdXRobW9kZSA9IE1CRURUTFNfU1NMX1ZFUklGWV9SRVFVSVJFRDsKICNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUykKLSAgICAgICAgY29uZi0+c2Vzc2lvbl90aWNrZXRzID0gTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTX0VOQUJMRUQ7CisgICAgICAgIG1iZWR0bHNfc3NsX2NvbmZfc2Vzc2lvbl90aWNrZXRzKGNvbmYsIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19FTkFCTEVEKTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMykKKyAgICAgICAgLyogQ29udHJhcnkgdG8gVExTIDEuMiB0aWNrZXRzLCBUTFMgMS4zIE5ld1Nlc3Npb25UaWNrZXQgbWVzc2FnZQorICAgICAgICAgKiBoYW5kbGluZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGluIE1iZWQgVExTIDMuNi54IGZvciBiYWNrd2FyZAorICAgICAgICAgKiBjb21wYXRpYmlsaXR5IHdpdGggY2xpZW50IGFwcGxpY2F0aW9ucyBkZXZlbG9wZWQgdXNpbmcgTWJlZCBUTFMgMy41CisgICAgICAgICAqIG9yIGVhcmxpZXIgd2l0aCB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLgorICAgICAgICAgKgorICAgICAgICAgKiBVcCB0byBNYmVkIFRMUyAzLjUsIGluIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gVExTIDEuMyB3YXMKKyAgICAgICAgICogZGlzYWJsZWQsIGFuZCBhIE1iZWQgVExTIGNsaWVudCB3aXRoIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gd291bGQKKyAgICAgICAgICogZXN0YWJsaXNoIGEgVExTIDEuMiBjb25uZWN0aW9uIHdpdGggYSBUTFMgMS4yIGFuZCBUTFMgMS4zIGNhcGFibGUKKyAgICAgICAgICogc2VydmVyLgorICAgICAgICAgKgorICAgICAgICAgKiBTdGFydGluZyB3aXRoIE1iZWQgVExTIDMuNi4wLCBUTFMgMS4zIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCwgYW5kIHRodXMKKyAgICAgICAgICogYW4gTWJlZCBUTFMgY2xpZW50IHdpdGggdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBlc3RhYmxpc2hlcyBhCisgICAgICAgICAqIFRMUyAxLjMgY29ubmVjdGlvbiB3aXRoIGEgVExTIDEuMiBhbmQgVExTIDEuMyBjYXBhYmxlIHNlcnZlci4gSWYKKyAgICAgICAgICogZm9sbG93aW5nIHRoZSBoYW5kc2hha2UgdGhlIFRMUyAxLjMgc2VydmVyIHNlbmRzIE5ld1Nlc3Npb25UaWNrZXQKKyAgICAgICAgICogbWVzc2FnZXMgYW5kIHRoZSBNYmVkIFRMUyBjbGllbnQgcHJvY2Vzc2VzIHRoZW0sIHRoaXMgcmVzdWx0cyBpbgorICAgICAgICAgKiBNYmVkIFRMUyBoaWdoIGxldmVsIEFQSXMgKG1iZWR0bHNfc3NsX3JlYWQoKSwKKyAgICAgICAgICogbWJlZHRsc19zc2xfaGFuZHNoYWtlKCksIC4uLikgdG8gZXZlbnR1YWxseSByZXR1cm4gYW4KKyAgICAgICAgICogI01CRURUTFNfRVJSX1NTTF9SRUNFSVZFRF9ORVdfU0VTU0lPTl9USUNLRVQgbm9uIGZhdGFsIGVycm9yIGNvZGUKKyAgICAgICAgICogKHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBtYmVkdGxzX3NzbF9yZWFkKCkgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24KKyAgICAgICAgICogdGhhdCBlcnJvciBjb2RlKS4gQXBwbGljYXRpb25zIHVuYXdhcmUgb2YgdGhhdCBUTFMgMS4zIHNwZWNpZmljIG5vbgorICAgICAgICAgKiBmYXRhbCBlcnJvciBjb2RlIGFyZSB0aGVuIGZhaWxpbmcuCisgICAgICAgICAqLworICAgICAgICBtYmVkdGxzX3NzbF9jb25mX3RsczEzX2VuYWJsZV9zaWduYWxfbmV3X3Nlc3Npb25fdGlja2V0cygKKyAgICAgICAgICAgIGNvbmYsIE1CRURUTFNfU1NMX1RMUzFfM19TSUdOQUxfTkVXX1NFU1NJT05fVElDS0VUU19ESVNBQkxFRCk7CisjZW5kaWYKICNlbmRpZgogICAgIH0KICNlbmRpZgpAQCAtNjAzOSw2ICs2MDU2LDEwIEBACiAgKi8KIHZvaWQgbWJlZHRsc19zc2xfY29uZmlnX2ZyZWUobWJlZHRsc19zc2xfY29uZmlnICpjb25mKQogeworICAgIGlmIChjb25mID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogI2lmIGRlZmluZWQoTUJFRFRMU19ESE1fQykKICAgICBtYmVkdGxzX21waV9mcmVlKCZjb25mLT5kaG1fUCk7CiAgICAgbWJlZHRsc19tcGlfZnJlZSgmY29uZi0+ZGhtX0cpOwpAQCAtNjM1Myw3MSArNjM3NCw2IEBACiB9CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DKQotaW50IG1iZWR0bHNfc3NsX2NoZWNrX2NlcnRfdXNhZ2UoY29uc3QgbWJlZHRsc194NTA5X2NydCAqY2VydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1iZWR0bHNfc3NsX2NpcGhlcnN1aXRlX3QgKmNpcGhlcnN1aXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNlcnRfZW5kcG9pbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZmxhZ3MpCi17Ci0gICAgaW50IHJldCA9IDA7Ci0gICAgdW5zaWduZWQgaW50IHVzYWdlID0gMDsKLSAgICBjb25zdCBjaGFyICpleHRfb2lkOwotICAgIHNpemVfdCBleHRfbGVuOwotCi0gICAgaWYgKGNlcnRfZW5kcG9pbnQgPT0gTUJFRFRMU19TU0xfSVNfU0VSVkVSKSB7Ci0gICAgICAgIC8qIFNlcnZlciBwYXJ0IG9mIHRoZSBrZXkgZXhjaGFuZ2UgKi8KLSAgICAgICAgc3dpdGNoIChjaXBoZXJzdWl0ZS0+a2V5X2V4Y2hhbmdlKSB7Ci0gICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX1JTQToKLSAgICAgICAgICAgIGNhc2UgTUJFRFRMU19LRVlfRVhDSEFOR0VfUlNBX1BTSzoKLSAgICAgICAgICAgICAgICB1c2FnZSA9IE1CRURUTFNfWDUwOV9LVV9LRVlfRU5DSVBIRVJNRU5UOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9SU0E6Ci0gICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1JTQToKLSAgICAgICAgICAgIGNhc2UgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0E6Ci0gICAgICAgICAgICAgICAgdXNhZ2UgPSBNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIGNhc2UgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9SU0E6Ci0gICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfRUNEU0E6Ci0gICAgICAgICAgICAgICAgdXNhZ2UgPSBNQkVEVExTX1g1MDlfS1VfS0VZX0FHUkVFTUVOVDsKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgLyogRG9uJ3QgdXNlIGRlZmF1bHQ6IHdlIHdhbnQgd2FybmluZ3Mgd2hlbiBhZGRpbmcgbmV3IHZhbHVlcyAqLwotICAgICAgICAgICAgY2FzZSBNQkVEVExTX0tFWV9FWENIQU5HRV9OT05FOgotICAgICAgICAgICAgY2FzZSBNQkVEVExTX0tFWV9FWENIQU5HRV9QU0s6Ci0gICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9QU0s6Ci0gICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1BTSzoKLSAgICAgICAgICAgIGNhc2UgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNKUEFLRToKLSAgICAgICAgICAgICAgICB1c2FnZSA9IDA7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICAvKiBDbGllbnQgYXV0aDogd2Ugb25seSBpbXBsZW1lbnQgcnNhX3NpZ24gYW5kIG1iZWR0bHNfZWNkc2Ffc2lnbiBmb3Igbm93ICovCi0gICAgICAgIHVzYWdlID0gTUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFOwotICAgIH0KLQotICAgIGlmIChtYmVkdGxzX3g1MDlfY3J0X2NoZWNrX2tleV91c2FnZShjZXJ0LCB1c2FnZSkgIT0gMCkgewotICAgICAgICAqZmxhZ3MgfD0gTUJFRFRMU19YNTA5X0JBRENFUlRfS0VZX1VTQUdFOwotICAgICAgICByZXQgPSAtMTsKLSAgICB9Ci0KLSAgICBpZiAoY2VydF9lbmRwb2ludCA9PSBNQkVEVExTX1NTTF9JU19TRVJWRVIpIHsKLSAgICAgICAgZXh0X29pZCA9IE1CRURUTFNfT0lEX1NFUlZFUl9BVVRIOwotICAgICAgICBleHRfbGVuID0gTUJFRFRMU19PSURfU0laRShNQkVEVExTX09JRF9TRVJWRVJfQVVUSCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZXh0X29pZCA9IE1CRURUTFNfT0lEX0NMSUVOVF9BVVRIOwotICAgICAgICBleHRfbGVuID0gTUJFRFRMU19PSURfU0laRShNQkVEVExTX09JRF9DTElFTlRfQVVUSCk7Ci0gICAgfQotCi0gICAgaWYgKG1iZWR0bHNfeDUwOV9jcnRfY2hlY2tfZXh0ZW5kZWRfa2V5X3VzYWdlKGNlcnQsIGV4dF9vaWQsIGV4dF9sZW4pICE9IDApIHsKLSAgICAgICAgKmZsYWdzIHw9IE1CRURUTFNfWDUwOV9CQURDRVJUX0VYVF9LRVlfVVNBR0U7Ci0gICAgICAgIHJldCA9IC0xOwotICAgIH0KLQotICAgIHJldHVybiByZXQ7Ci19Ci0jZW5kaWYgLyogTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DICovCi0KICNpZiBkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pCiBpbnQgbWJlZHRsc19zc2xfZ2V0X2hhbmRzaGFrZV90cmFuc2NyaXB0KG1iZWR0bHNfc3NsX2NvbnRleHQgKnNzbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tZF90eXBlX3QgbWQsCkBAIC03OTM2LDE5NiArNzg5Miw2IEBACiAgICAgcmV0dXJuIFNTTF9DRVJUSUZJQ0FURV9FWFBFQ1RFRDsKIH0KIAotTUJFRFRMU19DSEVDS19SRVRVUk5fQ1JJVElDQUwKLXN0YXRpYyBpbnQgc3NsX3BhcnNlX2NlcnRpZmljYXRlX3ZlcmlmeShtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGF1dGhtb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfeDUwOV9jcnQgKmNoYWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnJzX2N0eCkKLXsKLSAgICBpbnQgcmV0ID0gMDsKLSAgICBjb25zdCBtYmVkdGxzX3NzbF9jaXBoZXJzdWl0ZV90ICpjaXBoZXJzdWl0ZV9pbmZvID0KLSAgICAgICAgc3NsLT5oYW5kc2hha2UtPmNpcGhlcnN1aXRlX2luZm87Ci0gICAgaW50IGhhdmVfY2FfY2hhaW4gPSAwOwotCi0gICAgaW50ICgqZl92cmZ5KSh2b2lkICosIG1iZWR0bHNfeDUwOV9jcnQgKiwgaW50LCB1aW50MzJfdCAqKTsKLSAgICB2b2lkICpwX3ZyZnk7Ci0KLSAgICBpZiAoYXV0aG1vZGUgPT0gTUJFRFRMU19TU0xfVkVSSUZZX05PTkUpIHsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgaWYgKHNzbC0+Zl92cmZ5ICE9IE5VTEwpIHsKLSAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDMsICgiVXNlIGNvbnRleHQtc3BlY2lmaWMgdmVyaWZpY2F0aW9uIGNhbGxiYWNrIikpOwotICAgICAgICBmX3ZyZnkgPSBzc2wtPmZfdnJmeTsKLSAgICAgICAgcF92cmZ5ID0gc3NsLT5wX3ZyZnk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDMsICgiVXNlIGNvbmZpZ3VyYXRpb24tc3BlY2lmaWMgdmVyaWZpY2F0aW9uIGNhbGxiYWNrIikpOwotICAgICAgICBmX3ZyZnkgPSBzc2wtPmNvbmYtPmZfdnJmeTsKLSAgICAgICAgcF92cmZ5ID0gc3NsLT5jb25mLT5wX3ZyZnk7Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBNYWluIGNoZWNrOiB2ZXJpZnkgY2VydGlmaWNhdGUKLSAgICAgKi8KLSNpZiBkZWZpbmVkKE1CRURUTFNfWDUwOV9UUlVTVEVEX0NFUlRJRklDQVRFX0NBTExCQUNLKQotICAgIGlmIChzc2wtPmNvbmYtPmZfY2FfY2IgIT0gTlVMTCkgewotICAgICAgICAoKHZvaWQpIHJzX2N0eCk7Ci0gICAgICAgIGhhdmVfY2FfY2hhaW4gPSAxOwotCi0gICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygzLCAoInVzZSBDQSBjYWxsYmFjayBmb3IgWC41MDkgQ1JUIHZlcmlmaWNhdGlvbiIpKTsKLSAgICAgICAgcmV0ID0gbWJlZHRsc194NTA5X2NydF92ZXJpZnlfd2l0aF9jYV9jYigKLSAgICAgICAgICAgIGNoYWluLAotICAgICAgICAgICAgc3NsLT5jb25mLT5mX2NhX2NiLAotICAgICAgICAgICAgc3NsLT5jb25mLT5wX2NhX2NiLAotICAgICAgICAgICAgc3NsLT5jb25mLT5jZXJ0X3Byb2ZpbGUsCi0gICAgICAgICAgICBzc2wtPmhvc3RuYW1lLAotICAgICAgICAgICAgJnNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQsCi0gICAgICAgICAgICBmX3ZyZnksIHBfdnJmeSk7Ci0gICAgfSBlbHNlCi0jZW5kaWYgLyogTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0sgKi8KLSAgICB7Ci0gICAgICAgIG1iZWR0bHNfeDUwOV9jcnQgKmNhX2NoYWluOwotICAgICAgICBtYmVkdGxzX3g1MDlfY3JsICpjYV9jcmw7Ci0KLSNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1NFUlZFUl9OQU1FX0lORElDQVRJT04pCi0gICAgICAgIGlmIChzc2wtPmhhbmRzaGFrZS0+c25pX2NhX2NoYWluICE9IE5VTEwpIHsKLSAgICAgICAgICAgIGNhX2NoYWluID0gc3NsLT5oYW5kc2hha2UtPnNuaV9jYV9jaGFpbjsKLSAgICAgICAgICAgIGNhX2NybCAgID0gc3NsLT5oYW5kc2hha2UtPnNuaV9jYV9jcmw7Ci0gICAgICAgIH0gZWxzZQotI2VuZGlmCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNhX2NoYWluID0gc3NsLT5jb25mLT5jYV9jaGFpbjsKLSAgICAgICAgICAgIGNhX2NybCAgID0gc3NsLT5jb25mLT5jYV9jcmw7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoY2FfY2hhaW4gIT0gTlVMTCkgewotICAgICAgICAgICAgaGF2ZV9jYV9jaGFpbiA9IDE7Ci0gICAgICAgIH0KLQotICAgICAgICByZXQgPSBtYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9yZXN0YXJ0YWJsZSgKLSAgICAgICAgICAgIGNoYWluLAotICAgICAgICAgICAgY2FfY2hhaW4sIGNhX2NybCwKLSAgICAgICAgICAgIHNzbC0+Y29uZi0+Y2VydF9wcm9maWxlLAotICAgICAgICAgICAgc3NsLT5ob3N0bmFtZSwKLSAgICAgICAgICAgICZzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0LAotICAgICAgICAgICAgZl92cmZ5LCBwX3ZyZnksIHJzX2N0eCk7Ci0gICAgfQotCi0gICAgaWYgKHJldCAhPSAwKSB7Ci0gICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX1JFVCgxLCAieDUwOV92ZXJpZnlfY2VydCIsIHJldCk7Ci0gICAgfQotCi0jaWYgZGVmaW5lZChNQkVEVExTX1NTTF9FQ1BfUkVTVEFSVEFCTEVfRU5BQkxFRCkKLSAgICBpZiAocmV0ID09IE1CRURUTFNfRVJSX0VDUF9JTl9QUk9HUkVTUykgewotICAgICAgICByZXR1cm4gTUJFRFRMU19FUlJfU1NMX0NSWVBUT19JTl9QUk9HUkVTUzsKLSAgICB9Ci0jZW5kaWYKLQotICAgIC8qCi0gICAgICogU2Vjb25kYXJ5IGNoZWNrczogYWx3YXlzIGRvbmUsIGJ1dCBjaGFuZ2UgJ3JldCcgb25seSBpZiBpdCB3YXMgMAotICAgICAqLwotCi0jaWYgZGVmaW5lZChNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVMpCi0gICAgewotICAgICAgICBjb25zdCBtYmVkdGxzX3BrX2NvbnRleHQgKnBrID0gJmNoYWluLT5wazsKLQotICAgICAgICAvKiBJZiBjZXJ0aWZpY2F0ZSB1c2VzIGFuIEVDIGtleSwgbWFrZSBzdXJlIHRoZSBjdXJ2ZSBpcyBPSy4KLSAgICAgICAgICogVGhpcyBpcyBhIHB1YmxpYyBrZXksIHNvIGl0IGNhbid0IGJlIG9wYXF1ZSwgc28gY2FuX2RvKCkgaXMgYSBnb29kCi0gICAgICAgICAqIGVub3VnaCBjaGVjayB0byBlbnN1cmUgcGtfZWMoKSBpcyBzYWZlIHRvIHVzZSBoZXJlLiAqLwotICAgICAgICBpZiAobWJlZHRsc19wa19jYW5fZG8ocGssIE1CRURUTFNfUEtfRUNLRVkpKSB7Ci0gICAgICAgICAgICAvKiBhbmQgaW4gdGhlIHVubGlrZWx5IGNhc2UgdGhlIGFib3ZlIGFzc3VtcHRpb24gbm8gbG9uZ2VyIGhvbGRzCi0gICAgICAgICAgICAgKiB3ZSBhcmUgbWFraW5nIHN1cmUgdGhhdCBwa19lYygpIGhlcmUgZG9lcyBub3QgcmV0dXJuIGEgTlVMTAotICAgICAgICAgICAgICovCi0gICAgICAgICAgICBtYmVkdGxzX2VjcF9ncm91cF9pZCBncnBfaWQgPSBtYmVkdGxzX3BrX2dldF9lY19ncm91cF9pZChwayk7Ci0gICAgICAgICAgICBpZiAoZ3JwX2lkID09IE1CRURUTFNfRUNQX0RQX05PTkUpIHsKLSAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMSwgKCJpbnZhbGlkIGdyb3VwIElEIikpOwotICAgICAgICAgICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9TU0xfSU5URVJOQUxfRVJST1I7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAobWJlZHRsc19zc2xfY2hlY2tfY3VydmUoc3NsLCBncnBfaWQpICE9IDApIHsKLSAgICAgICAgICAgICAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0IHw9Ci0gICAgICAgICAgICAgICAgICAgIE1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9LRVk7Ci0KLSAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMSwgKCJiYWQgY2VydGlmaWNhdGUgKEVDIGtleSBjdXJ2ZSkiKSk7Ci0gICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldCA9IE1CRURUTFNfRVJSX1NTTF9CQURfQ0VSVElGSUNBVEU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotI2VuZGlmIC8qIE1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUyAqLwotCi0gICAgaWYgKG1iZWR0bHNfc3NsX2NoZWNrX2NlcnRfdXNhZ2UoY2hhaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2lwaGVyc3VpdGVfaW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhc3NsLT5jb25mLT5lbmRwb2ludCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCkgIT0gMCkgewotICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMSwgKCJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIikpOwotICAgICAgICBpZiAocmV0ID09IDApIHsKLSAgICAgICAgICAgIHJldCA9IE1CRURUTFNfRVJSX1NTTF9CQURfQ0VSVElGSUNBVEU7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvKiBtYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV93aXRoX3Byb2ZpbGUgaXMgc3VwcG9zZWQgdG8gcmVwb3J0IGEKLSAgICAgKiB2ZXJpZmljYXRpb24gZmFpbHVyZSB0aHJvdWdoIE1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVELAotICAgICAqIHdpdGggZGV0YWlscyBlbmNvZGVkIGluIHRoZSB2ZXJpZmljYXRpb24gZmxhZ3MuIEFsbCBvdGhlciBraW5kcwotICAgICAqIG9mIGVycm9yIGNvZGVzLCBpbmNsdWRpbmcgdGhvc2UgZnJvbSB0aGUgdXNlciBwcm92aWRlZCBmX3ZyZnkKLSAgICAgKiBmdW5jdGlvbnMsIGFyZSB0cmVhdGVkIGFzIGZhdGFsIGFuZCBsZWFkIHRvIGEgZmFpbHVyZSBvZgotICAgICAqIHNzbF9wYXJzZV9jZXJ0aWZpY2F0ZSBldmVuIGlmIHZlcmlmaWNhdGlvbiB3YXMgb3B0aW9uYWwuICovCi0gICAgaWYgKGF1dGhtb2RlID09IE1CRURUTFNfU1NMX1ZFUklGWV9PUFRJT05BTCAmJgotICAgICAgICAocmV0ID09IE1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEIHx8Ci0gICAgICAgICByZXQgPT0gTUJFRFRMU19FUlJfU1NMX0JBRF9DRVJUSUZJQ0FURSkpIHsKLSAgICAgICAgcmV0ID0gMDsKLSAgICB9Ci0KLSAgICBpZiAoaGF2ZV9jYV9jaGFpbiA9PSAwICYmIGF1dGhtb2RlID09IE1CRURUTFNfU1NMX1ZFUklGWV9SRVFVSVJFRCkgewotICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMSwgKCJnb3Qgbm8gQ0EgY2hhaW4iKSk7Ci0gICAgICAgIHJldCA9IE1CRURUTFNfRVJSX1NTTF9DQV9DSEFJTl9SRVFVSVJFRDsKLSAgICB9Ci0KLSAgICBpZiAocmV0ICE9IDApIHsKLSAgICAgICAgdWludDhfdCBhbGVydDsKLQotICAgICAgICAvKiBUaGUgY2VydGlmaWNhdGUgbWF5IGhhdmUgYmVlbiByZWplY3RlZCBmb3Igc2V2ZXJhbCByZWFzb25zLgotICAgICAgICAgICBQaWNrIG9uZSBhbmQgc2VuZCB0aGUgY29ycmVzcG9uZGluZyBhbGVydC4gV2hpY2ggYWxlcnQgdG8gc2VuZAotICAgICAgICAgICBtYXkgYmUgYSBzdWJqZWN0IG9mIGRlYmF0ZSBpbiBzb21lIGNhc2VzLiAqLwotICAgICAgICBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX09USEVSKSB7Ci0gICAgICAgICAgICBhbGVydCA9IE1CRURUTFNfU1NMX0FMRVJUX01TR19BQ0NFU1NfREVOSUVEOwotICAgICAgICB9IGVsc2UgaWYgKHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQgJiBNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSCkgewotICAgICAgICAgICAgYWxlcnQgPSBNQkVEVExTX1NTTF9BTEVSVF9NU0dfQkFEX0NFUlQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX0tFWV9VU0FHRSkgewotICAgICAgICAgICAgYWxlcnQgPSBNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5TVVBQT1JURURfQ0VSVDsKLSAgICAgICAgfSBlbHNlIGlmIChzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0ICYgTUJFRFRMU19YNTA5X0JBRENFUlRfRVhUX0tFWV9VU0FHRSkgewotICAgICAgICAgICAgYWxlcnQgPSBNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5TVVBQT1JURURfQ0VSVDsKLSAgICAgICAgfSBlbHNlIGlmIChzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0ICYgTUJFRFRMU19YNTA5X0JBRENFUlRfTlNfQ0VSVF9UWVBFKSB7Ci0gICAgICAgICAgICBhbGVydCA9IE1CRURUTFNfU1NMX0FMRVJUX01TR19VTlNVUFBPUlRFRF9DRVJUOwotICAgICAgICB9IGVsc2UgaWYgKHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQgJiBNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEspIHsKLSAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9LRVkpIHsKLSAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX0VYUElSRUQpIHsKLSAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX0NFUlRfRVhQSVJFRDsKLSAgICAgICAgfSBlbHNlIGlmIChzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0ICYgTUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRCkgewotICAgICAgICAgICAgYWxlcnQgPSBNQkVEVExTX1NTTF9BTEVSVF9NU0dfQ0VSVF9SRVZPS0VEOwotICAgICAgICB9IGVsc2UgaWYgKHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQgJiBNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRCkgewotICAgICAgICAgICAgYWxlcnQgPSBNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5LTk9XTl9DQTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX0NFUlRfVU5LTk9XTjsKLSAgICAgICAgfQotICAgICAgICBtYmVkdGxzX3NzbF9zZW5kX2FsZXJ0X21lc3NhZ2Uoc3NsLCBNQkVEVExTX1NTTF9BTEVSVF9MRVZFTF9GQVRBTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KTsKLSAgICB9Ci0KLSNpZiBkZWZpbmVkKE1CRURUTFNfREVCVUdfQykKLSAgICBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAhPSAwKSB7Ci0gICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygzLCAoIiEgQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZsYWdzICUwOHgiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBpbnQpIHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQpKTsKLSAgICB9IGVsc2UgewotICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMywgKCJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmxhZ3MgY2xlYXIiKSk7Ci0gICAgfQotI2VuZGlmIC8qIE1CRURUTFNfREVCVUdfQyAqLwotCi0gICAgcmV0dXJuIHJldDsKLX0KLQogI2lmICFkZWZpbmVkKE1CRURUTFNfU1NMX0tFRVBfUEVFUl9DRVJUSUZJQ0FURSkKIE1CRURUTFNfQ0hFQ0tfUkVUVVJOX0NSSVRJQ0FMCiBzdGF0aWMgaW50IHNzbF9yZW1lbWJlcl9wZWVyX2NydF9kaWdlc3QobWJlZHRsc19zc2xfY29udGV4dCAqc3NsLApAQCAtODE4Miw2ICs3OTQ4LDcgQEAKIHsKICAgICBpbnQgcmV0ID0gMDsKICAgICBpbnQgY3J0X2V4cGVjdGVkOworICAgIC8qIEF1dGhtb2RlOiBwcmVjZWRlbmNlIG9yZGVyIGlzIFNOSSBpZiB1c2VkIGVsc2UgY29uZmlndXJhdGlvbiAqLwogI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfU1JWX0MpICYmIGRlZmluZWQoTUJFRFRMU19TU0xfU0VSVkVSX05BTUVfSU5ESUNBVElPTikKICAgICBjb25zdCBpbnQgYXV0aG1vZGUgPSBzc2wtPmhhbmRzaGFrZS0+c25pX2F1dGhtb2RlICE9IE1CRURUTFNfU1NMX1ZFUklGWV9VTlNFVAogICAgICAgICAgICAgICAgICAgICAgICA/IHNzbC0+aGFuZHNoYWtlLT5zbmlfYXV0aG1vZGUKQEAgLTgyNjEsOCArODAyOCw5IEBACiAgICAgfQogI2VuZGlmCiAKLSAgICByZXQgPSBzc2xfcGFyc2VfY2VydGlmaWNhdGVfdmVyaWZ5KHNzbCwgYXV0aG1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFpbiwgcnNfY3R4KTsKKyAgICByZXQgPSBtYmVkdGxzX3NzbF92ZXJpZnlfY2VydGlmaWNhdGUoc3NsLCBhdXRobW9kZSwgY2hhaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC0+aGFuZHNoYWtlLT5jaXBoZXJzdWl0ZV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc19jdHgpOwogICAgIGlmIChyZXQgIT0gMCkgewogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQpAQCAtOTkyOCw0ICs5Njk2LDI3NCBAQAogICAgIHJldHVybiAwOwogfQogI2VuZGlmIC8qIE1CRURUTFNfU1NMX1NSVl9DICYmIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEgJiYgTUJFRFRMU19TU0xfQUxQTiAqLworCisvKgorICogVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHVzZWQgYnkgMS4yIGFuZCAxLjMsIGNsaWVudCBhbmQgc2VydmVyLgorICovCisjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9IQU5EU0hBS0VfV0lUSF9DRVJUX0VOQUJMRUQpCitpbnQgbWJlZHRsc19zc2xfY2hlY2tfY2VydF91c2FnZShjb25zdCBtYmVkdGxzX3g1MDlfY3J0ICpjZXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19zc2xfY2lwaGVyc3VpdGVfdCAqY2lwaGVyc3VpdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVjdl9lbmRwb2ludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfc3NsX3Byb3RvY29sX3ZlcnNpb24gdGxzX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZmxhZ3MpCit7CisgICAgaW50IHJldCA9IDA7CisgICAgdW5zaWduZWQgaW50IHVzYWdlID0gMDsKKyAgICBjb25zdCBjaGFyICpleHRfb2lkOworICAgIHNpemVfdCBleHRfbGVuOworCisgICAgLyoKKyAgICAgKiBrZXlVc2FnZQorICAgICAqLworCisgICAgLyogTm90ZTogZG9uJ3QgZ3VhcmQgdGhpcyB3aXRoIE1CRURUTFNfU1NMX0NMSV9DIGJlY2F1c2UgdGhlIHNlcnZlciB3YW50cworICAgICAqIHRvIGNoZWNrIHdoYXQgYSBjb21wbGlhbnQgY2xpZW50IHdpbGwgdGhpbmsgd2hpbGUgY2hvb3Npbmcgd2hpY2ggY2VydAorICAgICAqIHRvIHNlbmQgdG8gdGhlIGNsaWVudC4gKi8KKyNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMikKKyAgICBpZiAodGxzX3ZlcnNpb24gPT0gTUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIgJiYKKyAgICAgICAgcmVjdl9lbmRwb2ludCA9PSBNQkVEVExTX1NTTF9JU19DTElFTlQpIHsKKyAgICAgICAgLyogVExTIDEuMiBzZXJ2ZXIgcGFydCBvZiB0aGUga2V5IGV4Y2hhbmdlICovCisgICAgICAgIHN3aXRjaCAoY2lwaGVyc3VpdGUtPmtleV9leGNoYW5nZSkgeworICAgICAgICAgICAgY2FzZSBNQkVEVExTX0tFWV9FWENIQU5HRV9SU0E6CisgICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX1JTQV9QU0s6CisgICAgICAgICAgICAgICAgdXNhZ2UgPSBNQkVEVExTX1g1MDlfS1VfS0VZX0VOQ0lQSEVSTUVOVDsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBNQkVEVExTX0tFWV9FWENIQU5HRV9ESEVfUlNBOgorICAgICAgICAgICAgY2FzZSBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9SU0E6CisgICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBOgorICAgICAgICAgICAgICAgIHVzYWdlID0gTUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfUlNBOgorICAgICAgICAgICAgY2FzZSBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBOgorICAgICAgICAgICAgICAgIHVzYWdlID0gTUJFRFRMU19YNTA5X0tVX0tFWV9BR1JFRU1FTlQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIC8qIERvbid0IHVzZSBkZWZhdWx0OiB3ZSB3YW50IHdhcm5pbmdzIHdoZW4gYWRkaW5nIG5ldyB2YWx1ZXMgKi8KKyAgICAgICAgICAgIGNhc2UgTUJFRFRMU19LRVlfRVhDSEFOR0VfTk9ORToKKyAgICAgICAgICAgIGNhc2UgTUJFRFRMU19LRVlfRVhDSEFOR0VfUFNLOgorICAgICAgICAgICAgY2FzZSBNQkVEVExTX0tFWV9FWENIQU5HRV9ESEVfUFNLOgorICAgICAgICAgICAgY2FzZSBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9QU0s6CisgICAgICAgICAgICBjYXNlIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDSlBBS0U6CisgICAgICAgICAgICAgICAgdXNhZ2UgPSAwOworICAgICAgICB9CisgICAgfSBlbHNlCisjZW5kaWYKKyAgICB7CisgICAgICAgIC8qIFRoaXMgaXMgZWl0aGVyIFRMUyAxLjMgYXV0aGVudGljYXRpb24sIHdoaWNoIGFsd2F5cyB1c2VzIHNpZ25hdHVyZXMsCisgICAgICAgICAqIG9yIDEuMiBjbGllbnQgYXV0aDogcnNhX3NpZ24gYW5kIG1iZWR0bHNfZWNkc2Ffc2lnbiBhcmUgdGhlIG9ubHkKKyAgICAgICAgICogb3B0aW9ucyB3ZSBpbXBsZW1lbnQsIGJvdGggdXNpbmcgc2lnbmF0dXJlcy4gKi8KKyAgICAgICAgKHZvaWQpIHRsc192ZXJzaW9uOworICAgICAgICAodm9pZCkgY2lwaGVyc3VpdGU7CisgICAgICAgIHVzYWdlID0gTUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFOworICAgIH0KKworICAgIGlmIChtYmVkdGxzX3g1MDlfY3J0X2NoZWNrX2tleV91c2FnZShjZXJ0LCB1c2FnZSkgIT0gMCkgeworICAgICAgICAqZmxhZ3MgfD0gTUJFRFRMU19YNTA5X0JBRENFUlRfS0VZX1VTQUdFOworICAgICAgICByZXQgPSAtMTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGV4dEtleVVzYWdlCisgICAgICovCisKKyAgICBpZiAocmVjdl9lbmRwb2ludCA9PSBNQkVEVExTX1NTTF9JU19DTElFTlQpIHsKKyAgICAgICAgZXh0X29pZCA9IE1CRURUTFNfT0lEX1NFUlZFUl9BVVRIOworICAgICAgICBleHRfbGVuID0gTUJFRFRMU19PSURfU0laRShNQkVEVExTX09JRF9TRVJWRVJfQVVUSCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZXh0X29pZCA9IE1CRURUTFNfT0lEX0NMSUVOVF9BVVRIOworICAgICAgICBleHRfbGVuID0gTUJFRFRMU19PSURfU0laRShNQkVEVExTX09JRF9DTElFTlRfQVVUSCk7CisgICAgfQorCisgICAgaWYgKG1iZWR0bHNfeDUwOV9jcnRfY2hlY2tfZXh0ZW5kZWRfa2V5X3VzYWdlKGNlcnQsIGV4dF9vaWQsIGV4dF9sZW4pICE9IDApIHsKKyAgICAgICAgKmZsYWdzIHw9IE1CRURUTFNfWDUwOV9CQURDRVJUX0VYVF9LRVlfVVNBR0U7CisgICAgICAgIHJldCA9IC0xOworICAgIH0KKworICAgIHJldHVybiByZXQ7Cit9CisKK2ludCBtYmVkdGxzX3NzbF92ZXJpZnlfY2VydGlmaWNhdGUobWJlZHRsc19zc2xfY29udGV4dCAqc3NsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXV0aG1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfeDUwOV9jcnQgKmNoYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYmVkdGxzX3NzbF9jaXBoZXJzdWl0ZV90ICpjaXBoZXJzdWl0ZV9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpyc19jdHgpCit7CisgICAgaWYgKGF1dGhtb2RlID09IE1CRURUTFNfU1NMX1ZFUklGWV9OT05FKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8qCisgICAgICogUHJpbWFyeSBjaGVjazogdXNlIHRoZSBhcHByb3ByaWF0ZSBYLjUwOSB2ZXJpZmljYXRpb24gZnVuY3Rpb24KKyAgICAgKi8KKyAgICBpbnQgKCpmX3ZyZnkpKHZvaWQgKiwgbWJlZHRsc194NTA5X2NydCAqLCBpbnQsIHVpbnQzMl90ICopOworICAgIHZvaWQgKnBfdnJmeTsKKyAgICBpZiAoc3NsLT5mX3ZyZnkgIT0gTlVMTCkgeworICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMywgKCJVc2UgY29udGV4dC1zcGVjaWZpYyB2ZXJpZmljYXRpb24gY2FsbGJhY2siKSk7CisgICAgICAgIGZfdnJmeSA9IHNzbC0+Zl92cmZ5OworICAgICAgICBwX3ZyZnkgPSBzc2wtPnBfdnJmeTsKKyAgICB9IGVsc2UgeworICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMywgKCJVc2UgY29uZmlndXJhdGlvbi1zcGVjaWZpYyB2ZXJpZmljYXRpb24gY2FsbGJhY2siKSk7CisgICAgICAgIGZfdnJmeSA9IHNzbC0+Y29uZi0+Zl92cmZ5OworICAgICAgICBwX3ZyZnkgPSBzc2wtPmNvbmYtPnBfdnJmeTsKKyAgICB9CisKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQgaGF2ZV9jYV9jaGFpbl9vcl9jYWxsYmFjayA9IDA7CisjaWYgZGVmaW5lZChNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSykKKyAgICBpZiAoc3NsLT5jb25mLT5mX2NhX2NiICE9IE5VTEwpIHsKKyAgICAgICAgKCh2b2lkKSByc19jdHgpOworICAgICAgICBoYXZlX2NhX2NoYWluX29yX2NhbGxiYWNrID0gMTsKKworICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMywgKCJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iKSk7CisgICAgICAgIHJldCA9IG1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X3dpdGhfY2FfY2IoCisgICAgICAgICAgICBjaGFpbiwKKyAgICAgICAgICAgIHNzbC0+Y29uZi0+Zl9jYV9jYiwKKyAgICAgICAgICAgIHNzbC0+Y29uZi0+cF9jYV9jYiwKKyAgICAgICAgICAgIHNzbC0+Y29uZi0+Y2VydF9wcm9maWxlLAorICAgICAgICAgICAgc3NsLT5ob3N0bmFtZSwKKyAgICAgICAgICAgICZzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0LAorICAgICAgICAgICAgZl92cmZ5LCBwX3ZyZnkpOworICAgIH0gZWxzZQorI2VuZGlmIC8qIE1CRURUTFNfWDUwOV9UUlVTVEVEX0NFUlRJRklDQVRFX0NBTExCQUNLICovCisgICAgeworICAgICAgICBtYmVkdGxzX3g1MDlfY3J0ICpjYV9jaGFpbjsKKyAgICAgICAgbWJlZHRsc194NTA5X2NybCAqY2FfY3JsOworI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfU0VSVkVSX05BTUVfSU5ESUNBVElPTikKKyAgICAgICAgaWYgKHNzbC0+aGFuZHNoYWtlLT5zbmlfY2FfY2hhaW4gIT0gTlVMTCkgeworICAgICAgICAgICAgY2FfY2hhaW4gPSBzc2wtPmhhbmRzaGFrZS0+c25pX2NhX2NoYWluOworICAgICAgICAgICAgY2FfY3JsICAgPSBzc2wtPmhhbmRzaGFrZS0+c25pX2NhX2NybDsKKyAgICAgICAgfSBlbHNlCisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgY2FfY2hhaW4gPSBzc2wtPmNvbmYtPmNhX2NoYWluOworICAgICAgICAgICAgY2FfY3JsICAgPSBzc2wtPmNvbmYtPmNhX2NybDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjYV9jaGFpbiAhPSBOVUxMKSB7CisgICAgICAgICAgICBoYXZlX2NhX2NoYWluX29yX2NhbGxiYWNrID0gMTsKKyAgICAgICAgfQorCisgICAgICAgIHJldCA9IG1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X3Jlc3RhcnRhYmxlKAorICAgICAgICAgICAgY2hhaW4sCisgICAgICAgICAgICBjYV9jaGFpbiwgY2FfY3JsLAorICAgICAgICAgICAgc3NsLT5jb25mLT5jZXJ0X3Byb2ZpbGUsCisgICAgICAgICAgICBzc2wtPmhvc3RuYW1lLAorICAgICAgICAgICAgJnNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQsCisgICAgICAgICAgICBmX3ZyZnksIHBfdnJmeSwgcnNfY3R4KTsKKyAgICB9CisKKyAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfUkVUKDEsICJ4NTA5X3ZlcmlmeV9jZXJ0IiwgcmV0KTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX0VDUF9SRVNUQVJUQUJMRV9FTkFCTEVEKQorICAgIGlmIChyZXQgPT0gTUJFRFRMU19FUlJfRUNQX0lOX1BST0dSRVNTKSB7CisgICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9TU0xfQ1JZUFRPX0lOX1BST0dSRVNTOworICAgIH0KKyNlbmRpZgorCisgICAgLyoKKyAgICAgKiBTZWNvbmRhcnkgY2hlY2tzOiBhbHdheXMgZG9uZSwgYnV0IGNoYW5nZSAncmV0JyBvbmx5IGlmIGl0IHdhcyAwCisgICAgICovCisKKyAgICAvKiBXaXRoIFRMUyAxLjIgYW5kIEVDQyBjZXJ0cywgY2hlY2sgdGhhdCB0aGUgY3VydmUgdXNlZCBieSB0aGUKKyAgICAgKiBjZXJ0aWZpY2F0ZSBpcyBvbiBvdXIgbGlzdCBvZiBhY2NlcHRhYmxlIGN1cnZlcy4KKyAgICAgKgorICAgICAqIFdpdGggVExTIDEuMyB0aGlzIGlzIG5vdCBuZWVkZWQgYmVjYXVzZSB0aGUgY3VydmUgaXMgcGFydCBvZiB0aGUKKyAgICAgKiBzaWduYXR1cmUgYWxnb3JpdGhtIChlZyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2KSB3aGljaCBpcyBjaGVja2VkIHdoZW4KKyAgICAgKiB3ZSB2YWxpZGF0ZSB0aGUgc2lnbmF0dXJlIG1hZGUgd2l0aCB0aGUga2V5IGFzc29jaWF0ZWQgdG8gdGhpcyBjZXJ0LgorICAgICAqLworI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yKSAmJiBcCisgICAgZGVmaW5lZChNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVMpCisgICAgaWYgKHNzbC0+dGxzX3ZlcnNpb24gPT0gTUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIgJiYKKyAgICAgICAgbWJlZHRsc19wa19jYW5fZG8oJmNoYWluLT5waywgTUJFRFRMU19QS19FQ0tFWSkpIHsKKyAgICAgICAgaWYgKG1iZWR0bHNfc3NsX2NoZWNrX2N1cnZlKHNzbCwgbWJlZHRsc19wa19nZXRfZWNfZ3JvdXBfaWQoJmNoYWluLT5waykpICE9IDApIHsKKyAgICAgICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygxLCAoImJhZCBjZXJ0aWZpY2F0ZSAoRUMga2V5IGN1cnZlKSIpKTsKKyAgICAgICAgICAgIHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQgfD0gTUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX0tFWTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgIHJldCA9IE1CRURUTFNfRVJSX1NTTF9CQURfQ0VSVElGSUNBVEU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYgLyogTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yICYmIE1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUyAqLworCisgICAgLyogQ2hlY2sgWC41MDkgdXNhZ2UgZXh0ZW5zaW9ucyAoa2V5VXNhZ2UsIGV4dEtleVVzYWdlKSAqLworICAgIGlmIChtYmVkdGxzX3NzbF9jaGVja19jZXJ0X3VzYWdlKGNoYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpcGhlcnN1aXRlX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLT5jb25mLT5lbmRwb2ludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2wtPnRsc192ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0KSAhPSAwKSB7CisgICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygxLCAoImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiKSk7CisgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgcmV0ID0gTUJFRFRMU19FUlJfU1NMX0JBRF9DRVJUSUZJQ0FURTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFdpdGggYXV0aG1vZGUgb3B0aW9uYWwsIHdlIHdhbnQgdG8ga2VlcCBnb2luZyBpZiB0aGUgY2VydGlmaWNhdGUgd2FzCisgICAgICogdW5hY2NlcHRhYmxlLCBidXQgc3RpbGwgZmFpbCBvbiBvdGhlciBlcnJvcnMgKG91dCBvZiBtZW1vcnkgZXRjKSwKKyAgICAgKiBpbmNsdWRpbmcgZmF0YWwgZXJyb3JzIGZyb20gdGhlIGZfdnJmeSBjYWxsYmFjay4KKyAgICAgKgorICAgICAqIFRoZSBvbmx5IGFjY2VwdGFibGUgZXJyb3JzIGFyZToKKyAgICAgKiAtIE1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiBjZXJ0IHJlamVjdGVkIGJ5IHByaW1hcnkgY2hlY2s7CisgICAgICogLSBNQkVEVExTX0VSUl9TU0xfQkFEX0NFUlRJRklDQVRFOiBjZXJ0IHJlamVjdGVkIGJ5IHNlY29uZGFyeSBjaGVja3MuCisgICAgICogQW55dGhpbmcgZWxzZSBpcyBhIGZhdGFsIGVycm9yLiAqLworICAgIGlmIChhdXRobW9kZSA9PSBNQkVEVExTX1NTTF9WRVJJRllfT1BUSU9OQUwgJiYKKyAgICAgICAgKHJldCA9PSBNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRCB8fAorICAgICAgICAgcmV0ID09IE1CRURUTFNfRVJSX1NTTF9CQURfQ0VSVElGSUNBVEUpKSB7CisgICAgICAgIHJldCA9IDA7CisgICAgfQorCisgICAgLyogUmV0dXJuIGEgc3BlY2lmaWMgZXJyb3IgYXMgdGhpcyBpcyBhIHVzZXIgZXJyb3I6IGluY29uc2lzdGVudAorICAgICAqIGNvbmZpZ3VyYXRpb24gLSBjYW4ndCB2ZXJpZnkgd2l0aG91dCB0cnVzdCBhbmNob3JzLiAqLworICAgIGlmIChoYXZlX2NhX2NoYWluX29yX2NhbGxiYWNrID09IDAgJiYgYXV0aG1vZGUgPT0gTUJFRFRMU19TU0xfVkVSSUZZX1JFUVVJUkVEKSB7CisgICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygxLCAoImdvdCBubyBDQSBjaGFpbiIpKTsKKyAgICAgICAgcmV0ID0gTUJFRFRMU19FUlJfU1NMX0NBX0NIQUlOX1JFUVVJUkVEOworICAgIH0KKworICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICB1aW50OF90IGFsZXJ0OworCisgICAgICAgIC8qIFRoZSBjZXJ0aWZpY2F0ZSBtYXkgaGF2ZSBiZWVuIHJlamVjdGVkIGZvciBzZXZlcmFsIHJlYXNvbnMuCisgICAgICAgICAgIFBpY2sgb25lIGFuZCBzZW5kIHRoZSBjb3JyZXNwb25kaW5nIGFsZXJ0LiBXaGljaCBhbGVydCB0byBzZW5kCisgICAgICAgICAgIG1heSBiZSBhIHN1YmplY3Qgb2YgZGViYXRlIGluIHNvbWUgY2FzZXMuICovCisgICAgICAgIGlmIChzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0ICYgTUJFRFRMU19YNTA5X0JBRENFUlRfT1RIRVIpIHsKKyAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX0FDQ0VTU19ERU5JRUQ7CisgICAgICAgIH0gZWxzZSBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIKSB7CisgICAgICAgICAgICBhbGVydCA9IE1CRURUTFNfU1NMX0FMRVJUX01TR19CQURfQ0VSVDsKKyAgICAgICAgfSBlbHNlIGlmIChzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0ICYgTUJFRFRMU19YNTA5X0JBRENFUlRfS0VZX1VTQUdFKSB7CisgICAgICAgICAgICBhbGVydCA9IE1CRURUTFNfU1NMX0FMRVJUX01TR19VTlNVUFBPUlRFRF9DRVJUOworICAgICAgICB9IGVsc2UgaWYgKHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQgJiBNQkVEVExTX1g1MDlfQkFEQ0VSVF9FWFRfS0VZX1VTQUdFKSB7CisgICAgICAgICAgICBhbGVydCA9IE1CRURUTFNfU1NMX0FMRVJUX01TR19VTlNVUFBPUlRFRF9DRVJUOworICAgICAgICB9IGVsc2UgaWYgKHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQgJiBNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEspIHsKKyAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQ7CisgICAgICAgIH0gZWxzZSBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9LRVkpIHsKKyAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQ7CisgICAgICAgIH0gZWxzZSBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX0VYUElSRUQpIHsKKyAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX0NFUlRfRVhQSVJFRDsKKyAgICAgICAgfSBlbHNlIGlmIChzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0ICYgTUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRCkgeworICAgICAgICAgICAgYWxlcnQgPSBNQkVEVExTX1NTTF9BTEVSVF9NU0dfQ0VSVF9SRVZPS0VEOworICAgICAgICB9IGVsc2UgaWYgKHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQgJiBNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRCkgeworICAgICAgICAgICAgYWxlcnQgPSBNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5LTk9XTl9DQTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGFsZXJ0ID0gTUJFRFRMU19TU0xfQUxFUlRfTVNHX0NFUlRfVU5LTk9XTjsKKyAgICAgICAgfQorICAgICAgICBtYmVkdGxzX3NzbF9zZW5kX2FsZXJ0X21lc3NhZ2Uoc3NsLCBNQkVEVExTX1NTTF9BTEVSVF9MRVZFTF9GQVRBTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKE1CRURUTFNfREVCVUdfQykKKyAgICBpZiAoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+dmVyaWZ5X3Jlc3VsdCAhPSAwKSB7CisgICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygzLCAoIiEgQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZsYWdzICUwOHgiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBpbnQpIHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnZlcmlmeV9yZXN1bHQpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMywgKCJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmxhZ3MgY2xlYXIiKSk7CisgICAgfQorI2VuZGlmIC8qIE1CRURUTFNfREVCVUdfQyAqLworCisgICAgcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9IQU5EU0hBS0VfV0lUSF9DRVJUX0VOQUJMRUQgKi8KKwogI2VuZGlmIC8qIE1CRURUTFNfU1NMX1RMU19DICovCmRpZmYgLS1naXQgYS9saWJyYXJ5L3NzbF90bHMxMl9jbGllbnQuYyBiL2xpYnJhcnkvc3NsX3RsczEyX2NsaWVudC5jCmluZGV4IGVhYzZhM2EuLjc1NzgzZDAgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkvc3NsX3RsczEyX2NsaWVudC5jCisrKyBiL2xpYnJhcnkvc3NsX3RsczEyX2NsaWVudC5jCkBAIC0zNjQsNyArMzY0LDggQEAKIAogICAgICpvbGVuID0gMDsKIAotICAgIGlmIChzc2wtPmNvbmYtPnNlc3Npb25fdGlja2V0cyA9PSBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFNfRElTQUJMRUQpIHsKKyAgICBpZiAobWJlZHRsc19zc2xfY29uZl9nZXRfc2Vzc2lvbl90aWNrZXRzKHNzbC0+Y29uZikgPT0KKyAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTX0RJU0FCTEVEKSB7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtNzg3LDcgKzc4OCw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW4pCiB7Ci0gICAgaWYgKHNzbC0+Y29uZi0+c2Vzc2lvbl90aWNrZXRzID09IE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19ESVNBQkxFRCB8fAorICAgIGlmICgobWJlZHRsc19zc2xfY29uZl9nZXRfc2Vzc2lvbl90aWNrZXRzKHNzbC0+Y29uZikgPT0KKyAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUU19ESVNBQkxFRCkgfHwKICAgICAgICAgbGVuICE9IDApIHsKICAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIm5vbi1tYXRjaGluZyBzZXNzaW9uIHRpY2tldCBleHRlbnNpb24iKSk7CkBAIC0xOTYyLDcgKzE5NjQsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC0+b3V0X21zZyArIG9mZnNldCArIGxlbl9ieXRlcywgb2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9PVVRfQ09OVEVOVF9MRU4gLSBvZmZzZXQgLSBsZW5fYnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLT5jb25mLT5mX3JuZywgc3NsLT5jb25mLT5wX3JuZykpICE9IDApIHsKLSAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfUkVUKDEsICJtYmVkdGxzX3JzYV9wa2NzMV9lbmNyeXB0IiwgcmV0KTsKKyAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfUkVUKDEsICJtYmVkdGxzX3BrX2VuY3J5cHQiLCByZXQpOwogICAgICAgICByZXR1cm4gcmV0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvbGlicmFyeS9zc2xfdGxzMTJfc2VydmVyLmMgYi9saWJyYXJ5L3NzbF90bHMxMl9zZXJ2ZXIuYwppbmRleCBiNDlhOGFlLi4wMzcyMmFjIDEwMDY0NAotLS0gYS9saWJyYXJ5L3NzbF90bHMxMl9zZXJ2ZXIuYworKysgYi9saWJyYXJ5L3NzbF90bHMxMl9zZXJ2ZXIuYwpAQCAtNzU2LDcgKzc1Niw5IEBACiAgICAgICAgICAqIGFuZCBkZWNyeXB0aW5nIHdpdGggdGhlIHNhbWUgUlNBIGtleS4KICAgICAgICAgICovCiAgICAgICAgIGlmIChtYmVkdGxzX3NzbF9jaGVja19jZXJ0X3VzYWdlKGN1ci0+Y2VydCwgY2lwaGVyc3VpdGVfaW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfSVNfU0VSVkVSLCAmZmxhZ3MpICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfSVNfQ0xJRU5ULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9WRVJTSU9OX1RMUzFfMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZsYWdzKSAhPSAwKSB7CiAgICAgICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMywgKCJjZXJ0aWZpY2F0ZSBtaXNtYXRjaDogIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKGV4dGVuZGVkKSBrZXkgdXNhZ2UgZXh0ZW5zaW9uIikpOwogICAgICAgICAgICAgY29udGludWU7CkBAIC0yNjMxLDEzICsyNjMzLDggQEAKICAgICAgICAgICAgIHNzbC0+aGFuZHNoYWtlLT54eGRoX3BzYV90eXBlID0gcHNhX2dldF9rZXlfdHlwZSgma2V5X2F0dHJpYnV0ZXMpOwogICAgICAgICAgICAgc3NsLT5oYW5kc2hha2UtPnh4ZGhfcHNhX2JpdHMgPSBwc2FfZ2V0X2tleV9iaXRzKCZrZXlfYXR0cmlidXRlcyk7CiAKLSAgICAgICAgICAgIGlmIChwa190eXBlID09IE1CRURUTFNfUEtfT1BBUVVFKSB7Ci0gICAgICAgICAgICAgICAgLyogT3BhcXVlIGtleSBpcyBjcmVhdGVkIGJ5IHRoZSB1c2VyIChleHRlcm5hbGx5IGZyb20gTWJlZCBUTFMpCi0gICAgICAgICAgICAgICAgICogc28gd2UgYXNzdW1lIGl0IGFscmVhZHkgaGFzIHRoZSByaWdodCBhbGdvcml0aG0gYW5kIGZsYWdzCi0gICAgICAgICAgICAgICAgICogc2V0LiBKdXN0IGNvcHkgaXRzIElEIGFzIHJlZmVyZW5jZS4gKi8KLSAgICAgICAgICAgICAgICBzc2wtPmhhbmRzaGFrZS0+eHhkaF9wc2FfcHJpdmtleSA9IHBrLT5wcml2X2lkOwotICAgICAgICAgICAgICAgIHNzbC0+aGFuZHNoYWtlLT54eGRoX3BzYV9wcml2a2V5X2lzX2V4dGVybmFsID0gMTsKLSAgICAgICAgICAgIH0gZWxzZSB7CisjaWYgZGVmaW5lZChNQkVEVExTX1BLX1VTRV9QU0FfRUNfREFUQSkKKyAgICAgICAgICAgIGlmIChwa190eXBlICE9IE1CRURUTFNfUEtfT1BBUVVFKSB7CiAgICAgICAgICAgICAgICAgLyogUEtfRUNLRVlbX0RIXSBhbmQgUEtfRUNEU0EgaW5zdGVhZCBhcyBwYXJzZWQgZnJvbSB0aGUgUEsKICAgICAgICAgICAgICAgICAgKiBtb2R1bGUgYW5kIG9ubHkgaGF2ZSBFQ0RTQSBjYXBhYmlsaXRpZXMuIFNpbmNlIHdlIG5lZWQKICAgICAgICAgICAgICAgICAgKiB0aGVtIGZvciBFQ0RIIGxhdGVyLCB3ZSBleHBvcnQgYW5kIHRoZW4gcmUtaW1wb3J0IHRoZW0gd2l0aApAQCAtMjY2NSwxMCArMjY2MiwyMCBAQAogICAgICAgICAgICAgICAgIC8qIFNldCB0aGlzIGtleSBhcyBvd25lZCBieSB0aGUgVExTIGxpYnJhcnk6IGl0IHdpbGwgYmUgaXRzIGR1dHkKICAgICAgICAgICAgICAgICAgKiB0byBjbGVhciBpdCBleGl0LiAqLwogICAgICAgICAgICAgICAgIHNzbC0+aGFuZHNoYWtlLT54eGRoX3BzYV9wcml2a2V5X2lzX2V4dGVybmFsID0gMDsKLSAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisjZW5kaWYgLyogTUJFRFRMU19QS19VU0VfUFNBX0VDX0RBVEEgKi8KKworICAgICAgICAgICAgLyogT3BhcXVlIGtleSBpcyBjcmVhdGVkIGJ5IHRoZSB1c2VyIChleHRlcm5hbGx5IGZyb20gTWJlZCBUTFMpCisgICAgICAgICAgICAgKiBzbyB3ZSBhc3N1bWUgaXQgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IGFsZ29yaXRobSBhbmQgZmxhZ3MKKyAgICAgICAgICAgICAqIHNldC4gSnVzdCBjb3B5IGl0cyBJRCBhcyByZWZlcmVuY2UuICovCisgICAgICAgICAgICBzc2wtPmhhbmRzaGFrZS0+eHhkaF9wc2FfcHJpdmtleSA9IHBrLT5wcml2X2lkOworICAgICAgICAgICAgc3NsLT5oYW5kc2hha2UtPnh4ZGhfcHNhX3ByaXZrZXlfaXNfZXh0ZXJuYWwgPSAxOwogICAgICAgICAgICAgcmV0ID0gMDsKICAgICAgICAgICAgIGJyZWFrOworCiAjaWYgIWRlZmluZWQoTUJFRFRMU19QS19VU0VfUFNBX0VDX0RBVEEpCiAgICAgICAgIGNhc2UgTUJFRFRMU19QS19FQ0tFWToKICAgICAgICAgY2FzZSBNQkVEVExTX1BLX0VDS0VZX0RIOgpAQCAtMzkxNiw3ICszOTIzLDcgQEAKICNpZiBkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pCiAgICAgICAgIHBzYV9zdGF0dXNfdCBzdGF0dXMgPSBQU0FfRVJST1JfQ09SUlVQVElPTl9ERVRFQ1RFRDsKICAgICAgICAgcHNhX3N0YXR1c190IGRlc3RydWN0aW9uX3N0YXR1cyA9IFBTQV9FUlJPUl9DT1JSVVBUSU9OX0RFVEVDVEVEOwotICAgICAgICB1aW50OF90IGVjcG9pbnRfbGVuOworICAgICAgICBzaXplX3QgZWNwb2ludF9sZW47CiAKICAgICAgICAgbWJlZHRsc19zc2xfaGFuZHNoYWtlX3BhcmFtcyAqaGFuZHNoYWtlID0gc3NsLT5oYW5kc2hha2U7CiAKZGlmZiAtLWdpdCBhL2xpYnJhcnkvc3NsX3RsczEzX2NsaWVudC5jIGIvbGlicmFyeS9zc2xfdGxzMTNfY2xpZW50LmMKaW5kZXggMTYyZTNhMy4uYjYzYjVlNiAxMDA2NDQKLS0tIGEvbGlicmFyeS9zc2xfdGxzMTNfY2xpZW50LmMKKysrIGIvbGlicmFyeS9zc2xfdGxzMTNfY2xpZW50LmMKQEAgLTExNDEsNiArMTE0MSwxMSBAQAogCiAgICAgKm91dF9sZW4gPSAwOwogCisgICAgcmV0ID0gbWJlZHRsc19zc2xfdGxzMTNfY3J5cHRvX2luaXQoc3NsKTsKKyAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKICAgICAvKiBXcml0ZSBzdXBwb3J0ZWRfdmVyc2lvbnMgZXh0ZW5zaW9uCiAgICAgICoKICAgICAgKiBTdXBwb3J0ZWQgVmVyc2lvbnMgRXh0ZW5zaW9uIGlzIG1hbmRhdG9yeSB3aXRoIFRMUyAxLjMuCmRpZmYgLS1naXQgYS9saWJyYXJ5L3NzbF90bHMxM19nZW5lcmljLmMgYi9saWJyYXJ5L3NzbF90bHMxM19nZW5lcmljLmMKaW5kZXggM2JlNmRiNy4uYjZkMDk3OCAxMDA2NDQKLS0tIGEvbGlicmFyeS9zc2xfdGxzMTNfZ2VuZXJpYy5jCisrKyBiL2xpYnJhcnkvc3NsX3RsczEzX2dlbmVyaWMuYwpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgInBzYS9jcnlwdG8uaCIKICNpbmNsdWRlICJwc2FfdXRpbF9pbnRlcm5hbC5oIgogCi0jaWYgZGVmaW5lZChNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfU09NRV9FUEhFTUVSQUxfRU5BQkxFRCkKIC8qIERlZmluZSBhIGxvY2FsIHRyYW5zbGF0aW5nIGZ1bmN0aW9uIHRvIHNhdmUgY29kZSBzaXplIGJ5IG5vdCB1c2luZyB0b28gbWFueQogICogYXJndW1lbnRzIGluIGVhY2ggdHJhbnNsYXRpbmcgcGxhY2UuICovCiBzdGF0aWMgaW50IGxvY2FsX2Vycl90cmFuc2xhdGlvbihwc2Ffc3RhdHVzX3Qgc3RhdHVzKQpAQCAtMzcsNyArMzYsMTYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9nZW5lcmljX3N0YXR1c190b19tYmVkdGxzKTsKIH0KICNkZWZpbmUgUFNBX1RPX01CRURUTFNfRVJSKHN0YXR1cykgbG9jYWxfZXJyX3RyYW5zbGF0aW9uKHN0YXR1cykKLSNlbmRpZgorCitpbnQgbWJlZHRsc19zc2xfdGxzMTNfY3J5cHRvX2luaXQobWJlZHRsc19zc2xfY29udGV4dCAqc3NsKQoreworICAgIHBzYV9zdGF0dXNfdCBzdGF0dXMgPSBwc2FfY3J5cHRvX2luaXQoKTsKKyAgICBpZiAoc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7CisgICAgICAgICh2b2lkKSBzc2w7IC8vIHVudXNlZCB3aGVuIGRlYnVnZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19SRVQoMSwgInBzYV9jcnlwdG9faW5pdCIsIHN0YXR1cyk7CisgICAgfQorICAgIHJldHVybiBQU0FfVE9fTUJFRFRMU19FUlIoc3RhdHVzKTsKK30KIAogY29uc3QgdWludDhfdCBtYmVkdGxzX3NzbF90bHMxM19oZWxsb19yZXRyeV9yZXF1ZXN0X21hZ2ljWwogICAgIE1CRURUTFNfU0VSVkVSX0hFTExPX1JBTkRPTV9MRU5dID0KQEAgLTQ3Miw2ICs0ODAsNyBAQAogICAgICAgICBtYmVkdGxzX2ZyZWUoc3NsLT5zZXNzaW9uX25lZ290aWF0ZS0+cGVlcl9jZXJ0KTsKICAgICB9CiAKKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgc3NsX3RsczEzX3ZhbGlkYXRlX2NlcnRpZmljYXRlKCkgKi8KICAgICBpZiAoY2VydGlmaWNhdGVfbGlzdF9sZW4gPT0gMCkgewogICAgICAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT5wZWVyX2NlcnQgPSBOVUxMOwogICAgICAgICByZXQgPSAwOwpAQCAtNjI3LDI1ICs2MzYsMTMgQEAKIE1CRURUTFNfQ0hFQ0tfUkVUVVJOX0NSSVRJQ0FMCiBzdGF0aWMgaW50IHNzbF90bHMxM192YWxpZGF0ZV9jZXJ0aWZpY2F0ZShtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wpCiB7Ci0gICAgaW50IHJldCA9IDA7Ci0gICAgaW50IGF1dGhtb2RlID0gTUJFRFRMU19TU0xfVkVSSUZZX1JFUVVJUkVEOwotICAgIG1iZWR0bHNfeDUwOV9jcnQgKmNhX2NoYWluOwotICAgIG1iZWR0bHNfeDUwOV9jcmwgKmNhX2NybDsKLSAgICBjb25zdCBjaGFyICpleHRfb2lkOwotICAgIHNpemVfdCBleHRfbGVuOwotICAgIHVpbnQzMl90IHZlcmlmeV9yZXN1bHQgPSAwOwotCi0gICAgLyogSWYgU05JIHdhcyB1c2VkLCBvdmVyd3JpdGUgYXV0aGVudGljYXRpb24gbW9kZQotICAgICAqIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24uICovCi0jaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TUlZfQykKLSAgICBpZiAoc3NsLT5jb25mLT5lbmRwb2ludCA9PSBNQkVEVExTX1NTTF9JU19TRVJWRVIpIHsKLSNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1NFUlZFUl9OQU1FX0lORElDQVRJT04pCi0gICAgICAgIGlmIChzc2wtPmhhbmRzaGFrZS0+c25pX2F1dGhtb2RlICE9IE1CRURUTFNfU1NMX1ZFUklGWV9VTlNFVCkgewotICAgICAgICAgICAgYXV0aG1vZGUgPSBzc2wtPmhhbmRzaGFrZS0+c25pX2F1dGhtb2RlOwotICAgICAgICB9IGVsc2UKLSNlbmRpZgotICAgICAgICBhdXRobW9kZSA9IHNzbC0+Y29uZi0+YXV0aG1vZGU7Ci0gICAgfQorICAgIC8qIEF1dGhtb2RlOiBwcmVjZWRlbmNlIG9yZGVyIGlzIFNOSSBpZiB1c2VkIGVsc2UgY29uZmlndXJhdGlvbiAqLworI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfU1JWX0MpICYmIGRlZmluZWQoTUJFRFRMU19TU0xfU0VSVkVSX05BTUVfSU5ESUNBVElPTikKKyAgICBjb25zdCBpbnQgYXV0aG1vZGUgPSBzc2wtPmhhbmRzaGFrZS0+c25pX2F1dGhtb2RlICE9IE1CRURUTFNfU1NMX1ZFUklGWV9VTlNFVAorICAgICAgICAgICAgICAgICAgICAgICA/IHNzbC0+aGFuZHNoYWtlLT5zbmlfYXV0aG1vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgOiBzc2wtPmNvbmYtPmF1dGhtb2RlOworI2Vsc2UKKyAgICBjb25zdCBpbnQgYXV0aG1vZGUgPSBzc2wtPmNvbmYtPmF1dGhtb2RlOwogI2VuZGlmCiAKICAgICAvKgpAQCAtNjc3LDYgKzY3NCwxMSBAQAogI2VuZGlmIC8qIE1CRURUTFNfU1NMX1NSVl9DICovCiAKICNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX0NMSV9DKQorICAgICAgICAvKiBSZWdhcmRsZXNzIG9mIGF1dGhtb2RlLCB0aGUgc2VydmVyIGlzIG5vdCBhbGxvd2VkIHRvIHNlbmQgYW4gZW1wdHkKKyAgICAgICAgICogY2VydGlmaWNhdGUgY2hhaW4uIChMYXN0IHBhcmFncmFwaCBiZWZvcmUgNC40LjIuMSBpbiBSRkMgODQ0NjogIlRoZQorICAgICAgICAgKiBzZXJ2ZXIncyBjZXJ0aWZpY2F0ZV9saXN0IE1VU1QgYWx3YXlzIGJlIG5vbi1lbXB0eS4iKSBXaXRoIGF1dGhtb2RlCisgICAgICAgICAqIG9wdGlvbmFsL25vbmUsIHdlIGNvbnRpbnVlIHRoZSBoYW5kc2hha2UgaWYgd2UgY2FuJ3QgdmFsaWRhdGUgdGhlCisgICAgICAgICAqIHNlcnZlcidzIGNlcnQsIGJ1dCB3ZSBzdGlsbCBicmVhayBpdCBpZiBubyBjZXJ0aWZpY2F0ZSB3YXMgc2VudC4gKi8KICAgICAgICAgaWYgKHNzbC0+Y29uZi0+ZW5kcG9pbnQgPT0gTUJFRFRMU19TU0xfSVNfQ0xJRU5UKSB7CiAgICAgICAgICAgICBNQkVEVExTX1NTTF9QRU5EX0ZBVEFMX0FMRVJUKE1CRURUTFNfU1NMX0FMRVJUX01TR19OT19DRVJULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0VSUl9TU0xfRkFUQUxfQUxFUlRfTUVTU0FHRSk7CkBAIC02ODUsMTE0ICs2ODcsOSBAQAogI2VuZGlmIC8qIE1CRURUTFNfU1NMX0NMSV9DICovCiAgICAgfQogCi0jaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TRVJWRVJfTkFNRV9JTkRJQ0FUSU9OKQotICAgIGlmIChzc2wtPmhhbmRzaGFrZS0+c25pX2NhX2NoYWluICE9IE5VTEwpIHsKLSAgICAgICAgY2FfY2hhaW4gPSBzc2wtPmhhbmRzaGFrZS0+c25pX2NhX2NoYWluOwotICAgICAgICBjYV9jcmwgPSBzc2wtPmhhbmRzaGFrZS0+c25pX2NhX2NybDsKLSAgICB9IGVsc2UKLSNlbmRpZiAvKiBNQkVEVExTX1NTTF9TRVJWRVJfTkFNRV9JTkRJQ0FUSU9OICovCi0gICAgewotICAgICAgICBjYV9jaGFpbiA9IHNzbC0+Y29uZi0+Y2FfY2hhaW47Ci0gICAgICAgIGNhX2NybCA9IHNzbC0+Y29uZi0+Y2FfY3JsOwotICAgIH0KLQotICAgIC8qCi0gICAgICogTWFpbiBjaGVjazogdmVyaWZ5IGNlcnRpZmljYXRlCi0gICAgICovCi0gICAgcmV0ID0gbWJlZHRsc194NTA5X2NydF92ZXJpZnlfd2l0aF9wcm9maWxlKAotICAgICAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT5wZWVyX2NlcnQsCi0gICAgICAgIGNhX2NoYWluLCBjYV9jcmwsCi0gICAgICAgIHNzbC0+Y29uZi0+Y2VydF9wcm9maWxlLAotICAgICAgICBzc2wtPmhvc3RuYW1lLAotICAgICAgICAmdmVyaWZ5X3Jlc3VsdCwKLSAgICAgICAgc3NsLT5jb25mLT5mX3ZyZnksIHNzbC0+Y29uZi0+cF92cmZ5KTsKLQotICAgIGlmIChyZXQgIT0gMCkgewotICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19SRVQoMSwgIng1MDlfdmVyaWZ5X2NlcnQiLCByZXQpOwotICAgIH0KLQotICAgIC8qCi0gICAgICogU2Vjb25kYXJ5IGNoZWNrczogYWx3YXlzIGRvbmUsIGJ1dCBjaGFuZ2UgJ3JldCcgb25seSBpZiBpdCB3YXMgMAotICAgICAqLwotICAgIGlmIChzc2wtPmNvbmYtPmVuZHBvaW50ID09IE1CRURUTFNfU1NMX0lTX0NMSUVOVCkgewotICAgICAgICBleHRfb2lkID0gTUJFRFRMU19PSURfU0VSVkVSX0FVVEg7Ci0gICAgICAgIGV4dF9sZW4gPSBNQkVEVExTX09JRF9TSVpFKE1CRURUTFNfT0lEX1NFUlZFUl9BVVRIKTsKLSAgICB9IGVsc2UgewotICAgICAgICBleHRfb2lkID0gTUJFRFRMU19PSURfQ0xJRU5UX0FVVEg7Ci0gICAgICAgIGV4dF9sZW4gPSBNQkVEVExTX09JRF9TSVpFKE1CRURUTFNfT0lEX0NMSUVOVF9BVVRIKTsKLSAgICB9Ci0KLSAgICBpZiAoKG1iZWR0bHNfeDUwOV9jcnRfY2hlY2tfa2V5X3VzYWdlKAotICAgICAgICAgICAgIHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnBlZXJfY2VydCwKLSAgICAgICAgICAgICBNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkUpICE9IDApIHx8Ci0gICAgICAgIChtYmVkdGxzX3g1MDlfY3J0X2NoZWNrX2V4dGVuZGVkX2tleV91c2FnZSgKLSAgICAgICAgICAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT5wZWVyX2NlcnQsCi0gICAgICAgICAgICAgZXh0X29pZCwgZXh0X2xlbikgIT0gMCkpIHsKLSAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDEsICgiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIpKTsKLSAgICAgICAgaWYgKHJldCA9PSAwKSB7Ci0gICAgICAgICAgICByZXQgPSBNQkVEVExTX0VSUl9TU0xfQkFEX0NFUlRJRklDQVRFOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLyogbWJlZHRsc194NTA5X2NydF92ZXJpZnlfd2l0aF9wcm9maWxlIGlzIHN1cHBvc2VkIHRvIHJlcG9ydCBhCi0gICAgICogdmVyaWZpY2F0aW9uIGZhaWx1cmUgdGhyb3VnaCBNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRCwKLSAgICAgKiB3aXRoIGRldGFpbHMgZW5jb2RlZCBpbiB0aGUgdmVyaWZpY2F0aW9uIGZsYWdzLiBBbGwgb3RoZXIga2luZHMKLSAgICAgKiBvZiBlcnJvciBjb2RlcywgaW5jbHVkaW5nIHRob3NlIGZyb20gdGhlIHVzZXIgcHJvdmlkZWQgZl92cmZ5Ci0gICAgICogZnVuY3Rpb25zLCBhcmUgdHJlYXRlZCBhcyBmYXRhbCBhbmQgbGVhZCB0byBhIGZhaWx1cmUgb2YKLSAgICAgKiBtYmVkdGxzX3NzbF90bHMxM19wYXJzZV9jZXJ0aWZpY2F0ZSBldmVuIGlmIHZlcmlmaWNhdGlvbiB3YXMgb3B0aW9uYWwuCi0gICAgICovCi0gICAgaWYgKGF1dGhtb2RlID09IE1CRURUTFNfU1NMX1ZFUklGWV9PUFRJT05BTCAmJgotICAgICAgICAocmV0ID09IE1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEIHx8Ci0gICAgICAgICByZXQgPT0gTUJFRFRMU19FUlJfU1NMX0JBRF9DRVJUSUZJQ0FURSkpIHsKLSAgICAgICAgcmV0ID0gMDsKLSAgICB9Ci0KLSAgICBpZiAoY2FfY2hhaW4gPT0gTlVMTCAmJiBhdXRobW9kZSA9PSBNQkVEVExTX1NTTF9WRVJJRllfUkVRVUlSRUQpIHsKLSAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDEsICgiZ290IG5vIENBIGNoYWluIikpOwotICAgICAgICByZXQgPSBNQkVEVExTX0VSUl9TU0xfQ0FfQ0hBSU5fUkVRVUlSRUQ7Ci0gICAgfQotCi0gICAgaWYgKHJldCAhPSAwKSB7Ci0gICAgICAgIC8qIFRoZSBjZXJ0aWZpY2F0ZSBtYXkgaGF2ZSBiZWVuIHJlamVjdGVkIGZvciBzZXZlcmFsIHJlYXNvbnMuCi0gICAgICAgICAgIFBpY2sgb25lIGFuZCBzZW5kIHRoZSBjb3JyZXNwb25kaW5nIGFsZXJ0LiBXaGljaCBhbGVydCB0byBzZW5kCi0gICAgICAgICAgIG1heSBiZSBhIHN1YmplY3Qgb2YgZGViYXRlIGluIHNvbWUgY2FzZXMuICovCi0gICAgICAgIGlmICh2ZXJpZnlfcmVzdWx0ICYgTUJFRFRMU19YNTA5X0JBRENFUlRfT1RIRVIpIHsKLSAgICAgICAgICAgIE1CRURUTFNfU1NMX1BFTkRfRkFUQUxfQUxFUlQoCi0gICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQUxFUlRfTVNHX0FDQ0VTU19ERU5JRUQsIHJldCk7Ci0gICAgICAgIH0gZWxzZSBpZiAodmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIKSB7Ci0gICAgICAgICAgICBNQkVEVExTX1NTTF9QRU5EX0ZBVEFMX0FMRVJUKE1CRURUTFNfU1NMX0FMRVJUX01TR19CQURfQ0VSVCwgcmV0KTsKLSAgICAgICAgfSBlbHNlIGlmICh2ZXJpZnlfcmVzdWx0ICYgKE1CRURUTFNfWDUwOV9CQURDRVJUX0tFWV9VU0FHRSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1g1MDlfQkFEQ0VSVF9FWFRfS0VZX1VTQUdFIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfWDUwOV9CQURDRVJUX05TX0NFUlRfVFlQRSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEsgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX0tFWSkpIHsKLSAgICAgICAgICAgIE1CRURUTFNfU1NMX1BFTkRfRkFUQUxfQUxFUlQoCi0gICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQsIHJldCk7Ci0gICAgICAgIH0gZWxzZSBpZiAodmVyaWZ5X3Jlc3VsdCAmIE1CRURUTFNfWDUwOV9CQURDRVJUX0VYUElSRUQpIHsKLSAgICAgICAgICAgIE1CRURUTFNfU1NMX1BFTkRfRkFUQUxfQUxFUlQoCi0gICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQUxFUlRfTVNHX0NFUlRfRVhQSVJFRCwgcmV0KTsKLSAgICAgICAgfSBlbHNlIGlmICh2ZXJpZnlfcmVzdWx0ICYgTUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRCkgewotICAgICAgICAgICAgTUJFRFRMU19TU0xfUEVORF9GQVRBTF9BTEVSVCgKLSAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9BTEVSVF9NU0dfQ0VSVF9SRVZPS0VELCByZXQpOwotICAgICAgICB9IGVsc2UgaWYgKHZlcmlmeV9yZXN1bHQgJiBNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRCkgewotICAgICAgICAgICAgTUJFRFRMU19TU0xfUEVORF9GQVRBTF9BTEVSVChNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5LTk9XTl9DQSwgcmV0KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIE1CRURUTFNfU1NMX1BFTkRfRkFUQUxfQUxFUlQoCi0gICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQUxFUlRfTVNHX0NFUlRfVU5LTk9XTiwgcmV0KTsKLSAgICAgICAgfQotICAgIH0KLQotI2lmIGRlZmluZWQoTUJFRFRMU19ERUJVR19DKQotICAgIGlmICh2ZXJpZnlfcmVzdWx0ICE9IDApIHsKLSAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfTVNHKDMsICgiISBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmxhZ3MgJTA4eCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGludCkgdmVyaWZ5X3Jlc3VsdCkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygzLCAoIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmbGFncyBjbGVhciIpKTsKLSAgICB9Ci0jZW5kaWYgLyogTUJFRFRMU19ERUJVR19DICovCi0KLSAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT52ZXJpZnlfcmVzdWx0ID0gdmVyaWZ5X3Jlc3VsdDsKLSAgICByZXR1cm4gcmV0OworICAgIHJldHVybiBtYmVkdGxzX3NzbF92ZXJpZnlfY2VydGlmaWNhdGUoc3NsLCBhdXRobW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPnBlZXJfY2VydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOwogfQogI2Vsc2UgLyogTUJFRFRMU19TU0xfS0VFUF9QRUVSX0NFUlRJRklDQVRFICovCiBNQkVEVExTX0NIRUNLX1JFVFVSTl9DUklUSUNBTApAQCAtMTQ4NCw5ICsxMzgxLDExIEBACiAgICAgICAgICBzc2wtPnRvdGFsX2Vhcmx5X2RhdGFfc2l6ZSkpIHsKIAogICAgICAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coCi0gICAgICAgICAgICAyLCAoIkVhcmx5RGF0YTogVG9vIG11Y2ggZWFybHkgZGF0YSByZWNlaXZlZCwgJXUgKyAlIiBNQkVEVExTX1BSSU5URl9TSVpFVCAiID4gJXUiLAotICAgICAgICAgICAgICAgIHNzbC0+dG90YWxfZWFybHlfZGF0YV9zaXplLCBlYXJseV9kYXRhX2xlbiwKLSAgICAgICAgICAgICAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT5tYXhfZWFybHlfZGF0YV9zaXplKSk7CisgICAgICAgICAgICAyLCAoIkVhcmx5RGF0YTogVG9vIG11Y2ggZWFybHkgZGF0YSByZWNlaXZlZCwgIgorICAgICAgICAgICAgICAgICIlbHUgKyAlIiBNQkVEVExTX1BSSU5URl9TSVpFVCAiID4gJWx1IiwKKyAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZykgc3NsLT50b3RhbF9lYXJseV9kYXRhX3NpemUsCisgICAgICAgICAgICAgICAgZWFybHlfZGF0YV9sZW4sCisgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpIHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPm1heF9lYXJseV9kYXRhX3NpemUpKTsKIAogICAgICAgICBNQkVEVExTX1NTTF9QRU5EX0ZBVEFMX0FMRVJUKAogICAgICAgICAgICAgTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VORVhQRUNURURfTUVTU0FHRSwKZGlmZiAtLWdpdCBhL2xpYnJhcnkvc3NsX3RsczEzX3NlcnZlci5jIGIvbGlicmFyeS9zc2xfdGxzMTNfc2VydmVyLmMKaW5kZXggNmZlOGNhZS4uNjkzZWRjNyAxMDA2NDQKLS0tIGEvbGlicmFyeS9zc2xfdGxzMTNfc2VydmVyLmMKKysrIGIvbGlicmFyeS9zc2xfdGxzMTNfc2VydmVyLmMKQEAgLTkyLDggKzkyLDkgQEAKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIE1CRURUTFNfU1NMX0RFQlVHX01TRygyLCAoIk5vIG1hdGNoZWQgY2lwaGVyc3VpdGUsIHBza19jaXBoZXJzdWl0ZV9pZD0leCwgcHNrX2hhc2hfYWxnPSV4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCkgcHNrX2NpcGhlcnN1aXRlX2lkLCBwc2tfaGFzaF9hbGcpKTsKKyAgICBNQkVEVExTX1NTTF9ERUJVR19NU0coMiwgKCJObyBtYXRjaGVkIGNpcGhlcnN1aXRlLCBwc2tfY2lwaGVyc3VpdGVfaWQ9JXgsIHBza19oYXNoX2FsZz0lbHgiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkKSBwc2tfY2lwaGVyc3VpdGVfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZykgcHNrX2hhc2hfYWxnKSk7CiB9CiAKICNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9TT01FX1BTS19FTkFCTEVEKQpAQCAtMTM1NCwxOSArMTM1NSwyMyBAQAogICAgICAqIGNvbXByZXNzaW9uIG1ldGhvZHMgYW5kIHRoZSBsZW5ndGggb2YgdGhlIGV4dGVuc2lvbnMuCiAgICAgICoKICAgICAgKiBjaXBoZXJfc3VpdGVzICAgICAgICAgICAgICAgIGNpcGhlcl9zdWl0ZXNfbGVuIGJ5dGVzCi0gICAgICogbGVnYWN5X2NvbXByZXNzaW9uX21ldGhvZHMgICAgICAgICAgICAgICAgICAgMiBieXRlcwotICAgICAqIGV4dGVuc2lvbnNfbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgYnl0ZXMKKyAgICAgKiBsZWdhY3lfY29tcHJlc3Npb25fbWV0aG9kcyBsZW5ndGggICAgICAgICAgICAxIGJ5dGUKICAgICAgKi8KLSAgICBNQkVEVExTX1NTTF9DSEtfQlVGX1JFQURfUFRSKHAsIGVuZCwgY2lwaGVyX3N1aXRlc19sZW4gKyAyICsgMik7CisgICAgTUJFRFRMU19TU0xfQ0hLX0JVRl9SRUFEX1BUUihwLCBlbmQsIGNpcGhlcl9zdWl0ZXNfbGVuICsgMSk7CiAgICAgcCArPSBjaXBoZXJfc3VpdGVzX2xlbjsKICAgICBjaXBoZXJfc3VpdGVzX2VuZCA9IHA7CiAKKyAgICAvKiBDaGVjayBpZiB3ZSBoYXZlIGVub3VnaCBkYXRhIGZvciBsZWdhY3lfY29tcHJlc3Npb25fbWV0aG9kcworICAgICAqIGFuZCB0aGUgbGVuZ3RoIG9mIHRoZSBleHRlbnNpb25zICgyIGJ5dGVzKS4KKyAgICAgKi8KKyAgICBNQkVEVExTX1NTTF9DSEtfQlVGX1JFQURfUFRSKHAgKyAxLCBlbmQsIHBbMF0gKyAyKTsKKwogICAgIC8qCiAgICAgICogU2VhcmNoIGZvciB0aGUgc3VwcG9ydGVkIHZlcnNpb25zIGV4dGVuc2lvbiBhbmQgcGFyc2UgaXQgdG8gZGV0ZXJtaW5lCiAgICAgICogaWYgdGhlIGNsaWVudCBzdXBwb3J0cyBUTFMgMS4zLgogICAgICAqLwogICAgIHJldCA9IG1iZWR0bHNfc3NsX3RsczEzX2lzX3N1cHBvcnRlZF92ZXJzaW9uc19leHRfcHJlc2VudF9pbl9leHRzKAotICAgICAgICBzc2wsIHAgKyAyLCBlbmQsCisgICAgICAgIHNzbCwgcCArIDEgKyBwWzBdLCBlbmQsCiAgICAgICAgICZzdXBwb3J0ZWRfdmVyc2lvbnNfZGF0YSwgJnN1cHBvcnRlZF92ZXJzaW9uc19kYXRhX2VuZCk7CiAgICAgaWYgKHJldCA8IDApIHsKICAgICAgICAgTUJFRFRMU19TU0xfREVCVUdfUkVUKDEsCkBAIC0xNDA3LDYgKzE0MTIsMTIgQEAKICAgICBzc2wtPnNlc3Npb25fbmVnb3RpYXRlLT50bHNfdmVyc2lvbiA9IE1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8zOwogICAgIHNzbC0+c2Vzc2lvbl9uZWdvdGlhdGUtPmVuZHBvaW50ID0gc3NsLT5jb25mLT5lbmRwb2ludDsKIAorICAgIC8qIEJlZm9yZSBkb2luZyBhbnkgY3J5cHRvLCBtYWtlIHN1cmUgd2UgY2FuLiAqLworICAgIHJldCA9IG1iZWR0bHNfc3NsX3RsczEzX2NyeXB0b19pbml0KHNzbCk7CisgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgIHJldHVybiByZXQ7CisgICAgfQorCiAgICAgLyoKICAgICAgKiBXZSBhcmUgbmVnb3RpYXRpbmcgdGhlIHZlcnNpb24gMS4zIG9mIHRoZSBwcm90b2NvbC4gRG8gd2hhdCB3ZSBoYXZlCiAgICAgICogcG9zdHBvbmVkOiBjb3B5IG9mIHRoZSBjbGllbnQgcmFuZG9tIGJ5dGVzLCBjb3B5IG9mIHRoZSBsZWdhY3kgc2Vzc2lvbgpkaWZmIC0tZ2l0IGEvbGlicmFyeS94NTA5X2NydC5jIGIvbGlicmFyeS94NTA5X2NydC5jCmluZGV4IDJmZDU2ZmIuLjUzY2RjZjAgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkveDUwOV9jcnQuYworKysgYi9saWJyYXJ5L3g1MDlfY3J0LmMKQEAgLTQ4LDcgKzQ4LDkgQEAKIAogI2lmIGRlZmluZWQoTUJFRFRMU19IQVZFX1RJTUUpCiAjaWYgZGVmaW5lZChfV0lOMzIpICYmICFkZWZpbmVkKEVGSVg2NCkgJiYgIWRlZmluZWQoRUZJMzIpCisjaWZuZGVmIFdJTjMyX0xFQU5fQU5EX01FQU4KICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgorI2VuZGlmCiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2Vsc2UKICNpbmNsdWRlIDx0aW1lLmg+CmRpZmYgLS1naXQgYS9saWJyYXJ5L3g1MDl3cml0ZV9jcnQuYyBiL2xpYnJhcnkveDUwOXdyaXRlX2NydC5jCmluZGV4IDcyZjVhMTAuLjU2ZjIzYzkgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkveDUwOXdyaXRlX2NydC5jCisrKyBiL2xpYnJhcnkveDUwOXdyaXRlX2NydC5jCkBAIC00Niw2ICs0NiwxMCBAQAogCiB2b2lkIG1iZWR0bHNfeDUwOXdyaXRlX2NydF9mcmVlKG1iZWR0bHNfeDUwOXdyaXRlX2NlcnQgKmN0eCkKIHsKKyAgICBpZiAoY3R4ID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG1iZWR0bHNfYXNuMV9mcmVlX25hbWVkX2RhdGFfbGlzdCgmY3R4LT5zdWJqZWN0KTsKICAgICBtYmVkdGxzX2FzbjFfZnJlZV9uYW1lZF9kYXRhX2xpc3QoJmN0eC0+aXNzdWVyKTsKICAgICBtYmVkdGxzX2FzbjFfZnJlZV9uYW1lZF9kYXRhX2xpc3QoJmN0eC0+ZXh0ZW5zaW9ucyk7CmRpZmYgLS1naXQgYS9saWJyYXJ5L3g1MDl3cml0ZV9jc3IuYyBiL2xpYnJhcnkveDUwOXdyaXRlX2Nzci5jCmluZGV4IGQzZGRiY2MuLjBkNmY2YmIgMTAwNjQ0Ci0tLSBhL2xpYnJhcnkveDUwOXdyaXRlX2Nzci5jCisrKyBiL2xpYnJhcnkveDUwOXdyaXRlX2Nzci5jCkBAIC00Myw2ICs0MywxMCBAQAogCiB2b2lkIG1iZWR0bHNfeDUwOXdyaXRlX2Nzcl9mcmVlKG1iZWR0bHNfeDUwOXdyaXRlX2NzciAqY3R4KQogeworICAgIGlmIChjdHggPT0gTlVMTCkgeworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbWJlZHRsc19hc24xX2ZyZWVfbmFtZWRfZGF0YV9saXN0KCZjdHgtPnN1YmplY3QpOwogICAgIG1iZWR0bHNfYXNuMV9mcmVlX25hbWVkX2RhdGFfbGlzdCgmY3R4LT5leHRlbnNpb25zKTsKIApkaWZmIC0tZ2l0IGEvcGtnY29uZmlnLy5naXRpZ25vcmUgYi9wa2djb25maWcvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDYwYzIwCi0tLSAvZGV2L251bGwKKysrIGIvcGtnY29uZmlnLy5naXRpZ25vcmUKQEAgLTAsMCArMSwyIEBACitNYWtlZmlsZQorKi5wYwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvQ01ha2VMaXN0cy50eHQgYi9wcm9ncmFtcy9DTWFrZUxpc3RzLnR4dAppbmRleCAwNjMzYWE2Li5hYWY5M2JhIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9DTWFrZUxpc3RzLnR4dAorKysgYi9wcm9ncmFtcy9DTWFrZUxpc3RzLnR4dApAQCAtMSwzICsxLDYgQEAKK3NldChwcm9ncmFtc190YXJnZXQgIiR7TUJFRFRMU19UQVJHRVRfUFJFRklYfXByb2dyYW1zIikKK2FkZF9jdXN0b21fdGFyZ2V0KCR7cHJvZ3JhbXNfdGFyZ2V0fSkKKwogYWRkX3N1YmRpcmVjdG9yeShhZXMpCiBhZGRfc3ViZGlyZWN0b3J5KGNpcGhlcikKIGlmIChOT1QgV0lOMzIpCmRpZmYgLS1naXQgYS9wcm9ncmFtcy9NYWtlZmlsZSBiL3Byb2dyYW1zL01ha2VmaWxlCmluZGV4IDhkMWRhNmQuLjA2MDRhNjggMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL01ha2VmaWxlCisrKyBiL3Byb2dyYW1zL01ha2VmaWxlCkBAIC0xMTYsNiArMTE2LDEyIEBACiBhbGw6IGZ1enoKIGVuZGlmCiAKK1NTTF9PUFRfQVBQUyA9ICQoZmlsdGVyIHNzbC8lLCQoQVBQUykpCitTU0xfT1BUX0FQUFMgKz0gdGVzdC9xdWVyeV9jb21waWxlX3RpbWVfY29uZmlnIHRlc3QvdWRwX3Byb3h5CisjIEp1c3QgdGhlIHByb2dyYW1zIG5lZWRlZCB0byBydW4gc3NsLW9wdC5zaCAoYW5kIGNvbXBhdC5zaCkKK3NzbC1vcHQ6ICQocGF0c3Vic3QgJSwlJChFWEVYVCksJChTU0xfT1BUX0FQUFMpKQorLlBIT05ZOiBzc2wtb3B0CisKIGZ1eno6ICR7TUJFRFRMU19URVNUX09CSlN9CiAJJChNQUtFKSAtQyBmdXp6CiAKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2Flcy9DTWFrZUxpc3RzLnR4dCBiL3Byb2dyYW1zL2Flcy9DTWFrZUxpc3RzLnR4dAppbmRleCBjY2I4ZGI1Li40ZDRjODkwIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9hZXMvQ01ha2VMaXN0cy50eHQKKysrIGIvcHJvZ3JhbXMvYWVzL0NNYWtlTGlzdHMudHh0CkBAIC0xLDYgKzEsNyBAQAogc2V0KGV4ZWN1dGFibGVzCiAgICAgY3J5cHRfYW5kX2hhc2gKICkKK2FkZF9kZXBlbmRlbmNpZXMoJHtwcm9ncmFtc190YXJnZXR9ICR7ZXhlY3V0YWJsZXN9KQogCiBmb3JlYWNoKGV4ZSBJTiBMSVNUUyBleGVjdXRhYmxlcykKICAgICBhZGRfZXhlY3V0YWJsZSgke2V4ZX0gJHtleGV9LmMgJDxUQVJHRVRfT0JKRUNUUzptYmVkdGxzX3Rlc3Q+KQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY2lwaGVyL0NNYWtlTGlzdHMudHh0IGIvcHJvZ3JhbXMvY2lwaGVyL0NNYWtlTGlzdHMudHh0CmluZGV4IGU5MjU1MjQuLmVmZmFmOGEgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2NpcGhlci9DTWFrZUxpc3RzLnR4dAorKysgYi9wcm9ncmFtcy9jaXBoZXIvQ01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw3IEBACiBzZXQoZXhlY3V0YWJsZXMKICAgICBjaXBoZXJfYWVhZF9kZW1vCiApCithZGRfZGVwZW5kZW5jaWVzKCR7cHJvZ3JhbXNfdGFyZ2V0fSAke2V4ZWN1dGFibGVzfSkKIAogZm9yZWFjaChleGUgSU4gTElTVFMgZXhlY3V0YWJsZXMpCiAgICAgYWRkX2V4ZWN1dGFibGUoJHtleGV9ICR7ZXhlfS5jICQ8VEFSR0VUX09CSkVDVFM6bWJlZHRsc190ZXN0PikKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2NpcGhlci9jaXBoZXJfYWVhZF9kZW1vLmMgYi9wcm9ncmFtcy9jaXBoZXIvY2lwaGVyX2FlYWRfZGVtby5jCmluZGV4IDg1M2VjMjAuLjgzZmNjZTUgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2NpcGhlci9jaXBoZXJfYWVhZF9kZW1vLmMKKysrIGIvcHJvZ3JhbXMvY2lwaGVyL2NpcGhlcl9hZWFkX2RlbW8uYwpAQCAtNzksNyArNzksNyBAQAogY29uc3QgdW5zaWduZWQgY2hhciBrZXlfYnl0ZXNbMzJdID0geyAweDJhIH07CiAKIC8qIFByaW50IHRoZSBjb250ZW50cyBvZiBhIGJ1ZmZlciBpbiBoZXggKi8KLXZvaWQgcHJpbnRfYnVmKGNvbnN0IGNoYXIgKnRpdGxlLCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4pCitzdGF0aWMgdm9pZCBwcmludF9idWYoY29uc3QgY2hhciAqdGl0bGUsIHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKIHsKICAgICBwcmludGYoIiVzOiIsIHRpdGxlKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9mdXp6L0NNYWtlTGlzdHMudHh0IGIvcHJvZ3JhbXMvZnV6ei9DTWFrZUxpc3RzLnR4dAppbmRleCBjMzg5MDI5Li5mNTM1OGZmIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9mdXp6L0NNYWtlTGlzdHMudHh0CisrKyBiL3Byb2dyYW1zL2Z1enovQ01ha2VMaXN0cy50eHQKQEAgLTE1LDYgKzE1LDcgQEAKICAgICBmdXp6X3g1MDljc3IKICAgICBmdXp6X3BrY3M3CiApCithZGRfZGVwZW5kZW5jaWVzKCR7cHJvZ3JhbXNfdGFyZ2V0fSAke2V4ZWN1dGFibGVzX25vX2NvbW1vbl9jfSkKIAogc2V0KGV4ZWN1dGFibGVzX3dpdGhfY29tbW9uX2MKICAgICBmdXp6X3ByaXZrZXkKQEAgLTIzLDYgKzI0LDcgQEAKICAgICBmdXp6X2R0bHNzZXJ2ZXIKICAgICBmdXp6X3NlcnZlcgogKQorYWRkX2RlcGVuZGVuY2llcygke3Byb2dyYW1zX3RhcmdldH0gJHtleGVjdXRhYmxlc193aXRoX2NvbW1vbl9jfSkKIAogZm9yZWFjaChleGUgSU4gTElTVFMgZXhlY3V0YWJsZXNfbm9fY29tbW9uX2MgZXhlY3V0YWJsZXNfd2l0aF9jb21tb25fYykKIApkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvZnV6ei9NYWtlZmlsZSBiL3Byb2dyYW1zL2Z1enovTWFrZWZpbGUKaW5kZXggODI4ZTUxOC4uNzFjYmEwYiAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvZnV6ei9NYWtlZmlsZQorKysgYi9wcm9ncmFtcy9mdXp6L01ha2VmaWxlCkBAIC05LDkgKzksNyBAQAogTE9DQUxfTERGTEFHUyArPSAtbEZ1enppbmdFbmdpbmUKIGVuZGlmCiAKLSMgQSB0ZXN0IGFwcGxpY2F0aW9uIGlzIGJ1aWx0IGZvciBlYWNoIHN1aXRlcy90ZXN0X3N1aXRlXyouZGF0YSBmaWxlLgotIyBBcHBsaWNhdGlvbiBuYW1lIGlzIHNhbWUgYXMgLmRhdGEgZmlsZSdzIGJhc2UgbmFtZSBhbmQgY2FuIGJlCi0jIGNvbnN0cnVjdGVkIGJ5IHN0cmlwcGluZyBwYXRoICdzdWl0ZXMvJyBhbmQgZXh0ZW5zaW9uIC5kYXRhLgorIyBBIHRlc3QgYXBwbGljYXRpb24gaXMgYnVpbHQgZm9yIGVhY2ggZnV6el8qLmMgZmlsZS4KIEFQUFMgPSAkKGJhc2VuYW1lICQod2lsZGNhcmQgZnV6el8qLmMpKQogCiAjIENvbnN0cnVjdCBleGVjdXRhYmxlIG5hbWUgYnkgYWRkaW5nIE9TIHNwZWNpZmljIHN1ZmZpeCAkKEVYRVhUKS4KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2Z1enovY29tbW9uLmggYi9wcm9ncmFtcy9mdXp6L2NvbW1vbi5oCmluZGV4IDA5NDM4M2MuLjg4ZGNlYWMgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2Z1enovY29tbW9uLmgKKysrIGIvcHJvZ3JhbXMvZnV6ei9jb21tb24uaApAQCAtMjMsMyArMjMsNiBAQAogaW50IGR1bW15X2VudHJvcHkodm9pZCAqZGF0YSwgdW5zaWduZWQgY2hhciAqb3V0cHV0LCBzaXplX3QgbGVuKTsKIGludCBmdXp6X3JlY3ZfdGltZW91dCh2b2lkICpjdHgsIHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwKICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0aW1lb3V0KTsKKworLyogSW1wbGVtZW50ZWQgaW4gdGhlIGZ1enpfKi5jIHNvdXJjZXMgYW5kIHJlcXVpcmVkIGJ5IG9uZWZpbGUuYyAqLworaW50IExMVk1GdXp6ZXJUZXN0T25lSW5wdXQoY29uc3QgdWludDhfdCAqRGF0YSwgc2l6ZV90IFNpemUpOwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvZnV6ei9mdXp6X3BrY3M3LmMgYi9wcm9ncmFtcy9mdXp6L2Z1enpfcGtjczcuYwppbmRleCAyMDU2OTEzLi4zOGI0ZGMxIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9mdXp6L2Z1enpfcGtjczcuYworKysgYi9wcm9ncmFtcy9mdXp6L2Z1enpfcGtjczcuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlICJtYmVkdGxzL3BrY3M3LmgiCisjaW5jbHVkZSAiY29tbW9uLmgiCiAKIGludCBMTFZNRnV6emVyVGVzdE9uZUlucHV0KGNvbnN0IHVpbnQ4X3QgKkRhdGEsIHNpemVfdCBTaXplKQogewpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvZnV6ei9mdXp6X3B1YmtleS5jIGIvcHJvZ3JhbXMvZnV6ei9mdXp6X3B1YmtleS5jCmluZGV4IDBiMTUzYjEuLmIyNTAwZTUgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2Z1enovZnV6el9wdWJrZXkuYworKysgYi9wcm9ncmFtcy9mdXp6L2Z1enpfcHVia2V5LmMKQEAgLTEsNiArMSw3IEBACiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSAibWJlZHRscy9way5oIgorI2luY2x1ZGUgImNvbW1vbi5oIgogCiBpbnQgTExWTUZ1enplclRlc3RPbmVJbnB1dChjb25zdCB1aW50OF90ICpEYXRhLCBzaXplX3QgU2l6ZSkKIHsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2Z1enovZnV6el94NTA5Y3JsLmMgYi9wcm9ncmFtcy9mdXp6L2Z1enpfeDUwOWNybC5jCmluZGV4IDE1MWRiOTIuLmU4ZGFjZDkgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2Z1enovZnV6el94NTA5Y3JsLmMKKysrIGIvcHJvZ3JhbXMvZnV6ei9mdXp6X3g1MDljcmwuYwpAQCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlICJtYmVkdGxzL3g1MDlfY3JsLmgiCisjaW5jbHVkZSAiY29tbW9uLmgiCiAKIGludCBMTFZNRnV6emVyVGVzdE9uZUlucHV0KGNvbnN0IHVpbnQ4X3QgKkRhdGEsIHNpemVfdCBTaXplKQogewpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvZnV6ei9mdXp6X3g1MDljcnQuYyBiL3Byb2dyYW1zL2Z1enovZnV6el94NTA5Y3J0LmMKaW5kZXggM2VlZTA3Mi4uNzRkM2IwNyAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvZnV6ei9mdXp6X3g1MDljcnQuYworKysgYi9wcm9ncmFtcy9mdXp6L2Z1enpfeDUwOWNydC5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgIm1iZWR0bHMveDUwOV9jcnQuaCIKKyNpbmNsdWRlICJjb21tb24uaCIKIAogaW50IExMVk1GdXp6ZXJUZXN0T25lSW5wdXQoY29uc3QgdWludDhfdCAqRGF0YSwgc2l6ZV90IFNpemUpCiB7CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9mdXp6L2Z1enpfeDUwOWNzci5jIGIvcHJvZ3JhbXMvZnV6ei9mdXp6X3g1MDljc3IuYwppbmRleCA3OTQ2ZTU3Li40YzEyM2Y4IDEwMDY0NAotLS0gYS9wcm9ncmFtcy9mdXp6L2Z1enpfeDUwOWNzci5jCisrKyBiL3Byb2dyYW1zL2Z1enovZnV6el94NTA5Y3NyLmMKQEAgLTEsNSArMSw2IEBACiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSAibWJlZHRscy94NTA5X2Nzci5oIgorI2luY2x1ZGUgImNvbW1vbi5oIgogCiBpbnQgTExWTUZ1enplclRlc3RPbmVJbnB1dChjb25zdCB1aW50OF90ICpEYXRhLCBzaXplX3QgU2l6ZSkKIHsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2Z1enovb25lZmlsZS5jIGIvcHJvZ3JhbXMvZnV6ei9vbmVmaWxlLmMKaW5kZXggM2IyNzA5Zi4uMmQ0MzMwYSAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvZnV6ei9vbmVmaWxlLmMKKysrIGIvcHJvZ3JhbXMvZnV6ei9vbmVmaWxlLmMKQEAgLTEsMTQgKzEsMTMgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgogCiAvKiBUaGlzIGZpbGUgZG9lc24ndCB1c2UgYW55IE1iZWQgVExTIGZ1bmN0aW9uLCBidXQgZ3JhYiBtYmVkdGxzX2NvbmZpZy5oIGFueXdheQogICogaW4gY2FzZSBpdCBjb250YWlucyBwbGF0Zm9ybS1zcGVjaWZpYyAjZGVmaW5lcyByZWxhdGVkIHRvIG1hbGxvYyBvcgogICogc3RkaW8gZnVuY3Rpb25zLiAqLwogI2luY2x1ZGUgIm1iZWR0bHMvYnVpbGRfaW5mby5oIgogCi1pbnQgTExWTUZ1enplclRlc3RPbmVJbnB1dChjb25zdCB1aW50OF90ICpEYXRhLCBzaXplX3QgU2l6ZSk7Ci0KIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIHsKICAgICBGSUxFICpmcDsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL2hhc2gvQ01ha2VMaXN0cy50eHQgYi9wcm9ncmFtcy9oYXNoL0NNYWtlTGlzdHMudHh0CmluZGV4IGZjYWNmM2IuLjBhZDk3NGQgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL2hhc2gvQ01ha2VMaXN0cy50eHQKKysrIGIvcHJvZ3JhbXMvaGFzaC9DTWFrZUxpc3RzLnR4dApAQCAtMyw2ICszLDcgQEAKICAgICBoZWxsbwogICAgIG1kX2htYWNfZGVtbwogKQorYWRkX2RlcGVuZGVuY2llcygke3Byb2dyYW1zX3RhcmdldH0gJHtleGVjdXRhYmxlc30pCiAKIGZvcmVhY2goZXhlIElOIExJU1RTIGV4ZWN1dGFibGVzKQogICAgIGFkZF9leGVjdXRhYmxlKCR7ZXhlfSAke2V4ZX0uYyAkPFRBUkdFVF9PQkpFQ1RTOm1iZWR0bHNfdGVzdD4pCmRpZmYgLS1naXQgYS9wcm9ncmFtcy9oYXNoL21kX2htYWNfZGVtby5jIGIvcHJvZ3JhbXMvaGFzaC9tZF9obWFjX2RlbW8uYwppbmRleCA1ODE4MTZhLi40OTRlOWVmIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9oYXNoL21kX2htYWNfZGVtby5jCisrKyBiL3Byb2dyYW1zL2hhc2gvbWRfaG1hY19kZW1vLmMKQEAgLTU3LDcgKzU3LDcgQEAKIGNvbnN0IHVuc2lnbmVkIGNoYXIga2V5X2J5dGVzWzMyXSA9IHsgMCB9OwogCiAvKiBQcmludCB0aGUgY29udGVudHMgb2YgYSBidWZmZXIgaW4gaGV4ICovCi12b2lkIHByaW50X2J1Zihjb25zdCBjaGFyICp0aXRsZSwgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuKQorc3RhdGljIHZvaWQgcHJpbnRfYnVmKGNvbnN0IGNoYXIgKnRpdGxlLCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4pCiB7CiAgICAgcHJpbnRmKCIlczoiLCB0aXRsZSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW47IGkrKykgewpAQCAtODcsNyArODcsNyBAQAogICogVGhpcyBmdW5jdGlvbiBkZW1vbnN0cmF0ZXMgY29tcHV0YXRpb24gb2YgdGhlIEhNQUMgb2YgdHdvIG1lc3NhZ2VzIHVzaW5nCiAgKiB0aGUgbXVsdGlwYXJ0IEFQSS4KICAqLwotaW50IGhtYWNfZGVtbyh2b2lkKQorc3RhdGljIGludCBobWFjX2RlbW8odm9pZCkKIHsKICAgICBpbnQgcmV0OwogICAgIGNvbnN0IG1iZWR0bHNfbWRfdHlwZV90IGFsZyA9IE1CRURUTFNfTURfU0hBMjU2OwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvcGtleS9DTWFrZUxpc3RzLnR4dCBiL3Byb2dyYW1zL3BrZXkvQ01ha2VMaXN0cy50eHQKaW5kZXggY2QwMzg3YS4uZGVmYmUyOCAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvcGtleS9DTWFrZUxpc3RzLnR4dAorKysgYi9wcm9ncmFtcy9wa2V5L0NNYWtlTGlzdHMudHh0CkBAIC0yLDYgKzIsNyBAQAogICAgIGRoX2NsaWVudAogICAgIGRoX3NlcnZlcgogKQorYWRkX2RlcGVuZGVuY2llcygke3Byb2dyYW1zX3RhcmdldH0gJHtleGVjdXRhYmxlc19tYmVkdGxzfSkKIAogZm9yZWFjaChleGUgSU4gTElTVFMgZXhlY3V0YWJsZXNfbWJlZHRscykKICAgICBhZGRfZXhlY3V0YWJsZSgke2V4ZX0gJHtleGV9LmMgJDxUQVJHRVRfT0JKRUNUUzptYmVkdGxzX3Rlc3Q+KQpAQCAtMjksNiArMzAsNyBAQAogICAgIHJzYV92ZXJpZnkKICAgICByc2FfdmVyaWZ5X3BzcwogKQorYWRkX2RlcGVuZGVuY2llcygke3Byb2dyYW1zX3RhcmdldH0gJHtleGVjdXRhYmxlc19tYmVkY3J5cHRvfSkKIAogZm9yZWFjaChleGUgSU4gTElTVFMgZXhlY3V0YWJsZXNfbWJlZGNyeXB0bykKICAgICBhZGRfZXhlY3V0YWJsZSgke2V4ZX0gJHtleGV9LmMgJDxUQVJHRVRfT0JKRUNUUzptYmVkdGxzX3Rlc3Q+KQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvcGtleS9nZW5fa2V5LmMgYi9wcm9ncmFtcy9wa2V5L2dlbl9rZXkuYwppbmRleCAxOTRhNWNiLi44M2Q3YjcxIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9wa2V5L2dlbl9rZXkuYworKysgYi9wcm9ncmFtcy9wa2V5L2dlbl9rZXkuYwpAQCAtMzksOCArMzksOCBAQAogCiAjZGVmaW5lIERFVl9SQU5ET01fVEhSRVNIT0xEICAgICAgICAzMgogCi1pbnQgZGV2X3JhbmRvbV9lbnRyb3B5X3BvbGwodm9pZCAqZGF0YSwgdW5zaWduZWQgY2hhciAqb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW4sIHNpemVfdCAqb2xlbikKK3N0YXRpYyBpbnQgZGV2X3JhbmRvbV9lbnRyb3B5X3BvbGwodm9pZCAqZGF0YSwgdW5zaWduZWQgY2hhciAqb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuLCBzaXplX3QgKm9sZW4pCiB7CiAgICAgRklMRSAqZmlsZTsKICAgICBzaXplX3QgcmV0LCBsZWZ0ID0gbGVuOwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvcHNhL0NNYWtlTGlzdHMudHh0IGIvcHJvZ3JhbXMvcHNhL0NNYWtlTGlzdHMudHh0CmluZGV4IGE4ZTRiMGUuLmE2OTMzYTYgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3BzYS9DTWFrZUxpc3RzLnR4dAorKysgYi9wcm9ncmFtcy9wc2EvQ01ha2VMaXN0cy50eHQKQEAgLTYsNiArNiw3IEBACiAgICAgcHNhX2NvbnN0YW50X25hbWVzCiAgICAgcHNhX2hhc2gKICkKK2FkZF9kZXBlbmRlbmNpZXMoJHtwcm9ncmFtc190YXJnZXR9ICR7ZXhlY3V0YWJsZXN9KQogCiBpZihHRU5fRklMRVMpCiAgICAgYWRkX2N1c3RvbV9jb21tYW5kKApkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvcHNhL2FlYWRfZGVtby5jIGIvcHJvZ3JhbXMvcHNhL2FlYWRfZGVtby5jCmluZGV4IDYxOTE2NmQuLjJkOTllM2MgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3BzYS9hZWFkX2RlbW8uYworKysgYi9wcm9ncmFtcy9wc2EvYWVhZF9kZW1vLmMKQEAgLTgyLDcgKzgyLDcgQEAKIGNvbnN0IHVuc2lnbmVkIGNoYXIga2V5X2J5dGVzWzMyXSA9IHsgMHgyYSB9OwogCiAvKiBQcmludCB0aGUgY29udGVudHMgb2YgYSBidWZmZXIgaW4gaGV4ICovCi12b2lkIHByaW50X2J1Zihjb25zdCBjaGFyICp0aXRsZSwgdWludDhfdCAqYnVmLCBzaXplX3QgbGVuKQorc3RhdGljIHZvaWQgcHJpbnRfYnVmKGNvbnN0IGNoYXIgKnRpdGxlLCB1aW50OF90ICpidWYsIHNpemVfdCBsZW4pCiB7CiAgICAgcHJpbnRmKCIlczoiLCB0aXRsZSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW47IGkrKykgewpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvcHNhL2htYWNfZGVtby5jIGIvcHJvZ3JhbXMvcHNhL2htYWNfZGVtby5jCmluZGV4IDIwNTUwNTQuLjY4M2YzZTUgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3BzYS9obWFjX2RlbW8uYworKysgYi9wcm9ncmFtcy9wc2EvaG1hY19kZW1vLmMKQEAgLTU5LDcgKzU5LDcgQEAKIGNvbnN0IHVuc2lnbmVkIGNoYXIga2V5X2J5dGVzWzMyXSA9IHsgMCB9OwogCiAvKiBQcmludCB0aGUgY29udGVudHMgb2YgYSBidWZmZXIgaW4gaGV4ICovCi12b2lkIHByaW50X2J1Zihjb25zdCBjaGFyICp0aXRsZSwgdWludDhfdCAqYnVmLCBzaXplX3QgbGVuKQorc3RhdGljIHZvaWQgcHJpbnRfYnVmKGNvbnN0IGNoYXIgKnRpdGxlLCB1aW50OF90ICpidWYsIHNpemVfdCBsZW4pCiB7CiAgICAgcHJpbnRmKCIlczoiLCB0aXRsZSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW47IGkrKykgewpAQCAtOTAsNyArOTAsNyBAQAogICogVGhpcyBmdW5jdGlvbiBkZW1vbnN0cmF0ZXMgY29tcHV0YXRpb24gb2YgdGhlIEhNQUMgb2YgdHdvIG1lc3NhZ2VzIHVzaW5nCiAgKiB0aGUgbXVsdGlwYXJ0IEFQSS4KICAqLwotcHNhX3N0YXR1c190IGhtYWNfZGVtbyh2b2lkKQorc3RhdGljIHBzYV9zdGF0dXNfdCBobWFjX2RlbW8odm9pZCkKIHsKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzOwogICAgIGNvbnN0IHBzYV9hbGdvcml0aG1fdCBhbGcgPSBQU0FfQUxHX0hNQUMoUFNBX0FMR19TSEFfMjU2KTsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3BzYS9wc2FfY29uc3RhbnRfbmFtZXMuYyBiL3Byb2dyYW1zL3BzYS9wc2FfY29uc3RhbnRfbmFtZXMuYwppbmRleCAwYmFmNGEwLi43OTA1YjUyIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9wc2EvcHNhX2NvbnN0YW50X25hbWVzLmMKKysrIGIvcHJvZ3JhbXMvcHNhL3BzYV9jb25zdGFudF9uYW1lcy5jCkBAIC0xOTIsNyArMTkyLDcgQEAKICAgICBUWVBFX1NUQVRVUywKIH0gc2lnbmVkX3ZhbHVlX3R5cGU7CiAKLWludCBwcm9jZXNzX3NpZ25lZChzaWduZWRfdmFsdWVfdHlwZSB0eXBlLCBsb25nIG1pbiwgbG9uZyBtYXgsIGNoYXIgKiphcmdwKQorc3RhdGljIGludCBwcm9jZXNzX3NpZ25lZChzaWduZWRfdmFsdWVfdHlwZSB0eXBlLCBsb25nIG1pbiwgbG9uZyBtYXgsIGNoYXIgKiphcmdwKQogewogICAgIGZvciAoOyAqYXJncCAhPSBOVUxMOyBhcmdwKyspIHsKICAgICAgICAgY2hhciBidWZmZXJbMjAwXTsKQEAgLTIzMSw3ICsyMzEsNyBAQAogICAgIFRZUEVfS0VZX1VTQUdFLAogfSB1bnNpZ25lZF92YWx1ZV90eXBlOwogCi1pbnQgcHJvY2Vzc191bnNpZ25lZCh1bnNpZ25lZF92YWx1ZV90eXBlIHR5cGUsIHVuc2lnbmVkIGxvbmcgbWF4LCBjaGFyICoqYXJncCkKK3N0YXRpYyBpbnQgcHJvY2Vzc191bnNpZ25lZCh1bnNpZ25lZF92YWx1ZV90eXBlIHR5cGUsIHVuc2lnbmVkIGxvbmcgbWF4LCBjaGFyICoqYXJncCkKIHsKICAgICBmb3IgKDsgKmFyZ3AgIT0gTlVMTDsgYXJncCsrKSB7CiAgICAgICAgIGNoYXIgYnVmZmVyWzIwMF07CmRpZmYgLS1naXQgYS9wcm9ncmFtcy9yYW5kb20vQ01ha2VMaXN0cy50eHQgYi9wcm9ncmFtcy9yYW5kb20vQ01ha2VMaXN0cy50eHQKaW5kZXggNTk0MDM5NS4uZjBjNzgyNSAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvcmFuZG9tL0NNYWtlTGlzdHMudHh0CisrKyBiL3Byb2dyYW1zL3JhbmRvbS9DTWFrZUxpc3RzLnR4dApAQCAtMiw2ICsyLDcgQEAKICAgICBnZW5fZW50cm9weQogICAgIGdlbl9yYW5kb21fY3RyX2RyYmcKICkKK2FkZF9kZXBlbmRlbmNpZXMoJHtwcm9ncmFtc190YXJnZXR9ICR7ZXhlY3V0YWJsZXN9KQogCiBmb3JlYWNoKGV4ZSBJTiBMSVNUUyBleGVjdXRhYmxlcykKICAgICBhZGRfZXhlY3V0YWJsZSgke2V4ZX0gJHtleGV9LmMgJDxUQVJHRVRfT0JKRUNUUzptYmVkdGxzX3Rlc3Q+KQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc3NsL0NNYWtlTGlzdHMudHh0IGIvcHJvZ3JhbXMvc3NsL0NNYWtlTGlzdHMudHh0CmluZGV4IGVjMmM4NmYuLjAyMDEwZDggMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3NzbC9DTWFrZUxpc3RzLnR4dAorKysgYi9wcm9ncmFtcy9zc2wvQ01ha2VMaXN0cy50eHQKQEAgLTE2LDYgKzE2LDggQEAKICAgICBzc2xfc2VydmVyCiAgICAgc3NsX3NlcnZlcjIKICkKK2FkZF9kZXBlbmRlbmNpZXMoJHtwcm9ncmFtc190YXJnZXR9ICR7ZXhlY3V0YWJsZXN9KQorYWRkX2RlcGVuZGVuY2llcygke3NzbF9vcHRfdGFyZ2V0fSAke2V4ZWN1dGFibGVzfSkKIAogaWYoR0VOX0ZJTEVTKQogICAgICMgSW5mb3JtIENNYWtlIHRoYXQgdGhlIGZvbGxvd2luZyBmaWxlIHdpbGwgYmUgZ2VuZXJhdGVkIGFzIHBhcnQgb2YgdGhlIGJ1aWxkCmRpZmYgLS1naXQgYS9wcm9ncmFtcy9zc2wvZHRsc19jbGllbnQuYyBiL3Byb2dyYW1zL3NzbC9kdGxzX2NsaWVudC5jCmluZGV4IGRkYjNjMzQuLjhkNzM3OGEgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3NzbC9kdGxzX2NsaWVudC5jCisrKyBiL3Byb2dyYW1zL3NzbC9kdGxzX2NsaWVudC5jCkBAIC05LDE4ICs5LDE3IEBACiAKICNpbmNsdWRlICJtYmVkdGxzL3BsYXRmb3JtLmgiCiAKLSNpZiAhZGVmaW5lZChNQkVEVExTX1NTTF9DTElfQykgfHwgIWRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fRFRMUykgfHwgICAgXAotICAgICFkZWZpbmVkKE1CRURUTFNfTkVUX0MpICB8fCAhZGVmaW5lZChNQkVEVExTX1RJTUlOR19DKSB8fCAgICAgICAgICAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19FTlRST1BZX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfQykgfHwgICAgICAgIFwKLSAgICAhZGVmaW5lZChNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfUlNBX0MpIHx8ICAgICAgXAotICAgICFkZWZpbmVkKE1CRURUTFNfUEVNX1BBUlNFX0MpCisjaWYgIWRlZmluZWQoTUJFRFRMU19FTlRST1BZX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfQykgfHwgICAgICBcCisgICAgIWRlZmluZWQoTUJFRFRMU19ORVRfQykgfHwgIWRlZmluZWQoTUJFRFRMU19TU0xfQ0xJX0MpIHx8ICAgICAgICAgICBcCisgICAgIWRlZmluZWQoTUJFRFRMU19USU1JTkdfQykgfHwgIWRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fRFRMUykgfHwgICBcCisgICAgIWRlZmluZWQoTUJFRFRMU19QRU1fUEFSU0VfQykgfHwgIWRlZmluZWQoTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DKQogaW50IG1haW4odm9pZCkKIHsKLSAgICBtYmVkdGxzX3ByaW50ZigiTUJFRFRMU19TU0xfQ0xJX0MgYW5kL29yIE1CRURUTFNfU1NMX1BST1RPX0RUTFMgYW5kL29yICIKLSAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19ORVRfQyBhbmQvb3IgTUJFRFRMU19USU1JTkdfQyBhbmQvb3IgIgotICAgICAgICAgICAgICAgICAgICJNQkVEVExTX0VOVFJPUFlfQyBhbmQvb3IgTUJFRFRMU19DVFJfRFJCR19DIGFuZC9vciAiCi0gICAgICAgICAgICAgICAgICAgIk1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQyBhbmQvb3IgTUJFRFRMU19SU0FfQyBhbmQvb3IgIgotICAgICAgICAgICAgICAgICAgICJNQkVEVExTX1BFTV9QQVJTRV9DIG5vdCBkZWZpbmVkLlxuIik7CisgICAgbWJlZHRsc19wcmludGYoIk1CRURUTFNfRU5UUk9QWV9DIGFuZC9vciBNQkVEVExTX0NUUl9EUkJHX0MgYW5kL29yICIKKyAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19ORVRfQyBhbmQvb3IgTUJFRFRMU19TU0xfQ0xJX0MgYW5kL29yICIKKyAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19USU1JTkdfQyBhbmQvb3IgTUJFRFRMU19TU0xfUFJPVE9fRFRMUyBhbmQvb3IgIgorICAgICAgICAgICAgICAgICAgICJNQkVEVExTX1BFTV9QQVJTRV9DIGFuZC9vciBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MgIgorICAgICAgICAgICAgICAgICAgICJub3QgZGVmaW5lZC5cbiIpOwogICAgIG1iZWR0bHNfZXhpdCgwKTsKIH0KICNlbHNlCkBAIC00NSw3ICs0NCw3IEBACiAjaWZkZWYgRk9SQ0VfSVBWNAogI2RlZmluZSBTRVJWRVJfQUREUiAiMTI3LjAuMC4xIiAgICAgLyogRm9yY2VzIElQdjQgKi8KICNlbHNlCi0jZGVmaW5lIFNFUlZFUl9BRERSICI6OjEiCisjZGVmaW5lIFNFUlZFUl9BRERSIFNFUlZFUl9OQU1FCiAjZW5kaWYKIAogI2RlZmluZSBNRVNTQUdFICAgICAiRWNobyB0aGlzIgpAQCAtMzM3LDYgKzMzNiw1IEBACiAKICAgICBtYmVkdGxzX2V4aXQocmV0KTsKIH0KLSNlbmRpZiAvKiBNQkVEVExTX1NTTF9DTElfQyAmJiBNQkVEVExTX1NTTF9QUk9UT19EVExTICYmIE1CRURUTFNfTkVUX0MgJiYKLSAgICAgICAgICBNQkVEVExTX1RJTUlOR19DICYmIE1CRURUTFNfRU5UUk9QWV9DICYmIE1CRURUTFNfQ1RSX0RSQkdfQyAmJgotICAgICAgICAgIE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQyAmJiBNQkVEVExTX1JTQV9DICYmIE1CRURUTFNfUEVNX1BBUlNFX0MgKi8KKworI2VuZGlmIC8qIGNvbmZpZ3VyYXRpb24gYWxsb3dzIHJ1bm5pbmcgdGhpcyBwcm9ncmFtICovCmRpZmYgLS1naXQgYS9wcm9ncmFtcy9zc2wvZHRsc19zZXJ2ZXIuYyBiL3Byb2dyYW1zL3NzbC9kdGxzX3NlcnZlci5jCmluZGV4IDczMjYyNWUuLmQxMDYzY2IgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3NzbC9kdGxzX3NlcnZlci5jCisrKyBiL3Byb2dyYW1zL3NzbC9kdGxzX3NlcnZlci5jCkBAIC0xOCwxOSArMTgsMTkgQEAKICNkZWZpbmUgQklORF9JUCAgICAgIjo6IgogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChNQkVEVExTX1NTTF9TUlZfQykgfHwgIWRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fRFRMUykgfHwgICAgXAotICAgICFkZWZpbmVkKE1CRURUTFNfU1NMX0NPT0tJRV9DKSB8fCAhZGVmaW5lZChNQkVEVExTX05FVF9DKSB8fCAgICAgICAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19FTlRST1BZX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfQykgfHwgICAgICAgIFwKLSAgICAhZGVmaW5lZChNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfUlNBX0MpIHx8ICAgICAgXAotICAgICFkZWZpbmVkKE1CRURUTFNfUEVNX1BBUlNFX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfVElNSU5HX0MpCi0KKyNpZiAhZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfQykgfHwgIWRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19DKSB8fCAgICAgIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX05FVF9DKSB8fCAhZGVmaW5lZChNQkVEVExTX1NTTF9TUlZfQykgfHwgICAgICAgICAgIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX1RJTUlOR19DKSB8fCAhZGVmaW5lZChNQkVEVExTX1NTTF9QUk9UT19EVExTKSB8fCAgIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX1NTTF9DT09LSUVfQykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX1BFTV9QQVJTRV9DKSB8fCAhZGVmaW5lZChNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MpCiBpbnQgbWFpbih2b2lkKQogewotICAgIHByaW50ZigiTUJFRFRMU19TU0xfU1JWX0MgYW5kL29yIE1CRURUTFNfU1NMX1BST1RPX0RUTFMgYW5kL29yICIKLSAgICAgICAgICAgIk1CRURUTFNfU1NMX0NPT0tJRV9DIGFuZC9vciBNQkVEVExTX05FVF9DIGFuZC9vciAiCi0gICAgICAgICAgICJNQkVEVExTX0VOVFJPUFlfQyBhbmQvb3IgTUJFRFRMU19DVFJfRFJCR19DIGFuZC9vciAiCi0gICAgICAgICAgICJNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MgYW5kL29yIE1CRURUTFNfUlNBX0MgYW5kL29yICIKLSAgICAgICAgICAgIk1CRURUTFNfUEVNX1BBUlNFX0MgYW5kL29yIE1CRURUTFNfVElNSU5HX0Mgbm90IGRlZmluZWQuXG4iKTsKKyAgICBtYmVkdGxzX3ByaW50ZigiTUJFRFRMU19FTlRST1BZX0MgYW5kL29yIE1CRURUTFNfQ1RSX0RSQkdfQyBhbmQvb3IgIgorICAgICAgICAgICAgICAgICAgICJNQkVEVExTX05FVF9DIGFuZC9vciBNQkVEVExTX1NTTF9TUlZfQyBhbmQvb3IgIgorICAgICAgICAgICAgICAgICAgICJNQkVEVExTX1RJTUlOR19DIGFuZC9vciBNQkVEVExTX1NTTF9QUk9UT19EVExTIGFuZC9vciAiCisgICAgICAgICAgICAgICAgICAgIk1CRURUTFNfU1NMX0NPT0tJRV9DIGFuZC9vciAiCisgICAgICAgICAgICAgICAgICAgIk1CRURUTFNfUEVNX1BBUlNFX0MgYW5kL29yIE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQyAiCisgICAgICAgICAgICAgICAgICAgIm5vdCBkZWZpbmVkLlxuIik7CiAgICAgbWJlZHRsc19leGl0KDApOwogfQogI2Vsc2UKQEAgLTI5MSw3ICsyOTEsMTQgQEAKICAgICAgICAgcmV0ID0gMDsKICAgICAgICAgZ290byByZXNldDsKICAgICB9IGVsc2UgaWYgKHJldCAhPSAwKSB7Ci0gICAgICAgIHByaW50ZigiIGZhaWxlZFxuICAhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCAtMHgleFxuXG4iLCAodW5zaWduZWQgaW50KSAtcmV0KTsKKyAgICAgICAgcHJpbnRmKCIgZmFpbGVkXG4gICEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIC0weCV4XG4iLCAodW5zaWduZWQgaW50KSAtcmV0KTsKKyAgICAgICAgaWYgKHJldCA9PSBNQkVEVExTX0VSUl9TU0xfVU5FWFBFQ1RFRF9NRVNTQUdFKSB7CisgICAgICAgICAgICBwcmludGYoIiAgICBBbiB1bmV4cGVjdGVkIG1lc3NhZ2Ugd2FzIHJlY2VpdmVkIGZyb20gb3VyIHBlZXIuIElmIHRoaXMgaGFwcGVuZWQgYXRcbiIpOworICAgICAgICAgICAgcHJpbnRmKCIgICAgdGhlIGJlZ2lubmluZyBvZiB0aGUgaGFuZHNoYWtlLCB0aGlzIGlzIGxpa2VseSBhIGR1cGxpY2F0ZWQgcGFja2V0IG9yXG4iKTsKKyAgICAgICAgICAgIHByaW50ZigiICAgIGEgY2xvc2Vfbm90aWZ5IGFsZXJ0IGZyb20gdGhlIHByZXZpb3VzIGNvbm5lY3Rpb24sIHdoaWNoIGlzIGhhcm1sZXNzLlxuIik7CisgICAgICAgICAgICByZXQgPSAwOworICAgICAgICB9CisgICAgICAgIHByaW50ZigiXG4iKTsKICAgICAgICAgZ290byByZXNldDsKICAgICB9CiAKQEAgLTQwMiw3ICs0MDksNSBAQAogCiAgICAgbWJlZHRsc19leGl0KHJldCk7CiB9Ci0jZW5kaWYgLyogTUJFRFRMU19TU0xfU1JWX0MgJiYgTUJFRFRMU19TU0xfUFJPVE9fRFRMUyAmJgotICAgICAgICAgIE1CRURUTFNfU1NMX0NPT0tJRV9DICYmIE1CRURUTFNfTkVUX0MgJiYgTUJFRFRMU19FTlRST1BZX0MgJiYKLSAgICAgICAgICBNQkVEVExTX0NUUl9EUkJHX0MgJiYgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DICYmIE1CRURUTFNfUlNBX0MKLSAgICAgICAgICAmJiBNQkVEVExTX1BFTV9QQVJTRV9DICYmIE1CRURUTFNfVElNSU5HX0MgKi8KKworI2VuZGlmIC8qIGNvbmZpZ3VyYXRpb24gYWxsb3dzIHJ1bm5pbmcgdGhpcyBwcm9ncmFtICovCmRpZmYgLS1naXQgYS9wcm9ncmFtcy9zc2wvbWluaV9jbGllbnQuYyBiL3Byb2dyYW1zL3NzbC9taW5pX2NsaWVudC5jCmluZGV4IDZiZWYyMDguLmJhMDE5NWMgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3NzbC9taW5pX2NsaWVudC5jCisrKyBiL3Byb2dyYW1zL3NzbC9taW5pX2NsaWVudC5jCkBAIC03MCw3ICs3MCw3IEBACiAjZW5kaWYKIAogI2lmIGRlZmluZWQoTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DKQotLyogVGhpcyBpcyB0ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCwgYSBDQSB1c2luZyBFQyBzZWNwMzg0cjEgKi8KKy8qIFRoaXMgaXMgZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0LCBhIENBIHVzaW5nIEVDIHNlY3AzODRyMSAqLwogY29uc3QgdW5zaWduZWQgY2hhciBjYV9jZXJ0W10gPSB7CiAgICAgMHgzMCwgMHg4MiwgMHgwMiwgMHg1MiwgMHgzMCwgMHg4MiwgMHgwMSwgMHhkNywgMHhhMCwgMHgwMywgMHgwMiwgMHgwMSwKICAgICAweDAyLCAweDAyLCAweDA5LCAweDAwLCAweGMxLCAweDQzLCAweGUyLCAweDdlLCAweDYyLCAweDQzLCAweGNjLCAweGU4LApkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc3NsL3NzbF9jbGllbnQxLmMgYi9wcm9ncmFtcy9zc2wvc3NsX2NsaWVudDEuYwppbmRleCBlZTczNGIxLi4zZDZlNjdjIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9zc2wvc3NsX2NsaWVudDEuYworKysgYi9wcm9ncmFtcy9zc2wvc3NsX2NsaWVudDEuYwpAQCAtOSwxNyArOSwxNCBAQAogCiAjaW5jbHVkZSAibWJlZHRscy9wbGF0Zm9ybS5oIgogCi0jaWYgIWRlZmluZWQoTUJFRFRMU19CSUdOVU1fQykgfHwgIWRlZmluZWQoTUJFRFRMU19FTlRST1BZX0MpIHx8ICAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19TU0xfVExTX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfU1NMX0NMSV9DKSB8fCAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19ORVRfQykgfHwgIWRlZmluZWQoTUJFRFRMU19SU0FfQykgfHwgICAgICAgICAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19QRU1fUEFSU0VfQykgfHwgIWRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19DKSB8fCBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DKQorI2lmICFkZWZpbmVkKE1CRURUTFNfRU5UUk9QWV9DKSB8fCAhZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX0MpIHx8ICAgICAgXAorICAgICFkZWZpbmVkKE1CRURUTFNfTkVUX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfU1NMX0NMSV9DKSB8fCAgICAgICAgICAgXAorICAgICFkZWZpbmVkKE1CRURUTFNfUEVNX1BBUlNFX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQykKIGludCBtYWluKHZvaWQpCiB7Ci0gICAgbWJlZHRsc19wcmludGYoIk1CRURUTFNfQklHTlVNX0MgYW5kL29yIE1CRURUTFNfRU5UUk9QWV9DIGFuZC9vciAiCi0gICAgICAgICAgICAgICAgICAgIk1CRURUTFNfU1NMX1RMU19DIGFuZC9vciBNQkVEVExTX1NTTF9DTElfQyBhbmQvb3IgIgotICAgICAgICAgICAgICAgICAgICJNQkVEVExTX05FVF9DIGFuZC9vciBNQkVEVExTX1JTQV9DIGFuZC9vciAiCi0gICAgICAgICAgICAgICAgICAgIk1CRURUTFNfQ1RSX0RSQkdfQyBhbmQvb3IgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DICIKKyAgICBtYmVkdGxzX3ByaW50ZigiTUJFRFRMU19FTlRST1BZX0MgYW5kL29yIE1CRURUTFNfQ1RSX0RSQkdfQyBhbmQvb3IgIgorICAgICAgICAgICAgICAgICAgICJNQkVEVExTX05FVF9DIGFuZC9vciBNQkVEVExTX1NTTF9DTElfQyBhbmQvb3IgIgorICAgICAgICAgICAgICAgICAgICJNQkVEVExTX1BFTV9QQVJTRV9DIGFuZC9vciBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MgIgogICAgICAgICAgICAgICAgICAgICJub3QgZGVmaW5lZC5cbiIpOwogICAgIG1iZWR0bHNfZXhpdCgwKTsKIH0KQEAgLTI0MCw2ICsyMzcsOSBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKHJldCA9PSBNQkVEVExTX0VSUl9TU0xfUEVFUl9DTE9TRV9OT1RJRlkpIHsKKyAgICAgICAgICAgIG1iZWR0bHNfcHJpbnRmKCJUaGUgcmV0dXJuIHZhbHVlICVkIGZyb20gbWJlZHRsc19zc2xfcmVhZCgpIG1lYW5zIHRoYXQgdGhlIHNlcnZlclxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgImNsb3NlZCB0aGUgY29ubmVjdGlvbiBmaXJzdC4gV2UncmUgb2sgd2l0aCB0aGF0LlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfRVJSX1NTTF9QRUVSX0NMT1NFX05PVElGWSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC0yNTksNyArMjU5LDkgQEAKIAogICAgIG1iZWR0bHNfc3NsX2Nsb3NlX25vdGlmeSgmc3NsKTsKIAotICAgIGV4aXRfY29kZSA9IE1CRURUTFNfRVhJVF9TVUNDRVNTOworICAgIGlmIChyZXQgPT0gMCB8fCByZXQgPT0gTUJFRFRMU19FUlJfU1NMX1BFRVJfQ0xPU0VfTk9USUZZKSB7CisgICAgICAgIGV4aXRfY29kZSA9IE1CRURUTFNfRVhJVF9TVUNDRVNTOworICAgIH0KIAogZXhpdDoKIApAQCAtMjgzLDYgKzI4NSw1IEBACiAKICAgICBtYmVkdGxzX2V4aXQoZXhpdF9jb2RlKTsKIH0KLSNlbmRpZiAvKiBNQkVEVExTX0JJR05VTV9DICYmIE1CRURUTFNfRU5UUk9QWV9DICYmIE1CRURUTFNfU1NMX1RMU19DICYmCi0gICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgJiYgTUJFRFRMU19ORVRfQyAmJiBNQkVEVExTX1JTQV9DICYmCi0gICAgICAgICAgTUJFRFRMU19QRU1fUEFSU0VfQyAmJiBNQkVEVExTX0NUUl9EUkJHX0MgJiYgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DICovCisKKyNlbmRpZiAvKiBjb25maWd1cmF0aW9uIGFsbG93cyBydW5uaW5nIHRoaXMgcHJvZ3JhbSAqLwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc3NsL3NzbF9jbGllbnQyLmMgYi9wcm9ncmFtcy9zc2wvc3NsX2NsaWVudDIuYwppbmRleCA5N2RmZGU2Li5lYzY4NzMwIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9zc2wvc3NsX2NsaWVudDIuYworKysgYi9wcm9ncmFtcy9zc2wvc3NsX2NsaWVudDIuYwpAQCAtODIsNiArODIsNyBAQAogI2RlZmluZSBERkxfQ0lEX1ZBTFVFX1JFTkVHTyAgICBOVUxMCiAjZGVmaW5lIERGTF9SRUNPTk5FQ1RfSEFSRCAgICAgIDAKICNkZWZpbmUgREZMX1RJQ0tFVFMgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTX0VOQUJMRUQKKyNkZWZpbmUgREZMX05FV19TRVNTSU9OX1RJQ0tFVFMgLTEKICNkZWZpbmUgREZMX0FMUE5fU1RSSU5HICAgICAgICAgTlVMTAogI2RlZmluZSBERkxfR1JPVVBTICAgICAgICAgICAgICBOVUxMCiAjZGVmaW5lIERGTF9TSUdfQUxHUyAgICAgICAgICAgIE5VTEwKQEAgLTE5OCw3ICsxOTksOCBAQAogCiAjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMpCiAjZGVmaW5lIFVTQUdFX1RJQ0tFVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIiAgICB0aWNrZXRzPSUlZCAgICAgICAgICBkZWZhdWx0OiAxIChlbmFibGVkKVxuIgorICAgICIgICAgdGlja2V0cz0lJWQgICAgICAgICAgICAgIGRlZmF1bHQ6IDEgKGVuYWJsZWQpXG4iICAgIFwKKyAgICAiICAgIG5ld19zZXNzaW9uX3RpY2tldHM9JSVkICBkZWZhdWx0OiAobGlicmFyeSBkZWZhdWx0OiBkaXNhYmxlZClcbiIKICNlbHNlCiAjZGVmaW5lIFVTQUdFX1RJQ0tFVFMgIiIKICNlbmRpZiAvKiBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgKi8KQEAgLTUxNCw3ICs1MTYsOCBAQAogICAgIGludCByZWNvX2RlbGF5OyAgICAgICAgICAgICAvKiBkZWxheSBpbiBzZWNvbmRzIGJlZm9yZSByZXN1bWluZyBzZXNzaW9uICovCiAgICAgaW50IHJlY29fbW9kZTsgICAgICAgICAgICAgIC8qIGhvdyB0byBrZWVwIHRoZSBzZXNzaW9uIGFyb3VuZCAgICAgICAgICAgKi8KICAgICBpbnQgcmVjb25uZWN0X2hhcmQ7ICAgICAgICAgLyogdW5leHBlY3RlZGx5IHJlY29ubmVjdCBmcm9tIHRoZSBzYW1lIHBvcnQgKi8KLSAgICBpbnQgdGlja2V0czsgICAgICAgICAgICAgICAgLyogZW5hYmxlIC8gZGlzYWJsZSBzZXNzaW9uIHRpY2tldHMgICAgICAgICAqLworICAgIGludCB0aWNrZXRzOyAgICAgICAgICAgICAgICAvKiBlbmFibGUgLyBkaXNhYmxlIHNlc3Npb24gdGlja2V0cyAoVExTIDEuMikgKi8KKyAgICBpbnQgbmV3X3Nlc3Npb25fdGlja2V0czsgICAgLyogZW5hYmxlIC8gZGlzYWJsZSBuZXcgc2Vzc2lvbiB0aWNrZXRzIChUTFMgMS4zKSAqLwogICAgIGNvbnN0IGNoYXIgKmdyb3VwczsgICAgICAgICAvKiBsaXN0IG9mIHN1cHBvcnRlZCBncm91cHMgICAgICAgICAgICAgICAgICovCiAgICAgY29uc3QgY2hhciAqc2lnX2FsZ3M7ICAgICAgIC8qIHN1cHBvcnRlZCBUTFMgMS4zIHNpZ25hdHVyZSBhbGdvcml0aG1zICAgKi8KICAgICBjb25zdCBjaGFyICphbHBuX3N0cmluZzsgICAgLyogQUxQTiBzdXBwb3J0ZWQgcHJvdG9jb2xzICAgICAgICAgICAgICAgICAqLwpAQCAtNTk3LDggKzYwMCw4IEBACiAjZW5kaWYgLyogTUJFRFRMU19TU0xfSEFORFNIQUtFX1dJVEhfQ0VSVF9FTkFCTEVEICovCiAKICNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX0RUTFNfQ09OTkVDVElPTl9JRCkKLWludCByZXBvcnRfY2lkX3VzYWdlKG1iZWR0bHNfc3NsX2NvbnRleHQgKnNzbCwKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmFkZGl0aW9uYWxfZGVzY3JpcHRpb24pCitzdGF0aWMgaW50IHJlcG9ydF9jaWRfdXNhZ2UobWJlZHRsc19zc2xfY29udGV4dCAqc3NsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmFkZGl0aW9uYWxfZGVzY3JpcHRpb24pCiB7CiAgICAgaW50IHJldDsKICAgICB1bnNpZ25lZCBjaGFyIHBlZXJfY2lkW01CRURUTFNfU1NMX0NJRF9PVVRfTEVOX01BWF07CkBAIC04MTgsOCArODIxLDYgQEAKICAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBrZXlfYXR0cmlidXRlczsKICNlbmRpZgogICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7Ci0jZWxpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMykKLSAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzOwogI2VuZGlmCiAKICAgICBybmdfY29udGV4dF90IHJuZzsKQEAgLTg5NCw3ICs4OTUsMTUgQEAKICAgICBtZW1zZXQoKHZvaWQgKikgYWxwbl9saXN0LCAwLCBzaXplb2YoYWxwbl9saXN0KSk7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykgfHwgZGVmaW5lZChNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMpCisgICAgLyogRm9yIGJ1aWxkcyB3aXRoIFRMUyAxLjMgZW5hYmxlZCBidXQgbm90IE1CRURUTFNfVVNFX1BTQV9DUllQVE8sCisgICAgICogd2UgZGVsaWJlcmF0ZWx5IGRvIG5vdCBjYWxsIHBzYV9jcnlwdG9faW5pdCgpIGhlcmUsIHRvIHRlc3QgdGhhdAorICAgICAqIHRoZSBsaWJyYXJ5IGlzIGJhY2t3YXJkLWNvbXBhdGlibGUgd2l0aCB2ZXJzaW9ucyBwcmlvciB0byAzLjYuMAorICAgICAqIHdoZXJlIGNhbGxpbmcgcHNhX2NyeXB0b19pbml0KCkgd2FzIG5vdCByZXF1aXJlZCB0byBvcGVuIGEgVExTCisgICAgICogY29ubmVjdGlvbiBpbiB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLiBTZWUKKyAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTA3MiBhbmQKKyAgICAgKiBtYmVkdGxzX3NzbF90bHMxM19jcnlwdG9faW5pdCgpLgorICAgICAqLworI2lmIGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykKICAgICBzdGF0dXMgPSBwc2FfY3J5cHRvX2luaXQoKTsKICAgICBpZiAoc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7CiAgICAgICAgIG1iZWR0bHNfZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBQU0EgQ3J5cHRvIGltcGxlbWVudGF0aW9uOiAlZFxuIiwKQEAgLTk2Myw2ICs5NzIsNyBAQAogICAgIG9wdC5yZWNvX21vZGUgICAgICAgICAgID0gREZMX1JFQ09fTU9ERTsKICAgICBvcHQucmVjb25uZWN0X2hhcmQgICAgICA9IERGTF9SRUNPTk5FQ1RfSEFSRDsKICAgICBvcHQudGlja2V0cyAgICAgICAgICAgICA9IERGTF9USUNLRVRTOworICAgIG9wdC5uZXdfc2Vzc2lvbl90aWNrZXRzID0gREZMX05FV19TRVNTSU9OX1RJQ0tFVFM7CiAgICAgb3B0LmFscG5fc3RyaW5nICAgICAgICAgPSBERkxfQUxQTl9TVFJJTkc7CiAgICAgb3B0Lmdyb3VwcyAgICAgICAgICAgICAgPSBERkxfR1JPVVBTOwogICAgIG9wdC5zaWdfYWxncyAgICAgICAgICAgID0gREZMX1NJR19BTEdTOwpAQCAtMTIyMCw2ICsxMjMwLDExIEBACiAgICAgICAgICAgICBpZiAob3B0LnRpY2tldHMgPCAwKSB7CiAgICAgICAgICAgICAgICAgZ290byB1c2FnZTsKICAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAocCwgIm5ld19zZXNzaW9uX3RpY2tldHMiKSA9PSAwKSB7CisgICAgICAgICAgICBvcHQubmV3X3Nlc3Npb25fdGlja2V0cyA9IGF0b2kocSk7CisgICAgICAgICAgICBpZiAob3B0Lm5ld19zZXNzaW9uX3RpY2tldHMgPCAwKSB7CisgICAgICAgICAgICAgICAgZ290byB1c2FnZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAocCwgImFscG4iKSA9PSAwKSB7CiAgICAgICAgICAgICBvcHQuYWxwbl9zdHJpbmcgPSBxOwogICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChwLCAiZXh0ZW5kZWRfbXMiKSA9PSAwKSB7CkBAIC0xOTMwLDcgKzE5NDUsMTMgQEAKIAogI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTKQogICAgIG1iZWR0bHNfc3NsX2NvbmZfc2Vzc2lvbl90aWNrZXRzKCZjb25mLCBvcHQudGlja2V0cyk7Ci0jZW5kaWYKKyNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMykKKyAgICBpZiAob3B0Lm5ld19zZXNzaW9uX3RpY2tldHMgIT0gREZMX05FV19TRVNTSU9OX1RJQ0tFVFMpIHsKKyAgICAgICAgbWJlZHRsc19zc2xfY29uZl90bHMxM19lbmFibGVfc2lnbmFsX25ld19zZXNzaW9uX3RpY2tldHMoCisgICAgICAgICAgICAmY29uZiwgb3B0Lm5ld19zZXNzaW9uX3RpY2tldHMpOworICAgIH0KKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgKi8KKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgKi8KIAogICAgIGlmIChvcHQuZm9yY2VfY2lwaGVyc3VpdGVbMF0gIT0gREZMX0ZPUkNFX0NJUEhFUikgewogICAgICAgICBtYmVkdGxzX3NzbF9jb25mX2NpcGhlcnN1aXRlcygmY29uZiwgb3B0LmZvcmNlX2NpcGhlcnN1aXRlKTsKQEAgLTIyMDQsNyArMjIyNSw5IEBACiAgICAgICAgICAgICByZXQgIT0gTUJFRFRMU19FUlJfU1NMX0NSWVBUT19JTl9QUk9HUkVTUykgewogICAgICAgICAgICAgbWJlZHRsc19wcmludGYoIiBmYWlsZWRcbiAgISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQgLTB4JXhcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KSAtcmV0KTsKLSAgICAgICAgICAgIGlmIChyZXQgPT0gTUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQpIHsKKyNpZiBkZWZpbmVkKE1CRURUTFNfU1NMX0hBTkRTSEFLRV9XSVRIX0NFUlRfRU5BQkxFRCkKKyAgICAgICAgICAgIGlmIChyZXQgPT0gTUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQgfHwKKyAgICAgICAgICAgICAgICByZXQgPT0gTUJFRFRMU19FUlJfU1NMX0JBRF9DRVJUSUZJQ0FURSkgewogICAgICAgICAgICAgICAgIG1iZWR0bHNfcHJpbnRmKAogICAgICAgICAgICAgICAgICAgICAiICAgIFVuYWJsZSB0byB2ZXJpZnkgdGhlIHNlcnZlcidzIGNlcnRpZmljYXRlLiAiCiAgICAgICAgICAgICAgICAgICAgICJFaXRoZXIgaXQgaXMgaW52YWxpZCxcbiIKQEAgLTIyMTUsNyArMjIzOCwxMyBAQAogICAgICAgICAgICAgICAgICAgICAibm90IHVzaW5nIFRMUyAxLjMuXG4iCiAgICAgICAgICAgICAgICAgICAgICIgICAgRm9yIFRMUyAxLjMgc2VydmVyLCB0cnkgYGNhX3BhdGg9L2V0Yy9zc2wvY2VydHMvYCIKICAgICAgICAgICAgICAgICAgICAgIm9yIG90aGVyIGZvbGRlciB0aGF0IGhhcyByb290IGNlcnRpZmljYXRlc1xuIik7CisKKyAgICAgICAgICAgICAgICBmbGFncyA9IG1iZWR0bHNfc3NsX2dldF92ZXJpZnlfcmVzdWx0KCZzc2wpOworICAgICAgICAgICAgICAgIGNoYXIgdnJmeV9idWZbNTEyXTsKKyAgICAgICAgICAgICAgICB4NTA5X2NydF92ZXJpZnlfaW5mbyh2cmZ5X2J1Ziwgc2l6ZW9mKHZyZnlfYnVmKSwgIiAgISAiLCBmbGFncyk7CisgICAgICAgICAgICAgICAgbWJlZHRsc19wcmludGYoIiVzXG4iLCB2cmZ5X2J1Zik7CiAgICAgICAgICAgICB9CisjZW5kaWYKICAgICAgICAgICAgIG1iZWR0bHNfcHJpbnRmKCJcbiIpOwogICAgICAgICAgICAgZ290byBleGl0OwogICAgICAgICB9CkBAIC0zMTkyLDYgKzMyMjEsOSBAQAogCiAgICAgLyogRm9yIGJ1aWxkcyB3aXRoIE1CRURUTFNfVEVTVF9VU0VfUFNBX0NSWVBUT19STkcgcHNhIGNyeXB0bwogICAgICAqIHJlc291cmNlcyBhcmUgZnJlZWQgYnkgcm5nX2ZyZWUoKS4gKi8KKyAgICAvKiBGb3IgYnVpbGRzIHdpdGggTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zLCBQU0EgbWF5IGhhdmUgYmVlbgorICAgICAqIGluaXRpYWxpemVkIHVuZGVyIHRoZSBob29kIGJ5IHRoZSBUTFMgbGF5ZXIuIFNlZQorICAgICAqIG1iZWR0bHNfc3NsX3RsczEzX2NyeXB0b19pbml0KCkuICovCiAjaWYgKGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykgfHwgZGVmaW5lZChNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMpKSAmJiBcCiAgICAgIWRlZmluZWQoTUJFRFRMU19URVNUX1VTRV9QU0FfQ1JZUFRPX1JORykKICAgICBtYmVkdGxzX3BzYV9jcnlwdG9fZnJlZSgpOwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc3NsL3NzbF9jb250ZXh0X2luZm8uYyBiL3Byb2dyYW1zL3NzbC9zc2xfY29udGV4dF9pbmZvLmMKaW5kZXggZWUyY2RiNy4uNTFlODc4MSAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvc3NsL3NzbF9jb250ZXh0X2luZm8uYworKysgYi9wcm9ncmFtcy9zc2wvc3NsX2NvbnRleHRfaW5mby5jCkBAIC0xMTEsMTIgKzExMSwxMiBAQAogLyoKICAqIEJhc2ljIHByaW50aW5nIGZ1bmN0aW9ucwogICovCi12b2lkIHByaW50X3ZlcnNpb24odm9pZCkKK3N0YXRpYyB2b2lkIHByaW50X3ZlcnNpb24odm9pZCkKIHsKICAgICBwcmludGYoIiVzIHYlZC4lZFxuIiwgUFJPR19OQU1FLCBWRVJfTUFKT1IsIFZFUl9NSU5PUik7CiB9CiAKLXZvaWQgcHJpbnRfdXNhZ2Uodm9pZCkKK3N0YXRpYyB2b2lkIHByaW50X3VzYWdlKHZvaWQpCiB7CiAgICAgcHJpbnRfdmVyc2lvbigpOwogICAgIHByaW50ZigiXG5UaGlzIHByb2dyYW0gaXMgdXNlZCB0byBkZXNlcmlhbGl6ZSBhbiBNYmVkIFRMUyBTU0wgc2Vzc2lvbiBmcm9tIHRoZSBiYXNlNjQgY29kZSBwcm92aWRlZFxuIgpAQCAtMTM4LDcgKzEzOCw3IEBACiAgICAgICAgICk7CiB9CiAKLXZvaWQgcHJpbnRmX2RiZyhjb25zdCBjaGFyICpzdHIsIC4uLikKK3N0YXRpYyB2b2lkIHByaW50Zl9kYmcoY29uc3QgY2hhciAqc3RyLCAuLi4pCiB7CiAgICAgaWYgKGRlYnVnKSB7CiAgICAgICAgIHZhX2xpc3QgYXJnczsKQEAgLTE1MSw3ICsxNTEsNyBAQAogfQogCiBNQkVEVExTX1BSSU5URl9BVFRSSUJVVEUoMSwgMikKLXZvaWQgcHJpbnRmX2Vycihjb25zdCBjaGFyICpzdHIsIC4uLikKK3N0YXRpYyB2b2lkIHByaW50Zl9lcnIoY29uc3QgY2hhciAqc3RyLCAuLi4pCiB7CiAgICAgdmFfbGlzdCBhcmdzOwogICAgIHZhX3N0YXJ0KGFyZ3MsIHN0cik7CkBAIC0xNjUsNyArMTY1LDcgQEAKIC8qCiAgKiBFeGl0IGZyb20gdGhlIHByb2dyYW0gaW4gY2FzZSBvZiBlcnJvcgogICovCi12b2lkIGVycm9yX2V4aXQodm9pZCkKK3N0YXRpYyB2b2lkIGVycm9yX2V4aXQodm9pZCkKIHsKICAgICBpZiAoTlVMTCAhPSBiNjRfZmlsZSkgewogICAgICAgICBmY2xvc2UoYjY0X2ZpbGUpOwpAQCAtMTc2LDcgKzE3Niw3IEBACiAvKgogICogVGhpcyBmdW5jdGlvbiB0YWtlcyB0aGUgaW5wdXQgYXJndW1lbnRzIG9mIHRoaXMgcHJvZ3JhbQogICovCi12b2lkIHBhcnNlX2FyZ3VtZW50cyhpbnQgYXJnYywgY2hhciAqYXJndltdKQorc3RhdGljIHZvaWQgcGFyc2VfYXJndW1lbnRzKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAgICAgaW50IGkgPSAxOwogCkBAIC0yMjMsNyArMjIzLDcgQEAKIC8qCiAgKiBUaGlzIGZ1bmN0aW9uIHByaW50cyBiYXNlNjQgY29kZSB0byB0aGUgc3Rkb3V0CiAgKi8KLXZvaWQgcHJpbnRfYjY0KGNvbnN0IHVpbnQ4X3QgKmIsIHNpemVfdCBsZW4pCitzdGF0aWMgdm9pZCBwcmludF9iNjQoY29uc3QgdWludDhfdCAqYiwgc2l6ZV90IGxlbikKIHsKICAgICBzaXplX3QgaSA9IDA7CiAgICAgY29uc3QgdWludDhfdCAqZW5kID0gYiArIGxlbjsKQEAgLTI0Nyw4ICsyNDcsOCBAQAogICogL3AgaW5fbGluZSAgIG51bWJlciBvZiBieXRlcyBpbiBvbmUgbGluZQogICogL3AgcHJlZml4ICAgIHByZWZpeCBmb3IgdGhlIG5ldyBsaW5lcwogICovCi12b2lkIHByaW50X2hleChjb25zdCB1aW50OF90ICpiLCBzaXplX3QgbGVuLAotICAgICAgICAgICAgICAgY29uc3Qgc2l6ZV90IGluX2xpbmUsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3N0YXRpYyB2b2lkIHByaW50X2hleChjb25zdCB1aW50OF90ICpiLCBzaXplX3QgbGVuLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBpbl9saW5lLCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAgICAgc2l6ZV90IGkgPSAwOwogICAgIGNvbnN0IHVpbnQ4X3QgKmVuZCA9IGIgKyBsZW47CkBAIC0yNzEsNyArMjcxLDcgQEAKIC8qCiAgKiAgUHJpbnQgdGhlIHZhbHVlIG9mIHRpbWVfdCBpbiBmb3JtYXQgZS5nLiAyMDIwLTAxLTIzIDEzOjA1OjU5CiAgKi8KLXZvaWQgcHJpbnRfdGltZShjb25zdCB1aW50NjRfdCAqdGltZSkKK3N0YXRpYyB2b2lkIHByaW50X3RpbWUoY29uc3QgdWludDY0X3QgKnRpbWUpCiB7CiAjaWYgZGVmaW5lZChNQkVEVExTX0hBVkVfVElNRSkKICAgICBjaGFyIGJ1ZlsyMF07CkBAIC0yOTIsNyArMjkyLDcgQEAKIC8qCiAgKiBQcmludCB0aGUgaW5wdXQgc3RyaW5nIGlmIHRoZSBiaXQgaXMgc2V0IGluIHRoZSB2YWx1ZQogICovCi12b2lkIHByaW50X2lmX2JpdChjb25zdCBjaGFyICpzdHIsIGludCBiaXQsIGludCB2YWwpCitzdGF0aWMgdm9pZCBwcmludF9pZl9iaXQoY29uc3QgY2hhciAqc3RyLCBpbnQgYml0LCBpbnQgdmFsKQogewogICAgIGlmIChiaXQgJiB2YWwpIHsKICAgICAgICAgcHJpbnRmKCJcdCVzXG4iLCBzdHIpOwpAQCAtMzAyLDcgKzMwMiw3IEBACiAvKgogICogUmV0dXJuIHBvaW50ZXIgdG8gaGFyZGNvZGVkICJlbmFibGVkIiBvciAiZGlzYWJsZWQiIGRlcGVuZGluZyBvbiB0aGUgaW5wdXQgdmFsdWUKICAqLwotY29uc3QgY2hhciAqZ2V0X2VuYWJsZWRfc3RyKGludCBpc19lbikKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfZW5hYmxlZF9zdHIoaW50IGlzX2VuKQogewogICAgIHJldHVybiAoaXNfZW4pID8gImVuYWJsZWQiIDogImRpc2FibGVkIjsKIH0KQEAgLTMxMCw3ICszMTAsNyBAQAogLyoKICAqIFJldHVybiBwb2ludGVyIHRvIGhhcmRjb2RlZCBNRkwgc3RyaW5nIHZhbHVlIGRlcGVuZGluZyBvbiB0aGUgTUZMIGNvZGUgYXQgdGhlIGlucHV0CiAgKi8KLWNvbnN0IGNoYXIgKmdldF9tZmxfc3RyKGludCBtZmxfY29kZSkKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfbWZsX3N0cihpbnQgbWZsX2NvZGUpCiB7CiAgICAgc3dpdGNoIChtZmxfY29kZSkgewogICAgICAgICBjYXNlIE1CRURUTFNfU1NMX01BWF9GUkFHX0xFTl9OT05FOgpAQCAtMzQzLDcgKzM0Myw3IEBACiAgKiBccmV0dmFsICAgICAgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gaW4gdG8gdGhlIGI2NCBidWZmZXIgb3IgMCBpbiBjYXNlIG5vIG1vcmUKICAqICAgICAgICAgICAgICBkYXRhIHdhcyBmb3VuZAogICovCi1zaXplX3QgcmVhZF9uZXh0X2I2NF9jb2RlKHVpbnQ4X3QgKipiNjQsIHNpemVfdCAqbWF4X2xlbikKK3N0YXRpYyBzaXplX3QgcmVhZF9uZXh0X2I2NF9jb2RlKHVpbnQ4X3QgKipiNjQsIHNpemVfdCAqbWF4X2xlbikKIHsKICAgICBpbnQgdmFsaWRfYmFsYW5jZSA9IDA7ICAvKiBiYWxhbmNlIGJldHdlZW4gdmFsaWQgYW5kIGludmFsaWQgY2hhcmFjdGVycyAqLwogICAgIHNpemVfdCBsZW4gPSAwOwpAQCAtNDQzLDcgKzQ0Myw3IEBACiAgKiAvcCBzc2wgICBwb2ludGVyIHRvIHNlcmlhbGl6ZWQgY2VydGlmaWNhdGUKICAqIC9wIGxlbiAgIG51bWJlciBvZiBieXRlcyBpbiB0aGUgYnVmZmVyCiAgKi8KLXZvaWQgcHJpbnRfZGVzZXJpYWxpemVkX3NzbF9jZXJ0KGNvbnN0IHVpbnQ4X3QgKnNzbCwgdWludDMyX3QgbGVuKQorc3RhdGljIHZvaWQgcHJpbnRfZGVzZXJpYWxpemVkX3NzbF9jZXJ0KGNvbnN0IHVpbnQ4X3QgKnNzbCwgdWludDMyX3QgbGVuKQogewogICAgIGVudW0geyBTVFJMRU4gPSA0MDk2IH07CiAgICAgbWJlZHRsc194NTA5X2NydCBjcnQ7CkBAIC01MDksOCArNTA5LDggQEAKICAqIC9wIGxlbiAgICAgICAgICAgICAgIG51bWJlciBvZiBieXRlcyBpbiB0aGUgYnVmZmVyCiAgKiAvcCBzZXNzaW9uX2NmZ19mbGFnICBzZXNzaW9uIGNvbmZpZ3VyYXRpb24gZmxhZ3MKICAqLwotdm9pZCBwcmludF9kZXNlcmlhbGl6ZWRfc3NsX3Nlc3Npb24oY29uc3QgdWludDhfdCAqc3NsLCB1aW50MzJfdCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2Vzc2lvbl9jZmdfZmxhZykKK3N0YXRpYyB2b2lkIHByaW50X2Rlc2VyaWFsaXplZF9zc2xfc2Vzc2lvbihjb25zdCB1aW50OF90ICpzc2wsIHVpbnQzMl90IGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2Vzc2lvbl9jZmdfZmxhZykKIHsKICAgICBjb25zdCBzdHJ1Y3QgbWJlZHRsc19zc2xfY2lwaGVyc3VpdGVfdCAqY2lwaGVyc3VpdGVfaW5mbzsKICAgICBpbnQgY2lwaGVyc3VpdGVfaWQ7CkBAIC03NDYsNyArNzQ2LDcgQEAKICAqIC9wIHNzbCAgIHBvaW50ZXIgdG8gc2VyaWFsaXplZCBzZXNzaW9uCiAgKiAvcCBsZW4gICBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIGJ1ZmZlcgogICovCi12b2lkIHByaW50X2Rlc2VyaWFsaXplZF9zc2xfY29udGV4dChjb25zdCB1aW50OF90ICpzc2wsIHNpemVfdCBsZW4pCitzdGF0aWMgdm9pZCBwcmludF9kZXNlcmlhbGl6ZWRfc3NsX2NvbnRleHQoY29uc3QgdWludDhfdCAqc3NsLCBzaXplX3QgbGVuKQogewogICAgIGNvbnN0IHVpbnQ4X3QgKmVuZCA9IHNzbCArIGxlbjsKICAgICB1aW50MzJfdCBzZXNzaW9uX2xlbjsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3NzbC9zc2xfZm9ya19zZXJ2ZXIuYyBiL3Byb2dyYW1zL3NzbC9zc2xfZm9ya19zZXJ2ZXIuYwppbmRleCBmNDgyMmI3Li4wZWRhZGQ0IDEwMDY0NAotLS0gYS9wcm9ncmFtcy9zc2wvc3NsX2Zvcmtfc2VydmVyLmMKKysrIGIvcHJvZ3JhbXMvc3NsL3NzbF9mb3JrX3NlcnZlci5jCkBAIC05LDIyICs5LDE1IEBACiAKICNpbmNsdWRlICJtYmVkdGxzL3BsYXRmb3JtLmgiCiAKLSNpZiAhZGVmaW5lZChNQkVEVExTX0JJR05VTV9DKSB8fCAhZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfQykgfHwgICAgICAgICAgXAotICAgICFkZWZpbmVkKE1CRURUTFNfU1NMX1RMU19DKSB8fCAhZGVmaW5lZChNQkVEVExTX1NTTF9TUlZfQykgfHwgICAgICAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19ORVRfQykgfHwgIWRlZmluZWQoTUJFRFRMU19SU0FfQykgfHwgICAgICAgICAgICAgICAgIFwKLSAgICAhZGVmaW5lZChNQkVEVExTX0NUUl9EUkJHX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQykgfHwgXAotICAgICFkZWZpbmVkKE1CRURUTFNfVElNSU5HX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfRlNfSU8pIHx8ICAgICAgICAgICAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19QRU1fUEFSU0VfQykKLWludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisjaWYgIWRlZmluZWQoTUJFRFRMU19FTlRST1BZX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfQykgfHwgICAgICBcCisgICAgIWRlZmluZWQoTUJFRFRMU19ORVRfQykgfHwgIWRlZmluZWQoTUJFRFRMU19TU0xfU1JWX0MpIHx8ICAgICAgICAgICBcCisgICAgIWRlZmluZWQoTUJFRFRMU19QRU1fUEFSU0VfQykgfHwgIWRlZmluZWQoTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DKQoraW50IG1haW4odm9pZCkKIHsKLSAgICAoKHZvaWQpIGFyZ2MpOwotICAgICgodm9pZCkgYXJndik7Ci0KLSAgICBtYmVkdGxzX3ByaW50ZigiTUJFRFRMU19CSUdOVU1fQyBhbmQvb3IgTUJFRFRMU19FTlRST1BZX0MgIgotICAgICAgICAgICAgICAgICAgICJhbmQvb3IgTUJFRFRMU19TU0xfVExTX0MgYW5kL29yIE1CRURUTFNfU1NMX1NSVl9DIGFuZC9vciAiCi0gICAgICAgICAgICAgICAgICAgIk1CRURUTFNfTkVUX0MgYW5kL29yIE1CRURUTFNfUlNBX0MgYW5kL29yICIKLSAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19DVFJfRFJCR19DIGFuZC9vciBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MgYW5kL29yICIKLSAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19USU1JTkdfQyBhbmQvb3IgTUJFRFRMU19QRU1fUEFSU0VfQyBub3QgZGVmaW5lZC5cbiIpOworICAgIG1iZWR0bHNfcHJpbnRmKCJNQkVEVExTX0VOVFJPUFlfQyBhbmQvb3IgTUJFRFRMU19DVFJfRFJCR19DIGFuZC9vciAiCisgICAgICAgICAgICAgICAgICAgIk1CRURUTFNfTkVUX0MgYW5kL29yIE1CRURUTFNfU1NMX1NSVl9DIGFuZC9vciAiCisgICAgICAgICAgICAgICAgICAgIk1CRURUTFNfUEVNX1BBUlNFX0MgYW5kL29yIE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQyAiCisgICAgICAgICAgICAgICAgICAgIm5vdCBkZWZpbmVkLlxuIik7CiAgICAgbWJlZHRsc19leGl0KDApOwogfQogI2VsaWYgZGVmaW5lZChfV0lOMzIpCkBAIC0yMjUsNiArMjE4LDcgQEAKICAgICAgICAgaWYgKHBpZCAhPSAwKSB7CiAgICAgICAgICAgICBtYmVkdGxzX3ByaW50ZigiIG9rXG4iKTsKICAgICAgICAgICAgIG1iZWR0bHNfbmV0X2Nsb3NlKCZjbGllbnRfZmQpOworICAgICAgICAgICAgZmZsdXNoKHN0ZG91dCk7CiAKICAgICAgICAgICAgIGlmICgocmV0ID0gbWJlZHRsc19jdHJfZHJiZ19yZXNlZWQoJmN0cl9kcmJnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgdW5zaWduZWQgY2hhciAqKSAicGFyZW50IiwKQEAgLTI4Miw2ICsyNzYsNyBAQAogICAgICAgICB9CiAKICAgICAgICAgbWJlZHRsc19wcmludGYoInBpZCAlZDogU1NMIGhhbmRzaGFrZSBva1xuIiwgcGlkKTsKKyAgICAgICAgZmZsdXNoKHN0ZG91dCk7CiAKICAgICAgICAgLyoKICAgICAgICAgICogNi4gUmVhZCB0aGUgSFRUUCBSZXF1ZXN0CkBAIC0zMTIsMTIgKzMwNywxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19wcmludGYoInBpZCAlZDogbWJlZHRsc19zc2xfcmVhZCByZXR1cm5lZCAlZFxuIiwgcGlkLCByZXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZmbHVzaChzdGRvdXQpOwogCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGxlbiA9IHJldDsKICAgICAgICAgICAgIG1iZWR0bHNfcHJpbnRmKCJwaWQgJWQ6ICVkIGJ5dGVzIHJlYWRcblxuJXMiLCBwaWQsIGxlbiwgKGNoYXIgKikgYnVmKTsKKyAgICAgICAgICAgIGZmbHVzaChzdGRvdXQpOwogCiAgICAgICAgICAgICBpZiAocmV0ID4gMCkgewogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzMzLDcgKzMzMCw3IEBACiAgICAgICAgIGxlbiA9IHNwcmludGYoKGNoYXIgKikgYnVmLCBIVFRQX1JFU1BPTlNFLAogICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfc3NsX2dldF9jaXBoZXJzdWl0ZSgmc3NsKSk7CiAKLSAgICAgICAgd2hpbGUgKGNudCsrIDwgMTAwKSB7CisgICAgICAgIHdoaWxlIChjbnQrKyA8IDEwKSB7CiAgICAgICAgICAgICB3aGlsZSAoKHJldCA9IG1iZWR0bHNfc3NsX3dyaXRlKCZzc2wsIGJ1ZiwgbGVuKSkgPD0gMCkgewogICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gTUJFRFRMU19FUlJfTkVUX0NPTk5fUkVTRVQpIHsKICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19wcmludGYoCkBAIC0zNDksMTIgKzM0NiwxNiBAQAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGxlbiA9IHJldDsKLSAgICAgICAgICAgIG1iZWR0bHNfcHJpbnRmKCJwaWQgJWQ6ICVkIGJ5dGVzIHdyaXR0ZW5cblxuJXNcbiIsIHBpZCwgbGVuLCAoY2hhciAqKSBidWYpOworICAgICAgICAgICAgbWJlZHRsc19wcmludGYoInBpZCAlZDogJWQgYnl0ZXMgd3JpdHRlbiAoY250PSVkKVxuXG4lc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpZCwgbGVuLCBjbnQsIChjaGFyICopIGJ1Zik7CisgICAgICAgICAgICBmZmx1c2goc3Rkb3V0KTsKIAogICAgICAgICAgICAgbWJlZHRsc19uZXRfdXNsZWVwKDEwMDAwMDApOwogICAgICAgICB9CiAKICAgICAgICAgbWJlZHRsc19zc2xfY2xvc2Vfbm90aWZ5KCZzc2wpOworICAgICAgICBtYmVkdGxzX3ByaW50ZigicGlkICVkOiBzaHV0dGluZyBkb3duXG4iLCBwaWQpOworICAgICAgICBmZmx1c2goc3Rkb3V0KTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc3NsL3NzbF9tYWlsX2NsaWVudC5jIGIvcHJvZ3JhbXMvc3NsL3NzbF9tYWlsX2NsaWVudC5jCmluZGV4IGZlYmI4ODEuLmUzZWQ2OTcgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3NzbC9zc2xfbWFpbF9jbGllbnQuYworKysgYi9wcm9ncmFtcy9zc2wvc3NsX21haWxfY2xpZW50LmMKQEAgLTcyNyw3ICs3MjcsMTEgQEAKICAgICBtYmVkdGxzX3ByaW50ZigiICA+IFdyaXRlIE1BSUwgRlJPTSB0byBzZXJ2ZXI6Iik7CiAgICAgZmZsdXNoKHN0ZG91dCk7CiAKLSAgICBsZW4gPSBzcHJpbnRmKChjaGFyICopIGJ1ZiwgIk1BSUwgRlJPTTo8JXM+XHJcbiIsIG9wdC5tYWlsX2Zyb20pOworICAgIGxlbiA9IG1iZWR0bHNfc25wcmludGYoKGNoYXIgKikgYnVmLCBzaXplb2YoYnVmKSwgIk1BSUwgRlJPTTo8JXM+XHJcbiIsIG9wdC5tYWlsX2Zyb20pOworICAgIGlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+PSBzaXplb2YoYnVmKSkgeworICAgICAgICBtYmVkdGxzX3ByaW50ZigiIGZhaWxlZFxuICAhIG1iZWR0bHNfc25wcmludGYgZW5jb3VudGVyZWQgZXJyb3Igb3IgdHJ1bmNhdGVkIG91dHB1dFxuXG4iKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KICAgICByZXQgPSB3cml0ZV9zc2xfYW5kX2dldF9yZXNwb25zZSgmc3NsLCBidWYsIGxlbik7CiAgICAgaWYgKHJldCA8IDIwMCB8fCByZXQgPiAyOTkpIHsKICAgICAgICAgbWJlZHRsc19wcmludGYoIiBmYWlsZWRcbiAgISBzZXJ2ZXIgcmVzcG9uZGVkIHdpdGggJWRcblxuIiwgcmV0KTsKQEAgLTczOSw3ICs3NDMsMTEgQEAKICAgICBtYmVkdGxzX3ByaW50ZigiICA+IFdyaXRlIFJDUFQgVE8gdG8gc2VydmVyOiIpOwogICAgIGZmbHVzaChzdGRvdXQpOwogCi0gICAgbGVuID0gc3ByaW50ZigoY2hhciAqKSBidWYsICJSQ1BUIFRPOjwlcz5cclxuIiwgb3B0Lm1haWxfdG8pOworICAgIGxlbiA9IG1iZWR0bHNfc25wcmludGYoKGNoYXIgKikgYnVmLCBzaXplb2YoYnVmKSwgIlJDUFQgVE86PCVzPlxyXG4iLCBvcHQubWFpbF90byk7CisgICAgaWYgKGxlbiA8IDAgfHwgKHNpemVfdCkgbGVuID49IHNpemVvZihidWYpKSB7CisgICAgICAgIG1iZWR0bHNfcHJpbnRmKCIgZmFpbGVkXG4gICEgbWJlZHRsc19zbnByaW50ZiBlbmNvdW50ZXJlZCBlcnJvciBvciB0cnVuY2F0ZWQgb3V0cHV0XG5cbiIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQogICAgIHJldCA9IHdyaXRlX3NzbF9hbmRfZ2V0X3Jlc3BvbnNlKCZzc2wsIGJ1ZiwgbGVuKTsKICAgICBpZiAocmV0IDwgMjAwIHx8IHJldCA+IDI5OSkgewogICAgICAgICBtYmVkdGxzX3ByaW50ZigiIGZhaWxlZFxuICAhIHNlcnZlciByZXNwb25kZWQgd2l0aCAlZFxuXG4iLCByZXQpOwpAQCAtNzYzLDExICs3NzEsMTYgQEAKICAgICBtYmVkdGxzX3ByaW50ZigiICA+IFdyaXRlIGNvbnRlbnQgdG8gc2VydmVyOiIpOwogICAgIGZmbHVzaChzdGRvdXQpOwogCi0gICAgbGVuID0gc3ByaW50ZigoY2hhciAqKSBidWYsICJGcm9tOiAlc1xyXG5TdWJqZWN0OiBNYmVkIFRMUyBUZXN0IG1haWxcclxuXHJcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgaXMgYSBzaW1wbGUgdGVzdCBtYWlsIGZyb20gdGhlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1iZWQgVExTIG1haWwgY2xpZW50IGV4YW1wbGUuXHJcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxyXG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbmpveSEiLCBvcHQubWFpbF9mcm9tKTsKKyAgICBsZW4gPSBtYmVkdGxzX3NucHJpbnRmKChjaGFyICopIGJ1Ziwgc2l6ZW9mKGJ1ZiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRnJvbTogJXNcclxuU3ViamVjdDogTWJlZCBUTFMgVGVzdCBtYWlsXHJcblxyXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhpcyBpcyBhIHNpbXBsZSB0ZXN0IG1haWwgZnJvbSB0aGUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1iZWQgVExTIG1haWwgY2xpZW50IGV4YW1wbGUuXHJcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJcclxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVuam95ISIsIG9wdC5tYWlsX2Zyb20pOworICAgIGlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+PSBzaXplb2YoYnVmKSkgeworICAgICAgICBtYmVkdGxzX3ByaW50ZigiIGZhaWxlZFxuICAhIG1iZWR0bHNfc25wcmludGYgZW5jb3VudGVyZWQgZXJyb3Igb3IgdHJ1bmNhdGVkIG91dHB1dFxuXG4iKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KICAgICByZXQgPSB3cml0ZV9zc2xfZGF0YSgmc3NsLCBidWYsIGxlbik7CiAKICAgICBsZW4gPSBzcHJpbnRmKChjaGFyICopIGJ1ZiwgIlxyXG4uXHJcbiIpOwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc3NsL3NzbF9wdGhyZWFkX3NlcnZlci5jIGIvcHJvZ3JhbXMvc3NsL3NzbF9wdGhyZWFkX3NlcnZlci5jCmluZGV4IGZjYjhmMmYuLjdlZGY0YTggMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3NzbC9zc2xfcHRocmVhZF9zZXJ2ZXIuYworKysgYi9wcm9ncmFtcy9zc2wvc3NsX3B0aHJlYWRfc2VydmVyLmMKQEAgLTEwLDIwICsxMCwyMSBAQAogCiAjaW5jbHVkZSAibWJlZHRscy9wbGF0Zm9ybS5oIgogCi0jaWYgIWRlZmluZWQoTUJFRFRMU19CSUdOVU1fQykgIHx8ICFkZWZpbmVkKE1CRURUTFNfRU5UUk9QWV9DKSB8fCAgICAgICAgIFwKLSAgICAhZGVmaW5lZChNQkVEVExTX1NTTF9UTFNfQykgfHwgIWRlZmluZWQoTUJFRFRMU19TU0xfU1JWX0MpIHx8ICAgICAgICAgXAotICAgICFkZWZpbmVkKE1CRURUTFNfTkVUX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfUlNBX0MpIHx8ICAgICAgICAgICAgICAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19DKSB8fCAhZGVmaW5lZChNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MpIHx8IFwKLSAgICAhZGVmaW5lZChNQkVEVExTX0ZTX0lPKSB8fCAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKSB8fCAgICAgICAgICAgXAotICAgICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX1BUSFJFQUQpIHx8ICFkZWZpbmVkKE1CRURUTFNfUEVNX1BBUlNFX0MpCisjaWYgIWRlZmluZWQoTUJFRFRMU19FTlRST1BZX0MpIHx8ICFkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfQykgfHwgICAgICBcCisgICAgIWRlZmluZWQoTUJFRFRMU19ORVRfQykgfHwgIWRlZmluZWQoTUJFRFRMU19TU0xfU1JWX0MpIHx8ICAgICAgICAgICBcCisgICAgIWRlZmluZWQoTUJFRFRMU19QRU1fUEFSU0VfQykgfHwgIWRlZmluZWQoTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DKQogaW50IG1haW4odm9pZCkKIHsKLSAgICBtYmVkdGxzX3ByaW50ZigiTUJFRFRMU19CSUdOVU1fQyBhbmQvb3IgTUJFRFRMU19FTlRST1BZX0MgIgotICAgICAgICAgICAgICAgICAgICJhbmQvb3IgTUJFRFRMU19TU0xfVExTX0MgYW5kL29yIE1CRURUTFNfU1NMX1NSVl9DIGFuZC9vciAiCi0gICAgICAgICAgICAgICAgICAgIk1CRURUTFNfTkVUX0MgYW5kL29yIE1CRURUTFNfUlNBX0MgYW5kL29yICIKLSAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19DVFJfRFJCR19DIGFuZC9vciBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MgYW5kL29yICIKLSAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19USFJFQURJTkdfQyBhbmQvb3IgTUJFRFRMU19USFJFQURJTkdfUFRIUkVBRCAiCi0gICAgICAgICAgICAgICAgICAgImFuZC9vciBNQkVEVExTX1BFTV9QQVJTRV9DIG5vdCBkZWZpbmVkLlxuIik7CisgICAgbWJlZHRsc19wcmludGYoIk1CRURUTFNfRU5UUk9QWV9DIGFuZC9vciBNQkVEVExTX0NUUl9EUkJHX0MgYW5kL29yICIKKyAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19ORVRfQyBhbmQvb3IgTUJFRFRMU19TU0xfU1JWX0MgYW5kL29yICIKKyAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19QRU1fUEFSU0VfQyBhbmQvb3IgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DICIKKyAgICAgICAgICAgICAgICAgICAibm90IGRlZmluZWQuXG4iKTsKKyAgICBtYmVkdGxzX2V4aXQoMCk7Cit9CisjZWxpZiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKSB8fCAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19QVEhSRUFEKQoraW50IG1haW4odm9pZCkKK3sKKyAgICBtYmVkdGxzX3ByaW50ZigiTUJFRFRMU19USFJFQURJTkdfUFRIUkVBRCBub3QgZGVmaW5lZC5cbiIpOwogICAgIG1iZWR0bHNfZXhpdCgwKTsKIH0KICNlbHNlCkBAIC0xMjMsNiArMTI0LDcgQEAKICAgICAgKiA1LiBIYW5kc2hha2UKICAgICAgKi8KICAgICBtYmVkdGxzX3ByaW50ZigiICBbICMlbGQgXSAgUGVyZm9ybWluZyB0aGUgU1NML1RMUyBoYW5kc2hha2VcbiIsIHRocmVhZF9pZCk7CisgICAgZmZsdXNoKHN0ZG91dCk7CiAKICAgICB3aGlsZSAoKHJldCA9IG1iZWR0bHNfc3NsX2hhbmRzaGFrZSgmc3NsKSkgIT0gMCkgewogICAgICAgICBpZiAocmV0ICE9IE1CRURUTFNfRVJSX1NTTF9XQU5UX1JFQUQgJiYgcmV0ICE9IE1CRURUTFNfRVJSX1NTTF9XQU5UX1dSSVRFKSB7CkBAIC0xMzgsNiArMTQwLDcgQEAKICAgICAgKiA2LiBSZWFkIHRoZSBIVFRQIFJlcXVlc3QKICAgICAgKi8KICAgICBtYmVkdGxzX3ByaW50ZigiICBbICMlbGQgXSAgPCBSZWFkIGZyb20gY2xpZW50XG4iLCB0aHJlYWRfaWQpOworICAgIGZmbHVzaChzdGRvdXQpOwogCiAgICAgZG8gewogICAgICAgICBsZW4gPSBzaXplb2YoYnVmKSAtIDE7CkBAIC0xNzAsNiArMTczLDcgQEAKICAgICAgICAgbGVuID0gcmV0OwogICAgICAgICBtYmVkdGxzX3ByaW50ZigiICBbICMlbGQgXSAgJWQgYnl0ZXMgcmVhZFxuPT09PT1cbiVzXG49PT09PVxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkX2lkLCBsZW4sIChjaGFyICopIGJ1Zik7CisgICAgICAgIGZmbHVzaChzdGRvdXQpOwogCiAgICAgICAgIGlmIChyZXQgPiAwKSB7CiAgICAgICAgICAgICBicmVhazsKQEAgLTE4MCw2ICsxODQsNyBAQAogICAgICAqIDcuIFdyaXRlIHRoZSAyMDAgUmVzcG9uc2UKICAgICAgKi8KICAgICBtYmVkdGxzX3ByaW50ZigiICBbICMlbGQgXSAgPiBXcml0ZSB0byBjbGllbnQ6XG4iLCB0aHJlYWRfaWQpOworICAgIGZmbHVzaChzdGRvdXQpOwogCiAgICAgbGVuID0gc3ByaW50ZigoY2hhciAqKSBidWYsIEhUVFBfUkVTUE9OU0UsCiAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3NzbF9nZXRfY2lwaGVyc3VpdGUoJnNzbCkpOwpAQCAtMjAxLDYgKzIwNiw3IEBACiAgICAgbGVuID0gcmV0OwogICAgIG1iZWR0bHNfcHJpbnRmKCIgIFsgIyVsZCBdICAlZCBieXRlcyB3cml0dGVuXG49PT09PVxuJXNcbj09PT09XG4iLAogICAgICAgICAgICAgICAgICAgIHRocmVhZF9pZCwgbGVuLCAoY2hhciAqKSBidWYpOworICAgIGZmbHVzaChzdGRvdXQpOwogCiAgICAgbWJlZHRsc19wcmludGYoIiAgWyAjJWxkIF0gIC4gQ2xvc2luZyB0aGUgY29ubmVjdGlvbi4uLiIsIHRocmVhZF9pZCk7CiAKQEAgLTIxNCw2ICsyMjAsNyBAQAogICAgIH0KIAogICAgIG1iZWR0bHNfcHJpbnRmKCIgb2tcbiIpOworICAgIGZmbHVzaChzdGRvdXQpOwogCiAgICAgcmV0ID0gMDsKIApAQCAtNDQyLDYgKzQ0OSw3IEBACiAgICAgICogMy4gV2FpdCB1bnRpbCBhIGNsaWVudCBjb25uZWN0cwogICAgICAqLwogICAgIG1iZWR0bHNfcHJpbnRmKCIgIFsgbWFpbiBdICBXYWl0aW5nIGZvciBhIHJlbW90ZSBjb25uZWN0aW9uXG4iKTsKKyAgICBmZmx1c2goc3Rkb3V0KTsKIAogICAgIGlmICgocmV0ID0gbWJlZHRsc19uZXRfYWNjZXB0KCZsaXN0ZW5fZmQsICZjbGllbnRfZmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgTlVMTCkpICE9IDApIHsKQEAgLTQ4Myw3ICs0OTEsNCBAQAogICAgIG1iZWR0bHNfZXhpdChyZXQpOwogfQogCi0jZW5kaWYgLyogTUJFRFRMU19CSUdOVU1fQyAmJiBNQkVEVExTX0VOVFJPUFlfQyAmJgotICAgICAgICAgIE1CRURUTFNfU1NMX1RMU19DICYmIE1CRURUTFNfU1NMX1NSVl9DICYmIE1CRURUTFNfTkVUX0MgJiYKLSAgICAgICAgICBNQkVEVExTX1JTQV9DICYmIE1CRURUTFNfQ1RSX0RSQkdfQyAmJiBNQkVEVExTX1RIUkVBRElOR19DICYmCi0gICAgICAgICAgTUJFRFRMU19USFJFQURJTkdfUFRIUkVBRCAmJiBNQkVEVExTX1BFTV9QQVJTRV9DICovCisjZW5kaWYgLyogY29uZmlndXJhdGlvbiBhbGxvd3MgcnVubmluZyB0aGlzIHByb2dyYW0gKi8KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3NzbC9zc2xfc2VydmVyLmMgYi9wcm9ncmFtcy9zc2wvc3NsX3NlcnZlci5jCmluZGV4IDZiZWNmOGQuLmFhMDZhZDMgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3NzbC9zc2xfc2VydmVyLmMKKysrIGIvcHJvZ3JhbXMvc3NsL3NzbF9zZXJ2ZXIuYwpAQCAtOSwxOCArOSwxNSBAQAogCiAjaW5jbHVkZSAibWJlZHRscy9wbGF0Zm9ybS5oIgogCi0jaWYgIWRlZmluZWQoTUJFRFRMU19CSUdOVU1fQykgfHwgIWRlZmluZWQoTUJFRFRMU19QRU1fUEFSU0VfQykgfHwgXAotICAgICFkZWZpbmVkKE1CRURUTFNfRU5UUk9QWV9DKSB8fCAhZGVmaW5lZChNQkVEVExTX1NTTF9UTFNfQykgfHwgIFwKLSAgICAhZGVmaW5lZChNQkVEVExTX1NTTF9TUlZfQykgfHwgIWRlZmluZWQoTUJFRFRMU19ORVRfQykgfHwgICAgICBcCi0gICAgIWRlZmluZWQoTUJFRFRMU19SU0FfQykgfHwgIWRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19DKSB8fCAgICAgXAotICAgICFkZWZpbmVkKE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQykgfHwgIWRlZmluZWQoTUJFRFRMU19GU19JTykKKyNpZiAhZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfQykgfHwgIWRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19DKSB8fCAgICAgIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX05FVF9DKSB8fCAhZGVmaW5lZChNQkVEVExTX1NTTF9TUlZfQykgfHwgICAgICAgICAgIFwKKyAgICAhZGVmaW5lZChNQkVEVExTX1BFTV9QQVJTRV9DKSB8fCAhZGVmaW5lZChNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MpCiBpbnQgbWFpbih2b2lkKQogewotICAgIG1iZWR0bHNfcHJpbnRmKCJNQkVEVExTX0JJR05VTV9DIGFuZC9vciBNQkVEVExTX0VOVFJPUFlfQyAiCi0gICAgICAgICAgICAgICAgICAgImFuZC9vciBNQkVEVExTX1NTTF9UTFNfQyBhbmQvb3IgTUJFRFRMU19TU0xfU1JWX0MgYW5kL29yICIKLSAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19ORVRfQyBhbmQvb3IgTUJFRFRMU19SU0FfQyBhbmQvb3IgIgotICAgICAgICAgICAgICAgICAgICJNQkVEVExTX0NUUl9EUkJHX0MgYW5kL29yIE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQyAiCi0gICAgICAgICAgICAgICAgICAgImFuZC9vciBNQkVEVExTX1BFTV9QQVJTRV9DIG5vdCBkZWZpbmVkLlxuIik7CisgICAgbWJlZHRsc19wcmludGYoIk1CRURUTFNfRU5UUk9QWV9DIGFuZC9vciBNQkVEVExTX0NUUl9EUkJHX0MgYW5kL29yICIKKyAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19ORVRfQyBhbmQvb3IgTUJFRFRMU19TU0xfU1JWX0MgYW5kL29yICIKKyAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19QRU1fUEFSU0VfQyBhbmQvb3IgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DICIKKyAgICAgICAgICAgICAgICAgICAibm90IGRlZmluZWQuXG4iKTsKICAgICBtYmVkdGxzX2V4aXQoMCk7CiB9CiAjZWxzZQpAQCAtMzE1LDE2ICszMTIsMTkgQEAKICAgICBtYmVkdGxzX3ByaW50ZigiICVkIGJ5dGVzIHdyaXR0ZW5cblxuJXNcbiIsIGxlbiwgKGNoYXIgKikgYnVmKTsKIAogICAgIG1iZWR0bHNfcHJpbnRmKCIgIC4gQ2xvc2luZyB0aGUgY29ubmVjdGlvbi4uLiIpOworICAgIGZmbHVzaChzdGRvdXQpOwogCiAgICAgd2hpbGUgKChyZXQgPSBtYmVkdGxzX3NzbF9jbG9zZV9ub3RpZnkoJnNzbCkpIDwgMCkgewogICAgICAgICBpZiAocmV0ICE9IE1CRURUTFNfRVJSX1NTTF9XQU5UX1JFQUQgJiYKLSAgICAgICAgICAgIHJldCAhPSBNQkVEVExTX0VSUl9TU0xfV0FOVF9XUklURSkgeworICAgICAgICAgICAgcmV0ICE9IE1CRURUTFNfRVJSX1NTTF9XQU5UX1dSSVRFICYmCisgICAgICAgICAgICByZXQgIT0gTUJFRFRMU19FUlJfTkVUX0NPTk5fUkVTRVQpIHsKICAgICAgICAgICAgIG1iZWR0bHNfcHJpbnRmKCIgZmFpbGVkXG4gICEgbWJlZHRsc19zc2xfY2xvc2Vfbm90aWZ5IHJldHVybmVkICVkXG5cbiIsIHJldCk7CiAgICAgICAgICAgICBnb3RvIHJlc2V0OwogICAgICAgICB9CiAgICAgfQogCiAgICAgbWJlZHRsc19wcmludGYoIiBva1xuIik7CisgICAgZmZsdXNoKHN0ZG91dCk7CiAKICAgICByZXQgPSAwOwogICAgIGdvdG8gcmVzZXQ7CkBAIC0zNTYsNyArMzU2LDUgQEAKIAogICAgIG1iZWR0bHNfZXhpdChyZXQpOwogfQotI2VuZGlmIC8qIE1CRURUTFNfQklHTlVNX0MgJiYgTUJFRFRMU19FTlRST1BZX0MgJiYKLSAgICAgICAgICBNQkVEVExTX1NTTF9UTFNfQyAmJiBNQkVEVExTX1NTTF9TUlZfQyAmJiBNQkVEVExTX05FVF9DICYmCi0gICAgICAgICAgTUJFRFRMU19SU0FfQyAmJiBNQkVEVExTX0NUUl9EUkJHX0MgJiYgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DCi0gICAgICAgICAgJiYgTUJFRFRMU19GU19JTyAmJiBNQkVEVExTX1BFTV9QQVJTRV9DICovCisKKyNlbmRpZiAvKiBjb25maWd1cmF0aW9uIGFsbG93cyBydW5uaW5nIHRoaXMgcHJvZ3JhbSAqLwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc3NsL3NzbF9zZXJ2ZXIyLmMgYi9wcm9ncmFtcy9zc2wvc3NsX3NlcnZlcjIuYwppbmRleCBhNWQyZWQxLi41ZGU3MzRmIDEwMDY0NAotLS0gYS9wcm9ncmFtcy9zc2wvc3NsX3NlcnZlcjIuYworKysgYi9wcm9ncmFtcy9zc2wvc3NsX3NlcnZlcjIuYwpAQCAtNzU2LDcgKzc1Niw3IEBACiAgICAgc25pX2VudHJ5ICpuZXh0OwogfTsKIAotdm9pZCBzbmlfZnJlZShzbmlfZW50cnkgKmhlYWQpCitzdGF0aWMgdm9pZCBzbmlfZnJlZShzbmlfZW50cnkgKmhlYWQpCiB7CiAgICAgc25pX2VudHJ5ICpjdXIgPSBoZWFkLCAqbmV4dDsKIApAQCAtNzg2LDcgKzc4Niw3IEBACiAgKgogICogTW9kaWZpZXMgdGhlIGlucHV0IHN0cmluZyEgVGhpcyBpcyBub3QgcHJvZHVjdGlvbiBxdWFsaXR5IQogICovCi1zbmlfZW50cnkgKnNuaV9wYXJzZShjaGFyICpzbmlfc3RyaW5nKQorc3RhdGljIHNuaV9lbnRyeSAqc25pX3BhcnNlKGNoYXIgKnNuaV9zdHJpbmcpCiB7CiAgICAgc25pX2VudHJ5ICpjdXIgPSBOVUxMLCAqbmV3ID0gTlVMTDsKICAgICBjaGFyICpwID0gc25pX3N0cmluZzsKQEAgLTg3OCw4ICs4NzgsOCBAQAogLyoKICAqIFNOSSBjYWxsYmFjay4KICAqLwotaW50IHNuaV9jYWxsYmFjayh2b2lkICpwX2luZm8sIG1iZWR0bHNfc3NsX2NvbnRleHQgKnNzbCwKLSAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVfbGVuKQorc3RhdGljIGludCBzbmlfY2FsbGJhY2sodm9pZCAqcF9pbmZvLCBtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZV9sZW4pCiB7CiAgICAgY29uc3Qgc25pX2VudHJ5ICpjdXIgPSAoY29uc3Qgc25pX2VudHJ5ICopIHBfaW5mbzsKIApAQCAtOTA5LDcgKzkwOSw3IEBACiAvKgogICogc2VydmVyIGNlcnRpZmljYXRlIHNlbGVjdGlvbiBjYWxsYmFjay4KICAqLwotaW50IGNlcnRfY2FsbGJhY2sobWJlZHRsc19zc2xfY29udGV4dCAqc3NsKQorc3RhdGljIGludCBjZXJ0X2NhbGxiYWNrKG1iZWR0bHNfc3NsX2NvbnRleHQgKnNzbCkKIHsKICAgICBjb25zdCBzbmlfZW50cnkgKmN1ciA9IChzbmlfZW50cnkgKikgbWJlZHRsc19zc2xfZ2V0X3VzZXJfZGF0YV9wKHNzbCk7CiAgICAgaWYgKGN1ciAhPSBOVUxMKSB7CkBAIC05NTQsNyArOTU0LDcgQEAKIC8qCiAgKiBGcmVlIGEgbGlzdCBvZiBwc2tfZW50cnkncwogICovCi1pbnQgcHNrX2ZyZWUocHNrX2VudHJ5ICpoZWFkKQorc3RhdGljIGludCBwc2tfZnJlZShwc2tfZW50cnkgKmhlYWQpCiB7CiAgICAgcHNrX2VudHJ5ICpuZXh0OwogCkBAIC05ODUsNyArOTg1LDcgQEAKICAqCiAgKiBNb2RpZmllcyB0aGUgaW5wdXQgc3RyaW5nISBUaGlzIGlzIG5vdCBwcm9kdWN0aW9uIHF1YWxpdHkhCiAgKi8KLXBza19lbnRyeSAqcHNrX3BhcnNlKGNoYXIgKnBza19zdHJpbmcpCitzdGF0aWMgcHNrX2VudHJ5ICpwc2tfcGFyc2UoY2hhciAqcHNrX3N0cmluZykKIHsKICAgICBwc2tfZW50cnkgKmN1ciA9IE5VTEwsICpuZXcgPSBOVUxMOwogICAgIGNoYXIgKnAgPSBwc2tfc3RyaW5nOwpAQCAtMTAyNyw4ICsxMDI3LDggQEAKIC8qCiAgKiBQU0sgY2FsbGJhY2sKICAqLwotaW50IHBza19jYWxsYmFjayh2b2lkICpwX2luZm8sIG1iZWR0bHNfc3NsX2NvbnRleHQgKnNzbCwKLSAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVfbGVuKQorc3RhdGljIGludCBwc2tfY2FsbGJhY2sodm9pZCAqcF9pbmZvLCBtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZV9sZW4pCiB7CiAgICAgcHNrX2VudHJ5ICpjdXIgPSAocHNrX2VudHJ5ICopIHBfaW5mbzsKIApAQCAtMTA1NSw3ICsxMDU1LDcgQEAKIC8qIEludGVycnVwdGlvbiBoYW5kbGVyIHRvIGVuc3VyZSBjbGVhbiBleGl0IChmb3IgdmFsZ3JpbmQgdGVzdGluZykgKi8KICNpZiAhZGVmaW5lZChfV0lOMzIpCiBzdGF0aWMgaW50IHJlY2VpdmVkX3NpZ3Rlcm0gPSAwOwotdm9pZCB0ZXJtX2hhbmRsZXIoaW50IHNpZykKK3N0YXRpYyB2b2lkIHRlcm1faGFuZGxlcihpbnQgc2lnKQogewogICAgICgodm9pZCkgc2lnKTsKICAgICByZWNlaXZlZF9zaWd0ZXJtID0gMTsKQEAgLTExMDUsMTEgKzExMDUsMTEgQEAKICAgICB2b2lkICpwX3JuZzsKIH0gc3NsX2FzeW5jX2tleV9jb250ZXh0X3Q7CiAKLWludCBzc2xfYXN5bmNfc2V0X2tleShzc2xfYXN5bmNfa2V5X2NvbnRleHRfdCAqY3R4LAotICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfeDUwOV9jcnQgKmNlcnQsCi0gICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19wa19jb250ZXh0ICpwaywKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgcGtfdGFrZV9vd25lcnNoaXAsCi0gICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZGVsYXkpCitzdGF0aWMgaW50IHNzbF9hc3luY19zZXRfa2V5KHNzbF9hc3luY19rZXlfY29udGV4dF90ICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfeDUwOV9jcnQgKmNlcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfcGtfY29udGV4dCAqcGssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwa190YWtlX293bmVyc2hpcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZGVsYXkpCiB7CiAgICAgaWYgKGN0eC0+c2xvdHNfdXNlZCA+PSBzaXplb2YoY3R4LT5zbG90cykgLyBzaXplb2YoKmN0eC0+c2xvdHMpKSB7CiAgICAgICAgIHJldHVybiAtMTsKQEAgLTEzMzIsOCArMTMzMiw4IEBACiAjZW5kaWYgLyogTUJFRFRMU19VU0VfUFNBX0NSWVBUTyAqLwogCiAjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9EVExTX0NPTk5FQ1RJT05fSUQpCi1pbnQgcmVwb3J0X2NpZF91c2FnZShtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICphZGRpdGlvbmFsX2Rlc2NyaXB0aW9uKQorc3RhdGljIGludCByZXBvcnRfY2lkX3VzYWdlKG1iZWR0bHNfc3NsX2NvbnRleHQgKnNzbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICphZGRpdGlvbmFsX2Rlc2NyaXB0aW9uKQogewogICAgIGludCByZXQ7CiAgICAgdW5zaWduZWQgY2hhciBwZWVyX2NpZFtNQkVEVExTX1NTTF9DSURfT1VUX0xFTl9NQVhdOwpAQCAtMTM3NiwxNiArMTM3NiwxNyBAQAogfQogI2VuZGlmIC8qIE1CRURUTFNfU1NMX0RUTFNfQ09OTkVDVElPTl9JRCAqLwogCi0jaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMpICYmIGRlZmluZWQoTUJFRFRMU19IQVZFX1RJTUUpCisjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMpICYmIGRlZmluZWQoTUJFRFRMU19TU0xfVElDS0VUX0MpICYmIFwKKyAgICBkZWZpbmVkKE1CRURUTFNfSEFWRV9USU1FKQogc3RhdGljIGlubGluZSB2b2lkIHB1dF91bmFsaWduZWRfdWludDMyKHZvaWQgKnAsIHVpbnQzMl90IHgpCiB7CiAgICAgbWVtY3B5KHAsICZ4LCBzaXplb2YoeCkpOwogfQogCiAvKiBGdW5jdGlvbnMgZm9yIHNlc3Npb24gdGlja2V0IHRlc3RzICovCi1pbnQgZHVtbXlfdGlja2V0X3dyaXRlKHZvaWQgKnBfdGlja2V0LCBjb25zdCBtYmVkdGxzX3NzbF9zZXNzaW9uICpzZXNzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzdGFydCwgY29uc3QgdW5zaWduZWQgY2hhciAqZW5kLAotICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgKnRsZW4sIHVpbnQzMl90ICp0aWNrZXRfbGlmZXRpbWUpCitzdGF0aWMgaW50IGR1bW15X3RpY2tldF93cml0ZSh2b2lkICpwX3RpY2tldCwgY29uc3QgbWJlZHRsc19zc2xfc2Vzc2lvbiAqc2Vzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnN0YXJ0LCBjb25zdCB1bnNpZ25lZCBjaGFyICplbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgKnRsZW4sIHVpbnQzMl90ICp0aWNrZXRfbGlmZXRpbWUpCiB7CiAgICAgaW50IHJldDsKICAgICB1bnNpZ25lZCBjaGFyICpwID0gc3RhcnQ7CkBAIC0xNDEwLDggKzE0MTEsOCBAQAogICAgIHJldHVybiAwOwogfQogCi1pbnQgZHVtbXlfdGlja2V0X3BhcnNlKHZvaWQgKnBfdGlja2V0LCBtYmVkdGxzX3NzbF9zZXNzaW9uICpzZXNzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4pCitzdGF0aWMgaW50IGR1bW15X3RpY2tldF9wYXJzZSh2b2lkICpwX3RpY2tldCwgbWJlZHRsc19zc2xfc2Vzc2lvbiAqc2Vzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKIHsKICAgICBpbnQgcmV0OwogICAgICgodm9pZCkgcF90aWNrZXQpOwpAQCAtMTQ2Nyw5ICsxNDY4LDkgQEAKIAogICAgIHJldHVybiByZXQ7CiB9Ci0jZW5kaWYgLyogTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTICYmIE1CRURUTFNfSEFWRV9USU1FICovCisjZW5kaWYgLyogTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTICYmIE1CRURUTFNfU1NMX1RJQ0tFVF9DICYmIE1CRURUTFNfSEFWRV9USU1FICovCiAKLWludCBwYXJzZV9jaXBoZXIoY2hhciAqYnVmKQorc3RhdGljIGludCBwYXJzZV9jaXBoZXIoY2hhciAqYnVmKQogewogICAgIGlmIChzdHJjbXAoYnVmLCAiQUVTLTEyOC1DQ00iKSkgewogICAgICAgICByZXR1cm4gTUJFRFRMU19DSVBIRVJfQUVTXzEyOF9DQ007CkBAIC0xNTkzLDcgKzE1OTQsNyBAQAogICAgIGludCBpOwogICAgIGNoYXIgKnAsICpxOwogICAgIGNvbnN0IGludCAqbGlzdDsKLSNpZiBkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pIHx8IGRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zKQorI2lmIGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzOwogI2VuZGlmCiAgICAgdW5zaWduZWQgY2hhciBlYXBfdGxzX2tleW1hdGVyaWFsWzE2XTsKQEAgLTE2NTksNyArMTY2MCwxNSBAQAogICAgIG1iZWR0bHNfc3NsX2Nvb2tpZV9pbml0KCZjb29raWVfY3R4KTsKICNlbmRpZgogCi0jaWYgZGVmaW5lZChNQkVEVExTX1VTRV9QU0FfQ1JZUFRPKSB8fCBkZWZpbmVkKE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMykKKyAgICAvKiBGb3IgYnVpbGRzIHdpdGggVExTIDEuMyBlbmFibGVkIGJ1dCBub3QgTUJFRFRMU19VU0VfUFNBX0NSWVBUTywKKyAgICAgKiB3ZSBkZWxpYmVyYXRlbHkgZG8gbm90IGNhbGwgcHNhX2NyeXB0b19pbml0KCkgaGVyZSwgdG8gdGVzdCB0aGF0CisgICAgICogdGhlIGxpYnJhcnkgaXMgYmFja3dhcmQtY29tcGF0aWJsZSB3aXRoIHZlcnNpb25zIHByaW9yIHRvIDMuNi4wCisgICAgICogd2hlcmUgY2FsbGluZyBwc2FfY3J5cHRvX2luaXQoKSB3YXMgbm90IHJlcXVpcmVkIHRvIG9wZW4gYSBUTFMKKyAgICAgKiBjb25uZWN0aW9uIGluIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uIFNlZQorICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85MDcyIGFuZAorICAgICAqIG1iZWR0bHNfc3NsX3RsczEzX2NyeXB0b19pbml0KCkuCisgICAgICovCisjaWYgZGVmaW5lZChNQkVEVExTX1VTRV9QU0FfQ1JZUFRPKQogICAgIHN0YXR1cyA9IHBzYV9jcnlwdG9faW5pdCgpOwogICAgIGlmIChzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpIHsKICAgICAgICAgbWJlZHRsc19mcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBpbml0aWFsaXplIFBTQSBDcnlwdG8gaW1wbGVtZW50YXRpb246ICVkXG4iLApAQCAtMjY4Niw3ICsyNjk1LDcgQEAKICAgICAgICAgfQogICAgICAgICBrZXlfY2VydF9pbml0ID0gMjsKICNlbmRpZiAvKiBNQkVEVExTX1JTQV9DICovCi0jaWYgZGVmaW5lZChNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FKQorI2lmIGRlZmluZWQoTUJFRFRMU19QS19DQU5fRUNEU0FfU0lHTikKICAgICAgICAgaWYgKChyZXQgPSBtYmVkdGxzX3g1MDlfY3J0X3BhcnNlKCZzcnZjZXJ0MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCB1bnNpZ25lZCBjaGFyICopIG1iZWR0bHNfdGVzdF9zcnZfY3J0X2VjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc190ZXN0X3Nydl9jcnRfZWNfbGVuKSkgIT0gMCkgewpAQCAtMjcwMyw3ICsyNzEyLDcgQEAKICAgICAgICAgICAgIGdvdG8gZXhpdDsKICAgICAgICAgfQogICAgICAgICBrZXlfY2VydF9pbml0MiA9IDI7Ci0jZW5kaWYgLyogTUJFRFRMU19QS19DQU5fRUNEU0FfU09NRSAqLworI2VuZGlmIC8qIE1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR04gKi8KICAgICB9CiAKICNpZiBkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pCkBAIC0zNTA0LDcgKzM1MTMsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KSAtcmV0KTsKIAogI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfSEFORFNIQUtFX1dJVEhfQ0VSVF9FTkFCTEVEKQotICAgICAgICBpZiAocmV0ID09IE1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEKSB7CisgICAgICAgIGlmIChyZXQgPT0gTUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQgfHwKKyAgICAgICAgICAgIHJldCA9PSBNQkVEVExTX0VSUl9TU0xfQkFEX0NFUlRJRklDQVRFKSB7CiAgICAgICAgICAgICBjaGFyIHZyZnlfYnVmWzUxMl07CiAgICAgICAgICAgICBmbGFncyA9IG1iZWR0bHNfc3NsX2dldF92ZXJpZnlfcmVzdWx0KCZzc2wpOwogCkBAIC00MzA4LDYgKzQzMTgsOSBAQAogCiAgICAgLyogRm9yIGJ1aWxkcyB3aXRoIE1CRURUTFNfVEVTVF9VU0VfUFNBX0NSWVBUT19STkcgcHNhIGNyeXB0bwogICAgICAqIHJlc291cmNlcyBhcmUgZnJlZWQgYnkgcm5nX2ZyZWUoKS4gKi8KKyAgICAvKiBGb3IgYnVpbGRzIHdpdGggTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zLCBQU0EgbWF5IGhhdmUgYmVlbgorICAgICAqIGluaXRpYWxpemVkIHVuZGVyIHRoZSBob29kIGJ5IHRoZSBUTFMgbGF5ZXIuIFNlZQorICAgICAqIG1iZWR0bHNfc3NsX3RsczEzX2NyeXB0b19pbml0KCkuICovCiAjaWYgKGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykgfHwgZGVmaW5lZChNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMpKSBcCiAgICAgJiYgIWRlZmluZWQoTUJFRFRMU19URVNUX1VTRV9QU0FfQ1JZUFRPX1JORykKICAgICBtYmVkdGxzX3BzYV9jcnlwdG9fZnJlZSgpOwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc3NsL3NzbF90ZXN0X2NvbW1vbl9zb3VyY2UuYyBiL3Byb2dyYW1zL3NzbC9zc2xfdGVzdF9jb21tb25fc291cmNlLmMKaW5kZXggMWZmMjA3Ny4uNmQzMzNlOCAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvc3NsL3NzbF90ZXN0X2NvbW1vbl9zb3VyY2UuYworKysgYi9wcm9ncmFtcy9zc2wvc3NsX3Rlc3RfY29tbW9uX3NvdXJjZS5jCkBAIC0xMiwxMyArMTIsMTMgQEAKICAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCiAgKi8KIAotdm9pZCBlYXBfdGxzX2tleV9kZXJpdmF0aW9uKHZvaWQgKnBfZXhwa2V5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfc3NsX2tleV9leHBvcnRfdHlwZSBzZWNyZXRfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzZWNyZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNlY3JldF9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciBjbGllbnRfcmFuZG9tWzMyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIHNlcnZlcl9yYW5kb21bMzJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfdGxzX3ByZl90eXBlcyB0bHNfcHJmX3R5cGUpCitzdGF0aWMgdm9pZCBlYXBfdGxzX2tleV9kZXJpdmF0aW9uKHZvaWQgKnBfZXhwa2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3NzbF9rZXlfZXhwb3J0X3R5cGUgc2VjcmV0X3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNlY3JldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNlY3JldF9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2xpZW50X3JhbmRvbVszMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgc2VydmVyX3JhbmRvbVszMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfdGxzX3ByZl90eXBlcyB0bHNfcHJmX3R5cGUpCiB7CiAgICAgZWFwX3Rsc19rZXlzICprZXlzID0gKGVhcF90bHNfa2V5cyAqKSBwX2V4cGtleTsKIApAQCAtMzYsMTMgKzM2LDEzIEBACiAgICAga2V5cy0+dGxzX3ByZl90eXBlID0gdGxzX3ByZl90eXBlOwogfQogCi12b2lkIG5zc19rZXlsb2dfZXhwb3J0KHZvaWQgKnBfZXhwa2V5LAotICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3NzbF9rZXlfZXhwb3J0X3R5cGUgc2VjcmV0X3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNlY3JldCwKLSAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNlY3JldF9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2xpZW50X3JhbmRvbVszMl0sCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgc2VydmVyX3JhbmRvbVszMl0sCi0gICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfdGxzX3ByZl90eXBlcyB0bHNfcHJmX3R5cGUpCitzdGF0aWMgdm9pZCBuc3Nfa2V5bG9nX2V4cG9ydCh2b2lkICpwX2V4cGtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfc3NsX2tleV9leHBvcnRfdHlwZSBzZWNyZXRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNlY3JldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzZWNyZXRfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciBjbGllbnRfcmFuZG9tWzMyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgc2VydmVyX3JhbmRvbVszMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3Rsc19wcmZfdHlwZXMgdGxzX3ByZl90eXBlKQogewogICAgIGNoYXIgbnNzX2tleWxvZ19saW5lWzIwMF07CiAgICAgc2l6ZV90IGNvbnN0IGNsaWVudF9yYW5kb21fbGVuID0gMzI7CkBAIC0xMDYsMTMgKzEwNiwxMyBAQAogfQogCiAjaWYgZGVmaW5lZChNQkVEVExTX1NTTF9EVExTX1NSVFApCi12b2lkIGR0bHNfc3J0cF9rZXlfZGVyaXZhdGlvbih2b2lkICpwX2V4cGtleSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfc3NsX2tleV9leHBvcnRfdHlwZSBzZWNyZXRfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNlY3JldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzZWNyZXRfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciBjbGllbnRfcmFuZG9tWzMyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgc2VydmVyX3JhbmRvbVszMl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3Rsc19wcmZfdHlwZXMgdGxzX3ByZl90eXBlKQorc3RhdGljIHZvaWQgZHRsc19zcnRwX2tleV9kZXJpdmF0aW9uKHZvaWQgKnBfZXhwa2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfc3NsX2tleV9leHBvcnRfdHlwZSBzZWNyZXRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzZWNyZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNlY3JldF9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciBjbGllbnRfcmFuZG9tWzMyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIHNlcnZlcl9yYW5kb21bMzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfdGxzX3ByZl90eXBlcyB0bHNfcHJmX3R5cGUpCiB7CiAgICAgZHRsc19zcnRwX2tleXMgKmtleXMgPSAoZHRsc19zcnRwX2tleXMgKikgcF9leHBrZXk7CiAKQEAgLTEzMSw4ICsxMzEsOCBAQAogfQogI2VuZGlmIC8qIE1CRURUTFNfU1NMX0RUTFNfU1JUUCAqLwogCi1pbnQgc3NsX2NoZWNrX3JlY29yZChtYmVkdGxzX3NzbF9jb250ZXh0IGNvbnN0ICpzc2wsCi0gICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGNvbnN0ICpidWYsIHNpemVfdCBsZW4pCitzdGF0aWMgaW50IHNzbF9jaGVja19yZWNvcmQobWJlZHRsc19zc2xfY29udGV4dCBjb25zdCAqc3NsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgY29uc3QgKmJ1Ziwgc2l6ZV90IGxlbikKIHsKICAgICBpbnQgbXlfcmV0ID0gMCwgcmV0X2NyMSwgcmV0X2NyMjsKICAgICB1bnNpZ25lZCBjaGFyICp0bXBfYnVmOwpAQCAtMTk1LDcgKzE5NSw3IEBACiAgICAgcmV0dXJuIG15X3JldDsKIH0KIAotaW50IHJlY3ZfY2Iodm9pZCAqY3R4LCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4pCitzdGF0aWMgaW50IHJlY3ZfY2Iodm9pZCAqY3R4LCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4pCiB7CiAgICAgaW9fY3R4X3QgKmlvX2N0eCA9IChpb19jdHhfdCAqKSBjdHg7CiAgICAgc2l6ZV90IHJlY3ZfbGVuOwpAQCAtMjIzLDggKzIyMyw4IEBACiAgICAgcmV0dXJuIChpbnQpIHJlY3ZfbGVuOwogfQogCi1pbnQgcmVjdl90aW1lb3V0X2NiKHZvaWQgKmN0eCwgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuLAotICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0aW1lb3V0KQorc3RhdGljIGludCByZWN2X3RpbWVvdXRfY2Iodm9pZCAqY3R4LCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0aW1lb3V0KQogewogICAgIGlvX2N0eF90ICppb19jdHggPSAoaW9fY3R4X3QgKikgY3R4OwogICAgIGludCByZXQ7CkBAIC0yNDgsNyArMjQ4LDcgQEAKICAgICByZXR1cm4gKGludCkgcmVjdl9sZW47CiB9CiAKLWludCBzZW5kX2NiKHZvaWQgKmN0eCwgdW5zaWduZWQgY2hhciBjb25zdCAqYnVmLCBzaXplX3QgbGVuKQorc3RhdGljIGludCBzZW5kX2NiKHZvaWQgKmN0eCwgdW5zaWduZWQgY2hhciBjb25zdCAqYnVmLCBzaXplX3QgbGVuKQogewogICAgIGlvX2N0eF90ICppb19jdHggPSAoaW9fY3R4X3QgKikgY3R4OwogCkBAIC0zMTksOCArMzE5LDggQEAKIC8qKiBGdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byBtYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9pbmZvLCBzZWUgdGhhdCBmdW5jdGlvbgogICogIGZvciBtb3JlIGluZm8uCiAgKi8KLWludCB4NTA5X2NydF92ZXJpZnlfaW5mbyhjaGFyICpidWYsIHNpemVfdCBzaXplLCBjb25zdCBjaGFyICpwcmVmaXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZmxhZ3MpCitzdGF0aWMgaW50IHg1MDlfY3J0X3ZlcmlmeV9pbmZvKGNoYXIgKmJ1Ziwgc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKnByZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZmxhZ3MpCiB7CiAjaWYgIWRlZmluZWQoTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPKQogICAgIHJldHVybiBtYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9pbmZvKGJ1Ziwgc2l6ZSwgcHJlZml4LCBmbGFncyk7CkBAIC0zNTIsNyArMzUyLDggQEAKIH0KICNlbmRpZiAvKiBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MgKi8KIAotdm9pZCBtYmVkdGxzX3ByaW50X3N1cHBvcnRlZF9zaWdfYWxncyh2b2lkKQorI2lmIGRlZmluZWQoTUJFRFRMU19TU0xfSEFORFNIQUtFX1dJVEhfQ0VSVF9FTkFCTEVEKQorc3RhdGljIHZvaWQgbWJlZHRsc19wcmludF9zdXBwb3J0ZWRfc2lnX2FsZ3Modm9pZCkKIHsKICAgICBtYmVkdGxzX3ByaW50Zigic3VwcG9ydGVkIHNpZ25hdHVyZSBhbGdvcml0aG1zOlxuIik7CiAgICAgbWJlZHRsc19wcmludGYoIlx0cnNhX3BrY3MxX3NoYTI1NiAiKTsKQEAgLTM3MywzICszNzQsNCBAQAogICAgIG1iZWR0bHNfcHJpbnRmKCJlY2RzYV9zaGExXG4iKTsKICAgICBtYmVkdGxzX3ByaW50ZigiXG4iKTsKIH0KKyNlbmRpZiAvKiBNQkVEVExTX1NTTF9IQU5EU0hBS0VfV0lUSF9DRVJUX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3Rlc3QvQ01ha2VMaXN0cy50eHQgYi9wcm9ncmFtcy90ZXN0L0NNYWtlTGlzdHMudHh0CmluZGV4IDBkNDNmZmQuLjE2NzBiOTQgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3Rlc3QvQ01ha2VMaXN0cy50eHQKKysrIGIvcHJvZ3JhbXMvdGVzdC9DTWFrZUxpc3RzLnR4dApAQCAtOCwxMiArOCwxNiBAQAogICAgIHNlbGZ0ZXN0CiAgICAgdWRwX3Byb3h5CiApCithZGRfZGVwZW5kZW5jaWVzKCR7cHJvZ3JhbXNfdGFyZ2V0fSAke2V4ZWN1dGFibGVzX2xpYnN9KQorYWRkX2RlcGVuZGVuY2llcygke3NzbF9vcHRfdGFyZ2V0fSB1ZHBfcHJveHkpCiAKIHNldChleGVjdXRhYmxlc19tYmVkY3J5cHRvCiAgICAgYmVuY2htYXJrCiAgICAgcXVlcnlfY29tcGlsZV90aW1lX2NvbmZpZwogICAgIHplcm9pemUKICkKK2FkZF9kZXBlbmRlbmNpZXMoJHtwcm9ncmFtc190YXJnZXR9ICR7ZXhlY3V0YWJsZXNfbWJlZGNyeXB0b30pCithZGRfZGVwZW5kZW5jaWVzKCR7c3NsX29wdF90YXJnZXR9IHF1ZXJ5X2NvbXBpbGVfdGltZV9jb25maWcpCiAKIGlmKFRFU1RfQ1BQKQogICAgIHNldChjcHBfZHVtbXlfYnVpbGRfY3BwICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vY3BwX2R1bW15X2J1aWxkLmNwcCIpCmRpZmYgLS1naXQgYS9wcm9ncmFtcy90ZXN0L2NtYWtlX3BhY2thZ2UvLmdpdGlnbm9yZSBiL3Byb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZS8uZ2l0aWdub3JlCmluZGV4IDlhZTZiNTkuLjg5ZDhjMmIgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZS8uZ2l0aWdub3JlCisrKyBiL3Byb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZS8uZ2l0aWdub3JlCkBAIC0xLDMgKzEsNCBAQAogYnVpbGQKIE1ha2VmaWxlCiBjbWFrZV9wYWNrYWdlCittYmVkdGxzCmRpZmYgLS1naXQgYS9wcm9ncmFtcy90ZXN0L2NtYWtlX3BhY2thZ2VfaW5zdGFsbC8uZ2l0aWdub3JlIGIvcHJvZ3JhbXMvdGVzdC9jbWFrZV9wYWNrYWdlX2luc3RhbGwvLmdpdGlnbm9yZQppbmRleCBiOWI4MjgyLi5hYWE1OTQyIDEwMDY0NAotLS0gYS9wcm9ncmFtcy90ZXN0L2NtYWtlX3BhY2thZ2VfaW5zdGFsbC8uZ2l0aWdub3JlCisrKyBiL3Byb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZV9pbnN0YWxsLy5naXRpZ25vcmUKQEAgLTEsMyArMSw0IEBACiBidWlsZAogTWFrZWZpbGUKIGNtYWtlX3BhY2thZ2VfaW5zdGFsbAorbWJlZHRscwpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvdGVzdC9tZXRhdGVzdC5jIGIvcHJvZ3JhbXMvdGVzdC9tZXRhdGVzdC5jCmluZGV4IGM1MmU1NzkuLmQ4NzZlOWEgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3Rlc3QvbWV0YXRlc3QuYworKysgYi9wcm9ncmFtcy90ZXN0L21ldGF0ZXN0LmMKQEAgLTc2LDEzICs3NiwxMyBAQAogLyogVGVzdCBmcmFtZXdvcmsgZmVhdHVyZXMgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi12b2lkIG1ldGFfdGVzdF9mYWlsKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBtZXRhX3Rlc3RfZmFpbChjb25zdCBjaGFyICpuYW1lKQogewogICAgICh2b2lkKSBuYW1lOwogICAgIG1iZWR0bHNfdGVzdF9mYWlsKCJGb3JjZWQgdGVzdCBmYWlsdXJlIiwgX19MSU5FX18sIF9fRklMRV9fKTsKIH0KIAotdm9pZCBtZXRhX3Rlc3Rfbm90X2VxdWFsKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBtZXRhX3Rlc3Rfbm90X2VxdWFsKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgICAgaW50IGxlZnQgPSAyMDsKICAgICBpbnQgcmlnaHQgPSAxMDsKQEAgLTk0LDcgKzk0LDcgQEAKICAgICA7CiB9CiAKLXZvaWQgbWV0YV90ZXN0X25vdF9sZV9zKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBtZXRhX3Rlc3Rfbm90X2xlX3MoY29uc3QgY2hhciAqbmFtZSkKIHsKICAgICBpbnQgbGVmdCA9IDIwOwogICAgIGludCByaWdodCA9IDEwOwpAQCAtMTA2LDcgKzEwNiw3IEBACiAgICAgOwogfQogCi12b2lkIG1ldGFfdGVzdF9ub3RfbGVfdShjb25zdCBjaGFyICpuYW1lKQorc3RhdGljIHZvaWQgbWV0YV90ZXN0X25vdF9sZV91KGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgICAgc2l6ZV90IGxlZnQgPSAyMDsKICAgICBzaXplX3QgcmlnaHQgPSAxMDsKQEAgLTEyMiwxNiArMTIyLDE2IEBACiAvKiBQbGF0Zm9ybSBmZWF0dXJlcyAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLXZvaWQgbnVsbF9wb2ludGVyX2RlcmVmZXJlbmNlKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBudWxsX3BvaW50ZXJfZGVyZWZlcmVuY2UoY29uc3QgY2hhciAqbmFtZSkKIHsKICAgICAodm9pZCkgbmFtZTsKICAgICB2b2xhdGlsZSBjaGFyICp2b2xhdGlsZSBwOwogICAgIHNldF90b196ZXJvX2J1dF90aGVfY29tcGlsZXJfZG9lc19ub3Rfa25vdygmcCwgc2l6ZW9mKHApKTsKICAgICAvKiBVbmRlZmluZWQgYmVoYXZpb3IgKHJlYWQgZnJvbSBudWxsIGRhdGEgcG9pbnRlcikgKi8KLSAgICBtYmVkdGxzX3ByaW50ZigiJXAgLT4gJXVcbiIsIHAsICh1bnNpZ25lZCkgKnApOworICAgIG1iZWR0bHNfcHJpbnRmKCIlcCAtPiAldVxuIiwgKHZvaWQgKikgcCwgKHVuc2lnbmVkKSAqcCk7CiB9CiAKLXZvaWQgbnVsbF9wb2ludGVyX2NhbGwoY29uc3QgY2hhciAqbmFtZSkKK3N0YXRpYyB2b2lkIG51bGxfcG9pbnRlcl9jYWxsKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgICAgKHZvaWQpIG5hbWU7CiAgICAgdW5zaWduZWQoKnZvbGF0aWxlIHApKHZvaWQpOwpAQCAtMTQ4LDcgKzE0OCw3IEBACiAvKiBNZW1vcnkgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi12b2lkIHJlYWRfYWZ0ZXJfZnJlZShjb25zdCBjaGFyICpuYW1lKQorc3RhdGljIHZvaWQgcmVhZF9hZnRlcl9mcmVlKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgICAgKHZvaWQpIG5hbWU7CiAgICAgdm9sYXRpbGUgY2hhciAqcCA9IGNhbGxvY19idXRfdGhlX2NvbXBpbGVyX2RvZXNfbm90X2tub3coMSwgMSk7CkBAIC0xNTgsNyArMTU4LDcgQEAKICAgICBtYmVkdGxzX3ByaW50ZigiJXVcbiIsICh1bnNpZ25lZCkgKnApOwogfQogCi12b2lkIGRvdWJsZV9mcmVlKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBkb3VibGVfZnJlZShjb25zdCBjaGFyICpuYW1lKQogewogICAgICh2b2lkKSBuYW1lOwogICAgIHZvbGF0aWxlIGNoYXIgKnAgPSBjYWxsb2NfYnV0X3RoZV9jb21waWxlcl9kb2VzX25vdF9rbm93KDEsIDEpOwpAQCAtMTY4LDcgKzE2OCw3IEBACiAgICAgZnJlZV9idXRfdGhlX2NvbXBpbGVyX2RvZXNfbm90X2tub3coKHZvaWQgKikgcCk7CiB9CiAKLXZvaWQgcmVhZF91bmluaXRpYWxpemVkX3N0YWNrKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCByZWFkX3VuaW5pdGlhbGl6ZWRfc3RhY2soY29uc3QgY2hhciAqbmFtZSkKIHsKICAgICAodm9pZCkgbmFtZTsKICAgICBjaGFyIGJ1ZlsxXTsKQEAgLTE4Miw3ICsxODIsNyBAQAogICAgIH0KIH0KIAotdm9pZCBtZW1vcnlfbGVhayhjb25zdCBjaGFyICpuYW1lKQorc3RhdGljIHZvaWQgbWVtb3J5X2xlYWsoY29uc3QgY2hhciAqbmFtZSkKIHsKICAgICAodm9pZCkgbmFtZTsKICAgICB2b2xhdGlsZSBjaGFyICpwID0gY2FsbG9jX2J1dF90aGVfY29tcGlsZXJfZG9lc19ub3Rfa25vdygxLCAxKTsKQEAgLTE5Niw3ICsxOTYsNyBAQAogICogJShzdGFydCksICUob2Zmc2V0KSBhbmQgJShjb3VudCkgYXJlIGRlY2ltYWwgaW50ZWdlcnMuCiAgKiAlKGRpcmVjdGlvbikgaXMgZWl0aGVyIHRoZSBjaGFyYWN0ZXIgJ3InIGZvciByZWFkIG9yICd3JyBmb3Igd3JpdGUuCiAgKi8KLXZvaWQgdGVzdF9tZW1vcnlfcG9pc29uKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCB0ZXN0X21lbW9yeV9wb2lzb24oY29uc3QgY2hhciAqbmFtZSkKIHsKICAgICBzaXplX3Qgc3RhcnQgPSAwLCBvZmZzZXQgPSAwLCBjb3VudCA9IDA7CiAgICAgY2hhciBkaXJlY3Rpb24gPSAncic7CkBAIC0yNTQsNyArMjU0LDcgQEAKIC8qIFRocmVhZGluZyAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLXZvaWQgbXV0ZXhfbG9ja19ub3RfaW5pdGlhbGl6ZWQoY29uc3QgY2hhciAqbmFtZSkKK3N0YXRpYyB2b2lkIG11dGV4X2xvY2tfbm90X2luaXRpYWxpemVkKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgICAgKHZvaWQpIG5hbWU7CiAjaWYgZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQpAQCAtMjcwLDcgKzI3MCw3IEBACiAjZW5kaWYKIH0KIAotdm9pZCBtdXRleF91bmxvY2tfbm90X2luaXRpYWxpemVkKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBtdXRleF91bmxvY2tfbm90X2luaXRpYWxpemVkKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgICAgKHZvaWQpIG5hbWU7CiAjaWYgZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQpAQCAtMjg2LDcgKzI4Niw3IEBACiAjZW5kaWYKIH0KIAotdm9pZCBtdXRleF9mcmVlX25vdF9pbml0aWFsaXplZChjb25zdCBjaGFyICpuYW1lKQorc3RhdGljIHZvaWQgbXV0ZXhfZnJlZV9ub3RfaW5pdGlhbGl6ZWQoY29uc3QgY2hhciAqbmFtZSkKIHsKICAgICAodm9pZCkgbmFtZTsKICNpZiBkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCkBAIC0zMDAsNyArMzAwLDcgQEAKICNlbmRpZgogfQogCi12b2lkIG11dGV4X2RvdWJsZV9pbml0KGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBtdXRleF9kb3VibGVfaW5pdChjb25zdCBjaGFyICpuYW1lKQogewogICAgICh2b2lkKSBuYW1lOwogI2lmIGRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKQEAgLTMxNSw3ICszMTUsNyBAQAogI2VuZGlmCiB9CiAKLXZvaWQgbXV0ZXhfZG91YmxlX2ZyZWUoY29uc3QgY2hhciAqbmFtZSkKK3N0YXRpYyB2b2lkIG11dGV4X2RvdWJsZV9mcmVlKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgICAgKHZvaWQpIG5hbWU7CiAjaWYgZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQpAQCAtMzMwLDcgKzMzMCw3IEBACiAjZW5kaWYKIH0KIAotdm9pZCBtdXRleF9sZWFrKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBtdXRleF9sZWFrKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgICAgKHZvaWQpIG5hbWU7CiAjaWYgZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQpAQCAtMzgxLDcgKzM4MSw3IEBACiAgICAgdm9pZCAoKmVudHJ5X3BvaW50KShjb25zdCBjaGFyICpuYW1lKTsKIH0gbWV0YXRlc3RfdDsKIAotLyogVGhlIGxpc3Qgb2YgYXZhaWxibGUgbWV0YS10ZXN0cy4gUmVtZW1iZXIgdG8gcmVnaXN0ZXIgbmV3IGZ1bmN0aW9ucyBoZXJlIQorLyogVGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG1ldGEtdGVzdHMuIFJlbWVtYmVyIHRvIHJlZ2lzdGVyIG5ldyBmdW5jdGlvbnMgaGVyZSEKICAqCiAgKiBOb3RlIHRoYXQgd2UgYWx3YXlzIGNvbXBpbGUgYWxsIHRoZSBmdW5jdGlvbnMsIHNvIHRoYXQgYG1ldGF0ZXN0IC0tbGlzdGAKICAqIHdpbGwgYWx3YXlzIGxpc3QgYWxsIHRoZSBhdmFpbGFibGUgbWV0YS10ZXN0cy4KZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QuYyBiL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QuYwppbmRleCAwNDMyMDliLi5lNzIzODZmIDEwMDY0NAotLS0gYS9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0LmMKKysrIGIvcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdC5jCkBAIC0yNDEsNyArMjQxLDcgQEAKIH0KICNlbmRpZgogCi1pbnQgbWJlZHRsc19lbnRyb3B5X3NlbGZfdGVzdF93cmFwcGVyKGludCB2ZXJib3NlKQorc3RhdGljIGludCBtYmVkdGxzX2VudHJvcHlfc2VsZl90ZXN0X3dyYXBwZXIoaW50IHZlcmJvc2UpCiB7CiAjaWYgZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfTlZfU0VFRCkgJiYgIWRlZmluZWQoTUJFRFRMU19OT19QTEFURk9STV9FTlRST1BZKQogICAgIGNyZWF0ZV9lbnRyb3B5X3NlZWRfZmlsZSgpOwpAQCAtMjUyLDcgKzI1Miw3IEBACiAKICNpZiBkZWZpbmVkKE1CRURUTFNfU0VMRl9URVNUKQogI2lmIGRlZmluZWQoTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MpCi1pbnQgbWJlZHRsc19tZW1vcnlfYnVmZmVyX2FsbG9jX2ZyZWVfYW5kX3NlbGZfdGVzdChpbnQgdmVyYm9zZSkKK3N0YXRpYyBpbnQgbWJlZHRsc19tZW1vcnlfYnVmZmVyX2FsbG9jX2ZyZWVfYW5kX3NlbGZfdGVzdChpbnQgdmVyYm9zZSkKIHsKICAgICBpZiAodmVyYm9zZSAhPSAwKSB7CiAjaWYgZGVmaW5lZChNQkVEVExTX01FTU9SWV9ERUJVRykKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3Rlc3QvdWRwX3Byb3h5LmMgYi9wcm9ncmFtcy90ZXN0L3VkcF9wcm94eS5jCmluZGV4IGJlYWE4YmQuLjcyMTNmOGEgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3Rlc3QvdWRwX3Byb3h5LmMKKysrIGIvcHJvZ3JhbXMvdGVzdC91ZHBfcHJveHkuYwpAQCAtNDgzLDcgKzQ4Myw3IEBACiB9IHBhY2tldDsKIAogLyogUHJpbnQgcGFja2V0LiBPdXRnb2luZyBwYWNrZXRzIGNvbWUgd2l0aCBhIHJlYXNvbiAoZm9yd2FyZCwgZHVwbCwgZXRjLikgKi8KLXZvaWQgcHJpbnRfcGFja2V0KGNvbnN0IHBhY2tldCAqcCwgY29uc3QgY2hhciAqd2h5KQorc3RhdGljIHZvaWQgcHJpbnRfcGFja2V0KGNvbnN0IHBhY2tldCAqcCwgY29uc3QgY2hhciAqd2h5KQogewogI2lmIGRlZmluZWQoTUJFRFRMU19USU1JTkdfQykKICAgICBpZiAod2h5ID09IE5VTEwpIHsKQEAgLTUyNyw3ICs1MjcsNyBAQAogc3RhdGljIGluamVjdF9jbGlobG9fc3RhdGVfdCBpbmplY3RfY2xpaGxvX3N0YXRlOwogc3RhdGljIHBhY2tldCBpbml0aWFsX2NsaWhsbzsKIAotaW50IHNlbmRfcGFja2V0KGNvbnN0IHBhY2tldCAqcCwgY29uc3QgY2hhciAqd2h5KQorc3RhdGljIGludCBzZW5kX3BhY2tldChjb25zdCBwYWNrZXQgKnAsIGNvbnN0IGNoYXIgKndoeSkKIHsKICAgICBpbnQgcmV0OwogICAgIG1iZWR0bHNfbmV0X2NvbnRleHQgKmRzdCA9IHAtPmRzdDsKQEAgLTYxNiwxMyArNjE2LDEzIEBACiBzdGF0aWMgc2l6ZV90IHByZXZfbGVuOwogc3RhdGljIHBhY2tldCBwcmV2W01BWF9ERUxBWUVEX01TR107CiAKLXZvaWQgY2xlYXJfcGVuZGluZyh2b2lkKQorc3RhdGljIHZvaWQgY2xlYXJfcGVuZGluZyh2b2lkKQogewogICAgIG1lbXNldCgmcHJldiwgMCwgc2l6ZW9mKHByZXYpKTsKICAgICBwcmV2X2xlbiA9IDA7CiB9CiAKLXZvaWQgZGVsYXlfcGFja2V0KHBhY2tldCAqZGVsYXkpCitzdGF0aWMgdm9pZCBkZWxheV9wYWNrZXQocGFja2V0ICpkZWxheSkKIHsKICAgICBpZiAocHJldl9sZW4gPT0gTUFYX0RFTEFZRURfTVNHKSB7CiAgICAgICAgIHJldHVybjsKQEAgLTYzMSw3ICs2MzEsNyBAQAogICAgIG1lbWNweSgmcHJldltwcmV2X2xlbisrXSwgZGVsYXksIHNpemVvZihwYWNrZXQpKTsKIH0KIAotaW50IHNlbmRfZGVsYXllZCh2b2lkKQorc3RhdGljIGludCBzZW5kX2RlbGF5ZWQodm9pZCkKIHsKICAgICB1aW50OF90IG9mZnNldDsKICAgICBpbnQgcmV0OwpAQCAtNjYzLDkgKzY2Myw5IEBACiBzdGF0aWMgdW5zaWduZWQgY2hhciBoZWxkWzIwNDhdID0geyAwIH07CiAjZGVmaW5lIEhPTERfTUFYIDIKIAotaW50IGhhbmRsZV9tZXNzYWdlKGNvbnN0IGNoYXIgKndheSwKLSAgICAgICAgICAgICAgICAgICBtYmVkdGxzX25ldF9jb250ZXh0ICpkc3QsCi0gICAgICAgICAgICAgICAgICAgbWJlZHRsc19uZXRfY29udGV4dCAqc3JjKQorc3RhdGljIGludCBoYW5kbGVfbWVzc2FnZShjb25zdCBjaGFyICp3YXksCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfbmV0X2NvbnRleHQgKmRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19uZXRfY29udGV4dCAqc3JjKQogewogICAgIGludCByZXQ7CiAgICAgcGFja2V0IGN1cjsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3Rlc3QvemVyb2l6ZS5jIGIvcHJvZ3JhbXMvdGVzdC96ZXJvaXplLmMKaW5kZXggMWU5Yjk4ZC4uYzFjZWUwZCAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMvdGVzdC96ZXJvaXplLmMKKysrIGIvcHJvZ3JhbXMvdGVzdC96ZXJvaXplLmMKQEAgLTIzLDcgKzIzLDcgQEAKIAogI2RlZmluZSBCVUZGRVJfTEVOIDEwMjQKIAotdm9pZCB1c2FnZSh2b2lkKQorc3RhdGljIHZvaWQgdXNhZ2Uodm9pZCkKIHsKICAgICBtYmVkdGxzX3ByaW50ZigiWmVyb2l6ZSBpcyBhIHNpbXBsZSBwcm9ncmFtIHRvIGFzc2lzdCB3aXRoIHRlc3RpbmdcbiIpOwogICAgIG1iZWR0bHNfcHJpbnRmKCJ0aGUgbWJlZHRsc19wbGF0Zm9ybV96ZXJvaXplKCkgZnVuY3Rpb24gYnkgdXNpbmcgdGhlXG4iKTsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3V0aWwvQ01ha2VMaXN0cy50eHQgYi9wcm9ncmFtcy91dGlsL0NNYWtlTGlzdHMudHh0CmluZGV4IGNiNmJjM2QuLjI2NGQ5NDEgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3V0aWwvQ01ha2VMaXN0cy50eHQKKysrIGIvcHJvZ3JhbXMvdXRpbC9DTWFrZUxpc3RzLnR4dApAQCAtNiw2ICs2LDcgQEAKICAgICBwZW0yZGVyCiAgICAgc3RyZXJyb3IKICkKK2FkZF9kZXBlbmRlbmNpZXMoJHtwcm9ncmFtc190YXJnZXR9ICR7ZXhlY3V0YWJsZXN9KQogCiBmb3JlYWNoKGV4ZSBJTiBMSVNUUyBleGVjdXRhYmxlcykKICAgICBhZGRfZXhlY3V0YWJsZSgke2V4ZX0gJHtleGV9LmMgJDxUQVJHRVRfT0JKRUNUUzptYmVkdGxzX3Rlc3Q+KQpkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvdXRpbC9wZW0yZGVyLmMgYi9wcm9ncmFtcy91dGlsL3BlbTJkZXIuYwppbmRleCBkNjgyYzJiLi4xNzczNjViIDEwMDY0NAotLS0gYS9wcm9ncmFtcy91dGlsL3BlbTJkZXIuYworKysgYi9wcm9ncmFtcy91dGlsL3BlbTJkZXIuYwpAQCAtNDUsOCArNDUsOCBAQAogICAgIGNvbnN0IGNoYXIgKm91dHB1dF9maWxlOyAgICAvKiB3aGVyZSB0byBzdG9yZSB0aGUgb3V0cHV0ICAgICAgICAgICAgICAqLwogfSBvcHQ7CiAKLWludCBjb252ZXJ0X3BlbV90b19kZXIoY29uc3QgdW5zaWduZWQgY2hhciAqaW5wdXQsIHNpemVfdCBpbGVuLAotICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpvdXRwdXQsIHNpemVfdCAqb2xlbikKK3N0YXRpYyBpbnQgY29udmVydF9wZW1fdG9fZGVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlucHV0LCBzaXplX3QgaWxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKm91dHB1dCwgc2l6ZV90ICpvbGVuKQogewogICAgIGludCByZXQ7CiAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqczEsICpzMiwgKmVuZCA9IGlucHV0ICsgaWxlbjsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3g1MDkvQ01ha2VMaXN0cy50eHQgYi9wcm9ncmFtcy94NTA5L0NNYWtlTGlzdHMudHh0CmluZGV4IDQzNDM3ZjAuLmEwOTgxM2MgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3g1MDkvQ01ha2VMaXN0cy50eHQKKysrIGIvcHJvZ3JhbXMveDUwOS9DTWFrZUxpc3RzLnR4dApAQCAtMTAsNiArMTAsNyBAQAogICAgIGxvYWRfcm9vdHMKICAgICByZXFfYXBwCiApCithZGRfZGVwZW5kZW5jaWVzKCR7cHJvZ3JhbXNfdGFyZ2V0fSAke2V4ZWN1dGFibGVzfSkKIAogZm9yZWFjaChleGUgSU4gTElTVFMgZXhlY3V0YWJsZXMpCiAgICAgYWRkX2V4ZWN1dGFibGUoJHtleGV9ICR7ZXhlfS5jICQ8VEFSR0VUX09CSkVDVFM6bWJlZHRsc190ZXN0PikKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3g1MDkvY2VydF9yZXEuYyBiL3Byb2dyYW1zL3g1MDkvY2VydF9yZXEuYwppbmRleCBkY2ZkMTc2Li45OTVlZTQ5IDEwMDY0NAotLS0gYS9wcm9ncmFtcy94NTA5L2NlcnRfcmVxLmMKKysrIGIvcHJvZ3JhbXMveDUwOS9jZXJ0X3JlcS5jCkBAIC05NCwyMiArOTQsMjIgQEAKICAqIGdsb2JhbCBvcHRpb25zCiAgKi8KIHN0cnVjdCBvcHRpb25zIHsKLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsgICAgICAgICAgICAgLyogZmlsZW5hbWUgb2YgdGhlIGtleSBmaWxlICAgICAgICAgICAgICovCi0gICAgY29uc3QgY2hhciAqcGFzc3dvcmQ7ICAgICAgICAgICAgIC8qIHBhc3N3b3JkIGZvciB0aGUga2V5IGZpbGUgICAgICAgICAgICAqLwotICAgIGludCBkZWJ1Z19sZXZlbDsgICAgICAgICAgICAgICAgICAvKiBsZXZlbCBvZiBkZWJ1Z2dpbmcgICAgICAgICAgICAgICAgICAgKi8KKyAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsgICAgICAgICAgICAgLyogZmlsZW5hbWUgb2YgdGhlIGtleSBmaWxlICAgICAgICAgICAgICAgICAqLworICAgIGNvbnN0IGNoYXIgKnBhc3N3b3JkOyAgICAgICAgICAgICAvKiBwYXNzd29yZCBmb3IgdGhlIGtleSBmaWxlICAgICAgICAgICAgICAgICovCisgICAgaW50IGRlYnVnX2xldmVsOyAgICAgICAgICAgICAgICAgIC8qIGxldmVsIG9mIGRlYnVnZ2luZyAgICAgICAgICAgICAgICAgICAgICAgKi8KICAgICBjb25zdCBjaGFyICpvdXRwdXRfZmlsZTsgICAgICAgICAgLyogd2hlcmUgdG8gc3RvcmUgdGhlIGNvbnN0cnVjdGVkIGtleSBmaWxlICAqLwotICAgIGNvbnN0IGNoYXIgKnN1YmplY3RfbmFtZTsgICAgICAgICAvKiBzdWJqZWN0IG5hbWUgZm9yIGNlcnRpZmljYXRlIHJlcXVlc3QgICAqLwotICAgIG1iZWR0bHNfeDUwOV9zYW5fbGlzdCAqc2FuX2xpc3Q7ICAvKiBzdWJqZWN0QWx0TmFtZSBmb3IgY2VydGlmaWNhdGUgcmVxdWVzdCAqLwotICAgIHVuc2lnbmVkIGNoYXIga2V5X3VzYWdlOyAgICAgICAgICAvKiBrZXkgdXNhZ2UgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICBpbnQgZm9yY2Vfa2V5X3VzYWdlOyAgICAgICAgICAgICAgLyogRm9yY2UgYWRkaW5nIHRoZSBLZXlVc2FnZSBleHRlbnNpb24gICovCi0gICAgdW5zaWduZWQgY2hhciBuc19jZXJ0X3R5cGU7ICAgICAgIC8qIE5TIGNlcnQgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIGludCBmb3JjZV9uc19jZXJ0X3R5cGU7ICAgICAgICAgICAvKiBGb3JjZSBhZGRpbmcgTnNDZXJ0VHlwZSBleHRlbnNpb24gICAgKi8KLSAgICBtYmVkdGxzX21kX3R5cGVfdCBtZF9hbGc7ICAgICAgICAgLyogSGFzaCBhbGdvcml0aG0gdXNlZCBmb3Igc2lnbmF0dXJlLiAgICovCisgICAgY29uc3QgY2hhciAqc3ViamVjdF9uYW1lOyAgICAgICAgIC8qIHN1YmplY3QgbmFtZSBmb3IgY2VydGlmaWNhdGUgcmVxdWVzdCAgICAgKi8KKyAgICBtYmVkdGxzX3g1MDlfc2FuX2xpc3QgKnNhbl9saXN0OyAgLyogc3ViamVjdEFsdE5hbWUgZm9yIGNlcnRpZmljYXRlIHJlcXVlc3QgICAqLworICAgIHVuc2lnbmVkIGNoYXIga2V5X3VzYWdlOyAgICAgICAgICAvKiBrZXkgdXNhZ2UgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgaW50IGZvcmNlX2tleV91c2FnZTsgICAgICAgICAgICAgIC8qIEZvcmNlIGFkZGluZyB0aGUgS2V5VXNhZ2UgZXh0ZW5zaW9uICAgICAgKi8KKyAgICB1bnNpZ25lZCBjaGFyIG5zX2NlcnRfdHlwZTsgICAgICAgLyogTlMgY2VydCB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIGludCBmb3JjZV9uc19jZXJ0X3R5cGU7ICAgICAgICAgICAvKiBGb3JjZSBhZGRpbmcgTnNDZXJ0VHlwZSBleHRlbnNpb24gICAgICAgICovCisgICAgbWJlZHRsc19tZF90eXBlX3QgbWRfYWxnOyAgICAgICAgIC8qIEhhc2ggYWxnb3JpdGhtIHVzZWQgZm9yIHNpZ25hdHVyZS4gICAgICAgKi8KIH0gb3B0OwogCi1pbnQgd3JpdGVfY2VydGlmaWNhdGVfcmVxdWVzdChtYmVkdGxzX3g1MDl3cml0ZV9jc3IgKnJlcSwgY29uc3QgY2hhciAqb3V0cHV0X2ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKCpmX3JuZykodm9pZCAqLCB1bnNpZ25lZCBjaGFyICosIHNpemVfdCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwX3JuZykKK3N0YXRpYyBpbnQgd3JpdGVfY2VydGlmaWNhdGVfcmVxdWVzdChtYmVkdGxzX3g1MDl3cml0ZV9jc3IgKnJlcSwgY29uc3QgY2hhciAqb3V0cHV0X2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICgqZl9ybmcpKHZvaWQgKiwgdW5zaWduZWQgY2hhciAqLCBzaXplX3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnBfcm5nKQogewogICAgIGludCByZXQ7CiAgICAgRklMRSAqZjsKZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3g1MDkvY2VydF93cml0ZS5jIGIvcHJvZ3JhbXMveDUwOS9jZXJ0X3dyaXRlLmMKaW5kZXggMGIyNTc1ZS4uNmZkMWRjZSAxMDA2NDQKLS0tIGEvcHJvZ3JhbXMveDUwOS9jZXJ0X3dyaXRlLmMKKysrIGIvcHJvZ3JhbXMveDUwOS9jZXJ0X3dyaXRlLmMKQEAgLTIwNCw5ICsyMDQsOSBAQAogICAgIGludCBmb3JtYXQ7ICAgICAgICAgICAgICAgICAvKiBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIH0gb3B0OwogCi1pbnQgd3JpdGVfY2VydGlmaWNhdGUobWJlZHRsc194NTA5d3JpdGVfY2VydCAqY3J0LCBjb25zdCBjaGFyICpvdXRwdXRfZmlsZSwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgKCpmX3JuZykodm9pZCAqLCB1bnNpZ25lZCBjaGFyICosIHNpemVfdCksCi0gICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcF9ybmcpCitzdGF0aWMgaW50IHdyaXRlX2NlcnRpZmljYXRlKG1iZWR0bHNfeDUwOXdyaXRlX2NlcnQgKmNydCwgY29uc3QgY2hhciAqb3V0cHV0X2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAoKmZfcm5nKSh2b2lkICosIHVuc2lnbmVkIGNoYXIgKiwgc2l6ZV90KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcF9ybmcpCiB7CiAgICAgaW50IHJldDsKICAgICBGSUxFICpmOwpAQCAtMjQ5LDggKzI0OSw4IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBwYXJzZV9zZXJpYWxfZGVjaW1hbF9mb3JtYXQodW5zaWduZWQgY2hhciAqb2J1Ziwgc2l6ZV90IG9idWZtYXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmlidWYsIHNpemVfdCAqbGVuKQorc3RhdGljIGludCBwYXJzZV9zZXJpYWxfZGVjaW1hbF9mb3JtYXQodW5zaWduZWQgY2hhciAqb2J1Ziwgc2l6ZV90IG9idWZtYXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICppYnVmLCBzaXplX3QgKmxlbikKIHsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IGRlYzsKICAgICB1bnNpZ25lZCBpbnQgcmVtYWluaW5nX2J5dGVzID0gc2l6ZW9mKGRlYyk7CmRpZmYgLS1naXQgYS9wcm9ncmFtcy94NTA5L2xvYWRfcm9vdHMuYyBiL3Byb2dyYW1zL3g1MDkvbG9hZF9yb290cy5jCmluZGV4IGYwZTZhY2YuLmQxNDUzN2YgMTAwNjQ0Ci0tLSBhL3Byb2dyYW1zL3g1MDkvbG9hZF9yb290cy5jCisrKyBiL3Byb2dyYW1zL3g1MDkvbG9hZF9yb290cy5jCkBAIC00OCw3ICs0OCw3IEBACiB9IG9wdDsKIAogCi1pbnQgcmVhZF9jZXJ0aWZpY2F0ZXMoY29uc3QgY2hhciAqY29uc3QgKmZpbGVuYW1lcykKK3N0YXRpYyBpbnQgcmVhZF9jZXJ0aWZpY2F0ZXMoY29uc3QgY2hhciAqY29uc3QgKmZpbGVuYW1lcykKIHsKICAgICBtYmVkdGxzX3g1MDlfY3J0IGNhczsKICAgICBpbnQgcmV0ID0gMDsKZGlmZiAtLWdpdCBhL3NjcmlwdHMvYWJpX2NoZWNrLnB5IGIvc2NyaXB0cy9hYmlfY2hlY2sucHkKaW5kZXggOGE2MDRjNC4uZjkxZDgwZSAxMDA3NTUKLS0tIGEvc2NyaXB0cy9hYmlfY2hlY2sucHkKKysrIGIvc2NyaXB0cy9hYmlfY2hlY2sucHkKQEAgLTEwMSw3ICsxMDEsOCBAQAogCiBpbXBvcnQgeG1sLmV0cmVlLkVsZW1lbnRUcmVlIGFzIEVUCiAKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGJ1aWxkX3RyZWUKK2ltcG9ydCBmcmFtZXdvcmtfc2NyaXB0c19wYXRoICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsgaW1wb3J0IGJ1aWxkX3RyZWUKIAogCiBjbGFzcyBBYmlDaGVja2VyOgpAQCAtMzI1LDggKzMyNiwxNCBAQAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgX2xpc3RfZ2VuZXJhdGVkX3Rlc3RfZGF0YV9maWxlcyhnaXRfd29ya3RyZWVfcGF0aCk6CiAgICAgICAgICIiIkxpc3QgdGhlIGdlbmVyYXRlZCB0ZXN0IGRhdGEgZmlsZXMuIiIiCisgICAgICAgIGdlbmVyYXRlX3BzYV90ZXN0cyA9ICdmcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHknCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShnaXRfd29ya3RyZWVfcGF0aCArICcvJyArIGdlbmVyYXRlX3BzYV90ZXN0cyk6CisgICAgICAgICAgICAjIFRoZSBjaGVja2VkLW91dCByZXZpc2lvbiBpcyBmcm9tIGJlZm9yZSBnZW5lcmF0ZV9wc2FfdGVzdHMucHkKKyAgICAgICAgICAgICMgd2FzIG1vdmVkIHRvIHRoZSBmcmFtZXdvcmsgc3VibW9kdWxlLiBVc2UgdGhlIG9sZCBsb2NhdGlvbi4KKyAgICAgICAgICAgIGdlbmVyYXRlX3BzYV90ZXN0cyA9ICd0ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weScKKwogICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgKLSAgICAgICAgICAgIFsndGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHknLCAnLS1saXN0J10sCisgICAgICAgICAgICBbZ2VuZXJhdGVfcHNhX3Rlc3RzLCAnLS1saXN0J10sCiAgICAgICAgICAgICBjd2Q9Z2l0X3dvcmt0cmVlX3BhdGgsCiAgICAgICAgICkuZGVjb2RlKCdhc2NpaScpCiAgICAgICAgIHJldHVybiBbbGluZSBmb3IgbGluZSBpbiBvdXRwdXQuc3BsaXQoJ1xuJykgaWYgbGluZV0KQEAgLTM1Miw4ICszNTksMTQgQEAKICAgICAgICAgICAgIGlmICdzdG9yYWdlX2Zvcm1hdCcgaW4gZmlsZW5hbWU6CiAgICAgICAgICAgICAgICAgc3RvcmFnZV9kYXRhX2ZpbGVzLmFkZChmaWxlbmFtZSkKICAgICAgICAgICAgICAgICB0b19iZV9nZW5lcmF0ZWQuYWRkKGZpbGVuYW1lKQorCisgICAgICAgIGdlbmVyYXRlX3BzYV90ZXN0cyA9ICdmcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHknCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShnaXRfd29ya3RyZWVfcGF0aCArICcvJyArIGdlbmVyYXRlX3BzYV90ZXN0cyk6CisgICAgICAgICAgICAjIFRoZSBjaGVja2VkLW91dCByZXZpc2lvbiBpcyBmcm9tIGJlZm9yZSBnZW5lcmF0ZV9wc2FfdGVzdHMucHkKKyAgICAgICAgICAgICMgd2FzIG1vdmVkIHRvIHRoZSBmcmFtZXdvcmsgc3VibW9kdWxlLiBVc2UgdGhlIG9sZCBsb2NhdGlvbi4KKyAgICAgICAgICAgIGdlbmVyYXRlX3BzYV90ZXN0cyA9ICd0ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weScKICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKAotICAgICAgICAgICAgWyd0ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weSddICsgc29ydGVkKHRvX2JlX2dlbmVyYXRlZCksCisgICAgICAgICAgICBbZ2VuZXJhdGVfcHNhX3Rlc3RzXSArIHNvcnRlZCh0b19iZV9nZW5lcmF0ZWQpLAogICAgICAgICAgICAgY3dkPWdpdF93b3JrdHJlZV9wYXRoLAogICAgICAgICApCiAgICAgICAgIGZvciB0ZXN0X2ZpbGUgaW4gc29ydGVkKHN0b3JhZ2VfZGF0YV9maWxlcyk6CmRpZmYgLS1naXQgYS9zY3JpcHRzL2NpLnJlcXVpcmVtZW50cy50eHQgYi9zY3JpcHRzL2NpLnJlcXVpcmVtZW50cy50eHQKaW5kZXggNjljMmRiMC4uZmMxMGM2MyAxMDA2NDQKLS0tIGEvc2NyaXB0cy9jaS5yZXF1aXJlbWVudHMudHh0CisrKyBiL3NjcmlwdHMvY2kucmVxdWlyZW1lbnRzLnR4dApAQCAtNyw5ICs3LDEzIEBACiAjIDIuNC40IGlzIHRoZSB2ZXJzaW9uIGluIFVidW50dSAyMC4wNC4gSXQgc3VwcG9ydHMgUHl0aG9uID49My41LgogcHlsaW50ID09IDIuNC40CiAKLSMgVXNlIHRoZSBlYXJsaWVzdCB2ZXJzaW9uIG9mIG15cHkgdGhhdCB3b3JrcyB3aXRoIG91ciBjb2RlIGJhc2UuCi0jIFNlZSBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9wdWxsLzM5NTMgLgotbXlweSA+PSAwLjc4MAorIyBVc2UgYSB2ZXJzaW9uIG9mIG15cHkgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggb3VyIGNvZGUgYmFzZS4KKyMgbXlweSA8MC45NDAgaXMga25vd24gbm90IHRvIHdvcms6IHNlZSBjb21taXQKKyMgIDovVXBncmFkZSBteXB5IHRvIHRoZSBsYXN0IHZlcnNpb24gc3VwcG9ydGluZyBQeXRob24gMy42CisjIG15cHkgPj0wLjk2MCBpcyBrbm93biBub3QgdG8gd29yazoKKyMgICBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy1mcmFtZXdvcmsvaXNzdWVzLzUwCisjIG15cHkgMC45NDIgaXMgdGhlIHZlcnNpb24gaW4gVWJ1bnR1IDIyLjA0LgorbXlweSA9PSAwLjk0MgogCiAjIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIG9ubHkgbmVlZGVkIGZvciB0ZXN0cy9zY3JpcHRzL2F1ZGl0LXZhbGlkaXR5LWRhdGVzLnB5LgogIyBJdCBuZWVkcyA+PTM1LjAuMCBmb3IgY29ycmVjdCBvcGVyYXRpb24sIGFuZCB0aGF0IHJlcXVpcmVzIFB5dGhvbiA+PTMuNiwKQEAgLTE5LDYgKzIzLDYgQEAKICMgdG8gcnVuIGF1ZGl0LXZhbGlkaXR5LWRhdGVzLnB5IG9uIFB5dGhvbiA+PTMuNi4KIGNyeXB0b2dyYXBoeSAjID49IDM1LjAuMAogCi0jIEZvciBidWlsZGluZyBgdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LWJhZC1zYWx0bGVuLmNydGAgYW5kIGNoZWNrIHB5dGhvbgorIyBGb3IgYnVpbGRpbmcgYGZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjktYmFkLXNhbHRsZW4uY3J0YCBhbmQgY2hlY2sgcHl0aG9uCiAjIGZpbGVzLgogYXNuMWNyeXB0bwpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9jb2RlX3NpemVfY29tcGFyZS5weSBiL3NjcmlwdHMvY29kZV9zaXplX2NvbXBhcmUucHkKaW5kZXggYWJkMTNkZi4uNTA3NDliNiAxMDA3NTUKLS0tIGEvc2NyaXB0cy9jb2RlX3NpemVfY29tcGFyZS5weQorKysgYi9zY3JpcHRzL2NvZGVfc2l6ZV9jb21wYXJlLnB5CkBAIC0yMSw5ICsyMSwxMCBAQAogaW1wb3J0IHR5cGluZwogZnJvbSBlbnVtIGltcG9ydCBFbnVtCiAKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGJ1aWxkX3RyZWUKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGxvZ2dpbmdfdXRpbAotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgdHlwaW5nX3V0aWwKK2ltcG9ydCBmcmFtZXdvcmtfc2NyaXB0c19wYXRoICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsgaW1wb3J0IGJ1aWxkX3RyZWUKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsgaW1wb3J0IGxvZ2dpbmdfdXRpbAorZnJvbSBtYmVkdGxzX2ZyYW1ld29yayBpbXBvcnQgdHlwaW5nX3V0aWwKIAogY2xhc3MgU3VwcG9ydGVkQXJjaChFbnVtKToKICAgICAiIiJTdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIGZvciBjb2RlIHNpemUgbWVhc3VyZW1lbnQuIiIiCmRpZmYgLS1naXQgYS9zY3JpcHRzL2NvZGVfc3R5bGUucHkgYi9zY3JpcHRzL2NvZGVfc3R5bGUucHkKaW5kZXggMDc5NTJiNi4uZTk4ZmIyYiAxMDA3NTUKLS0tIGEvc2NyaXB0cy9jb2RlX3N0eWxlLnB5CisrKyBiL3NjcmlwdHMvY29kZV9zdHlsZS5weQpAQCAtNzUsMTYgKzc1LDU3IEBACiAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJnaXQiLCAibHMtZmlsZXMiXSArIGZpbGVfcGF0dGVybnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUpCiAgICAgc3JjX2ZpbGVzID0gb3V0cHV0LnNwbGl0KCkKKworICAgICMgV2hlbiB0aGlzIHNjcmlwdCBpcyBjYWxsZWQgZnJvbSBhIGdpdCBob29rLCBzb21lIGVudmlyb25tZW50IHZhcmlhYmxlcworICAgICMgYXJlIHNldCBieSBkZWZhdWx0IHdoaWNoIGZvcmNlIGFsbCBnaXQgY29tbWFuZHMgdG8gdXNlIHRoZSBtYWluIHJlcG9zaXRvcnkKKyAgICAjIChpLmUuIHByZXZlbnQgdXMgZnJvbSBwZXJmb3JtaW5nIGNvbW1hbmRzIG9uIHRoZSBmcmFtZXdvcmsgcmVwbykuCisgICAgIyBDcmVhdGUgYW4gZW52aXJvbm1lbnQgd2l0aG91dCB0aGVzZSB2YXJpYWJsZXMgZm9yIHJ1bm5pbmcgY29tbWFuZHMgb24gdGhlCisgICAgIyBmcmFtZXdvcmsgcmVwby4KKyAgICBmcmFtZXdvcmtfZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKyAgICAjIEdldCBhIGxpc3Qgb2YgZW52aXJvbm1lbnQgdmFycyB0aGF0IGdpdCBzZXRzCisgICAgZ2l0X2Vudl92YXJzID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJnaXQiLCAicmV2LXBhcnNlIiwgIi0tbG9jYWwtZW52LXZhcnMiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKKyAgICAjIFJlbW92ZSB0aGUgdmFycyBmcm9tIHRoZSBlbnZpcm9ubWVudAorICAgIGZvciB2YXIgaW4gZ2l0X2Vudl92YXJzLnNwbGl0KCk6CisgICAgICAgIGZyYW1ld29ya19lbnYucG9wKHZhciwgTm9uZSkKKworICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsiZ2l0IiwgIi1DIiwgImZyYW1ld29yayIsICJscy1maWxlcyJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBmaWxlX3BhdHRlcm5zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1mcmFtZXdvcmtfZW52KQorICAgIGZyYW1ld29ya19zcmNfZmlsZXMgPSBvdXRwdXQuc3BsaXQoKQorCiAgICAgaWYgc2luY2U6Ci0gICAgICAgICMgZ2V0IGFsbCBmaWxlcyBjaGFuZ2VkIGluIGNvbW1pdHMgc2luY2UgdGhlIHN0YXJ0aW5nIHBvaW50Ci0gICAgICAgIGNtZCA9IFsiZ2l0IiwgImxvZyIsIHNpbmNlICsgIi4uSEVBRCIsICItLW5hbWUtb25seSIsICItLXByZXR0eT0iLCAiLS0iXSArIHNyY19maWxlcworICAgICAgICAjIGdldCBhbGwgZmlsZXMgY2hhbmdlZCBpbiBjb21taXRzIHNpbmNlIHRoZSBzdGFydGluZyBwb2ludCBpbiAuLi4KKyAgICAgICAgIyAuLi4gdGhlIG1haW4gcmVwb3NpdG9yeQorICAgICAgICBjbWQgPSBbImdpdCIsICJsb2ciLCBzaW5jZSArICIuLkhFQUQiLCAiLS1pZ25vcmUtc3VibW9kdWxlcyIsCisgICAgICAgICAgICAgICAiLS1uYW1lLW9ubHkiLCAiLS1wcmV0dHk9IiwgIi0tIl0gKyBzcmNfZmlsZXMKICAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kLCB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKICAgICAgICAgY29tbWl0dGVkX2NoYW5nZWRfZmlsZXMgPSBvdXRwdXQuc3BsaXQoKQotICAgICAgICAjIGFuZCBhbHNvIGdldCBhbGwgZmlsZXMgd2l0aCB1bmNvbW1pdHRlZCBjaGFuZ2VzCisKKyAgICAgICAgIyAuLi4gdGhlIGZyYW1ld29yayBzdWJtb2R1bGUKKyAgICAgICAgZnJhbWV3b3JrX3NpbmNlID0gZ2V0X3N1Ym1vZHVsZV9oYXNoKHNpbmNlLCAiZnJhbWV3b3JrIikKKyAgICAgICAgY21kID0gWyJnaXQiLCAiLUMiLCAiZnJhbWV3b3JrIiwgImxvZyIsIGZyYW1ld29ya19zaW5jZSArICIuLkhFQUQiLAorICAgICAgICAgICAgICAgIi0tbmFtZS1vbmx5IiwgIi0tcHJldHR5PSIsICItLSJdICsgZnJhbWV3b3JrX3NyY19maWxlcworICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChjbWQsIHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZnJhbWV3b3JrX2VudikKKyAgICAgICAgY29tbWl0dGVkX2NoYW5nZWRfZmlsZXMgKz0gWyJmcmFtZXdvcmsvIiArIHMgZm9yIHMgaW4gb3V0cHV0LnNwbGl0KCldCisKKyAgICAgICAgIyBhbmQgYWxzbyBnZXQgYWxsIGZpbGVzIHdpdGggdW5jb21taXR0ZWQgY2hhbmdlcyBpbiAuLi4KKyAgICAgICAgIyAuLi4gdGhlIG1haW4gcmVwb3NpdG9yeQogICAgICAgICBjbWQgPSBbImdpdCIsICJkaWZmIiwgIi0tbmFtZS1vbmx5IiwgIi0tIl0gKyBzcmNfZmlsZXMKICAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kLCB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKICAgICAgICAgdW5jb21taXR0ZWRfY2hhbmdlZF9maWxlcyA9IG91dHB1dC5zcGxpdCgpCi0gICAgICAgIHNyY19maWxlcyA9IGxpc3Qoc2V0KGNvbW1pdHRlZF9jaGFuZ2VkX2ZpbGVzICsgdW5jb21taXR0ZWRfY2hhbmdlZF9maWxlcykpCisgICAgICAgICMgLi4uIHRoZSBmcmFtZXdvcmsgc3VibW9kdWxlCisgICAgICAgIGNtZCA9IFsiZ2l0IiwgIi1DIiwgImZyYW1ld29yayIsICJkaWZmIiwgIi0tbmFtZS1vbmx5IiwgIi0tIl0gKyBcCisgICAgICAgICAgICAgIGZyYW1ld29ya19zcmNfZmlsZXMKKyAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kLCB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWZyYW1ld29ya19lbnYpCisgICAgICAgIHVuY29tbWl0dGVkX2NoYW5nZWRfZmlsZXMgKz0gWyJmcmFtZXdvcmsvIiArIHMgZm9yIHMgaW4gb3V0cHV0LnNwbGl0KCldCisKKyAgICAgICAgc3JjX2ZpbGVzID0gY29tbWl0dGVkX2NoYW5nZWRfZmlsZXMgKyB1bmNvbW1pdHRlZF9jaGFuZ2VkX2ZpbGVzCisgICAgZWxzZToKKyAgICAgICAgc3JjX2ZpbGVzICs9IFsiZnJhbWV3b3JrLyIgKyBzIGZvciBzIGluIGZyYW1ld29ya19zcmNfZmlsZXNdCiAKICAgICBnZW5lcmF0ZWRfZmlsZXMgPSBsaXN0X2dlbmVyYXRlZF9maWxlcygpCiAgICAgIyBEb24ndCBjb3JyZWN0IHN0eWxlIGZvciB0aGlyZC1wYXJ0eSBmaWxlcyAoYW5kLCBmb3Igc2ltcGxpY2l0eSwKQEAgLTk2LDYgKzEzNywxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2ZpbGVfYXV0b2dlbmVyYXRlZChmaWxlbmFtZSkpXQogICAgIHJldHVybiBzcmNfZmlsZXMKIAorZGVmIGdldF9zdWJtb2R1bGVfaGFzaChjb21taXQ6IHN0ciwgc3VibW9kdWxlOiBzdHIpIC0+IHN0cjoKKyAgICAiIiJHZXQgdGhlIGNvbW1pdCBoYXNoIG9mIGEgc3VibW9kdWxlIGF0IGEgZ2l2ZW4gY29tbWl0IGluIHRoZSBHaXQgcmVwb3NpdG9yeS4iIiIKKyAgICBjbWQgPSBbImdpdCIsICJscy10cmVlIiwgY29tbWl0LCBzdWJtb2R1bGVdCisgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kLCB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKKyAgICByZXR1cm4gb3V0cHV0LnNwbGl0KClbMl0KKwogZGVmIGdldF91bmNydXN0aWZ5X3ZlcnNpb24oKSAtPiBzdHI6CiAgICAgIiIiCiAgICAgR2V0IHRoZSB2ZXJzaW9uIHN0cmluZyBmcm9tIFVuY3J1c3RpZnkKZGlmZiAtLWdpdCBhL3NjcmlwdHMvY29tbW9uLm1ha2UgYi9zY3JpcHRzL2NvbW1vbi5tYWtlCmluZGV4IDk5MDhhM2MuLjQzOWYxM2QgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvY29tbW9uLm1ha2UKKysrIGIvc2NyaXB0cy9jb21tb24ubWFrZQpAQCAtMTgsNyArMTgsNyBAQAogCiBDRkxBR1MJPz0gLU8yCiBXQVJOSU5HX0NGTEFHUyA/PSAtV2FsbCAtV2V4dHJhIC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbAotV0FSTklOR19DWFhGTEFHUyA/PSAtV2FsbCAtV2V4dHJhIC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbAorV0FSTklOR19DWFhGTEFHUyA/PSAtV2FsbCAtV2V4dHJhIC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbCAtc3RkPWMrKzExIC1wZWRhbnRpYwogTERGTEFHUyA/PQogCiBMT0NBTF9DRkxBR1MgPSAkKFdBUk5JTkdfQ0ZMQUdTKSAtSSQoTUJFRFRMU19URVNUX1BBVEgpL2luY2x1ZGUgLUkkKE1CRURUTFNfUEFUSCkvaW5jbHVkZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0CmRpZmYgLS1naXQgYS9zY3JpcHRzL2NvbmZpZy5weSBiL3NjcmlwdHMvY29uZmlnLnB5CmluZGV4IGM1M2Y5ZTcuLmVmMTMwNjIgMTAwNzU1Ci0tLSBhL3NjcmlwdHMvY29uZmlnLnB5CisrKyBiL3NjcmlwdHMvY29uZmlnLnB5CkBAIC0xLDE3MyArMSw3MiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwogCi0iIiJNYmVkIFRMUyBjb25maWd1cmF0aW9uIGZpbGUgbWFuaXB1bGF0aW9uIGxpYnJhcnkgYW5kIHRvb2wKKyIiIk1iZWQgVExTIGFuZCBQU0EgY29uZmlndXJhdGlvbiBmaWxlIG1hbmlwdWxhdGlvbiBsaWJyYXJ5IGFuZCB0b29sCiAKIEJhc2ljIHVzYWdlLCB0byByZWFkIHRoZSBNYmVkIFRMUyBjb25maWd1cmF0aW9uOgotICAgIGNvbmZpZyA9IENvbmZpZ0ZpbGUoKQorICAgIGNvbmZpZyA9IE1iZWRUTFNDb25maWcoKQogICAgIGlmICdNQkVEVExTX1JTQV9DJyBpbiBjb25maWc6IHByaW50KCdSU0EgaXMgZW5hYmxlZCcpCiAiIiIKIAotIyBOb3RlIHRoYXQgYXMgbG9uZyBhcyBNYmVkIFRMUyAyLjI4IExUUyBpcyBtYWludGFpbmVkLCB0aGUgdmVyc2lvbiBvZgotIyB0aGlzIHNjcmlwdCBpbiB0aGUgbWJlZHRscy0yLjI4IGJyYW5jaCBtdXN0IHJlbWFpbiBjb21wYXRpYmxlIHdpdGgKLSMgUHl0aG9uIDMuNC4gVGhlIHZlcnNpb24gaW4gZGV2ZWxvcG1lbnQgbWF5IG9ubHkgdXNlIG1vcmUgcmVjZW50IGZlYXR1cmVzCi0jIGluIHBhcnRzIHRoYXQgYXJlIG5vdCBiYWNrcG9ydGVkIHRvIDIuMjguCi0KICMjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCiAjIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCiAjIwogCiBpbXBvcnQgb3MKLWltcG9ydCByZQoraW1wb3J0IHN5cwogCi1jbGFzcyBTZXR0aW5nOgotICAgICIiIlJlcHJlc2VudGF0aW9uIG9mIG9uZSBNYmVkIFRMUyBtYmVkdGxzX2NvbmZpZy5oIHNldHRpbmcuCitpbXBvcnQgZnJhbWV3b3JrX3NjcmlwdHNfcGF0aCAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtaW1wb3J0Citmcm9tIG1iZWR0bHNfZnJhbWV3b3JrIGltcG9ydCBjb25maWdfY29tbW9uCiAKLSAgICBGaWVsZHM6Ci0gICAgKiBuYW1lOiB0aGUgc3ltYm9sIG5hbWUgKCdNQkVEVExTX3h4eCcpLgotICAgICogdmFsdWU6IHRoZSB2YWx1ZSBvZiB0aGUgbWFjcm8uIFRoZSBlbXB0eSBzdHJpbmcgZm9yIGEgcGxhaW4gI2RlZmluZQotICAgICAgd2l0aCBubyB2YWx1ZS4KLSAgICAqIGFjdGl2ZTogVHJ1ZSBpZiBuYW1lIGlzIGRlZmluZWQsIEZhbHNlIGlmIGEgI2RlZmluZSBmb3IgbmFtZSBpcwotICAgICAgcHJlc2VudCBpbiBtYmVkdGxzX2NvbmZpZy5oIGJ1dCBjb21tZW50ZWQgb3V0LgotICAgICogc2VjdGlvbjogdGhlIG5hbWUgb2YgdGhlIHNlY3Rpb24gdGhhdCBjb250YWlucyB0aGlzIHN5bWJvbC4KKworZGVmIGlzX2Jvb2xlYW5fc2V0dGluZyhuYW1lLCB2YWx1ZSk6CisgICAgIiIiSXMgdGhpcyBhIGJvb2xlYW4gc2V0dGluZz8KKworICAgIE1iZWQgVExTIGJvb2xlYW4gc2V0dGluZ3MgYXJlIGVuYWJsZWQgaWYgdGhlIHByZXByb2Nlc3NvciBtYWNybyBpcworICAgIGRlZmluZWQsIGFuZCBkaXNhYmxlZCBpZiB0aGUgcHJlcHJvY2Vzc29yIG1hY3JvIGlzIG5vdCBkZWZpbmVkLiBUaGUKKyAgICBtYWNybyBkZWZpbml0aW9uIGxpbmUgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBoYXMgYW4gZW1wdHkgZXhwYW5zaW9uLgorCisgICAgUFNBX1dBTlRfeHh4IHNldHRpbmdzIGFyZSBhbHNvIGJvb2xlYW4sIGJ1dCB3aGVuIHRoZXkgYXJlIGVuYWJsZWQsCisgICAgdGhleSBleHBhbmQgdG8gYSBub256ZXJvIHZhbHVlLiBXZSBsZWF2ZSB0aGVtIHVuZGVmaW5lZCB3aGVuIHRoZXkKKyAgICBhcmUgZGlzYWJsZWQuIChTZXR0aW5nIHRoZW0gdG8gMCBjdXJyZW50bHkgbWVhbnMgdG8gZW5hYmxlIHRoZW0sIGJ1dAorICAgIHRoaXMgbWlnaHQgY2hhbmdlIHRvIG1lYW4gZGlzYWJsaW5nIHRoZW0uIEN1cnJlbnRseSB3ZSBqdXN0IG5ldmVyIHNldAorICAgIHRoZW0gdG8gMC4pCiAgICAgIiIiCi0gICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLWZldy1wdWJsaWMtbWV0aG9kcwotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhY3RpdmUsIG5hbWUsIHZhbHVlPScnLCBzZWN0aW9uPU5vbmUpOgotICAgICAgICBzZWxmLmFjdGl2ZSA9IGFjdGl2ZQotICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCi0gICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQotICAgICAgICBzZWxmLnNlY3Rpb24gPSBzZWN0aW9uCisgICAgaWYgbmFtZS5zdGFydHN3aXRoKCdQU0FfV0FOVF8nKToKKyAgICAgICAgcmV0dXJuIFRydWUKKyAgICBpZiBub3QgdmFsdWU6CisgICAgICAgIHJldHVybiBUcnVlCisgICAgcmV0dXJuIEZhbHNlCiAKLWNsYXNzIENvbmZpZzoKLSAgICAiIiJSZXByZXNlbnRhdGlvbiBvZiB0aGUgTWJlZCBUTFMgY29uZmlndXJhdGlvbi4KLQotICAgIEluIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoaXMgY2xhc3MsIGEgc3ltYm9sIGlzIHNhaWQgdG8gYmUgKmFjdGl2ZSoKLSAgICBpZiB0aGVyZSBpcyBhICNkZWZpbmUgZm9yIGl0IHRoYXQgaXMgbm90IGNvbW1lbnRlZCBvdXQsIGFuZCAqa25vd24qCi0gICAgaWYgdGhlcmUgaXMgYSAjZGVmaW5lIGZvciBpdCB3aGV0aGVyIGNvbW1lbnRlZCBvdXQgb3Igbm90LgotCi0gICAgVGhpcyBjbGFzcyBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIHByb3RvY29sczoKLSAgICAqIGBuYW1lIGluIGNvbmZpZ2AgaXMgYFRydWVgIGlmIHRoZSBzeW1ib2wgYG5hbWVgIGlzIGFjdGl2ZSwgYEZhbHNlYAotICAgICAgb3RoZXJ3aXNlICh3aGV0aGVyIGBuYW1lYCBpcyBpbmFjdGl2ZSBvciBub3Qga25vd24pLgotICAgICogYGNvbmZpZ1tuYW1lXWAgaXMgdGhlIHZhbHVlIG9mIHRoZSBtYWNybyBgbmFtZWAuIElmIGBuYW1lYCBpcyBpbmFjdGl2ZSwKLSAgICAgIHJhaXNlIGBLZXlFcnJvcmAgKGV2ZW4gaWYgYG5hbWVgIGlzIGtub3duKS4KLSAgICAqIGBjb25maWdbbmFtZV0gPSB2YWx1ZWAgc2V0cyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB0byBgbmFtZWAuIGBuYW1lYAotICAgICAgbXVzdCBiZSBrbm93biwgYnV0IGRvZXMgbm90IG5lZWQgdG8gYmUgc2V0LiBUaGlzIGRvZXMgbm90IGNhdXNlCi0gICAgICBuYW1lIHRvIGJlY29tZSBzZXQuCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYuc2V0dGluZ3MgPSB7fQotCi0gICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBuYW1lKToKLSAgICAgICAgIiIiVHJ1ZSBpZiB0aGUgZ2l2ZW4gc3ltYm9sIGlzIGFjdGl2ZSAoaS5lLiBzZXQpLgotCi0gICAgICAgIEZhbHNlIGlmIHRoZSBnaXZlbiBzeW1ib2wgaXMgbm90IHNldCwgZXZlbiBpZiBhIGRlZmluaXRpb24KLSAgICAgICAgaXMgcHJlc2VudCBidXQgY29tbWVudGVkIG91dC4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBuYW1lIGluIHNlbGYuc2V0dGluZ3MgYW5kIHNlbGYuc2V0dGluZ3NbbmFtZV0uYWN0aXZlCi0KLSAgICBkZWYgYWxsKHNlbGYsICpuYW1lcyk6Ci0gICAgICAgICIiIlRydWUgaWYgYWxsIHRoZSBlbGVtZW50cyBvZiBuYW1lcyBhcmUgYWN0aXZlIChpLmUuIHNldCkuIiIiCi0gICAgICAgIHJldHVybiBhbGwoc2VsZi5fX2NvbnRhaW5zX18obmFtZSkgZm9yIG5hbWUgaW4gbmFtZXMpCi0KLSAgICBkZWYgYW55KHNlbGYsICpuYW1lcyk6Ci0gICAgICAgICIiIlRydWUgaWYgYXQgbGVhc3Qgb25lIHN5bWJvbCBpbiBuYW1lcyBhcmUgYWN0aXZlIChpLmUuIHNldCkuIiIiCi0gICAgICAgIHJldHVybiBhbnkoc2VsZi5fX2NvbnRhaW5zX18obmFtZSkgZm9yIG5hbWUgaW4gbmFtZXMpCi0KLSAgICBkZWYga25vd24oc2VsZiwgbmFtZSk6Ci0gICAgICAgICIiIlRydWUgaWYgYSAjZGVmaW5lIGZvciBuYW1lIGlzIHByZXNlbnQsIHdoZXRoZXIgaXQncyBjb21tZW50ZWQgb3V0IG9yIG5vdC4iIiIKLSAgICAgICAgcmV0dXJuIG5hbWUgaW4gc2VsZi5zZXR0aW5ncwotCi0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIG5hbWUpOgotICAgICAgICAiIiJHZXQgdGhlIHZhbHVlIG9mIG5hbWUsIGkuZS4gd2hhdCB0aGUgcHJlcHJvY2Vzc29yIHN5bWJvbCBleHBhbmRzIHRvLgotCi0gICAgICAgIElmIG5hbWUgaXMgbm90IGtub3duLCByYWlzZSBLZXlFcnJvci4gbmFtZSBkb2VzIG5vdCBuZWVkIHRvIGJlIGFjdGl2ZS4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBzZWxmLnNldHRpbmdzW25hbWVdLnZhbHVlCi0KLSAgICBkZWYgZ2V0KHNlbGYsIG5hbWUsIGRlZmF1bHQ9Tm9uZSk6Ci0gICAgICAgICIiIkdldCB0aGUgdmFsdWUgb2YgbmFtZS4gSWYgbmFtZSBpcyBpbmFjdGl2ZSAobm90IHNldCksIHJldHVybiBkZWZhdWx0LgotCi0gICAgICAgIElmIGEgI2RlZmluZSBmb3IgbmFtZSBpcyBwcmVzZW50IGFuZCBub3QgY29tbWVudGVkIG91dCwgcmV0dXJuCi0gICAgICAgIGl0cyBleHBhbnNpb24sIGV2ZW4gaWYgdGhpcyBpcyB0aGUgZW1wdHkgc3RyaW5nLgotCi0gICAgICAgIElmIGEgI2RlZmluZSBmb3IgbmFtZSBpcyBwcmVzZW50IGJ1dCBjb21tZW50ZWQgb3V0LCByZXR1cm4gZGVmYXVsdC4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5hbWUgaW4gc2VsZi5zZXR0aW5nczoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnNldHRpbmdzW25hbWVdLnZhbHVlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gZGVmYXVsdAotCi0gICAgZGVmIF9fc2V0aXRlbV9fKHNlbGYsIG5hbWUsIHZhbHVlKToKLSAgICAgICAgIiIiSWYgbmFtZSBpcyBrbm93biwgc2V0IGl0cyB2YWx1ZS4KLQotICAgICAgICBJZiBuYW1lIGlzIG5vdCBrbm93biwgcmFpc2UgS2V5RXJyb3IuCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLnNldHRpbmdzW25hbWVdLnZhbHVlID0gdmFsdWUKLQotICAgIGRlZiBzZXQoc2VsZiwgbmFtZSwgdmFsdWU9Tm9uZSk6Ci0gICAgICAgICIiIlNldCBuYW1lIHRvIHRoZSBnaXZlbiB2YWx1ZSBhbmQgbWFrZSBpdCBhY3RpdmUuCi0KLSAgICAgICAgSWYgdmFsdWUgaXMgTm9uZSBhbmQgbmFtZSBpcyBhbHJlYWR5IGtub3duLCBkb24ndCBjaGFuZ2UgaXRzIHZhbHVlLgotICAgICAgICBJZiB2YWx1ZSBpcyBOb25lIGFuZCBuYW1lIGlzIG5vdCBrbm93biwgc2V0IGl0cyB2YWx1ZSB0byB0aGUgZW1wdHkKLSAgICAgICAgc3RyaW5nLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgbmFtZSBpbiBzZWxmLnNldHRpbmdzOgotICAgICAgICAgICAgaWYgdmFsdWUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZXR0aW5nc1tuYW1lXS52YWx1ZSA9IHZhbHVlCi0gICAgICAgICAgICBzZWxmLnNldHRpbmdzW25hbWVdLmFjdGl2ZSA9IFRydWUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuc2V0dGluZ3NbbmFtZV0gPSBTZXR0aW5nKFRydWUsIG5hbWUsIHZhbHVlPXZhbHVlKQotCi0gICAgZGVmIHVuc2V0KHNlbGYsIG5hbWUpOgotICAgICAgICAiIiJNYWtlIG5hbWUgdW5zZXQgKGluYWN0aXZlKS4KLQotICAgICAgICBuYW1lIHJlbWFpbnMga25vd24gaWYgaXQgd2FzIGtub3duIGJlZm9yZS4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5hbWUgbm90IGluIHNlbGYuc2V0dGluZ3M6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgc2VsZi5zZXR0aW5nc1tuYW1lXS5hY3RpdmUgPSBGYWxzZQotCi0gICAgZGVmIGFkYXB0KHNlbGYsIGFkYXB0ZXIpOgotICAgICAgICAiIiJSdW4gYWRhcHRlciBvbiBlYWNoIGtub3duIHN5bWJvbCBhbmQgKGRlKWFjdGl2YXRlIGl0IGFjY29yZGluZ2x5LgotCi0gICAgICAgIGBhZGFwdGVyYCBtdXN0IGJlIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgYm9vbGVhbi4gSXQgaXMgY2FsbGVkIGFzCi0gICAgICAgIGBhZGFwdGVyKG5hbWUsIGFjdGl2ZSwgc2VjdGlvbilgIGZvciBlYWNoIHNldHRpbmcsIHdoZXJlIGBhY3RpdmVgIGlzCi0gICAgICAgIGBUcnVlYCBpZiBgbmFtZWAgaXMgc2V0IGFuZCBgRmFsc2VgIGlmIGBuYW1lYCBpcyBrbm93biBidXQgdW5zZXQsCi0gICAgICAgIGFuZCBgc2VjdGlvbmAgaXMgdGhlIG5hbWUgb2YgdGhlIHNlY3Rpb24gY29udGFpbmluZyBgbmFtZWAuIElmCi0gICAgICAgIGBhZGFwdGVyYCByZXR1cm5zIGBUcnVlYCwgdGhlbiBzZXQgYG5hbWVgIChpLmUuIG1ha2UgaXQgYWN0aXZlKSwKLSAgICAgICAgb3RoZXJ3aXNlIHVuc2V0IGBuYW1lYCAoaS5lLiBtYWtlIGl0IGtub3duIGJ1dCBpbmFjdGl2ZSkuCi0gICAgICAgICIiIgotICAgICAgICBmb3Igc2V0dGluZyBpbiBzZWxmLnNldHRpbmdzLnZhbHVlcygpOgotICAgICAgICAgICAgc2V0dGluZy5hY3RpdmUgPSBhZGFwdGVyKHNldHRpbmcubmFtZSwgc2V0dGluZy5hY3RpdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZy5zZWN0aW9uKQotCi0gICAgZGVmIGNoYW5nZV9tYXRjaGluZyhzZWxmLCByZWdleHMsIGVuYWJsZSk6Ci0gICAgICAgICIiIkNoYW5nZSBhbGwgc3ltYm9scyBtYXRjaGluZyBvbmUgb2YgdGhlIHJlZ2V4cyB0byB0aGUgZGVzaXJlZCBzdGF0ZS4iIiIKLSAgICAgICAgaWYgbm90IHJlZ2V4czoKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICByZWdleCA9IHJlLmNvbXBpbGUoJ3wnLmpvaW4ocmVnZXhzKSkKLSAgICAgICAgZm9yIHNldHRpbmcgaW4gc2VsZi5zZXR0aW5ncy52YWx1ZXMoKToKLSAgICAgICAgICAgIGlmIHJlZ2V4LnNlYXJjaChzZXR0aW5nLm5hbWUpOgotICAgICAgICAgICAgICAgIHNldHRpbmcuYWN0aXZlID0gZW5hYmxlCi0KLWRlZiBpc19mdWxsX3NlY3Rpb24oc2VjdGlvbik6Ci0gICAgIiIiSXMgdGhpcyBzZWN0aW9uIGFmZmVjdGVkIGJ5ICJjb25maWcucHkgZnVsbCIgYW5kIGZyaWVuZHM/IiIiCi0gICAgcmV0dXJuIHNlY3Rpb24uZW5kc3dpdGgoJ3N1cHBvcnQnKSBvciBzZWN0aW9uLmVuZHN3aXRoKCdtb2R1bGVzJykKLQotZGVmIHJlYWxmdWxsX2FkYXB0ZXIoX25hbWUsIGFjdGl2ZSwgc2VjdGlvbik6Ci0gICAgIiIiQWN0aXZhdGUgYWxsIHN5bWJvbHMgZm91bmQgaW4gdGhlIGdsb2JhbCBhbmQgYm9vbGVhbiBmZWF0dXJlIHNlY3Rpb25zLgorZGVmIHJlYWxmdWxsX2FkYXB0ZXIoX25hbWUsIF92YWx1ZSwgX2FjdGl2ZSk6CisgICAgIiIiQWN0aXZhdGUgYWxsIHN5bWJvbHMuCiAKICAgICBUaGlzIGlzIGludGVuZGVkIGZvciBidWlsZGluZyB0aGUgZG9jdW1lbnRhdGlvbiwgaW5jbHVkaW5nIHRoZQogICAgIGRvY3VtZW50YXRpb24gb2Ygc2V0dGluZ3MgdGhhdCBhcmUgYWN0aXZhdGVkIGJ5IGRlZmluaW5nIGFuIG9wdGlvbmFsCi0gICAgcHJlcHJvY2Vzc29yIG1hY3JvLgotCi0gICAgRG8gbm90IGFjdGl2YXRlIGRlZmluaXRpb25zIGluIHRoZSBzZWN0aW9uIGNvbnRhaW5pbmcgc3ltYm9scyB0aGF0IGFyZQotICAgIHN1cHBvc2VkIHRvIGJlIGRlZmluZWQgYW5kIGRvY3VtZW50ZWQgaW4gdGhlaXIgb3duIG1vZHVsZS4KKyAgICBwcmVwcm9jZXNzb3IgbWFjcm8uIFRoZXJlIGlzIG5vIGV4cGVjdGF0aW9uIHRoYXQgdGhlIHJlc3VsdGluZworICAgIGNvbmZpZ3VyYXRpb24gY2FuIGJlIGJ1aWx0LgogICAgICIiIgotICAgIGlmIHNlY3Rpb24gPT0gJ01vZHVsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMnOgotICAgICAgICByZXR1cm4gYWN0aXZlCiAgICAgcmV0dXJuIFRydWUKIAorUFNBX1VOU1VQUE9SVEVEX0ZFQVRVUkUgPSBmcm96ZW5zZXQoWworICAgICdQU0FfV0FOVF9BTEdfQ0JDX01BQycsCisgICAgJ1BTQV9XQU5UX0FMR19YVFMnLAorICAgICdQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfREVSSVZFJywKKyAgICAnUFNBX1dBTlRfS0VZX1RZUEVfREhfS0VZX1BBSVJfREVSSVZFJworXSkKKworUFNBX0RFUFJFQ0FURURfRkVBVFVSRSA9IGZyb3plbnNldChbCisgICAgJ1BTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUicsCisgICAgJ1BTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUicKK10pCisKK1BTQV9VTlNUQUJMRV9GRUFUVVJFID0gZnJvemVuc2V0KFsKKyAgICAnUFNBX1dBTlRfRUNDX1NFQ1BfSzFfMjI0JworXSkKKworRVhDTFVERV9GUk9NX0NSWVBUTyA9IFBTQV9VTlNVUFBPUlRFRF9GRUFUVVJFIHwgXAorICAgICAgICAgICAgICAgICAgICAgIFBTQV9ERVBSRUNBVEVEX0ZFQVRVUkUgfCBcCisgICAgICAgICAgICAgICAgICAgICAgUFNBX1VOU1RBQkxFX0ZFQVRVUkUKKwogIyBUaGUgZ29hbCBvZiB0aGUgZnVsbCBjb25maWd1cmF0aW9uIGlzIHRvIGhhdmUgZXZlcnl0aGluZyB0aGF0IGNhbiBiZSB0ZXN0ZWQKICMgdG9nZXRoZXIuIFRoaXMgaW5jbHVkZXMgZGVwcmVjYXRlZCBvciBpbnNlY3VyZSBvcHRpb25zLiBJdCBleGNsdWRlczoKICMgKiBPcHRpb25zIHRoYXQgcmVxdWlyZSBhZGRpdGlvbmFsIGJ1aWxkIGRlcGVuZGVuY2llcyBvciB1bnVzdWFsIGhhcmR3YXJlLgpAQCAtMjAwLDcgKzk5LDcgQEAKICAgICAnTUJFRFRMU19QTEFURk9STV9OT19TVERfRlVOQ1RJT05TJywgIyByZW1vdmVzIGEgZmVhdHVyZQogICAgICdNQkVEVExTX1BTQV9BU1NVTUVfRVhDTFVTSVZFX0JVRkZFUlMnLCAjIHJlbW92ZXMgYSBmZWF0dXJlCiAgICAgJ01CRURUTFNfUFNBX0NSWVBUT19FWFRFUk5BTF9STkcnLCAjIGJlaGF2aW9yIGNoYW5nZSArIGJ1aWxkIGRlcGVuZGVuY3kKLSAgICAnTUJFRFRMU19QU0FfQ1JZUFRPX0tFWV9JRF9FTkNPREVTX09XTkVSJywgIyBpbmNvbXBhdGlibGUgd2l0aCBVU0VfUFNBX0NSWVBUTworICAgICdNQkVEVExTX1BTQV9DUllQVE9fS0VZX0lEX0VOQ09ERVNfT1dORVInLCAjIGludGVyZmFjZSBhbmQgYmVoYXZpb3IgY2hhbmdlCiAgICAgJ01CRURUTFNfUFNBX0NSWVBUT19TUE0nLCAjIHBsYXRmb3JtIGRlcGVuZGVuY3kgKFBTQSBTUE0pCiAgICAgJ01CRURUTFNfUFNBX0lOSkVDVF9FTlRST1BZJywgIyBjb25mbGljdHMgd2l0aCBwbGF0Zm9ybSBlbnRyb3B5IHNvdXJjZXMKICAgICAnTUJFRFRMU19SU0FfTk9fQ1JUJywgIyBpbmZsdWVuY2VzIHRoZSB1c2Ugb2YgUlNBIGluIFguNTA5IGFuZCBUTFMKQEAgLTIxMSw2ICsxMTAsOCBAQAogICAgICdNQkVEVExTX1RFU1RfQ09OU1RBTlRfRkxPV19NRU1TQU4nLCAjIGJ1aWxkIGRlcGVuZGVuY3kgKGNsYW5nK21lbXNhbikKICAgICAnTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfVkFMR1JJTkQnLCAjIGJ1aWxkIGRlcGVuZGVuY3kgKHZhbGdyaW5kIGhlYWRlcnMpCiAgICAgJ01CRURUTFNfWDUwOV9SRU1PVkVfSU5GTycsICMgcmVtb3ZlcyBhIGZlYXR1cmUKKyAgICAnTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UUycsICMgb25seSByZWxldmFudCBmb3IgZW1iZWRkZWQgZGV2aWNlcworICAgICdNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RfQlVGRkVSX1NJWkUnLCAjIG9ubHkgcmVsZXZhbnQgZm9yIGVtYmVkZGVkIGRldmljZXMKIF0pCiAKIGRlZiBpc19zZWFtbGVzc19hbHQobmFtZSk6CkBAIC0yNDMsOSArMTQ0LDkgQEAKICAgICAgICAgcmV0dXJuIGlzX3NlYW1sZXNzX2FsdChuYW1lKQogICAgIHJldHVybiBUcnVlCiAKLWRlZiBmdWxsX2FkYXB0ZXIobmFtZSwgYWN0aXZlLCBzZWN0aW9uKToKK2RlZiBmdWxsX2FkYXB0ZXIobmFtZSwgdmFsdWUsIGFjdGl2ZSk6CiAgICAgIiIiQ29uZmlnIGFkYXB0ZXIgZm9yICJmdWxsIi4iIiIKLSAgICBpZiBub3QgaXNfZnVsbF9zZWN0aW9uKHNlY3Rpb24pOgorICAgIGlmIG5vdCBpc19ib29sZWFuX3NldHRpbmcobmFtZSwgdmFsdWUpOgogICAgICAgICByZXR1cm4gYWN0aXZlCiAgICAgcmV0dXJuIGluY2x1ZGVfaW5fZnVsbChuYW1lKQogCkBAIC0yODEsOSArMTgyLDkgQEAKICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgcmV0dXJuIFRydWUKIAotZGVmIGJhcmVtZXRhbF9hZGFwdGVyKG5hbWUsIGFjdGl2ZSwgc2VjdGlvbik6CitkZWYgYmFyZW1ldGFsX2FkYXB0ZXIobmFtZSwgdmFsdWUsIGFjdGl2ZSk6CiAgICAgIiIiQ29uZmlnIGFkYXB0ZXIgZm9yICJiYXJlbWV0YWwiLiIiIgotICAgIGlmIG5vdCBpc19mdWxsX3NlY3Rpb24oc2VjdGlvbik6CisgICAgaWYgbm90IGlzX2Jvb2xlYW5fc2V0dGluZyhuYW1lLCB2YWx1ZSk6CiAgICAgICAgIHJldHVybiBhY3RpdmUKICAgICBpZiBuYW1lID09ICdNQkVEVExTX05PX1BMQVRGT1JNX0VOVFJPUFknOgogICAgICAgICAjIE5vIE9TLXByb3ZpZGVkIGVudHJvcHkgc291cmNlCkBAIC0zMDAsMTAgKzIwMSwxMCBAQAogICAgICdNQkVEVExTX1RFU1RfSE9PS1MnLCAjIG9ubHkgdXNlZnVsIHdpdGggdGhlIGhvc3RlZCB0ZXN0IGZyYW1ld29yaywgaW5jcmVhc2VzIGNvZGUgc2l6ZQogXSkKIAotZGVmIGJhcmVtZXRhbF9zaXplX2FkYXB0ZXIobmFtZSwgYWN0aXZlLCBzZWN0aW9uKToKK2RlZiBiYXJlbWV0YWxfc2l6ZV9hZGFwdGVyKG5hbWUsIHZhbHVlLCBhY3RpdmUpOgogICAgIGlmIG5hbWUgaW4gRVhDTFVERV9GT1JfU0laRToKICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgcmV0dXJuIGJhcmVtZXRhbF9hZGFwdGVyKG5hbWUsIGFjdGl2ZSwgc2VjdGlvbikKKyAgICByZXR1cm4gYmFyZW1ldGFsX2FkYXB0ZXIobmFtZSwgdmFsdWUsIGFjdGl2ZSkKIAogZGVmIGluY2x1ZGVfaW5fY3J5cHRvKG5hbWUpOgogICAgICIiIlJ1bGVzIGZvciBzeW1ib2xzIGluIGEgY3J5cHRvIGNvbmZpZ3VyYXRpb24uIiIiCkBAIC0zMjIsMTUgKzIyMywxNSBAQAogZGVmIGNyeXB0b19hZGFwdGVyKGFkYXB0ZXIpOgogICAgICIiIk1vZGlmeSBhbiBhZGFwdGVyIHRvIGRpc2FibGUgbm9uLWNyeXB0byBzeW1ib2xzLgogCi0gICAgYGBjcnlwdG9fYWRhcHRlcihhZGFwdGVyKShuYW1lLCBhY3RpdmUsIHNlY3Rpb24pYGAgaXMgbGlrZQotICAgIGBgYWRhcHRlcihuYW1lLCBhY3RpdmUsIHNlY3Rpb24pYGAsIGJ1dCB1bnNldHMgYWxsIFguNTA5IGFuZCBUTFMgc3ltYm9scy4KKyAgICBgYGNyeXB0b19hZGFwdGVyKGFkYXB0ZXIpKG5hbWUsIHZhbHVlLCBhY3RpdmUpYGAgaXMgbGlrZQorICAgIGBgYWRhcHRlcihuYW1lLCB2YWx1ZSwgYWN0aXZlKWBgLCBidXQgdW5zZXRzIGFsbCBYLjUwOSBhbmQgVExTIHN5bWJvbHMuCiAgICAgIiIiCi0gICAgZGVmIGNvbnRpbnVhdGlvbihuYW1lLCBhY3RpdmUsIHNlY3Rpb24pOgorICAgIGRlZiBjb250aW51YXRpb24obmFtZSwgdmFsdWUsIGFjdGl2ZSk6CiAgICAgICAgIGlmIG5vdCBpbmNsdWRlX2luX2NyeXB0byhuYW1lKToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBpZiBhZGFwdGVyIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gYWN0aXZlCi0gICAgICAgIHJldHVybiBhZGFwdGVyKG5hbWUsIGFjdGl2ZSwgc2VjdGlvbikKKyAgICAgICAgcmV0dXJuIGFkYXB0ZXIobmFtZSwgdmFsdWUsIGFjdGl2ZSkKICAgICByZXR1cm4gY29udGludWF0aW9uCiAKIERFUFJFQ0FURUQgPSBmcm96ZW5zZXQoWwpAQCAtMzM5LDQyICsyNDAsMzkgQEAKIGRlZiBub19kZXByZWNhdGVkX2FkYXB0ZXIoYWRhcHRlcik6CiAgICAgIiIiTW9kaWZ5IGFuIGFkYXB0ZXIgdG8gZGlzYWJsZSBkZXByZWNhdGVkIHN5bWJvbHMuCiAKLSAgICBgYG5vX2RlcHJlY2F0ZWRfYWRhcHRlcihhZGFwdGVyKShuYW1lLCBhY3RpdmUsIHNlY3Rpb24pYGAgaXMgbGlrZQotICAgIGBgYWRhcHRlcihuYW1lLCBhY3RpdmUsIHNlY3Rpb24pYGAsIGJ1dCB1bnNldHMgYWxsIGRlcHJlY2F0ZWQgc3ltYm9scworICAgIGBgbm9fZGVwcmVjYXRlZF9hZGFwdGVyKGFkYXB0ZXIpKG5hbWUsIHZhbHVlLCBhY3RpdmUpYGAgaXMgbGlrZQorICAgIGBgYWRhcHRlcihuYW1lLCB2YWx1ZSwgYWN0aXZlKWBgLCBidXQgdW5zZXRzIGFsbCBkZXByZWNhdGVkIHN5bWJvbHMKICAgICBhbmQgc2V0cyBgYE1CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVEYGAuCiAgICAgIiIiCi0gICAgZGVmIGNvbnRpbnVhdGlvbihuYW1lLCBhY3RpdmUsIHNlY3Rpb24pOgorICAgIGRlZiBjb250aW51YXRpb24obmFtZSwgdmFsdWUsIGFjdGl2ZSk6CiAgICAgICAgIGlmIG5hbWUgPT0gJ01CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVEJzoKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGlmIG5hbWUgaW4gREVQUkVDQVRFRDoKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBpZiBhZGFwdGVyIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gYWN0aXZlCi0gICAgICAgIHJldHVybiBhZGFwdGVyKG5hbWUsIGFjdGl2ZSwgc2VjdGlvbikKKyAgICAgICAgcmV0dXJuIGFkYXB0ZXIobmFtZSwgdmFsdWUsIGFjdGl2ZSkKICAgICByZXR1cm4gY29udGludWF0aW9uCiAKIGRlZiBub19wbGF0Zm9ybV9hZGFwdGVyKGFkYXB0ZXIpOgogICAgICIiIk1vZGlmeSBhbiBhZGFwdGVyIHRvIGRpc2FibGUgcGxhdGZvcm0gc3ltYm9scy4KIAotICAgIGBgbm9fcGxhdGZvcm1fYWRhcHRlcihhZGFwdGVyKShuYW1lLCBhY3RpdmUsIHNlY3Rpb24pYGAgaXMgbGlrZQotICAgIGBgYWRhcHRlcihuYW1lLCBhY3RpdmUsIHNlY3Rpb24pYGAsIGJ1dCB1bnNldHMgYWxsIHBsYXRmb3JtIHN5bWJvbHMgb3RoZXIKKyAgICBgYG5vX3BsYXRmb3JtX2FkYXB0ZXIoYWRhcHRlcikobmFtZSwgdmFsdWUsIGFjdGl2ZSlgYCBpcyBsaWtlCisgICAgYGBhZGFwdGVyKG5hbWUsIHZhbHVlLCBhY3RpdmUpYGAsIGJ1dCB1bnNldHMgYWxsIHBsYXRmb3JtIHN5bWJvbHMgb3RoZXIKICAgICBgYHRoYW4gTUJFRFRMU19QTEFURk9STV9DLgogICAgICIiIgotICAgIGRlZiBjb250aW51YXRpb24obmFtZSwgYWN0aXZlLCBzZWN0aW9uKToKKyAgICBkZWYgY29udGludWF0aW9uKG5hbWUsIHZhbHVlLCBhY3RpdmUpOgogICAgICAgICAjIEFsbG93IE1CRURUTFNfUExBVEZPUk1fQyBidXQgcmVtb3ZlIGFsbCBvdGhlciBwbGF0Zm9ybSBzeW1ib2xzLgogICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoJ01CRURUTFNfUExBVEZPUk1fJykgYW5kIG5hbWUgIT0gJ01CRURUTFNfUExBVEZPUk1fQyc6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgaWYgYWRhcHRlciBpcyBOb25lOgogICAgICAgICAgICAgcmV0dXJuIGFjdGl2ZQotICAgICAgICByZXR1cm4gYWRhcHRlcihuYW1lLCBhY3RpdmUsIHNlY3Rpb24pCisgICAgICAgIHJldHVybiBhZGFwdGVyKG5hbWUsIHZhbHVlLCBhY3RpdmUpCiAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbgogCi1jbGFzcyBDb25maWdGaWxlKENvbmZpZyk6Ci0gICAgIiIiUmVwcmVzZW50YXRpb24gb2YgdGhlIE1iZWQgVExTIGNvbmZpZ3VyYXRpb24gcmVhZCBmb3IgYSBmaWxlLgogCi0gICAgU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBgQ29uZmlnYCBjbGFzcyBmb3IgbWV0aG9kcyB0byBxdWVyeQotICAgIGFuZCBtb2RpZnkgdGhlIGNvbmZpZ3VyYXRpb24uCi0gICAgIiIiCitjbGFzcyBNYmVkVExTQ29uZmlnRmlsZShjb25maWdfY29tbW9uLkNvbmZpZ0ZpbGUpOgorICAgICIiIlJlcHJlc2VudGF0aW9uIG9mIGFuIE1iZWRUTFMgY29uZmlndXJhdGlvbiBmaWxlLiIiIgogCiAgICAgX3BhdGhfaW5fdHJlZSA9ICdpbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaCcKICAgICBkZWZhdWx0X3BhdGggPSBbX3BhdGhfaW5fdHJlZSwKQEAgLTM4NSwyMTkgKzI4MywxNDMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9wYXRoX2luX3RyZWUpXQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lPU5vbmUpOgotICAgICAgICAiIiJSZWFkIHRoZSBNYmVkIFRMUyBjb25maWd1cmF0aW9uIGZpbGUuIiIiCi0gICAgICAgIGlmIGZpbGVuYW1lIGlzIE5vbmU6Ci0gICAgICAgICAgICBmb3IgY2FuZGlkYXRlIGluIHNlbGYuZGVmYXVsdF9wYXRoOgotICAgICAgICAgICAgICAgIGlmIG9zLnBhdGgubGV4aXN0cyhjYW5kaWRhdGUpOgotICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IGNhbmRpZGF0ZQotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ01iZWQgVExTIGNvbmZpZ3VyYXRpb24gZmlsZSBub3QgZm91bmQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRlZmF1bHRfcGF0aCkKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCi0gICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQorICAgICAgICBzdXBlcigpLl9faW5pdF9fKHNlbGYuZGVmYXVsdF9wYXRoLCAnTWJlZCBUTFMnLCBmaWxlbmFtZSkKICAgICAgICAgc2VsZi5jdXJyZW50X3NlY3Rpb24gPSAnaGVhZGVyJwotICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICdyJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZmlsZToKLSAgICAgICAgICAgIHNlbGYudGVtcGxhdGVzID0gW3NlbGYuX3BhcnNlX2xpbmUobGluZSkgZm9yIGxpbmUgaW4gZmlsZV0KLSAgICAgICAgc2VsZi5jdXJyZW50X3NlY3Rpb24gPSBOb25lCisKKworY2xhc3MgQ3J5cHRvQ29uZmlnRmlsZShjb25maWdfY29tbW9uLkNvbmZpZ0ZpbGUpOgorICAgICIiIlJlcHJlc2VudGF0aW9uIG9mIGEgQ3J5cHRvIGNvbmZpZ3VyYXRpb24gZmlsZS4iIiIKKworICAgICMgVGVtcG9yYXJ5LCB3aGlsZSBNYmVkIFRMUyBkb2VzIG5vdCBqdXN0IHJlbHkgb24gdGhlIFRGLVBTQS1DcnlwdG8KKyAgICAjIGJ1aWxkIHN5c3RlbSB0byBidWlsZCBpdHMgY3J5cHRvIGxpYnJhcnkuIFdoZW4gaXQgZG9lcywgdGhlCisgICAgIyBjb25kaXRpb24gY2FuIGp1c3QgYmUgcmVtb3ZlZC4KKyAgICBfcGF0aF9pbl90cmVlID0gKCdpbmNsdWRlL3BzYS9jcnlwdG9fY29uZmlnLmgnCisgICAgICAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2Rpcihvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXJkaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RmLXBzYS1jcnlwdG8nKSkgZWxzZQorICAgICAgICAgICAgICAgICAgICAgJ3RmLXBzYS1jcnlwdG8vaW5jbHVkZS9wc2EvY3J5cHRvX2NvbmZpZy5oJykKKyAgICBkZWZhdWx0X3BhdGggPSBbX3BhdGhfaW5fdHJlZSwKKyAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXJkaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfcGF0aF9pbl90cmVlKSwKKyAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3BhdGhfaW5fdHJlZSldCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWU9Tm9uZSk6CisgICAgICAgIHN1cGVyKCkuX19pbml0X18oc2VsZi5kZWZhdWx0X3BhdGgsICdDcnlwdG8nLCBmaWxlbmFtZSkKKworCitjbGFzcyBNYmVkVExTQ29uZmlnKGNvbmZpZ19jb21tb24uQ29uZmlnKToKKyAgICAiIiJSZXByZXNlbnRhdGlvbiBvZiB0aGUgTWJlZCBUTFMgY29uZmlndXJhdGlvbi4KKworICAgIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgYENvbmZpZ2AgY2xhc3MgZm9yIG1ldGhvZHMgdG8gcXVlcnkKKyAgICBhbmQgbW9kaWZ5IHRoZSBjb25maWd1cmF0aW9uLgorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lPU5vbmUpOgorICAgICAgICAiIiJSZWFkIHRoZSBNYmVkIFRMUyBjb25maWd1cmF0aW9uIGZpbGUuIiIiCisKKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCisgICAgICAgIGNvbmZpZ2ZpbGUgPSBNYmVkVExTQ29uZmlnRmlsZShmaWxlbmFtZSkKKyAgICAgICAgc2VsZi5jb25maWdmaWxlcy5hcHBlbmQoY29uZmlnZmlsZSkKKyAgICAgICAgc2VsZi5zZXR0aW5ncy51cGRhdGUoe25hbWU6IGNvbmZpZ19jb21tb24uU2V0dGluZyhjb25maWdmaWxlLCBhY3RpdmUsIG5hbWUsIHZhbHVlLCBzZWN0aW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhY3RpdmUsIG5hbWUsIHZhbHVlLCBzZWN0aW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gY29uZmlnZmlsZS5wYXJzZV9maWxlKCl9KQogCiAgICAgZGVmIHNldChzZWxmLCBuYW1lLCB2YWx1ZT1Ob25lKToKKyAgICAgICAgIiIiU2V0IG5hbWUgdG8gdGhlIGdpdmVuIHZhbHVlIGFuZCBtYWtlIGl0IGFjdGl2ZS4iIiIKKwogICAgICAgICBpZiBuYW1lIG5vdCBpbiBzZWxmLnNldHRpbmdzOgotICAgICAgICAgICAgc2VsZi50ZW1wbGF0ZXMuYXBwZW5kKChuYW1lLCAnJywgJyNkZWZpbmUgJyArIG5hbWUgKyAnICcpKQorICAgICAgICAgICAgc2VsZi5fZ2V0X2NvbmZpZ2ZpbGUoKS50ZW1wbGF0ZXMuYXBwZW5kKChuYW1lLCAnJywgJyNkZWZpbmUgJyArIG5hbWUgKyAnICcpKQorCiAgICAgICAgIHN1cGVyKCkuc2V0KG5hbWUsIHZhbHVlKQogCi0gICAgX2RlZmluZV9saW5lX3JlZ2V4cCA9IChyJyg/UDxpbmRlbnRhdGlvbj5ccyopJyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICByJyg/UDxjb21tZW50ZWRfb3V0PigvL1xzKik/KScgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgcicoP1A8ZGVmaW5lPiNccypkZWZpbmVccyspJyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICByJyg/UDxuYW1lPlx3KyknICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHInKD9QPGFyZ3VtZW50cz4oPzpcKCg/Olx3fFxzfCwpKlwpKT8pJyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICByJyg/UDxzZXBhcmF0b3I+XHMqKScgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgcicoP1A8dmFsdWU+LiopJykKLSAgICBfc2VjdGlvbl9saW5lX3JlZ2V4cCA9IChyJ1xzKi8/XCorXHMqW1xcQF1uYW1lXHMrU0VDVElPTjpccyonICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByJyg/UDxzZWN0aW9uPi4qKVsgKi9dKicpCi0gICAgX2NvbmZpZ19saW5lX3JlZ2V4cCA9IHJlLmNvbXBpbGUocid8Jy5qb2luKFtfZGVmaW5lX2xpbmVfcmVnZXhwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3NlY3Rpb25fbGluZV9yZWdleHBdKSkKLSAgICBkZWYgX3BhcnNlX2xpbmUoc2VsZiwgbGluZSk6Ci0gICAgICAgICIiIlBhcnNlIGEgbGluZSBpbiBtYmVkdGxzX2NvbmZpZy5oIGFuZCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmcgdGVtcGxhdGUuIiIiCi0gICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcCgnXHJcbicpCi0gICAgICAgIG0gPSByZS5tYXRjaChzZWxmLl9jb25maWdfbGluZV9yZWdleHAsIGxpbmUpCi0gICAgICAgIGlmIG0gaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBsaW5lCi0gICAgICAgIGVsaWYgbS5ncm91cCgnc2VjdGlvbicpOgotICAgICAgICAgICAgc2VsZi5jdXJyZW50X3NlY3Rpb24gPSBtLmdyb3VwKCdzZWN0aW9uJykKLSAgICAgICAgICAgIHJldHVybiBsaW5lCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBhY3RpdmUgPSBub3QgbS5ncm91cCgnY29tbWVudGVkX291dCcpCi0gICAgICAgICAgICBuYW1lID0gbS5ncm91cCgnbmFtZScpCi0gICAgICAgICAgICB2YWx1ZSA9IG0uZ3JvdXAoJ3ZhbHVlJykKLSAgICAgICAgICAgIHRlbXBsYXRlID0gKG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICBtLmdyb3VwKCdpbmRlbnRhdGlvbicpLAotICAgICAgICAgICAgICAgICAgICAgICAgbS5ncm91cCgnZGVmaW5lJykgKyBuYW1lICsKLSAgICAgICAgICAgICAgICAgICAgICAgIG0uZ3JvdXAoJ2FyZ3VtZW50cycpICsgbS5ncm91cCgnc2VwYXJhdG9yJykpCi0gICAgICAgICAgICBzZWxmLnNldHRpbmdzW25hbWVdID0gU2V0dGluZyhhY3RpdmUsIG5hbWUsIHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jdXJyZW50X3NlY3Rpb24pCi0gICAgICAgICAgICByZXR1cm4gdGVtcGxhdGUKIAotICAgIGRlZiBfZm9ybWF0X3RlbXBsYXRlKHNlbGYsIG5hbWUsIGluZGVudCwgbWlkZGxlKToKLSAgICAgICAgIiIiQnVpbGQgYSBsaW5lIGZvciBtYmVkdGxzX2NvbmZpZy5oIGZvciB0aGUgZ2l2ZW4gc2V0dGluZy4KK2NsYXNzIENyeXB0b0NvbmZpZyhjb25maWdfY29tbW9uLkNvbmZpZyk6CisgICAgIiIiUmVwcmVzZW50YXRpb24gb2YgdGhlIFBTQSBjcnlwdG8gY29uZmlndXJhdGlvbi4KIAotICAgICAgICBUaGUgbGluZSBoYXMgdGhlIGZvcm0gIjxpbmRlbnQ+I2RlZmluZSA8bmFtZT4gPHZhbHVlPiIKLSAgICAgICAgd2hlcmUgPG1pZGRsZT4gaXMgIiNkZWZpbmUgPG5hbWU+ICIuCi0gICAgICAgICIiIgotICAgICAgICBzZXR0aW5nID0gc2VsZi5zZXR0aW5nc1tuYW1lXQotICAgICAgICB2YWx1ZSA9IHNldHRpbmcudmFsdWUKLSAgICAgICAgaWYgdmFsdWUgaXMgTm9uZToKLSAgICAgICAgICAgIHZhbHVlID0gJycKLSAgICAgICAgIyBOb3JtYWxseSB0aGUgd2hpdGVzcGFjZSB0byBzZXBhcmF0ZSB0aGUgc3ltYm9sIG5hbWUgZnJvbSB0aGUKLSAgICAgICAgIyB2YWx1ZSBpcyBwYXJ0IG9mIG1pZGRsZSwgYW5kIHRoZXJlJ3Mgbm8gd2hpdGVzcGFjZSBmb3IgYSBzeW1ib2wKLSAgICAgICAgIyB3aXRoIG5vIHZhbHVlLiBCdXQgaWYgYSBzeW1ib2wgaGFzIGJlZW4gY2hhbmdlZCBmcm9tIGhhdmluZyBhCi0gICAgICAgICMgdmFsdWUgdG8gbm90IGhhdmluZyBvbmUsIHRoZSB3aGl0ZXNwYWNlIGlzIHdyb25nLCBzbyBmaXggaXQuCi0gICAgICAgIGlmIHZhbHVlOgotICAgICAgICAgICAgaWYgbWlkZGxlWy0xXSBub3QgaW4gJ1x0ICc6Ci0gICAgICAgICAgICAgICAgbWlkZGxlICs9ICcgJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWlkZGxlID0gbWlkZGxlLnJzdHJpcCgpCi0gICAgICAgIHJldHVybiAnJy5qb2luKFtpbmRlbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAnJyBpZiBzZXR0aW5nLmFjdGl2ZSBlbHNlICcvLycsCi0gICAgICAgICAgICAgICAgICAgICAgICBtaWRkbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZV0pLnJzdHJpcCgpCisgICAgU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBgQ29uZmlnYCBjbGFzcyBmb3IgbWV0aG9kcyB0byBxdWVyeQorICAgIGFuZCBtb2RpZnkgdGhlIGNvbmZpZ3VyYXRpb24uCisgICAgIiIiCiAKLSAgICBkZWYgd3JpdGVfdG9fc3RyZWFtKHNlbGYsIG91dHB1dCk6Ci0gICAgICAgICIiIldyaXRlIHRoZSB3aG9sZSBjb25maWd1cmF0aW9uIHRvIG91dHB1dC4iIiIKLSAgICAgICAgZm9yIHRlbXBsYXRlIGluIHNlbGYudGVtcGxhdGVzOgotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh0ZW1wbGF0ZSwgc3RyKToKLSAgICAgICAgICAgICAgICBsaW5lID0gdGVtcGxhdGUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbGluZSA9IHNlbGYuX2Zvcm1hdF90ZW1wbGF0ZSgqdGVtcGxhdGUpCi0gICAgICAgICAgICBvdXRwdXQud3JpdGUobGluZSArICdcbicpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lPU5vbmUpOgorICAgICAgICAiIiJSZWFkIHRoZSBQU0EgY3J5cHRvIGNvbmZpZ3VyYXRpb24gZmlsZS4iIiIKIAotICAgIGRlZiB3cml0ZShzZWxmLCBmaWxlbmFtZT1Ob25lKToKLSAgICAgICAgIiIiV3JpdGUgdGhlIHdob2xlIGNvbmZpZ3VyYXRpb24gdG8gdGhlIGZpbGUgaXQgd2FzIHJlYWQgZnJvbS4KKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCisgICAgICAgIGNvbmZpZ2ZpbGUgPSBDcnlwdG9Db25maWdGaWxlKGZpbGVuYW1lKQorICAgICAgICBzZWxmLmNvbmZpZ2ZpbGVzLmFwcGVuZChjb25maWdmaWxlKQorICAgICAgICBzZWxmLnNldHRpbmdzLnVwZGF0ZSh7bmFtZTogY29uZmlnX2NvbW1vbi5TZXR0aW5nKGNvbmZpZ2ZpbGUsIGFjdGl2ZSwgbmFtZSwgdmFsdWUsIHNlY3Rpb24pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGFjdGl2ZSwgbmFtZSwgdmFsdWUsIHNlY3Rpb24pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBjb25maWdmaWxlLnBhcnNlX2ZpbGUoKX0pCiAKLSAgICAgICAgSWYgZmlsZW5hbWUgaXMgc3BlY2lmaWVkLCB3cml0ZSB0byB0aGlzIGZpbGUgaW5zdGVhZC4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIGZpbGVuYW1lIGlzIE5vbmU6Ci0gICAgICAgICAgICBmaWxlbmFtZSA9IHNlbGYuZmlsZW5hbWUKLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAndycsIGVuY29kaW5nPSd1dGYtOCcpIGFzIG91dHB1dDoKLSAgICAgICAgICAgIHNlbGYud3JpdGVfdG9fc3RyZWFtKG91dHB1dCkKKyAgICBkZWYgc2V0KHNlbGYsIG5hbWUsIHZhbHVlPScxJyk6CisgICAgICAgICIiIlNldCBuYW1lIHRvIHRoZSBnaXZlbiB2YWx1ZSBhbmQgbWFrZSBpdCBhY3RpdmUuIiIiCisKKyAgICAgICAgaWYgbmFtZSBpbiBQU0FfVU5TVVBQT1JURURfRkVBVFVSRToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZidGZWF0dXJlIGlzIHVuc3VwcG9ydGVkOiBcJ3tuYW1lfVwnJykKKyAgICAgICAgaWYgbmFtZSBpbiBQU0FfVU5TVEFCTEVfRkVBVFVSRToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZidGZWF0dXJlIGlzIHVuc3RhYmxlOiBcJ3tuYW1lfVwnJykKKworICAgICAgICBpZiBuYW1lIG5vdCBpbiBzZWxmLnNldHRpbmdzOgorICAgICAgICAgICAgc2VsZi5fZ2V0X2NvbmZpZ2ZpbGUoKS50ZW1wbGF0ZXMuYXBwZW5kKChuYW1lLCAnJywgJyNkZWZpbmUgJyArIG5hbWUgKyAnICcpKQorCisgICAgICAgIHN1cGVyKCkuc2V0KG5hbWUsIHZhbHVlKQorCisKK2NsYXNzIE1iZWRUTFNDb25maWdUb29sKGNvbmZpZ19jb21tb24uQ29uZmlnVG9vbCk6CisgICAgIiIiQ29tbWFuZCBsaW5lIG1iZWR0bHNfY29uZmlnLmggYW5kIGNyeXB0b19jb25maWcuaCBtYW5pcHVsYXRpb24gdG9vbC4iIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXyhNYmVkVExTQ29uZmlnRmlsZS5kZWZhdWx0X3BhdGgpCisgICAgICAgIHNlbGYuY29uZmlnID0gTWJlZFRMU0NvbmZpZyhzZWxmLmFyZ3MuZmlsZSkKKworICAgIGRlZiBjdXN0b21fcGFyc2VyX29wdGlvbnMoc2VsZik6CisgICAgICAgICIiIkFkZHMgTWJlZFRMUyBzcGVjaWZpYyBvcHRpb25zIGZvciB0aGUgcGFyc2VyLiIiIgorCisgICAgICAgIHNlbGYucGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAgICAgICctLWNyeXB0b2ZpbGUnLCAnLWMnLAorICAgICAgICAgICAgaGVscD0iIiJDcnlwdG8gZmlsZSB0byByZWFkIChhbmQgbW9kaWZ5IGlmIHJlcXVlc3RlZCkuIERlZmF1bHQ6IHt9LiIiIgorICAgICAgICAgICAgLmZvcm1hdChDcnlwdG9Db25maWdGaWxlLmRlZmF1bHRfcGF0aCkpCisKKyAgICAgICAgc2VsZi5hZGRfYWRhcHRlcigKKyAgICAgICAgICAgICdiYXJlbWV0YWwnLCBiYXJlbWV0YWxfYWRhcHRlciwKKyAgICAgICAgICAgICIiIkxpa2UgZnVsbCwgYnV0IGV4Y2x1ZGUgZmVhdHVyZXMgdGhhdCByZXF1aXJlIHBsYXRmb3JtIGZlYXR1cmVzCisgICAgICAgICAgICBzdWNoIGFzIGZpbGUgaW5wdXQtb3V0cHV0LgorICAgICAgICAgICAgIiIiKQorICAgICAgICBzZWxmLmFkZF9hZGFwdGVyKAorICAgICAgICAgICAgJ2JhcmVtZXRhbF9zaXplJywgYmFyZW1ldGFsX3NpemVfYWRhcHRlciwKKyAgICAgICAgICAgICIiIkxpa2UgYmFyZW1ldGFsLCBidXQgZXhjbHVkZSBkZWJ1Z2dpbmcgZmVhdHVyZXMuIFVzZWZ1bCBmb3IgY29kZSBzaXplIG1lYXN1cmVtZW50cy4KKyAgICAgICAgICAgICIiIikKKyAgICAgICAgc2VsZi5hZGRfYWRhcHRlcigKKyAgICAgICAgICAgICdmdWxsJywgZnVsbF9hZGFwdGVyLAorICAgICAgICAgICAgIiIiVW5jb21tZW50IG1vc3QgZmVhdHVyZXMuCisgICAgICAgICAgICBFeGNsdWRlIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9ucyBhbmQgcGxhdGZvcm0gc3VwcG9ydCBvcHRpb25zLCBhcyB3ZWxsIGFzCisgICAgICAgICAgICBzb21lIG9wdGlvbnMgdGhhdCBhcmUgYXdrd2FyZCB0byB0ZXN0LgorICAgICAgICAgICAgIiIiKQorICAgICAgICBzZWxmLmFkZF9hZGFwdGVyKAorICAgICAgICAgICAgJ2Z1bGxfbm9fZGVwcmVjYXRlZCcsIG5vX2RlcHJlY2F0ZWRfYWRhcHRlcihmdWxsX2FkYXB0ZXIpLAorICAgICAgICAgICAgIiIiVW5jb21tZW50IG1vc3Qgbm9uLWRlcHJlY2F0ZWQgZmVhdHVyZXMuCisgICAgICAgICAgICBMaWtlICJmdWxsIiwgYnV0IHdpdGhvdXQgZGVwcmVjYXRlZCBmZWF0dXJlcy4KKyAgICAgICAgICAgICIiIikKKyAgICAgICAgc2VsZi5hZGRfYWRhcHRlcigKKyAgICAgICAgICAgICdmdWxsX25vX3BsYXRmb3JtJywgbm9fcGxhdGZvcm1fYWRhcHRlcihmdWxsX2FkYXB0ZXIpLAorICAgICAgICAgICAgIiIiVW5jb21tZW50IG1vc3Qgbm9uLXBsYXRmb3JtIGZlYXR1cmVzLiBMaWtlICJmdWxsIiwgYnV0IHdpdGhvdXQgcGxhdGZvcm0gZmVhdHVyZXMuCisgICAgICAgICAgICAiIiIpCisgICAgICAgIHNlbGYuYWRkX2FkYXB0ZXIoCisgICAgICAgICAgICAncmVhbGZ1bGwnLCByZWFsZnVsbF9hZGFwdGVyLAorICAgICAgICAgICAgIiIiVW5jb21tZW50IGFsbCBib29sZWFuICNkZWZpbmVzLgorICAgICAgICAgICAgU3VpdGFibGUgZm9yIGdlbmVyYXRpbmcgZG9jdW1lbnRhdGlvbiwgYnV0IG5vdCBmb3IgYnVpbGRpbmcuCisgICAgICAgICAgICAiIiIpCisgICAgICAgIHNlbGYuYWRkX2FkYXB0ZXIoCisgICAgICAgICAgICAnY3J5cHRvJywgY3J5cHRvX2FkYXB0ZXIoTm9uZSksCisgICAgICAgICAgICAiIiJPbmx5IGluY2x1ZGUgY3J5cHRvIGZlYXR1cmVzLiBFeGNsdWRlIFguNTA5IGFuZCBUTFMuIiIiKQorICAgICAgICBzZWxmLmFkZF9hZGFwdGVyKAorICAgICAgICAgICAgJ2NyeXB0b19iYXJlbWV0YWwnLCBjcnlwdG9fYWRhcHRlcihiYXJlbWV0YWxfYWRhcHRlciksCisgICAgICAgICAgICAiIiJMaWtlIGJhcmVtZXRhbCwgYnV0IHdpdGggb25seSBjcnlwdG8gZmVhdHVyZXMsIGV4Y2x1ZGluZyBYLjUwOSBhbmQgVExTLiIiIikKKyAgICAgICAgc2VsZi5hZGRfYWRhcHRlcigKKyAgICAgICAgICAgICdjcnlwdG9fZnVsbCcsIGNyeXB0b19hZGFwdGVyKGZ1bGxfYWRhcHRlciksCisgICAgICAgICAgICAiIiJMaWtlIGZ1bGwsIGJ1dCB3aXRoIG9ubHkgY3J5cHRvIGZlYXR1cmVzLCBleGNsdWRpbmcgWC41MDkgYW5kIFRMUy4iIiIpCisKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBkZWYgbWFpbigpOgotICAgICAgICAiIiJDb21tYW5kIGxpbmUgbWJlZHRsc19jb25maWcuaCBtYW5pcHVsYXRpb24gdG9vbC4iIiIKLSAgICAgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249IiIiCi0gICAgICAgIE1iZWQgVExTIGNvbmZpZ3VyYXRpb24gZmlsZSBtYW5pcHVsYXRpb24gdG9vbC4KLSAgICAgICAgIiIiKQotICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWZpbGUnLCAnLWYnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IiIiRmlsZSB0byByZWFkIChhbmQgbW9kaWZ5IGlmIHJlcXVlc3RlZCkuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdDoge30uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIiLmZvcm1hdChDb25maWdGaWxlLmRlZmF1bHRfcGF0aCkpCi0gICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZm9yY2UnLCAnLW8nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iIiJGb3IgdGhlIHNldCBjb21tYW5kLCBpZiBTWU1CT0wgaXMgbm90Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VudCwgYWRkIGEgZGVmaW5pdGlvbiBmb3IgaXQuIiIiKQotICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXdyaXRlJywgJy13JywgbWV0YXZhcj0nRklMRScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iIiJGaWxlIHRvIHdyaXRlIHRvIGluc3RlYWQgb2YgdGhlIGlucHV0IGZpbGUuIiIiKQotICAgICAgICBzdWJwYXJzZXJzID0gcGFyc2VyLmFkZF9zdWJwYXJzZXJzKGRlc3Q9J2NvbW1hbmQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSdDb21tYW5kcycpCi0gICAgICAgIHBhcnNlcl9nZXQgPSBzdWJwYXJzZXJzLmFkZF9wYXJzZXIoJ2dldCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iIiJGaW5kIHRoZSB2YWx1ZSBvZiBTWU1CT0wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgcHJpbnQgaXQuIEV4aXQgd2l0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyAwIGlmIGEgI2RlZmluZSBmb3IgU1lNQk9MIGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQsIDEgb3RoZXJ3aXNlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiIikKLSAgICAgICAgcGFyc2VyX2dldC5hZGRfYXJndW1lbnQoJ3N5bWJvbCcsIG1ldGF2YXI9J1NZTUJPTCcpCi0gICAgICAgIHBhcnNlcl9zZXQgPSBzdWJwYXJzZXJzLmFkZF9wYXJzZXIoJ3NldCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iIiJTZXQgU1lNQk9MIHRvIFZBTFVFLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIFZBTFVFIGlzIG9taXR0ZWQsIGp1c3QgdW5jb21tZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlICNkZWZpbmUgZm9yIFNZTUJPTC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBvdXQgb2YgYSBsaW5lIGRlZmluaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1lNQk9MIChjb21tZW50ZWQgb3Igbm90KSBpcyBub3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCwgdW5sZXNzIC0tZm9yY2UgaXMgcGFzc2VkLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiIikKLSAgICAgICAgcGFyc2VyX3NldC5hZGRfYXJndW1lbnQoJ3N5bWJvbCcsIG1ldGF2YXI9J1NZTUJPTCcpCi0gICAgICAgIHBhcnNlcl9zZXQuYWRkX2FyZ3VtZW50KCd2YWx1ZScsIG1ldGF2YXI9J1ZBTFVFJywgbmFyZ3M9Jz8nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PScnKQotICAgICAgICBwYXJzZXJfc2V0X2FsbCA9IHN1YnBhcnNlcnMuYWRkX3BhcnNlcignc2V0LWFsbCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IiIiVW5jb21tZW50IGFsbCAjZGVmaW5lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdob3NlIG5hbWUgY29udGFpbnMgYSBtYXRjaCBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHRVguIiIiKQotICAgICAgICBwYXJzZXJfc2V0X2FsbC5hZGRfYXJndW1lbnQoJ3JlZ2V4cycsIG1ldGF2YXI9J1JFR0VYJywgbmFyZ3M9JyonKQotICAgICAgICBwYXJzZXJfdW5zZXQgPSBzdWJwYXJzZXJzLmFkZF9wYXJzZXIoJ3Vuc2V0JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IiIiQ29tbWVudCBvdXQgdGhlICNkZWZpbmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBTWU1CT0wuIERvIG5vdGhpbmcgaWYgbm9uZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgcHJlc2VudC4iIiIpCi0gICAgICAgIHBhcnNlcl91bnNldC5hZGRfYXJndW1lbnQoJ3N5bWJvbCcsIG1ldGF2YXI9J1NZTUJPTCcpCi0gICAgICAgIHBhcnNlcl91bnNldF9hbGwgPSBzdWJwYXJzZXJzLmFkZF9wYXJzZXIoJ3Vuc2V0LWFsbCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iIiJDb21tZW50IG91dCBhbGwgI2RlZmluZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdob3NlIG5hbWUgY29udGFpbnMgYSBtYXRjaCBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdFWC4iIiIpCi0gICAgICAgIHBhcnNlcl91bnNldF9hbGwuYWRkX2FyZ3VtZW50KCdyZWdleHMnLCBtZXRhdmFyPSdSRUdFWCcsIG5hcmdzPScqJykKLQotICAgICAgICBkZWYgYWRkX2FkYXB0ZXIobmFtZSwgZnVuY3Rpb24sIGRlc2NyaXB0aW9uKToKLSAgICAgICAgICAgIHN1YnBhcnNlciA9IHN1YnBhcnNlcnMuYWRkX3BhcnNlcihuYW1lLCBoZWxwPWRlc2NyaXB0aW9uKQotICAgICAgICAgICAgc3VicGFyc2VyLnNldF9kZWZhdWx0cyhhZGFwdGVyPWZ1bmN0aW9uKQotICAgICAgICBhZGRfYWRhcHRlcignYmFyZW1ldGFsJywgYmFyZW1ldGFsX2FkYXB0ZXIsCi0gICAgICAgICAgICAgICAgICAgICIiIkxpa2UgZnVsbCwgYnV0IGV4Y2x1ZGUgZmVhdHVyZXMgdGhhdCByZXF1aXJlIHBsYXRmb3JtCi0gICAgICAgICAgICAgICAgICAgIGZlYXR1cmVzIHN1Y2ggYXMgZmlsZSBpbnB1dC1vdXRwdXQuIiIiKQotICAgICAgICBhZGRfYWRhcHRlcignYmFyZW1ldGFsX3NpemUnLCBiYXJlbWV0YWxfc2l6ZV9hZGFwdGVyLAotICAgICAgICAgICAgICAgICAgICAiIiJMaWtlIGJhcmVtZXRhbCwgYnV0IGV4Y2x1ZGUgZGVidWdnaW5nIGZlYXR1cmVzLgotICAgICAgICAgICAgICAgICAgICBVc2VmdWwgZm9yIGNvZGUgc2l6ZSBtZWFzdXJlbWVudHMuIiIiKQotICAgICAgICBhZGRfYWRhcHRlcignZnVsbCcsIGZ1bGxfYWRhcHRlciwKLSAgICAgICAgICAgICAgICAgICAgIiIiVW5jb21tZW50IG1vc3QgZmVhdHVyZXMuCi0gICAgICAgICAgICAgICAgICAgIEV4Y2x1ZGUgYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb25zIGFuZCBwbGF0Zm9ybSBzdXBwb3J0Ci0gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsIGFzIHdlbGwgYXMgc29tZSBvcHRpb25zIHRoYXQgYXJlIGF3a3dhcmQgdG8gdGVzdC4KLSAgICAgICAgICAgICAgICAgICAgIiIiKQotICAgICAgICBhZGRfYWRhcHRlcignZnVsbF9ub19kZXByZWNhdGVkJywgbm9fZGVwcmVjYXRlZF9hZGFwdGVyKGZ1bGxfYWRhcHRlciksCi0gICAgICAgICAgICAgICAgICAgICIiIlVuY29tbWVudCBtb3N0IG5vbi1kZXByZWNhdGVkIGZlYXR1cmVzLgotICAgICAgICAgICAgICAgICAgICBMaWtlICJmdWxsIiwgYnV0IHdpdGhvdXQgZGVwcmVjYXRlZCBmZWF0dXJlcy4KLSAgICAgICAgICAgICAgICAgICAgIiIiKQotICAgICAgICBhZGRfYWRhcHRlcignZnVsbF9ub19wbGF0Zm9ybScsIG5vX3BsYXRmb3JtX2FkYXB0ZXIoZnVsbF9hZGFwdGVyKSwKLSAgICAgICAgICAgICAgICAgICAgIiIiVW5jb21tZW50IG1vc3Qgbm9uLXBsYXRmb3JtIGZlYXR1cmVzLgotICAgICAgICAgICAgICAgICAgICBMaWtlICJmdWxsIiwgYnV0IHdpdGhvdXQgcGxhdGZvcm0gZmVhdHVyZXMuCi0gICAgICAgICAgICAgICAgICAgICIiIikKLSAgICAgICAgYWRkX2FkYXB0ZXIoJ3JlYWxmdWxsJywgcmVhbGZ1bGxfYWRhcHRlciwKLSAgICAgICAgICAgICAgICAgICAgIiIiVW5jb21tZW50IGFsbCBib29sZWFuICNkZWZpbmVzLgotICAgICAgICAgICAgICAgICAgICBTdWl0YWJsZSBmb3IgZ2VuZXJhdGluZyBkb2N1bWVudGF0aW9uLCBidXQgbm90IGZvciBidWlsZGluZy4iIiIpCi0gICAgICAgIGFkZF9hZGFwdGVyKCdjcnlwdG8nLCBjcnlwdG9fYWRhcHRlcihOb25lKSwKLSAgICAgICAgICAgICAgICAgICAgIiIiT25seSBpbmNsdWRlIGNyeXB0byBmZWF0dXJlcy4gRXhjbHVkZSBYLjUwOSBhbmQgVExTLiIiIikKLSAgICAgICAgYWRkX2FkYXB0ZXIoJ2NyeXB0b19iYXJlbWV0YWwnLCBjcnlwdG9fYWRhcHRlcihiYXJlbWV0YWxfYWRhcHRlciksCi0gICAgICAgICAgICAgICAgICAgICIiIkxpa2UgYmFyZW1ldGFsLCBidXQgd2l0aCBvbmx5IGNyeXB0byBmZWF0dXJlcywKLSAgICAgICAgICAgICAgICAgICAgZXhjbHVkaW5nIFguNTA5IGFuZCBUTFMuIiIiKQotICAgICAgICBhZGRfYWRhcHRlcignY3J5cHRvX2Z1bGwnLCBjcnlwdG9fYWRhcHRlcihmdWxsX2FkYXB0ZXIpLAotICAgICAgICAgICAgICAgICAgICAiIiJMaWtlIGZ1bGwsIGJ1dCB3aXRoIG9ubHkgY3J5cHRvIGZlYXR1cmVzLAotICAgICAgICAgICAgICAgICAgICBleGNsdWRpbmcgWC41MDkgYW5kIFRMUy4iIiIpCi0KLSAgICAgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLSAgICAgICAgY29uZmlnID0gQ29uZmlnRmlsZShhcmdzLmZpbGUpCi0gICAgICAgIGlmIGFyZ3MuY29tbWFuZCBpcyBOb25lOgotICAgICAgICAgICAgcGFyc2VyLnByaW50X2hlbHAoKQotICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgZWxpZiBhcmdzLmNvbW1hbmQgPT0gJ2dldCc6Ci0gICAgICAgICAgICBpZiBhcmdzLnN5bWJvbCBpbiBjb25maWc6Ci0gICAgICAgICAgICAgICAgdmFsdWUgPSBjb25maWdbYXJncy5zeW1ib2xdCi0gICAgICAgICAgICAgICAgaWYgdmFsdWU6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUodmFsdWUgKyAnXG4nKQotICAgICAgICAgICAgcmV0dXJuIDAgaWYgYXJncy5zeW1ib2wgaW4gY29uZmlnIGVsc2UgMQotICAgICAgICBlbGlmIGFyZ3MuY29tbWFuZCA9PSAnc2V0JzoKLSAgICAgICAgICAgIGlmIG5vdCBhcmdzLmZvcmNlIGFuZCBhcmdzLnN5bWJvbCBub3QgaW4gY29uZmlnLnNldHRpbmdzOgotICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIkEgI2RlZmluZSBmb3IgdGhlIHN5bWJvbCB7fSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2FzIG5vdCBmb3VuZCBpbiB7fVxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChhcmdzLnN5bWJvbCwgY29uZmlnLmZpbGVuYW1lKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gMQotICAgICAgICAgICAgY29uZmlnLnNldChhcmdzLnN5bWJvbCwgdmFsdWU9YXJncy52YWx1ZSkKLSAgICAgICAgZWxpZiBhcmdzLmNvbW1hbmQgPT0gJ3NldC1hbGwnOgotICAgICAgICAgICAgY29uZmlnLmNoYW5nZV9tYXRjaGluZyhhcmdzLnJlZ2V4cywgVHJ1ZSkKLSAgICAgICAgZWxpZiBhcmdzLmNvbW1hbmQgPT0gJ3Vuc2V0JzoKLSAgICAgICAgICAgIGNvbmZpZy51bnNldChhcmdzLnN5bWJvbCkKLSAgICAgICAgZWxpZiBhcmdzLmNvbW1hbmQgPT0gJ3Vuc2V0LWFsbCc6Ci0gICAgICAgICAgICBjb25maWcuY2hhbmdlX21hdGNoaW5nKGFyZ3MucmVnZXhzLCBGYWxzZSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGNvbmZpZy5hZGFwdChhcmdzLmFkYXB0ZXIpCi0gICAgICAgIGNvbmZpZy53cml0ZShhcmdzLndyaXRlKQotICAgICAgICByZXR1cm4gMAotCi0gICAgIyBJbXBvcnQgbW9kdWxlcyBvbmx5IHVzZWQgYnkgbWFpbiBvbmx5IGlmIG1haW4gaXMgZGVmaW5lZCBhbmQgY2FsbGVkLgotICAgICMgcHlsaW50OiBkaXNhYmxlPXdyb25nLWltcG9ydC1wb3NpdGlvbgotICAgIGltcG9ydCBhcmdwYXJzZQotICAgIGltcG9ydCBzeXMKLSAgICBzeXMuZXhpdChtYWluKCkpCisgICAgc3lzLmV4aXQoTWJlZFRMU0NvbmZpZ1Rvb2woKS5tYWluKCkpCmRpZmYgLS1naXQgYS9zY3JpcHRzL2RhdGFfZmlsZXMvZHJpdmVyX2pzb25zL2RyaXZlcl9vcGFxdWVfc2NoZW1hLmpzb24gYi9zY3JpcHRzL2RhdGFfZmlsZXMvZHJpdmVyX2pzb25zL2RyaXZlcl9vcGFxdWVfc2NoZW1hLmpzb24KaW5kZXggOTMzZWIwNy4uYjA1ZGEwMCAxMDA2NDQKLS0tIGEvc2NyaXB0cy9kYXRhX2ZpbGVzL2RyaXZlcl9qc29ucy9kcml2ZXJfb3BhcXVlX3NjaGVtYS5qc29uCisrKyBiL3NjcmlwdHMvZGF0YV9maWxlcy9kcml2ZXJfanNvbnMvZHJpdmVyX29wYXF1ZV9zY2hlbWEuanNvbgpAQCAtMTEsNyArMTEsNyBAQAogICAgIH0sCiAgICAgInR5cGUiOiB7CiAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgImNvbnN0IjogWyJvcGFxdWUiXQorICAgICAgImNvbnN0IjogIm9wYXF1ZSIKICAgICB9LAogICAgICJsb2NhdGlvbiI6IHsKICAgICAgICJ0eXBlIjogWyJpbnRlZ2VyIiwic3RyaW5nIl0sCmRpZmYgLS1naXQgYS9zY3JpcHRzL2RhdGFfZmlsZXMvZHJpdmVyX2pzb25zL2RyaXZlcl90cmFuc3BhcmVudF9zY2hlbWEuanNvbiBiL3NjcmlwdHMvZGF0YV9maWxlcy9kcml2ZXJfanNvbnMvZHJpdmVyX3RyYW5zcGFyZW50X3NjaGVtYS5qc29uCmluZGV4IGY1ZDkxZWIuLjE3OTExNjMgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvZGF0YV9maWxlcy9kcml2ZXJfanNvbnMvZHJpdmVyX3RyYW5zcGFyZW50X3NjaGVtYS5qc29uCisrKyBiL3NjcmlwdHMvZGF0YV9maWxlcy9kcml2ZXJfanNvbnMvZHJpdmVyX3RyYW5zcGFyZW50X3NjaGVtYS5qc29uCkBAIC0xMSw3ICsxMSw3IEBACiAgICAgfSwKICAgICAidHlwZSI6IHsKICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAiY29uc3QiOiBbInRyYW5zcGFyZW50Il0KKyAgICAgICJjb25zdCI6ICJ0cmFuc3BhcmVudCIKICAgICB9LAogICAgICJtYmVkdGxzL2hfY29uZGl0aW9uIjogewogICAgICAgInR5cGUiOiAic3RyaW5nIgpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9kYXRhX2ZpbGVzL2RyaXZlcl90ZW1wbGF0ZXMvcHNhX2NyeXB0b19kcml2ZXJfd3JhcHBlcnMuaC5qaW5qYSBiL3NjcmlwdHMvZGF0YV9maWxlcy9kcml2ZXJfdGVtcGxhdGVzL3BzYV9jcnlwdG9fZHJpdmVyX3dyYXBwZXJzLmguamluamEKaW5kZXggOGI5MWYwYi4uZDNiN2Q2ZiAxMDA2NDQKLS0tIGEvc2NyaXB0cy9kYXRhX2ZpbGVzL2RyaXZlcl90ZW1wbGF0ZXMvcHNhX2NyeXB0b19kcml2ZXJfd3JhcHBlcnMuaC5qaW5qYQorKysgYi9zY3JpcHRzL2RhdGFfZmlsZXMvZHJpdmVyX3RlbXBsYXRlcy9wc2FfY3J5cHRvX2RyaXZlcl93cmFwcGVycy5oLmppbmphCkBAIC03MzEsNyArNzMxLDggQEAKIAogc3RhdGljIGlubGluZSBwc2Ffc3RhdHVzX3QgcHNhX2RyaXZlcl93cmFwcGVyX2dlbmVyYXRlX2tleSgKICAgICBjb25zdCBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCAqYXR0cmlidXRlcywKLSAgICBjb25zdCBwc2Ffa2V5X3Byb2R1Y3Rpb25fcGFyYW1ldGVyc190ICpwYXJhbXMsIHNpemVfdCBwYXJhbXNfZGF0YV9sZW5ndGgsCisgICAgY29uc3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190ICpjdXN0b20sCisgICAgY29uc3QgdWludDhfdCAqY3VzdG9tX2RhdGEsIHNpemVfdCBjdXN0b21fZGF0YV9sZW5ndGgsCiAgICAgdWludDhfdCAqa2V5X2J1ZmZlciwgc2l6ZV90IGtleV9idWZmZXJfc2l6ZSwgc2l6ZV90ICprZXlfYnVmZmVyX2xlbmd0aCApCiB7CiAgICAgcHNhX3N0YXR1c190IHN0YXR1cyA9IFBTQV9FUlJPUl9DT1JSVVBUSU9OX0RFVEVDVEVEOwpAQCAtNzQwLDcgKzc0MSw3IEBACiAKICNpZiBkZWZpbmVkKFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURSkKICAgICBpbnQgaXNfZGVmYXVsdF9wcm9kdWN0aW9uID0KLSAgICAgICAgcHNhX2tleV9wcm9kdWN0aW9uX3BhcmFtZXRlcnNfYXJlX2RlZmF1bHQocGFyYW1zLCBwYXJhbXNfZGF0YV9sZW5ndGgpOworICAgICAgICBwc2FfY3VzdG9tX2tleV9wYXJhbWV0ZXJzX2FyZV9kZWZhdWx0KGN1c3RvbSwgY3VzdG9tX2RhdGFfbGVuZ3RoKTsKICAgICBpZiggbG9jYXRpb24gIT0gUFNBX0tFWV9MT0NBVElPTl9MT0NBTF9TVE9SQUdFICYmICFpc19kZWZhdWx0X3Byb2R1Y3Rpb24gKQogICAgIHsKICAgICAgICAgLyogV2UgZG9uJ3Qgc3VwcG9ydCBwYXNzaW5nIGN1c3RvbSBwcm9kdWN0aW9uIHBhcmFtZXRlcnMKQEAgLTgxMSw3ICs4MTIsNyBAQAogCiAgICAgICAgICAgICAvKiBTb2Z0d2FyZSBmYWxsYmFjayAqLwogICAgICAgICAgICAgc3RhdHVzID0gcHNhX2dlbmVyYXRlX2tleV9pbnRlcm5hbCgKLSAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLCBwYXJhbXMsIHBhcmFtc19kYXRhX2xlbmd0aCwKKyAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLCBjdXN0b20sIGN1c3RvbV9kYXRhLCBjdXN0b21fZGF0YV9sZW5ndGgsCiAgICAgICAgICAgICAgICAga2V5X2J1ZmZlciwga2V5X2J1ZmZlcl9zaXplLCBrZXlfYnVmZmVyX2xlbmd0aCApOwogICAgICAgICAgICAgYnJlYWs7CiAKZGlmZiAtLWdpdCBhL3NjcmlwdHMvZnJhbWV3b3JrX3NjcmlwdHNfcGF0aC5weSBiL3NjcmlwdHMvZnJhbWV3b3JrX3NjcmlwdHNfcGF0aC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDRhNDQwCi0tLSAvZGV2L251bGwKKysrIGIvc2NyaXB0cy9mcmFtZXdvcmtfc2NyaXB0c19wYXRoLnB5CkBAIC0wLDAgKzEsMTcgQEAKKyIiIkFkZCBvdXIgUHl0aG9uIGxpYnJhcnkgZGlyZWN0b3J5IHRvIHRoZSBtb2R1bGUgc2VhcmNoIHBhdGguCisKK1VzYWdlOgorCisgICAgaW1wb3J0IGZyYW1ld29ya19zY3JpcHRzX3BhdGggIyBweWxpbnQ6IGRpc2FibGU9dW51c2VkLWltcG9ydAorIiIiCisKKyMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgorIworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworc3lzLnBhdGguYXBwZW5kKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLnBhcmRpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZyYW1ld29yaycsICdzY3JpcHRzJykpCmRpZmYgLS1naXQgYS9zY3JpcHRzL2dlbmVyYXRlX2RyaXZlcl93cmFwcGVycy5weSBiL3NjcmlwdHMvZ2VuZXJhdGVfZHJpdmVyX3dyYXBwZXJzLnB5CmluZGV4IDYyNGFiODEuLjBmMGM4YzcgMTAwNzU1Ci0tLSBhL3NjcmlwdHMvZ2VuZXJhdGVfZHJpdmVyX3dyYXBwZXJzLnB5CisrKyBiL3NjcmlwdHMvZ2VuZXJhdGVfZHJpdmVyX3dyYXBwZXJzLnB5CkBAIC0xNyw3ICsxNyw5IEBACiBpbXBvcnQgYXJncGFyc2UKIGltcG9ydCBqc29uc2NoZW1hCiBpbXBvcnQgamluamEyCi1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCBidWlsZF90cmVlCisKK2ltcG9ydCBmcmFtZXdvcmtfc2NyaXB0c19wYXRoICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsgaW1wb3J0IGJ1aWxkX3RyZWUKIAogSlNPTlNjaGVtYSA9IE5ld1R5cGUoJ0pTT05TY2hlbWEnLCBvYmplY3QpCiAjIFRoZSBEcml2ZXIgaXMgYW4gT2JqZWN0LCBidXQgcHJhY3RpY2FsbHkgaXQncyBpbmRleGFibGUgYW5kIGNhbiBjYWxsZWQgYSBkaWN0aW9uYXJ5IHRvCmRpZmYgLS1naXQgYS9zY3JpcHRzL2dlbmVyYXRlX3BzYV9jb25zdGFudHMucHkgYi9zY3JpcHRzL2dlbmVyYXRlX3BzYV9jb25zdGFudHMucHkKaW5kZXggZjEzYjUwNy4uZDU3ZDQ2YSAxMDA3NTUKLS0tIGEvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfY29uc3RhbnRzLnB5CisrKyBiL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX2NvbnN0YW50cy5weQpAQCAtMTcsOCArMTcsOSBAQAogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiAKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGJ1aWxkX3RyZWUKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IG1hY3JvX2NvbGxlY3RvcgoraW1wb3J0IGZyYW1ld29ya19zY3JpcHRzX3BhdGggIyBweWxpbnQ6IGRpc2FibGU9dW51c2VkLWltcG9ydAorZnJvbSBtYmVkdGxzX2ZyYW1ld29yayBpbXBvcnQgYnVpbGRfdHJlZQorZnJvbSBtYmVkdGxzX2ZyYW1ld29yayBpbXBvcnQgbWFjcm9fY29sbGVjdG9yCiAKIE9VVFBVVF9URU1QTEFURSA9ICcnJ1wKIC8qIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlX3BzYV9jb25zdGFudC5weS4gRE8gTk9UIEVESVQuICovCmRpZmYgLS1naXQgYS9zY3JpcHRzL2dlbmVyYXRlX3NzbF9kZWJ1Z19oZWxwZXJzLnB5IGIvc2NyaXB0cy9nZW5lcmF0ZV9zc2xfZGVidWdfaGVscGVycy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYTA1NDRmMS4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL2dlbmVyYXRlX3NzbF9kZWJ1Z19oZWxwZXJzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDE0ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKLQotIiIiR2VuZXJhdGUgbGlicmFyeS9zc2xfZGVidWdfaGVscGVyc19nZW5lcmF0ZWQuYwotCi1UaGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhpcyBtb2R1bGUgaW5jbHVkZXMgZGVidWcgaGVscGVyIGZ1bmN0aW9ucyB0aGF0IGNhbiBub3QgYmUKLWltcGxlbWVudGVkIGJ5IGZpeGVkIGNvZGVzLgotCi0iIiIKLQotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi1pbXBvcnQgc3lzCi1pbXBvcnQgcmUKLWltcG9ydCBvcwotaW1wb3J0IHRleHR3cmFwCi1pbXBvcnQgYXJncGFyc2UKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGJ1aWxkX3RyZWUKLQotCi1kZWYgcmVtb3ZlX2NfY29tbWVudHMoc3RyaW5nKToKLSAgICAiIiIKLSAgICAgICAgUmVtb3ZlIEMgc3R5bGUgY29tbWVudHMgZnJvbSBpbnB1dCBzdHJpbmcKLSAgICAiIiIKLSAgICBzdHJpbmdfcGF0dGVybiA9IHIiKD9QPHN0cmluZz5cIi4qP1wifFwnLio/XCcpIgotICAgIGNvbW1lbnRfcGF0dGVybiA9IHIiKD9QPGNvbW1lbnQ+L1wqLio/XCovfC8vW15cclxuXSokKSIKLSAgICBwYXR0ZXJuID0gcmUuY29tcGlsZShzdHJpbmdfcGF0dGVybiArIHInfCcgKyBjb21tZW50X3BhdHRlcm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmUuTVVMVElMSU5FIHwgcmUuRE9UQUxMKQotCi0gICAgZGVmIHJlcGxhY2VyKG1hdGNoKToKLSAgICAgICAgaWYgbWF0Y2gubGFzdGdyb3VwID09ICdjb21tZW50JzoKLSAgICAgICAgICAgIHJldHVybiAiIgotICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXAoKQotICAgIHJldHVybiBwYXR0ZXJuLnN1YihyZXBsYWNlciwgc3RyaW5nKQotCi0KLWNsYXNzIENvbmREaXJlY3RpdmVOb3RNYXRjaChFeGNlcHRpb24pOgotICAgIHBhc3MKLQotCi1kZWYgcHJlcHJvY2Vzc19jX3NvdXJjZV9jb2RlKHNvdXJjZSwgKmNsYXNzZXMpOgotICAgICIiIgotICAgICAgICBTaW1wbGUgcHJlcHJvY2Vzc29yIGZvciBDIHNvdXJjZSBjb2RlLgotCi0gICAgICAgIE9ubHkgcHJvY2Vzc2VzIGNvbmRpdGlvbiBkaXJlY3RpdmVzIHdpdGhvdXQgZXhwYW5kaW5nIHRoZW0uCi0gICAgICAgIFlpZWxkIG9iamVjdCBhY2NvcmRpbmcgdG8gdGhlIGNsYXNzZXMgaW5wdXQuIE1vc3QgbWF0Y2ggZmlyc3RseQotCi0gICAgICAgIElmIHRoZSBkaXJlY3RpdmUgcGFpciBkb2VzIG5vdCBtYXRjaCAsIHJhaXNlIENvbmREaXJlY3RpdmVOb3RNYXRjaC4KLQotICAgICAgICBBc3N1bWUgc291cmNlIGNvZGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZW50cyBhbmQgY29tcGlsZSBwYXNzLgotCi0gICAgIiIiCi0KLSAgICBwYXR0ZXJuID0gcmUuY29tcGlsZShyIl5bIFx0XSojWyBcdF0qIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgciIoP1A8ZGlyZWN0aXZlPihpZlsgXHRdfGlmbmRlZlsgXHRdfGlmZGVmWyBcdF18ZWxzZXxlbmRpZikpIiArCi0gICAgICAgICAgICAgICAgICAgICAgICAgciJbIFx0XSooP1A8cGFyYW0+KC4qXFxcbikqLiokKSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmUuTVVMVElMSU5FKQotICAgIHN0YWNrID0gW10KLQotICAgIGRlZiBfeWllbGRfb2JqZWN0cyhzLCBkLCBwLCBzdCwgZW5kKToKLSAgICAgICAgIiIiCi0gICAgICAgICAgICBPdXRwdXQgbWF0Y2hlZCBzb3VyY2UgcGllY2UKLSAgICAgICAgIiIiCi0gICAgICAgIG5vbmxvY2FsIHN0YWNrCi0gICAgICAgIHN0YXJ0X2xpbmUsIGVuZF9saW5lID0gJycsICcnCi0gICAgICAgIGlmIHN0YWNrOgotICAgICAgICAgICAgc3RhcnRfbGluZSA9ICcje30ge30nLmZvcm1hdChkLCBwKQotICAgICAgICAgICAgaWYgZCA9PSAnaWYnOgotICAgICAgICAgICAgICAgIGVuZF9saW5lID0gJyNlbmRpZiAvKiB7fSAqLycuZm9ybWF0KHApCi0gICAgICAgICAgICBlbGlmIGQgPT0gJ2lmZGVmJzoKLSAgICAgICAgICAgICAgICBlbmRfbGluZSA9ICcjZW5kaWYgLyogZGVmaW5lZCh7fSkgKi8nLmZvcm1hdChwKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbmRfbGluZSA9ICcjZW5kaWYgLyogIWRlZmluZWQoe30pICovJy5mb3JtYXQocCkKLSAgICAgICAgaGFzX2luc3RhbmNlID0gRmFsc2UKLSAgICAgICAgZm9yIGNscyBpbiBjbGFzc2VzOgotICAgICAgICAgICAgZm9yIGluc3RhbmNlIGluIGNscy5leHRyYWN0KHMsIHN0LCBlbmQpOgotICAgICAgICAgICAgICAgIGlmIGhhc19pbnN0YW5jZSBpcyBGYWxzZToKLSAgICAgICAgICAgICAgICAgICAgaGFzX2luc3RhbmNlID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICB5aWVsZCBwYWlyX3N0YXJ0LCBzdGFydF9saW5lCi0gICAgICAgICAgICAgICAgeWllbGQgaW5zdGFuY2Uuc3BhbigpWzBdLCBpbnN0YW5jZQotICAgICAgICBpZiBoYXNfaW5zdGFuY2U6Ci0gICAgICAgICAgICB5aWVsZCBzdGFydCwgZW5kX2xpbmUKLQotICAgIGZvciBtYXRjaCBpbiBwYXR0ZXJuLmZpbmRpdGVyKHNvdXJjZSk6Ci0KLSAgICAgICAgZGlyZWN0aXZlID0gbWF0Y2guZ3JvdXBkaWN0KClbJ2RpcmVjdGl2ZSddLnN0cmlwKCkKLSAgICAgICAgcGFyYW0gPSBtYXRjaC5ncm91cGRpY3QoKVsncGFyYW0nXQotICAgICAgICBzdGFydCwgZW5kID0gbWF0Y2guc3BhbigpCi0KLSAgICAgICAgaWYgZGlyZWN0aXZlIGluICgnaWYnLCAnaWZuZGVmJywgJ2lmZGVmJyk6Ci0gICAgICAgICAgICBzdGFjay5hcHBlbmQoKGRpcmVjdGl2ZSwgcGFyYW0sIHN0YXJ0LCBlbmQpKQotICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICBpZiBub3Qgc3RhY2s6Ci0gICAgICAgICAgICByYWlzZSBDb25kRGlyZWN0aXZlTm90TWF0Y2goKQotCi0gICAgICAgIHBhaXJfZGlyZWN0aXZlLCBwYWlyX3BhcmFtLCBwYWlyX3N0YXJ0LCBwYWlyX2VuZCA9IHN0YWNrLnBvcCgpCi0gICAgICAgIHlpZWxkIGZyb20gX3lpZWxkX29iamVjdHMoc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXJfZGlyZWN0aXZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaXJfcGFyYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpcl9lbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQpCi0KLSAgICAgICAgaWYgZGlyZWN0aXZlID09ICdlbmRpZic6Ci0gICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgIGlmIHBhaXJfZGlyZWN0aXZlID09ICdpZic6Ci0gICAgICAgICAgICBkaXJlY3RpdmUgPSAnaWYnCi0gICAgICAgICAgICBwYXJhbSA9ICIhKCB7fSApIi5mb3JtYXQocGFpcl9wYXJhbSkKLSAgICAgICAgZWxpZiBwYWlyX2RpcmVjdGl2ZSA9PSAnaWZkZWYnOgotICAgICAgICAgICAgZGlyZWN0aXZlID0gJ2lmbmRlZicKLSAgICAgICAgICAgIHBhcmFtID0gcGFpcl9wYXJhbQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGlyZWN0aXZlID0gJ2lmZGVmJwotICAgICAgICAgICAgcGFyYW0gPSBwYWlyX3BhcmFtCi0KLSAgICAgICAgc3RhY2suYXBwZW5kKChkaXJlY3RpdmUsIHBhcmFtLCBzdGFydCwgZW5kKSkKLSAgICBhc3NlcnQgbm90IHN0YWNrLCBsZW4oc3RhY2spCi0KLQotY2xhc3MgRW51bURlZmluaXRpb246Ci0gICAgIiIiCi0gICAgICAgIEdlbmVyYXRlIGhlbHBlciBmdW5jdGlvbnMgYXJvdW5kIGVudW1lcmF0aW9uLgotCi0gICAgICAgIEN1cnJlbnRseSwgaXQgZ2VuZXJhdGUgdHJhbnNsYXRpb24gZnVuY3Rpb24gZnJvbSBlbnVtIHZhbHVlIHRvIHN0cmluZy4KLSAgICAgICAgRW51bSBkZWZpbml0aW9uIGxvb2tzIGxpa2U6Ci0gICAgICAgIFt0eXBlZGVmXSBlbnVtIFtwcmVmaXggbmFtZV0geyBbYm9keV0gfSBbc3VmZml4IG5hbWVdOwotCi0gICAgICAgIEtub3duIGxpbWl0YXRpb246Ci0gICAgICAgIC0gdGhlICd9JyBhbmQgJzsnIFNIT1VMRCBOT1QgZXhpc3QgaW4gZGlmZmVyZW50IG1hY3JvIGJsb2Nrcy4gTGlrZQotICAgICAgICBgYGAKLSAgICAgICAgZW51bSB0ZXN0IHsKLSAgICAgICAgICAgIC4uLi4KLSAgICAgICAgI2lmIGRlZmluZWQoQSkKLSAgICAgICAgICAgIC4uLi4KLSAgICAgICAgfTsKLSAgICAgICAgI2Vsc2UKLSAgICAgICAgICAgIC4uLi4KLSAgICAgICAgfTsKLSAgICAgICAgI2VuZGlmCi0gICAgICAgIGBgYAotICAgICIiIgotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGV4dHJhY3QoY2xzLCBzb3VyY2VfY29kZSwgc3RhcnQ9MCwgZW5kPS0xKToKLSAgICAgICAgZW51bV9wYXR0ZXJuID0gcmUuY29tcGlsZShyJ2VudW1ccyooP1A8cHJlZml4X25hbWU+XHcqKVxzKicgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIne1xzKig/UDxib2R5PltefV0qKX0nICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ1xzKig/UDxzdWZmaXhfbmFtZT5cdyopXHMqOycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmUuTVVMVElMSU5FIHwgcmUuRE9UQUxMKQotCi0gICAgICAgIGZvciBtYXRjaCBpbiBlbnVtX3BhdHRlcm4uZmluZGl0ZXIoc291cmNlX2NvZGUsIHN0YXJ0LCBlbmQpOgotICAgICAgICAgICAgeWllbGQgRW51bURlZmluaXRpb24oc291cmNlX2NvZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuPW1hdGNoLnNwYW4oKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwPW1hdGNoLmdyb3VwZGljdCgpKQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZV9jb2RlLCBzcGFuPU5vbmUsIGdyb3VwPU5vbmUpOgotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShncm91cCwgZGljdCkKLSAgICAgICAgcHJlZml4X25hbWUgPSBncm91cC5nZXQoJ3ByZWZpeF9uYW1lJywgTm9uZSkKLSAgICAgICAgc3VmZml4X25hbWUgPSBncm91cC5nZXQoJ3N1ZmZpeF9uYW1lJywgTm9uZSkKLSAgICAgICAgYm9keSA9IGdyb3VwLmdldCgnYm9keScsIE5vbmUpCi0gICAgICAgIGFzc2VydCBwcmVmaXhfbmFtZSBvciBzdWZmaXhfbmFtZQotICAgICAgICBhc3NlcnQgYm9keQotICAgICAgICBhc3NlcnQgc3BhbgotICAgICAgICAjIElmIHN1ZmZpeF9uYW1lIGV4aXN0cywgaXQgaXMgYSB0eXBlZGVmCi0gICAgICAgIHNlbGYuX3Byb3RvdHlwZSA9IHN1ZmZpeF9uYW1lIGlmIHN1ZmZpeF9uYW1lIGVsc2UgJ2VudW0gJyArIHByZWZpeF9uYW1lCi0gICAgICAgIHNlbGYuX25hbWUgPSBzdWZmaXhfbmFtZSBpZiBzdWZmaXhfbmFtZSBlbHNlIHByZWZpeF9uYW1lCi0gICAgICAgIHNlbGYuX2JvZHkgPSBib2R5Ci0gICAgICAgIHNlbGYuX3NvdXJjZSA9IHNvdXJjZV9jb2RlCi0gICAgICAgIHNlbGYuX3NwYW4gPSBzcGFuCi0KLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnRW51bSh7fSx7fSknLmZvcm1hdChzZWxmLl9uYW1lLCBzZWxmLl9zcGFuKQotCi0gICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgIHJldHVybiByZXByKHNlbGYpCi0KLSAgICBkZWYgc3BhbihzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX3NwYW4KLQotICAgIGRlZiBnZW5lcmF0ZV90cmFuc2xhdGlvbl9mdW5jdGlvbihzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgICAgICBHZW5lcmF0ZSBmdW5jdGlvbiBmb3IgdHJhbnNsYXRpbmcgdmFsdWUgdG8gc3RyaW5nCi0gICAgICAgICIiIgotICAgICAgICB0cmFuc2xhdGlvbl90YWJsZSA9IFtdCi0KLSAgICAgICAgZm9yIGxpbmUgaW4gc2VsZi5fYm9keS5zcGxpdGxpbmVzKCk6Ci0KLSAgICAgICAgICAgIGlmIGxpbmUuc3RyaXAoKS5zdGFydHN3aXRoKCcjJyk6Ci0gICAgICAgICAgICAgICAgIyBQcmVwcm9jZXNzIGRpcmVjdGl2ZSwga2VlcCBpdCBpbiB0YWJsZQotICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uX3RhYmxlLmFwcGVuZChsaW5lLnN0cmlwKCkpCi0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgaWYgbm90IGxpbmUuc3RyaXAoKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBmb3IgZmllbGQgaW4gbGluZS5zdHJpcCgpLnNwbGl0KCcsJyk6Ci0gICAgICAgICAgICAgICAgaWYgbm90IGZpZWxkLnN0cmlwKCk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgbWVtYmVyID0gZmllbGQuc3RyaXAoKS5zcGxpdCgpWzBdCi0gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25fdGFibGUuYXBwZW5kKAotICAgICAgICAgICAgICAgICAgICAne3NwYWNlfWNhc2Uge21lbWJlcn06XG57c3BhY2V9ICAgIHJldHVybiAie21lbWJlcn0iOycKLSAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChtZW1iZXI9bWVtYmVyLCBzcGFjZT0nICcqOCkKLSAgICAgICAgICAgICAgICApCi0KLSAgICAgICAgYm9keSA9IHRleHR3cmFwLmRlZGVudCgnJydcCi0gICAgICAgICAgICBjb25zdCBjaGFyICp7bmFtZX1fc3RyKCB7cHJvdG90eXBlfSBpbiApCi0gICAgICAgICAgICB7ewotICAgICAgICAgICAgICAgIHN3aXRjaCAoaW4pIHt7Ci0gICAgICAgICAgICB7dHJhbnNsYXRpb25fdGFibGV9Ci0gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIlVOS05PV05fVkFMVUUiOwotICAgICAgICAgICAgICAgIH19Ci0gICAgICAgICAgICB9fQotICAgICAgICAgICAgICAgICAgICAnJycpCi0gICAgICAgIGJvZHkgPSBib2R5LmZvcm1hdCh0cmFuc2xhdGlvbl90YWJsZT0nXG4nLmpvaW4odHJhbnNsYXRpb25fdGFibGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1zZWxmLl9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlPXNlbGYuX3Byb3RvdHlwZSkKLSAgICAgICAgcmV0dXJuIGJvZHkKLQotCi1jbGFzcyBTaWduYXR1cmVBbGdvcml0aG1EZWZpbml0aW9uOgotICAgICIiIgotICAgICAgICBHZW5lcmF0ZSBoZWxwZXIgZnVuY3Rpb25zIGZvciBzaWduYXR1cmUgYWxnb3JpdGhtcy4KLQotICAgICAgICBJdCBnZW5lcmF0ZXMgdHJhbnNsYXRpb24gZnVuY3Rpb24gZnJvbSBzaWduYXR1cmUgYWxnb3JpdGhtIGRlZmluZSB0byBzdHJpbmcuCi0gICAgICAgIFNpZ25hdHVyZSBhbGdvcml0aG0gZGVmaW5pdGlvbiBsb29rcyBsaWtlOgotICAgICAgICAjZGVmaW5lIE1CRURUTFNfVExTMV8zX1NJR19bIHVwcGVyIGNhc2Ugc2lnbmF0dXJlIGFsZ29yaXRobSBdIFsgdmFsdWUoaGV4KSBdCi0KLSAgICAgICAgS25vd24gbGltaXRhdGlvbjoKLSAgICAgICAgLSB0aGUgZGVmaW5pdGlvbnMgU0hPVUxEICBleGlzdCBpbiBzYW1lIG1hY3JvIGJsb2Nrcy4KLSAgICAiIiIKLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBleHRyYWN0KGNscywgc291cmNlX2NvZGUsIHN0YXJ0PTAsIGVuZD0tMSk6Ci0gICAgICAgIHNpZ19hbGdfcGF0dGVybiA9IHJlLmNvbXBpbGUocicjZGVmaW5lXHMrKD9QPG5hbWU+TUJFRFRMU19UTFMxXzNfU0lHX1x3KylccysnICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByJyg/UDx2YWx1ZT4wW3hYXVswLTlhLWZBLUZdKykkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZS5NVUxUSUxJTkUgfCByZS5ET1RBTEwpCi0gICAgICAgIG1hdGNoZXMgPSBsaXN0KHNpZ19hbGdfcGF0dGVybi5maW5kaXRlcihzb3VyY2VfY29kZSwgc3RhcnQsIGVuZCkpCi0gICAgICAgIGlmIG1hdGNoZXM6Ci0gICAgICAgICAgICB5aWVsZCBTaWduYXR1cmVBbGdvcml0aG1EZWZpbml0aW9uKHNvdXJjZV9jb2RlLCBkZWZpbml0aW9ucz1tYXRjaGVzKQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZV9jb2RlLCBkZWZpbml0aW9ucz1Ob25lKToKLSAgICAgICAgaWYgZGVmaW5pdGlvbnMgaXMgTm9uZToKLSAgICAgICAgICAgIGRlZmluaXRpb25zID0gW10KLSAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoZGVmaW5pdGlvbnMsIGxpc3QpIGFuZCBkZWZpbml0aW9ucwotICAgICAgICBzZWxmLl9kZWZpbml0aW9ucyA9IGRlZmluaXRpb25zCi0gICAgICAgIHNlbGYuX3NvdXJjZSA9IHNvdXJjZV9jb2RlCi0KLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnU2lnQWxncyh7fSknLmZvcm1hdChzZWxmLl9kZWZpbml0aW9uc1swXS5zcGFuKCkpCi0KLSAgICBkZWYgc3BhbihzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2RlZmluaXRpb25zWzBdLnNwYW4oKQotCi0gICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICAgICAgR2VuZXJhdGUgZnVuY3Rpb24gZm9yIHRyYW5zbGF0aW5nIHZhbHVlIHRvIHN0cmluZwotICAgICAgICAiIiIKLSAgICAgICAgdHJhbnNsYXRpb25fdGFibGUgPSBbXQotICAgICAgICBmb3IgbSBpbiBzZWxmLl9kZWZpbml0aW9uczoKLSAgICAgICAgICAgIG5hbWUgPSBtLmdyb3VwZGljdCgpWyduYW1lJ10KLSAgICAgICAgICAgIHJldHVybl92YWwgPSBuYW1lW2xlbignTUJFRFRMU19UTFMxXzNfU0lHXycpOl0ubG93ZXIoKQotICAgICAgICAgICAgdHJhbnNsYXRpb25fdGFibGUuYXBwZW5kKAotICAgICAgICAgICAgICAgICcgICAgY2FzZSB7fTpcbiAgICAgICAgcmV0dXJuICJ7fSI7Jy5mb3JtYXQobmFtZSwgcmV0dXJuX3ZhbCkpCi0KLSAgICAgICAgYm9keSA9IHRleHR3cmFwLmRlZGVudCgnJydcCi0gICAgICAgICAgICBjb25zdCBjaGFyICptYmVkdGxzX3NzbF9zaWdfYWxnX3RvX3N0ciggdWludDE2X3QgaW4gKQotICAgICAgICAgICAge3sKLSAgICAgICAgICAgICAgICBzd2l0Y2goIGluICkKLSAgICAgICAgICAgICAgICB7ewotICAgICAgICAgICAge3RyYW5zbGF0aW9uX3RhYmxlfQotICAgICAgICAgICAgICAgIH19OwotCi0gICAgICAgICAgICAgICAgcmV0dXJuICJVTktOT1dOIjsKLSAgICAgICAgICAgIH19JycnKQotICAgICAgICBib2R5ID0gYm9keS5mb3JtYXQodHJhbnNsYXRpb25fdGFibGU9J1xuJy5qb2luKHRyYW5zbGF0aW9uX3RhYmxlKSkKLSAgICAgICAgcmV0dXJuIGJvZHkKLQotCi1jbGFzcyBOYW1lZEdyb3VwRGVmaW5pdGlvbjoKLSAgICAiIiIKLSAgICAgICAgR2VuZXJhdGUgaGVscGVyIGZ1bmN0aW9ucyBmb3IgbmFtZWQgZ3JvdXAKLQotICAgICAgICBJdCBnZW5lcmF0ZXMgdHJhbnNsYXRpb24gZnVuY3Rpb24gZnJvbSBuYW1lZCBncm91cCBkZWZpbmUgdG8gc3RyaW5nLgotICAgICAgICBOYW1lZCBncm91cCBkZWZpbml0aW9uIGxvb2tzIGxpa2U6Ci0gICAgICAgICNkZWZpbmUgTUJFRFRMU19TU0xfSUFOQV9UTFNfR1JPVVBfWyB1cHBlciBjYXNlIG5hbWVkIGdyb3VwIF0gWyB2YWx1ZShoZXgpIF0KLQotICAgICAgICBLbm93biBsaW1pdGF0aW9uOgotICAgICAgICAtIHRoZSBkZWZpbml0aW9ucyBTSE9VTEQgZXhpc3QgaW4gc2FtZSBtYWNybyBibG9ja3MuCi0gICAgIiIiCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgZXh0cmFjdChjbHMsIHNvdXJjZV9jb2RlLCBzdGFydD0wLCBlbmQ9LTEpOgotICAgICAgICBuYW1lZF9ncm91cF9wYXR0ZXJuID0gcmUuY29tcGlsZShyJyNkZWZpbmVccysoP1A8bmFtZT5NQkVEVExTX1NTTF9JQU5BX1RMU19HUk9VUF9cdyspXHMrJyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInKD9QPHZhbHVlPjBbeFhdWzAtOWEtZkEtRl0rKSQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZS5NVUxUSUxJTkUgfCByZS5ET1RBTEwpCi0gICAgICAgIG1hdGNoZXMgPSBsaXN0KG5hbWVkX2dyb3VwX3BhdHRlcm4uZmluZGl0ZXIoc291cmNlX2NvZGUsIHN0YXJ0LCBlbmQpKQotICAgICAgICBpZiBtYXRjaGVzOgotICAgICAgICAgICAgeWllbGQgTmFtZWRHcm91cERlZmluaXRpb24oc291cmNlX2NvZGUsIGRlZmluaXRpb25zPW1hdGNoZXMpCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgc291cmNlX2NvZGUsIGRlZmluaXRpb25zPU5vbmUpOgotICAgICAgICBpZiBkZWZpbml0aW9ucyBpcyBOb25lOgotICAgICAgICAgICAgZGVmaW5pdGlvbnMgPSBbXQotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShkZWZpbml0aW9ucywgbGlzdCkgYW5kIGRlZmluaXRpb25zCi0gICAgICAgIHNlbGYuX2RlZmluaXRpb25zID0gZGVmaW5pdGlvbnMKLSAgICAgICAgc2VsZi5fc291cmNlID0gc291cmNlX2NvZGUKLQotICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICdOYW1lZEdyb3VwKHt9KScuZm9ybWF0KHNlbGYuX2RlZmluaXRpb25zWzBdLnNwYW4oKSkKLQotICAgIGRlZiBzcGFuKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fZGVmaW5pdGlvbnNbMF0uc3BhbigpCi0KLSAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgICAgICBHZW5lcmF0ZSBmdW5jdGlvbiBmb3IgdHJhbnNsYXRpbmcgdmFsdWUgdG8gc3RyaW5nCi0gICAgICAgICIiIgotICAgICAgICB0cmFuc2xhdGlvbl90YWJsZSA9IFtdCi0gICAgICAgIGZvciBtIGluIHNlbGYuX2RlZmluaXRpb25zOgotICAgICAgICAgICAgbmFtZSA9IG0uZ3JvdXBkaWN0KClbJ25hbWUnXQotICAgICAgICAgICAgaWFuYV9uYW1lID0gbmFtZVtsZW4oJ01CRURUTFNfU1NMX0lBTkFfVExTX0dST1VQXycpOl0ubG93ZXIoKQotICAgICAgICAgICAgdHJhbnNsYXRpb25fdGFibGUuYXBwZW5kKCcgICAgY2FzZSB7fTpcbiAgICAgICAgcmV0dXJuICJ7fSI7Jy5mb3JtYXQobmFtZSwgaWFuYV9uYW1lKSkKLQotICAgICAgICBib2R5ID0gdGV4dHdyYXAuZGVkZW50KCcnJ1wKLSAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1iZWR0bHNfc3NsX25hbWVkX2dyb3VwX3RvX3N0ciggdWludDE2X3QgaW4gKQotICAgICAgICAgICAge3sKLSAgICAgICAgICAgICAgICBzd2l0Y2goIGluICkKLSAgICAgICAgICAgICAgICB7ewotICAgICAgICAgICAge3RyYW5zbGF0aW9uX3RhYmxlfQotICAgICAgICAgICAgICAgIH19OwotCi0gICAgICAgICAgICAgICAgcmV0dXJuICJVTktPV04iOwotICAgICAgICAgICAgfX0nJycpCi0gICAgICAgIGJvZHkgPSBib2R5LmZvcm1hdCh0cmFuc2xhdGlvbl90YWJsZT0nXG4nLmpvaW4odHJhbnNsYXRpb25fdGFibGUpKQotICAgICAgICByZXR1cm4gYm9keQotCi0KLU9VVFBVVF9DX1RFTVBMQVRFID0gJycnXAotLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkuIERPIE5PVCBFRElULiAqLwotCi0vKioKLSAqIFxcZmlsZSBzc2xfZGVidWdfaGVscGVyc19nZW5lcmF0ZWQuYwotICoKLSAqIFxcYnJpZWYgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaGVscGVyIGZ1bmN0aW9ucyBmb3IgZGVidWdnaW5nCi0gKi8KLS8qCi0gKiAgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0gKgotICovCi0KLSNpbmNsdWRlICJjb21tb24uaCIKLQotI2lmIGRlZmluZWQoTUJFRFRMU19ERUJVR19DKQotCi0jaW5jbHVkZSAic3NsX2RlYnVnX2hlbHBlcnMuaCIKLQote2Z1bmN0aW9uc30KLQotI2VuZGlmIC8qIE1CRURUTFNfREVCVUdfQyAqLwotLyogRW5kIG9mIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGUuICovCi0KLScnJwotCi0KLWRlZiBnZW5lcmF0ZV9zc2xfZGVidWdfaGVscGVycyhvdXRwdXRfZGlyZWN0b3J5LCBtYmVkdGxzX3Jvb3QpOgotICAgICIiIgotICAgICAgICBHZW5lcmF0ZSBmdW5jdGlvbnMgb2YgZGVidWcgaGVscHMKLSAgICAiIiIKLSAgICBtYmVkdGxzX3Jvb3QgPSBvcy5wYXRoLmFic3BhdGgoCi0gICAgICAgIG1iZWR0bHNfcm9vdCBvciBidWlsZF90cmVlLmd1ZXNzX21iZWR0bHNfcm9vdCgpKQotICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4obWJlZHRsc19yb290LCAnaW5jbHVkZS9tYmVkdGxzL3NzbC5oJykpIGFzIGY6Ci0gICAgICAgIHNvdXJjZV9jb2RlID0gcmVtb3ZlX2NfY29tbWVudHMoZi5yZWFkKCkpCi0KLSAgICBkZWZpbml0aW9ucyA9IGRpY3QoKQotICAgIGZvciBzdGFydCwgaW5zdGFuY2UgaW4gcHJlcHJvY2Vzc19jX3NvdXJjZV9jb2RlKHNvdXJjZV9jb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudW1EZWZpbml0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZ25hdHVyZUFsZ29yaXRobURlZmluaXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZWRHcm91cERlZmluaXRpb24pOgotICAgICAgICBpZiBzdGFydCBpbiBkZWZpbml0aW9uczoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoaW5zdGFuY2UsIEVudW1EZWZpbml0aW9uKToKLSAgICAgICAgICAgIGRlZmluaXRpb24gPSBpbnN0YW5jZS5nZW5lcmF0ZV90cmFuc2xhdGlvbl9mdW5jdGlvbigpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBkZWZpbml0aW9uID0gaW5zdGFuY2UKLSAgICAgICAgZGVmaW5pdGlvbnNbc3RhcnRdID0gZGVmaW5pdGlvbgotCi0gICAgZnVuY3Rpb25fZGVmaW5pdGlvbnMgPSBbc3RyKHYpIGZvciBfLCB2IGluIHNvcnRlZChkZWZpbml0aW9ucy5pdGVtcygpKV0KLSAgICBpZiBvdXRwdXRfZGlyZWN0b3J5ID09IHN5cy5zdGRvdXQ6Ci0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoT1VUUFVUX0NfVEVNUExBVEUuZm9ybWF0KAotICAgICAgICAgICAgZnVuY3Rpb25zPSdcbicuam9pbihmdW5jdGlvbl9kZWZpbml0aW9ucykpKQotICAgIGVsc2U6Ci0gICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4ob3V0cHV0X2RpcmVjdG9yeSwgJ3NzbF9kZWJ1Z19oZWxwZXJzX2dlbmVyYXRlZC5jJyksICd3JykgYXMgZjoKLSAgICAgICAgICAgIGYud3JpdGUoT1VUUFVUX0NfVEVNUExBVEUuZm9ybWF0KAotICAgICAgICAgICAgICAgIGZ1bmN0aW9ucz0nXG4nLmpvaW4oZnVuY3Rpb25fZGVmaW5pdGlvbnMpKSkKLQotCi1kZWYgbWFpbigpOgotICAgICIiIgotICAgIENvbW1hbmQgbGluZSBlbnRyeQotICAgICIiIgotICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW1iZWR0bHMtcm9vdCcsIG5hcmdzPSc/JywgZGVmYXVsdD1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0ncm9vdCBkaXJlY3Rvcnkgb2YgbWJlZHRscyBzb3VyY2UgY29kZScpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnb3V0cHV0X2RpcmVjdG9yeScsIG5hcmdzPSc/JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9J2xpYnJhcnknLCBoZWxwPSdzb3VyY2UvaGVhZGVyIGZpbGVzIGxvY2F0aW9uJykKLQotICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCi0KLSAgICBnZW5lcmF0ZV9zc2xfZGVidWdfaGVscGVycyhhcmdzLm91dHB1dF9kaXJlY3RvcnksIGFyZ3MubWJlZHRsc19yb290KQotICAgIHJldHVybiAwCi0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBzeXMuZXhpdChtYWluKCkpCmRpZmYgLS1naXQgYS9zY3JpcHRzL2xjb3Yuc2ggYi9zY3JpcHRzL2xjb3Yuc2gKaW5kZXggOWEwYzU4Mi4uMmQyZjQyYiAxMDA3NTUKLS0tIGEvc2NyaXB0cy9sY292LnNoCisrKyBiL3NjcmlwdHMvbGNvdi5zaApAQCAtMzAsOSArMzAsMTUgQEAKIAogc2V0IC1ldQogCi0jIFJlcG9zaXRvcnkgZGV0ZWN0aW9uCi1pbl9tYmVkdGxzX2J1aWxkX2RpciAoKSB7Ci0gICAgdGVzdCAtZCBsaWJyYXJ5CisjIFByb2plY3QgZGV0ZWN0aW9uCitQUk9KRUNUX05BTUVfRklMRT0nLi9zY3JpcHRzL3Byb2plY3RfbmFtZS50eHQnCitpZiByZWFkIC1yIFBST0pFQ1RfTkFNRSA8ICIkUFJPSkVDVF9OQU1FX0ZJTEUiOyB0aGVuIDo7IGVsc2UKKyAgICBlY2hvICIkUFJPSkVDVF9OQU1FX0ZJTEUgZG9lcyBub3QgZXhpc3QuLi4gRXhpdGluZy4uLiIgPiYyCisgICAgZXhpdCAxCitmaQorCitpbl9tYmVkdGxzX3JlcG8gKCkgeworICAgIHRlc3QgIiRQUk9KRUNUX05BTUUiID0gIk1iZWQgVExTIgogfQogCiAjIENvbGxlY3Qgc3RhdHMgYW5kIGJ1aWxkIGEgSFRNTCByZXBvcnQuCkBAIC02OCw3ICs3NCw3IEBACiAgICAgZXhpdAogZmkKIAotaWYgaW5fbWJlZHRsc19idWlsZF9kaXI7IHRoZW4KK2lmIGluX21iZWR0bHNfcmVwbzsgdGhlbgogICAgIGxpYnJhcnlfZGlyPSdsaWJyYXJ5JwogICAgIHRpdGxlPSdNYmVkIFRMUycKIGVsc2UKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWFrZV9nZW5lcmF0ZWRfZmlsZXMuYmF0IGIvc2NyaXB0cy9tYWtlX2dlbmVyYXRlZF9maWxlcy5iYXQKaW5kZXggYWJjZmMzOS4uY2FjODRiNSAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tYWtlX2dlbmVyYXRlZF9maWxlcy5iYXQKKysrIGIvc2NyaXB0cy9tYWtlX2dlbmVyYXRlZF9maWxlcy5iYXQKQEAgLTEsMTUgKzEsMzEgQEAKIEByZW0gR2VuZXJhdGUgYXV0b21hdGljYWxseS1nZW5lcmF0ZWQgY29uZmlndXJhdGlvbi1pbmRlcGVuZGVudCBzb3VyY2UgZmlsZXMNCiBAcmVtIGFuZCBidWlsZCBzY3JpcHRzLg0KLUByZW0gUGVybCBhbmQgUHl0aG9uIDMgbXVzdCBiZSBvbiB0aGUgUEFUSC4NCitAcmVtIFJlcXVpcmVtZW50czoNCitAcmVtICogUGVybCBtdXN0IGJlIG9uIHRoZSBQQVRIICgicGVybCIgY29tbWFuZCkuDQorQHJlbSAqIFB5dGhvbiAzLjggb3IgYWJvdmUgbXVzdCBiZSBvbiB0aGUgUEFUSCAoInB5dGhvbiIgY29tbWFuZCkuDQorQHJlbSAqIEVpdGhlciBhIEMgY29tcGlsZXIgY2FsbGVkICJjYyIgbXVzdCBiZSBvbiB0aGUgUEFUSCwgb3INCitAcmVtICAgdGhlICJDQyIgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBwb2ludCB0byBhIEMgY29tcGlsZXIuDQorDQorQHJlbSBAQEBAIGxpYnJhcnlcKiogQEBAQA0KIEByZW0gcHNhX2NyeXB0b19kcml2ZXJfd3JhcHBlcnMuaCBuZWVkcyB0byBiZSBnZW5lcmF0ZWQgcHJpb3IgdG8NCiBAcmVtIGdlbmVyYXRlX3Zpc3VhbGNfZmlsZXMucGwgYmVpbmcgaW52b2tlZC4NCiBweXRob24gc2NyaXB0c1xnZW5lcmF0ZV9kcml2ZXJfd3JhcHBlcnMucHkgfHwgZXhpdCAvYiAxDQogcGVybCBzY3JpcHRzXGdlbmVyYXRlX2Vycm9ycy5wbCB8fCBleGl0IC9iIDENCiBwZXJsIHNjcmlwdHNcZ2VuZXJhdGVfcXVlcnlfY29uZmlnLnBsIHx8IGV4aXQgL2IgMQ0KIHBlcmwgc2NyaXB0c1xnZW5lcmF0ZV9mZWF0dXJlcy5wbCB8fCBleGl0IC9iIDENCi1weXRob24gc2NyaXB0c1xnZW5lcmF0ZV9zc2xfZGVidWdfaGVscGVycy5weSB8fCBleGl0IC9iIDENCitweXRob24gZnJhbWV3b3JrXHNjcmlwdHNcZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkgfHwgZXhpdCAvYiAxDQorDQorQHJlbSBAQEBAIEJ1aWxkIEBAQEANCiBwZXJsIHNjcmlwdHNcZ2VuZXJhdGVfdmlzdWFsY19maWxlcy5wbCB8fCBleGl0IC9iIDENCisNCitAcmVtIEBAQEAgcHJvZ3JhbXNcKiogQEBAQA0KIHB5dGhvbiBzY3JpcHRzXGdlbmVyYXRlX3BzYV9jb25zdGFudHMucHkgfHwgZXhpdCAvYiAxDQotcHl0aG9uIHRlc3RzXHNjcmlwdHNcZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5IHx8IGV4aXQgL2IgMQ0KLXB5dGhvbiB0ZXN0c1xzY3JpcHRzXGdlbmVyYXRlX2VjcF90ZXN0cy5weSB8fCBleGl0IC9iIDENCi1weXRob24gdGVzdHNcc2NyaXB0c1xnZW5lcmF0ZV9wc2FfdGVzdHMucHkgfHwgZXhpdCAvYiAxDQorDQorQHJlbSBAQEBAIHRlc3RzXCoqIEBAQEANCitweXRob24gZnJhbWV3b3JrXHNjcmlwdHNcZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5IHx8IGV4aXQgL2IgMQ0KK3B5dGhvbiBmcmFtZXdvcmtcc2NyaXB0c1xnZW5lcmF0ZV9jb25maWdfdGVzdHMucHkgfHwgZXhpdCAvYiAxDQorcHl0aG9uIGZyYW1ld29ya1xzY3JpcHRzXGdlbmVyYXRlX2VjcF90ZXN0cy5weSB8fCBleGl0IC9iIDENCitweXRob24gZnJhbWV3b3JrXHNjcmlwdHNcZ2VuZXJhdGVfcHNhX3Rlc3RzLnB5IHx8IGV4aXQgL2IgMQ0KK3B5dGhvbiBmcmFtZXdvcmtcc2NyaXB0c1xnZW5lcmF0ZV90ZXN0X2tleXMucHkgLS1vdXRwdXQgdGVzdHNcc3JjXHRlc3Rfa2V5cy5oIHx8IGV4aXQgL2IgMQ0KK3B5dGhvbiBmcmFtZXdvcmtcc2NyaXB0c1xnZW5lcmF0ZV90ZXN0X2NlcnRfbWFjcm9zLnB5IC0tb3V0cHV0IHRlc3RzXHNyY1x0ZXN0X2NlcnRzLmggfHwgZXhpdCAvYiAxDQorcHl0aG9uIGZyYW1ld29ya1xzY3JpcHRzXGdlbmVyYXRlX3RsczEzX2NvbXBhdF90ZXN0cy5weSB8fCBleGl0IC9iIDENCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L19faW5pdF9fLnB5IGIvc2NyaXB0cy9tYmVkdGxzX2Rldi9fX2luaXRfXy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTViMGQ2MC4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L19faW5pdF9fLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0jIFRoaXMgZmlsZSBuZWVkcyB0byBleGlzdCB0byBtYWtlIG1iZWR0bHNfZGV2IGEgcGFja2FnZS4KLSMgQW1vbmcgb3RoZXIgdGhpbmdzLCB0aGlzIGFsbG93cyBtb2R1bGVzIGluIHRoaXMgZGlyZWN0b3J5IHRvIG1ha2UKLSMgcmVsYXRpdmUgaW1wb3J0cy4KZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYXN5bW1ldHJpY19rZXlfZGF0YS5weSBiL3NjcmlwdHMvbWJlZHRsc19kZXYvYXN5bW1ldHJpY19rZXlfZGF0YS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGNhNjc1OC4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L2FzeW1tZXRyaWNfa2V5X2RhdGEucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNTcgKzAsMCBAQAotIiIiU2FtcGxlIGtleSBtYXRlcmlhbCBmb3IgYXN5bW1ldHJpYyBrZXkgdHlwZXMuCi0KLU1lYW50IGZvciB1c2UgaW4gY3J5cHRvX2tub3dsZWRnZS5weS4KLSIiIgotCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLSMKLQotaW1wb3J0IGJpbmFzY2lpCi1pbXBvcnQgcmUKLWZyb20gdHlwaW5nIGltcG9ydCBEaWN0Ci0KLVNUUl9UUkFOU19SRU1PVkVfQkxBTktTID0gc3RyLm1ha2V0cmFucygnJywgJycsICcgXHRcblxyJykKLQotZGVmIHVuaGV4bGlmeSh0ZXh0OiBzdHIpIC0+IGJ5dGVzOgotICAgIHJldHVybiBiaW5hc2NpaS51bmhleGxpZnkodGV4dC50cmFuc2xhdGUoU1RSX1RSQU5TX1JFTU9WRV9CTEFOS1MpKQotCi1kZWYgY29uc3RydWN0X2FzeW1tZXRyaWNfa2V5X2RhdGEoc3JjKSAtPiBEaWN0W3N0ciwgRGljdFtpbnQsIGJ5dGVzXV06Ci0gICAgIiIiU3BsaXQga2V5IHBhaXJzIGludG8gc2VwYXJhdGUgdGFibGUgZW50cmllcyBhbmQgY29udmVydCBoZXggdG8gYnl0ZXMuCi0KLSAgICBJbnB1dCBmb3JtYXQ6IHNyY1thYmJyZXZpYXRlZF90eXBlXVtzaXplXSA9IChwcml2YXRlX2tleV9oZXgsIHB1YmxpY19rZXlfaGV4KQotICAgIE91dHB1dCBmb3JtYXQ6IGRzdFsnUFNBX0tFWV9UWVBFX3h4eCddW3NpemVdID0ga2V5X2J5dGVzCi0gICAgIiIiCi0gICAgZHN0ID0ge30gI3R5cGU6IERpY3Rbc3RyLCBEaWN0W2ludCwgYnl0ZXNdXQotICAgIGZvciB0eXAgaW4gc3JjOgotICAgICAgICBwcml2YXRlID0gJ1BTQV9LRVlfVFlQRV8nICsgcmUuc3ViKHInKFwofFxaKScsIHInX0tFWV9QQUlSXDEnLCB0eXAsIDEpCi0gICAgICAgIHB1YmxpYyA9ICdQU0FfS0VZX1RZUEVfJyArIHJlLnN1YihyJyhcKHxcWiknLCByJ19QVUJMSUNfS0VZXDEnLCB0eXAsIDEpCi0gICAgICAgIGRzdFtwcml2YXRlXSA9IHt9Ci0gICAgICAgIGRzdFtwdWJsaWNdID0ge30KLSAgICAgICAgZm9yIHNpemUgaW4gc3JjW3R5cF06Ci0gICAgICAgICAgICBkc3RbcHJpdmF0ZV1bc2l6ZV0gPSB1bmhleGxpZnkoc3JjW3R5cF1bc2l6ZV1bMF0pCi0gICAgICAgICAgICBkc3RbcHVibGljXVtzaXplXSA9IHVuaGV4bGlmeShzcmNbdHlwXVtzaXplXVsxXSkKLSAgICByZXR1cm4gZHN0Ci0KLSMjIFRoZXNlIGFyZSB2YWxpZCBrZXlzIHRoYXQgZG9uJ3QgdHJ5IHRvIGV4ZXJjaXNlIGFueSBlZGdlIGNhc2VzLiBUaGV5J3JlCi0jIyBlaXRoZXIgdGVzdCB2ZWN0b3JzIGZyb20gc29tZSBzcGVjaWZpY2F0aW9uLCBvciByYW5kb21seSBnZW5lcmF0ZWQuIEFsbAotIyMgcGFpcnMgY29uc2lzdCBvZiBhIHByaXZhdGUga2V5IGFuZCBpdHMgcHVibGljIGtleS4KLSNweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZwotQVNZTU1FVFJJQ19LRVlfREFUQSA9IGNvbnN0cnVjdF9hc3ltbWV0cmljX2tleV9kYXRhKHsKLSAgICAnRUNDKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfSzEpJzogewotICAgICAgICAxOTI6ICgiMjk3YWMxNzIyY2NhYzc1ODllY2IyNDBkYzcxOTg0MjUzOGNhOTc0YmViNzlmMjI4IiwKLSAgICAgICAgICAgICAgIjA0MjZiN2JiMzhkYTY0OWFjMjEzOGZjMDUwYzY1NDhiMzI1NTNkYWI2OGFmZWJjMzYxMDVkMzI1Yjc1NTM4YzEyMzIzY2IwNzY0Nzg5ZWNiOTkyNjcxYmViMmI2YmVmMmY1IiksCi0gICAgICAgIDIyNTogKCIwMDI0MTIyYmYwMjBmYTExM2Y2YzBhYzk3OGRmYmQ0MWY3NDkyNTdhOTQ2OGZlYmRiZTBkYzlmN2U4IiwKLSAgICAgICAgICAgICAgIjA0MmNjNzMzNWY0Yjc2MDQyYmVkNDRlZjQ1OTU5YTYyYWEyMTVmN2E1ZmYwYzgxMTFiOGM0NGVkNjU0ZWU3MWMxOTE4MzI2YWQ0ODViMmQ1OTlmZTJhNmVhYjA5NmVlMjZkOTc3MzM0ZDJiYWM2ZDYxZCIpLAotICAgICAgICAyNTY6ICgiN2ZhMDZmYTAyZDBlOTExYjlhNDdmZGMxN2QyZDk2MmNhMDFlMmYzMWQ2MGM2MjEyZDBlZDdlM2JiYTIzYTdiOSIsCi0gICAgICAgICAgICAgICIwNDVjMzkxNTQ1NzllZmQ2NjdhZGM3M2E4MTAxNWE3OTdkMmM4NjgyY2RmYmQzYzM1NTNjNGExODVkNDgxY2RjNTBlNDJhMGUxY2JjM2NhMjlhMzJhNjQ1ZTkyN2Y1NGJlYWVkMTRjOWRiYmY4Mjc5ZDcyNWY1NDk1Y2E5MjRiMjRkIiksCi0gICAgfSwKLSAgICAnRUNDKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEpJzogewotICAgICAgICAxOTI6ICgiZDgzYjU3YTU5YzUxMzU4ZDljOGJiYjg5OGFmZjUwN2Y0NGRkMTRjZjE2OTE3MTkwIiwKLSAgICAgICAgICAgICAgIjA0ZTM1ZmNiZWUxMWNlYzMxNTRmODBhMWE2MWRmN2Q3NjEyZGU0ZjJmZDcwYzU2MDhkMGVlM2E0YTFhNTcxOTQ3MWFkYjMzOTY2ZGQ5YjAzNWZkYjc3NGZlZWJhOTRiMDRjIiksCi0gICAgICAgIDIyNDogKCI4NzJmMjAzYjNhZDM1YjdmMmVjYzgwM2MzYTBlMWUwYjFlZDYxY2MxYWZlNzFiMTg5Y2Q0Yzk5NSIsCi0gICAgICAgICAgICAgICIwNDZmMDBlYWRhYTk0OWZlZTNlOWUxYzdmYTEyNDdlZWNlYzg2YTBkY2U0NjQxOGI5YmQzMTE3Yjk4MWQ0YmQwYWU3YTk5MGRlOTEyZjlkMDYwZDZjYjUzMWE0MmQyMmUzOTRhYzI5ZTgxODA0YmYxNjAiKSwKLSAgICAgICAgMjU2OiAoIjQ5YzlhOGMxOGM0Yjg4NTYzOGM0MzFjZjFkZjFjOTk0MTMxNjA5YjU4MGQ0ZmQ0M2EwY2FiMTdkYjJmMTNlZWUiLAotICAgICAgICAgICAgICAiMDQ3NzcyNjU2ZjgxNGIzOTkyNzlkNWUxZjE3ODFmYWM2ZjA5OWEzYzVjYTFiMGUzNTM1MTgzNGIwOGI2NWUwYjU3MjU5MGNkYWY4Zjc2OTM2MWJjZjM0YWNmYzExZTVlMDc0ZTg0MjZiZGRlMDRiZTZlNjUzOTQ1NDQ5NjE3ZGU0NSIpLAotICAgICAgICAzODQ6ICgiM2Y1ZDhkOWJlMjgwYjU2OTZjYzVjYzlmOTRjZjhhZjdlNmI2MWRkNjU5MmIyYWIyYjNhNGM2MDc0NTA0MTdlYzMyN2RjZGNhZWQ3YzEwMDUzZDcxOWEwNTc0ZjBhNzZhIiwKLSAgICAgICAgICAgICAgIjA0ZDljNjYyYjUwYmEyOWNhNDc5OTA0NTBlMDQzYWVhZjRmMGM2OWIxNTY3NmQxMTJmNjIyYTcxYzkzMDU5YWY5OTk2OTFjNTY4MGQyYjQ0ZDExMTU3OWRiMTJmNGE0MTNhMmVkNWM0NWZjZmI2N2I1YjYzZTAwYjkxZWJlNTlkMDlhNmIxYWMyYzBjNDI4MmFhMTIzMTdlZDU5MTRmOTk5YmM0ODhiYjEzMmU4MzQyY2MzNmYyY2E1ZTMzNzljNzQ3IiksCi0gICAgICAgIDUyMTogKCIwMWIxYjZhZDA3YmI3OWU3MzIwZGE1OTg2MGVhMjhlMDU1Mjg0ZjYwNThmMjc5ZGU2NjZlMDZkNDM1ZDJhZjdiZGEyOGQ5OWZhNDdiN2RkMDk2M2UxNmIwMDczMDc4ZWU4YjhhMzhkOTY2YTU4MmY0NmQxOWZmOTVkZjNhZDk2ODVhYWUiLAotICAgICAgICAgICAgICAiMDQwMDFkZTE0MmQ1NGY2OWViMDM4ZWU0YjdhZjlkM2NhMDc3MzZmZDljZjcxOWViMzU0ZDY5ODc5ZWU3ZjNjMTM2ZmIwZmJmOWYwOGY4NmJlNWZhMTI4ZWMxYTA1MWQzZTZjNjQzZTg1YWRhOGZmYWNmMzY2M2MyNjBiZDJjODQ0YjZmNTYwMGNlZThlNDhhOWU2NWQwOWNhZGQ4OWYyMzVkZWUwNWYzYjhhNjQ2YmU3MTVmMWY2N2Q1YjQzNGUwZmYyM2ExZmMwN2VmNzc0MDE5M2U0MGVlZmY2ZjNiY2RmZDc2NWFhOTE1NTAzMzUyNGZlNGYyMDVmNTQ0NGUyOTJjNGMyZjZhYzEiKSwKLSAgICB9LAotICAgICdFQ0MoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMiknOiB7Ci0gICAgICAgIDE2MDogKCIwMGJmNTM5YTFjZGRhMGQ3ZjcxYTUwYTNmOThhZWMwYTJlOGU0Y2VkMWUiLAotICAgICAgICAgICAgICAiMDQ5NTcwZDU0MTM5ODY2NWFkYjVjZmExNmY1YWY3M2IzMTk2OTI2YmJkNGI4NzZiZGI4MGY4ZWFiMjBkMGY1NDBjMjJmNGRlOWMxNDBmNmQ3YiIpLAotICAgIH0sCi0gICAgJ0VDQyhQU0FfRUNDX0ZBTUlMWV9TRUNUX0sxKSc6IHsKLSAgICAgICAgMTYzOiAoIjAzZWJjOGZjZGVkMmQ2YWI3MmVjMGY3NWJkYjRmZDA4MDQ4MTI3M2U3MSIsCi0gICAgICAgICAgICAgICIwNDA2Zjg4ZjkwYjRiNjU5NTBmMDZjZTQzM2FmZGIwOTdlMzIwZjQzM2RjMjA2MmI4YTY1ZGI4ZmFmZDNjMTEwZjQ2YmM0NTY2M2ZiZjAyMWVlN2ViOSIpLAotICAgICAgICAyMzM6ICgiNDFmMDg0ODVjZTU4N2IwNjA2MWMwODdlNzZlMjQ3YzM1OWRlMmJhOTkyN2VlMDEzYjJmMWVkOWNhOCIsCi0gICAgICAgICAgICAgICIwNDAxZTlkNzE4OTE4OWY3NzNiZDhmNzFiZTJjMTA3NzRiYTE4ODQyNDM0ZGZhOTMxMjU5NWVhNTQ1MTA0NDAwZjQ1YTlkNTY3NTY0NzUxM2JhNzViMDc5ZmU2NmEyOWRhYWMyZWM4NmE2YTVkNGU3NWM1ZjI5MGMxZiIpLAotICAgICAgICAyMzk6ICgiMWE4MDY5Y2UyYzJjOGJkZDcwODdmMmE2YWI0OTU4ODc5N2U2Mjk0ZTk3OTQ5NTYwMmFiOTY1MGI5YzYxIiwKLSAgICAgICAgICAgICAgIjA0MDY4ZDc2YjlmNDUwODc2MmMyMzc5ZGI5ZWU4Yjg3YWQ4ZDg2ZDk1MzUxMzJmZmJhM2I1NjgwNDQwY2ZhMjhlYjEzM2Q0MjMyZmFmMWM5YWJhOTZhZjExYWVmZTYzNGE1NTE0NDA4MDBkNWY4MTg1MTA1ZDMwNzJkIiksCi0gICAgICAgIDI4MzogKCIwMDZkNjI3ODg1ZGQ0OGI5ZWM2ZmFjYjViMzg2NTM3N2Q3NTViNzVhNWQ1MTQ0MGU0NTIxMWMxZjYwMGUxNWVmZjhhODgxYTAiLAotICAgICAgICAgICAgICAiMDQwNWY0ODM3NGRlYmNlYWFkYjQ2YmEzODVmZDkyMDQ4ZmNjNWI5YWYxYTFjOTA0MDhiZjk0YTY4YjkzNzhkZjFjYmZkZmI2ZmIwMjZhOTZiZWEwNmQ4ZjE4MWJmMTBjMDIwYWRiY2M4OGI2ZWNmZjk2YmRjNTY0YTk2NDljMjQ3Y2VkZTYwMWM0YmU2M2FmYzMiKSwKLSAgICAgICAgNDA5OiAoIjNmZjVlNzRkOTMyZmE3N2RiMTM5YjdjOTQ4YzgxZTQwNjljNzJjMjQ4NDU1NzQwNjRiZWVhODk3NmI3MDI2N2YxYzZmOWE1MDNlMzg5MmVhMWRjYmI3MWZjZWE0MjNmYWEzNzBhOCIsCi0gICAgICAgICAgICAgICIwNDAxMmM1ODdmNjlmNjhiMzA4YmE2ZGNiMjM4Nzk3ZjRlMjIyOTBjYTkzOWFlODA2NjA0ZTJiNWFiNGQ5Y2FlZjVhNzRhOThmZDg3YzRmODhkMjkyZGQzOWQ5MmU1NTZlMTZjNmVjYzNjMDE5YTEwNTgyNmVlZjUwN2NkOWEwNDExOWY1NGQ1ZDg1MGIzNzIwYjM3OTJkNWQwMzQxMGU5MTA1NjEwZjdlNGI0MjAxNjZlZDQ1NjA0YTdhMWYyMjlkODA5NzViYTZiZTIwNjBlOGIiKSwKLSAgICAgICAgNTcxOiAoIjAwNTAwOGM5N2I0YTE2MWMwZGIxYmFjNjQ1MmM3Mjg0NmQ1NzMzN2FhOTJkOGVjYjRhNjZlYjAxZDJmMjk1NTVmZmI2MWE1MzE3MjI1ZGNjOGNhNjkxN2Q5MTc4OWUyMjdlZmMwYmZlOWVlZGE3ZWUyMTk5OGNkMTFjM2M5ODg1MDU2YjBlNTViNGY3NWQ1MSIsCi0gICAgICAgICAgICAgICIwNDA1MDE3MmE3ZmQ3YWRmOThlNGUyZWQyNzQyZmFhNWNkMTI3MzFhMTVmYjBkYmJkZjc1YjFjM2NjNzcxYTQzNjlhZjZmMmZhMDBlODAyNzM1NjUwODgxNzM1NzU5ZWE5Yzc5OTYxZGVkMThlMGRhYTBhYzU5YWZiMWQ1MTNiNWJiZGE5OTYyZTQzNWY0NTRmYzAyMGI0YWZlMTQ0NWMyMzAyYWRhMDdkMjk1ZWMyNTgwZjg4NDliMmRmYTdmOTU2YjA5YjRjYmU0Yzg4ZDNiMWMyMTcwNDlmNzVkMzkwMGQzNmRmMGZhMTI2ODkyNTZiNThkZDJlZjc4NGViYmViMDU2NDYwMGNmNDdhODQxNDg1ZjhjZjg5N2E2OGFjY2Q1YSIpLAotICAgIH0sCi0gICAgJ0VDQyhQU0FfRUNDX0ZBTUlMWV9TRUNUX1IxKSc6IHsKLSAgICAgICAgMTYzOiAoIjAwOWIwNWRjODJkNDZkNjRhMDRhMjJlNmU1Y2E3MGNhMTIzMWU2OGM1MCIsCi0gICAgICAgICAgICAgICIwNDAwNDY1ZWViOWU3MjU4YjExZTMzYzAyMjY2YmZlODM0YjIwYmNiMTE4NzAwNzcyNzk2ZWU0NzA0ZWM2NzY1MWJkNDQ3ZTMwMTE5NTlhNzlhMDRjYiIpLAotICAgICAgICAyMzM6ICgiMDBlNWU0MjgzNGUzYzc4NzU4MDg4YjkwNWRlZWE5NzVmMjhkYzIwZWY2MTczZTQ4MWY5NmU4OGFmZTdmIiwKLSAgICAgICAgICAgICAgIjA0MDBjZDY4YzhhZjQ0MzBjOTJlYzdhNzA0OGJlY2ZkZjAwYTZiYWU4ZDFiNGMzNzI4NmYyZDMzNmYyYTBlMDE3ZWNhMzc0OGY0YWQ2ZDQzNWM4NTg2N2FhMDE0ZWVhMWJkNmQ5ZDAwNWJiZDgzMTljYWI2MjkwMDFkIiksCi0gICAgICAgIDI4MzogKCIwMDRjZWNhZDkxNWY2ZjNjOWJiYmQ5MmQxZWIxMDFlZGEyM2YxNmM3ZGFkNjBhNTdjODdjN2UxZmQyYjI5YjIyZjZkNjY2YWQiLAotICAgICAgICAgICAgICAiMDQwNTJmOWZmODg3MjU0YzJkMTQ0MGJhOWUzMGYxM2UyMTg1YmE1M2MzNzNiMmM0MTBkYWUyMWNmOGMxNjdmNzk2YzA4MTM0ZjYwMWNiYzRjNTcwYmZmYmMyNDMzMDgyY2Y0ZDllYjViYTE3M2VjYjhjYWVjMTVkNjZhMDI2NzNmNjA4MDdiMmRhYTcyOWI3NjUiKSwKLSAgICAgICAgNDA5OiAoIjAwYzIyNDIyZDI2NTcyMWEzYWUyYjNiMmJhZWI3N2JlZTUwNDE2ZTE5ODc3YWY5N2I1ZmMxYzcwMGEwYTg4OTE2ZWNiOTA1MDEzNTg4M2FjY2I1ZTY0ZWRjNzdhMzcwM2Y0ZjY3YTY0IiwKLSAgICAgICAgICAgICAgIjA0MDFhYTI1NDY2YjFkMjkxODQ2ZGIzNjU5NTdiMjU0MzE1OTFlNTBkOWMxMDlmZTIxMDZlOTNiYjM2OTc3NTg5NjkyNWIxNWE3YmZlYzM5NzQwNmFiNGZlNmY2YjFhMTNiZjhmZGNiOTMwMGZhNTUwMGE4MTMyMjg2NzZiMGE2YzU3MmVkOTZiMGY0YWVjN2U4NzgzMmU3ZTIwZjE3Y2E5OGVjZGZkMzZmNTljODJiZGRiODY2NWYxZjM1N2E3MzkwMGU4Mjc4ODVlYzllMWYyMiIpLAotICAgICAgICA1NzE6ICgiMDI2YWMxY2RmOTJhMTNhMWI4ZDI4MmRhOTcyNTg0NzkwODc0NTEzOGY1YzY3MDZiNTJkMTY0ZTM2NzVmY2ZiZjg2ZmMzZTZhYjJkZTczMjE5MzI2N2RiMDI5ZGQzNWEwNTk5YTk0YTExOGY0ODAyMzFjZmM2Y2NjYTJlYmZjMWQ4ZjU0MTc2ZTBmNTY1NmExIiwKLSAgICAgICAgICAgICAgIjA0MDcwOGYzNDAzZWU5OTQ4MTE0ODU1YzE3NTcyMTUyYTA4ZjgwNTRkNDg2ZGVmZWY1ZjI5Y2JmZmNmYjdjZmQ5MjgwNzQ2YTFhYzVmNzUxYTZhZDkwMmVjMWUwNTI1MTIwZTliZTU2ZjAzNDM3YWYxOTZmYmU2MGVlNzg1NmUzNTQyYWIyY2Y4Nzg4MDYzMmQ4MDI5MGUzOWIxYTJiZDAzYzZiYmY2MjI1NTExYzU2N2JkMmZmNDFkMjMyNWRjNTgzNDZmMmI2MGIxZmVlZTRkYzhiMmFmMjI5NmMyZGM1MmIxNTNlMDU1NmI1ZDI0MTUyYjA3ZjY5MGMzZmEyNGU0ZDFkMTllZmJkZWIxMDM3ODMzYTczMzY1NGQyMzY2Yzc0IiksCi0gICAgfSwKLSAgICAnRUNDKFBTQV9FQ0NfRkFNSUxZX1NFQ1RfUjIpJzogewotICAgICAgICAxNjM6ICgiMDIxMGI0ODJhNDU4YjQ4MjJkMGNiMjFkYWE5NjgxOWE2N2M4MDYyZDM0IiwKLSAgICAgICAgICAgICAgIjA0MDM2OTI2MDExNDRjMzJhNmNmYTM2OWFlMjBhZTVkNDNjMWM3NjQ2NzhjMDM3YmFmZTgwYzZmZDJlNDJiN2NlZDk2MTcxZDljNTM2N2ZkM2RjYTZmIiksCi0gICAgfSwKLSAgICAnRUNDKFBTQV9FQ0NfRkFNSUxZX0JSQUlOUE9PTF9QX1IxKSc6IHsKLSAgICAgICAgMTYwOiAoIjY5NTAyYzRmZGFmNDhkNGZhNjE3YmRkMjQ0OThiMDQwNmQwZWVhYWMiLAotICAgICAgICAgICAgICAiMDRkNGI5MTg2ODE2MzU4ZTJmOWM1OWNmNzA3NDhjYjcwNjQxYjIyZmJhYjY1NDczZGI0YjRlMjJhMzYxZWQ3ZTNkZTdlOGE4ZGRjNDEzMGM1YyIpLAotICAgICAgICAxOTI6ICgiMTY4OGEyYzVmYmY0YTNjODUxZDc2YTk4YzNlYzg4ZjQ0NWE5Nzk5NjI4M2RiNTlmIiwKLSAgICAgICAgICAgICAgIjA0M2ZkZDE2OGMxNzlmZjUzNjNkZDcxZGNkNThkZTk2MTdjYWFkNzkxYWUwYzM3MzI4YmU5Y2EwYmZjNzljZWJhYmY2YTk1ZDFjNTJkZjViNWYzYzhiMWEyNDQxY2Y2Yzg4IiksCi0gICAgICAgIDIyNDogKCJhNjk4MzVkYWZlYjVkYTVhYjg5YzU5ODYwZGRkZWJjZmQ4MGI1MjlhOTlmNTliODgwODgyOTIzYyIsCi0gICAgICAgICAgICAgICIwNDVmYmVhMzc4ZmM4NTgzYjM4MzdlM2YyMWE0NTdjMzFlYWYyMGE1NGUxOGViMTFkMTA0YjNhZGM0N2Y5ZDFjOTdlYjllYTRhYzIxNzQwZDcwZDg4NTE0Yjk4YmYwYmMzMWFkZGFjMWQxOWM0YWIzY2MiKSwKLSAgICAgICAgMjU2OiAoIjIxNjFkNmYyZGI3NjUyNmZhNjJjMTZmMzU2YTgwZjAxZjMyZjc3Njc4NGIzNmFhOTk3OTlhOGI3NjYyMDgwZmYiLAotICAgICAgICAgICAgICAiMDQ3NjhjOGNhZTRhYmNhNjMwNmRiMGVkODFiMGM0YTYyMTVjMzc4MDY2ZWM2ZDYxNmMxNDZlMTNmMWM3ZGY4MDliOTZhYjY5MTFjMjdkOGEwMjMzOWYwOTI2ODQwZTU1MjM2ZDNkMWVmYmUyNjY5ZDA5MGU0YzRjNjYwZmFkYTkxZCIpLAotICAgICAgICAzMjA6ICgiNjFiOGRhYTdhNmU1YWE5ZmNjZjFlZjUwNDIyMGIyZTVhNWI4YzZkYzc0NzVkMTZkMzE3MmQ3ZGIwYjI3Nzg0MTRlNGY2ZThmYTIwMzJlYWQiLAotICAgICAgICAgICAgICAiMDQ5Y2FlZDhmYjQ3NDI5NTZjYzJhZDEyYTlhMWM5OTVlMjE3NTllZjI2YTA3YmMyMDU0MTM2ZDNkMmYyOGJiMzMxYTcwZTI2YzRjNjg3Mjc1YWIxZjQzNGJlNzg3MWUxMTVkMjM1MGMwYzVmNjFkNGQwNmQyYmNkYjY3ZjVjYjYzZmRiNzk0ZTU5NDdjODdkYzY4NDlhNTg2OTRlMzdlNmNkIiksCi0gICAgICAgIDM4NDogKCIzZGQ5MmU3NTBkOTBkN2QzOWZjMTg4NWNkOGFkMTJlYTk0NDFmMjJiOTMzNGI0ZDk2NTIwMmFkYjE0NDhjZTI0YzU4MDhhODVkZDlhZmMyMjlhZjBhMzEyNGY3NTViY2IiLAotICAgICAgICAgICAgICAiMDQ3MTlmOWQwOTNhNjI3ZTBkMzUwMzg1YzY2MWNlYmYwMGM2MTkyMzU2NmZlOTAwNmEzMTA3YWYxZDg3MWJjNmJiNjg5ODVmZDcyMmVhMzJiZTMxNmY4ZTc4M2I3Y2QxOTU3Nzg1ZjY2Y2ZjMGNiMTk1ZGQ1Yzk5YThlN2FiYWE4NDg1NTNhNTg0ZGZkMmI0OGU3NmQ0NDVmZTAwZGQ4YmU1OTA5NmQ4NzdkNDY5NmQyM2I0YmM4ZGIxNDcyNGU2NmEiKSwKLSAgICAgICAgNTEyOiAoIjM3MmM5Nzc4ZjY5ZjcyNmNiY2EzZjRhMjY4ZjE2YjRkNjE3ZDEwMjgwZDc5YTZhMDI5Y2Q1MTg3OWZlMTAxMjkzNGRmZTUzOTU0NTUzMzdkZjY5MDZkYzdkNmQyZWVhNGRiYjIwNjVjMDIyOGY3M2IzZWQ3MTY0ODBlN2Q3MWQyIiwKLSAgICAgICAgICAgICAgIjA0MzhiN2VjOTJiNjFjNWM2YzdmYmMyOGE0ZWM3NTlkNDhmY2Q0ZTJlMzc0ZGVmZDVjNDk2OGE1NGRiZWY3NTEwZTUxNzg4NmZiZmMzOGVhMzlhYTUyOTM1OWQ3MGE3MTU2YzM1ZDNjYmFjN2NlNzc2YmRiMjUxZGQ2NGJjZTcxMjM0NDI0ZWU3MDQ5ZWVkMDcyZjBkYmM0ZDc5OTk2ZTE3NWQ1NTdlMjYzNzYzYWU5NzA5NWMwODFlNzNlN2RiMmUzOGFkYzNkNGM5YTA0ODdiMWVkZTg3NmRjMWZjYTYxYzkwMmU5YTFkODcyMmI4NjEyOTI4ZjE4YTI0ODQ1NTkxYSIpLAotICAgIH0sCi0gICAgJ0VDQyhQU0FfRUNDX0ZBTUlMWV9NT05UR09NRVJZKSc6IHsKLSAgICAgICAgMjU1OiAoIjcwMDc2ZDBhNzMxOGE1N2QzYzE2YzE3MjUxYjI2NjQ1ZGY0YzJmODdlYmMwOTkyYWIxNzdmYmE1MWRiOTJjNmEiLAotICAgICAgICAgICAgICAiODUyMGYwMDk4OTMwYTc1NDc0OGI3ZGRjYjQzZWY3NWEwZGJmM2EwZDI2MzgxYWY0ZWJhNGE5OGVhYTliNGU2YSIpLAotICAgICAgICA0NDg6ICgiZTRlNDlmNTI2ODZmOWVlM2I2Mzg1MjhmNzIxZjE1OTYxOTZmZmQwYTFjZGRiNjRjM2YyMTZmMDY1NDE4MDVjZmViMWEyODZkYzc4MDE4MDk1Y2RmZWMwNTBlODAwN2I1ZjQ5MDg5NjJiYTIwZDZjMSIsCi0gICAgICAgICAgICAgICJjMGQzYTVhMmI0MTZhNTczZGM5OTA5ZjkyZjEzNGFjMDEzMjNhYjhmOGUzNjgwNGU1Nzg1ODhiYTJkMDlmZTdjM2U3MzdmNzcxY2ExMTI4MjViNTQ4YTBmZmRlZDZkNmEyZmQwOWEzZTc3ZGVjMzBlIiksCi0gICAgfSwKLSAgICAnRUNDKFBTQV9FQ0NfRkFNSUxZX1RXSVNURURfRURXQVJEUyknOiB7Ci0gICAgICAgIDI1NTogKCI5ZDYxYjE5ZGVmZmQ1YTYwYmE4NDRhZjQ5MmVjMmNjNDQ0NDljNTY5N2IzMjY5MTk3MDNiYWMwMzFjYWU3ZjYwIiwKLSAgICAgICAgICAgICAgImQ3NWE5ODAxODJiMTBhYjdkNTRiZmVkM2M5NjQwNzNhMGVlMTcyZjNkYWE2MjMyNWFmMDIxYTY4ZjcwNzUxMWEiKSwKLSAgICAgICAgNDQ4OiAoIjZjODJhNTYyY2I4MDhkMTBkNjMyYmU4OWM4NTEzZWJmNmM5MjlmMzRkZGZhOGM5ZjYzYzk5NjBlZjZlMzQ4YTM1MjhjOGEzZmNjMmYwNDRlMzlhM2ZjNWI5NDQ5MmY4ZjAzMmU3NTQ5YTIwMDk4Zjk1YiIsCi0gICAgICAgICAgICAgICI1ZmQ3NDQ5YjU5YjQ2MWZkMmNlNzg3ZWM2MTZhZDQ2YTFkYTEzNDI0ODVhNzBlMWY4YTBlYTc1ZDgwZTk2Nzc4ZWRmMTI0NzY5YjQ2YzcwNjFiZDY3ODNkZjFlNTBmNmNkMWZhMWFiZWFmZTgyNTYxODAiKSwKLSAgICB9LAotICAgICdSU0EnOiB7Ci0gICAgICAgIDEwMjQ6ICgiIiIKLTMwODIwMjVlCi0gMDIwMTAwCi0gMDI4MTgxMDBhZjA1N2QzOTZlZTg0ZmI3NWZkYmI1YzJiMTNjN2ZlNWE2NTRhYThhYTI0NzBiNTQxZWUxZmViMGIxMmQyNWM3OTcxMTUzMTI0OWUxMTI5NjI4MDQyZGJiYjZjMTIwZDE0NDM1MjRlZjRjMGU2ZTFkODk1NmVlYjIwNzdhZjEyMzQ5ZGRlZWU1NDQ4M2JjMDZjMmM2MTk0OGNkMDJiMjAyZTc5NmFlYmQ5NGQzYTdjYmY4NTljMmMxODE5YzMyNGNiODJiOWNkMzRlZGUyNjNhMmFiZmZlNDczM2YwNzc4NjllODY2MGY3ZDY4MzRkYTUzZDY5MGVmNzk4NWY2YmMzCi0gMDIwMzAxMDAwMQotIDAyODE4MTAwODc0YmYwZmZjMmYyYTcxZDE0NjcxZGRkMDE3MWM5NTRkN2ZkYmY1MDI4MWU0ZjZkOTllYTBlMWViY2Y4MmZhYTU4ZTdiNTk1ZmZiMjkzZDFhYmUxN2YxMTBiMzdjNDhjYzBmMzZjMzdlODRkODc2NjIxZDMyN2Y2NGJiZTA4NDU3ZDNlYzQwOThiYTJmYTBhMzE5ZmJhNDExYzI4NDFlZDdiZTgzMTk2YThjZGY5ZGFhNWQwMDY5NGJjMzM1ZmM0YzMyMjE3ZmUwNDg4YmNlOWNiNzIwMmU1OTQ2OGIxZWFkMTE5MDAwNDc3ZGIyY2E3OTdmYWMxOWVkYTNmNThjMQotIDAyNDEwMGUyYWI3NjA4NDFiYjlkMzBhODFkMjIyZGUxZWI3MzgxZDgyMjE0NDA3ZjFiOTc1Y2JiZmU0ZTFhOTQ2N2ZkOThhZGJkNzhmNjA3ODM2Y2E1YmUxOTI4YjlkMTYwZDk3ZmQ0NWMxMmQ2YjUyZTJjOTg3MWExNzRjNjZiNDg4MTEzCi0gMDI0MTAwYzVhYjI3NjAyMTU5YWU3ZDZmMjBjM2MyZWU4NTFlNDZkYzExMmU2ODllMjhkNWZjYmJmOTkwYTk5ZWY4YTkwYjhiYjQ0ZmQzNjQ2N2U3ZmMxNzg5Y2ViNjYzYWJkYTMzODY1MmMzYzczZjExMTc3NDkwMmU4NDA1NjU5MjcwOTEKLSAwMjQxMDBiNmNkYmQzNTRmN2RmNTc5YTYzYjQ4YjM2NDNlMzUzYjg0ODk4Nzc3YjQ4YjE1Zjk0ZTBiZmMwNTY3YTZhZTU5MTFkNTdhZDY0MDljZjc2NDdiZjk2MjY0ZTliZDg3ZWI5NWUyNjNiNzExMGI5YTFmOWY5NGFjY2VkMGZhZmE0ZAotIDAyNDA3MTE5NWVlYzM3ZThkMjU3ZGVjZmM2NzJiMDdhZTYzOWYxMGNiYjliMGM3MzlkMGM4MDk5NjhkNjQ0YTk0ZTNmZDZlZDkyODcwNzdhMTQ1ODNmMzc5MDU4Zjc2YThhZWNkNDNjNjJkYzhjMGY0MTc2NjY1MGQ3MjUyNzVhYzRhMQotIDAyNDEwMGJiMzJkMTMzZWRjMmUwNDhkNDYzMzg4YjdiZTljYjRiZTI5ZjRiNjI1MGJlNjAzZTcwZTM2NDc1MDFjOTdkZGRlMjBhNGU3MWJlOTVmZDVlNzE3ODRlMjVhY2E0YmFmMjViZTU3MzhhYWU1OWJiZmUxYzk5Nzc4MTQ0N2EyYjI0Ci0iIiIsICIiIgotIDMwODE4OQotICAwMjgxODEwMGFmMDU3ZDM5NmVlODRmYjc1ZmRiYjVjMmIxM2M3ZmU1YTY1NGFhOGFhMjQ3MGI1NDFlZTFmZWIwYjEyZDI1Yzc5NzExNTMxMjQ5ZTExMjk2MjgwNDJkYmJiNmMxMjBkMTQ0MzUyNGVmNGMwZTZlMWQ4OTU2ZWViMjA3N2FmMTIzNDlkZGVlZTU0NDgzYmMwNmMyYzYxOTQ4Y2QwMmIyMDJlNzk2YWViZDk0ZDNhN2NiZjg1OWMyYzE4MTljMzI0Y2I4MmI5Y2QzNGVkZTI2M2EyYWJmZmU0NzMzZjA3Nzg2OWU4NjYwZjdkNjgzNGRhNTNkNjkwZWY3OTg1ZjZiYzMKLSAwMjAzMDEwMDAxCi0iIiIpLAotICAgICAgICAxNTM2OiAoIiIiCi0zMDgyMDM3YgotIDAyMDEwMAotIDAyODFjMTAwYzg3MGZlYjZjYTZiMWQyYmQ5ZjJkZDk5ZTIwZjFmZTJkN2U1MTkyZGU2NjIyMjlkYmUxNjJiZDFiYTY2MzM2YTcxODI5MDNjYTBiNzI3OTZjZDQ0MWM4M2QyNGJjZGMzZTlhMmY1ZTQzOTljOGEwNDNmMWMzZGRmMDQ3NTRhNjZkNGNmZTdiMzY3MWEzN2RkMzFhOWI0YzEzYmZlMDZlZTkwZjlkOTRkZGFhMDZkZTY3YTUyYWM4NjNlNjhmNzU2NzM2Y2ViMDE0NDA1YTYxNjA1Nzk2NDBmODMxZGRkY2NjMzRhZDBiMDUwNzBlM2Y5OTU0YTU4ZDE4MTU4MTNlMWI4M2JjYWRiYTgxNDc4OWM4N2YxZWYyYmE1ZDczOGI3OTNlYzQ1NmE2NzM2MGVlYTFiNWZhZjFjN2NjN2JmMjRmM2IyYTlkMGY4OTU4YjEwOTZlMGYwYzMzNWY4ODg4ZDBjNjNhNTFjM2MwMzM3MjE0ZmEzZjVlZmRmNmRjYzM1Ci0gMDIwMzAxMDAwMQotIDAyODFjMDZkMmQ2NzAwNDc5NzNhODc3NTJhOWQ1YmMxNGYzZGFlMDBhY2IwMWY1OTNhYTBlMjRjZjRhNDlmOTMyOTMxZGU0YmJmYjMzMmUyZDM4MDgzZGE4MGJjMGI2ZDUzOGVkYmE0NzlmN2Y3N2QwZGVmZmI0YTI4ZTZlNjdmZjYyNzM1ODViYjRjZDg2MjUzNWM5NDY2MDVhYjA4MDlkNjVmMGUzOGY3NmU0ZWMyYzNkOWI4Y2Q2ZTE0YmNmNjY3OTQzODkyY2Q0YjM0Y2M2NDIwYTQzOWFiYmYzZDdkMzVlZjczOTc2ZGQ2ZjljYmRlMzVhNTFmYTUyMTNmMDEwN2Y4M2UzNDI1ODM1ZDE2ZDNjOTE0NmZjOWUzNmNlNzVhMDliYjY2Y2RmZjIxZGQ1YTc3Njg5OWYxY2IwN2UyODJjY2EyN2JlNDY1MTBlOWM3OTlmMGQ4ZGIyNzVhNmJlMDg1ZDlmM2Y4MDMyMThlZTMzODQyNjViZmIxYTM2NDBlOGNhMQotIDAyNjEwMGU2ODQ4YzMxZDQ2NmZmZmVmYzU0N2UzYTNiMGQzNzg1ZGU2Zjc4YjBkZDEyNjEwODQzNTEyZTQ5NTYxMWEwNjc1NTA5YjE2NTBiMjc0MTUwMDk4MzhkZDhlNjhlZWM2ZTc1MzA1NTNiNjM3ZDYwMjQyNDY0M2IzM2U4YmM1Yjc2MmUxNzk5YmM3OWQ1NmIxMzI1MWQzNmQ0ZjIwMWRhMjE4MjQxNmNlMTM1NzRlODgyNzhmZjA0NDY3YWQ2MDJkOQotIDAyNjEwMGRlOTk0ZmRmMTgxZjAyYmUyYmY5ZTVmNWU0ZTUxN2E5NDk5M2I4MjdkMWVhZjYwOTAzM2UzYTZhNmYyMzk2YWU3YzQ0ZTllYjU5NGNmMTA0NGNiM2FkMzJlYTI1OGYwYzgyOTYzYjI3YmI2NTBlZDIwMGNkZTgyY2I5OTMzNzRiZTM0YmU1YjFjN2VhZDU0NDZhMmI4MmE0NDg2ZThjMTgxMGEwYjAxNTUxNjA5ZmIwODQxZDQ3NGJhZGE4MDJiZAotIDAyNjA3NmRkYWU3NTFiNzNhOTU5ZDBiZmI4ZmY0OWU3ZmNkMzc4ZTliZTMwNjUyZWNlZmUzNWM4MmNiODAwM2JjMjljYzYwYWUzODA5OTA5YmFmMjBjOTVkYjk1MTZmZTY4MDg2NTQxNzExMWQ4YjE5M2RiY2YzMDI4MWYxMjQ5ZGU1N2M4NThiZjFiYTMyZjViYjE1OTk4MDBlODM5OGE5ZWYyNWM3YTY0MmM5NTI2MWRhNmY5YzE3NjcwZTk3MjY1YjEKLSAwMjYwNzMyNDgyYjgzN2Q1ZjJhOTQ0M2UyM2MxYWEwMTA2ZDgzZTgyZjZjMzQyNDY3M2I1ZmRjMzc2OWMwZjk5MmQxYzVjOTM5OTFjNzAzOGU4ODJmY2RhMDQ0MTRkZjRkN2E1ZjRmNjk4ZWFkODc4NTFjZTM3MzQ0YjYwYjcyZDdiNzBmOWM2MGNhZTg1NjZlN2EyNTdmOGUxYmVmMGU4OWRmNmU0YzJmOWQyNGQyMWQ5Zjg4ODllNGM3ZWNjZjkxNzUxCi0gMDI2MDA5MDUwZDk0NDkzZGE4ZjAwYTRkZGJlOWM4MDBhZmUzZDQ0YjQzZjc4YTQ4OTQxYTc5YjI4MTRhMWYwYjgxYTE4YThiMjM0NzY0MmEwM2IyNzk5OGY1YTE4ZGU5YWJjOWFlMGU1NGFiODI5NGZlYWM2NmRjODdlODU0Y2NlNmY3Mjc4YWMyNzEwY2I1ODc4YjU5MmZmZWIxZjRmMGExODUzZTRlOGQxZDA1NjFiNmVmY2M4MzFhMjk2Y2Y3ZWVhZgotIiIiLCAiIiIKLTMwODFjOQotIDAyODFjMTAwYzg3MGZlYjZjYTZiMWQyYmQ5ZjJkZDk5ZTIwZjFmZTJkN2U1MTkyZGU2NjIyMjlkYmUxNjJiZDFiYTY2MzM2YTcxODI5MDNjYTBiNzI3OTZjZDQ0MWM4M2QyNGJjZGMzZTlhMmY1ZTQzOTljOGEwNDNmMWMzZGRmMDQ3NTRhNjZkNGNmZTdiMzY3MWEzN2RkMzFhOWI0YzEzYmZlMDZlZTkwZjlkOTRkZGFhMDZkZTY3YTUyYWM4NjNlNjhmNzU2NzM2Y2ViMDE0NDA1YTYxNjA1Nzk2NDBmODMxZGRkY2NjMzRhZDBiMDUwNzBlM2Y5OTU0YTU4ZDE4MTU4MTNlMWI4M2JjYWRiYTgxNDc4OWM4N2YxZWYyYmE1ZDczOGI3OTNlYzQ1NmE2NzM2MGVlYTFiNWZhZjFjN2NjN2JmMjRmM2IyYTlkMGY4OTU4YjEwOTZlMGYwYzMzNWY4ODg4ZDBjNjNhNTFjM2MwMzM3MjE0ZmEzZjVlZmRmNmRjYzM1Ci0gMDIwMzAxMDAwMQotIiIiKSwKLSAgICB9LAotfSkKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX2NvbW1vbi5weSBiL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX2NvbW1vbi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWViYzg1OC4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L2JpZ251bV9jb21tb24ucHkKKysrIC9kZXYvbnVsbApAQCAtMSw0MDYgKzAsMCBAQAotIiIiQ29tbW9uIGZlYXR1cmVzIGZvciBiaWdudW0gaW4gdGVzdCBnZW5lcmF0aW9uIGZyYW1ld29yay4iIiIKLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotIwotCi1mcm9tIGFiYyBpbXBvcnQgYWJzdHJhY3RtZXRob2QKLWltcG9ydCBlbnVtCi1mcm9tIHR5cGluZyBpbXBvcnQgSXRlcmF0b3IsIExpc3QsIFR1cGxlLCBUeXBlVmFyLCBBbnkKLWZyb20gY29weSBpbXBvcnQgZGVlcGNvcHkKLWZyb20gaXRlcnRvb2xzIGltcG9ydCBjaGFpbgotZnJvbSBtYXRoIGltcG9ydCBjZWlsCi0KLWZyb20gLiBpbXBvcnQgdGVzdF9jYXNlCi1mcm9tIC4gaW1wb3J0IHRlc3RfZGF0YV9nZW5lcmF0aW9uCi1mcm9tIC5iaWdudW1fZGF0YSBpbXBvcnQgSU5QVVRTX0RFRkFVTFQsIE1PRFVMSV9ERUZBVUxUCi0KLVQgPSBUeXBlVmFyKCdUJykgI3B5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUKLQotZGVmIGludm1vZChhOiBpbnQsIG46IGludCkgLT4gaW50OgotICAgICIiIlJldHVybiBpbnZlcnNlIG9mIGEgdG8gbW9kdWxvIG4uCi0KLSAgICBFcXVpdmFsZW50IHRvIHBvdyhhLCAtMSwgbikgaW4gUHl0aG9uIDMuOCsuIEltcGxlbWVudGF0aW9uIGlzIGVxdWl2YWxlbnQKLSAgICB0byBsb25nX2ludm1vZCgpIGluIENQeXRob24uCi0gICAgIiIiCi0gICAgYiwgYyA9IDEsIDAKLSAgICB3aGlsZSBuOgotICAgICAgICBxLCByID0gZGl2bW9kKGEsIG4pCi0gICAgICAgIGEsIGIsIGMsIG4gPSBuLCBjLCBiIC0gcSpjLCByCi0gICAgIyBhdCB0aGlzIHBvaW50IGEgaXMgdGhlIGdjZCBvZiB0aGUgb3JpZ2luYWwgaW5wdXRzCi0gICAgaWYgYSA9PSAxOgotICAgICAgICByZXR1cm4gYgotICAgIHJhaXNlIFZhbHVlRXJyb3IoIk5vdCBpbnZlcnRpYmxlIikKLQotZGVmIGludm1vZF9wb3NpdGl2ZShhOiBpbnQsIG46IGludCkgLT4gaW50OgotICAgICIiIlJldHVybiBhIG5vbi1uZWdhdGl2ZSBpbnZlcnNlIG9mIGEgdG8gbW9kdWxvIG4uIiIiCi0gICAgaW52ID0gaW52bW9kKGEsIG4pCi0gICAgcmV0dXJuIGludiBpZiBpbnYgPj0gMCBlbHNlIGludiArIG4KLQotZGVmIGhleF90b19pbnQodmFsOiBzdHIpIC0+IGludDoKLSAgICAiIiJJbXBsZW1lbnQgdGhlIHN5bnRheCBhY2NlcHRlZCBieSBtYmVkdGxzX3Rlc3RfcmVhZF9tcGkoKS4KLQotICAgIFRoaXMgaXMgYSBzdXBlcnNldCBvZiB3aGF0IGlzIGFjY2VwdGVkIGJ5IG1iZWR0bHNfdGVzdF9yZWFkX21waV9jb3JlKCkuCi0gICAgIiIiCi0gICAgaWYgdmFsIGluIFsnJywgJy0nXToKLSAgICAgICAgcmV0dXJuIDAKLSAgICByZXR1cm4gaW50KHZhbCwgMTYpCi0KLWRlZiBxdW90ZV9zdHIodmFsOiBzdHIpIC0+IHN0cjoKLSAgICByZXR1cm4gIlwie31cIiIuZm9ybWF0KHZhbCkKLQotZGVmIGJvdW5kX21waSh2YWw6IGludCwgYml0c19pbl9saW1iOiBpbnQpIC0+IGludDoKLSAgICAiIiJGaXJzdCBudW1iZXIgZXhjZWVkaW5nIG51bWJlciBvZiBsaW1icyBuZWVkZWQgZm9yIGdpdmVuIGlucHV0IHZhbHVlLiIiIgotICAgIHJldHVybiBib3VuZF9tcGlfbGltYnMobGltYnNfbXBpKHZhbCwgYml0c19pbl9saW1iKSwgYml0c19pbl9saW1iKQotCi1kZWYgYm91bmRfbXBpX2xpbWJzKGxpbWJzOiBpbnQsIGJpdHNfaW5fbGltYjogaW50KSAtPiBpbnQ6Ci0gICAgIiIiRmlyc3QgbnVtYmVyIGV4Y2VlZGluZyBtYXhpbXVtIG9mIGdpdmVuIG51bWJlciBvZiBsaW1icy4iIiIKLSAgICBiaXRzID0gYml0c19pbl9saW1iICogbGltYnMKLSAgICByZXR1cm4gMSA8PCBiaXRzCi0KLWRlZiBsaW1ic19tcGkodmFsOiBpbnQsIGJpdHNfaW5fbGltYjogaW50KSAtPiBpbnQ6Ci0gICAgIiIiUmV0dXJuIHRoZSBudW1iZXIgb2YgbGltYnMgcmVxdWlyZWQgdG8gc3RvcmUgdmFsdWUuIiIiCi0gICAgYml0X2xlbmd0aCA9IG1heCh2YWwuYml0X2xlbmd0aCgpLCAxKQotICAgIHJldHVybiAoYml0X2xlbmd0aCArIGJpdHNfaW5fbGltYiAtIDEpIC8vIGJpdHNfaW5fbGltYgotCi1kZWYgY29tYmluYXRpb25fcGFpcnModmFsdWVzOiBMaXN0W1RdKSAtPiBMaXN0W1R1cGxlW1QsIFRdXToKLSAgICAiIiJSZXR1cm4gYWxsIHBhaXIgY29tYmluYXRpb25zIGZyb20gaW5wdXQgdmFsdWVzLiIiIgotICAgIHJldHVybiBbKHgsIHkpIGZvciB4IGluIHZhbHVlcyBmb3IgeSBpbiB2YWx1ZXNdCi0KLWRlZiBiaXRzX3RvX2xpbWJzKGJpdHM6IGludCwgYml0c19pbl9saW1iOiBpbnQpIC0+IGludDoKLSAgICAiIiIgUmV0dXJuIHRoZSBhcHByb3ByaWF0ZSBhbW1vdW50IG9mIGxpbWJzIG5lZWRlZCB0byBzdG9yZQotICAgICAgICBhIG51bWJlciBjb250YWluZWQgaW4gaW5wdXQgYml0cyIiIgotICAgIHJldHVybiBjZWlsKGJpdHMgLyBiaXRzX2luX2xpbWIpCi0KLWRlZiBoZXhfZGlnaXRzX2Zvcl9saW1iKGxpbWJzOiBpbnQsIGJpdHNfaW5fbGltYjogaW50KSAtPiBpbnQ6Ci0gICAgIiIiIFJldHVybiB0aGUgaGV4IGRpZ2l0cyBuZWVkIGZvciBhIG51bWJlciBvZiBsaW1icy4gIiIiCi0gICAgcmV0dXJuIDIgKiAoKGxpbWJzICogYml0c19pbl9saW1iKSAvLyA4KQotCi1kZWYgaGV4X2RpZ2l0c19tYXhfaW50KHZhbDogc3RyLCBiaXRzX2luX2xpbWI6IGludCkgLT4gaW50OgotICAgICIiIiBSZXR1cm4gdGhlIGZpcnN0IG51bWJlciBleGNlZWRpbmcgbWF4aW11bSAgdGhlIGxpbWIgc3BhY2UKLSAgICByZXF1aXJlZCB0byBzdG9yZSB0aGUgaW5wdXQgaGV4LXN0cmluZyB2YWx1ZS4gVGhpcyBtZXRob2QKLSAgICB3ZWlnaHRzIG9uIHRoZSBpbnB1dCBzdHJfbGVuIHJhdGhlciB0aGFuIG51bWVyaWNhbCB2YWx1ZQotICAgIGFuZCB3b3JrcyB3aXRoIHplcm8tcGFkZGVkIGlucHV0cyIiIgotICAgIG4gPSAoKDEgPDwgKGxlbih2YWwpICogNCkpIC0gMSkKLSAgICBsID0gbGltYnNfbXBpKG4sIGJpdHNfaW5fbGltYikKLSAgICByZXR1cm4gYm91bmRfbXBpX2xpbWJzKGwsIGJpdHNfaW5fbGltYikKLQotZGVmIHpmaWxsX21hdGNoKHJlZmVyZW5jZTogc3RyLCB0YXJnZXQ6IHN0cikgLT4gc3RyOgotICAgICIiIiBaZXJvIHBhZCB0YXJnZXQgaGV4LXN0cmluZyB0byBtYXRjaCB0aGUgbGltYiBzaXplIG9mCi0gICAgdGhlIHJlZmVyZW5jZSBpbnB1dCAiIiIKLSAgICBsdCA9IGxlbih0YXJnZXQpCi0gICAgbHIgPSBsZW4ocmVmZXJlbmNlKQotICAgIHRhcmdldF9sZW4gPSBsciBpZiBsdCA8IGxyIGVsc2UgbHQKLSAgICByZXR1cm4gIns6eH0iLmZvcm1hdChpbnQodGFyZ2V0LCAxNikpLnpmaWxsKHRhcmdldF9sZW4pCi0KLWNsYXNzIE9wZXJhdGlvbkNvbW1vbih0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5CYXNlVGVzdCk6Ci0gICAgIiIiQ29tbW9uIGZlYXR1cmVzIGZvciBiaWdudW0gYmluYXJ5IG9wZXJhdGlvbnMuCi0KLSAgICBUaGlzIGFkZHMgZnVuY3Rpb25hbGl0eSBjb21tb24gaW4gYmluYXJ5IG9wZXJhdGlvbiB0ZXN0cy4KLQotICAgIEF0dHJpYnV0ZXM6Ci0gICAgICAgIHN5bWJvbDogU3ltYm9sIHRvIHVzZSBmb3IgdGhlIG9wZXJhdGlvbiBpbiBjYXNlIGRlc2NyaXB0aW9uLgotICAgICAgICBpbnB1dF92YWx1ZXM6IExpc3Qgb2YgdmFsdWVzIHRvIHVzZSBhcyB0ZXN0IGNhc2UgaW5wdXRzLiBUaGVzZSBhcmUKLSAgICAgICAgICAgIGNvbWJpbmVkIHRvIHByb2R1Y2UgcGFpcnMgb2YgdmFsdWVzLgotICAgICAgICBpbnB1dF9jYXNlczogTGlzdCBvZiB0dXBsZXMgY29udGFpbmluZyBwYWlycyBvZiB0ZXN0IGNhc2UgaW5wdXRzLiBUaGlzCi0gICAgICAgICAgICBjYW4gYmUgdXNlZCB0byBpbXBsZW1lbnQgc3BlY2lmaWMgcGFpcnMgb2YgaW5wdXRzLgotICAgICAgICB1bmlxdWVfY29tYmluYXRpb25zX29ubHk6IEJvb2xlYW4gdG8gc2VsZWN0IGlmIHRlc3QgY2FzZSBjb21iaW5hdGlvbnMKLSAgICAgICAgICAgIG11c3QgYmUgdW5pcXVlLiBJZiBUcnVlLCBvbmx5IEEsQiBvciBCLEEgd291bGQgYmUgaW5jbHVkZWQgYXMgYSB0ZXN0Ci0gICAgICAgICAgICBjYXNlLiBJZiBGYWxzZSwgYm90aCBBLEIgYW5kIEIsQSB3b3VsZCBiZSBpbmNsdWRlZC4KLSAgICAgICAgaW5wdXRfc3R5bGU6IENvbnRyb2xzIHRoZSB3YXkgaG93IHRlc3QgZGF0YSBpcyBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9ucwotICAgICAgICAgICAgaW4gdGhlIGdlbmVyYXRlZCB0ZXN0IGNhc2VzLiAidmFyaWFibGUiIHBhc3NlcyB0aGVtIGFzIHRoZXkgYXJlCi0gICAgICAgICAgICBkZWZpbmVkIGluIHRoZSBweXRob24gc291cmNlLiAiYXJjaF9zcGxpdCIgcGFkcyB0aGUgdmFsdWVzIHdpdGgKLSAgICAgICAgICAgIHplcm9lcyBkZXBlbmRpbmcgb24gdGhlIGFyY2hpdGVjdHVyZS9saW1iIHNpemUuIElmIHRoaXMgaXMgc2V0LAotICAgICAgICAgICAgdGVzdCBjYXNlcyBhcmUgZ2VuZXJhdGVkIGZvciBhbGwgYXJjaGl0ZWN0dXJlcy4KLSAgICAgICAgYXJpdHk6IHRoZSBudW1iZXIgb2Ygb3BlcmFuZHMgZm9yIHRoZSBvcGVyYXRpb24uIEN1cnJlbnRseSBzdXBwb3J0ZWQKLSAgICAgICAgICAgIHZhbHVlcyBhcmUgMSBhbmQgMi4KLSAgICAiIiIKLSAgICBzeW1ib2wgPSAiIgotICAgIGlucHV0X3ZhbHVlcyA9IElOUFVUU19ERUZBVUxUICMgdHlwZTogTGlzdFtzdHJdCi0gICAgaW5wdXRfY2FzZXMgPSBbXSAjIHR5cGU6IExpc3RbQW55XQotICAgIGRlcGVuZGVuY2llcyA9IFtdICMgdHlwZTogTGlzdFtBbnldCi0gICAgdW5pcXVlX2NvbWJpbmF0aW9uc19vbmx5ID0gRmFsc2UKLSAgICBpbnB1dF9zdHlsZXMgPSBbInZhcmlhYmxlIiwgImZpeGVkIiwgImFyY2hfc3BsaXQiXSAjIHR5cGU6IExpc3Rbc3RyXQotICAgIGlucHV0X3N0eWxlID0gInZhcmlhYmxlIiAjIHR5cGU6IHN0cgotICAgIGxpbWJfc2l6ZXMgPSBbMzIsIDY0XSAjIHR5cGU6IExpc3RbaW50XQotICAgIGFyaXRpZXMgPSBbMSwgMl0KLSAgICBhcml0eSA9IDIKLSAgICBzdWZmaXggPSBGYWxzZSAgICMgZm9yIGFyaXR5ID0gMSwgc3ltYm9sIGNhbiBiZSBwcmVmaXggKGRlZmF1bHQpIG9yIHN1ZmZpeAotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbF9hOiBzdHIsIHZhbF9iOiBzdHIgPSAiMCIsIGJpdHNfaW5fbGltYjogaW50ID0gMzIpIC0+IE5vbmU6Ci0gICAgICAgIHNlbGYudmFsX2EgPSB2YWxfYQotICAgICAgICBzZWxmLnZhbF9iID0gdmFsX2IKLSAgICAgICAgIyBTZXR0aW5nIHRoZSBpbnQgdmVyc2lvbnMgaGVyZSBhcyBvcHBvc2VkIHRvIG1ha2luZyB0aGVtIEBwcm9wZXJ0aWVzCi0gICAgICAgICMgcHJvdmlkZXMgZWFybGllci9tb3JlIHJvYnVzdCBpbnB1dCB2YWxpZGF0aW9uLgotICAgICAgICBzZWxmLmludF9hID0gaGV4X3RvX2ludCh2YWxfYSkKLSAgICAgICAgc2VsZi5pbnRfYiA9IGhleF90b19pbnQodmFsX2IpCi0gICAgICAgIHNlbGYuZGVwZW5kZW5jaWVzID0gZGVlcGNvcHkoc2VsZi5kZXBlbmRlbmNpZXMpCi0gICAgICAgIGlmIGJpdHNfaW5fbGltYiBub3QgaW4gc2VsZi5saW1iX3NpemVzOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBudW1iZXIgb2YgYml0cyBpbiBsaW1iISIpCi0gICAgICAgIGlmIHNlbGYuaW5wdXRfc3R5bGUgPT0gImFyY2hfc3BsaXQiOgotICAgICAgICAgICAgc2VsZi5kZXBlbmRlbmNpZXMuYXBwZW5kKCJNQkVEVExTX0hBVkVfSU5UezpkfSIuZm9ybWF0KGJpdHNfaW5fbGltYikpCi0gICAgICAgIHNlbGYuYml0c19pbl9saW1iID0gYml0c19pbl9saW1iCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYm91bmRhcnkoc2VsZikgLT4gaW50OgotICAgICAgICBpZiBzZWxmLmFyaXR5ID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5pbnRfYQotICAgICAgICBlbGlmIHNlbGYuYXJpdHkgPT0gMjoKLSAgICAgICAgICAgIHJldHVybiBtYXgoc2VsZi5pbnRfYSwgc2VsZi5pbnRfYikKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5zdXBwb3J0ZWQgbnVtYmVyIG9mIG9wZXJhbmRzISIpCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgbGltYl9ib3VuZGFyeShzZWxmKSAtPiBpbnQ6Ci0gICAgICAgIHJldHVybiBib3VuZF9tcGkoc2VsZi5ib3VuZGFyeSwgc2VsZi5iaXRzX2luX2xpbWIpCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgbGltYnMoc2VsZikgLT4gaW50OgotICAgICAgICByZXR1cm4gbGltYnNfbXBpKHNlbGYuYm91bmRhcnksIHNlbGYuYml0c19pbl9saW1iKQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGhleF9kaWdpdHMoc2VsZikgLT4gaW50OgotICAgICAgICByZXR1cm4gaGV4X2RpZ2l0c19mb3JfbGltYihzZWxmLmxpbWJzLCBzZWxmLmJpdHNfaW5fbGltYikKLQotICAgIGRlZiBmb3JtYXRfYXJnKHNlbGYsIHZhbDogc3RyKSAtPiBzdHI6Ci0gICAgICAgIGlmIHNlbGYuaW5wdXRfc3R5bGUgbm90IGluIHNlbGYuaW5wdXRfc3R5bGVzOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5rbm93biBpbnB1dCBzdHlsZSEiKQotICAgICAgICBpZiBzZWxmLmlucHV0X3N0eWxlID09ICJ2YXJpYWJsZSI6Ci0gICAgICAgICAgICByZXR1cm4gdmFsCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gdmFsLnpmaWxsKHNlbGYuaGV4X2RpZ2l0cykKLQotICAgIGRlZiBmb3JtYXRfcmVzdWx0KHNlbGYsIHJlczogaW50KSAtPiBzdHI6Ci0gICAgICAgIHJlc19zdHIgPSAnezp4fScuZm9ybWF0KHJlcykKLSAgICAgICAgcmV0dXJuIHF1b3RlX3N0cihzZWxmLmZvcm1hdF9hcmcocmVzX3N0cikpCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Eoc2VsZikgLT4gc3RyOgotICAgICAgICByZXR1cm4gc2VsZi5mb3JtYXRfYXJnKHNlbGYudmFsX2EpCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Ioc2VsZikgLT4gc3RyOgotICAgICAgICBpZiBzZWxmLmFyaXR5ID09IDE6Ci0gICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiT3BlcmF0aW9uIGlzIHVuYXJ5IGFuZCBkb2Vzbid0IGhhdmUgYXJnX2IhIikKLSAgICAgICAgcmV0dXJuIHNlbGYuZm9ybWF0X2FyZyhzZWxmLnZhbF9iKQotCi0gICAgZGVmIGFyZ3VtZW50cyhzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIGFyZ3MgPSBbcXVvdGVfc3RyKHNlbGYuYXJnX2EpXQotICAgICAgICBpZiBzZWxmLmFyaXR5ID09IDI6Ci0gICAgICAgICAgICBhcmdzLmFwcGVuZChxdW90ZV9zdHIoc2VsZi5hcmdfYikpCi0gICAgICAgIHJldHVybiBhcmdzICsgc2VsZi5yZXN1bHQoKQotCi0gICAgZGVmIGRlc2NyaXB0aW9uKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgIiIiR2VuZXJhdGUgYSBkZXNjcmlwdGlvbiBmb3IgdGhlIHRlc3QgY2FzZS4KLQotICAgICAgICBJZiBub3Qgc2V0LCBjYXNlX2Rlc2NyaXB0aW9uIHVzZXMgdGhlIGZvcm0gQSBgc3ltYm9sYCBCLCB3aGVyZSBzeW1ib2wKLSAgICAgICAgaXMgdXNlZCB0byByZXByZXNlbnQgdGhlIG9wZXJhdGlvbi4gRGVzY3JpcHRpb25zIG9mIGVhY2ggdmFsdWUgYXJlCi0gICAgICAgIGdlbmVyYXRlZCB0byBwcm92aWRlIHNvbWUgY29udGV4dCB0byB0aGUgdGVzdCBjYXNlLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgbm90IHNlbGYuY2FzZV9kZXNjcmlwdGlvbjoKLSAgICAgICAgICAgIGlmIHNlbGYuYXJpdHkgPT0gMToKLSAgICAgICAgICAgICAgICBmb3JtYXRfc3RyaW5nID0gInsxOnh9IHswfSIgaWYgc2VsZi5zdWZmaXggZWxzZSAiezB9IHsxOnh9IgotICAgICAgICAgICAgICAgIHNlbGYuY2FzZV9kZXNjcmlwdGlvbiA9IGZvcm1hdF9zdHJpbmcuZm9ybWF0KAotICAgICAgICAgICAgICAgICAgICBzZWxmLnN5bWJvbCwgc2VsZi5pbnRfYQotICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgIGVsaWYgc2VsZi5hcml0eSA9PSAyOgotICAgICAgICAgICAgICAgIHNlbGYuY2FzZV9kZXNjcmlwdGlvbiA9ICJ7Onh9IHt9IHs6eH0iLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5pbnRfYSwgc2VsZi5zeW1ib2wsIHNlbGYuaW50X2IKLSAgICAgICAgICAgICAgICApCi0gICAgICAgIHJldHVybiBzdXBlcigpLmRlc2NyaXB0aW9uKCkKLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBpc192YWxpZChzZWxmKSAtPiBib29sOgotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgQGFic3RyYWN0bWV0aG9kCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgICIiIkdldCB0aGUgcmVzdWx0IG9mIHRoZSBvcGVyYXRpb24uCi0KLSAgICAgICAgVGhpcyBjb3VsZCBiZSBjYWxjdWxhdGVkIGR1cmluZyBpbml0aWFsaXphdGlvbiBhbmQgc3RvcmVkIGFzIGBfcmVzdWx0YAotICAgICAgICBhbmQgdGhlbiByZXR1cm5lZCwgb3IgY2FsY3VsYXRlZCB3aGVuIHRoZSBtZXRob2QgaXMgY2FsbGVkLgotICAgICAgICAiIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGdldF92YWx1ZV9wYWlycyhjbHMpIC0+IEl0ZXJhdG9yW1R1cGxlW3N0ciwgc3RyXV06Ci0gICAgICAgICIiIkdlbmVyYXRvciB0byB5aWVsZCBwYWlycyBvZiBpbnB1dHMuCi0KLSAgICAgICAgQ29tYmluYXRpb25zIGFyZSBmaXJzdCBnZW5lcmF0ZWQgZnJvbSBhbGwgaW5wdXQgdmFsdWVzLCBhbmQgdGhlbgotICAgICAgICBzcGVjaWZpYyBjYXNlcyBwcm92aWRlZC4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIGNscy5hcml0eSA9PSAxOgotICAgICAgICAgICAgeWllbGQgZnJvbSAoKGEsICIwIikgZm9yIGEgaW4gY2xzLmlucHV0X3ZhbHVlcykKLSAgICAgICAgZWxpZiBjbHMuYXJpdHkgPT0gMjoKLSAgICAgICAgICAgIGlmIGNscy51bmlxdWVfY29tYmluYXRpb25zX29ubHk6Ci0gICAgICAgICAgICAgICAgeWllbGQgZnJvbSBjb21iaW5hdGlvbl9wYWlycyhjbHMuaW5wdXRfdmFsdWVzKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB5aWVsZCBmcm9tICgKLSAgICAgICAgICAgICAgICAgICAgKGEsIGIpCi0gICAgICAgICAgICAgICAgICAgIGZvciBhIGluIGNscy5pbnB1dF92YWx1ZXMKLSAgICAgICAgICAgICAgICAgICAgZm9yIGIgaW4gY2xzLmlucHV0X3ZhbHVlcwotICAgICAgICAgICAgICAgICkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVuc3VwcG9ydGVkIG51bWJlciBvZiBvcGVyYW5kcyEiKQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGdlbmVyYXRlX2Z1bmN0aW9uX3Rlc3RzKGNscykgLT4gSXRlcmF0b3JbdGVzdF9jYXNlLlRlc3RDYXNlXToKLSAgICAgICAgaWYgY2xzLmlucHV0X3N0eWxlIG5vdCBpbiBjbHMuaW5wdXRfc3R5bGVzOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5rbm93biBpbnB1dCBzdHlsZSEiKQotICAgICAgICBpZiBjbHMuYXJpdHkgbm90IGluIGNscy5hcml0aWVzOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5zdXBwb3J0ZWQgbnVtYmVyIG9mIG9wZXJhbmRzISIpCi0gICAgICAgIGlmIGNscy5pbnB1dF9zdHlsZSA9PSAiYXJjaF9zcGxpdCI6Ci0gICAgICAgICAgICB0ZXN0X29iamVjdHMgPSAoY2xzKGEsIGIsIGJpdHNfaW5fbGltYj1iaWwpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGEsIGIgaW4gY2xzLmdldF92YWx1ZV9wYWlycygpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGJpbCBpbiBjbHMubGltYl9zaXplcykKLSAgICAgICAgICAgIHNwZWNpYWxfY2FzZXMgPSAoY2xzKCphcmdzLCBiaXRzX2luX2xpbWI9YmlsKSAjIHR5cGU6IGlnbm9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXJncyBpbiBjbHMuaW5wdXRfY2FzZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGJpbCBpbiBjbHMubGltYl9zaXplcykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHRlc3Rfb2JqZWN0cyA9IChjbHMoYSwgYikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYSwgYiBpbiBjbHMuZ2V0X3ZhbHVlX3BhaXJzKCkpCi0gICAgICAgICAgICBzcGVjaWFsX2Nhc2VzID0gKGNscygqYXJncykgZm9yIGFyZ3MgaW4gY2xzLmlucHV0X2Nhc2VzKQotICAgICAgICB5aWVsZCBmcm9tICh2YWxpZF90ZXN0X29iamVjdC5jcmVhdGVfdGVzdF9jYXNlKCkKLSAgICAgICAgICAgICAgICAgICAgZm9yIHZhbGlkX3Rlc3Rfb2JqZWN0IGluIGZpbHRlcigKLSAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSB0ZXN0X29iamVjdDogdGVzdF9vYmplY3QuaXNfdmFsaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICBjaGFpbih0ZXN0X29iamVjdHMsIHNwZWNpYWxfY2FzZXMpCi0gICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICAgICAgICAgICkKLQotCi1jbGFzcyBNb2R1bHVzUmVwcmVzZW50YXRpb24oZW51bS5FbnVtKToKLSAgICAiIiJSZXByZXNlbnRhdGlvbiBzZWxlY3RvciBvZiBhIG1vZHVsdXMuIiIiCi0gICAgIyBOdW1lcmljYWwgdmFsdWVzIGFsaWduZWQgd2l0aCB0aGUgdHlwZSBtYmVkdGxzX21waV9tb2RfcmVwX3NlbGVjdG9yCi0gICAgSU5WQUxJRCA9IDAKLSAgICBNT05UR09NRVJZID0gMgotICAgIE9QVF9SRUQgPSAzCi0KLSAgICBkZWYgc3ltYm9sKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgIiIiVGhlIEMgc3ltYm9sIGZvciB0aGlzIHJlcHJlc2VudGF0aW9uIHNlbGVjdG9yLiIiIgotICAgICAgICByZXR1cm4gJ01CRURUTFNfTVBJX01PRF9SRVBfJyArIHNlbGYubmFtZQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHN1cHBvcnRlZF9yZXByZXNlbnRhdGlvbnMoY2xzKSAtPiBMaXN0WydNb2R1bHVzUmVwcmVzZW50YXRpb24nXToKLSAgICAgICAgIiIiUmV0dXJuIGFsbCByZXByZXNlbnRhdGlvbnMgdGhhdCBhcmUgc3VwcG9ydGVkIGluIHBvc2l0aXZlIHRlc3QgY2FzZXMuIiIiCi0gICAgICAgIHJldHVybiBbY2xzLk1PTlRHT01FUlksIGNscy5PUFRfUkVEXQotCi0KLWNsYXNzIE1vZE9wZXJhdGlvbkNvbW1vbihPcGVyYXRpb25Db21tb24pOgotICAgICNweWxpbnQ6IGRpc2FibGU9YWJzdHJhY3QtbWV0aG9kCi0gICAgIiIiVGFyZ2V0IGZvciBiaWdudW0gbW9kX3JhdyB0ZXN0IGNhc2UgZ2VuZXJhdGlvbi4iIiIKLSAgICBtb2R1bGkgPSBNT0RVTElfREVGQVVMVCAjIHR5cGU6IExpc3Rbc3RyXQotICAgIG1vbnRnb21lcnlfZm9ybV9hID0gRmFsc2UKLSAgICBkaXNhbGxvd196ZXJvX2EgPSBGYWxzZQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbF9uOiBzdHIsIHZhbF9hOiBzdHIsIHZhbF9iOiBzdHIgPSAiMCIsCi0gICAgICAgICAgICAgICAgIGJpdHNfaW5fbGltYjogaW50ID0gNjQpIC0+IE5vbmU6Ci0gICAgICAgIHN1cGVyKCkuX19pbml0X18odmFsX2E9dmFsX2EsIHZhbF9iPXZhbF9iLCBiaXRzX2luX2xpbWI9Yml0c19pbl9saW1iKQotICAgICAgICBzZWxmLnZhbF9uID0gdmFsX24KLSAgICAgICAgIyBTZXR0aW5nIHRoZSBpbnQgdmVyc2lvbnMgaGVyZSBhcyBvcHBvc2VkIHRvIG1ha2luZyB0aGVtIEBwcm9wZXJ0aWVzCi0gICAgICAgICMgcHJvdmlkZXMgZWFybGllci9tb3JlIHJvYnVzdCBpbnB1dCB2YWxpZGF0aW9uLgotICAgICAgICBzZWxmLmludF9uID0gaGV4X3RvX2ludCh2YWxfbikKLQotICAgIGRlZiB0b19tb250Z29tZXJ5KHNlbGYsIHZhbDogaW50KSAtPiBpbnQ6Ci0gICAgICAgIHJldHVybiAodmFsICogc2VsZi5yKSAlIHNlbGYuaW50X24KLQotICAgIGRlZiBmcm9tX21vbnRnb21lcnkoc2VsZiwgdmFsOiBpbnQpIC0+IGludDoKLSAgICAgICAgcmV0dXJuICh2YWwgKiBzZWxmLnJfaW52KSAlIHNlbGYuaW50X24KLQotICAgIGRlZiBjb252ZXJ0X2Zyb21fY2Fub25pY2FsKHNlbGYsIGNhbm9uaWNhbDogaW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcDogTW9kdWx1c1JlcHJlc2VudGF0aW9uKSAtPiBpbnQ6Ci0gICAgICAgICIiIkNvbnZlcnQgdmFsdWVzIGZyb20gY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIHRvIHRoZSBnaXZlbiByZXByZXNlbnRhdGlvbi4iIiIKLSAgICAgICAgaWYgcmVwIGlzIE1vZHVsdXNSZXByZXNlbnRhdGlvbi5NT05UR09NRVJZOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYudG9fbW9udGdvbWVyeShjYW5vbmljYWwpCi0gICAgICAgIGVsaWYgcmVwIGlzIE1vZHVsdXNSZXByZXNlbnRhdGlvbi5PUFRfUkVEOgotICAgICAgICAgICAgcmV0dXJuIGNhbm9uaWNhbAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignTW9kdWx1cyByZXByZXNlbnRhdGlvbiBub3Qgc3VwcG9ydGVkOiB7fScKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChyZXAubmFtZSkpCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYm91bmRhcnkoc2VsZikgLT4gaW50OgotICAgICAgICByZXR1cm4gc2VsZi5pbnRfbgotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGFyZ19hKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgaWYgc2VsZi5tb250Z29tZXJ5X2Zvcm1fYToKLSAgICAgICAgICAgIHZhbHVlX2EgPSBzZWxmLnRvX21vbnRnb21lcnkoc2VsZi5pbnRfYSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHZhbHVlX2EgPSBzZWxmLmludF9hCi0gICAgICAgIHJldHVybiBzZWxmLmZvcm1hdF9hcmcoJ3s6eH0nLmZvcm1hdCh2YWx1ZV9hKSkKLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBhcmdfbihzZWxmKSAtPiBzdHI6Ci0gICAgICAgIHJldHVybiBzZWxmLmZvcm1hdF9hcmcoc2VsZi52YWxfbikKLQotICAgIGRlZiBmb3JtYXRfYXJnKHNlbGYsIHZhbDogc3RyKSAtPiBzdHI6Ci0gICAgICAgIHJldHVybiBzdXBlcigpLmZvcm1hdF9hcmcodmFsKS56ZmlsbChzZWxmLmhleF9kaWdpdHMpCi0KLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmV0dXJuIFtxdW90ZV9zdHIoc2VsZi5hcmdfbildICsgc3VwZXIoKS5hcmd1bWVudHMoKQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIHIoc2VsZikgLT4gaW50OiAjIHB5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUKLSAgICAgICAgbCA9IGxpbWJzX21waShzZWxmLmludF9uLCBzZWxmLmJpdHNfaW5fbGltYikKLSAgICAgICAgcmV0dXJuIGJvdW5kX21waV9saW1icyhsLCBzZWxmLmJpdHNfaW5fbGltYikKLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiByX2ludihzZWxmKSAtPiBpbnQ6Ci0gICAgICAgIHJldHVybiBpbnZtb2Qoc2VsZi5yLCBzZWxmLmludF9uKQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIHIyKHNlbGYpIC0+IGludDogIyBweWxpbnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lCi0gICAgICAgIHJldHVybiBwb3coc2VsZi5yLCAyKQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGlzX3ZhbGlkKHNlbGYpIC0+IGJvb2w6Ci0gICAgICAgIGlmIHNlbGYuaW50X2EgPj0gc2VsZi5pbnRfbjoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBpZiBzZWxmLmRpc2FsbG93X3plcm9fYSBhbmQgc2VsZi5pbnRfYSA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGlmIHNlbGYuYXJpdHkgPT0gMiBhbmQgc2VsZi5pbnRfYiA+PSBzZWxmLmludF9uOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBUcnVlCi0KLSAgICBkZWYgZGVzY3JpcHRpb24oc2VsZikgLT4gc3RyOgotICAgICAgICAiIiJHZW5lcmF0ZSBhIGRlc2NyaXB0aW9uIGZvciB0aGUgdGVzdCBjYXNlLgotCi0gICAgICAgIEl0IHVzZXMgdGhlIGZvcm0gQSBgc3ltYm9sYCBCIG1vZCBOLCB3aGVyZSBzeW1ib2wgaXMgdXNlZCB0byByZXByZXNlbnQKLSAgICAgICAgdGhlIG9wZXJhdGlvbi4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgaWYgbm90IHNlbGYuY2FzZV9kZXNjcmlwdGlvbjoKLSAgICAgICAgICAgIHJldHVybiBzdXBlcigpLmRlc2NyaXB0aW9uKCkgKyAiIG1vZCB7Onh9Ii5mb3JtYXQoc2VsZi5pbnRfbikKLSAgICAgICAgcmV0dXJuIHN1cGVyKCkuZGVzY3JpcHRpb24oKQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGlucHV0X2Nhc2VzX2FyZ3MoY2xzKSAtPiBJdGVyYXRvcltUdXBsZVtBbnksIEFueSwgQW55XV06Ci0gICAgICAgIGlmIGNscy5hcml0eSA9PSAxOgotICAgICAgICAgICAgeWllbGQgZnJvbSAoKG4sIGEsICIwIikgZm9yIGEsIG4gaW4gY2xzLmlucHV0X2Nhc2VzKQotICAgICAgICBlbGlmIGNscy5hcml0eSA9PSAyOgotICAgICAgICAgICAgeWllbGQgZnJvbSAoKG4sIGEsIGIpIGZvciBhLCBiLCBuIGluIGNscy5pbnB1dF9jYXNlcykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVuc3VwcG9ydGVkIG51bWJlciBvZiBvcGVyYW5kcyEiKQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGdlbmVyYXRlX2Z1bmN0aW9uX3Rlc3RzKGNscykgLT4gSXRlcmF0b3JbdGVzdF9jYXNlLlRlc3RDYXNlXToKLSAgICAgICAgaWYgY2xzLmlucHV0X3N0eWxlIG5vdCBpbiBjbHMuaW5wdXRfc3R5bGVzOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5rbm93biBpbnB1dCBzdHlsZSEiKQotICAgICAgICBpZiBjbHMuYXJpdHkgbm90IGluIGNscy5hcml0aWVzOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5zdXBwb3J0ZWQgbnVtYmVyIG9mIG9wZXJhbmRzISIpCi0gICAgICAgIGlmIGNscy5pbnB1dF9zdHlsZSA9PSAiYXJjaF9zcGxpdCI6Ci0gICAgICAgICAgICB0ZXN0X29iamVjdHMgPSAoY2xzKG4sIGEsIGIsIGJpdHNfaW5fbGltYj1iaWwpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG4gaW4gY2xzLm1vZHVsaQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBhLCBiIGluIGNscy5nZXRfdmFsdWVfcGFpcnMoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBiaWwgaW4gY2xzLmxpbWJfc2l6ZXMpCi0gICAgICAgICAgICBzcGVjaWFsX2Nhc2VzID0gKGNscygqYXJncywgYml0c19pbl9saW1iPWJpbCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGFyZ3MgaW4gY2xzLmlucHV0X2Nhc2VzX2FyZ3MoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYmlsIGluIGNscy5saW1iX3NpemVzKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgdGVzdF9vYmplY3RzID0gKGNscyhuLCBhLCBiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBuIGluIGNscy5tb2R1bGkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYSwgYiBpbiBjbHMuZ2V0X3ZhbHVlX3BhaXJzKCkpCi0gICAgICAgICAgICBzcGVjaWFsX2Nhc2VzID0gKGNscygqYXJncykgZm9yIGFyZ3MgaW4gY2xzLmlucHV0X2Nhc2VzX2FyZ3MoKSkKLSAgICAgICAgeWllbGQgZnJvbSAodmFsaWRfdGVzdF9vYmplY3QuY3JlYXRlX3Rlc3RfY2FzZSgpCi0gICAgICAgICAgICAgICAgICAgIGZvciB2YWxpZF90ZXN0X29iamVjdCBpbiBmaWx0ZXIoCi0gICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgdGVzdF9vYmplY3Q6IHRlc3Rfb2JqZWN0LmlzX3ZhbGlkLAotICAgICAgICAgICAgICAgICAgICAgICAgY2hhaW4odGVzdF9vYmplY3RzLCBzcGVjaWFsX2Nhc2VzKQotICAgICAgICAgICAgICAgICAgICAgICAgKSkKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX2NvcmUucHkgYi9zY3JpcHRzL21iZWR0bHNfZGV2L2JpZ251bV9jb3JlLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDlmNmEzLi4wMDAwMDAwCi0tLSBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX2NvcmUucHkKKysrIC9kZXYvbnVsbApAQCAtMSw4OTYgKzAsMCBAQAotIiIiRnJhbWV3b3JrIGNsYXNzZXMgZm9yIGdlbmVyYXRpb24gb2YgYmlnbnVtIGNvcmUgdGVzdCBjYXNlcy4iIiIKLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotIwotCi1pbXBvcnQgcmFuZG9tCi0KLWZyb20gdHlwaW5nIGltcG9ydCBEaWN0LCBJdGVyYXRvciwgTGlzdCwgVHVwbGUKLQotZnJvbSAuIGltcG9ydCB0ZXN0X2Nhc2UKLWZyb20gLiBpbXBvcnQgdGVzdF9kYXRhX2dlbmVyYXRpb24KLWZyb20gLiBpbXBvcnQgYmlnbnVtX2NvbW1vbgotZnJvbSAuYmlnbnVtX2RhdGEgaW1wb3J0IEFERF9TVUJfREFUQQotCi1jbGFzcyBCaWdudW1Db3JlVGFyZ2V0KHRlc3RfZGF0YV9nZW5lcmF0aW9uLkJhc2VUYXJnZXQpOgotICAgICNweWxpbnQ6IGRpc2FibGU9YWJzdHJhY3QtbWV0aG9kLCB0b28tZmV3LXB1YmxpYy1tZXRob2RzCi0gICAgIiIiVGFyZ2V0IGZvciBiaWdudW0gY29yZSB0ZXN0IGNhc2UgZ2VuZXJhdGlvbi4iIiIKLSAgICB0YXJnZXRfYmFzZW5hbWUgPSAndGVzdF9zdWl0ZV9iaWdudW1fY29yZS5nZW5lcmF0ZWQnCi0KLQotY2xhc3MgQmlnbnVtQ29yZVNoaWZ0UihCaWdudW1Db3JlVGFyZ2V0LCB0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5CYXNlVGVzdCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgbWJlZHRsc19iaWdudW1fY29yZV9zaGlmdF9yKCkuIiIiCi0gICAgY291bnQgPSAwCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY29yZV9zaGlmdF9yIgotICAgIHRlc3RfbmFtZSA9ICJDb3JlIHNoaWZ0IHJpZ2h0IgotCi0gICAgREFUQSA9IFsKLSAgICAgICAgKCcwMCcsICcwJywgWzAsIDEsIDhdKSwKLSAgICAgICAgKCcwMScsICcxJywgWzAsIDEsIDIsIDgsIDY0XSksCi0gICAgICAgICgnZGVlNWNhMWE3ZWYxMGE3NScsICc2NC1iaXQnLAotICAgICAgICAgbGlzdChyYW5nZSgxMSkpICsgWzMxLCAzMiwgMzMsIDYzLCA2NCwgNjUsIDcxLCA3Ml0pLAotICAgICAgICAoJzAwMmU3YWIwMDcwYWQ1NzAwMScsICdbbGVhZGluZyAwIGxpbWJdJywKLSAgICAgICAgIFswLCAxLCA4LCA2MywgNjRdKSwKLSAgICAgICAgKCdhMTA1NWViMGJiMWVmYTExNTBmZicsICc4MC1iaXQnLAotICAgICAgICAgWzAsIDEsIDgsIDYzLCA2NCwgNjUsIDcyLCA3OSwgODAsIDgxLCA4OCwgMTI4LCAxMjksIDEzNl0pLAotICAgICAgICAoJzAyMDEwMDAwMDAwMDAwMDAwMDAwMTAxMTEyMTMxNDE1MTYxNycsICcxMzgtYml0JywKLSAgICAgICAgIFswLCAxLCA4LCA5LCAxNiwgNzIsIDczLCAxMzYsIDEzNywgMTM4LCAxNDRdKSwKLSAgICBdCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgaW5wdXRfaGV4OiBzdHIsIGRlc2NyOiBzdHIsIGNvdW50OiBpbnQpIC0+IE5vbmU6Ci0gICAgICAgIHNlbGYuaW5wdXRfaGV4ID0gaW5wdXRfaGV4Ci0gICAgICAgIHNlbGYubnVtYmVyX2Rlc2NyaXB0aW9uID0gZGVzY3IKLSAgICAgICAgc2VsZi5zaGlmdF9jb3VudCA9IGNvdW50Ci0gICAgICAgIHNlbGYucmVzdWx0ID0gYmlnbnVtX2NvbW1vbi5oZXhfdG9faW50KGlucHV0X2hleCkgPj4gY291bnQKLQotICAgIGRlZiBhcmd1bWVudHMoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICByZXR1cm4gWycie30iJy5mb3JtYXQoc2VsZi5pbnB1dF9oZXgpLAotICAgICAgICAgICAgICAgIHN0cihzZWxmLnNoaWZ0X2NvdW50KSwKLSAgICAgICAgICAgICAgICAnIns6MHt9eH0iJy5mb3JtYXQoc2VsZi5yZXN1bHQsIGxlbihzZWxmLmlucHV0X2hleCkpXQotCi0gICAgZGVmIGRlc2NyaXB0aW9uKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgcmV0dXJuICdDb3JlIHNoaWZ0IHt9ID4+IHt9Jy5mb3JtYXQoc2VsZi5udW1iZXJfZGVzY3JpcHRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2hpZnRfY291bnQpCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgZ2VuZXJhdGVfZnVuY3Rpb25fdGVzdHMoY2xzKSAtPiBJdGVyYXRvclt0ZXN0X2Nhc2UuVGVzdENhc2VdOgotICAgICAgICBmb3IgaW5wdXRfaGV4LCBkZXNjciwgY291bnRzIGluIGNscy5EQVRBOgotICAgICAgICAgICAgZm9yIGNvdW50IGluIGNvdW50czoKLSAgICAgICAgICAgICAgICB5aWVsZCBjbHMoaW5wdXRfaGV4LCBkZXNjciwgY291bnQpLmNyZWF0ZV90ZXN0X2Nhc2UoKQotCi0KLWNsYXNzIEJpZ251bUNvcmVTaGlmdEwoQmlnbnVtQ29yZVRhcmdldCwgYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24pOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIG1iZWR0bHNfYmlnbnVtX2NvcmVfc2hpZnRfbCgpLiIiIgotCi0gICAgQklUX1NISUZUX1ZBTFVFUyA9IFsnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsICdhJywKLSAgICAgICAgICAgICAgICAgICAgICAgICcxZicsICcyMCcsICcyMScsICczZicsICc0MCcsICc0MScsICc0NycsICc0OCcsICc0ZicsCi0gICAgICAgICAgICAgICAgICAgICAgICAnNTAnLCAnNTEnLCAnNTgnLCAnODAnLCAnODEnLCAnODgnXQotICAgIERBVEEgPSBbIjAiLCAiMSIsICI0MCIsICJkZWU1Y2ExYTdlZjEwYTc1IiwgImExMDU1ZWIwYmIxZWZhMTE1MGZmIiwKLSAgICAgICAgICAgICIwMDJlN2FiMDA3MGFkNTcwMDEiLCAiMDIwMTAwMDAwMDAwMDAwMDAwMDAxMDExMTIxMzE0MTUxNjE3IiwKLSAgICAgICAgICAgICIxOTQ2ZTI5NThhODVkODg2M2FlMjFmNDkwNGZjYzQ5NDc4NDEyNTM0ZWQ1M2VhZjMyMWY2M2YyYTIyMiIKLSAgICAgICAgICAgICI3YTNjNjNhY2JmNTBiNjMwNTU5NWY5MGNmYTgzMjdmNmRiODBkOTg2ZmU5NjA4MGJjYmI1ZGYxYmRiZSIKLSAgICAgICAgICAgICI5Yjc0ZmI4ZGVkZjJiZGRiM2Y4MjE1YjU0ZGZmZDY2NDA5MzIzYmNjNDczZTQ1YThmZTlkMDhlNzdhNTEiCi0gICAgICAgICAgICAiMTY5OGI1ZGFkMDQxNjMwNWRiN2ZjZiJdCi0gICAgYXJpdHkgPSAxCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY29yZV9zaGlmdF9sIgotICAgIHRlc3RfbmFtZSA9ICJDb3JlIHNoaWZ0KEwpIgotICAgIGlucHV0X3N0eWxlID0gImFyY2hfc3BsaXQiCi0gICAgc3ltYm9sID0gIjw8IgotICAgIGlucHV0X3ZhbHVlcyA9IEJJVF9TSElGVF9WQUxVRVMKLSAgICBtb2R1bGkgPSBEQVRBCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgdmFsX25fbWF4X2xpbWJzKHNlbGYpIC0+IGludDoKLSAgICAgICAgIiIiIFJldHVybiB0aGUgbGltYiBjb3VudCByZXF1aXJlZCB0byBzdG9yZSB0aGUgbWF4aW11bSBudW1iZXIgdGhhdCBjYW4KLSAgICAgICAgZml0IGluIGEgdGhlIG51bWJlciBvZiBkaWdpdHMgdXNlZCBieSB2YWxfbiAiIiIKLSAgICAgICAgbSA9IGJpZ251bV9jb21tb24uaGV4X2RpZ2l0c19tYXhfaW50KHNlbGYudmFsX24sIHNlbGYuYml0c19pbl9saW1iKSAtIDEKLSAgICAgICAgcmV0dXJuIGJpZ251bV9jb21tb24ubGltYnNfbXBpKG0sIHNlbGYuYml0c19pbl9saW1iKQotCi0gICAgZGVmIGFyZ3VtZW50cyhzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJldHVybiBbYmlnbnVtX2NvbW1vbi5xdW90ZV9zdHIoc2VsZi52YWxfbiksCi0gICAgICAgICAgICAgICAgc3RyKHNlbGYuaW50X2EpCi0gICAgICAgICAgICAgICAgXSArIHNlbGYucmVzdWx0KCkKLQotICAgIGRlZiBkZXNjcmlwdGlvbihzZWxmKSAtPiBzdHI6Ci0gICAgICAgICIiIiBGb3JtYXQgdGhlIG91dHB1dCBhczoKLSAgICAgICAgI3tjb3VudH0ge2hleCBpbnB1dH0gKHtpbnB1dCBiaXRzfSB7bGltYnMgY2FwYWNpdHl9KSA8PCB7Yml0IHNoaWZ0fSAiIiIKLSAgICAgICAgYml0cyA9ICIoe30gYml0cyBpbiB7fSBsaW1icykiLmZvcm1hdChzZWxmLmludF9uLmJpdF9sZW5ndGgoKSwgc2VsZi52YWxfbl9tYXhfbGltYnMpCi0gICAgICAgIHJldHVybiAie30gI3t9IHt9IHt9IHt9IHt9Ii5mb3JtYXQoc2VsZi50ZXN0X25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnZhbF9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zeW1ib2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbnRfYSkKLQotICAgIGRlZiBmb3JtYXRfcmVzdWx0KHNlbGYsIHJlczogaW50KSAtPiBzdHI6Ci0gICAgICAgICMgT3ZlcnJpZGUgdG8gbWF0Y2ggemVyby1wYWRpbmcgZm9yIGxlYWRpbmcgZGlnaXRzIGJldHdlZW4gdGhlIG91dHB1dCBhbmQgaW5wdXQuCi0gICAgICAgIHJlc19zdHIgPSBiaWdudW1fY29tbW9uLnpmaWxsX21hdGNoKHNlbGYudmFsX24sICJ7Onh9Ii5mb3JtYXQocmVzKSkKLSAgICAgICAgcmV0dXJuIGJpZ251bV9jb21tb24ucXVvdGVfc3RyKHJlc19zdHIpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gKHNlbGYuaW50X24gPDwgc2VsZi5pbnRfYSkKLSAgICAgICAgIyBDYWxjdWxhdGUgaWYgdGhlcmUgaXMgc3BhY2UgZm9yIHNoaWZ0aW5nIHRvIHRoZSBsZWZ0KGxlYWRpbmcgemVybyBsaW1icykKLSAgICAgICAgbXggPSBiaWdudW1fY29tbW9uLmhleF9kaWdpdHNfbWF4X2ludChzZWxmLnZhbF9uLCBzZWxmLmJpdHNfaW5fbGltYikKLSAgICAgICAgIyBJZiB0aGVyZSBhcmUgZW1wdHkgbGltYnMgYWhlYWQsIGFkanVzdCB0aGUgYml0bWFzayBhY2NvcmRpbmdseQotICAgICAgICByZXN1bHQgPSByZXN1bHQgJiAobXggLSAxKQotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChyZXN1bHQpXQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGlzX3ZhbGlkKHNlbGYpIC0+IGJvb2w6Ci0gICAgICAgIHJldHVybiBUcnVlCi0KLQotY2xhc3MgQmlnbnVtQ29yZUNUTG9va3VwKEJpZ251bUNvcmVUYXJnZXQsIHRlc3RfZGF0YV9nZW5lcmF0aW9uLkJhc2VUZXN0KToKLSAgICAiIiJUZXN0IGNhc2VzIGZvciBtYmVkdGxzX21waV9jb3JlX2N0X3VpbnRfdGFibGVfbG9va3VwKCkuIiIiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY29yZV9jdF91aW50X3RhYmxlX2xvb2t1cCIKLSAgICB0ZXN0X25hbWUgPSAiQ29uc3RhbnQgdGltZSBNUEkgdGFibGUgbG9va3VwIgotCi0gICAgYml0c2l6ZXMgPSBbCi0gICAgICAgICgzMiwgIk9uZSBsaW1iIiksCi0gICAgICAgICgxOTIsICJTbWFsbGVzdCBjdXJ2ZSBzaXplZCIpLAotICAgICAgICAoNTEyLCAiTGFyZ2VzdCBjdXJ2ZSBzaXplZCIpLAotICAgICAgICAoMjA0OCwgIlNtYWxsIEZGL1JTQSBzaXplZCIpLAotICAgICAgICAoNDA5NiwgIkxhcmdlIEZGL1JTQSBzaXplZCIpLAotICAgICAgICBdCi0KLSAgICB3aW5kb3dfc2l6ZXMgPSBbMCwgMSwgMiwgMywgNCwgNSwgNl0KLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLAotICAgICAgICAgICAgICAgICBiaXRzaXplOiBpbnQsIGRlc2NyOiBzdHIsIHdpbmRvd19zaXplOiBpbnQpIC0+IE5vbmU6Ci0gICAgICAgIHNlbGYuYml0c2l6ZSA9IGJpdHNpemUKLSAgICAgICAgc2VsZi5iaXRzaXplX2Rlc2NyaXB0aW9uID0gZGVzY3IKLSAgICAgICAgc2VsZi53aW5kb3dfc2l6ZSA9IHdpbmRvd19zaXplCi0KLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmV0dXJuIFtzdHIoc2VsZi5iaXRzaXplKSwgc3RyKHNlbGYud2luZG93X3NpemUpXQotCi0gICAgZGVmIGRlc2NyaXB0aW9uKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgcmV0dXJuICd7fSAtIHt9IE1QSSB3aXRoIHt9IGJpdCB3aW5kb3cnLmZvcm1hdCgKLSAgICAgICAgICAgIEJpZ251bUNvcmVDVExvb2t1cC50ZXN0X25hbWUsCi0gICAgICAgICAgICBzZWxmLmJpdHNpemVfZGVzY3JpcHRpb24sCi0gICAgICAgICAgICBzZWxmLndpbmRvd19zaXplCi0gICAgICAgICAgICApCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgZ2VuZXJhdGVfZnVuY3Rpb25fdGVzdHMoY2xzKSAtPiBJdGVyYXRvclt0ZXN0X2Nhc2UuVGVzdENhc2VdOgotICAgICAgICBmb3IgYml0c2l6ZSwgYml0c2l6ZV9kZXNjcmlwdGlvbiBpbiBjbHMuYml0c2l6ZXM6Ci0gICAgICAgICAgICBmb3Igd2luZG93X3NpemUgaW4gY2xzLndpbmRvd19zaXplczoKLSAgICAgICAgICAgICAgICB5aWVsZCAoY2xzKGJpdHNpemUsIGJpdHNpemVfZGVzY3JpcHRpb24sIHdpbmRvd19zaXplKQotICAgICAgICAgICAgICAgICAgICAgICAuY3JlYXRlX3Rlc3RfY2FzZSgpKQotCi0KLWNsYXNzIEJpZ251bUNvcmVBZGRBbmRBZGRJZihCaWdudW1Db3JlVGFyZ2V0LCBiaWdudW1fY29tbW9uLk9wZXJhdGlvbkNvbW1vbik6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIGNvcmUgYWRkIGFuZCBhZGQtaWYuIiIiCi0gICAgY291bnQgPSAwCi0gICAgc3ltYm9sID0gIisiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY29yZV9hZGRfYW5kX2FkZF9pZiIKLSAgICB0ZXN0X25hbWUgPSAibXBpX2NvcmVfYWRkX2FuZF9hZGRfaWYiCi0gICAgaW5wdXRfc3R5bGUgPSAiYXJjaF9zcGxpdCIKLSAgICBpbnB1dF92YWx1ZXMgPSBBRERfU1VCX0RBVEEKLSAgICB1bmlxdWVfY29tYmluYXRpb25zX29ubHkgPSBUcnVlCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5pbnRfYSArIHNlbGYuaW50X2IKLQotICAgICAgICBjYXJyeSwgcmVzdWx0ID0gZGl2bW9kKHJlc3VsdCwgc2VsZi5saW1iX2JvdW5kYXJ5KQotCi0gICAgICAgIHJldHVybiBbCi0gICAgICAgICAgICBzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KSwKLSAgICAgICAgICAgIHN0cihjYXJyeSkKLSAgICAgICAgXQotCi0KLWNsYXNzIEJpZ251bUNvcmVTdWIoQmlnbnVtQ29yZVRhcmdldCwgYmlnbnVtX2NvbW1vbi5PcGVyYXRpb25Db21tb24pOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIGJpZ251bSBjb3JlIHN1Yi4iIiIKLSAgICBjb3VudCA9IDAKLSAgICBpbnB1dF9zdHlsZSA9ICJhcmNoX3NwbGl0IgotICAgIHN5bWJvbCA9ICItIgotICAgIHRlc3RfZnVuY3Rpb24gPSAibXBpX2NvcmVfc3ViIgotICAgIHRlc3RfbmFtZSA9ICJtYmVkdGxzX21waV9jb3JlX3N1YiIKLSAgICBpbnB1dF92YWx1ZXMgPSBBRERfU1VCX0RBVEEKLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICBpZiBzZWxmLmludF9hID49IHNlbGYuaW50X2I6Ci0gICAgICAgICAgICByZXN1bHQgPSBzZWxmLmludF9hIC0gc2VsZi5pbnRfYgotICAgICAgICAgICAgY2FycnkgPSAwCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXN1bHQgPSBzZWxmLmxpbWJfYm91bmRhcnkgKyBzZWxmLmludF9hIC0gc2VsZi5pbnRfYgotICAgICAgICAgICAgY2FycnkgPSAxCi0gICAgICAgIHJldHVybiBbCi0gICAgICAgICAgICBzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KSwKLSAgICAgICAgICAgIHN0cihjYXJyeSkKLSAgICAgICAgXQotCi0KLWNsYXNzIEJpZ251bUNvcmVNTEEoQmlnbnVtQ29yZVRhcmdldCwgYmlnbnVtX2NvbW1vbi5PcGVyYXRpb25Db21tb24pOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIGZpeGVkLXNpemUgbXVsdGlwbHkgYWNjdW11bGF0ZS4iIiIKLSAgICBjb3VudCA9IDAKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9jb3JlX21sYSIKLSAgICB0ZXN0X25hbWUgPSAibWJlZHRsc19tcGlfY29yZV9tbGEiCi0KLSAgICBpbnB1dF92YWx1ZXMgPSBbCi0gICAgICAgICIwIiwgIjEiLCAiZmZmZSIsICJmZmZmZmZmZiIsICIxMDAwMDAwMDAiLCAiMjAwMDAwMDAwMDAwMDAiLAotICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZiIsICIxMDAwMDAwMDAwMDAwMDAwMCIsICIxMjM0NTY3ODkwYWJjZGVmMCIsCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmVmZWZlZmVmZWZlZmVmZSIsCi0gICAgICAgICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAotICAgICAgICAiMTIzNDU2Nzg5MGFiY2RlZjAxMjM0NTY3ODkwYWJjZGVmMCIsCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiwKLSAgICAgICAgIjEyMzQ1Njc4OTBhYmNkZWYwMTIzNDU2Nzg5MGFiY2RlZjAxMjM0NTY3ODkwYWJjZGVmMDEyMzQ1Njc4OTBhYmNkZWYwIiwKLSAgICAgICAgKAotICAgICAgICAgICAgIjRkZjcyZDA3YjRiNzFjOGRhY2I2Y2ZmYTk1NGY4ZDg4MjU0YjYyNzcwOTkzMDhiYWYwMDNmYWI3MzIyN2YiCi0gICAgICAgICAgICAiMzQwMjk2NDNiNWEyNjNmNjZlMGQzYzNmYTI5N2VmNzE3NTVlZmQ1M2I4ZmI2Y2I4MTJjNmJiZjdiY2YxNyIKLSAgICAgICAgICAgICI5Mjk4YmQ5OTQ3YzRjOGIxNDMyNDE0MGEyYzBmNWZhZDc5NThhNjkwNTBhOTg3YTYwOTZlOWYwNTVmYjM4IgotICAgICAgICAgICAgImVkZjBjNTg4OWVjYTRhMGNmYTk5YjQ1ZmJkZWVlNGM2OTZiMzI4ZGRjZWFlNDcyMzk0NTkwMWVjMDI1MDciCi0gICAgICAgICAgICAiNmIxMmIiCi0gICAgICAgICkKLSAgICBdICMgdHlwZTogTGlzdFtzdHJdCi0gICAgaW5wdXRfc2NhbGFycyA9IFsKLSAgICAgICAgIjAiLCAiMyIsICJmZSIsICJmZiIsICJmZmZmIiwgIjEwMDAwIiwgImZmZmZmZmZmIiwgIjEwMDAwMDAwMCIsCi0gICAgICAgICI3ZjdmN2Y3ZjdmN2Y3ZjdmIiwgIjgwMDAwMDAwMDAwMDAwMDAiLCAiZmZmZmZmZmZmZmZmZmZmZSIKLSAgICBdICMgdHlwZTogTGlzdFtzdHJdCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsX2E6IHN0ciwgdmFsX2I6IHN0ciwgdmFsX3M6IHN0cikgLT4gTm9uZToKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXyh2YWxfYSwgdmFsX2IpCi0gICAgICAgIHNlbGYuYXJnX3NjYWxhciA9IHZhbF9zCi0gICAgICAgIHNlbGYuaW50X3NjYWxhciA9IGJpZ251bV9jb21tb24uaGV4X3RvX2ludCh2YWxfcykKLSAgICAgICAgaWYgYmlnbnVtX2NvbW1vbi5saW1ic19tcGkoc2VsZi5pbnRfc2NhbGFyLCAzMikgPiAxOgotICAgICAgICAgICAgc2VsZi5kZXBlbmRlbmNpZXMgPSBbIk1CRURUTFNfSEFWRV9JTlQ2NCJdCi0KLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIGJpZ251bV9jb21tb24ucXVvdGVfc3RyKHNlbGYuYXJnX2EpLAotICAgICAgICAgICAgYmlnbnVtX2NvbW1vbi5xdW90ZV9zdHIoc2VsZi5hcmdfYiksCi0gICAgICAgICAgICBiaWdudW1fY29tbW9uLnF1b3RlX3N0cihzZWxmLmFyZ19zY2FsYXIpCi0gICAgICAgIF0gKyBzZWxmLnJlc3VsdCgpCi0KLSAgICBkZWYgZGVzY3JpcHRpb24oc2VsZikgLT4gc3RyOgotICAgICAgICAiIiJPdmVycmlkZSBhbmQgYWRkIHRoZSBhZGRpdGlvbmFsIHNjYWxhci4iIiIKLSAgICAgICAgaWYgbm90IHNlbGYuY2FzZV9kZXNjcmlwdGlvbjoKLSAgICAgICAgICAgIHNlbGYuY2FzZV9kZXNjcmlwdGlvbiA9ICIweHt9ICsgMHh7fSAqIDB4e30iLmZvcm1hdCgKLSAgICAgICAgICAgICAgICBzZWxmLmFyZ19hLCBzZWxmLmFyZ19iLCBzZWxmLmFyZ19zY2FsYXIKLSAgICAgICAgICAgICkKLSAgICAgICAgcmV0dXJuIHN1cGVyKCkuZGVzY3JpcHRpb24oKQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYuaW50X2EgKyAoc2VsZi5pbnRfYiAqIHNlbGYuaW50X3NjYWxhcikKLSAgICAgICAgYm91bmRfdmFsID0gbWF4KHNlbGYuaW50X2EsIHNlbGYuaW50X2IpCi0gICAgICAgIGJvdW5kXzQgPSBiaWdudW1fY29tbW9uLmJvdW5kX21waShib3VuZF92YWwsIDMyKQotICAgICAgICBib3VuZF84ID0gYmlnbnVtX2NvbW1vbi5ib3VuZF9tcGkoYm91bmRfdmFsLCA2NCkKLSAgICAgICAgY2FycnlfNCwgcmVtYWluZGVyXzQgPSBkaXZtb2QocmVzdWx0LCBib3VuZF80KQotICAgICAgICBjYXJyeV84LCByZW1haW5kZXJfOCA9IGRpdm1vZChyZXN1bHQsIGJvdW5kXzgpCi0gICAgICAgIHJldHVybiBbCi0gICAgICAgICAgICAiXCJ7Onh9XCIiLmZvcm1hdChyZW1haW5kZXJfNCksCi0gICAgICAgICAgICAiXCJ7Onh9XCIiLmZvcm1hdChjYXJyeV80KSwKLSAgICAgICAgICAgICJcIns6eH1cIiIuZm9ybWF0KHJlbWFpbmRlcl84KSwKLSAgICAgICAgICAgICJcIns6eH1cIiIuZm9ybWF0KGNhcnJ5XzgpCi0gICAgICAgIF0KLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBnZXRfdmFsdWVfcGFpcnMoY2xzKSAtPiBJdGVyYXRvcltUdXBsZVtzdHIsIHN0cl1dOgotICAgICAgICAiIiJHZW5lcmF0b3IgdG8geWllbGQgcGFpcnMgb2YgaW5wdXRzLgotCi0gICAgICAgIENvbWJpbmF0aW9ucyBhcmUgZmlyc3QgZ2VuZXJhdGVkIGZyb20gYWxsIGlucHV0IHZhbHVlcywgYW5kIHRoZW4KLSAgICAgICAgc3BlY2lmaWMgY2FzZXMgcHJvdmlkZWQuCi0gICAgICAgICIiIgotICAgICAgICB5aWVsZCBmcm9tIHN1cGVyKCkuZ2V0X3ZhbHVlX3BhaXJzKCkKLSAgICAgICAgeWllbGQgZnJvbSBjbHMuaW5wdXRfY2FzZXMKLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBnZW5lcmF0ZV9mdW5jdGlvbl90ZXN0cyhjbHMpIC0+IEl0ZXJhdG9yW3Rlc3RfY2FzZS5UZXN0Q2FzZV06Ci0gICAgICAgICIiIk92ZXJyaWRlIGZvciBhZGRpdGlvbmFsIHNjYWxhciBpbnB1dC4iIiIKLSAgICAgICAgZm9yIGFfdmFsdWUsIGJfdmFsdWUgaW4gY2xzLmdldF92YWx1ZV9wYWlycygpOgotICAgICAgICAgICAgZm9yIHNfdmFsdWUgaW4gY2xzLmlucHV0X3NjYWxhcnM6Ci0gICAgICAgICAgICAgICAgY3VyX29wID0gY2xzKGFfdmFsdWUsIGJfdmFsdWUsIHNfdmFsdWUpCi0gICAgICAgICAgICAgICAgeWllbGQgY3VyX29wLmNyZWF0ZV90ZXN0X2Nhc2UoKQotCi0KLWNsYXNzIEJpZ251bUNvcmVNdWwoQmlnbnVtQ29yZVRhcmdldCwgYmlnbnVtX2NvbW1vbi5PcGVyYXRpb25Db21tb24pOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIGJpZ251bSBjb3JlIG11bHRpcGxpY2F0aW9uLiIiIgotICAgIGNvdW50ID0gMAotICAgIGlucHV0X3N0eWxlID0gImFyY2hfc3BsaXQiCi0gICAgc3ltYm9sID0gIioiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY29yZV9tdWwiCi0gICAgdGVzdF9uYW1lID0gIm1iZWR0bHNfbXBpX2NvcmVfbXVsIgotICAgIGFyaXR5ID0gMgotICAgIHVuaXF1ZV9jb21iaW5hdGlvbnNfb25seSA9IFRydWUKLQotICAgIGRlZiBmb3JtYXRfYXJnKHNlbGYsIHZhbDogc3RyKSAtPiBzdHI6Ci0gICAgICAgIHJldHVybiB2YWwKLQotICAgIGRlZiBmb3JtYXRfcmVzdWx0KHNlbGYsIHJlczogaW50KSAtPiBzdHI6Ci0gICAgICAgIHJlc19zdHIgPSAnezp4fScuZm9ybWF0KHJlcykKLSAgICAgICAgYV9saW1icyA9IGJpZ251bV9jb21tb24ubGltYnNfbXBpKHNlbGYuaW50X2EsIHNlbGYuYml0c19pbl9saW1iKQotICAgICAgICBiX2xpbWJzID0gYmlnbnVtX2NvbW1vbi5saW1ic19tcGkoc2VsZi5pbnRfYiwgc2VsZi5iaXRzX2luX2xpbWIpCi0gICAgICAgIGhleF9kaWdpdHMgPSBiaWdudW1fY29tbW9uLmhleF9kaWdpdHNfZm9yX2xpbWIoYV9saW1icyArIGJfbGltYnMsIHNlbGYuYml0c19pbl9saW1iKQotICAgICAgICByZXR1cm4gYmlnbnVtX2NvbW1vbi5xdW90ZV9zdHIoc2VsZi5mb3JtYXRfYXJnKHJlc19zdHIpLnpmaWxsKGhleF9kaWdpdHMpKQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYuaW50X2EgKiBzZWxmLmludF9iCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHJlc3VsdCldCi0KLQotY2xhc3MgQmlnbnVtQ29yZU1vbnRtdWwoQmlnbnVtQ29yZVRhcmdldCwgdGVzdF9kYXRhX2dlbmVyYXRpb24uQmFzZVRlc3QpOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIE1vbnRnb21lcnkgbXVsdGlwbGljYXRpb24uIiIiCi0gICAgY291bnQgPSAwCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY29yZV9tb250bXVsIgotICAgIHRlc3RfbmFtZSA9ICJtYmVkdGxzX21waV9jb3JlX21vbnRtdWwiCi0KLSAgICBzdGFydF8yX21waTQgPSBGYWxzZQotICAgIHN0YXJ0XzJfbXBpOCA9IEZhbHNlCi0KLSAgICByZXBsYXlfdGVzdF9jYXNlcyA9IFsKLSAgICAgICAgKDIsIDEsIDEsIDEsICIxOSIsICIxIiwgIjFEIiksICgyLCAxLCAxLCAxLCAiNyIsICIxIiwgIjkiKSwKLSAgICAgICAgKDIsIDEsIDEsIDEsICI0IiwgIjEiLCAiOSIpLAotICAgICAgICAoCi0gICAgICAgICAgICAxMiwgMSwgNiwgMSwgKAotICAgICAgICAgICAgICAgICIzQzI0NkQwRTA1OUE5M0EyNjYyODhBNzcxODQxOUVDNzQxNjYxQjQ3NEM1OEMwMzJDNUVEQUY5MjcwOTQwMiIKLSAgICAgICAgICAgICAgICAiQjA3Q0M4QzdDRTBCNzgxQzY0MUExRUE4REIyRjQzNDMiCi0gICAgICAgICAgICApLCAiMSIsICgKLSAgICAgICAgICAgICAgICAiNjZBMTk4MTg2QzE4QzEwQjJGNUVEOUI1MjI3NTJBOTgzMEI2OTkxNkU1MzVDOEYwNDc1MThBODg5QTQzQTUiCi0gICAgICAgICAgICAgICAgIjk0QjZCRUQyN0ExNjhEMzFENEE1MkY4ODkyNUFBOEY1IgotICAgICAgICAgICAgKQotICAgICAgICApLCAoCi0gICAgICAgICAgICA4LCAxLCA0LCAxLAotICAgICAgICAgICAgIjFFNDQyOTc2QjBFNjNENjRGQ0NFNzRCOTk5RTQ3MENBOTg4ODE2NUNCNzVCRkExRjM0MEU5MThDRTAzQzYyMTEiLAotICAgICAgICAgICAgIjEiLCAiQjNBMTE5NjAyRUUyMTNDREUyODU4MUVDRDg5MkUwRjU5MkEzMzg2NTVEQ0U0Q0E4ODA1NEIzRDEyNEQwRTU2MSIKLSAgICAgICAgKSwgKAotICAgICAgICAgICAgMjIsIDEsIDExLCAxLCAoCi0gICAgICAgICAgICAgICAgIjdDRjVBQzk3MzA0RTBCNjNDNjU0MTNGNTcyNDlGNTk5OTRCMEZFRDFEMkE4RDNEODNFRDVGQTM4NTYwRkZCIgotICAgICAgICAgICAgICAgICI4MjM5Mjg3MEQ2RDA4Rjg3RDcxMTkxN0ZENzUzN0UxM0I3RTEyNUJFNDA3RTc0MTU3Nzc2ODM5QjBBQzlEQiIKLSAgICAgICAgICAgICAgICAiMjNDQkRGQzY5NjEwNDM1M0U0RDI3ODBCMkI0OTY4RjhEODU0MjMwNkJDQTdBMjM2NkUiCi0gICAgICAgICAgICApLCAiMSIsICgKLSAgICAgICAgICAgICAgICAiMjg0MTM5RUExOUMxMzlFQkUwOUE4MTExOTI2QUFBMzlBMkMyQkUxMkVENDg3QTgwOUQzQ0I1QkM1NTg1NDciCi0gICAgICAgICAgICAgICAgIjI1QjRDRENCNTczNEM1OEY5MEIyRjYwRDk5Q0MxOTUwQ0RCQzhENjUxNzkzRTkzQzlDNkYwRUFENzUyNTAwIgotICAgICAgICAgICAgICAgICJBMzJDNTZDNjIwODI5MTJCNjYxMzJCMkE2QUE0MkFEQTkyM0UxQUQyMkNFQjdCQTAxMjMiCi0gICAgICAgICAgICApCi0gICAgICAgICkKLSAgICBdICMgdHlwZTogTGlzdFtUdXBsZVtpbnQsIGludCwgaW50LCBpbnQsIHN0ciwgc3RyLCBzdHJdXQotCi0gICAgcmFuZG9tX3Rlc3RfY2FzZXMgPSBbCi0gICAgICAgICgiMiIsICIyIiwgIjMiLCAiIiksICgiMSIsICIyIiwgIjMiLCAiIiksICgiMiIsICIxIiwgIjMiLCAiIiksCi0gICAgICAgICgiNiIsICI1IiwgIjciLCAiIiksICgiMyIsICI0IiwgIjciLCAiIiksICgiMSIsICI2IiwgIjciLCAiIiksICgiNSIsICI2IiwgIjciLCAiIiksCi0gICAgICAgICgiMyIsICI0IiwgIkIiLCAiIiksICgiNyIsICI0IiwgIkIiLCAiIiksICgiOSIsICI3IiwgIkIiLCAiIiksICgiMiIsICJhIiwgIkIiLCAiIiksCi0gICAgICAgICgiMjUiLCAiMTYiLCAiMjkiLCAiKDB4MjkgaXMgcHJpbWUpIiksICgiOCIsICIyOCIsICIyOSIsICIiKSwKLSAgICAgICAgKCIxOCIsICIyMSIsICIyOSIsICIiKSwgKCIxNSIsICJmIiwgIjI5IiwgIiIpLAotICAgICAgICAoImUyIiwgImVhIiwgIkZGIiwgIiIpLCAoIjQzIiwgIjcyIiwgIkZGIiwgIiIpLAotICAgICAgICAoImQ4IiwgIjcwIiwgIkZGIiwgIiIpLCAoIjNjIiwgIjdjIiwgIkZGIiwgIiIpLAotICAgICAgICAoIjk5IiwgImI5IiwgIjEwMSIsICIoMHgxMDEgaXMgcHJpbWUpIiksICgiNjUiLCAiYjIiLCAiMTAxIiwgIiIpLAotICAgICAgICAoIjgxIiwgIjMyIiwgIjEwMSIsICIiKSwgKCI1MSIsICJkZCIsICIxMDEiLCAiIiksCi0gICAgICAgICgiZDUiLCAiMTQzIiwgIjM4QiIsICIoMHgzOEIgaXMgcHJpbWUpIiksICgiM2QiLCAiMzg3IiwgIjM4QiIsICIiKSwKLSAgICAgICAgKCIxNjAiLCAiMmU1IiwgIjM4QiIsICIiKSwgKCIxMGYiLCAiMTM3IiwgIjM4QiIsICIiKSwKLSAgICAgICAgKCI3ZGFjIiwgIjI1YSIsICI4MDAzIiwgIigweDgwMDMgaXMgcHJpbWUpIiksICgiNmYxYyIsICIzMjg2IiwgIjgwMDMiLCAiIiksCi0gICAgICAgICgiNTllZCIsICIyZjNmIiwgIjgwMDMiLCAiIiksICgiNjg5MyIsICI3MzZkIiwgIjgwMDMiLCAiIiksCi0gICAgICAgICgiZDE5OSIsICIyODMyIiwgIjEwMDAxIiwgIigweDEwMDAxIGlzIHByaW1lKSIpLCAoImMzYjIiLCAiM2U1YiIsICIxMDAwMSIsICIiKSwKLSAgICAgICAgKCJhYmU0IiwgIjIxNGUiLCAiMTAwMDEiLCAiIiksICgiNDM2MCIsICJhMDVkIiwgIjEwMDAxIiwgIiIpLAotICAgICAgICAoIjNmNWExIiwgIjE2NWIyIiwgIjdGN0Y3IiwgIiIpLCAoIjNiZDI5IiwgIjM3ODYzIiwgIjdGN0Y3IiwgIiIpLAotICAgICAgICAoIjYwYzQ3IiwgIjY0ODE5IiwgIjdGN0Y3IiwgIiIpLCAoIjE2NTg0IiwgIjEyYzQ5IiwgIjdGN0Y3IiwgIiIpLAotICAgICAgICAoIjFmZjAzZiIsICI2MTAzNDciLCAiODAwMDA5IiwgIigweDgwMDAwOSBpcyBwcmltZSkiKSwgKCIzNDBmZDUiLCAiMTk4MTJlIiwgIjgwMDAwOSIsICIiKSwKLSAgICAgICAgKCIzZmUyZTgiLCAiNGQwZGM3IiwgIjgwMDAwOSIsICIiKSwgKCI0MDM1NiIsICJlNjM5MiIsICI4MDAwMDkiLCAiIiksCi0gICAgICAgICgiZGQ4YTFkIiwgIjI2NmMwZSIsICIxMDAwMDJCIiwgIigweDEwMDAwMkIgaXMgcHJpbWUpIiksCi0gICAgICAgICgiM2ZhMWNiIiwgIjg0N2ZkNiIsICIxMDAwMDJCIiwgIiIpLCAoIjVmNDM5ZCIsICI1YzMxOTYiLCAiMTAwMDAyQiIsICIiKSwKLSAgICAgICAgKCIxOGQ2NDUiLCAiZjcyZGM2IiwgIjEwMDAwMkIiLCAiIiksCi0gICAgICAgICgiMjAwNTFhZCIsICIzN2RlZjZlIiwgIjM3RUVFOUQiLCAiKDB4MzdFRUU5RCBpcyBwcmltZSkiKSwKLSAgICAgICAgKCIyZWMxNDBiIiwgIjM1ODBkYmYiLCAiMzdFRUU5RCIsICIiKSwgKCIxZDkxYjQ2IiwgIjE5MGQ0ZmMiLCAiMzdFRUU5RCIsICIiKSwKLSAgICAgICAgKCIzNGU0ODhkIiwgIjEyMjRkMjQiLCAiMzdFRUU5RCIsICIiKSwKLSAgICAgICAgKCIyYTRmZTJjYiIsICIyNjM0NjZhOSIsICI4MDAwMDAwQiIsICIoMHg4MDAwMDAwQiBpcyBwcmltZSkiKSwKLSAgICAgICAgKCI1NjQzZmU5NCIsICIyOWExYWVmYSIsICI4MDAwMDAwQiIsICIiKSwgKCIyOTYzMzUxMyIsICI3YjAwN2FjNCIsICI4MDAwMDAwQiIsICIiKSwKLSAgICAgICAgKCIyNDM5Y2VmNSIsICI1YzlkNWE0NyIsICI4MDAwMDAwQiIsICIiKSwKLSAgICAgICAgKCI0ZGUzY2ZhYSIsICI1MGRlYTE3OCIsICI4Q0Q2MjZCOSIsICIoMHg4Q0Q2MjZCOSBpcyBwcmltZSkiKSwKLSAgICAgICAgKCJiOGI4NTYzIiwgIjEwZGJiYmFjIiwgIjhDRDYyNkI5IiwgIiIpLCAoIjRlOGE2MTUxIiwgIjU1NzRlYzE5IiwgIjhDRDYyNkI5IiwgIiIpLAotICAgICAgICAoIjY5MjI0ODc4IiwgIjMwOWNmYzIzIiwgIjhDRDYyNkI5IiwgIiIpLAotICAgICAgICAoImZiNmY3ZmI2IiwgImFmYjA1NDIzIiwgIjEwMDAwMDAwRiIsICIoMHgxMDAwMDAwMEYgaXMgcHJpbWUpIiksCi0gICAgICAgICgiODM5MWEyNDMiLCAiMjYwMzRkY2QiLCAiMTAwMDAwMDBGIiwgIiIpLCAoImQyNmI5OGMiLCAiMTRiMmQ2YWEiLCAiMTAwMDAwMDBGIiwgIiIpLAotICAgICAgICAoIjZiOWYxMzcxIiwgImEyMWRhZjFkIiwgIjEwMDAwMDAwRiIsICIiKSwKLSAgICAgICAgKAotICAgICAgICAgICAgIjlmNDk0MzVhZCIsICJjODI2NGFkZTgiLCAiMTc0ODc2RTdFOSIsCi0gICAgICAgICAgICAiMHgxNzQ4NzZFN0U5IGlzIHByaW1lIChkZWMpIDk5OTk5OTk5OTc3IgotICAgICAgICApLAotICAgICAgICAoImM0MDJkYTQzNCIsICIxZmI0MjdhY2YiLCAiMTc0ODc2RTdFOSIsICIiKSwKLSAgICAgICAgKCJmNmViYzJiYjEiLCAiMTA5NmQzOWYyYSIsICIxNzQ4NzZFN0U5IiwgIiIpLAotICAgICAgICAoIjE1M2I3ZjdiNmIiLCAiODc4ZmRhOGZmIiwgIjE3NDg3NkU3RTkiLCAiIiksCi0gICAgICAgICgiMmMxYWRiYjhkNiIsICI0Mzg0ZDJkM2M2IiwgIjgwMDAwMDAwMTciLCAiKDB4ODAwMDAwMDAxNyBpcyBwcmltZSkiKSwKLSAgICAgICAgKCIyZTRmOWNmNWZiIiwgIjc5NGYzNDQzZDkiLCAiODAwMDAwMDAxNyIsICIiKSwKLSAgICAgICAgKCIxNDllNDk1NTgyIiwgIjM4MDJiOGY3YjciLCAiODAwMDAwMDAxNyIsICIiKSwKLSAgICAgICAgKCI3YjlkNDlkZjgyIiwgIjY5YzY4YTQ0MmEiLCAiODAwMDAwMDAxNyIsICIiKSwKLSAgICAgICAgKCI2ODNhMTM0NjAwIiwgIjZkZDgwZWE5ZjYiLCAiODY0Q0I5MDc2RCIsICIoMHg4NjRDQjkwNzZEIGlzIHByaW1lKSIpLAotICAgICAgICAoIjEzYTg3MGZmMGQiLCAiNTliMDk5Njk0YSIsICI4NjRDQjkwNzZEIiwgIiIpLAotICAgICAgICAoIjM3ZDA2YjBlNjMiLCAiNGQyMTQ3ZTQ2ZiIsICI4NjRDQjkwNzZEIiwgIiIpLAotICAgICAgICAoIjY2MTcxNGY4ZjQiLCAiMjJlNTVkZjUwNyIsICI4NjRDQjkwNzZEIiwgIiIpLAotICAgICAgICAoIjJmMGE5NjM2MyIsICI1MjY5MzMwN2I0IiwgIkY3RjdGN0Y3RjciLCAiIiksCi0gICAgICAgICgiM2M4NTA3OGU2NCIsICJmMjI3NWVjYjZkIiwgIkY3RjdGN0Y3RjciLCAiIiksCi0gICAgICAgICgiMzUyZGFlNjhkMSIsICI3MDc3NzViNGM2IiwgIkY3RjdGN0Y3RjciLCAiIiksCi0gICAgICAgICgiMzdhZTBmM2UwYiIsICI5MTIxMTMwNDBmIiwgIkY3RjdGN0Y3RjciLCAiIiksCi0gICAgICAgICgiNmRhZGExNWUzMSIsICJmNThlZDllZmY3IiwgIjEwMDAwMDAwMDBGIiwgIigweDEwMDAwMDAwMDBGIGlzIHByaW1lKSIpLAotICAgICAgICAoIjY5NjI3YTdjODkiLCAiY2ZiNWViZDEzZCIsICIxMDAwMDAwMDAwRiIsICIiKSwKLSAgICAgICAgKCJhNWUxYWQyMzliIiwgImFmYzAzMGM3MzEiLCAiMTAwMDAwMDAwMEYiLCAiIiksCi0gICAgICAgICgiZjFjYzQ1ZjRjNSIsICJjNjRhZDYwN2M4IiwgIjEwMDAwMDAwMDBGIiwgIiIpLAotICAgICAgICAoIjJlYmFkODdkMmUzMSIsICI0YzcyZDkwYmNhNzgiLCAiODAwMDAwMDAwMDA1IiwgIigweDgwMDAwMDAwMDAwNSBpcyBwcmltZSkiKSwKLSAgICAgICAgKCJhMzBiM2NjNTBkIiwgIjI5YWM0ZmU1OTQ5MCIsICI4MDAwMDAwMDAwMDUiLCAiIiksCi0gICAgICAgICgiMzM2NzRlOTY0N2I0IiwgIjVlYzdlZTdlNzJkMyIsICI4MDAwMDAwMDAwMDUiLCAiIiksCi0gICAgICAgICgiM2Q5NTZmNDc0ZjYxIiwgIjc0MDcwMDQwMjU3ZCIsICI4MDAwMDAwMDAwMDUiLCAiIiksCi0gICAgICAgICgiNDgzNDhlMzcxN2Q2IiwgIjQzZmNiNDM5OTU3MSIsICI4MDA3OTVEOUJBNDciLCAiKDB4ODAwNzk1RDlCQTQ3IGlzIHByaW1lKSIpLAotICAgICAgICAoIjUyMzRjMDNjYzk5YiIsICIyZjNjY2NiODc4MDMiLCAiODAwNzk1RDlCQTQ3IiwgIiIpLAotICAgICAgICAoIjNlZDEzZGIxOTRhYiIsICI0NGI4ZjRiYTcwMzAiLCAiODAwNzk1RDlCQTQ3IiwgIiIpLAotICAgICAgICAoIjFjMTFlODQzYmZkYiIsICI5NWJkMWI0N2IwOCIsICI4MDA3OTVEOUJBNDciLCAiIiksCi0gICAgICAgICgiYTgxZDExY2I4MWZkIiwgIjFlNTc1M2EzZjMzZCIsICIxMDAwMDAwMDAwMDE1IiwgIigweDEwMDAwMDAwMDAwMTUgaXMgcHJpbWUpIiksCi0gICAgICAgICgiNjg4YzRkYjk5MjMyIiwgIjM2ZmMwY2Y3ZWQiLCAiMTAwMDAwMDAwMDAxNSIsICIiKSwKLSAgICAgICAgKCJmMDcyMGNjMDdlMDciLCAiZmM3NjE0MGVkOTAzIiwgIjEwMDAwMDAwMDAwMTUiLCAiIiksCi0gICAgICAgICgiMmVjNjFmOGQxN2QxIiwgImQyNzBjODVlMzZkMiIsICIxMDAwMDAwMDAwMDE1IiwgIiIpLAotICAgICAgICAoCi0gICAgICAgICAgICAiNmEyNGNkM2FiNjM4MjAiLCAiZWQ0YWFkNTVlNWUzNDgiLCAiMTAwMDAwMDAwMDAwMDUxIiwKLSAgICAgICAgICAgICIoMHgxMDAwMDAwMDAwMDAwNTEgaXMgcHJpbWUpIgotICAgICAgICApLAotICAgICAgICAoImU2ODBjMTYwZDNiMjQ4IiwgIjMxZTBkODg0MGVkNTEwIiwgIjEwMDAwMDAwMDAwMDA1MSIsICIiKSwKLSAgICAgICAgKCJhODA2MzdlOWFlYmMzOCIsICJiYjgxZGVjYzRlMTczOCIsICIxMDAwMDAwMDAwMDAwNTEiLCAiIiksCi0gICAgICAgICgiOWFmYTVhNTllOWQ2MzAiLCAiYmU5ZTY1YTZkNDI5MzgiLCAiMTAwMDAwMDAwMDAwMDUxIiwgIiIpLAotICAgICAgICAoImFiNWUxMDRlZWI3MWMwMDAiLCAiMmNmZmJkNjM5ZTlmZWEwMCIsICJBQkNERUYwMTIzNDU2Nzg5IiwgIiIpLAotICAgICAgICAoIjE5N2I4Njc1NDdmNjhhMDAiLCAiNDRiNzk2Y2Y5NDY1NDgwMCIsICJBQkNERUYwMTIzNDU2Nzg5IiwgIiIpLAotICAgICAgICAoIjMyOWY5NDgzYTA0ZjJjMDAiLCAiOTg5MmY3Njk2MWQwZjAwMCIsICJBQkNERUYwMTIzNDU2Nzg5IiwgIiIpLAotICAgICAgICAoIjRhMmUxMmRmYjQ1NDUwMDAiLCAiMWFhM2U4OWE2OTc5NDUwMCIsICJBQkNERUYwMTIzNDU2Nzg5IiwgIiIpLAotICAgICAgICAoCi0gICAgICAgICAgICAiOGI5YWNkZjAxM2QxNDBmMDAwIiwgIjEyZTRjZWFlZmFiZGYyYjJmMDAiLCAiMjVBNTVBNDZFNURBOTlDNzFDNyIsCi0gICAgICAgICAgICAiMHgyNUE1NUE0NkU1REE5OUM3MUM3IGlzIHRoZSAzcmQgcmVwdW5pdCBwcmltZShkZWMpIDExMTExMTExMTExMTExMTExMTExMTExIgotICAgICAgICApLAotICAgICAgICAoIjFiOGQ5NjBlYTI3N2UzZjU1MDAiLCAiMTQ0MThhYTk4MGUzN2RkMDAwIiwgIjI1QTU1QTQ2RTVEQTk5QzcxQzciLCAiIiksCi0gICAgICAgICgiNzMxNDUyNDk3N2U4MDc1OTgwIiwgIjgxNzJmYTQ1NjE4Y2NkMGQ4MCIsICIyNUE1NUE0NkU1REE5OUM3MUM3IiwgIiIpLAotICAgICAgICAoImNhMTRmMDMxNzY5YmU2MzU4MCIsICIxNDdhMmYzY2YyOTY0Y2E5NDAwIiwgIjI1QTU1QTQ2RTVEQTk5QzcxQzciLCAiIiksCi0gICAgICAgICgKLSAgICAgICAgICAgICIxODUzMmJhMTE5ZDVjZDBjZjM5NzM1YzAwMDAiLCAiMjVmOTgzOGUzMTYzNDg0NDkyNDczMzAwMDAwMCIsCi0gICAgICAgICAgICAiMzE0REM2NDNGQjc2M0YyQjhDMEUyREUwMDg3OSIsCi0gICAgICAgICAgICAiMHgzMTREQzY0M0ZCNzYzRjJCOEMwRTJERTAwODc5IGlzIChkZWMpOTk5OTk5OTk5NzdeMyIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgImE1NmUyZDI1MTc1MTllMzk3MGU3MGM0MDAwMCIsICJlYzI3NDI4ZDRiYjM4MDQ1ODU4OGZhODAwMDAiLAotICAgICAgICAgICAgIjMxNERDNjQzRkI3NjNGMkI4QzBFMkRFMDA4NzkiLCAiIgotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAiMWNiNWU4MjU3NzEwZTg2NTNmZmYzM2EwMDAwMCIsICIxNWZkZDQyZmU0NDBmZDNhMWQxMjEzODAwMDAiLAotICAgICAgICAgICAgIjMxNERDNjQzRkI3NjNGMkI4QzBFMkRFMDA4NzkiLCAiIgotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAiZTUwZDA3YTY1ZmM2ZjkzZTUzOGNlMDQwMDAwIiwgIjFmNGIwNTljYTYwOWYzY2U1OTdmNjEyNDAwMDAiLAotICAgICAgICAgICAgIjMxNERDNjQzRkI3NjNGMkI4QzBFMkRFMDA4NzkiLCAiIgotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAiMWVhM2FkZTc4NmEwOTVkOTc4ZDM4N2YzMGRmOWYyMDAwMDAwMCIsCi0gICAgICAgICAgICAiMTI3YzQ0ODU3NWYwNGFmNWEzNjdhN2JlMDZjN2RhMDAwMDAwMCIsCi0gICAgICAgICAgICAiNDdCRjE5NjYyMjc1RkEyRjY4NDVDNzQ5NDJFRDFEODUyRTUyMSIsCi0gICAgICAgICAgICAiMHg0N0JGMTk2NjIyNzVGQTJGNjg0NUM3NDk0MkVEMUQ4NTJFNTIxIGlzIChkZWMpIDk5OTk5OTk5OTc3XjQiCi0gICAgICAgICksCi0gICAgICAgICgKLSAgICAgICAgICAgICIxNmUxNWIwY2E4Mjc2NGU3MmUzODM1N2IxZjEwYTIwMDAwMDAwIiwKLSAgICAgICAgICAgICI0M2UyMzU1ZDg1MTRiYmUyMmIwODM4ZmRjMzk4M2EwMDAwMDAwIiwKLSAgICAgICAgICAgICI0N0JGMTk2NjIyNzVGQTJGNjg0NUM3NDk0MkVEMUQ4NTJFNTIxIiwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgImJlMzkzMzI1MjlkOTNmMjVjM2QxMTZjMDA0YzYyMDAwMDAwMCIsCi0gICAgICAgICAgICAiNWNjY2VjNDIzNzBhMGEyYzg5YzY3NzJkYTgwMWEwMDAwMDAwIiwKLSAgICAgICAgICAgICI0N0JGMTk2NjIyNzVGQTJGNjg0NUM3NDk0MkVEMUQ4NTJFNTIxIiwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgImVjYWE0NjhkOTBkZTBlZWRhNDc0ZDM5YjNlMWZjMDAwMDAwMCIsCi0gICAgICAgICAgICAiMWU3MTQ1NTQwMThkZTZkYzBmZTU3NmJmZDNiNTY2MDAwMDAwMCIsCi0gICAgICAgICAgICAiNDdCRjE5NjYyMjc1RkEyRjY4NDVDNzQ5NDJFRDFEODUyRTUyMSIsICIiCi0gICAgICAgICksCi0gICAgICAgICgKLSAgICAgICAgICAgICIzMjI5ODgxNjcxMWM1ZGNlNDZmOWJhMDZlNzc1YzRiZWRmYzc3MGU2NzAwMDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICI4ZWU3NTFmZDVmYjI0ZjBiNGE2NTNjYjNhMGM4YjdkOWU3MjQ1NzRkMTY4MDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICI5N0VERDg2RTRCNUM0NTkyQzZEMzIwNjRBQzU1Qzg4OEE3MjQ1RjA3Q0EzQ0M0NTVFMDdDOTMxIiwKLSAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgICAiMHg5N0VERDg2RTRCNUM0NTkyQzZEMzIwNjRBQzU1Qzg4OEE3MjQ1RjA3Q0EzQ0M0NTVFMDdDOTMxIgotICAgICAgICAgICAgICAgICIgaXMgKGRlYykgOTk5OTk5OTk5NzdeNiIKLSAgICAgICAgICAgICkKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgIjI5MjEzYjlkZjNjZmQxNWY0YjQyODY0NWI2N2I2NzdjMjlkMTM3OGQ4MTAwMDAwMDAwMDAwMDAiLAotICAgICAgICAgICAgIjZjYmI3MzJjNjVlMTBhMjg4NzIzOTRkZmRkMTkzNmQ1MTcxYzNjM2FhYzAwMDAwMDAwMDAwMDAiLAotICAgICAgICAgICAgIjk3RUREODZFNEI1QzQ1OTJDNkQzMjA2NEFDNTVDODg4QTcyNDVGMDdDQTNDQzQ1NUUwN0M5MzEiLCAiIgotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAiNmYxOGRiMDZhZDRhYmM1MmMwYzUwNjQzZGQxMzA5OGFiY2NkNGEyMzJmMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiN2U2YmY0MWYyYTg2MDk4YWQ1MWY5OGRmYzEwNDkwYmEzZTgwODFiYzgzMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiOTdFREQ4NkU0QjVDNDU5MkM2RDMyMDY0QUM1NUM4ODhBNzI0NUYwN0NBM0NDNDU1RTA3QzkzMSIsICIiCi0gICAgICAgICksCi0gICAgICAgICgKLSAgICAgICAgICAgICI2MmQzMjg2Y2Q3MDZhZDlkNzNjYWZmNjNmMTcyMjc3NWQ3ZThjNzMxMjA4MDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICI1MzBmN2JhMDJhZTJiMDRjMmZlM2UzZDI3ZWMwOTU5MjU2MzFhNmMyNTI4MDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICI5N0VERDg2RTRCNUM0NTkyQzZEMzIwNjRBQzU1Qzg4OEE3MjQ1RjA3Q0EzQ0M0NTVFMDdDOTMxIiwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgImE2YzY1MDNlM2MwMzFmZGJmNjAwOWE4OWVkNjA1ODJiNzIzM2M1YTg1ZGUyOGIxNjAwMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiNzVjOGVkMTgyNzBiNTgzZjE2ZDQ0MmE0NjdkMzJiZjk1YzVlNDkxZTliODUyMzc5ODAwMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiREQxNUZFODBCNzMxODcyQUMxMDREQjM3ODMyRjdFNzVBMjQ0QUEyNjMxQkM4Nzg4NUI4NjFFOEYyMDM3NTQ5OSIsCi0gICAgICAgICAgICAoCi0gICAgICAgICAgICAgICAgIjB4REQxNUZFODBCNzMxODcyQUMxMDREQjM3ODMyRjdFNzVBMjQ0QUEyNjMxQkM4Nzg4NUI4NjFFOEYyMDM3NTQ5OSIKLSAgICAgICAgICAgICAgICAiIGlzIChkZWMpIDk5OTk5OTk5OTc3XjciCi0gICAgICAgICAgICApCi0gICAgICAgICksCi0gICAgICAgICgKLSAgICAgICAgICAgICJiZjg0ZDFmODVjZjZiNTFlMDRkMmM4ZjRmZmQwMzUzMmQ4NTIwNTNjZjk5YjM4N2Q0MDAwMDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICIzOTdiYTVhNzQzYzM0OWY0ZjI4YmM1ODNlY2Q1ZjA2ZTBhMjVmOWM2ZDk4ZjA5MTM0MDAwMDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICJERDE1RkU4MEI3MzE4NzJBQzEwNERCMzc4MzJGN0U3NUEyNDRBQTI2MzFCQzg3ODg1Qjg2MUU4RjIwMzc1NDk5IiwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgIjZkYjExYzNhNDE1MmVkMWEyYWE2ZmEzNGIwOTAzZWM4MmVhMWI4ODkwOGRjYjQ4MjAwMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiYWM4YWM1NzZhNzRhZDZjYTQ4ZjIwMWJmODlmNzczNTBjZTg2ZTgyMTM1OGQ4NTkyMDAwMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiREQxNUZFODBCNzMxODcyQUMxMDREQjM3ODMyRjdFNzVBMjQ0QUEyNjMxQkM4Nzg4NUI4NjFFOEYyMDM3NTQ5OSIsICIiCi0gICAgICAgICksCi0gICAgICAgICgKLSAgICAgICAgICAgICIzMDAxZDk2ZDdmZThiNzMzZjMzNjg3NjQ2ZmMzMDE3ZTNhYzQxN2ViMzJlMGVjNzA4MDAwMDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICI5MjVkZGJkYWM0MTc0ZTgzMjFhNDhhMzJmNzk2NDBlOGNmN2VjNmY0NmVhMjM1YTgwMDAwMDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICJERDE1RkU4MEI3MzE4NzJBQzEwNERCMzc4MzJGN0U3NUEyNDRBQTI2MzFCQzg3ODg1Qjg2MUU4RjIwMzc1NDk5IiwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgIjEwMjkwNDg3NTVmMmU2MGRkOThjOGRlNmQ5OTg5MjI2YjZiYjRmMGRiOGU0NmJkMTkzOWRlNTYwMDAwMDAwMDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICI1MWJiNzI3MGIyZTI1Y2VjMDMwMWEwM2U4Mjc1MjEzYmI2YzJmNmU2ZWM5M2Q0ZDQ2ZDM2Y2EwMDAwMDAwMDAwMDAwMDAwMDAwIiwKLSAgICAgICAgICAgICIxNDFCOEVCRDkwMDlGODRDMjQxODc5QTFGNjgwRkFDQ0VEMzU1REEzNkM0OThGNzNFOTZFODgwQ0Y3OEVBNUY5NjE0NjM4MEU0MSIsCi0gICAgICAgICAgICAoCi0gICAgICAgICAgICAgICAgIjB4MTQxQjhFQkQ5MDA5Rjg0QzI0MTg3OUExRjY4MEZBQ0NFRDM1NURBMzZDNDk4RjczRTk2RTg4MENGNzhFQTVGOTYxNDYiCi0gICAgICAgICAgICAgICAgIjM4MEU0MSBpcyA5OTk5OTk5OTk3N144IgotICAgICAgICAgICAgKQotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAiMWM1MzM3ZmY5ODJiM2FkNjYxMTI1N2RiZmY1YmJkN2E5OTIwYmEyZDRmNTgzOGEwY2M2ODFjZTAwMDAwMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiNTIwYzVkMDQ5Y2E0NzAyMDMxYmE3Mjg1OTFiNjY1YzRkNGNjZDNiMmI4Njg2NGQ0YzE2MGZkMjAwMDAwMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiMTQxQjhFQkQ5MDA5Rjg0QzI0MTg3OUExRjY4MEZBQ0NFRDM1NURBMzZDNDk4RjczRTk2RTg4MENGNzhFQTVGOTYxNDYzODBFNDEiLAotICAgICAgICAgICAgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgIjU3MDc0ZGZhMDBlNDJmNjU1NWJhZTYyNGI3ZjAyMDlmMjE4YWRmNTdmNzNlZDM0YWIwZmY5MGMwMDAwMDAwMDAwMDAwMDAwMDAiLAotICAgICAgICAgICAgIjQxZWIxNGI2YzA3YmZkM2QxZmU0ZjRhNjEwYzE3Y2M0NGZjZmNkYTY5NWRiMDQwZTAxMTA2NTAwMDAwMDAwMDAwMDAwMDAwMCIsCi0gICAgICAgICAgICAiMTQxQjhFQkQ5MDA5Rjg0QzI0MTg3OUExRjY4MEZBQ0NFRDM1NURBMzZDNDk4RjczRTk2RTg4MENGNzhFQTVGOTYxNDYzODBFNDEiLAotICAgICAgICAgICAgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgImQ4ZWQ3ZmVlZDJmZTg1NWU2OTk3YWQ2Mzk3Zjc3NjE1ODU3M2Q0MjUwMzFiZjA4NWE2MTU3ODQwMDAwMDAwMDAwMDAwMDAwMDAiLAotICAgICAgICAgICAgIjZmMTIxZGNkMThjNTc4YWI1ZTIyOTg4MTAwNjAwN2JiNmQzMTliMTc5ZjExMDE1ZmU5NThiOWMwMDAwMDAwMDAwMDAwMDAwMDAiLAotICAgICAgICAgICAgIjE0MUI4RUJEOTAwOUY4NEMyNDE4NzlBMUY2ODBGQUNDRUQzNTVEQTM2QzQ5OEY3M0U5NkU4ODBDRjc4RUE1Rjk2MTQ2MzgwRTQxIiwKLSAgICAgICAgICAgICIiCi0gICAgICAgICksCi0gICAgICAgICgKLSAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgICAiMmE0NjJiMTU2MTgwZWE1ZmU1NTBkMzc1OGM3NjRlMDZmYWU1NGU2MjZiNWY1MDMyNjVhMDlkZjc2ZWRiZGZiZiIKLSAgICAgICAgICAgICAgICAiYTFlNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKLSAgICAgICAgICAgICksICgKLSAgICAgICAgICAgICAgICAiMTEzNmY0MWQxODc5ZmQ0ZmI5ZTQ5ZTA5NDNhNDZiNjcwNGQ3N2MwNjhlZTIzN2MzMTIxZjkwNzFjZmQzZTZhMCIKLSAgICAgICAgICAgICAgICAiMDMxNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKLSAgICAgICAgICAgICksICgKLSAgICAgICAgICAgICAgICAiMkE5NDYwOERFODhCNkQ1RTlGODkyMEY1QUJCMDZCMjRDQzM1QUUxRkJBQ0M4N0QwNzVDNjIxQzNFMjgzM0VDOTAiCi0gICAgICAgICAgICAgICAgIjI3MTNFNDBGNTFFM0IzQzIxNEVERkFCQzQ1MSIKLSAgICAgICAgICAgICksICgKLSAgICAgICAgICAgICAgICAiMHgyQTk0NjA4REU4OEI2RDVFOUY4OTIwRjVBQkIwNkIyNENDMzVBRTFGQkFDQzg3RDA3NUM2MjFDM0UyODMzRUMiCi0gICAgICAgICAgICAgICAgIjkwMjcxM0U0MEY1MUUzQjNDMjE0RURGQUJDNDUxIGlzIChkZWMpIDk5OTk5OTk5OTc3XjEwIgotICAgICAgICAgICAgKQotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAoCi0gICAgICAgICAgICAgICAgImMxYWMzODAwZGZiM2M2OTU0ZGVhMzkxZDIwNjIwMGNmM2M0N2Y3OTViZjRhNTYwM2I0Y2I4OGFlN2U1NzRkZTQ3IgotICAgICAgICAgICAgICAgICI0MDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKLSAgICAgICAgICAgICksICgKLSAgICAgICAgICAgICAgICAiYzBkMTZlZGEwNTQ5ZWRlNDJmYTBkZWI0NjM1ZjdiN2NlMDYxZmFkZWEwMmVlNGQ4NWNiYTRjNGY3MDk2MDM0MTkiCi0gICAgICAgICAgICAgICAgIjNjODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgICAgKSwgKAotICAgICAgICAgICAgICAgICIyQTk0NjA4REU4OEI2RDVFOUY4OTIwRjVBQkIwNkIyNENDMzVBRTFGQkFDQzg3RDA3NUM2MjFDM0UyODMzRUM5MCIKLSAgICAgICAgICAgICAgICAiMjcxM0U0MEY1MUUzQjNDMjE0RURGQUJDNDUxIgotICAgICAgICAgICAgKSwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgKAotICAgICAgICAgICAgICAgICIxOWU0NWJiNzYzMzA5NGQyNzI1ODhhZDJlNDNiY2IzZWUzNDE5OTFjNjczMWI2ZmE5ZDQ3YzQwMThkN2NlN2JiYSIKLSAgICAgICAgICAgICAgICAiNWVlODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgICAgKSwgKAotICAgICAgICAgICAgICAgICIxZTRmODMxNjZhZTU5ZjZiOWNjOGZkM2U3Njc3ZWQ4YmZjMDFiYjk5Yzk4YmQzZWIwODQyNDZiNjRjMWUxOGMzMyIKLSAgICAgICAgICAgICAgICAiNjViODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgICAgKSwgKAotICAgICAgICAgICAgICAgICIyQTk0NjA4REU4OEI2RDVFOUY4OTIwRjVBQkIwNkIyNENDMzVBRTFGQkFDQzg3RDA3NUM2MjFDM0UyODMzRUM5MCIKLSAgICAgICAgICAgICAgICAiMjcxM0U0MEY1MUUzQjNDMjE0RURGQUJDNDUxIgotICAgICAgICAgICAgKSwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgKAotICAgICAgICAgICAgICAgICIxYWE5MzM5NWZhZDVmOWI3ZjIwYjhmOTAyOGEwNTRjMGJiN2MxMWJiODUyMGU2YTk1ZTVhMzRmMDZjYjcwYmNkZCIKLSAgICAgICAgICAgICAgICAiMDFhODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgICAgKSwgKAotICAgICAgICAgICAgICAgICI1NGI0NWFmYTVkNDMxMDE5MmY4ZDIyNDYzNDI0MmRkN2RjZmIzNDIzMThkZjNkOWJkMzdiNGM2MTQ3ODhiYTEzYiIKLSAgICAgICAgICAgICAgICAiOGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCi0gICAgICAgICAgICApLCAoCi0gICAgICAgICAgICAgICAgIjJBOTQ2MDhERTg4QjZENUU5Rjg5MjBGNUFCQjA2QjI0Q0MzNUFFMUZCQUNDODdEMDc1QzYyMUMzRTI4MzNFQzkwIgotICAgICAgICAgICAgICAgICIyNzEzRTQwRjUxRTNCM0MyMTRFREZBQkM0NTEiCi0gICAgICAgICAgICApLCAiIgotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAoCi0gICAgICAgICAgICAgICAgIjU0NGYyNjI4YTI4Y2ZiNWNlMGExYjcxODBlZTY2YjQ5NzE2ZjFkOTQ3NmM0NjZjNTdmMGM0YjIzMDg5OTE3ODQzIgotICAgICAgICAgICAgICAgICIwNmQ0OGY3ODY4NjExNWVlMTllMjU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCi0gICAgICAgICAgICApLCAoCi0gICAgICAgICAgICAgICAgIjY3N2ViMzFlZjhkNjZjMTIwZmE4NzJhNjBjZDQ3ZjZlMTBjYmZkZjk0ZjkwNTAxYmQ3ODgzY2JhMDNkMTg1YmUwIgotICAgICAgICAgICAgICAgICJhMDE0OGQxNjI1NzQ1ZTljNGM4MjczMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCi0gICAgICAgICAgICApLCAoCi0gICAgICAgICAgICAgICAgIjgzMzU2MTZBRUQ3NjFGMUY3RjQ0RTZCRDQ5RTgwN0I4MkUzQkYyQkYxMUJGQTZBRjgxM0M4MDhEQkYzM0RCRkExIgotICAgICAgICAgICAgICAgICIxREFCRDZFNjE0NEJFRjM3QzY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEiCi0gICAgICAgICAgICApLCAoCi0gICAgICAgICAgICAgICAgIjB4ODMzNTYxNkFFRDc2MUYxRjdGNDRFNkJENDlFODA3QjgyRTNCRjJCRjExQkZBNkFGODEzQzgwOERCRjMzREJGIgotICAgICAgICAgICAgICAgICJBMTFEQUJENkU2MTQ0QkVGMzdDNjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MSBpcyBwcmltZSwiCi0gICAgICAgICAgICAgICAgIiAoZGVjKSAxMF4xNDMgKyAzXjQiCi0gICAgICAgICAgICApCi0gICAgICAgICksCi0gICAgICAgICgKLSAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgICAiNzZiYjM0NzA5ODUxNzQ5MTVlOTk5MzUyMmFlYzk4OTY2NjkwOGY5ZThjZjVjYjlmMDM3YmY0YWVlMzNkODg2NWMiCi0gICAgICAgICAgICAgICAgImI2NDY0MTc0Nzk1ZDA3ZTMwMDE1YjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgICAgKSwgKAotICAgICAgICAgICAgICAgICI2YWFhZjYwZDU3ODRkY2VmNjEyZDEzMzYxM2IxNzlhMzE3NTMyZWNjYTBlZWQ0MGI4YWQwYzAxZTZkNGE2ZDhjNyIKLSAgICAgICAgICAgICAgICAiOWE1MmFmMTkwYWJkNTE3MzkwMDlhOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgICAgKSwgKAotICAgICAgICAgICAgICAgICI4MzM1NjE2QUVENzYxRjFGN0Y0NEU2QkQ0OUU4MDdCODJFM0JGMkJGMTFCRkE2QUY4MTNDODA4REJGMzNEQkZBMSIKLSAgICAgICAgICAgICAgICAiMURBQkQ2RTYxNDRCRUYzN0M2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxIgotICAgICAgICAgICAgKSwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgKAotICAgICAgICAgICAgICAgICI2Y2ZkZDZlNjA5MTJlNDQxZDJkMWZjODhmNDIxYjUzM2YwMTAzYTUzMjJjY2QzZjRkYjg0ODYxNjQzYWQ2M2ZkNiIKLSAgICAgICAgICAgICAgICAiM2QxZDhjZmJjMWQ0OTgxNjI3ODZiYTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgICAgKSwgKAotICAgICAgICAgICAgICAgICIxMTc3MjQ2ZWM1ZTkzODE0ODE2NDY1ZTdmOGYyNDhiMzUwZDk1NDQzOWQzNWIyYjVkNzVkOTE3MjE4ZTdmZDVmYiIKLSAgICAgICAgICAgICAgICAiNGMyZjZkMDY2N2Y5NDY3ZmRjZjMzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgICAgKSwgKAotICAgICAgICAgICAgICAgICI4MzM1NjE2QUVENzYxRjFGN0Y0NEU2QkQ0OUU4MDdCODJFM0JGMkJGMTFCRkE2QUY4MTNDODA4REJGMzNEQkZBMSIKLSAgICAgICAgICAgICAgICAiMURBQkQ2RTYxNDRCRUYzN0M2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxIgotICAgICAgICAgICAgKSwgIiIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgKAotICAgICAgICAgICAgICAgICI3YTA5YTBiMGY4YmJmODA1NzExNmZiMDI3N2E5YmRmM2E5MWI1ZWFhODgzMGQ0NDgwODE1MTBkODk3Mzg4OGJlNSIKLSAgICAgICAgICAgICAgICAiYTlmMGFkMDRmYWNiNjlhYTM3MTVmMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCi0gICAgICAgICAgICApLCAoCi0gICAgICAgICAgICAgICAgIjc2NGRlYzZjMDVhMWMwZDg3YjY0OWVmYTVmZDk0YzkxZWEyOGJmZmI0NzI1ZDRhYjRiMzNmMWEzZThlM2IzMTRkIgotICAgICAgICAgICAgICAgICI3OTkwMjBlMjQ0YTgzNWExNDVlYzk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCi0gICAgICAgICAgICApLCAoCi0gICAgICAgICAgICAgICAgIjgzMzU2MTZBRUQ3NjFGMUY3RjQ0RTZCRDQ5RTgwN0I4MkUzQkYyQkYxMUJGQTZBRjgxM0M4MDhEQkYzM0RCRkExIgotICAgICAgICAgICAgICAgICIxREFCRDZFNjE0NEJFRjM3QzY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEiCi0gICAgICAgICAgICApLCAiIgotICAgICAgICApCi0gICAgXSAjIHR5cGU6IExpc3RbVHVwbGVbc3RyLCBzdHIsIHN0ciwgc3RyXV0KLQotICAgIGRlZiBfX2luaXRfXygKLSAgICAgICAgICAgIHNlbGYsIHZhbF9hOiBzdHIsIHZhbF9iOiBzdHIsIHZhbF9uOiBzdHIsIGNhc2VfZGVzY3JpcHRpb246IHN0ciA9ICIiCi0gICAgICAgICk6Ci0gICAgICAgIHNlbGYuY2FzZV9kZXNjcmlwdGlvbiA9IGNhc2VfZGVzY3JpcHRpb24KLSAgICAgICAgc2VsZi5hcmdfYSA9IHZhbF9hCi0gICAgICAgIHNlbGYuaW50X2EgPSBiaWdudW1fY29tbW9uLmhleF90b19pbnQodmFsX2EpCi0gICAgICAgIHNlbGYuYXJnX2IgPSB2YWxfYgotICAgICAgICBzZWxmLmludF9iID0gYmlnbnVtX2NvbW1vbi5oZXhfdG9faW50KHZhbF9iKQotICAgICAgICBzZWxmLmFyZ19uID0gdmFsX24KLSAgICAgICAgc2VsZi5pbnRfbiA9IGJpZ251bV9jb21tb24uaGV4X3RvX2ludCh2YWxfbikKLQotICAgICAgICBsaW1ic19hNCA9IGJpZ251bV9jb21tb24ubGltYnNfbXBpKHNlbGYuaW50X2EsIDMyKQotICAgICAgICBsaW1ic19hOCA9IGJpZ251bV9jb21tb24ubGltYnNfbXBpKHNlbGYuaW50X2EsIDY0KQotICAgICAgICBzZWxmLmxpbWJzX2I0ID0gYmlnbnVtX2NvbW1vbi5saW1ic19tcGkoc2VsZi5pbnRfYiwgMzIpCi0gICAgICAgIHNlbGYubGltYnNfYjggPSBiaWdudW1fY29tbW9uLmxpbWJzX21waShzZWxmLmludF9iLCA2NCkKLSAgICAgICAgc2VsZi5saW1ic19hbjQgPSBiaWdudW1fY29tbW9uLmxpbWJzX21waShzZWxmLmludF9uLCAzMikKLSAgICAgICAgc2VsZi5saW1ic19hbjggPSBiaWdudW1fY29tbW9uLmxpbWJzX21waShzZWxmLmludF9uLCA2NCkKLQotICAgICAgICBpZiBsaW1ic19hNCA+IHNlbGYubGltYnNfYW40IG9yIGxpbWJzX2E4ID4gc2VsZi5saW1ic19hbjg6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkxpbWJzIG9mIGlucHV0IEEgKHt9KSBleGNlZWRzIE4gKHt9KSIuZm9ybWF0KAotICAgICAgICAgICAgICAgIHNlbGYuYXJnX2EsIHNlbGYuYXJnX24KLSAgICAgICAgICAgICkpCi0KLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIHN0cihzZWxmLmxpbWJzX2FuNCksIHN0cihzZWxmLmxpbWJzX2I0KSwKLSAgICAgICAgICAgIHN0cihzZWxmLmxpbWJzX2FuOCksIHN0cihzZWxmLmxpbWJzX2I4KSwKLSAgICAgICAgICAgIGJpZ251bV9jb21tb24ucXVvdGVfc3RyKHNlbGYuYXJnX2EpLAotICAgICAgICAgICAgYmlnbnVtX2NvbW1vbi5xdW90ZV9zdHIoc2VsZi5hcmdfYiksCi0gICAgICAgICAgICBiaWdudW1fY29tbW9uLnF1b3RlX3N0cihzZWxmLmFyZ19uKQotICAgICAgICBdICsgc2VsZi5yZXN1bHQoKQotCi0gICAgZGVmIGRlc2NyaXB0aW9uKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgaWYgc2VsZi5jYXNlX2Rlc2NyaXB0aW9uICE9ICJyZXBsYXkiOgotICAgICAgICAgICAgaWYgbm90IHNlbGYuc3RhcnRfMl9tcGk0IGFuZCBzZWxmLmxpbWJzX2FuNCA+IDE6Ci0gICAgICAgICAgICAgICAgdG1wID0gIihzdGFydCBvZiAyLU1QSSA0LWJ5dGUgYmlnbnVtcykgIgotICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLnN0YXJ0XzJfbXBpNCA9IFRydWUKLSAgICAgICAgICAgIGVsaWYgbm90IHNlbGYuc3RhcnRfMl9tcGk4IGFuZCBzZWxmLmxpbWJzX2FuOCA+IDE6Ci0gICAgICAgICAgICAgICAgdG1wID0gIihzdGFydCBvZiAyLU1QSSA4LWJ5dGUgYmlnbnVtcykgIgotICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLnN0YXJ0XzJfbXBpOCA9IFRydWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdG1wID0gIihnZW4pICIKLSAgICAgICAgICAgIHNlbGYuY2FzZV9kZXNjcmlwdGlvbiA9IHRtcCArIHNlbGYuY2FzZV9kZXNjcmlwdGlvbgotICAgICAgICByZXR1cm4gc3VwZXIoKS5kZXNjcmlwdGlvbigpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgIiIiR2V0IHRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbi4iIiIKLSAgICAgICAgcjQgPSBiaWdudW1fY29tbW9uLmJvdW5kX21waV9saW1icyhzZWxmLmxpbWJzX2FuNCwgMzIpCi0gICAgICAgIGk0ID0gYmlnbnVtX2NvbW1vbi5pbnZtb2QocjQsIHNlbGYuaW50X24pCi0gICAgICAgIHg0ID0gc2VsZi5pbnRfYSAqIHNlbGYuaW50X2IgKiBpNAotICAgICAgICB4NCA9IHg0ICUgc2VsZi5pbnRfbgotCi0gICAgICAgIHI4ID0gYmlnbnVtX2NvbW1vbi5ib3VuZF9tcGlfbGltYnMoc2VsZi5saW1ic19hbjgsIDY0KQotICAgICAgICBpOCA9IGJpZ251bV9jb21tb24uaW52bW9kKHI4LCBzZWxmLmludF9uKQotICAgICAgICB4OCA9IHNlbGYuaW50X2EgKiBzZWxmLmludF9iICogaTgKLSAgICAgICAgeDggPSB4OCAlIHNlbGYuaW50X24KLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgICJcIns6eH1cIiIuZm9ybWF0KHg0KSwKLSAgICAgICAgICAgICJcIns6eH1cIiIuZm9ybWF0KHg4KQotICAgICAgICBdCi0KLSAgICBkZWYgc2V0X2xpbWJzKAotICAgICAgICAgICAgc2VsZiwgbGltYnNfYW40OiBpbnQsIGxpbWJzX2I0OiBpbnQsIGxpbWJzX2FuODogaW50LCBsaW1ic19iODogaW50Ci0gICAgICAgICkgLT4gTm9uZToKLSAgICAgICAgIiIiU2V0IG51bWJlciBvZiBsaW1icyBmb3IgZWFjaCBpbnB1dC4KLQotICAgICAgICBSZXBsYWNlcyBkZWZhdWx0IHZhbHVlcyBzZXQgZHVyaW5nIGluaXRpYWxpemF0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5saW1ic19hbjQgPSBsaW1ic19hbjQKLSAgICAgICAgc2VsZi5saW1ic19iNCA9IGxpbWJzX2I0Ci0gICAgICAgIHNlbGYubGltYnNfYW44ID0gbGltYnNfYW44Ci0gICAgICAgIHNlbGYubGltYnNfYjggPSBsaW1ic19iOAotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGdlbmVyYXRlX2Z1bmN0aW9uX3Rlc3RzKGNscykgLT4gSXRlcmF0b3JbdGVzdF9jYXNlLlRlc3RDYXNlXToKLSAgICAgICAgIiIiR2VuZXJhdGUgcmVwbGF5IGFuZCByYW5kb21seSBnZW5lcmF0ZWQgdGVzdCBjYXNlcy4iIiIKLSAgICAgICAgIyBUZXN0IGNhc2VzIHdoaWNoIHJlcGxheSBjYXB0dXJlZCBpbnZvY2F0aW9ucyBkdXJpbmcgdW5pdCB0ZXN0IHJ1bnMuCi0gICAgICAgIGZvciBsaW1ic19hbjQsIGxpbWJzX2I0LCBsaW1ic19hbjgsIGxpbWJzX2I4LCBhLCBiLCBuIGluIGNscy5yZXBsYXlfdGVzdF9jYXNlczoKLSAgICAgICAgICAgIGN1cl9vcCA9IGNscyhhLCBiLCBuLCBjYXNlX2Rlc2NyaXB0aW9uPSJyZXBsYXkiKQotICAgICAgICAgICAgY3VyX29wLnNldF9saW1icyhsaW1ic19hbjQsIGxpbWJzX2I0LCBsaW1ic19hbjgsIGxpbWJzX2I4KQotICAgICAgICAgICAgeWllbGQgY3VyX29wLmNyZWF0ZV90ZXN0X2Nhc2UoKQotICAgICAgICAjIFJhbmRvbSB0ZXN0IGNhc2VzIGNhbiBiZSBnZW5lcmF0ZWQgdXNpbmcgbXBpX21vZG11bF9jYXNlX2dlbmVyYXRlKCkKLSAgICAgICAgIyBVc2VzIGEgbWl4dHVyZSBvZiBwcmltZXMgYW5kIG9kZCBudW1iZXJzIGFzIE4sIHdpdGggZm91ciByYW5kb21seQotICAgICAgICAjIGdlbmVyYXRlZCBjYXNlcyBmb3IgZWFjaCBOLgotICAgICAgICBmb3IgYSwgYiwgbiwgZGVzY3JpcHRpb24gaW4gY2xzLnJhbmRvbV90ZXN0X2Nhc2VzOgotICAgICAgICAgICAgY3VyX29wID0gY2xzKGEsIGIsIG4sIGNhc2VfZGVzY3JpcHRpb249ZGVzY3JpcHRpb24pCi0gICAgICAgICAgICB5aWVsZCBjdXJfb3AuY3JlYXRlX3Rlc3RfY2FzZSgpCi0KLQotZGVmIG1waV9tb2RtdWxfY2FzZV9nZW5lcmF0ZSgpIC0+IE5vbmU6Ci0gICAgIiIiR2VuZXJhdGUgdmFsaWQgaW5wdXRzIGZvciBtb250bXVsIHRlc3RzIHVzaW5nIG1vZHVsaS4KLQotICAgIEZvciBlYWNoIG1vZHVsdXMsIGdlbmVyYXRlcyByYW5kb20gdmFsdWVzIGZvciBBIGFuZCBCIGFuZCBzaW1wbGUgZGVzY3JpcHRpb25zCi0gICAgZm9yIHRoZSB0ZXN0IGNhc2UuCi0gICAgIiIiCi0gICAgbW9kdWxpID0gWwotICAgICAgICAoIjMiLCAiIiksICgiNyIsICIiKSwgKCJCIiwgIiIpLCAoIjI5IiwgIiIpLCAoIkZGIiwgIiIpLAotICAgICAgICAoIjEwMSIsICIiKSwgKCIzOEIiLCAiIiksICgiODAwMyIsICIiKSwgKCIxMDAwMSIsICIiKSwKLSAgICAgICAgKCI3RjdGNyIsICIiKSwgKCI4MDAwMDkiLCAiIiksICgiMTAwMDAyQiIsICIiKSwgKCIzN0VFRTlEIiwgIiIpLAotICAgICAgICAoIjgwMDAwMDBCIiwgIiIpLCAoIjhDRDYyNkI5IiwgIiIpLCAoIjEwMDAwMDAwRiIsICIiKSwKLSAgICAgICAgKCIxNzQ4NzZFN0U5IiwgImlzIHByaW1lIChkZWMpIDk5OTk5OTk5OTc3IiksCi0gICAgICAgICgiODAwMDAwMDAxNyIsICIiKSwgKCI4NjRDQjkwNzZEIiwgIiIpLCAoIkY3RjdGN0Y3RjciLCAiIiksCi0gICAgICAgICgiMTAwMDAwMDAwMEYiLCAiIiksICgiODAwMDAwMDAwMDA1IiwgIiIpLCAoIjgwMDc5NUQ5QkE0NyIsICIiKSwKLSAgICAgICAgKCIxMDAwMDAwMDAwMDE1IiwgIiIpLCAoIjEwMDAwMDAwMDAwMDA1MSIsICIiKSwgKCJBQkNERUYwMTIzNDU2Nzg5IiwgIiIpLAotICAgICAgICAoCi0gICAgICAgICAgICAiMjVBNTVBNDZFNURBOTlDNzFDNyIsCi0gICAgICAgICAgICAiaXMgdGhlIDNyZCByZXB1bml0IHByaW1lIChkZWMpIDExMTExMTExMTExMTExMTExMTExMTExIgotICAgICAgICApLAotICAgICAgICAoIjMxNERDNjQzRkI3NjNGMkI4QzBFMkRFMDA4NzkiLCAiaXMgKGRlYyk5OTk5OTk5OTk3N14zIiksCi0gICAgICAgICgiNDdCRjE5NjYyMjc1RkEyRjY4NDVDNzQ5NDJFRDFEODUyRTUyMSIsICJpcyAoZGVjKSA5OTk5OTk5OTk3N140IiksCi0gICAgICAgICgKLSAgICAgICAgICAgICI5N0VERDg2RTRCNUM0NTkyQzZEMzIwNjRBQzU1Qzg4OEE3MjQ1RjA3Q0EzQ0M0NTVFMDdDOTMxIiwKLSAgICAgICAgICAgICJpcyAoZGVjKSA5OTk5OTk5OTk3N142IgotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAiREQxNUZFODBCNzMxODcyQUMxMDREQjM3ODMyRjdFNzVBMjQ0QUEyNjMxQkM4Nzg4NUI4NjFFOEYyMDM3NTQ5OSIsCi0gICAgICAgICAgICAiaXMgKGRlYykgOTk5OTk5OTk5NzdeNyIKLSAgICAgICAgKSwKLSAgICAgICAgKAotICAgICAgICAgICAgIjE0MUI4RUJEOTAwOUY4NEMyNDE4NzlBMUY2ODBGQUNDRUQzNTVEQTM2QzQ5OEY3M0U5NkU4ODBDRjc4RUE1Rjk2MTQ2MzgwRTQxIiwKLSAgICAgICAgICAgICJpcyAoZGVjKSA5OTk5OTk5OTk3N144IgotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAoCi0gICAgICAgICAgICAgICAgIjJBOTQ2MDhERTg4QjZENUU5Rjg5MjBGNUFCQjA2QjI0Q0MzNUFFMUZCQUNDODdEMDc1QzYyMUMzRTI4MyIKLSAgICAgICAgICAgICAgICAiM0VDOTAyNzEzRTQwRjUxRTNCM0MyMTRFREZBQkM0NTEiCi0gICAgICAgICAgICApLAotICAgICAgICAgICAgImlzIChkZWMpIDk5OTk5OTk5OTc3XjEwIgotICAgICAgICApLAotICAgICAgICAoCi0gICAgICAgICAgICAiODMzNTYxNkFFRDc2MUYxRjdGNDRFNkJENDlFODA3QjgyRTNCRjJCRjExQkZBNkFGODEzQzgwOERCRjMzREJGQTExIgotICAgICAgICAgICAgIkRBQkQ2RTYxNDRCRUYzN0M2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxIiwKLSAgICAgICAgICAgICJpcyBwcmltZSwgKGRlYykgMTBeMTQzICsgM140IgotICAgICAgICApCi0gICAgXSAjIHR5cGU6IExpc3RbVHVwbGVbc3RyLCBzdHJdXQotICAgIHByaW1lcyA9IFsKLSAgICAgICAgIjMiLCAiNyIsICJCIiwgIjI5IiwgIjEwMSIsICIzOEIiLCAiODAwMyIsICIxMDAwMSIsICI4MDAwMDkiLAotICAgICAgICAiMTAwMDAyQiIsICIzN0VFRTlEIiwgIjgwMDAwMDBCIiwgIjhDRDYyNkI5IiwKLSAgICAgICAgIyBGcm9tIGhlcmUgdGhleSByZXF1aXJlID4gMSA0LWJ5dGUgTVBJCi0gICAgICAgICIxMDAwMDAwMEYiLCAiMTc0ODc2RTdFOSIsICI4MDAwMDAwMDE3IiwgIjg2NENCOTA3NkQiLCAiMTAwMDAwMDAwMEYiLAotICAgICAgICAiODAwMDAwMDAwMDA1IiwgIjgwMDc5NUQ5QkE0NyIsICIxMDAwMDAwMDAwMDE1IiwgIjEwMDAwMDAwMDAwMDA1MSIsCi0gICAgICAgICMgRnJvbSBoZXJlIHRoZXkgcmVxdWlyZSA+IDEgOC1ieXRlIE1QSQotICAgICAgICAiMjVBNTVBNDZFNURBOTlDNzFDNyIsICAgICAgIyB0aGlzIGlzIDExMTExMTExMTExMTExMTExMTExMTExIGRlY2ltYWwKLSAgICAgICAgIyAxMF4xNDMgKyAzXjQ6ICh3aGljaCBpcyBwcmltZSkKLSAgICAgICAgIyAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLSAgICAgICAgIyAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKLSAgICAgICAgKAotICAgICAgICAgICAgIjgzMzU2MTZBRUQ3NjFGMUY3RjQ0RTZCRDQ5RTgwN0I4MkUzQkYyQkYxMUJGQTZBRjgxM0M4MDhEQkYzM0RCRkExMSIKLSAgICAgICAgICAgICJEQUJENkU2MTQ0QkVGMzdDNjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MSIKLSAgICAgICAgKQotICAgIF0gIyB0eXBlOiBMaXN0W3N0cl0KLSAgICBnZW5lcmF0ZWRfaW5wdXRzID0gW10KLSAgICBmb3IgbW9kLCBkZXNjcmlwdGlvbiBpbiBtb2R1bGk6Ci0gICAgICAgIG4gPSBiaWdudW1fY29tbW9uLmhleF90b19pbnQobW9kKQotICAgICAgICBtb2RfcmVhZCA9ICJ7Onh9Ii5mb3JtYXQobikKLSAgICAgICAgY2FzZV9jb3VudCA9IDMgaWYgbiA8IDUgZWxzZSA0Ci0gICAgICAgIGNhc2VzID0ge30gIyB0eXBlOiBEaWN0W2ludCwgaW50XQotICAgICAgICBpID0gMAotICAgICAgICB3aGlsZSBpIDwgY2FzZV9jb3VudDoKLSAgICAgICAgICAgIGEgPSByYW5kb20ucmFuZGludCgxLCBuKQotICAgICAgICAgICAgYiA9IHJhbmRvbS5yYW5kaW50KDEsIG4pCi0gICAgICAgICAgICBpZiBjYXNlcy5nZXQoYSkgPT0gYjoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgY2FzZXNbYV0gPSBiCi0gICAgICAgICAgICBpZiBkZXNjcmlwdGlvbjoKLSAgICAgICAgICAgICAgICBvdXRfZGVzY3JpcHRpb24gPSAiMHh7fSB7fSIuZm9ybWF0KG1vZF9yZWFkLCBkZXNjcmlwdGlvbikKLSAgICAgICAgICAgIGVsaWYgaSA9PSAwIGFuZCBsZW4obW9kKSA+IDEgYW5kIG1vZCBpbiBwcmltZXM6Ci0gICAgICAgICAgICAgICAgb3V0X2Rlc2NyaXB0aW9uID0gIigweHt9IGlzIHByaW1lKSIKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgb3V0X2Rlc2NyaXB0aW9uID0gIiIKLSAgICAgICAgICAgIGdlbmVyYXRlZF9pbnB1dHMuYXBwZW5kKAotICAgICAgICAgICAgICAgICgiezp4fSIuZm9ybWF0KGEpLCAiezp4fSIuZm9ybWF0KGIpLCBtb2QsIG91dF9kZXNjcmlwdGlvbikKLSAgICAgICAgICAgICkKLSAgICAgICAgICAgIGkgKz0gMQotICAgIHByaW50KGdlbmVyYXRlZF9pbnB1dHMpCi0KLQotY2xhc3MgQmlnbnVtQ29yZUV4cE1vZChCaWdudW1Db3JlVGFyZ2V0LCBiaWdudW1fY29tbW9uLk1vZE9wZXJhdGlvbkNvbW1vbik6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIGNvcmUgZXhwb25lbnRpYXRpb24uIiIiCi0gICAgc3ltYm9sID0gIl4iCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY29yZV9leHBfbW9kIgotICAgIHRlc3RfbmFtZSA9ICJDb3JlIG1vZHVsYXIgZXhwb25lbnRpYXRpb24gKE1vbmd0b21lcnkgZm9ybSBvbmx5KSIKLSAgICBpbnB1dF9zdHlsZSA9ICJmaXhlZCIKLSAgICBtb250Z29tZXJ5X2Zvcm1fYSA9IFRydWUKLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICAjIFJlc3VsdCBoYXMgdG8gYmUgZ2l2ZW4gaW4gTW9udGdvbWVyeSBmb3JtIHRvbwotICAgICAgICByZXN1bHQgPSBwb3coc2VsZi5pbnRfYSwgc2VsZi5pbnRfYiwgc2VsZi5pbnRfbikKLSAgICAgICAgbW9udF9yZXN1bHQgPSBzZWxmLnRvX21vbnRnb21lcnkocmVzdWx0KQotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChtb250X3Jlc3VsdCldCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgaXNfdmFsaWQoc2VsZikgLT4gYm9vbDoKLSAgICAgICAgIyBUaGUgYmFzZSBuZWVkcyB0byBiZSBjYW5vbmljYWwsIGJ1dCB0aGUgZXhwb25lbnQgY2FuIGJlIGxhcmdlciB0aGFuCi0gICAgICAgICMgdGhlIG1vZHVsdXMgKHNlZSBmb3IgZXhhbXBsZSBleHBvbmVudCBibGluZGluZykKLSAgICAgICAgcmV0dXJuIGJvb2woc2VsZi5pbnRfYSA8IHNlbGYuaW50X24pCi0KLQotY2xhc3MgQmlnbnVtQ29yZVN1YkludChCaWdudW1Db3JlVGFyZ2V0LCBiaWdudW1fY29tbW9uLk9wZXJhdGlvbkNvbW1vbik6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIGNvcmUgc3ViIGludC4iIiIKLSAgICBjb3VudCA9IDAKLSAgICBzeW1ib2wgPSAiLSIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9jb3JlX3N1Yl9pbnQiCi0gICAgdGVzdF9uYW1lID0gIm1waV9jb3JlX3N1Yl9pbnQiCi0gICAgaW5wdXRfc3R5bGUgPSAiYXJjaF9zcGxpdCIKLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBpc192YWxpZChzZWxmKSAtPiBib29sOgotICAgICAgICAjIFRoaXMgaXMgInN1YiBpbnQiLCBzbyBiIGlzIG9ubHkgb25lIGxpbWIKLSAgICAgICAgaWYgYmlnbnVtX2NvbW1vbi5saW1ic19tcGkoc2VsZi5pbnRfYiwgc2VsZi5iaXRzX2luX2xpbWIpID4gMToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgIyBPdmVycmlkaW5nIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBsZWFkaW5nIHplcm9zIG9uIGIKLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Ioc2VsZikgLT4gc3RyOgotICAgICAgICByZXR1cm4gc2VsZi52YWxfYgotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYuaW50X2EgLSBzZWxmLmludF9iCi0KLSAgICAgICAgYm9ycm93LCByZXN1bHQgPSBkaXZtb2QocmVzdWx0LCBzZWxmLmxpbWJfYm91bmRhcnkpCi0KLSAgICAgICAgIyBCb3Jyb3cgd2lsbCBiZSAtMSBpZiBub24temVybywgYnV0IHdlIHdhbnQgaXQgdG8gYmUgMSBpbiB0aGUgdGVzdCBkYXRhCi0gICAgICAgIHJldHVybiBbCi0gICAgICAgICAgICBzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KSwKLSAgICAgICAgICAgIHN0cigtYm9ycm93KQotICAgICAgICBdCi0KLWNsYXNzIEJpZ251bUNvcmVaZXJvQ2hlY2tDVChCaWdudW1Db3JlVGFyZ2V0LCBiaWdudW1fY29tbW9uLk9wZXJhdGlvbkNvbW1vbik6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIGNvcmUgemVybyBjaGVjayAoY29uc3RhbnQgZmxvdykuIiIiCi0gICAgY291bnQgPSAwCi0gICAgc3ltYm9sID0gIj09IDAiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY29yZV9jaGVja196ZXJvX2N0IgotICAgIHRlc3RfbmFtZSA9ICJtcGlfY29yZV9jaGVja196ZXJvX2N0IgotICAgIGlucHV0X3N0eWxlID0gInZhcmlhYmxlIgotICAgIGFyaXR5ID0gMQotICAgIHN1ZmZpeCA9IFRydWUKLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICByZXN1bHQgPSAxIGlmIHNlbGYuaW50X2EgPT0gMCBlbHNlIDAKLSAgICAgICAgcmV0dXJuIFtzdHIocmVzdWx0KV0KZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX2RhdGEucHkgYi9zY3JpcHRzL21iZWR0bHNfZGV2L2JpZ251bV9kYXRhLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YzZjMmM4Li4wMDAwMDAwCi0tLSBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX2RhdGEucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNTkgKzAsMCBAQAotIiIiQmFzZSB2YWx1ZXMgYW5kIGRhdGFzZXRzIGZvciBiaWdudW0gZ2VuZXJhdGVkIHRlc3RzIGFuZCBoZWxwZXIgZnVuY3Rpb25zIHRoYXQKLXByb2R1Y2VkIHRoZW0uIiIiCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLSMKLQotaW1wb3J0IHJhbmRvbQotCi0jIEZ1bmN0aW9ucyBjYWxsaW5nIHRoZXNlIHdlcmUgdXNlZCB0byBwcm9kdWNlIHRlc3QgZGF0YSBhbmQgYXJlIGhlcmUgb25seSBmb3IKLSMgcmVwcm9kdWNpYmlsaXR5LCB0aGV5IGFyZSBub3QgdXNlZCBieSB0aGUgdGVzdCBnZW5lcmF0aW9uIGZyYW1ld29yay9jbGFzc2VzCi10cnk6Ci0gICAgZnJvbSBDcnlwdG9kb21lLlV0aWwubnVtYmVyIGltcG9ydCBpc1ByaW1lLCBnZXRQcmltZSAjdHlwZTogaWdub3JlICNweWxpbnQ6IGRpc2FibGU9aW1wb3J0LWVycm9yCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotCi0jIEdlbmVyYXRlZCBieSBiaWdudW1fY29tbW9uLmdlbl9zYWZlX3ByaW1lKDE5MiwxKQotU0FGRV9QUklNRV8xOTJfQklUX1NFRURfMSA9ICJkMWMxMjdhNjY3Nzg2NzAzODMwNTAwMDM4ZWJhZWYyMGU1YTNlMmRjMzc4ZmI3NWIiCi0KLSMgRmlyc3QgbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMTkyKSAtIHNlZWQoMiwyKSwgbm90IGEgcHJpbWUKLVJBTkRPTV8xOTJfQklUX1NFRURfMl9OTzEgPSAiMTc3MjE5ZDMwZTdhMjY5ZmQ5NWJhZmM4ZjJhNGQyN2JkY2Y0YmI5OWY0YmVhOTczIgotCi0jIFNlY29uZCBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cygxOTIpIC0gc2VlZCgyLDIpLCBub3QgYSBwcmltZQotUkFORE9NXzE5Ml9CSVRfU0VFRF8yX05PMiA9ICJjZjE4MjJmZmJjNjg4Nzc4MmI0OTEwNDRkNWUzNDEyNDVjNmU0MzM3MTViYTJiZGQiCi0KLSMgVGhpcmQgbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMTkyKSAtIHNlZWQoMiwyKSwgbm90IGEgcHJpbWUKLVJBTkRPTV8xOTJfQklUX1NFRURfMl9OTzMgPSAiMzY1M2Y4ZGQ5YjFmMjgyZTQwNjdjMzU4NGVlMjA3ZjhkYTk0ZTNlOGFiNzM3MzhmIgotCi0jIEZvdXJ0aCBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cygxOTIpIC0gc2VlZCgyLDIpLCBub3QgYSBwcmltZQotUkFORE9NXzE5Ml9CSVRfU0VFRF8yX05PNCA9ICJmZmVkOTIzNTI4OGJjNzgxYWU2NjI2NzU5NGM5Yzk1MDA5MjVlNDc0OWI1NzViZDEiCi0KLSMgTmludGggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMTkyKSAtIHNlZWQoMiwyKSwgbm90IGEgcHJpbWUKLVJBTkRPTV8xOTJfQklUX1NFRURfMl9OTzkgPSAiMmExYmU5Y2Q4Njk3YmJkMGUyNTIwZTMzZTQ0YzUwNTU2YzcxYzRhNjYxNDhhODZmIgotCi0jIEdlbmVyYXRlZCBieSBiaWdudW1fY29tbW9uLmdlbl9zYWZlX3ByaW1lKDEwMjQsMykKLVNBRkVfUFJJTUVfMTAyNF9CSVRfU0VFRF8zID0gKCJjOTNiYTdlYzc0ZDk2ZjQxMWJhMDA4YmRiNzhlNjNmZjExYmI1ZGY0NmE1MWUxNmIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMmM5ZDE1NmY4ZTRlMThhYmY1ZTA1MmNiMDFmNDdkMGQxOTI1YTc3ZjYwOTkxNTc3IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImUxMjhmYjZmNTJmMzRhMjc5NTBhNTk0YmFhZGQzZDgwNTdhYmViMjIyY2YzY2NhOSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI2MmRiMTZhYmY3OWYyYWRhNWJkMjlhYjJmNTEyNDRiZjI5NWVmZjlmNmFhYmExMzAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMmVmYzQ0OWIxMjhiZTc1ZWVhY2EwNGJjM2MxYTE1NWQxMWQxNGU4YmUzMmEyYzgyIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjg3YjM5OTZjZjZhZDUyMjMiKQotCi0jIEZpcnN0IG51bWJlciBnZW5lcmF0ZWQgYnkgcmFuZG9tLmdldHJhbmRiaXRzKDEwMjQpIC0gc2VlZCg0LDIpLCBub3QgYSBwcmltZQotUkFORE9NXzEwMjRfQklUX1NFRURfNF9OTzEgPSAoIjY5MDUyNjllZDZmMGIwOWYxNjVjOGNlMzZlMmYyNGI0MzAwMGRlMDFiMmVkNDBlZCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIzYWRkY2NiMmMzM2JlMGFjNzlkNjc5MzQ2ZDRhYzdhNWMzOTAyYjM4OTYzZGM2ZTgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNTM0ZjQ1NzM4ZDA0OGVjMGYxMDk5YzZjM2UxYjI1OGZkNzI0NDUyY2NlYTcxZmY0IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImExNDg3NmFlYWZmMWEwOThjYTU5OTY2NjZjZWFiMzYwNTEyYmQxMzExMDcyMjMxMSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI3MTBjZjUzMjdhYzQzNWE3YTk3YzY0MzY1NjQxMmE5YjhhMWFiY2QxYTY5MTZjNzQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGE0ZjlmYzNjNmRhNWQ3IikKLQotIyBTZWNvbmQgbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMTAyNCkgLSBzZWVkKDQsMiksIG5vdCBhIHByaW1lCi1SQU5ET01fMTAyNF9CSVRfU0VFRF80X05PMiA9ICgiZjFjZmQ5OTIxNmRmNjQ4NjQ3YWRlYzI2NzkzZDBlNDUzZjUwODI0OTJkODNhODIzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjNmYjYyZDJjODE4NjJmYzk2MzRmODA2ZmFiZjRhMDdjNTY2MDAyMjQ5YjE5MWJmNCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkODQ0MWI1NjE2MzMyYWNhNWY1NTI3NzNlMTRiMDE5MGQ5MzkzNmUxZGFjYTNjMDYiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZjVmZjBjMDNiYjVkNzM4NWRlMDhjYWExYTA4MTc5MTA0YTI1ZTQ2NjRmNTI1M2EwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjJhMzE4Nzg1MzE4NGZmMjc0NTkxNDJkZWNjZWEyNjQ1NDJhMDA0MDNjZTgwYzRiMCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhNDA0MmJiM2Q0MzQxYWFkIikKLQotIyBUaGlyZCBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cygxMDI0KSAtIHNlZWQoNCwyKSwgbm90IGEgcHJpbWUKLVJBTkRPTV8xMDI0X0JJVF9TRUVEXzRfTk8zID0gKCIxNGMxNWM5MTBiMTFhZDI4Y2MyMWNlODhkMDA2MGNjNTQyNzhjMjYxNGUxYmNiMzgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiM2JiNGE1NzAyOTRjNGVhMzczOGQyNDNhNmU1OGQ1Y2E0OWM3YjU5Yjk5NTI1M2ZkIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjZjNzlhM2RlNjlmODVlMzEzMWYzYjkyMzgyMjRiMTIyYzNlNGE4OTJkOTE5NmFkYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI0ZmNmYTU4M2UxZGY4YWY5YjQ3NGM3ZTg5Mjg2YTE3NTRhYmNiMDZhZThhYmI5M2YiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMDFkODlhMDI0Y2RjZTdhNmQ3Mjg4ZmY2OGMzMjBmODlmMTM0N2UwY2RkOTA1ZWNmIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImQxNjBjNWQwZWY0MTJlZDYiKQotCi0jIEZvdXJ0aCBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cygxMDI0KSAtIHNlZWQoNCwyKSwgbm90IGEgcHJpbWUKLVJBTkRPTV8xMDI0X0JJVF9TRUVEXzRfTk80ID0gKCIzMmRlY2Q2YjhlZmJjMTcwYTI2YTI1Yzg1MjE3NWI3YTk2Yjk4YjVmYmYzN2EyYmUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNmY5OGJjYTM1YjE3Yjk2NjJmMDczM2M4NDZiYmU5ZTg3MGVmNTViMWExZjY1NTA3IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImEyOTA5Y2I2MzNlMjM4YjRlOWRkMzhiODY5YWNlOTEzMTEwMjFjOWUzMjExMWFjMSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYzdjYzRhNGZmNGRhYjEwMjUyMmQ1Mzg1N2M0OTM5MWIzNmNjOWFhNzhhMzMwYTEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYTVlMzMzY2I4OGRjZjk0Mzg0ZDRjZDFmNDdjYTc4ODNmZjVhNTJmMWEwNTg4NWFjIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjc2NzE4NjNjMGJkYmMyM2EiKQotCi0jIEZpZnRoIG51bWJlciBnZW5lcmF0ZWQgYnkgcmFuZG9tLmdldHJhbmRiaXRzKDEwMjQpIC0gc2VlZCg0LDIpLCBub3QgYSBwcmltZQotUkFORE9NXzEwMjRfQklUX1NFRURfNF9OTzUgPSAoIjUzYmU0NzIxZjViOWUxZjVhY2RhYzYxNWJjMjBmNjI2NDkyMmI5Y2NmNDY5YWVmOCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmNmU3ZDA3OGU1NWI4NWRkMTUyNWYzNjNiMjgxYjg4ODViNjlkYzIzMGFmNWFjODciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMDY5MmI1MzQ3NTgyNDBkZjRhN2EwMzA1MmQ3MzNkY2RlZjQwYWYyZTU0YzBjZTY4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjFmNDRlYmQxM2NjNzVmM2VkY2IyODVmODlkOGNmNGQ0OTUwYjE2ZmZjM2UxYWMzYiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI0NzA4ZDk4OTNhOTczMDAwYjU0YTIzMDIwZmM1YjA0M2Q2ZTRhNTE1MTlkOWM5Y2MiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNTJkMzIzNzdlNzgxMzFjMSIpCi0KLSMgQWRkaW5nIDE5MiBiaXQgYW5kIDEwMjQgYml0IG51bWJlcnMgYmVjYXVzZSB0aGVzZSBhcmUgdGhlIHNob3J0ZXN0IHJlcXVpcmVkCi0jIGZvciBFQ0MgYW5kIFJTQSByZXNwZWN0aXZlbHkuCi1JTlBVVFNfREVGQVVMVCA9IFsKLSAgICAgICAgIjAiLCAiMSIsICMgY29ybmVyIGNhc2VzCi0gICAgICAgICIyIiwgIjMiLCAjIHNtYWxsIHByaW1lcwotICAgICAgICAiNCIsICAgICAgIyBub24tcHJpbWUgZXZlbgotICAgICAgICAiMzgiLCAgICAgIyBzbWFsbCByYW5kb20KLSAgICAgICAgU0FGRV9QUklNRV8xOTJfQklUX1NFRURfMSwgICMgcHJpbWUKLSAgICAgICAgUkFORE9NXzE5Ml9CSVRfU0VFRF8yX05PMSwgICMgbm90IGEgcHJpbWUKLSAgICAgICAgUkFORE9NXzE5Ml9CSVRfU0VFRF8yX05PMiwgICMgbm90IGEgcHJpbWUKLSAgICAgICAgU0FGRV9QUklNRV8xMDI0X0JJVF9TRUVEXzMsICMgcHJpbWUKLSAgICAgICAgUkFORE9NXzEwMjRfQklUX1NFRURfNF9OTzEsICMgbm90IGEgcHJpbWUKLSAgICAgICAgUkFORE9NXzEwMjRfQklUX1NFRURfNF9OTzMsICMgbm90IGEgcHJpbWUKLSAgICAgICAgUkFORE9NXzEwMjRfQklUX1NFRURfNF9OTzIsICMgbGFyZ2VzdCAobm90IGEgcHJpbWUpCi0gICAgICAgIF0KLQotQUREX1NVQl9EQVRBID0gWwotICAgICIwIiwgIjEiLCAiMyIsICJmIiwgImZlIiwgImZmIiwgIjEwMCIsICJmZjAwIiwKLSAgICAiZmZmZSIsICJmZmZmIiwgIjEwMDAwIiwgIyAyXjE2IC0gMSwgMl4xNiwgMl4xNiArIDEKLSAgICAiZmZmZmZmZmUiLCAiZmZmZmZmZmYiLCAiMTAwMDAwMDAwIiwgIyAyXjMyIC0gMSwgMl4zMiwgMl4zMiArIDEKLSAgICAiMWY3ZjdmN2Y3ZjdmN2YiLAotICAgICI4MDAwMDAwMDAwMDAwMDAwIiwgImZlZmVmZWZlZmVmZWZlZmUiLAotICAgICJmZmZmZmZmZmZmZmZmZmZlIiwgImZmZmZmZmZmZmZmZmZmZmYiLCAiMTAwMDAwMDAwMDAwMDAwMDAiLCAjIDJeNjQgLSAxLCAyXjY0LCAyXjY0ICsgMQotICAgICIxMjM0NTY3ODkwYWJjZGVmMCIsCi0gICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZSIsCi0gICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIsCi0gICAgIjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAotICAgICJmZmZmZmZmZmZmZmZmZmZmZmVmZWZlZmVmZWZlZmVmZSIsCi0gICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlIiwKLSAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiLAotICAgICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAotICAgICIxMjM0NTY3ODkwYWJjZGVmMDEyMzQ1Njc4OTBhYmNkZWYwIiwKLSAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZWZlZmVmZWZlZmVmZSIsCi0gICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUiLAotICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiwKLSAgICAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAotICAgICIxMjM0NTY3ODkwYWJjZGVmMDEyMzQ1Njc4OTBhYmNkZWYwMTIzNDU2Nzg5MGFiY2RlZjAxMjM0NTY3ODkwYWJjZGVmMCIsCi0gICAgXQotCi0jIE9ubHkgb2RkIG1vZHVsaSBhcmUgcHJlc2VudCBhcyBpbiB0aGUgbmV3IGJpZ251bSBjb2RlIG9ubHkgb2RkIG1vZHVsaSBhcmUKLSMgc3VwcG9ydGVkIGZvciBub3cuCi1NT0RVTElfREVGQVVMVCA9IFsKLSAgICAgICAgIjUzIiwgIyBzYWZlIHByaW1lCi0gICAgICAgICI0NSIsICMgbm9uLXByaW1lCi0gICAgICAgIFNBRkVfUFJJTUVfMTkyX0JJVF9TRUVEXzEsICAjIHNhZmUgcHJpbWUKLSAgICAgICAgUkFORE9NXzE5Ml9CSVRfU0VFRF8yX05PNCwgICMgbm90IGEgcHJpbWUKLSAgICAgICAgU0FGRV9QUklNRV8xMDI0X0JJVF9TRUVEXzMsICMgc2FmZSBwcmltZQotICAgICAgICBSQU5ET01fMTAyNF9CSVRfU0VFRF80X05PNSwgIyBub3QgYSBwcmltZQotICAgICAgICBdCi0KLSMgU29tZSBmdW5jdGlvbnMsIGUuZy4gbWJlZHRsc19tcGlfbW9kX3Jhd19pbnZfcHJpbWUoKSwgb25seSBzdXBwb3J0IHByaW1lIG1vZHVsaS4KLU9OTFlfUFJJTUVfTU9EVUxJID0gWwotICAgICAgICAiNTMiLCAjIHNhZmUgcHJpbWUKLSAgICAgICAgIjhhYzcyMzA0MDU3MzkyYjUiLCAgICAgIyA5OTk5OTk5OTk3Nzc3Nzc3MzMzIChsb25nZXIsIG5vdCBzYWZlLCBwcmltZSkKLSAgICAgICAgIyBUaGUgbmV4dCBwcmltZSBoYXMgYSBkaWZmZXJlbnQgUiBpbiBNb250Z29tZXJ5IGZvcm0gZGVwZW5kaW5nIG9uCi0gICAgICAgICMgd2hldGhlciAzMi0gb3IgNjQtYml0IE1QSXMgYXJlIHVzZWQuCi0gICAgICAgICIxNTJkMDJjN2UxNGFmNjdmZTBiZiIsICMgOTk5OTk5OTk5OTk5OTk5OTk5OTE5OTkKLSAgICAgICAgU0FGRV9QUklNRV8xOTJfQklUX1NFRURfMSwgICMgc2FmZSBwcmltZQotICAgICAgICBTQUZFX1BSSU1FXzEwMjRfQklUX1NFRURfMywgIyBzYWZlIHByaW1lCi0gICAgICAgIF0KLQotZGVmIF9fZ2VuX3NhZmVfcHJpbWUoYml0cywgc2VlZCk6Ci0gICAgJycnCi0gICAgR2VuZXJhdGUgYSBzYWZlIHByaW1lLgotCi0gICAgVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCBmb3IgZ2VuZXJhdGluZyBjb25zdGFudHMgb2ZmbGluZSBhbmQgc2hvdWxkbid0IGJlCi0gICAgdXNlZCBpbiB0ZXN0IGdlbmVyYXRpb24gY2xhc3Nlcy4KLQotICAgIFJlcXVpcmVzIHB5Y3J5cHRvZG9tZXggZm9yIGdldFByaW1lIGFuZCBpc1ByaW1lIGFuZCBweXRob24gMy45IG9yIGxhdGVyIGZvcgotICAgIHJhbmRieXRlcy4KLSAgICAnJycKLSAgICBybmcgPSByYW5kb20uUmFuZG9tKCkKLSAgICAjIFdlIHdhbnQgcmVwcm9kdWNpYmlsaXR5IGFjcm9zcyBweXRob24gdmVyc2lvbnMKLSAgICBybmcuc2VlZChzZWVkLCB2ZXJzaW9uPTIpCi0gICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgcHJpbWUgPSAyKmdldFByaW1lKGJpdHMtMSwgcm5nLnJhbmRieXRlcykrMSAjcHlsaW50OiBkaXNhYmxlPW5vLW1lbWJlcgotICAgICAgICBpZiBpc1ByaW1lKHByaW1lLCAxZS0zMCk6Ci0gICAgICAgICAgICByZXR1cm4gcHJpbWUKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX21vZC5weSBiL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX21vZC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU1NDAwMS4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L2JpZ251bV9tb2QucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMDIgKzAsMCBAQAotIiIiRnJhbWV3b3JrIGNsYXNzZXMgZm9yIGdlbmVyYXRpb24gb2YgYmlnbnVtIG1vZCB0ZXN0IGNhc2VzLiIiIgotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLWZyb20gdHlwaW5nIGltcG9ydCBEaWN0LCBMaXN0Ci0KLWZyb20gLiBpbXBvcnQgdGVzdF9kYXRhX2dlbmVyYXRpb24KLWZyb20gLiBpbXBvcnQgYmlnbnVtX2NvbW1vbgotZnJvbSAuYmlnbnVtX2RhdGEgaW1wb3J0IE9OTFlfUFJJTUVfTU9EVUxJCi0KLWNsYXNzIEJpZ251bU1vZFRhcmdldCh0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5CYXNlVGFyZ2V0KToKLSAgICAjcHlsaW50OiBkaXNhYmxlPWFic3RyYWN0LW1ldGhvZCwgdG9vLWZldy1wdWJsaWMtbWV0aG9kcwotICAgICIiIlRhcmdldCBmb3IgYmlnbnVtIG1vZCB0ZXN0IGNhc2UgZ2VuZXJhdGlvbi4iIiIKLSAgICB0YXJnZXRfYmFzZW5hbWUgPSAndGVzdF9zdWl0ZV9iaWdudW1fbW9kLmdlbmVyYXRlZCcKLQotCi1jbGFzcyBCaWdudW1Nb2RNdWwoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sCi0gICAgICAgICAgICAgICAgICAgQmlnbnVtTW9kVGFyZ2V0KToKLSAgICAjIHB5bGludDpkaXNhYmxlPWR1cGxpY2F0ZS1jb2RlCi0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIG1waV9tb2RfbXVsKCkuIiIiCi0gICAgc3ltYm9sID0gIioiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfbW9kX211bCIKLSAgICB0ZXN0X25hbWUgPSAibWJlZHRsc19tcGlfbW9kX211bCIKLSAgICBpbnB1dF9zdHlsZSA9ICJhcmNoX3NwbGl0IgotICAgIGFyaXR5ID0gMgotCi0gICAgZGVmIGFyZ3VtZW50cyhzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHNlbGYudG9fbW9udGdvbWVyeShzZWxmLmludF9hKSksCi0gICAgICAgICAgICAgICAgc2VsZi5mb3JtYXRfcmVzdWx0KHNlbGYudG9fbW9udGdvbWVyeShzZWxmLmludF9iKSksCi0gICAgICAgICAgICAgICAgYmlnbnVtX2NvbW1vbi5xdW90ZV9zdHIoc2VsZi5hcmdfbikKLSAgICAgICAgICAgICAgIF0gKyBzZWxmLnJlc3VsdCgpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gKHNlbGYuaW50X2EgKiBzZWxmLmludF9iKSAlIHNlbGYuaW50X24KLSAgICAgICAgcmV0dXJuIFtzZWxmLmZvcm1hdF9yZXN1bHQoc2VsZi50b19tb250Z29tZXJ5KHJlc3VsdCkpXQotCi0KLWNsYXNzIEJpZ251bU1vZFN1YihiaWdudW1fY29tbW9uLk1vZE9wZXJhdGlvbkNvbW1vbiwgQmlnbnVtTW9kVGFyZ2V0KToKLSAgICAiIiJUZXN0IGNhc2VzIGZvciBiaWdudW0gbXBpX21vZF9zdWIoKS4iIiIKLSAgICBzeW1ib2wgPSAiLSIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9tb2Rfc3ViIgotICAgIHRlc3RfbmFtZSA9ICJtYmVkdGxzX21waV9tb2Rfc3ViIgotICAgIGlucHV0X3N0eWxlID0gImZpeGVkIgotICAgIGFyaXR5ID0gMgotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IChzZWxmLmludF9hIC0gc2VsZi5pbnRfYikgJSBzZWxmLmludF9uCi0gICAgICAgICMgVG8gbWFrZSBuZWdhdGl2ZSB0ZXN0cyBlYXNpZXIsIGFwcGVuZCAwIGZvciBzdWNjZXNzIHRvIHRoZQotICAgICAgICAjIGdlbmVyYXRlZCBjYXNlcwotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChyZXN1bHQpLCAiMCJdCi0KLWNsYXNzIEJpZ251bU1vZEludk5vbk1vbnQoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sIEJpZ251bU1vZFRhcmdldCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIG1waV9tb2RfaW52KCkgLSBub3QgaW4gTW9udGdvbWVyeSBmb3JtLiIiIgotICAgIG1vZHVsaSA9IE9OTFlfUFJJTUVfTU9EVUxJICAjIGZvciBub3cgb25seSBwcmltZSBtb2R1bGkgc3VwcG9ydGVkCi0gICAgc3ltYm9sID0gIl4gLTEiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfbW9kX2ludl9ub25fbW9udCIKLSAgICB0ZXN0X25hbWUgPSAibWJlZHRsc19tcGlfbW9kX2ludiBub24tTW9udC4gZm9ybSIKLSAgICBpbnB1dF9zdHlsZSA9ICJmaXhlZCIKLSAgICBhcml0eSA9IDEKLSAgICBzdWZmaXggPSBUcnVlCi0gICAgZGlzYWxsb3dfemVyb19hID0gVHJ1ZQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IGJpZ251bV9jb21tb24uaW52bW9kX3Bvc2l0aXZlKHNlbGYuaW50X2EsIHNlbGYuaW50X24pCi0gICAgICAgICMgVG8gbWFrZSBuZWdhdGl2ZSB0ZXN0cyBlYXNpZXIsIGFwcGVuZCAwIGZvciBzdWNjZXNzIHRvIHRoZQotICAgICAgICAjIGdlbmVyYXRlZCBjYXNlcwotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChyZXN1bHQpLCAiMCJdCi0KLWNsYXNzIEJpZ251bU1vZEludk1vbnQoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sIEJpZ251bU1vZFRhcmdldCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIG1waV9tb2RfaW52KCkgLSBNb250Z29tZXJ5IGZvcm0uIiIiCi0gICAgbW9kdWxpID0gT05MWV9QUklNRV9NT0RVTEkgICMgZm9yIG5vdyBvbmx5IHByaW1lIG1vZHVsaSBzdXBwb3J0ZWQKLSAgICBzeW1ib2wgPSAiXiAtMSIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9tb2RfaW52X21vbnQiCi0gICAgdGVzdF9uYW1lID0gIm1iZWR0bHNfbXBpX21vZF9pbnYgTW9udC4gZm9ybSIKLSAgICBpbnB1dF9zdHlsZSA9ICJhcmNoX3NwbGl0IiAgIyBNb250LiBmb3JtIHJlcXVpcmVzIGFyY2hfc3BsaXQKLSAgICBhcml0eSA9IDEKLSAgICBzdWZmaXggPSBUcnVlCi0gICAgZGlzYWxsb3dfemVyb19hID0gVHJ1ZQotICAgIG1vbnRnb21lcnlfZm9ybV9hID0gVHJ1ZQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IGJpZ251bV9jb21tb24uaW52bW9kX3Bvc2l0aXZlKHNlbGYuaW50X2EsIHNlbGYuaW50X24pCi0gICAgICAgIG1vbnRfcmVzdWx0ID0gc2VsZi50b19tb250Z29tZXJ5KHJlc3VsdCkKLSAgICAgICAgIyBUbyBtYWtlIG5lZ2F0aXZlIHRlc3RzIGVhc2llciwgYXBwZW5kIDAgZm9yIHN1Y2Nlc3MgdG8gdGhlCi0gICAgICAgICMgZ2VuZXJhdGVkIGNhc2VzCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KG1vbnRfcmVzdWx0KSwgIjAiXQotCi0KLWNsYXNzIEJpZ251bU1vZEFkZChiaWdudW1fY29tbW9uLk1vZE9wZXJhdGlvbkNvbW1vbiwgQmlnbnVtTW9kVGFyZ2V0KToKLSAgICAiIiJUZXN0IGNhc2VzIGZvciBiaWdudW0gbXBpX21vZF9hZGQoKS4iIiIKLSAgICBjb3VudCA9IDAKLSAgICBzeW1ib2wgPSAiKyIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9tb2RfYWRkIgotICAgIHRlc3RfbmFtZSA9ICJtYmVkdGxzX21waV9tb2RfYWRkIgotICAgIGlucHV0X3N0eWxlID0gImZpeGVkIgotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IChzZWxmLmludF9hICsgc2VsZi5pbnRfYikgJSBzZWxmLmludF9uCi0gICAgICAgICMgVG8gbWFrZSBuZWdhdGl2ZSB0ZXN0cyBlYXNpZXIsIGFwcGVuZCAiMCIgZm9yIHN1Y2Nlc3MgdG8gdGhlCi0gICAgICAgICMgZ2VuZXJhdGVkIGNhc2VzCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHJlc3VsdCksICIwIl0KZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX21vZF9yYXcucHkgYi9zY3JpcHRzL21iZWR0bHNfZGV2L2JpZ251bV9tb2RfcmF3LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2FkMjdhLi4wMDAwMDAwCi0tLSBhL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX21vZF9yYXcucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyNDIgKzAsMCBAQAotIiIiRnJhbWV3b3JrIGNsYXNzZXMgZm9yIGdlbmVyYXRpb24gb2YgYmlnbnVtIG1vZF9yYXcgdGVzdCBjYXNlcy4iIiIKLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotIwotCi1mcm9tIHR5cGluZyBpbXBvcnQgSXRlcmF0b3IsIExpc3QKLQotZnJvbSAuIGltcG9ydCB0ZXN0X2Nhc2UKLWZyb20gLiBpbXBvcnQgdGVzdF9kYXRhX2dlbmVyYXRpb24KLWZyb20gLiBpbXBvcnQgYmlnbnVtX2NvbW1vbgotZnJvbSAuYmlnbnVtX2RhdGEgaW1wb3J0IE9OTFlfUFJJTUVfTU9EVUxJCi0KLWNsYXNzIEJpZ251bU1vZFJhd1RhcmdldCh0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5CYXNlVGFyZ2V0KToKLSAgICAjcHlsaW50OiBkaXNhYmxlPWFic3RyYWN0LW1ldGhvZCwgdG9vLWZldy1wdWJsaWMtbWV0aG9kcwotICAgICIiIlRhcmdldCBmb3IgYmlnbnVtIG1vZF9yYXcgdGVzdCBjYXNlIGdlbmVyYXRpb24uIiIiCi0gICAgdGFyZ2V0X2Jhc2VuYW1lID0gJ3Rlc3Rfc3VpdGVfYmlnbnVtX21vZF9yYXcuZ2VuZXJhdGVkJwotCi0KLWNsYXNzIEJpZ251bU1vZFJhd1N1YihiaWdudW1fY29tbW9uLk1vZE9wZXJhdGlvbkNvbW1vbiwKLSAgICAgICAgICAgICAgICAgICAgICBCaWdudW1Nb2RSYXdUYXJnZXQpOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIGJpZ251bSBtcGlfbW9kX3Jhd19zdWIoKS4iIiIKLSAgICBzeW1ib2wgPSAiLSIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9tb2RfcmF3X3N1YiIKLSAgICB0ZXN0X25hbWUgPSAibWJlZHRsc19tcGlfbW9kX3Jhd19zdWIiCi0gICAgaW5wdXRfc3R5bGUgPSAiZml4ZWQiCi0gICAgYXJpdHkgPSAyCi0KLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmV0dXJuIFtiaWdudW1fY29tbW9uLnF1b3RlX3N0cihuKSBmb3IgbiBpbiBbc2VsZi5hcmdfYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hcmdfYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hcmdfbl0KLSAgICAgICAgICAgICAgIF0gKyBzZWxmLnJlc3VsdCgpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gKHNlbGYuaW50X2EgLSBzZWxmLmludF9iKSAlIHNlbGYuaW50X24KLSAgICAgICAgcmV0dXJuIFtzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KV0KLQotY2xhc3MgQmlnbnVtTW9kUmF3Rml4UXVhc2lSZWR1Y3Rpb24oYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWdudW1Nb2RSYXdUYXJnZXQpOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIGVjcCBxdWFzaV9yZWR1Y3Rpb24oKS4iIiIKLSAgICBzeW1ib2wgPSAiLSIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9tb2RfcmF3X2ZpeF9xdWFzaV9yZWR1Y3Rpb24iCi0gICAgdGVzdF9uYW1lID0gImZpeF9xdWFzaV9yZWR1Y3Rpb24iCi0gICAgaW5wdXRfc3R5bGUgPSAiZml4ZWQiCi0gICAgYXJpdHkgPSAxCi0KLSAgICAjIEV4dGVuZCB0aGUgZGVmYXVsdCB2YWx1ZXMgd2l0aCBuIDwgeCA8IDJuCi0gICAgaW5wdXRfdmFsdWVzID0gYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24uaW5wdXRfdmFsdWVzICsgWwotICAgICAgICAiNzMiLAotCi0gICAgICAgICMgRmlyc3QgbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMTAyNCkgLSBzZWVkKDMsMikKLSAgICAgICAgImVhN2I1YmY1NWViNTYxYTQyMTYzNjM2OThiNTI5YjRhOTdiNzUwOTIzY2ViM2ZmZCIsCi0KLSAgICAgICAgIyBGaXJzdCBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cygxMDI0KSAtIHNlZWQoMSwyKQotICAgICAgICAoImNkNDQ3ZTM1YjhiNmQ4ZmU0NDJlM2Q0MzcyMDRlNTJkYjIyMjFhNTgwMDhhMDVhNmM0NjQ3MTU5YzMyNGM5ODUiCi0gICAgICAgICAiOWI4MTBlNzY2ZWM5ZDI4NjYzY2E4MjhkZDVmNGIzYjJlNGIwNmNlNjA3NDFjN2E4N2NlNDJjODIxODA3MmU4YyIKLSAgICAgICAgICIzNWJmOTkyZGM5ZTljNjE2NjEyZTc2OTZhNmNlY2MxYjc4ZTUxMDYxNzMxMWQ4YTNjMmNlNmY0NDdlZDRkNTdiIgotICAgICAgICAgIjFlMmZlYjg5NDE0YzM0M2MxMDI3YzRkMWMzODZiYmM0Y2Q2MTNlMzBkOGYxNmFkZjkxYjc1ODRhMjI2NWIxZjUiKQotICAgIF0gIyB0eXBlOiBMaXN0W3N0cl0KLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICByZXN1bHQgPSBzZWxmLmludF9hICUgc2VsZi5pbnRfbgotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChyZXN1bHQpXQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGlzX3ZhbGlkKHNlbGYpIC0+IGJvb2w6Ci0gICAgICAgIHJldHVybiBib29sKHNlbGYuaW50X2EgPCAyICogc2VsZi5pbnRfbikKLQotY2xhc3MgQmlnbnVtTW9kUmF3TXVsKGJpZ251bV9jb21tb24uTW9kT3BlcmF0aW9uQ29tbW9uLAotICAgICAgICAgICAgICAgICAgICAgIEJpZ251bU1vZFJhd1RhcmdldCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIG1waV9tb2RfcmF3X211bCgpLiIiIgotICAgIHN5bWJvbCA9ICIqIgotICAgIHRlc3RfZnVuY3Rpb24gPSAibXBpX21vZF9yYXdfbXVsIgotICAgIHRlc3RfbmFtZSA9ICJtYmVkdGxzX21waV9tb2RfcmF3X211bCIKLSAgICBpbnB1dF9zdHlsZSA9ICJhcmNoX3NwbGl0IgotICAgIGFyaXR5ID0gMgotCi0gICAgZGVmIGFyZ3VtZW50cyhzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHNlbGYudG9fbW9udGdvbWVyeShzZWxmLmludF9hKSksCi0gICAgICAgICAgICAgICAgc2VsZi5mb3JtYXRfcmVzdWx0KHNlbGYudG9fbW9udGdvbWVyeShzZWxmLmludF9iKSksCi0gICAgICAgICAgICAgICAgYmlnbnVtX2NvbW1vbi5xdW90ZV9zdHIoc2VsZi5hcmdfbikKLSAgICAgICAgICAgICAgIF0gKyBzZWxmLnJlc3VsdCgpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gKHNlbGYuaW50X2EgKiBzZWxmLmludF9iKSAlIHNlbGYuaW50X24KLSAgICAgICAgcmV0dXJuIFtzZWxmLmZvcm1hdF9yZXN1bHQoc2VsZi50b19tb250Z29tZXJ5KHJlc3VsdCkpXQotCi0KLWNsYXNzIEJpZ251bU1vZFJhd0ludlByaW1lKGJpZ251bV9jb21tb24uTW9kT3BlcmF0aW9uQ29tbW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmlnbnVtTW9kUmF3VGFyZ2V0KToKLSAgICAiIiJUZXN0IGNhc2VzIGZvciBiaWdudW0gbXBpX21vZF9yYXdfaW52X3ByaW1lKCkuIiIiCi0gICAgbW9kdWxpID0gT05MWV9QUklNRV9NT0RVTEkKLSAgICBzeW1ib2wgPSAiXiAtMSIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9tb2RfcmF3X2ludl9wcmltZSIKLSAgICB0ZXN0X25hbWUgPSAibWJlZHRsc19tcGlfbW9kX3Jhd19pbnZfcHJpbWUgKE1vbnRnb21lcnkgZm9ybSBvbmx5KSIKLSAgICBpbnB1dF9zdHlsZSA9ICJhcmNoX3NwbGl0IgotICAgIGFyaXR5ID0gMQotICAgIHN1ZmZpeCA9IFRydWUKLSAgICBtb250Z29tZXJ5X2Zvcm1fYSA9IFRydWUKLSAgICBkaXNhbGxvd196ZXJvX2EgPSBUcnVlCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gYmlnbnVtX2NvbW1vbi5pbnZtb2RfcG9zaXRpdmUoc2VsZi5pbnRfYSwgc2VsZi5pbnRfbikKLSAgICAgICAgbW9udF9yZXN1bHQgPSBzZWxmLnRvX21vbnRnb21lcnkocmVzdWx0KQotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChtb250X3Jlc3VsdCldCi0KLQotY2xhc3MgQmlnbnVtTW9kUmF3QWRkKGJpZ251bV9jb21tb24uTW9kT3BlcmF0aW9uQ29tbW9uLAotICAgICAgICAgICAgICAgICAgICAgIEJpZ251bU1vZFJhd1RhcmdldCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIG1waV9tb2RfcmF3X2FkZCgpLiIiIgotICAgIHN5bWJvbCA9ICIrIgotICAgIHRlc3RfZnVuY3Rpb24gPSAibXBpX21vZF9yYXdfYWRkIgotICAgIHRlc3RfbmFtZSA9ICJtYmVkdGxzX21waV9tb2RfcmF3X2FkZCIKLSAgICBpbnB1dF9zdHlsZSA9ICJmaXhlZCIKLSAgICBhcml0eSA9IDIKLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICByZXN1bHQgPSAoc2VsZi5pbnRfYSArIHNlbGYuaW50X2IpICUgc2VsZi5pbnRfbgotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChyZXN1bHQpXQotCi0KLWNsYXNzIEJpZ251bU1vZFJhd0NvbnZlcnRSZXAoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpZ251bU1vZFJhd1RhcmdldCk6Ci0gICAgIyBUaGlzIGlzIGFuIGFic3RyYWN0IGNsYXNzLCBpdCdzIG9rIHRvIGhhdmUgdW5pbXBsZW1lbnRlZCBtZXRob2RzLgotICAgICNweWxpbnQ6IGRpc2FibGU9YWJzdHJhY3QtbWV0aG9kCi0gICAgIiIiVGVzdCBjYXNlcyBmb3IgcmVwcmVzZW50YXRpb24gY29udmVyc2lvbi4iIiIKLSAgICBzeW1ib2wgPSAiIgotICAgIGlucHV0X3N0eWxlID0gImFyY2hfc3BsaXQiCi0gICAgYXJpdHkgPSAxCi0gICAgcmVwID0gYmlnbnVtX2NvbW1vbi5Nb2R1bHVzUmVwcmVzZW50YXRpb24uSU5WQUxJRAotCi0gICAgZGVmIHNldF9yZXByZXNlbnRhdGlvbihzZWxmLCByOiBiaWdudW1fY29tbW9uLk1vZHVsdXNSZXByZXNlbnRhdGlvbikgLT4gTm9uZToKLSAgICAgICAgc2VsZi5yZXAgPSByCi0KLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmV0dXJuIChbYmlnbnVtX2NvbW1vbi5xdW90ZV9zdHIoc2VsZi5hcmdfbiksIHNlbGYucmVwLnN5bWJvbCgpLAotICAgICAgICAgICAgICAgICBiaWdudW1fY29tbW9uLnF1b3RlX3N0cihzZWxmLmFyZ19hKV0gKwotICAgICAgICAgICAgICAgIHNlbGYucmVzdWx0KCkpCi0KLSAgICBkZWYgZGVzY3JpcHRpb24oc2VsZikgLT4gc3RyOgotICAgICAgICBiYXNlID0gc3VwZXIoKS5kZXNjcmlwdGlvbigpCi0gICAgICAgIG1vZF93aXRoX3JlcCA9ICdtb2Qoe30pJy5mb3JtYXQoc2VsZi5yZXAubmFtZSkKLSAgICAgICAgcmV0dXJuIGJhc2UucmVwbGFjZSgnbW9kJywgbW9kX3dpdGhfcmVwLCAxKQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRlc3RfY2FzZXNfZm9yX3ZhbHVlcyhjbHMsIHJlcDogYmlnbnVtX2NvbW1vbi5Nb2R1bHVzUmVwcmVzZW50YXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuOiBzdHIsIGE6IHN0cikgLT4gSXRlcmF0b3JbdGVzdF9jYXNlLlRlc3RDYXNlXToKLSAgICAgICAgIiIiRW1pdCB0ZXN0IGNhc2VzIGZvciB0aGUgZ2l2ZW4gdmFsdWVzIChpZiBhbnkpLgotCi0gICAgICAgIFRoaXMgbWF5IGVtaXQgbm8gdGVzdCBjYXNlcyBpZiBhIGlzbid0IHZhbGlkIGZvciB0aGUgbW9kdWx1cyBuLAotICAgICAgICBvciBtdWx0aXBsZSB0ZXN0IGNhc2VzIGlmIHJlcCByZXF1aXJlcyBkaWZmZXJlbnQgZGF0YSBkZXBlbmRpbmcKLSAgICAgICAgb24gdGhlIGxpbWIgc2l6ZS4KLSAgICAgICAgIiIiCi0gICAgICAgIGZvciBiaWwgaW4gY2xzLmxpbWJfc2l6ZXM6Ci0gICAgICAgICAgICB0ZXN0X29iamVjdCA9IGNscyhuLCBhLCBiaXRzX2luX2xpbWI9YmlsKQotICAgICAgICAgICAgdGVzdF9vYmplY3Quc2V0X3JlcHJlc2VudGF0aW9uKHJlcCkKLSAgICAgICAgICAgICMgVGhlIGNsYXNzIGlzIHNldCB0byBoYXZpbmcgc2VwYXJhdGUgdGVzdCBjYXNlcyBmb3IgZWFjaCBsaW1iCi0gICAgICAgICAgICAjIHNpemUsIGJlY2F1c2UgdGhlIE1vbnRnb21lcnkgcmVwcmVzZW50YXRpb24gcmVxdWlyZXMgaXQuCi0gICAgICAgICAgICAjIEJ1dCBvdGhlciByZXByZXNlbnRhdGlvbnMgZG9uJ3QgcmVxdWlyZSBpdC4gU28gZm9yIG90aGVyCi0gICAgICAgICAgICAjIHJlcHJlc2VudGF0aW9ucywgZW1pdCBhIHNpbmdsZSB0ZXN0IGNhc2Ugd2l0aCBubyBkZXBlbmRlbmN5Ci0gICAgICAgICAgICAjIG9uIHRoZSBsaW1iIHNpemUuCi0gICAgICAgICAgICBpZiByZXAgaXMgbm90IGJpZ251bV9jb21tb24uTW9kdWx1c1JlcHJlc2VudGF0aW9uLk1PTlRHT01FUlk6Ci0gICAgICAgICAgICAgICAgdGVzdF9vYmplY3QuZGVwZW5kZW5jaWVzID0gXAotICAgICAgICAgICAgICAgICAgICBbZGVwIGZvciBkZXAgaW4gdGVzdF9vYmplY3QuZGVwZW5kZW5jaWVzCi0gICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGVwLnN0YXJ0c3dpdGgoJ01CRURUTFNfSEFWRV9JTlQnKV0KLSAgICAgICAgICAgIGlmIHRlc3Rfb2JqZWN0LmlzX3ZhbGlkOgotICAgICAgICAgICAgICAgIHlpZWxkIHRlc3Rfb2JqZWN0LmNyZWF0ZV90ZXN0X2Nhc2UoKQotICAgICAgICAgICAgaWYgcmVwIGlzIG5vdCBiaWdudW1fY29tbW9uLk1vZHVsdXNSZXByZXNlbnRhdGlvbi5NT05UR09NRVJZOgotICAgICAgICAgICAgICAgICMgQSBzaW5nbGUgdGVzdCBjYXNlIChlbWl0dGVkLCBvciBza2lwcGVkIGR1ZSB0byBpbnZhbGlkaXR5KQotICAgICAgICAgICAgICAgICMgaXMgZW5vdWdoLCBzaW5jZSB0aGlzIHRlc3QgY2FzZSBkb2Vzbid0IGRlcGVuZCBvbiB0aGUKLSAgICAgICAgICAgICAgICAjIGxpbWIgc2l6ZS4KLSAgICAgICAgICAgICAgICBicmVhawotCi0gICAgIyBUaGUgcGFyZW50IGNsYXNzIGRvZXNuJ3Qgc3VwcG9ydCBub24tYmlnbnVtIHBhcmFtZXRlcnMuIFNvIHdlIG92ZXJyaWRlCi0gICAgIyB0ZXN0IGdlbmVyYXRpb24sIGluIG9yZGVyIHRvIGhhdmUgdGhlIHJlcHJlc2VudGF0aW9uIGFzIGEgcGFyYW1ldGVyLgotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBnZW5lcmF0ZV9mdW5jdGlvbl90ZXN0cyhjbHMpIC0+IEl0ZXJhdG9yW3Rlc3RfY2FzZS5UZXN0Q2FzZV06Ci0KLSAgICAgICAgZm9yIHJlcCBpbiBiaWdudW1fY29tbW9uLk1vZHVsdXNSZXByZXNlbnRhdGlvbi5zdXBwb3J0ZWRfcmVwcmVzZW50YXRpb25zKCk6Ci0gICAgICAgICAgICBmb3IgbiBpbiBjbHMubW9kdWxpOgotICAgICAgICAgICAgICAgIGZvciBhIGluIGNscy5pbnB1dF92YWx1ZXM6Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gY2xzLnRlc3RfY2FzZXNfZm9yX3ZhbHVlcyhyZXAsIG4sIGEpCi0KLWNsYXNzIEJpZ251bU1vZFJhd0Nhbm9uaWNhbFRvTW9kdWx1c1JlcChCaWdudW1Nb2RSYXdDb252ZXJ0UmVwKToKLSAgICAiIiJUZXN0IGNhc2VzIGZvciBtcGlfbW9kX3Jhd19jYW5vbmljYWxfdG9fbW9kdWx1c19yZXAuIiIiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfbW9kX3Jhd19jYW5vbmljYWxfdG9fbW9kdWx1c19yZXAiCi0gICAgdGVzdF9uYW1lID0gIlJlcCBjYW5vbi0+bW9kIgotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHNlbGYuY29udmVydF9mcm9tX2Nhbm9uaWNhbChzZWxmLmludF9hLCBzZWxmLnJlcCkpXQotCi1jbGFzcyBCaWdudW1Nb2RSYXdNb2R1bHVzVG9DYW5vbmljYWxSZXAoQmlnbnVtTW9kUmF3Q29udmVydFJlcCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgbXBpX21vZF9yYXdfbW9kdWx1c190b19jYW5vbmljYWxfcmVwLiIiIgotICAgIHRlc3RfZnVuY3Rpb24gPSAibXBpX21vZF9yYXdfbW9kdWx1c190b19jYW5vbmljYWxfcmVwIgotICAgIHRlc3RfbmFtZSA9ICJSZXAgbW9kLT5jYW5vbiIKLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBhcmdfYShzZWxmKSAtPiBzdHI6Ci0gICAgICAgIHJldHVybiBzZWxmLmZvcm1hdF9hcmcoIns6eH0iLmZvcm1hdChzZWxmLmNvbnZlcnRfZnJvbV9jYW5vbmljYWwoc2VsZi5pbnRfYSwgc2VsZi5yZXApKSkKLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChzZWxmLmludF9hKV0KLQotCi1jbGFzcyBCaWdudW1Nb2RSYXdDb252ZXJ0VG9Nb250KGJpZ251bV9jb21tb24uTW9kT3BlcmF0aW9uQ29tbW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWdudW1Nb2RSYXdUYXJnZXQpOgotICAgICIiIiBUZXN0IGNhc2VzIGZvciBtcGlfbW9kX3Jhd190b19tb250X3JlcCgpLiAiIiIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIm1waV9tb2RfcmF3X3RvX21vbnRfcmVwIgotICAgIHRlc3RfbmFtZSA9ICJDb252ZXJ0IGludG8gTW9udDogIgotICAgIHN5bWJvbCA9ICJSICoiCi0gICAgaW5wdXRfc3R5bGUgPSAiYXJjaF9zcGxpdCIKLSAgICBhcml0eSA9IDEKLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICByZXN1bHQgPSBzZWxmLnRvX21vbnRnb21lcnkoc2VsZi5pbnRfYSkKLSAgICAgICAgcmV0dXJuIFtzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KV0KLQotY2xhc3MgQmlnbnVtTW9kUmF3Q29udmVydEZyb21Nb250KGJpZ251bV9jb21tb24uTW9kT3BlcmF0aW9uQ29tbW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpZ251bU1vZFJhd1RhcmdldCk6Ci0gICAgIiIiIFRlc3QgY2FzZXMgZm9yIG1waV9tb2RfcmF3X2Zyb21fbW9udF9yZXAoKS4gIiIiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfbW9kX3Jhd19mcm9tX21vbnRfcmVwIgotICAgIHRlc3RfbmFtZSA9ICJDb252ZXJ0IGZyb20gTW9udDogIgotICAgIHN5bWJvbCA9ICIxL1IgKiIKLSAgICBpbnB1dF9zdHlsZSA9ICJhcmNoX3NwbGl0IgotICAgIGFyaXR5ID0gMQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYuZnJvbV9tb250Z29tZXJ5KHNlbGYuaW50X2EpCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHJlc3VsdCldCi0KLWNsYXNzIEJpZ251bU1vZFJhd01vZE5lZ2F0ZShiaWdudW1fY29tbW9uLk1vZE9wZXJhdGlvbkNvbW1vbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWdudW1Nb2RSYXdUYXJnZXQpOgotICAgICIiIiBUZXN0IGNhc2VzIGZvciBtcGlfbW9kX3Jhd19uZWcoKS4gIiIiCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfbW9kX3Jhd19uZWciCi0gICAgdGVzdF9uYW1lID0gIk1vZHVsYXIgbmVnYXRpb246ICIKLSAgICBzeW1ib2wgPSAiLSIKLSAgICBpbnB1dF9zdHlsZSA9ICJhcmNoX3NwbGl0IgotICAgIGFyaXR5ID0gMQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IChzZWxmLmludF9uIC0gc2VsZi5pbnRfYSkgJSBzZWxmLmludF9uCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHJlc3VsdCldCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L2J1aWxkX3RyZWUucHkgYi9zY3JpcHRzL21iZWR0bHNfZGV2L2J1aWxkX3RyZWUucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjNjdlNGMuLjAwMDAwMDAKLS0tIGEvc2NyaXB0cy9tYmVkdGxzX2Rldi9idWlsZF90cmVlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTIwICswLDAgQEAKLSIiIk1iZWQgVExTIGJ1aWxkIHRyZWUgaW5mb3JtYXRpb24gYW5kIG1hbmlwdWxhdGlvbi4KLSIiIgotCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLSMKLQotaW1wb3J0IG9zCi1pbXBvcnQgaW5zcGVjdAotZnJvbSB0eXBpbmcgaW1wb3J0IE9wdGlvbmFsCi0KLWRlZiBsb29rc19saWtlX3RmX3BzYV9jcnlwdG9fcm9vdChwYXRoOiBzdHIpIC0+IGJvb2w6Ci0gICAgIiIiV2hldGhlciB0aGUgZ2l2ZW4gZGlyZWN0b3J5IGxvb2tzIGxpa2UgdGhlIHJvb3Qgb2YgdGhlIFBTQSBDcnlwdG8gc291cmNlIHRyZWUuIiIiCi0gICAgcmV0dXJuIGFsbChvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihwYXRoLCBzdWJkaXIpKQotICAgICAgICAgICAgICAgZm9yIHN1YmRpciBpbiBbJ2luY2x1ZGUnLCAnY29yZScsICdkcml2ZXJzJywgJ3Byb2dyYW1zJywgJ3Rlc3RzJ10pCi0KLWRlZiBsb29rc19saWtlX21iZWR0bHNfcm9vdChwYXRoOiBzdHIpIC0+IGJvb2w6Ci0gICAgIiIiV2hldGhlciB0aGUgZ2l2ZW4gZGlyZWN0b3J5IGxvb2tzIGxpa2UgdGhlIHJvb3Qgb2YgdGhlIE1iZWQgVExTIHNvdXJjZSB0cmVlLiIiIgotICAgIHJldHVybiBhbGwob3MucGF0aC5pc2Rpcihvcy5wYXRoLmpvaW4ocGF0aCwgc3ViZGlyKSkKLSAgICAgICAgICAgICAgIGZvciBzdWJkaXIgaW4gWydpbmNsdWRlJywgJ2xpYnJhcnknLCAncHJvZ3JhbXMnLCAndGVzdHMnXSkKLQotZGVmIGxvb2tzX2xpa2Vfcm9vdChwYXRoOiBzdHIpIC0+IGJvb2w6Ci0gICAgcmV0dXJuIGxvb2tzX2xpa2VfdGZfcHNhX2NyeXB0b19yb290KHBhdGgpIG9yIGxvb2tzX2xpa2VfbWJlZHRsc19yb290KHBhdGgpCi0KLWRlZiBjcnlwdG9fY29yZV9kaXJlY3Rvcnkocm9vdDogT3B0aW9uYWxbc3RyXSA9IE5vbmUsIHJlbGF0aXZlOiBPcHRpb25hbFtib29sXSA9IEZhbHNlKSAtPiBzdHI6Ci0gICAgIiIiCi0gICAgUmV0dXJuIHRoZSBwYXRoIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgUFNBIGNyeXB0byBjb3JlCi0gICAgZm9yIGVpdGhlciBURi1QU0EtQ3J5cHRvIG9yIE1iZWQgVExTLgotCi0gICAgUmV0dXJucyBlaXRoZXIgdGhlIGZ1bGwgcGF0aCBvciByZWxhdGl2ZSBwYXRoIGRlcGVuZGluZyBvbiB0aGUKLSAgICAicmVsYXRpdmUiIGJvb2xlYW4gYXJndW1lbnQuCi0gICAgIiIiCi0gICAgaWYgcm9vdCBpcyBOb25lOgotICAgICAgICByb290ID0gZ3Vlc3NfcHJvamVjdF9yb290KCkKLSAgICBpZiBsb29rc19saWtlX3RmX3BzYV9jcnlwdG9fcm9vdChyb290KToKLSAgICAgICAgaWYgcmVsYXRpdmU6Ci0gICAgICAgICAgICByZXR1cm4gImNvcmUiCi0gICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4ocm9vdCwgImNvcmUiKQotICAgIGVsaWYgbG9va3NfbGlrZV9tYmVkdGxzX3Jvb3Qocm9vdCk6Ci0gICAgICAgIGlmIHJlbGF0aXZlOgotICAgICAgICAgICAgcmV0dXJuICJsaWJyYXJ5IgotICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKHJvb3QsICJsaWJyYXJ5IikKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBFeGNlcHRpb24oJ05laXRoZXIgTWJlZCBUTFMgbm9yIFRGLVBTQS1DcnlwdG8gc291cmNlIHRyZWUgZm91bmQnKQotCi1kZWYgY3J5cHRvX2xpYnJhcnlfZmlsZW5hbWUocm9vdDogT3B0aW9uYWxbc3RyXSA9IE5vbmUpIC0+IHN0cjoKLSAgICAiIiJSZXR1cm4gdGhlIGNyeXB0byBsaWJyYXJ5IGZpbGVuYW1lIGZvciBlaXRoZXIgVEYtUFNBLUNyeXB0byBvciBNYmVkIFRMUy4iIiIKLSAgICBpZiByb290IGlzIE5vbmU6Ci0gICAgICAgIHJvb3QgPSBndWVzc19wcm9qZWN0X3Jvb3QoKQotICAgIGlmIGxvb2tzX2xpa2VfdGZfcHNhX2NyeXB0b19yb290KHJvb3QpOgotICAgICAgICByZXR1cm4gInRmcHNhY3J5cHRvIgotICAgIGVsaWYgbG9va3NfbGlrZV9tYmVkdGxzX3Jvb3Qocm9vdCk6Ci0gICAgICAgIHJldHVybiAibWJlZGNyeXB0byIKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBFeGNlcHRpb24oJ05laXRoZXIgTWJlZCBUTFMgbm9yIFRGLVBTQS1DcnlwdG8gc291cmNlIHRyZWUgZm91bmQnKQotCi1kZWYgY2hlY2tfcmVwb19wYXRoKCk6Ci0gICAgIiIiQ2hlY2sgdGhhdCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB0aGUgcHJvamVjdCByb290LCBhbmQgdGhyb3cKLSAgICBhbiBleGNlcHRpb24gaWYgbm90LgotICAgICIiIgotICAgIGlmIG5vdCBhbGwob3MucGF0aC5pc2RpcihkKSBmb3IgZCBpbiBbImluY2x1ZGUiLCAibGlicmFyeSIsICJ0ZXN0cyJdKToKLSAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJUaGlzIHNjcmlwdCBtdXN0IGJlIHJ1biBmcm9tIE1iZWQgVExTIHJvb3QiKQotCi1kZWYgY2hkaXJfdG9fcm9vdCgpIC0+IE5vbmU6Ci0gICAgIiIiRGV0ZWN0IHRoZSByb290IG9mIHRoZSBNYmVkIFRMUyBzb3VyY2UgdHJlZSBhbmQgY2hhbmdlIHRvIGl0LgotCi0gICAgVGhlIGN1cnJlbnQgZGlyZWN0b3J5IG11c3QgYmUgdXAgdG8gdHdvIGxldmVscyBkZWVwIGluc2lkZSBhbiBNYmVkIFRMUwotICAgIHNvdXJjZSB0cmVlLgotICAgICIiIgotICAgIGZvciBkIGluIFtvcy5wYXRoLmN1cmRpciwKLSAgICAgICAgICAgICAgb3MucGF0aC5wYXJkaXIsCi0gICAgICAgICAgICAgIG9zLnBhdGguam9pbihvcy5wYXRoLnBhcmRpciwgb3MucGF0aC5wYXJkaXIpXToKLSAgICAgICAgaWYgbG9va3NfbGlrZV9yb290KGQpOgotICAgICAgICAgICAgb3MuY2hkaXIoZCkKLSAgICAgICAgICAgIHJldHVybgotICAgIHJhaXNlIEV4Y2VwdGlvbignTWJlZCBUTFMgc291cmNlIHRyZWUgbm90IGZvdW5kJykKLQotZGVmIGd1ZXNzX3Byb2plY3Rfcm9vdCgpOgotICAgICIiIkd1ZXNzIHByb2plY3Qgc291cmNlIGNvZGUgZGlyZWN0b3J5LgotCi0gICAgUmV0dXJuIHRoZSBmaXJzdCBwb3NzaWJsZSBwcm9qZWN0IHJvb3QgZGlyZWN0b3J5LgotICAgICIiIgotICAgIGRpcnMgPSBzZXQoe30pCi0gICAgZm9yIGZyYW1lIGluIGluc3BlY3Quc3RhY2soKToKLSAgICAgICAgcGF0aCA9IG9zLnBhdGguZGlybmFtZShmcmFtZS5maWxlbmFtZSkKLSAgICAgICAgZm9yIGQgaW4gWycuJywgb3MucGF0aC5wYXJkaXJdIFwKLSAgICAgICAgICAgICAgICAgKyBbb3MucGF0aC5qb2luKCooW29zLnBhdGgucGFyZGlyXSppKSkgZm9yIGkgaW4gcmFuZ2UoMiwgMTApXToKLSAgICAgICAgICAgIGQgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHBhdGgsIGQpKQotICAgICAgICAgICAgaWYgZCBpbiBkaXJzOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBkaXJzLmFkZChkKQotICAgICAgICAgICAgaWYgbG9va3NfbGlrZV9yb290KGQpOgotICAgICAgICAgICAgICAgIHJldHVybiBkCi0gICAgcmFpc2UgRXhjZXB0aW9uKCdOZWl0aGVyIE1iZWQgVExTIG5vciBURi1QU0EtQ3J5cHRvIHNvdXJjZSB0cmVlIGZvdW5kJykKLQotZGVmIGd1ZXNzX21iZWR0bHNfcm9vdChyb290OiBPcHRpb25hbFtzdHJdID0gTm9uZSkgLT4gc3RyOgotICAgICIiIkd1ZXNzIE1iZWQgVExTIHNvdXJjZSBjb2RlIGRpcmVjdG9yeS4KLQotICAgIFJldHVybiB0aGUgZmlyc3QgcG9zc2libGUgTWJlZCBUTFMgcm9vdCBkaXJlY3RvcnkuCi0gICAgUmFpc2UgYW4gZXhjZXB0aW9uIGlmIHdlIGFyZSBub3QgaW4gTWJlZCBUTFMuCi0gICAgIiIiCi0gICAgaWYgcm9vdCBpcyBOb25lOgotICAgICAgICByb290ID0gZ3Vlc3NfcHJvamVjdF9yb290KCkKLSAgICBpZiBsb29rc19saWtlX21iZWR0bHNfcm9vdChyb290KToKLSAgICAgICAgcmV0dXJuIHJvb3QKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBFeGNlcHRpb24oJ01iZWQgVExTIHNvdXJjZSB0cmVlIG5vdCBmb3VuZCcpCi0KLWRlZiBndWVzc190Zl9wc2FfY3J5cHRvX3Jvb3Qocm9vdDogT3B0aW9uYWxbc3RyXSA9IE5vbmUpIC0+IHN0cjoKLSAgICAiIiJHdWVzcyBURi1QU0EtQ3J5cHRvIHNvdXJjZSBjb2RlIGRpcmVjdG9yeS4KLQotICAgIFJldHVybiB0aGUgZmlyc3QgcG9zc2libGUgVEYtUFNBLUNyeXB0byByb290IGRpcmVjdG9yeS4KLSAgICBSYWlzZSBhbiBleGNlcHRpb24gaWYgd2UgYXJlIG5vdCBpbiBURi1QU0EtQ3J5cHRvLgotICAgICIiIgotICAgIGlmIHJvb3QgaXMgTm9uZToKLSAgICAgICAgcm9vdCA9IGd1ZXNzX3Byb2plY3Rfcm9vdCgpCi0gICAgaWYgbG9va3NfbGlrZV90Zl9wc2FfY3J5cHRvX3Jvb3Qocm9vdCk6Ci0gICAgICAgIHJldHVybiByb290Ci0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdURi1QU0EtQ3J5cHRvIHNvdXJjZSB0cmVlIG5vdCBmb3VuZCcpCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L2NfYnVpbGRfaGVscGVyLnB5IGIvc2NyaXB0cy9tYmVkdGxzX2Rldi9jX2J1aWxkX2hlbHBlci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjJjYmJlNC4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L2NfYnVpbGRfaGVscGVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTYyICswLDAgQEAKLSIiIkdlbmVyYXRlIGFuZCBydW4gQyBjb2RlLgotIiIiCi0KLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotIwotCi1pbXBvcnQgb3MKLWltcG9ydCBwbGF0Zm9ybQotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCBzeXMKLWltcG9ydCB0ZW1wZmlsZQotCi1kZWYgcmVtb3ZlX2ZpbGVfaWZfZXhpc3RzKGZpbGVuYW1lKToKLSAgICAiIiJSZW1vdmUgdGhlIHNwZWNpZmllZCBmaWxlLCBpZ25vcmluZyBlcnJvcnMuIiIiCi0gICAgaWYgbm90IGZpbGVuYW1lOgotICAgICAgICByZXR1cm4KLSAgICB0cnk6Ci0gICAgICAgIG9zLnJlbW92ZShmaWxlbmFtZSkKLSAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgcGFzcwotCi1kZWYgY3JlYXRlX2NfZmlsZShmaWxlX2xhYmVsKToKLSAgICAiIiJDcmVhdGUgYSB0ZW1wb3JhcnkgQyBmaWxlLgotCi0gICAgKiBgYGZpbGVfbGFiZWxgYDogYSBzdHJpbmcgdGhhdCB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBmaWxlIG5hbWUuCi0KLSAgICBSZXR1cm4gYGBgKGNfZmlsZSwgY19uYW1lLCBleGVfbmFtZSlgYGAgd2hlcmUgYGBjX2ZpbGVgYCBpcyBhIFB5dGhvbgotICAgIHN0cmVhbSBvcGVuIGZvciB3cml0aW5nIHRvIHRoZSBmaWxlLCBgYGNfbmFtZWBgIGlzIHRoZSBuYW1lIG9mIHRoZSBmaWxlCi0gICAgYW5kIGBgZXhlX25hbWVgYCBpcyB0aGUgbmFtZSBvZiB0aGUgZXhlY3V0YWJsZSB0aGF0IHdpbGwgYmUgcHJvZHVjZWQKLSAgICBieSBjb21waWxpbmcgdGhlIGZpbGUuCi0gICAgIiIiCi0gICAgY19mZCwgY19uYW1lID0gdGVtcGZpbGUubWtzdGVtcChwcmVmaXg9J3RtcC17fS0nLmZvcm1hdChmaWxlX2xhYmVsKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1ZmZpeD0nLmMnKQotICAgIGV4ZV9zdWZmaXggPSAnLmV4ZScgaWYgcGxhdGZvcm0uc3lzdGVtKCkgPT0gJ1dpbmRvd3MnIGVsc2UgJycKLSAgICBleGVfbmFtZSA9IGNfbmFtZVs6LTJdICsgZXhlX3N1ZmZpeAotICAgIHJlbW92ZV9maWxlX2lmX2V4aXN0cyhleGVfbmFtZSkKLSAgICBjX2ZpbGUgPSBvcy5mZG9wZW4oY19mZCwgJ3cnLCBlbmNvZGluZz0nYXNjaWknKQotICAgIHJldHVybiBjX2ZpbGUsIGNfbmFtZSwgZXhlX25hbWUKLQotZGVmIGdlbmVyYXRlX2NfcHJpbnRmX2V4cHJlc3Npb25zKGNfZmlsZSwgY2FzdF90bywgcHJpbnRmX2Zvcm1hdCwgZXhwcmVzc2lvbnMpOgotICAgICIiIkdlbmVyYXRlIEMgaW5zdHJ1Y3Rpb25zIHRvIHByaW50IHRoZSB2YWx1ZSBvZiBgYGV4cHJlc3Npb25zYGAuCi0KLSAgICBXcml0ZSB0aGUgY29kZSB3aXRoIGBgY19maWxlYGAncyBgYHdyaXRlYGAgbWV0aG9kLgotCi0gICAgRWFjaCBleHByZXNzaW9uIGlzIGNhc3QgdG8gdGhlIHR5cGUgYGBjYXN0X3RvYGAgYW5kIHByaW50ZWQgd2l0aCB0aGUKLSAgICBwcmludGYgZm9ybWF0IGBgcHJpbnRmX2Zvcm1hdGBgLgotICAgICIiIgotICAgIGZvciBleHByIGluIGV4cHJlc3Npb25zOgotICAgICAgICBjX2ZpbGUud3JpdGUoJyAgICBwcmludGYoInt9XFxuIiwgKHt9KSB7fSk7XG4nCi0gICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KHByaW50Zl9mb3JtYXQsIGNhc3RfdG8sIGV4cHIpKQotCi1kZWYgZ2VuZXJhdGVfY19maWxlKGNfZmlsZSwKLSAgICAgICAgICAgICAgICAgICAgY2FsbGVyLCBoZWFkZXIsCi0gICAgICAgICAgICAgICAgICAgIG1haW5fZ2VuZXJhdG9yKToKLSAgICAiIiJHZW5lcmF0ZSBhIHRlbXBvcmFyeSBDIHNvdXJjZSBmaWxlLgotCi0gICAgKiBgYGNfZmlsZWBgIGlzIGFuIG9wZW4gc3RyZWFtIG9uIHRoZSBDIHNvdXJjZSBmaWxlLgotICAgICogYGBjYWxsZXJgYDogYW4gaW5mb3JtYXRpb25hbCBzdHJpbmcgd3JpdHRlbiBpbiBhIGNvbW1lbnQgYXQgdGhlIHRvcAotICAgICAgb2YgdGhlIGZpbGUuCi0gICAgKiBgYGhlYWRlcmBgOiBleHRyYSBjb2RlIHRvIGluc2VydCBiZWZvcmUgYW55IGZ1bmN0aW9uIGluIHRoZSBnZW5lcmF0ZWQKLSAgICAgIEMgZmlsZS4KLSAgICAqIGBgbWFpbl9nZW5lcmF0b3JgYDogYSBmdW5jdGlvbiBjYWxsZWQgd2l0aCBgYGNfZmlsZWBgIGFzIGl0cyBzb2xlIGFyZ3VtZW50Ci0gICAgICB0byBnZW5lcmF0ZSB0aGUgYm9keSBvZiB0aGUgYGBtYWluKClgYCBmdW5jdGlvbi4KLSAgICAiIiIKLSAgICBjX2ZpbGUud3JpdGUoJy8qIEdlbmVyYXRlZCBieSB7fSAqLycKLSAgICAgICAgICAgICAgICAgLmZvcm1hdChjYWxsZXIpKQotICAgIGNfZmlsZS53cml0ZSgnJycKLSNpbmNsdWRlIDxzdGRpby5oPgotJycnKQotICAgIGNfZmlsZS53cml0ZShoZWFkZXIpCi0gICAgY19maWxlLndyaXRlKCcnJwotaW50IG1haW4odm9pZCkKLXsKLScnJykKLSAgICBtYWluX2dlbmVyYXRvcihjX2ZpbGUpCi0gICAgY19maWxlLndyaXRlKCcnJyAgICByZXR1cm4gMDsKLX0KLScnJykKLQotZGVmIGNvbXBpbGVfY19maWxlKGNfZmlsZW5hbWUsIGV4ZV9maWxlbmFtZSwgaW5jbHVkZV9kaXJzKToKLSAgICAiIiJDb21waWxlIGEgQyBzb3VyY2UgZmlsZSB3aXRoIHRoZSBob3N0IGNvbXBpbGVyLgotCi0gICAgKiBgYGNfZmlsZW5hbWVgYDogdGhlIG5hbWUgb2YgdGhlIHNvdXJjZSBmaWxlIHRvIGNvbXBpbGUuCi0gICAgKiBgYGV4ZV9maWxlbmFtZWBgOiB0aGUgbmFtZSBmb3IgdGhlIGV4ZWN1dGFibGUgdG8gYmUgY3JlYXRlZC4KLSAgICAqIGBgaW5jbHVkZV9kaXJzYGA6IGEgbGlzdCBvZiBwYXRocyB0byBpbmNsdWRlIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZAotICAgICAgd2l0aCB0aGUgLUkgc3dpdGNoLgotICAgICIiIgotICAgICMgUmVzcGVjdCAkSE9TVENDIGlmIGl0IGlzIHNldAotICAgIGNjID0gb3MuZ2V0ZW52KCdIT1NUQ0MnLCBOb25lKQotICAgIGlmIGNjIGlzIE5vbmU6Ci0gICAgICAgIGNjID0gb3MuZ2V0ZW52KCdDQycsICdjYycpCi0gICAgY21kID0gW2NjXQotCi0gICAgcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oY21kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLkRFVk5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKLSAgICBjY19pc19tc3ZjID0gJ01pY3Jvc29mdCAoUikgQy9DKysnIGluIHByb2MuY29tbXVuaWNhdGUoKVsxXQotCi0gICAgY21kICs9IFsnLUknICsgZGlyIGZvciBkaXIgaW4gaW5jbHVkZV9kaXJzXQotICAgIGlmIGNjX2lzX21zdmM6Ci0gICAgICAgICMgTVNWQyBoYXMgZGVwcmVjYXRlZCB1c2luZyAtbyB0byBzcGVjaWZ5IHRoZSBvdXRwdXQgZmlsZSwKLSAgICAgICAgIyBhbmQgcHJvZHVjZXMgYW4gb2JqZWN0IGZpbGUgaW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGJ5IGRlZmF1bHQuCi0gICAgICAgIG9ial9maWxlbmFtZSA9IGV4ZV9maWxlbmFtZVs6LTRdICsgJy5vYmonCi0gICAgICAgIGNtZCArPSBbJy1GZScgKyBleGVfZmlsZW5hbWUsICctRm8nICsgb2JqX2ZpbGVuYW1lXQotICAgIGVsc2U6Ci0gICAgICAgIGNtZCArPSBbJy1vJyArIGV4ZV9maWxlbmFtZV0KLQotICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChjbWQgKyBbY19maWxlbmFtZV0pCi0KLWRlZiBnZXRfY19leHByZXNzaW9uX3ZhbHVlcygKLSAgICAgICAgY2FzdF90bywgcHJpbnRmX2Zvcm1hdCwKLSAgICAgICAgZXhwcmVzc2lvbnMsCi0gICAgICAgIGNhbGxlcj1fX25hbWVfXywgZmlsZV9sYWJlbD0nJywKLSAgICAgICAgaGVhZGVyPScnLCBpbmNsdWRlX3BhdGg9Tm9uZSwKLSAgICAgICAga2VlcF9jPUZhbHNlLAotKTogIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktYXJndW1lbnRzLCB0b28tbWFueS1sb2NhbHMKLSAgICAiIiJHZW5lcmF0ZSBhbmQgcnVuIGEgcHJvZ3JhbSB0byBwcmludCBvdXQgbnVtZXJpY2FsIHZhbHVlcyBmb3IgZXhwcmVzc2lvbnMuCi0KLSAgICAqIGBgY2FzdF90b2BgOiBhIEMgdHlwZS4KLSAgICAqIGBgcHJpbnRmX2Zvcm1hdGBgOiBhIHByaW50ZiBmb3JtYXQgc3VpdGFibGUgZm9yIHRoZSB0eXBlIGBgY2FzdF90b2BgLgotICAgICogYGBoZWFkZXJgYDogZXh0cmEgY29kZSB0byBpbnNlcnQgYmVmb3JlIGFueSBmdW5jdGlvbiBpbiB0aGUgZ2VuZXJhdGVkCi0gICAgICBDIGZpbGUuCi0gICAgKiBgYGV4cHJlc3Npb25zYGA6IGEgbGlzdCBvZiBDIGxhbmd1YWdlIGV4cHJlc3Npb25zIHRoYXQgaGF2ZSB0aGUgdHlwZQotICAgICAgYGBjYXN0X3RvYGAuCi0gICAgKiBgYGluY2x1ZGVfcGF0aGBgOiBhIGxpc3Qgb2YgZGlyZWN0b3JpZXMgY29udGFpbmluZyBoZWFkZXIgZmlsZXMuCi0gICAgKiBgYGtlZXBfY2BgOiBpZiB0cnVlLCBrZWVwIHRoZSB0ZW1wb3JhcnkgQyBmaWxlIChwcmVzdW1hYmx5IGZvciBkZWJ1Z2dpbmcKLSAgICAgIHB1cnBvc2VzKS4KLQotICAgIFVzZSB0aGUgQyBjb21waWxlciBzcGVjaWZpZWQgYnkgdGhlIGBgQ0NgYCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgZGVmYXVsdGluZwotICAgIHRvIGBgY2NgYC4gSWYgYGBDQ2BgIGxvb2tzIGxpa2UgTVNWQywgdXNlIGl0cyBjb21tYW5kIGxpbmUgc3ludGF4LAotICAgIG90aGVyd2lzZSBhc3N1bWUgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIFVuaXggdHJhZGl0aW9uYWwgYGAtSWBgIGFuZCBgYC1vYGAuCi0KLSAgICBSZXR1cm4gdGhlIGxpc3Qgb2YgdmFsdWVzIG9mIHRoZSBgYGV4cHJlc3Npb25zYGAuCi0gICAgIiIiCi0gICAgaWYgaW5jbHVkZV9wYXRoIGlzIE5vbmU6Ci0gICAgICAgIGluY2x1ZGVfcGF0aCA9IFtdCi0gICAgY19uYW1lID0gTm9uZQotICAgIGV4ZV9uYW1lID0gTm9uZQotICAgIG9ial9uYW1lID0gTm9uZQotICAgIHRyeToKLSAgICAgICAgY19maWxlLCBjX25hbWUsIGV4ZV9uYW1lID0gY3JlYXRlX2NfZmlsZShmaWxlX2xhYmVsKQotICAgICAgICBnZW5lcmF0ZV9jX2ZpbGUoCi0gICAgICAgICAgICBjX2ZpbGUsIGNhbGxlciwgaGVhZGVyLAotICAgICAgICAgICAgbGFtYmRhIGNfZmlsZTogZ2VuZXJhdGVfY19wcmludGZfZXhwcmVzc2lvbnMoY19maWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzdF90bywgcHJpbnRmX2Zvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb25zKQotICAgICAgICApCi0gICAgICAgIGNfZmlsZS5jbG9zZSgpCi0KLSAgICAgICAgY29tcGlsZV9jX2ZpbGUoY19uYW1lLCBleGVfbmFtZSwgaW5jbHVkZV9wYXRoKQotICAgICAgICBpZiBrZWVwX2M6Ci0gICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdMaXN0IG9mIHt9IHRlc3RzIGtlcHQgYXQge31cbicKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChjYWxsZXIsIGNfbmFtZSkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBvcy5yZW1vdmUoY19uYW1lKQotICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbZXhlX25hbWVdKQotICAgICAgICByZXR1cm4gb3V0cHV0LmRlY29kZSgnYXNjaWknKS5zdHJpcCgpLnNwbGl0KCdcbicpCi0gICAgZmluYWxseToKLSAgICAgICAgcmVtb3ZlX2ZpbGVfaWZfZXhpc3RzKGV4ZV9uYW1lKQotICAgICAgICByZW1vdmVfZmlsZV9pZl9leGlzdHMob2JqX25hbWUpCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L2NfcGFyc2luZ19oZWxwZXIucHkgYi9zY3JpcHRzL21iZWR0bHNfZGV2L2NfcGFyc2luZ19oZWxwZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2NTdiN2QuLjAwMDAwMDAKLS0tIGEvc2NyaXB0cy9tYmVkdGxzX2Rldi9jX3BhcnNpbmdfaGVscGVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTMxICswLDAgQEAKLSIiIkhlbHBlciBmdW5jdGlvbnMgdG8gcGFyc2UgQyBjb2RlIGluIGhlYXZpbHkgY29uc3RyYWluZWQgc2NlbmFyaW9zLgotCi1DdXJyZW50bHkgc3VwcG9ydGVkIGZ1bmN0aW9uYWxpdHk6Ci0KLSogcmVhZF9mdW5jdGlvbl9kZWNsYXJhdGlvbnM6IHJlYWQgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZyb20gYSBoZWFkZXIgZmlsZS4KLSIiIgotCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLQotIyMjIFdBUk5JTkc6IHRoZSBjb2RlIGluIHRoaXMgZmlsZSBoYXMgbm90IGJlZW4gZXh0ZW5zaXZlbHkgcmV2aWV3ZWQgeWV0LgotIyMjIFdlIGRvIG5vdCB0aGluayBpdCBpcyBoYXJtZnVsLCBidXQgaXQgbWF5IGJlIGJlbG93IG91ciBub3JtYWwgc3RhbmRhcmRzCi0jIyMgZm9yIHJvYnVzdG5lc3MgYW5kIG1haW50YWluYWJpbGl0eS4KLQotaW1wb3J0IHJlCi1mcm9tIHR5cGluZyBpbXBvcnQgRGljdCwgSXRlcmFibGUsIEl0ZXJhdG9yLCBMaXN0LCBPcHRpb25hbCwgVHVwbGUKLQotCi1jbGFzcyBBcmd1bWVudEluZm86Ci0gICAgIiIiSW5mb3JtYXRpb24gYWJvdXQgYW4gYXJndW1lbnQgdG8gYW4gQVBJIGZ1bmN0aW9uLiIiIgotICAgICNweWxpbnQ6IGRpc2FibGU9dG9vLWZldy1wdWJsaWMtbWV0aG9kcwotCi0gICAgX0tFWVdPUkRTID0gWwotICAgICAgICAnY29uc3QnLCAncmVnaXN0ZXInLCAncmVzdHJpY3QnLAotICAgICAgICAnaW50JywgJ2xvbmcnLCAnc2hvcnQnLCAnc2lnbmVkJywgJ3Vuc2lnbmVkJywKLSAgICBdCi0gICAgX0RFQ0xBUkFUSU9OX1JFID0gcmUuY29tcGlsZSgKLSAgICAgICAgcicoP1A8dHlwZT5cd1tcd1xzKl0qPylccyonICsKLSAgICAgICAgcicoPyEoPzonICsgcid8Jy5qb2luKF9LRVlXT1JEUykgKyByJykpKD9QPG5hbWU+XGJcdytcYik/JyArCi0gICAgICAgIHInXHMqKD9QPHN1ZmZpeD5cW1teXVtdKlxdKT9cWicsCi0gICAgICAgIHJlLkEgfCByZS5TKQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIG5vcm1hbGl6ZV90eXBlKGNscywgdHlwOiBzdHIpIC0+IHN0cjoKLSAgICAgICAgIiIiTm9ybWFsaXplIHdoaXRlc3BhY2UgaW4gYSB0eXBlLiIiIgotICAgICAgICB0eXAgPSByZS5zdWIocidccysnLCByJyAnLCB0eXApCi0gICAgICAgIHR5cCA9IHJlLnN1YihyJ1xzKlwqJywgcicgKicsIHR5cCkKLSAgICAgICAgcmV0dXJuIHR5cAotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRlY2w6IHN0cikgLT4gTm9uZToKLSAgICAgICAgc2VsZi5kZWNsID0gZGVjbC5zdHJpcCgpCi0gICAgICAgIG0gPSBzZWxmLl9ERUNMQVJBVElPTl9SRS5tYXRjaChzZWxmLmRlY2wpCi0gICAgICAgIGlmIG5vdCBtOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihzZWxmLmRlY2wpCi0gICAgICAgIHNlbGYudHlwZSA9IHNlbGYubm9ybWFsaXplX3R5cGUobS5ncm91cCgndHlwZScpKSAjdHlwZTogc3RyCi0gICAgICAgIHNlbGYubmFtZSA9IG0uZ3JvdXAoJ25hbWUnKSAjdHlwZTogT3B0aW9uYWxbc3RyXQotICAgICAgICBzZWxmLnN1ZmZpeCA9IG0uZ3JvdXAoJ3N1ZmZpeCcpIGlmIG0uZ3JvdXAoJ3N1ZmZpeCcpIGVsc2UgJycgI3R5cGU6IHN0cgotCi0KLWNsYXNzIEZ1bmN0aW9uSW5mbzoKLSAgICAiIiJJbmZvcm1hdGlvbiBhYm91dCBhbiBBUEkgZnVuY3Rpb24uIiIiCi0gICAgI3B5bGludDogZGlzYWJsZT10b28tZmV3LXB1YmxpYy1tZXRob2RzCi0KLSAgICAjIFJlZ2V4IG1hdGNoaW5nIHRoZSBkZWNsYXJhdGlvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB2b2lkLgotICAgIFZPSURfUkUgPSByZS5jb21waWxlKHInXHMqXGJ2b2lkXHMqXFonLCByZS5BKQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICNweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktYXJndW1lbnRzCi0gICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBzdHIsCi0gICAgICAgICAgICAgICAgIGxpbmVfbnVtYmVyOiBpbnQsCi0gICAgICAgICAgICAgICAgIHF1YWxpZmllcnM6IEl0ZXJhYmxlW3N0cl0sCi0gICAgICAgICAgICAgICAgIHJldHVybl90eXBlOiBzdHIsCi0gICAgICAgICAgICAgICAgIG5hbWU6IHN0ciwKLSAgICAgICAgICAgICAgICAgYXJndW1lbnRzOiBMaXN0W3N0cl0pIC0+IE5vbmU6Ci0gICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQotICAgICAgICBzZWxmLmxpbmVfbnVtYmVyID0gbGluZV9udW1iZXIKLSAgICAgICAgc2VsZi5xdWFsaWZpZXJzID0gZnJvemVuc2V0KHF1YWxpZmllcnMpCi0gICAgICAgIHNlbGYucmV0dXJuX3R5cGUgPSByZXR1cm5fdHlwZQotICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCi0gICAgICAgIHNlbGYuYXJndW1lbnRzID0gW0FyZ3VtZW50SW5mbyhhcmcpIGZvciBhcmcgaW4gYXJndW1lbnRzXQotCi0gICAgZGVmIHJldHVybnNfdm9pZChzZWxmKSAtPiBib29sOgotICAgICAgICAiIiJXaGV0aGVyIHRoZSBmdW5jdGlvbiByZXR1cm5zIHZvaWQuIiIiCi0gICAgICAgIHJldHVybiBib29sKHNlbGYuVk9JRF9SRS5zZWFyY2goc2VsZi5yZXR1cm5fdHlwZSkpCi0KLQotIyBNYXRjaCBvbmUgQyBjb21tZW50LgotIyBOb3RlIHRoYXQgd2UgbWF0Y2ggYm90aCBjb21tZW50IHR5cGVzLCBzbyB0aGluZ3MgbGlrZSAvLyBpbiBhIC8qLi4uKi8KLSMgY29tbWVudCBhcmUgaGFuZGxlZCBjb3JyZWN0bHkuCi1fQ19DT01NRU5UX1JFID0gcmUuY29tcGlsZShyJy8vKD86W15cbl18XFxcbikqfC9cKi4qP1wqLycsIHJlLlMpCi1fTk9UX05FV0xJTkVTX1JFID0gcmUuY29tcGlsZShyJ1teXG5dKycpCi0KLWRlZiByZWFkX2xvZ2ljYWxfbGluZXMoZmlsZW5hbWU6IHN0cikgLT4gSXRlcmF0b3JbVHVwbGVbaW50LCBzdHJdXToKLSAgICAiIiJSZWFkIGxvZ2ljYWwgbGluZXMgZnJvbSBhIGZpbGUuCi0KLSAgICBMb2dpY2FsIGxpbmVzIGFyZSBvbmUgb3IgbW9yZSBwaHlzaWNhbCBsaW5lLCB3aXRoIGJhbGFuY2VkIHBhcmVudGhlc2VzLgotICAgICIiIgotICAgIHdpdGggb3BlbihmaWxlbmFtZSwgZW5jb2Rpbmc9J3V0Zi04JykgYXMgaW5wOgotICAgICAgICBjb250ZW50ID0gaW5wLnJlYWQoKQotICAgICMgU3RyaXAgY29tbWVudHMsIGJ1dCBrZWVwIG5ld2xpbmVzIGZvciBsaW5lIG51bWJlcmluZwotICAgIGNvbnRlbnQgPSByZS5zdWIoX0NfQ09NTUVOVF9SRSwKLSAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBtOiByZS5zdWIoX05PVF9ORVdMSU5FU19SRSwgIiIsIG0uZ3JvdXAoMCkpLAotICAgICAgICAgICAgICAgICAgICAgY29udGVudCkKLSAgICBsaW5lcyA9IGVudW1lcmF0ZShjb250ZW50LnNwbGl0bGluZXMoKSwgMSkKLSAgICBmb3IgbGluZV9udW1iZXIsIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICMgUmVhZCBhIGxvZ2ljYWwgbGluZSwgY29udGFpbmluZyBiYWxhbmNlZCBwYXJlbnRoZXNlcy4KLSAgICAgICAgIyBXZSBhc3N1bWUgdGhhdCBwYXJlbnRoZXNlcyBhcmUgYmFsYW5jZWQgKHRoaXMgc2hvdWxkIGJlIG9rCi0gICAgICAgICMgc2luY2UgY29tbWVudHMgaGF2ZSBiZWVuIHN0cmlwcGVkKSwgb3RoZXJ3aXNlIHRoZXJlIHdpbGwgYmUKLSAgICAgICAgIyBhIGdpZ2FudGljIGxvZ2ljYWwgbGluZSBhdCB0aGUgZW5kLgotICAgICAgICBwYXJlbl9sZXZlbCA9IGxpbmUuY291bnQoJygnKSAtIGxpbmUuY291bnQoJyknKQotICAgICAgICB3aGlsZSBwYXJlbl9sZXZlbCA+IDA6Ci0gICAgICAgICAgICBfLCBtb3JlID0gbmV4dChsaW5lcykgI3B5bGludDogZGlzYWJsZT1zdG9wLWl0ZXJhdGlvbi1yZXR1cm4KLSAgICAgICAgICAgIHBhcmVuX2xldmVsICs9IG1vcmUuY291bnQoJygnKSAtIG1vcmUuY291bnQoJyknKQotICAgICAgICAgICAgbGluZSArPSAnXG4nICsgbW9yZQotICAgICAgICB5aWVsZCBsaW5lX251bWJlciwgbGluZQotCi1fQ19GVU5DVElPTl9ERUNMQVJBVElPTl9SRSA9IHJlLmNvbXBpbGUoCi0gICAgcicoP1A8cXVhbGlmaWVycz4oPzooPzpleHRlcm58aW5saW5lfHN0YXRpYylcYlxzKikqKScKLSAgICByJyg/UDxyZXR1cm5fdHlwZT5cd1tcd1xzKl0qPylccyonICsKLSAgICByJ1xiKD9QPG5hbWU+XHcrKScgKwotICAgIHInXHMqXCgoP1A8YXJndW1lbnRzPi4qKVwpXHMqOycsCi0gICAgcmUuQSB8IHJlLlMpCi0KLWRlZiByZWFkX2Z1bmN0aW9uX2RlY2xhcmF0aW9ucyhmdW5jdGlvbnM6IERpY3Rbc3RyLCBGdW5jdGlvbkluZm9dLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBzdHIpIC0+IE5vbmU6Ci0gICAgIiIiQ29sbGVjdCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgZnJvbSBhIEMgaGVhZGVyIGZpbGUuIiIiCi0gICAgZm9yIGxpbmVfbnVtYmVyLCBsaW5lIGluIHJlYWRfbG9naWNhbF9saW5lcyhmaWxlbmFtZSk6Ci0gICAgICAgIG0gPSBfQ19GVU5DVElPTl9ERUNMQVJBVElPTl9SRS5tYXRjaChsaW5lKQotICAgICAgICBpZiBub3QgbToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIHF1YWxpZmllcnMgPSBtLmdyb3VwKCdxdWFsaWZpZXJzJykuc3BsaXQoKQotICAgICAgICByZXR1cm5fdHlwZSA9IG0uZ3JvdXAoJ3JldHVybl90eXBlJykKLSAgICAgICAgbmFtZSA9IG0uZ3JvdXAoJ25hbWUnKQotICAgICAgICBhcmd1bWVudHMgPSBtLmdyb3VwKCdhcmd1bWVudHMnKS5zcGxpdCgnLCcpCi0gICAgICAgIGlmIGxlbihhcmd1bWVudHMpID09IDEgYW5kIHJlLm1hdGNoKEZ1bmN0aW9uSW5mby5WT0lEX1JFLCBhcmd1bWVudHNbMF0pOgotICAgICAgICAgICAgYXJndW1lbnRzID0gW10KLSAgICAgICAgIyBOb3RlOiB3ZSByZXBsYWNlIGFueSBleGlzdGluZyBkZWNsYXJhdGlvbiBmb3IgdGhlIHNhbWUgbmFtZS4KLSAgICAgICAgZnVuY3Rpb25zW25hbWVdID0gRnVuY3Rpb25JbmZvKGZpbGVuYW1lLCBsaW5lX251bWJlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1YWxpZmllcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHMpCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L2Nfd3JhcHBlcl9nZW5lcmF0b3IucHkgYi9zY3JpcHRzL21iZWR0bHNfZGV2L2Nfd3JhcHBlcl9nZW5lcmF0b3IucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjZjFlMDUuLjAwMDAwMDAKLS0tIGEvc2NyaXB0cy9tYmVkdGxzX2Rldi9jX3dyYXBwZXJfZ2VuZXJhdG9yLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDczICswLDAgQEAKLSIiIkdlbmVyYXRlIEMgd3JhcHBlciBmdW5jdGlvbnMuCi0iIiIKLQotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0KLSMjIyBXQVJOSU5HOiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaGFzIG5vdCBiZWVuIGV4dGVuc2l2ZWx5IHJldmlld2VkIHlldC4KLSMjIyBXZSBkbyBub3QgdGhpbmsgaXQgaXMgaGFybWZ1bCwgYnV0IGl0IG1heSBiZSBiZWxvdyBvdXIgbm9ybWFsIHN0YW5kYXJkcwotIyMjIGZvciByb2J1c3RuZXNzIGFuZCBtYWludGFpbmFiaWxpdHkuCi0KLWltcG9ydCBvcwotaW1wb3J0IHJlCi1pbXBvcnQgc3lzCi1pbXBvcnQgdHlwaW5nCi1mcm9tIHR5cGluZyBpbXBvcnQgRGljdCwgTGlzdCwgT3B0aW9uYWwsIFR1cGxlCi0KLWZyb20gLmNfcGFyc2luZ19oZWxwZXIgaW1wb3J0IEFyZ3VtZW50SW5mbywgRnVuY3Rpb25JbmZvCi1mcm9tIC4gaW1wb3J0IHR5cGluZ191dGlsCi0KLQotZGVmIGNfZGVjbGFyZShwcmVmaXg6IHN0ciwgbmFtZTogc3RyLCBzdWZmaXg6IHN0cikgLT4gc3RyOgotICAgICIiIkZvcm1hdCBhIGRlY2xhcmF0aW9uIG9mIG5hbWUgd2l0aCB0aGUgZ2l2ZW4gdHlwZSBwcmVmaXggYW5kIHN1ZmZpeC4iIiIKLSAgICBpZiBub3QgcHJlZml4LmVuZHN3aXRoKCcqJyk6Ci0gICAgICAgIHByZWZpeCArPSAnICcKLSAgICByZXR1cm4gcHJlZml4ICsgbmFtZSArIHN1ZmZpeAotCi0KLVdyYXBwZXJJbmZvID0gdHlwaW5nLk5hbWVkVHVwbGUoJ1dyYXBwZXJJbmZvJywgWwotICAgICgnYXJndW1lbnRfbmFtZXMnLCBMaXN0W3N0cl0pLAotICAgICgnZ3VhcmQnLCBPcHRpb25hbFtzdHJdKSwKLSAgICAoJ3dyYXBwZXJfbmFtZScsIHN0ciksCi1dKQotCi0KLWNsYXNzIEJhc2U6Ci0gICAgIiIiR2VuZXJhdGUgYSBDIHNvdXJjZSBmaWxlIGNvbnRhaW5pbmcgd3JhcHBlciBmdW5jdGlvbnMuIiIiCi0KLSAgICAjIFRoaXMgY2xhc3MgaXMgZGVzaWduZWQgdG8gaGF2ZSBtYW55IG1ldGhvZHMgcG90ZW50aWFsbHkgb3ZlcmxvYWRlZC4KLSAgICAjIFRlbGwgcHlsaW50IG5vdCB0byBjb21wbGFpbiBhYm91dCBtZXRob2RzIHRoYXQgaGF2ZSB1bnVzZWQgYXJndW1lbnRzOgotICAgICMgY2hpbGQgY2xhc3NlcyBhcmUgbGlrZWx5IHRvIG92ZXJyaWRlIHRob3NlIG1ldGhvZHMgYW5kIG5lZWQgdGhlCi0gICAgIyBhcmd1bWVudHMgaW4gcXVlc3Rpb24uCi0gICAgI3B5bGludDogZGlzYWJsZT1uby1zZWxmLXVzZSx1bnVzZWQtYXJndW1lbnQKLQotICAgICMgUHJlZml4IHByZXBlbmRlZCB0byB0aGUgZnVuY3Rpb24ncyBuYW1lIHRvIGZvcm0gdGhlIHdyYXBwZXIgbmFtZS4KLSAgICBfV1JBUFBFUl9OQU1FX1BSRUZJWCA9ICcnCi0gICAgIyBTdWZmaXggYXBwZW5kZWQgdG8gdGhlIGZ1bmN0aW9uJ3MgbmFtZSB0byBmb3JtIHRoZSB3cmFwcGVyIG5hbWUuCi0gICAgX1dSQVBQRVJfTkFNRV9TVUZGSVggPSAnX3dyYXAnCi0KLSAgICAjIEZ1bmN0aW9ucyB3aXRoIG9uZSBvZiB0aGVzZSBxdWFsaWZpZXJzIGFyZSBza2lwcGVkLgotICAgIF9TS0lQX0ZVTkNUSU9OX1dJVEhfUVVBTElGSUVSUyA9IGZyb3plbnNldChbJ2lubGluZScsICdzdGF0aWMnXSkKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgIiIiQ29uc3RydWN0IGEgd3JhcHBlciBnZW5lcmF0b3Igb2JqZWN0LgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5wcm9ncmFtX25hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2WzBdKQotICAgICAgICAjIFRvIGJlIHBvcHVsYXRlZCBpbiBhIGRlcml2ZWQgY2xhc3MKLSAgICAgICAgc2VsZi5mdW5jdGlvbnMgPSB7fSAjdHlwZTogRGljdFtzdHIsIEZ1bmN0aW9uSW5mb10KLSAgICAgICAgIyBQcmVwcm9jZXNzb3Igc3ltYm9sIHVzZWQgYXMgYSBndWFyZCBhZ2FpbnN0IG11bHRpcGxlIGluY2x1c2lvbiBpbiB0aGUKLSAgICAgICAgIyBoZWFkZXIuIE11c3QgYmUgc2V0IGJlZm9yZSB3cml0aW5nIG91dHB1dCB0byBhIGhlYWRlci4KLSAgICAgICAgIyBOb3QgdXNlZCB3aGVuIHdyaXRpbmcgLmMgb3V0cHV0LgotICAgICAgICBzZWxmLmhlYWRlcl9ndWFyZCA9IE5vbmUgI3R5cGU6IE9wdGlvbmFsW3N0cl0KLQotICAgIGRlZiBfd3JpdGVfcHJvbG9ndWUoc2VsZiwgb3V0OiB0eXBpbmdfdXRpbC5Xcml0YWJsZSwgaGVhZGVyOiBib29sKSAtPiBOb25lOgotICAgICAgICAiIiJXcml0ZSB0aGUgcHJvbG9ndWUgb2YgYSBDIGZpbGUuCi0KLSAgICAgICAgVGhpcyBpbmNsdWRlcyBhIGRlc2NyaXB0aW9uIGNvbW1lbnQgYW5kIHNvbWUgaW5jbHVkZSBkaXJlY3RpdmVzLgotICAgICAgICAiIiIKLSAgICAgICAgb3V0LndyaXRlKCIiIi8qIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHt9LCBkbyBub3QgZWRpdCEgKi8KLQotLyogQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLSAqLwotIiIiCi0gICAgICAgICAgICAgICAgICAuZm9ybWF0KHNlbGYucHJvZ3JhbV9uYW1lKSkKLSAgICAgICAgaWYgaGVhZGVyOgotICAgICAgICAgICAgb3V0LndyaXRlKCIiIgotI2lmbmRlZiB7Z3VhcmR9Ci0jZGVmaW5lIHtndWFyZH0KLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHt7Ci0jZW5kaWYKLSIiIgotICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoZ3VhcmQ9c2VsZi5oZWFkZXJfZ3VhcmQpKQotICAgICAgICBvdXQud3JpdGUoIiIiCi0jaW5jbHVkZSA8bWJlZHRscy9idWlsZF9pbmZvLmg+Ci0iIiIpCi0KLSAgICBkZWYgX3dyaXRlX2VwaWxvZ3VlKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsIGhlYWRlcjogYm9vbCkgLT4gTm9uZToKLSAgICAgICAgIiIiV3JpdGUgdGhlIGVwaWxvZ3VlIG9mIGEgQyBmaWxlLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgaGVhZGVyOgotICAgICAgICAgICAgb3V0LndyaXRlKCIiIgotI2lmZGVmIF9fY3BsdXNwbHVzCi19fQotI2VuZGlmCi0KLSNlbmRpZiAvKiB7Z3VhcmR9ICovCi0iIiIKLSAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KGd1YXJkPXNlbGYuaGVhZGVyX2d1YXJkKSkKLSAgICAgICAgb3V0LndyaXRlKCIiIgotLyogRW5kIG9mIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGUuICovCi0iIiIpCi0KLSAgICBkZWYgX3dyYXBwZXJfZnVuY3Rpb25fbmFtZShzZWxmLCBvcmlnaW5hbF9uYW1lOiBzdHIpIC0+IHN0cjoKLSAgICAgICAgIiIiVGhlIG5hbWUgb2YgdGhlIHdyYXBwZXIgZnVuY3Rpb24uCi0KLSAgICAgICAgQnkgZGVmYXVsdCwgdGhpcyBhZGRzIGEgc3VmZml4LgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIChzZWxmLl9XUkFQUEVSX05BTUVfUFJFRklYICsKLSAgICAgICAgICAgICAgICBvcmlnaW5hbF9uYW1lICsKLSAgICAgICAgICAgICAgICBzZWxmLl9XUkFQUEVSX05BTUVfU1VGRklYKQotCi0gICAgZGVmIF93cmFwcGVyX2RlY2xhcmF0aW9uX3N0YXJ0KHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBGdW5jdGlvbkluZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJfbmFtZTogc3RyKSAtPiBzdHI6Ci0gICAgICAgICIiIlRoZSBiZWdpbm5pbmcgb2YgdGhlIHdyYXBwZXIgZnVuY3Rpb24gZGVjbGFyYXRpb24uCi0KLSAgICAgICAgVGhpcyBlbmRzIGp1c3QgYmVmb3JlIHRoZSBvcGVuaW5nIHBhcmVudGhlc2lzIG9mIHRoZSBhcmd1bWVudCBsaXN0LgotCi0gICAgICAgIFRoaXMgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhdCBsZWFzdCB0aGUgcmV0dXJuIHR5cGUgYW5kIHRoZQotICAgICAgICBmdW5jdGlvbiBuYW1lLiBJdCBtYXkgc3RhcnQgd2l0aCBhZGRpdGlvbmFsIHF1YWxpZmllcnMgb3IgYXR0cmlidXRlcwotICAgICAgICBzdWNoIGFzIGBzdGF0aWNgLCBgX19hdHRyaWJ1dGVfXygoLi4uKSlgLCBldGMuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gY19kZWNsYXJlKGZ1bmN0aW9uLnJldHVybl90eXBlLCB3cmFwcGVyX25hbWUsICcnKQotCi0gICAgZGVmIF9hcmd1bWVudF9uYW1lKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uX25hbWU6IHN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgbnVtOiBpbnQsCi0gICAgICAgICAgICAgICAgICAgICAgIGFyZzogQXJndW1lbnRJbmZvKSAtPiBzdHI6Ci0gICAgICAgICIiIk5hbWUgdG8gdXNlIGZvciB0aGUgZ2l2ZW4gYXJndW1lbnQgaW4gdGhlIHdyYXBwZXIgZnVuY3Rpb24uCi0KLSAgICAgICAgQXJndW1lbnQgbnVtYmVycyBjb3VudCBmcm9tIDAuCi0gICAgICAgICIiIgotICAgICAgICBuYW1lID0gJ2FyZycgKyBzdHIobnVtKQotICAgICAgICBpZiBhcmcubmFtZToKLSAgICAgICAgICAgIG5hbWUgKz0gJ18nICsgYXJnLm5hbWUKLSAgICAgICAgcmV0dXJuIG5hbWUKLQotICAgIGRlZiBfd3JhcHBlcl9kZWNsYXJhdGlvbl9hcmd1bWVudChzZWxmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbl9uYW1lOiBzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bTogaW50LCBuYW1lOiBzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZzogQXJndW1lbnRJbmZvKSAtPiBzdHI6Ci0gICAgICAgICIiIk9uZSBhcmd1bWVudCBkZWZpbml0aW9uIGluIHRoZSB3cmFwcGVyIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgotCi0gICAgICAgIEFyZ3VtZW50IG51bWJlcnMgY291bnQgZnJvbSAwLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIGNfZGVjbGFyZShhcmcudHlwZSwgbmFtZSwgYXJnLnN1ZmZpeCkKLQotICAgIGRlZiBfdW5kZXJseWluZ19mdW5jdGlvbl9uYW1lKHNlbGYsIGZ1bmN0aW9uOiBGdW5jdGlvbkluZm8pIC0+IHN0cjoKLSAgICAgICAgIiIiVGhlIG5hbWUgb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24uCi0KLSAgICAgICAgQnkgZGVmYXVsdCwgdGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgd3JhcHBlZCBmdW5jdGlvbi4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBmdW5jdGlvbi5uYW1lCi0KLSAgICBkZWYgX3JldHVybl92YXJpYWJsZV9uYW1lKHNlbGYsIGZ1bmN0aW9uOiBGdW5jdGlvbkluZm8pIC0+IHN0cjoKLSAgICAgICAgIiIiVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRoYXQgd2lsbCBjb250YWluIHRoZSByZXR1cm4gdmFsdWUuIiIiCi0gICAgICAgIHJldHVybiAncmV0dmFsJwotCi0gICAgZGVmIF93cml0ZV9mdW5jdGlvbl9jYWxsKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBGdW5jdGlvbkluZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50X25hbWVzOiBMaXN0W3N0cl0pIC0+IE5vbmU6Ci0gICAgICAgICIiIldyaXRlIHRoZSBjYWxsIHRvIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgIyBOb3RlIHRoYXQgdGhlIGZ1bmN0aW9uIG5hbWUgaXMgaW4gcGFyZW50aGVzZXMsIHRvIGF2b2lkIGNhbGxpbmcKLSAgICAgICAgIyBhIGZ1bmN0aW9uLWxpa2UgbWFjcm8gd2l0aCB0aGUgc2FtZSBuYW1lLCBzaW5jZSBpbiB0eXBpY2FsIHVzYWdlCi0gICAgICAgICMgdGhlcmUgaXMgYSBmdW5jdGlvbi1saWtlIG1hY3JvIHdpdGggdGhlIHNhbWUgbmFtZSB3aGljaCBpcyB0aGUKLSAgICAgICAgIyB3cmFwcGVyLgotICAgICAgICBjYWxsID0gJyh7fSkoe30pJy5mb3JtYXQoc2VsZi5fdW5kZXJseWluZ19mdW5jdGlvbl9uYW1lKGZ1bmN0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcsICcuam9pbihhcmd1bWVudF9uYW1lcykpCi0gICAgICAgIGlmIGZ1bmN0aW9uLnJldHVybnNfdm9pZCgpOgotICAgICAgICAgICAgb3V0LndyaXRlKCcgICAge307XG4nLmZvcm1hdChjYWxsKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldF9uYW1lID0gc2VsZi5fcmV0dXJuX3ZhcmlhYmxlX25hbWUoZnVuY3Rpb24pCi0gICAgICAgICAgICByZXRfZGVjbCA9IGNfZGVjbGFyZShmdW5jdGlvbi5yZXR1cm5fdHlwZSwgcmV0X25hbWUsICcnKQotICAgICAgICAgICAgb3V0LndyaXRlKCcgICAge30gPSB7fTtcbicuZm9ybWF0KHJldF9kZWNsLCBjYWxsKSkKLQotICAgIGRlZiBfd3JpdGVfZnVuY3Rpb25fcmV0dXJuKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IEZ1bmN0aW9uSW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZl92b2lkOiBib29sID0gRmFsc2UpIC0+IE5vbmU6Ci0gICAgICAgICIiIldyaXRlIGEgcmV0dXJuIHN0YXRlbWVudC4KLQotICAgICAgICBJZiB0aGUgZnVuY3Rpb24gcmV0dXJucyB2b2lkLCBvbmx5IHdyaXRlIGEgc3RhdGVtZW50IGlmIGlmX3ZvaWQgaXMgdHJ1ZS4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIGZ1bmN0aW9uLnJldHVybnNfdm9pZCgpOgotICAgICAgICAgICAgaWYgaWZfdm9pZDoKLSAgICAgICAgICAgICAgICBvdXQud3JpdGUoJyAgICByZXR1cm47XG4nKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0X25hbWUgPSBzZWxmLl9yZXR1cm5fdmFyaWFibGVfbmFtZShmdW5jdGlvbikKLSAgICAgICAgICAgIG91dC53cml0ZSgnICAgIHJldHVybiB7fTtcbicuZm9ybWF0KHJldF9uYW1lKSkKLQotICAgIGRlZiBfd3JpdGVfZnVuY3Rpb25fYm9keShzZWxmLCBvdXQ6IHR5cGluZ191dGlsLldyaXRhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogRnVuY3Rpb25JbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudF9uYW1lczogTGlzdFtzdHJdKSAtPiBOb25lOgotICAgICAgICAiIiJXcml0ZSB0aGUgYm9keSBvZiB0aGUgd3JhcHBlciBjb2RlIGZvciB0aGUgc3BlY2lmaWVkIGZ1bmN0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5fd3JpdGVfZnVuY3Rpb25fY2FsbChvdXQsIGZ1bmN0aW9uLCBhcmd1bWVudF9uYW1lcykKLSAgICAgICAgc2VsZi5fd3JpdGVfZnVuY3Rpb25fcmV0dXJuKG91dCwgZnVuY3Rpb24pCi0KLSAgICBkZWYgX3NraXBfZnVuY3Rpb24oc2VsZiwgZnVuY3Rpb246IEZ1bmN0aW9uSW5mbykgLT4gYm9vbDoKLSAgICAgICAgIiIiV2hldGhlciB0byBza2lwIHRoaXMgZnVuY3Rpb24uCi0KLSAgICAgICAgQnkgZGVmYXVsdCwgc3RhdGljIG9yIGlubGluZSBmdW5jdGlvbnMgYXJlIHNraXBwZWQuCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3Qgc2VsZi5fU0tJUF9GVU5DVElPTl9XSVRIX1FVQUxJRklFUlMuaXNkaXNqb2ludChmdW5jdGlvbi5xdWFsaWZpZXJzKToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgX0ZVTkNUSU9OX0dVQVJEUyA9IHsKLSAgICB9ICN0eXBlOiBEaWN0W3N0ciwgc3RyXQotCi0gICAgZGVmIF9mdW5jdGlvbl9ndWFyZChzZWxmLCBmdW5jdGlvbjogRnVuY3Rpb25JbmZvKSAtPiBPcHRpb25hbFtzdHJdOgotICAgICAgICAiIiJBIHByZXByb2Nlc3NvciBjb25kaXRpb24gZm9yIHRoaXMgZnVuY3Rpb24uCi0KLSAgICAgICAgVGhlIHdyYXBwZXIgd2lsbCBiZSBndWFyZGVkIHdpdGggYCNpZmAgb24gdGhpcyBjb25kaXRpb24sIGlmIG5vdCBOb25lLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX0ZVTkNUSU9OX0dVQVJEUy5nZXQoZnVuY3Rpb24ubmFtZSkKLQotICAgIGRlZiBfd3JhcHBlcl9pbmZvKHNlbGYsIGZ1bmN0aW9uOiBGdW5jdGlvbkluZm8pIC0+IE9wdGlvbmFsW1dyYXBwZXJJbmZvXToKLSAgICAgICAgIiIiSW5mb3JtYXRpb24gYWJvdXQgdGhlIHdyYXBwZXIgZm9yIG9uZSBmdW5jdGlvbi4KLQotICAgICAgICBSZXR1cm4gTm9uZSBpZiB0aGUgZnVuY3Rpb24gc2hvdWxkIGJlIHNraXBwZWQuCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9za2lwX2Z1bmN0aW9uKGZ1bmN0aW9uKToKLSAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgIGFyZ3VtZW50X25hbWVzID0gW3NlbGYuX2FyZ3VtZW50X25hbWUoZnVuY3Rpb24ubmFtZSwgbnVtLCBhcmcpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBudW0sIGFyZyBpbiBlbnVtZXJhdGUoZnVuY3Rpb24uYXJndW1lbnRzKV0KLSAgICAgICAgcmV0dXJuIFdyYXBwZXJJbmZvKAotICAgICAgICAgICAgYXJndW1lbnRfbmFtZXM9YXJndW1lbnRfbmFtZXMsCi0gICAgICAgICAgICBndWFyZD1zZWxmLl9mdW5jdGlvbl9ndWFyZChmdW5jdGlvbiksCi0gICAgICAgICAgICB3cmFwcGVyX25hbWU9c2VsZi5fd3JhcHBlcl9mdW5jdGlvbl9uYW1lKGZ1bmN0aW9uLm5hbWUpLAotICAgICAgICApCi0KLSAgICBkZWYgX3dyaXRlX2Z1bmN0aW9uX3Byb3RvdHlwZShzZWxmLCBvdXQ6IHR5cGluZ191dGlsLldyaXRhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBGdW5jdGlvbkluZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlcjogV3JhcHBlckluZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiBib29sKSAtPiBOb25lOgotICAgICAgICAiIiJXcml0ZSB0aGUgcHJvdG90eXBlIG9mIGEgd3JhcHBlciBmdW5jdGlvbi4KLQotICAgICAgICBJZiBoZWFkZXIgaXMgdHJ1ZSwgd3JpdGUgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiwgd2l0aCBhIHNlbWljb2xvbiBhdAotICAgICAgICB0aGUgZW5kLiBPdGhlcndpc2UganVzdCB3cml0ZSB0aGUgcHJvdG90eXBlLCBpbnRlbmRlZCB0byBiZSBmb2xsb3dlZAotICAgICAgICBieSB0aGUgZnVuY3Rpb24ncyBib2R5LgotICAgICAgICAiIiIKLSAgICAgICAgZGVjbGFyYXRpb25fc3RhcnQgPSBzZWxmLl93cmFwcGVyX2RlY2xhcmF0aW9uX3N0YXJ0KGZ1bmN0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlci53cmFwcGVyX25hbWUpCi0gICAgICAgIGFyZ19pbmRlbnQgPSAnICAgICcKLSAgICAgICAgdGVybWluYXRvciA9ICc7XG4nIGlmIGhlYWRlciBlbHNlICdcbicKLSAgICAgICAgaWYgZnVuY3Rpb24uYXJndW1lbnRzOgotICAgICAgICAgICAgb3V0LndyaXRlKGRlY2xhcmF0aW9uX3N0YXJ0ICsgJyhcbicpCi0gICAgICAgICAgICBmb3IgbnVtIGluIHJhbmdlKGxlbihmdW5jdGlvbi5hcmd1bWVudHMpKToKLSAgICAgICAgICAgICAgICBhcmdfZGVmID0gc2VsZi5fd3JhcHBlcl9kZWNsYXJhdGlvbl9hcmd1bWVudCgKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ubmFtZSwKLSAgICAgICAgICAgICAgICAgICAgbnVtLCB3cmFwcGVyLmFyZ3VtZW50X25hbWVzW251bV0sIGZ1bmN0aW9uLmFyZ3VtZW50c1tudW1dKQotICAgICAgICAgICAgICAgIGFyZ190ZXJtaW5hdG9yID0gXAotICAgICAgICAgICAgICAgICAgICAoJyknICsgdGVybWluYXRvciBpZiBudW0gPT0gbGVuKGZ1bmN0aW9uLmFyZ3VtZW50cykgLSAxIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICcsXG4nKQotICAgICAgICAgICAgICAgIG91dC53cml0ZShhcmdfaW5kZW50ICsgYXJnX2RlZiArIGFyZ190ZXJtaW5hdG9yKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgb3V0LndyaXRlKGRlY2xhcmF0aW9uX3N0YXJ0ICsgJyh2b2lkKScgKyB0ZXJtaW5hdG9yKQotCi0gICAgZGVmIF93cml0ZV9jX2Z1bmN0aW9uKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBGdW5jdGlvbkluZm8pIC0+IE5vbmU6Ci0gICAgICAgICIiIldyaXRlIHdyYXBwZXIgY29kZSBmb3Igb25lIGZ1bmN0aW9uLgotCi0gICAgICAgIERvIG5vdGhpbmcgaWYgdGhlIGZ1bmN0aW9uIGlzIHNraXBwZWQuCi0gICAgICAgICIiIgotICAgICAgICB3cmFwcGVyID0gc2VsZi5fd3JhcHBlcl9pbmZvKGZ1bmN0aW9uKQotICAgICAgICBpZiB3cmFwcGVyIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgb3V0LndyaXRlKCIiIgotLyogV3JhcHBlciBmb3Ige30gKi8KLSIiIgotICAgICAgICAgICAgICAgICAgLmZvcm1hdChmdW5jdGlvbi5uYW1lKSkKLSAgICAgICAgaWYgd3JhcHBlci5ndWFyZCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIG91dC53cml0ZSgnI2lmIHt9XG4nLmZvcm1hdCh3cmFwcGVyLmd1YXJkKSkKLSAgICAgICAgc2VsZi5fd3JpdGVfZnVuY3Rpb25fcHJvdG90eXBlKG91dCwgZnVuY3Rpb24sIHdyYXBwZXIsIEZhbHNlKQotICAgICAgICBvdXQud3JpdGUoJ3tcbicpCi0gICAgICAgIHNlbGYuX3dyaXRlX2Z1bmN0aW9uX2JvZHkob3V0LCBmdW5jdGlvbiwgd3JhcHBlci5hcmd1bWVudF9uYW1lcykKLSAgICAgICAgb3V0LndyaXRlKCd9XG4nKQotICAgICAgICBpZiB3cmFwcGVyLmd1YXJkIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgb3V0LndyaXRlKCcjZW5kaWYgLyoge30gKi9cbicuZm9ybWF0KHdyYXBwZXIuZ3VhcmQpKQotCi0gICAgZGVmIF93cml0ZV9oX2Z1bmN0aW9uX2RlY2xhcmF0aW9uKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBGdW5jdGlvbkluZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXI6IFdyYXBwZXJJbmZvKSAtPiBOb25lOgotICAgICAgICAiIiJXcml0ZSB0aGUgZGVjbGFyYXRpb24gb2Ygb25lIHdyYXBwZXIgZnVuY3Rpb24uCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLl93cml0ZV9mdW5jdGlvbl9wcm90b3R5cGUob3V0LCBmdW5jdGlvbiwgd3JhcHBlciwgVHJ1ZSkKLQotICAgIGRlZiBfd3JpdGVfaF9tYWNyb19kZWZpbml0aW9uKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IEZ1bmN0aW9uSW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyOiBXcmFwcGVySW5mbykgLT4gTm9uZToKLSAgICAgICAgIiIiV3JpdGUgdGhlIG1hY3JvIGRlZmluaXRpb24gZm9yIG9uZSB3cmFwcGVyLgotICAgICAgICAiIiIKLSAgICAgICAgYXJnX2xpc3QgPSAnLCAnLmpvaW4od3JhcHBlci5hcmd1bWVudF9uYW1lcykKLSAgICAgICAgb3V0LndyaXRlKCcjZGVmaW5lIHtmdW5jdGlvbl9uYW1lfSh7YXJnc30pIFxcXG4gICAge3dyYXBwZXJfbmFtZX0oe2FyZ3N9KVxuJwotICAgICAgICAgICAgICAgICAgLmZvcm1hdChmdW5jdGlvbl9uYW1lPWZ1bmN0aW9uLm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJfbmFtZT13cmFwcGVyLndyYXBwZXJfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz1hcmdfbGlzdCkpCi0KLSAgICBkZWYgX3dyaXRlX2hfZnVuY3Rpb24oc2VsZiwgb3V0OiB0eXBpbmdfdXRpbC5Xcml0YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IEZ1bmN0aW9uSW5mbykgLT4gTm9uZToKLSAgICAgICAgIiIiV3JpdGUgdGhlIGNvbXBsZXRlIGhlYWRlciBjb250ZW50IGZvciBvbmUgd3JhcHBlci4KLQotICAgICAgICBUaGlzIGlzIHRoZSBkZWNsYXJhdGlvbiBvZiB0aGUgd3JhcHBlciBmdW5jdGlvbiwgYW5kIHRoZQotICAgICAgICBkZWZpbml0aW9uIG9mIGEgZnVuY3Rpb24tbGlrZSBtYWNybyB0aGF0IGNhbGxzIHRoZSB3cmFwcGVyIGZ1bmN0aW9uLgotCi0gICAgICAgIERvIG5vdGhpbmcgaWYgdGhlIGZ1bmN0aW9uIGlzIHNraXBwZWQuCi0gICAgICAgICIiIgotICAgICAgICB3cmFwcGVyID0gc2VsZi5fd3JhcHBlcl9pbmZvKGZ1bmN0aW9uKQotICAgICAgICBpZiB3cmFwcGVyIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgb3V0LndyaXRlKCdcbicpCi0gICAgICAgIGlmIHdyYXBwZXIuZ3VhcmQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBvdXQud3JpdGUoJyNpZiB7fVxuJy5mb3JtYXQod3JhcHBlci5ndWFyZCkpCi0gICAgICAgIHNlbGYuX3dyaXRlX2hfZnVuY3Rpb25fZGVjbGFyYXRpb24ob3V0LCBmdW5jdGlvbiwgd3JhcHBlcikKLSAgICAgICAgc2VsZi5fd3JpdGVfaF9tYWNyb19kZWZpbml0aW9uKG91dCwgZnVuY3Rpb24sIHdyYXBwZXIpCi0gICAgICAgIGlmIHdyYXBwZXIuZ3VhcmQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBvdXQud3JpdGUoJyNlbmRpZiAvKiB7fSAqL1xuJy5mb3JtYXQod3JhcHBlci5ndWFyZCkpCi0KLSAgICBkZWYgd3JpdGVfY19maWxlKHNlbGYsIGZpbGVuYW1lOiBzdHIpIC0+IE5vbmU6Ci0gICAgICAgICIiIk91dHB1dCBhIHdob2xlIEMgZmlsZSBjb250YWluaW5nIGZ1bmN0aW9uIHdyYXBwZXIgZGVmaW5pdGlvbnMuIiIiCi0gICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3cnLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBvdXQ6Ci0gICAgICAgICAgICBzZWxmLl93cml0ZV9wcm9sb2d1ZShvdXQsIEZhbHNlKQotICAgICAgICAgICAgZm9yIG5hbWUgaW4gc29ydGVkKHNlbGYuZnVuY3Rpb25zKToKLSAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9jX2Z1bmN0aW9uKG91dCwgc2VsZi5mdW5jdGlvbnNbbmFtZV0pCi0gICAgICAgICAgICBzZWxmLl93cml0ZV9lcGlsb2d1ZShvdXQsIEZhbHNlKQotCi0gICAgZGVmIF9oZWFkZXJfZ3VhcmRfZnJvbV9maWxlX25hbWUoc2VsZiwgZmlsZW5hbWU6IHN0cikgLT4gc3RyOgotICAgICAgICAiIiJQcmVwcm9jZXNzb3Igc3ltYm9sIHVzZWQgYXMgYSBndWFyZCBhZ2FpbnN0IG11bHRpcGxlIGluY2x1c2lvbi4iIiIKLSAgICAgICAgIyBIZXVyaXN0aWMgdG8gc3RyaXAgaXJyZWxldmFudCBsZWFkaW5nIGRpcmVjdG9yaWVzCi0gICAgICAgIGZpbGVuYW1lID0gcmUuc3ViKHInLippbmNsdWRlW1xcL10nLCByJycsIGZpbGVuYW1lKQotICAgICAgICByZXR1cm4gcmUuc3ViKHInW14wLTlBLVphLXpdJywgcidfJywgZmlsZW5hbWUsIHJlLkEpLnVwcGVyKCkKLQotICAgIGRlZiB3cml0ZV9oX2ZpbGUoc2VsZiwgZmlsZW5hbWU6IHN0cikgLT4gTm9uZToKLSAgICAgICAgIiIiT3V0cHV0IGEgaGVhZGVyIGZpbGUgd2l0aCBmdW5jdGlvbiB3cmFwcGVyIGRlY2xhcmF0aW9ucyBhbmQgbWFjcm8gZGVmaW5pdGlvbnMuIiIiCi0gICAgICAgIHNlbGYuaGVhZGVyX2d1YXJkID0gc2VsZi5faGVhZGVyX2d1YXJkX2Zyb21fZmlsZV9uYW1lKGZpbGVuYW1lKQotICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICd3JywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgb3V0OgotICAgICAgICAgICAgc2VsZi5fd3JpdGVfcHJvbG9ndWUob3V0LCBUcnVlKQotICAgICAgICAgICAgZm9yIG5hbWUgaW4gc29ydGVkKHNlbGYuZnVuY3Rpb25zKToKLSAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9oX2Z1bmN0aW9uKG91dCwgc2VsZi5mdW5jdGlvbnNbbmFtZV0pCi0gICAgICAgICAgICBzZWxmLl93cml0ZV9lcGlsb2d1ZShvdXQsIFRydWUpCi0KLQotY2xhc3MgVW5rbm93blR5cGVGb3JQcmludGYoRXhjZXB0aW9uKToKLSAgICAiIiJFeGNlcHRpb24gcmFpc2VkIHdoZW4gYXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBjb2RlIHRoYXQgbG9ncyBhIHZhbHVlIG9mIGFuIHVua25vd24gdHlwZS4iIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0eXA6IHN0cikgLT4gTm9uZToKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXygiVW5rbm93biB0eXBlIGZvciBwcmludGYgZm9ybWF0IGdlbmVyYXRpb246ICIgKyB0eXApCi0KLQotY2xhc3MgTG9nZ2luZyhCYXNlKToKLSAgICAiIiJHZW5lcmF0ZSB3cmFwcGVyIGZ1bmN0aW9ucyB0aGF0IGxvZyB0aGUgaW5wdXRzIGFuZCBvdXRwdXRzLiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6Ci0gICAgICAgICIiIkNvbnN0cnVjdCBhIHdyYXBwZXIgZ2VuZXJhdG9yIGluY2x1ZGluZyBsb2dnaW5nIG9mIGlucHV0cyBhbmQgb3V0cHV0cy4KLQotICAgICAgICBMb2cgdG8gc3Rkb3V0IGJ5IGRlZmF1bHQuIENhbGwgYHNldF9zdHJlYW1gIHRvIGNoYW5nZSB0aGlzLgotICAgICAgICAiIiIKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCi0gICAgICAgIHNlbGYuc3RyZWFtID0gJ3N0ZG91dCcKLQotICAgIGRlZiBzZXRfc3RyZWFtKHNlbGYsIHN0cmVhbTogc3RyKSAtPiBOb25lOgotICAgICAgICAiIiJTZXQgdGhlIHN0ZGlvIHN0cmVhbSB0byBsb2cgdG8uCi0KLSAgICAgICAgQ2FsbCB0aGlzIG1ldGhvZCBiZWZvcmUgY2FsbGluZyBgd3JpdGVfY19vdXRwdXRgIG9yIGB3cml0ZV9oX291dHB1dGAuCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLnN0cmVhbSA9IHN0cmVhbQotCi0gICAgZGVmIF93cml0ZV9wcm9sb2d1ZShzZWxmLCBvdXQ6IHR5cGluZ191dGlsLldyaXRhYmxlLCBoZWFkZXI6IGJvb2wpIC0+IE5vbmU6Ci0gICAgICAgIHN1cGVyKCkuX3dyaXRlX3Byb2xvZ3VlKG91dCwgaGVhZGVyKQotICAgICAgICBpZiBub3QgaGVhZGVyOgotICAgICAgICAgICAgb3V0LndyaXRlKCIiIgotI2lmIGRlZmluZWQoTUJFRFRMU19GU19JTykgJiYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxpbnR0eXBlcy5oPgotI2luY2x1ZGUgPG1iZWR0bHMvZGVidWcuaD4gLy8gZm9yIE1CRURUTFNfUFJJTlRGX1NJWkVUCi0jaW5jbHVkZSA8bWJlZHRscy9wbGF0Zm9ybS5oPiAvLyBmb3IgbWJlZHRsc19mcHJpbnRmCi0jZW5kaWYgLyogZGVmaW5lZChNQkVEVExTX0ZTX0lPKSAmJiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgKi8KLSIiIikKLQotICAgIF9QUklOVEZfU0lNUExFX0ZPUk1BVCA9IHsKLSAgICAgICAgJ2ludCc6ICclZCcsCi0gICAgICAgICdsb25nJzogJyVsZCcsCi0gICAgICAgICdsb25nIGxvbmcnOiAnJWxsZCcsCi0gICAgICAgICdzaXplX3QnOiAnJSJNQkVEVExTX1BSSU5URl9TSVpFVCInLAotICAgICAgICAndW5zaWduZWQnOiAnMHglMDh4JywKLSAgICAgICAgJ3Vuc2lnbmVkIGludCc6ICcweCUwOHgnLAotICAgICAgICAndW5zaWduZWQgbG9uZyc6ICcweCUwOGx4JywKLSAgICAgICAgJ3Vuc2lnbmVkIGxvbmcgbG9uZyc6ICcweCUwMTZsbHgnLAotICAgIH0KLQotICAgIGRlZiBfcHJpbnRmX3NpbXBsZV9mb3JtYXQoc2VsZiwgdHlwOiBzdHIpIC0+IE9wdGlvbmFsW3N0cl06Ci0gICAgICAgICIiIlVzZSB0aGlzIHByaW50ZiBmb3JtYXQgZm9yIGEgdmFsdWUgb2YgdHlwLgotCi0gICAgICAgIFJldHVybiBOb25lIGlmIHZhbHVlcyBvZiB0eXAgbmVlZCBtb3JlIGNvbXBsZXggaGFuZGxpbmcuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gc2VsZi5fUFJJTlRGX1NJTVBMRV9GT1JNQVQuZ2V0KHR5cCkKLQotICAgIF9QUklOVEZfVFlQRV9DQVNUID0gewotICAgICAgICAnaW50MzJfdCc6ICdpbnQnLAotICAgICAgICAndWludDMyX3QnOiAndW5zaWduZWQnLAotICAgICAgICAndWludDY0X3QnOiAndW5zaWduZWQgbG9uZyBsb25nJywKLSAgICB9ICN0eXBlOiBEaWN0W3N0ciwgc3RyXQotCi0gICAgZGVmIF9wcmludGZfdHlwZV9jYXN0KHNlbGYsIHR5cDogc3RyKSAtPiBPcHRpb25hbFtzdHJdOgotICAgICAgICAiIiJDYXN0IHZhbHVlcyBvZiB0eXAgdG8gdGhpcyB0eXBlIGJlZm9yZSBwYXNzaW5nIHRoZW0gdG8gcHJpbnRmLgotCi0gICAgICAgIFJldHVybiBOb25lIGlmIHZhbHVlcyBvZiB0aGUgZ2l2ZW4gdHlwZSBkbyBub3QgbmVlZCBhIGNhc3QuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gc2VsZi5fUFJJTlRGX1RZUEVfQ0FTVC5nZXQodHlwKQotCi0gICAgX1BPSU5URVJfVFlQRV9SRSA9IHJlLmNvbXBpbGUocidccypcKlxaJykKLQotICAgIGRlZiBfcHJpbnRmX3BhcmFtZXRlcnMoc2VsZiwgdHlwOiBzdHIsIHZhcjogc3RyKSAtPiBUdXBsZVtzdHIsIExpc3Rbc3RyXV06Ci0gICAgICAgICIiIlRoZSBwcmludGYgZm9ybWF0IGFuZCBhcmd1bWVudHMgZm9yIGEgdmFsdWUgb2YgdHlwZSB0eXAgc3RvcmVkIGluIHZhci4KLSAgICAgICAgIiIiCi0gICAgICAgIGV4cHIgPSB2YXIKLSAgICAgICAgYmFzZV90eXBlID0gdHlwCi0gICAgICAgICMgRm9yIG91dHB1dHMgdmlhIGEgcG9pbnRlciwgZ2V0IHRoZSB2YWx1ZSB0aGF0IGhhcyBiZWVuIHdyaXR0ZW4uCi0gICAgICAgICMgTm90ZTogd2UgZG9uJ3Qgc3VwcG9ydCBwb2ludGVycyB0byBwb2ludGVycyBoZXJlLgotICAgICAgICBwb2ludGVyX21hdGNoID0gc2VsZi5fUE9JTlRFUl9UWVBFX1JFLnNlYXJjaChiYXNlX3R5cGUpCi0gICAgICAgIGlmIHBvaW50ZXJfbWF0Y2g6Ci0gICAgICAgICAgICBiYXNlX3R5cGUgPSBiYXNlX3R5cGVbOnBvaW50ZXJfbWF0Y2guc3RhcnQoMCldCi0gICAgICAgICAgICBleHByID0gJyooe30pJy5mb3JtYXQoZXhwcikKLSAgICAgICAgIyBNYXliZSBjYXN0IHRoZSB2YWx1ZSB0byBhIHN0YW5kYXJkIHR5cGUuCi0gICAgICAgIGNhc3RfdG8gPSBzZWxmLl9wcmludGZfdHlwZV9jYXN0KGJhc2VfdHlwZSkKLSAgICAgICAgaWYgY2FzdF90byBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGV4cHIgPSAnKHt9KSB7fScuZm9ybWF0KGNhc3RfdG8sIGV4cHIpCi0gICAgICAgICAgICBiYXNlX3R5cGUgPSBjYXN0X3RvCi0gICAgICAgICMgVHJ5IHN0YW5kYXJkIHR5cGVzLgotICAgICAgICBmbXQgPSBzZWxmLl9wcmludGZfc2ltcGxlX2Zvcm1hdChiYXNlX3R5cGUpCi0gICAgICAgIGlmIGZtdCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAne309e30nLmZvcm1hdCh2YXIsIGZtdCksIFtleHByXQotICAgICAgICByYWlzZSBVbmtub3duVHlwZUZvclByaW50Zih0eXApCi0KLSAgICBkZWYgX3dyaXRlX2Z1bmN0aW9uX2xvZ2dpbmcoc2VsZiwgb3V0OiB0eXBpbmdfdXRpbC5Xcml0YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IEZ1bmN0aW9uSW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRfbmFtZXM6IExpc3Rbc3RyXSkgLT4gTm9uZToKLSAgICAgICAgIiIiV3JpdGUgY29kZSB0byBsb2cgdGhlIGZ1bmN0aW9uJ3MgaW5wdXRzIGFuZCBvdXRwdXRzLiIiIgotICAgICAgICBmb3JtYXRzLCB2YWx1ZXMgPSAnJXMnLCBbJyInICsgZnVuY3Rpb24ubmFtZSArICciJ10KLSAgICAgICAgZm9yIGFyZ19pbmZvLCBhcmdfbmFtZSBpbiB6aXAoZnVuY3Rpb24uYXJndW1lbnRzLCBhcmd1bWVudF9uYW1lcyk6Ci0gICAgICAgICAgICBmbXQsIHZhbHMgPSBzZWxmLl9wcmludGZfcGFyYW1ldGVycyhhcmdfaW5mby50eXBlLCBhcmdfbmFtZSkKLSAgICAgICAgICAgIGlmIGZtdDoKLSAgICAgICAgICAgICAgICBmb3JtYXRzICs9ICcgJyArIGZtdAotICAgICAgICAgICAgICAgIHZhbHVlcyArPSB2YWxzCi0gICAgICAgIGlmIG5vdCBmdW5jdGlvbi5yZXR1cm5zX3ZvaWQoKToKLSAgICAgICAgICAgIHJldF9uYW1lID0gc2VsZi5fcmV0dXJuX3ZhcmlhYmxlX25hbWUoZnVuY3Rpb24pCi0gICAgICAgICAgICBmbXQsIHZhbHMgPSBzZWxmLl9wcmludGZfcGFyYW1ldGVycyhmdW5jdGlvbi5yZXR1cm5fdHlwZSwgcmV0X25hbWUpCi0gICAgICAgICAgICBpZiBmbXQ6Ci0gICAgICAgICAgICAgICAgZm9ybWF0cyArPSAnICcgKyBmbXQKLSAgICAgICAgICAgICAgICB2YWx1ZXMgKz0gdmFscwotICAgICAgICBvdXQud3JpdGUoIiIiXAotI2lmIGRlZmluZWQoTUJFRFRMU19GU19JTykgJiYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpCi0gICAgaWYgKHtzdHJlYW19KSB7ewotICAgICAgICBtYmVkdGxzX2ZwcmludGYoe3N0cmVhbX0sICJ7Zm9ybWF0c31cXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlc30pOwotICAgIH19Ci0jZW5kaWYgLyogZGVmaW5lZChNQkVEVExTX0ZTX0lPKSAmJiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgKi8KLSIiIgotICAgICAgICAgICAgICAgICAgLmZvcm1hdChzdHJlYW09c2VsZi5zdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHM9Zm9ybWF0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPScsICcuam9pbih2YWx1ZXMpKSkKLQotICAgIGRlZiBfd3JpdGVfZnVuY3Rpb25fYm9keShzZWxmLCBvdXQ6IHR5cGluZ191dGlsLldyaXRhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogRnVuY3Rpb25JbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudF9uYW1lczogTGlzdFtzdHJdKSAtPiBOb25lOgotICAgICAgICAiIiJXcml0ZSB0aGUgYm9keSBvZiB0aGUgd3JhcHBlciBjb2RlIGZvciB0aGUgc3BlY2lmaWVkIGZ1bmN0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5fd3JpdGVfZnVuY3Rpb25fY2FsbChvdXQsIGZ1bmN0aW9uLCBhcmd1bWVudF9uYW1lcykKLSAgICAgICAgc2VsZi5fd3JpdGVfZnVuY3Rpb25fbG9nZ2luZyhvdXQsIGZ1bmN0aW9uLCBhcmd1bWVudF9uYW1lcykKLSAgICAgICAgc2VsZi5fd3JpdGVfZnVuY3Rpb25fcmV0dXJuKG91dCwgZnVuY3Rpb24pCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L2NyeXB0b19kYXRhX3Rlc3RzLnB5IGIvc2NyaXB0cy9tYmVkdGxzX2Rldi9jcnlwdG9fZGF0YV90ZXN0cy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTM2ZGU2OS4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L2NyeXB0b19kYXRhX3Rlc3RzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLSIiIkdlbmVyYXRlIHRlc3QgZGF0YSBmb3IgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zLgotCi1UaGlzIG1vZHVsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIG9ubHkgaW1wbGVtZW50aW5nIGEgZmV3IGNhc2VzIGZvciBub3cuCi0iIiIKLQotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLWltcG9ydCBoYXNobGliCi1mcm9tIHR5cGluZyBpbXBvcnQgQ2FsbGFibGUsIERpY3QsIEl0ZXJhdG9yLCBMaXN0LCBPcHRpb25hbCAjcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKLQotZnJvbSAuIGltcG9ydCBjcnlwdG9fa25vd2xlZGdlCi1mcm9tIC4gaW1wb3J0IHBzYV9pbmZvcm1hdGlvbgotZnJvbSAuIGltcG9ydCB0ZXN0X2Nhc2UKLQotCi1kZWYgcHNhX2xvd19sZXZlbF9kZXBlbmRlbmNpZXMoKmV4cHJlc3Npb25zOiBzdHIpIC0+IExpc3Rbc3RyXToKLSAgICAiIiJJbmZlciBkZXBlbmRlbmNpZXMgb2YgYSBQU0EgbG93LWxldmVsIHRlc3QgY2FzZSBieSBsb29raW5nIGZvciBQU0FfeHh4IHN5bWJvbHMuCi0KLSAgICBUaGlzIGZ1bmN0aW9uIGdlbmVyYXRlcyBNQkVEVExTX1BTQV9CVUlMVElOX3h4eCBzeW1ib2xzLgotICAgICIiIgotICAgIGhpZ2hfbGV2ZWwgPSBwc2FfaW5mb3JtYXRpb24uYXV0b21hdGljX2RlcGVuZGVuY2llcygqZXhwcmVzc2lvbnMpCi0gICAgZm9yIGRlcCBpbiBoaWdoX2xldmVsOgotICAgICAgICBhc3NlcnQgZGVwLnN0YXJ0c3dpdGgoJ1BTQV9XQU5UXycpCi0gICAgcmV0dXJuIFsnTUJFRFRMU19QU0FfQlVJTFRJTl8nICsgZGVwWzk6XSBmb3IgZGVwIGluIGhpZ2hfbGV2ZWxdCi0KLQotY2xhc3MgSGFzaFBTQUxvd0xldmVsOgotICAgICIiIkdlbmVyYXRlIHRlc3QgY2FzZXMgZm9yIHRoZSBQU0EgbG93LWxldmVsIGhhc2ggaW50ZXJmYWNlLiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGluZm86IHBzYV9pbmZvcm1hdGlvbi5JbmZvcm1hdGlvbikgLT4gTm9uZToKLSAgICAgICAgc2VsZi5pbmZvID0gaW5mbwotICAgICAgICBiYXNlX2FsZ29yaXRobXMgPSBzb3J0ZWQoaW5mby5jb25zdHJ1Y3RvcnMuYWxnb3JpdGhtcykKLSAgICAgICAgYWxsX2FsZ29yaXRobXMgPSBcCi0gICAgICAgICAgICBbY3J5cHRvX2tub3dsZWRnZS5BbGdvcml0aG0oZXhwcikKLSAgICAgICAgICAgICBmb3IgZXhwciBpbiBpbmZvLmNvbnN0cnVjdG9ycy5nZW5lcmF0ZV9leHByZXNzaW9ucyhiYXNlX2FsZ29yaXRobXMpXQotICAgICAgICBzZWxmLmFsZ29yaXRobXMgPSBcCi0gICAgICAgICAgICBbYWxnCi0gICAgICAgICAgICAgZm9yIGFsZyBpbiBhbGxfYWxnb3JpdGhtcwotICAgICAgICAgICAgIGlmIChub3QgYWxnLmlzX3dpbGRjYXJkIGFuZAotICAgICAgICAgICAgICAgICBhbGcuY2FuX2RvKGNyeXB0b19rbm93bGVkZ2UuQWxnb3JpdGhtQ2F0ZWdvcnkuSEFTSCkpXQotCi0gICAgIyBDQUxDVUxBVEVbYWxnXSA9IGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgaGFzaCBvZiBpdHMgYXJndW1lbnQgaW4gaGV4Ci0gICAgIyBUTy1ETzogaW1wbGVtZW50IHRoZSBOb25lIGVudHJpZXMgd2l0aCBhIHRoaXJkLXBhcnR5IGxpYnJhcnksIGJlY2F1c2UKLSAgICAjIGhhc2hsaWIgbWlnaHQgbm90IGhhdmUgZXZlcnl0aGluZywgZGVwZW5kaW5nIG9uIHRoZSBQeXRob24gdmVyc2lvbiBhbmQKLSAgICAjIHRoZSB1bmRlcmx5aW5nIE9wZW5TU0wuIE9uIFVidW50dSAxNi4wNCwgdHJ1bmNhdGVkIHNoYTUxMiBhbmQgc2hhMy9zaGFrZQotICAgICMgYXJlIG5vdCBhdmFpbGFibGUuIE9uIFVidW50dSAyMi4wNCwgbWQyLCBtZDQgYW5kIHJpcGVtZDE2MCBhcmUgbm90Ci0gICAgIyBhdmFpbGFibGUuCi0gICAgQ0FMQ1VMQVRFID0gewotICAgICAgICAnUFNBX0FMR19NRDUnOiBsYW1iZGEgZGF0YTogaGFzaGxpYi5tZDUoZGF0YSkuaGV4ZGlnZXN0KCksCi0gICAgICAgICdQU0FfQUxHX1JJUEVNRDE2MCc6IE5vbmUsICNsYW1iZGEgZGF0YTogaGFzaGxpYi5uZXcoJ3JpcGRlbWQxNjAnKS5oZXhkaWdlc3QoKQotICAgICAgICAnUFNBX0FMR19TSEFfMSc6IGxhbWJkYSBkYXRhOiBoYXNobGliLnNoYTEoZGF0YSkuaGV4ZGlnZXN0KCksCi0gICAgICAgICdQU0FfQUxHX1NIQV8yMjQnOiBsYW1iZGEgZGF0YTogaGFzaGxpYi5zaGEyMjQoZGF0YSkuaGV4ZGlnZXN0KCksCi0gICAgICAgICdQU0FfQUxHX1NIQV8yNTYnOiBsYW1iZGEgZGF0YTogaGFzaGxpYi5zaGEyNTYoZGF0YSkuaGV4ZGlnZXN0KCksCi0gICAgICAgICdQU0FfQUxHX1NIQV8zODQnOiBsYW1iZGEgZGF0YTogaGFzaGxpYi5zaGEzODQoZGF0YSkuaGV4ZGlnZXN0KCksCi0gICAgICAgICdQU0FfQUxHX1NIQV81MTInOiBsYW1iZGEgZGF0YTogaGFzaGxpYi5zaGE1MTIoZGF0YSkuaGV4ZGlnZXN0KCksCi0gICAgICAgICdQU0FfQUxHX1NIQV81MTJfMjI0JzogTm9uZSwgI2xhbWJkYSBkYXRhOiBoYXNobGliLm5ldygnc2hhNTEyXzIyNCcpLmhleGRpZ2VzdCgpCi0gICAgICAgICdQU0FfQUxHX1NIQV81MTJfMjU2JzogTm9uZSwgI2xhbWJkYSBkYXRhOiBoYXNobGliLm5ldygnc2hhNTEyXzI1NicpLmhleGRpZ2VzdCgpCi0gICAgICAgICdQU0FfQUxHX1NIQTNfMjI0JzogTm9uZSwgI2xhbWJkYSBkYXRhOiBoYXNobGliLnNoYTNfMjI0KGRhdGEpLmhleGRpZ2VzdCgpLAotICAgICAgICAnUFNBX0FMR19TSEEzXzI1Nic6IE5vbmUsICNsYW1iZGEgZGF0YTogaGFzaGxpYi5zaGEzXzI1NihkYXRhKS5oZXhkaWdlc3QoKSwKLSAgICAgICAgJ1BTQV9BTEdfU0hBM18zODQnOiBOb25lLCAjbGFtYmRhIGRhdGE6IGhhc2hsaWIuc2hhM18zODQoZGF0YSkuaGV4ZGlnZXN0KCksCi0gICAgICAgICdQU0FfQUxHX1NIQTNfNTEyJzogTm9uZSwgI2xhbWJkYSBkYXRhOiBoYXNobGliLnNoYTNfNTEyKGRhdGEpLmhleGRpZ2VzdCgpLAotICAgICAgICAnUFNBX0FMR19TSEFLRTI1Nl81MTInOiBOb25lLCAjbGFtYmRhIGRhdGE6IGhhc2hsaWIuc2hha2VfMjU2KGRhdGEpLmhleGRpZ2VzdCg2NCksCi0gICAgfSAjdHlwZTogRGljdFtzdHIsIE9wdGlvbmFsW0NhbGxhYmxlW1tieXRlc10sIHN0cl1dXQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBvbmVfdGVzdF9jYXNlKGFsZzogY3J5cHRvX2tub3dsZWRnZS5BbGdvcml0aG0sCi0gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IHN0ciwgbm90ZTogc3RyLAotICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50czogTGlzdFtzdHJdKSAtPiB0ZXN0X2Nhc2UuVGVzdENhc2U6Ci0gICAgICAgICIiIkNvbnN0cnVjdCBvbmUgdGVzdCBjYXNlIGludm9sdmluZyBhIGhhc2guIiIiCi0gICAgICAgIHRjID0gdGVzdF9jYXNlLlRlc3RDYXNlKCkKLSAgICAgICAgdGMuc2V0X2Rlc2NyaXB0aW9uKCd7fXt9IHt9JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChmdW5jdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAnICsgbm90ZSBpZiBub3RlIGVsc2UgJycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsZy5zaG9ydF9leHByZXNzaW9uKCkpKQotICAgICAgICB0Yy5zZXRfZGVwZW5kZW5jaWVzKHBzYV9sb3dfbGV2ZWxfZGVwZW5kZW5jaWVzKGFsZy5leHByZXNzaW9uKSkKLSAgICAgICAgdGMuc2V0X2Z1bmN0aW9uKGZ1bmN0aW9uKQotICAgICAgICB0Yy5zZXRfYXJndW1lbnRzKFthbGcuZXhwcmVzc2lvbl0gKwotICAgICAgICAgICAgICAgICAgICAgICAgIFsnInt9IicuZm9ybWF0KGFyZykgZm9yIGFyZyBpbiBhcmd1bWVudHNdKQotICAgICAgICByZXR1cm4gdGMKLQotICAgIGRlZiB0ZXN0X2Nhc2VzX2Zvcl9oYXNoKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxnOiBjcnlwdG9fa25vd2xlZGdlLkFsZ29yaXRobQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgLT4gSXRlcmF0b3JbdGVzdF9jYXNlLlRlc3RDYXNlXToKLSAgICAgICAgIiIiRW51bWVyYXRlIGFsbCB0ZXN0IGNhc2VzIGZvciBvbmUgaGFzaCBhbGdvcml0aG0uIiIiCi0gICAgICAgIGNhbGMgPSBzZWxmLkNBTENVTEFURVthbGcuZXhwcmVzc2lvbl0KLSAgICAgICAgaWYgY2FsYyBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuICMgbm90IGltcGxlbWVudGVkIHlldAotCi0gICAgICAgIHNob3J0ID0gYidhYmMnCi0gICAgICAgIGhhc2hfc2hvcnQgPSBjYWxjKHNob3J0KQotICAgICAgICBsb25nID0gKGInSGVsbG8sIHdvcmxkLiBIZXJlIGFyZSAxNiB1bnByaW50YWJsZSBieXRlczogWycKLSAgICAgICAgICAgICAgICBiJ1x4MDBceDAxXHgwMlx4MDNceDA0XHgwNVx4MDZceDA3XHgwOFx4MDlceDBhJwotICAgICAgICAgICAgICAgIGInXHg4MFx4ODFceDgyXHg4M1x4ZmVceGZmXS4gJwotICAgICAgICAgICAgICAgIGInIFRoaXMgbWVzc2FnZSB3YXMgYnJvdWdodCB0byB5b3UgYnkgYSBuYXR1cmFsIGludGVsbGlnZW5jZS4gJwotICAgICAgICAgICAgICAgIGInIElmIHlvdSBjYW4gcmVhZCB0aGlzLCBnb29kIGx1Y2sgd2l0aCB5b3VyIGRlYnVnZ2luZyEnKQotICAgICAgICBoYXNoX2xvbmcgPSBjYWxjKGxvbmcpCi0KLSAgICAgICAgeWllbGQgc2VsZi5vbmVfdGVzdF9jYXNlKGFsZywgJ2hhc2hfZW1wdHknLCAnJywgW2NhbGMoYicnKV0pCi0gICAgICAgIHlpZWxkIHNlbGYub25lX3Rlc3RfY2FzZShhbGcsICdoYXNoX3ZhbGlkX29uZV9zaG90JywgJycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvcnQuaGV4KCksIGhhc2hfc2hvcnRdKQotICAgICAgICBmb3IgbiBpbiBbMCwgMSwgNjQsIGxlbihsb25nKSAtIDEsIGxlbihsb25nKV06Ci0gICAgICAgICAgICB5aWVsZCBzZWxmLm9uZV90ZXN0X2Nhc2UoYWxnLCAnaGFzaF92YWxpZF9tdWx0aXBhcnQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7fSArIHt9Jy5mb3JtYXQobiwgbGVuKGxvbmcpIC0gbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvbmdbOm5dLmhleCgpLCBjYWxjKGxvbmdbOm5dKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ1tuOl0uaGV4KCksIGhhc2hfbG9uZ10pCi0KLSAgICBkZWYgYWxsX3Rlc3RfY2FzZXMoc2VsZikgLT4gSXRlcmF0b3JbdGVzdF9jYXNlLlRlc3RDYXNlXToKLSAgICAgICAgIiIiRW51bWVyYXRlIGFsbCB0ZXN0IGNhc2VzIGZvciBhbGwgaGFzaCBhbGdvcml0aG1zLiIiIgotICAgICAgICBmb3IgYWxnIGluIHNlbGYuYWxnb3JpdGhtczoKLSAgICAgICAgICAgIHlpZWxkIGZyb20gc2VsZi50ZXN0X2Nhc2VzX2Zvcl9oYXNoKGFsZykKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWJlZHRsc19kZXYvY3J5cHRvX2tub3dsZWRnZS5weSBiL3NjcmlwdHMvbWJlZHRsc19kZXYvY3J5cHRvX2tub3dsZWRnZS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWJmZDU1Yy4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L2NyeXB0b19rbm93bGVkZ2UucHkKKysrIC9kZXYvbnVsbApAQCAtMSw1NjggKzAsMCBAQAotIiIiS25vd2xlZGdlIGFib3V0IGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyBpbXBsZW1lbnRlZCBpbiBNYmVkIFRMUy4KLQotVGhpcyBtb2R1bGUgaXMgZW50aXJlbHkgYmFzZWQgb24gdGhlIFBTQSBBUEkuCi0iIiIKLQotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLWltcG9ydCBlbnVtCi1pbXBvcnQgcmUKLWZyb20gdHlwaW5nIGltcG9ydCBGcm96ZW5TZXQsIEl0ZXJhYmxlLCBMaXN0LCBPcHRpb25hbCwgVHVwbGUsIERpY3QKLQotZnJvbSAuYXN5bW1ldHJpY19rZXlfZGF0YSBpbXBvcnQgQVNZTU1FVFJJQ19LRVlfREFUQQotCi0KLWRlZiBzaG9ydF9leHByZXNzaW9uKG9yaWdpbmFsOiBzdHIsIGxldmVsOiBpbnQgPSAwKSAtPiBzdHI6Ci0gICAgIiIiQWJicmV2aWF0ZSB0aGUgZXhwcmVzc2lvbiwga2VlcGluZyBpdCBodW1hbi1yZWFkYWJsZS4KLQotICAgIElmIGBsZXZlbGAgaXMgMCwganVzdCByZW1vdmUgcGFydHMgdGhhdCBhcmUgaW1wbGljaXQgZnJvbSBjb250ZXh0LAotICAgIHN1Y2ggYXMgYSBsZWFkaW5nIGBgUFNBX0tFWV9UWVBFX2BgLgotICAgIEZvciBsYXJnZXIgdmFsdWVzIG9mIGBsZXZlbGAsIGFsc28gYWJicmV2aWF0ZSBzb21lIG5hbWVzIGluIGFuCi0gICAgdW5hbWJpZ3VvdXMsIGJ1dCBhZCBob2Mgd2F5LgotICAgICIiIgotICAgIHNob3J0ID0gb3JpZ2luYWwKLSAgICBzaG9ydCA9IHJlLnN1YihyJ1xiUFNBXyg/OkFMR3xESF9GQU1JTFl8RUNDX0ZBTUlMWXxLRVlfW0EtWl0rKV8nLCByJycsIHNob3J0KQotICAgIHNob3J0ID0gcmUuc3ViKHInICsnLCByJycsIHNob3J0KQotICAgIGlmIGxldmVsID49IDE6Ci0gICAgICAgIHNob3J0ID0gcmUuc3ViKHInUFVCTElDX0tFWVxiJywgcidQVUInLCBzaG9ydCkKLSAgICAgICAgc2hvcnQgPSByZS5zdWIocidLRVlfUEFJUlxiJywgcidQQUlSJywgc2hvcnQpCi0gICAgICAgIHNob3J0ID0gcmUuc3ViKHInXGJCUkFJTlBPT0xfUCcsIHInQlAnLCBzaG9ydCkKLSAgICAgICAgc2hvcnQgPSByZS5zdWIocidcYk1PTlRHT01FUllcYicsIHInTUdNJywgc2hvcnQpCi0gICAgICAgIHNob3J0ID0gcmUuc3ViKHInQUVBRF9XSVRIX1NIT1JURU5FRF9UQUdcYicsIHInQUVBRF9TSE9SVCcsIHNob3J0KQotICAgICAgICBzaG9ydCA9IHJlLnN1YihyJ1xiREVURVJNSU5JU1RJQ18nLCByJ0RFVF8nLCBzaG9ydCkKLSAgICAgICAgc2hvcnQgPSByZS5zdWIocidcYktFWV9BR1JFRU1FTlRcYicsIHInS0EnLCBzaG9ydCkKLSAgICAgICAgc2hvcnQgPSByZS5zdWIocidfUFNLX1RPX01TXGInLCByJ19QU0syTVMnLCBzaG9ydCkKLSAgICByZXR1cm4gc2hvcnQKLQotCi1CTE9DS19DSVBIRVJTID0gZnJvemVuc2V0KFsnQUVTJywgJ0FSSUEnLCAnQ0FNRUxMSUEnLCAnREVTJ10pCi1CTE9DS19NQUNfTU9ERVMgPSBmcm96ZW5zZXQoWydDQkNfTUFDJywgJ0NNQUMnXSkKLUJMT0NLX0NJUEhFUl9NT0RFUyA9IGZyb3plbnNldChbCi0gICAgJ0NUUicsICdDRkInLCAnT0ZCJywgJ1hUUycsICdDQ01fU1RBUl9OT19UQUcnLAotICAgICdFQ0JfTk9fUEFERElORycsICdDQkNfTk9fUEFERElORycsICdDQkNfUEtDUzcnLAotXSkKLUJMT0NLX0FFQURfTU9ERVMgPSBmcm96ZW5zZXQoWydDQ00nLCAnR0NNJ10pCi0KLWNsYXNzIEVsbGlwdGljQ3VydmVDYXRlZ29yeShlbnVtLkVudW0pOgotICAgICIiIkNhdGVnb3JpemF0aW9uIG9mIGVsbGlwdGljIGN1cnZlIGZhbWlsaWVzLgotCi0gICAgVGhlIGNhdGVnb3J5IG9mIGEgY3VydmUgZGV0ZXJtaW5lcyB3aGF0IGFsZ29yaXRobXMgYXJlIGRlZmluZWQgb3ZlciBpdC4KLSAgICAiIiIKLQotICAgIFNIT1JUX1dFSUVSU1RSQVNTID0gMAotICAgIE1PTlRHT01FUlkgPSAxCi0gICAgVFdJU1RFRF9FRFdBUkRTID0gMgotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBmcm9tX2ZhbWlseShmYW1pbHk6IHN0cikgLT4gJ0VsbGlwdGljQ3VydmVDYXRlZ29yeSc6Ci0gICAgICAgIGlmIGZhbWlseSA9PSAnUFNBX0VDQ19GQU1JTFlfTU9OVEdPTUVSWSc6Ci0gICAgICAgICAgICByZXR1cm4gRWxsaXB0aWNDdXJ2ZUNhdGVnb3J5Lk1PTlRHT01FUlkKLSAgICAgICAgaWYgZmFtaWx5ID09ICdQU0FfRUNDX0ZBTUlMWV9UV0lTVEVEX0VEV0FSRFMnOgotICAgICAgICAgICAgcmV0dXJuIEVsbGlwdGljQ3VydmVDYXRlZ29yeS5UV0lTVEVEX0VEV0FSRFMKLSAgICAgICAgIyBEZWZhdWx0IHRvIFNXLCB3aGljaCBtb3N0IGN1cnZlcyBiZWxvbmcgdG8uCi0gICAgICAgIHJldHVybiBFbGxpcHRpY0N1cnZlQ2F0ZWdvcnkuU0hPUlRfV0VJRVJTVFJBU1MKLQotCi1jbGFzcyBLZXlUeXBlOgotICAgICIiIktub3dsZWRnZSBhYm91dCBhIFBTQSBrZXkgdHlwZS4iIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lOiBzdHIsIHBhcmFtczogT3B0aW9uYWxbSXRlcmFibGVbc3RyXV0gPSBOb25lKSAtPiBOb25lOgotICAgICAgICAiIiJBbmFseXplIGEga2V5IHR5cGUuCi0KLSAgICAgICAgVGhlIGtleSB0eXBlIG11c3QgYmUgc3BlY2lmaWVkIGluIFBTQSBzeW50YXguIEluIGl0cyBzaW1wbGVzdCBmb3JtLAotICAgICAgICBgbmFtZWAgaXMgYSBzdHJpbmcgJ1BTQV9LRVlfVFlQRV94eHgnIHdoaWNoIGlzIHRoZSBuYW1lIG9mIGEgUFNBIGtleQotICAgICAgICB0eXBlIG1hY3JvLiBGb3Iga2V5IHR5cGVzIHRoYXQgdGFrZSBhcmd1bWVudHMsIHRoZSBhcmd1bWVudHMgY2FuCi0gICAgICAgIGJlIHBhc3NlZCBlaXRoZXIgdGhyb3VnaCB0aGUgb3B0aW9uYWwgYXJndW1lbnQgYHBhcmFtc2Agb3IgYnkKLSAgICAgICAgcGFzc2luZyBhbiBleHByZXNzaW9uIG9mIHRoZSBmb3JtICdQU0FfS0VZX1RZUEVfeHh4KHBhcmFtMSwgLi4uKScKLSAgICAgICAgaW4gYG5hbWVgIGFzIGEgc3RyaW5nLgotICAgICAgICAiIiIKLQotICAgICAgICBzZWxmLm5hbWUgPSBuYW1lLnN0cmlwKCkKLSAgICAgICAgIiIiVGhlIGtleSB0eXBlIG1hY3JvIG5hbWUgKGBgUFNBX0tFWV9UWVBFX3h4eGBgKS4KLQotICAgICAgICBGb3Iga2V5IHR5cGVzIGNvbnN0cnVjdGVkIGZyb20gYSBtYWNybyB3aXRoIGFyZ3VtZW50cywgdGhpcyBpcyB0aGUKLSAgICAgICAgbmFtZSBvZiB0aGUgbWFjcm8sIGFuZCB0aGUgYXJndW1lbnRzIGFyZSBpbiBgc2VsZi5wYXJhbXNgLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgcGFyYW1zIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiAnKCcgaW4gc2VsZi5uYW1lOgotICAgICAgICAgICAgICAgIG0gPSByZS5tYXRjaChyJyhcdyspXHMqXCgoLiopXClcWicsIHNlbGYubmFtZSkKLSAgICAgICAgICAgICAgICBhc3NlcnQgbSBpcyBub3QgTm9uZQotICAgICAgICAgICAgICAgIHNlbGYubmFtZSA9IG0uZ3JvdXAoMSkKLSAgICAgICAgICAgICAgICBwYXJhbXMgPSBtLmdyb3VwKDIpLnNwbGl0KCcsJykKLSAgICAgICAgc2VsZi5wYXJhbXMgPSAoTm9uZSBpZiBwYXJhbXMgaXMgTm9uZSBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgIFtwYXJhbS5zdHJpcCgpIGZvciBwYXJhbSBpbiBwYXJhbXNdKQotICAgICAgICAiIiJUaGUgcGFyYW1ldGVycyBvZiB0aGUga2V5IHR5cGUsIGlmIHRoZXJlIGFyZSBhbnkuCi0KLSAgICAgICAgTm9uZSBpZiB0aGUga2V5IHR5cGUgaXMgYSBtYWNybyB3aXRob3V0IGFyZ3VtZW50cy4KLSAgICAgICAgIiIiCi0gICAgICAgIGFzc2VydCByZS5tYXRjaChyJ1BTQV9LRVlfVFlQRV9cdytcWicsIHNlbGYubmFtZSkKLQotICAgICAgICBzZWxmLmV4cHJlc3Npb24gPSBzZWxmLm5hbWUKLSAgICAgICAgIiIiQSBDIGV4cHJlc3Npb24gd2hvc2UgdmFsdWUgaXMgdGhlIGtleSB0eXBlIGVuY29kaW5nLiIiIgotICAgICAgICBpZiBzZWxmLnBhcmFtcyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYuZXhwcmVzc2lvbiArPSAnKCcgKyAnLCAnLmpvaW4oc2VsZi5wYXJhbXMpICsgJyknCi0KLSAgICAgICAgbSA9IHJlLm1hdGNoKHInUFNBX0tFWV9UWVBFXyhcdyspJywgc2VsZi5uYW1lKQotICAgICAgICBhc3NlcnQgbQotICAgICAgICBzZWxmLmhlYWQgPSByZS5zdWIocidfKD86UFVCTElDX0tFWXxLRVlfUEFJUilcWicsIHInJywgbS5ncm91cCgxKSkKLSAgICAgICAgIiIiVGhlIGtleSB0eXBlIG1hY3JvIG5hbWUsIHdpdGggY29tbW9uIHByZWZpeGVzIGFuZCBzdWZmaXhlcyBzdHJpcHBlZC4iIiIKLQotICAgICAgICBzZWxmLnByaXZhdGVfdHlwZSA9IHJlLnN1YihyJ19QVUJMSUNfS0VZXFonLCByJ19LRVlfUEFJUicsIHNlbGYubmFtZSkKLSAgICAgICAgIiIiVGhlIGtleSB0eXBlIG1hY3JvIG5hbWUgZm9yIHRoZSBjb3JyZXNwb25kaW5nIGtleSBwYWlyIHR5cGUuCi0KLSAgICAgICAgRm9yIGV2ZXJ5dGhpbmcgb3RoZXIgdGhhbiBhIHB1YmxpYyBrZXkgdHlwZSwgdGhpcyBpcyB0aGUgc2FtZSBhcwotICAgICAgICBgc2VsZi5uYW1lYC4KLSAgICAgICAgIiIiCi0KLSAgICBkZWYgc2hvcnRfZXhwcmVzc2lvbihzZWxmLCBsZXZlbDogaW50ID0gMCkgLT4gc3RyOgotICAgICAgICAiIiJBYmJyZXZpYXRlIHRoZSBleHByZXNzaW9uLCBrZWVwaW5nIGl0IGh1bWFuLXJlYWRhYmxlLgotCi0gICAgICAgIFNlZSBgY3J5cHRvX2tub3dsZWRnZS5zaG9ydF9leHByZXNzaW9uYC4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBzaG9ydF9leHByZXNzaW9uKHNlbGYuZXhwcmVzc2lvbiwgbGV2ZWw9bGV2ZWwpCi0KLSAgICBkZWYgaXNfcHVibGljKHNlbGYpIC0+IGJvb2w6Ci0gICAgICAgICIiIldoZXRoZXIgdGhlIGtleSB0eXBlIGlzIGZvciBwdWJsaWMga2V5cy4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYubmFtZS5lbmRzd2l0aCgnX1BVQkxJQ19LRVknKQotCi0gICAgREhfS0VZX1NJWkVTID0gewotICAgICAgICAnUFNBX0RIX0ZBTUlMWV9SRkM3OTE5JzogKDIwNDgsIDMwNzIsIDQwOTYsIDYxNDQsIDgxOTIpLAotICAgIH0gIyB0eXBlOiBEaWN0W3N0ciwgVHVwbGVbaW50LCAuLi5dXQotICAgIEVDQ19LRVlfU0laRVMgPSB7Ci0gICAgICAgICdQU0FfRUNDX0ZBTUlMWV9TRUNQX0sxJzogKDE5MiwgMjI1LCAyNTYpLAotICAgICAgICAnUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSc6ICgyMjQsIDI1NiwgMzg0LCA1MjEpLAotICAgICAgICAnUFNBX0VDQ19GQU1JTFlfU0VDUF9SMic6ICgxNjAsKSwKLSAgICAgICAgJ1BTQV9FQ0NfRkFNSUxZX1NFQ1RfSzEnOiAoMTYzLCAyMzMsIDIzOSwgMjgzLCA0MDksIDU3MSksCi0gICAgICAgICdQU0FfRUNDX0ZBTUlMWV9TRUNUX1IxJzogKDE2MywgMjMzLCAyODMsIDQwOSwgNTcxKSwKLSAgICAgICAgJ1BTQV9FQ0NfRkFNSUxZX1NFQ1RfUjInOiAoMTYzLCksCi0gICAgICAgICdQU0FfRUNDX0ZBTUlMWV9CUkFJTlBPT0xfUF9SMSc6ICgxNjAsIDE5MiwgMjI0LCAyNTYsIDMyMCwgMzg0LCA1MTIpLAotICAgICAgICAnUFNBX0VDQ19GQU1JTFlfTU9OVEdPTUVSWSc6ICgyNTUsIDQ0OCksCi0gICAgICAgICdQU0FfRUNDX0ZBTUlMWV9UV0lTVEVEX0VEV0FSRFMnOiAoMjU1LCA0NDgpLAotICAgIH0gIyB0eXBlOiBEaWN0W3N0ciwgVHVwbGVbaW50LCAuLi5dXQotICAgIEtFWV9UWVBFX1NJWkVTID0gewotICAgICAgICAnUFNBX0tFWV9UWVBFX0FFUyc6ICgxMjgsIDE5MiwgMjU2KSwgIyBleGhhdXN0aXZlCi0gICAgICAgICdQU0FfS0VZX1RZUEVfQVJJQSc6ICgxMjgsIDE5MiwgMjU2KSwgIyBleGhhdXN0aXZlCi0gICAgICAgICdQU0FfS0VZX1RZUEVfQ0FNRUxMSUEnOiAoMTI4LCAxOTIsIDI1NiksICMgZXhoYXVzdGl2ZQotICAgICAgICAnUFNBX0tFWV9UWVBFX0NIQUNIQTIwJzogKDI1NiwpLCAjIGV4aGF1c3RpdmUKLSAgICAgICAgJ1BTQV9LRVlfVFlQRV9ERVJJVkUnOiAoMTIwLCAxMjgpLCAjIHNhbXBsZQotICAgICAgICAnUFNBX0tFWV9UWVBFX0RFUyc6ICg2NCwgMTI4LCAxOTIpLCAjIGV4aGF1c3RpdmUKLSAgICAgICAgJ1BTQV9LRVlfVFlQRV9ITUFDJzogKDEyOCwgMTYwLCAyMjQsIDI1NiwgMzg0LCA1MTIpLCAjIHN0YW5kYXJkIHNpemUgZm9yIGVhY2ggc3VwcG9ydGVkIGhhc2gKLSAgICAgICAgJ1BTQV9LRVlfVFlQRV9QQVNTV09SRCc6ICg0OCwgMTY4LCAzMzYpLCAjIHNhbXBsZQotICAgICAgICAnUFNBX0tFWV9UWVBFX1BBU1NXT1JEX0hBU0gnOiAoMTI4LCAyNTYpLCAjIHNhbXBsZQotICAgICAgICAnUFNBX0tFWV9UWVBFX1BFUFBFUic6ICgxMjgsIDI1NiksICMgc2FtcGxlCi0gICAgICAgICdQU0FfS0VZX1RZUEVfUkFXX0RBVEEnOiAoOCwgNDAsIDEyOCksICMgc2FtcGxlCi0gICAgICAgICdQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSJzogKDEwMjQsIDE1MzYpLCAjIHNtYWxsIHNhbXBsZQotICAgIH0gIyB0eXBlOiBEaWN0W3N0ciwgVHVwbGVbaW50LCAuLi5dXQotICAgIGRlZiBzaXplc190b190ZXN0KHNlbGYpIC0+IFR1cGxlW2ludCwgLi4uXToKLSAgICAgICAgIiIiUmV0dXJuIGEgdHVwbGUgb2Yga2V5IHNpemVzIHRvIHRlc3QuCi0KLSAgICAgICAgRm9yIGtleSB0eXBlcyB0aGF0IG9ubHkgYWxsb3cgYSBzaW5nbGUgc2l6ZSwgb3Igb25seSBhIHNtYWxsIHNldCBvZgotICAgICAgICBzaXplcywgdGhlc2UgYXJlIGFsbCB0aGUgcG9zc2libGUgc2l6ZXMuIEZvciBrZXkgdHlwZXMgdGhhdCBhbGxvdyBhCi0gICAgICAgIHdpZGUgcmFuZ2Ugb2Ygc2l6ZXMsIHRoZXNlIGFyZSBhIHJlcHJlc2VudGF0aXZlIHNhbXBsZSBvZiBzaXplcywKLSAgICAgICAgZXhjbHVkaW5nIGxhcmdlIHNpemVzIGZvciB3aGljaCBhIHR5cGljYWwgcmVzb3VyY2UtY29uc3RyYWluZWQgcGxhdGZvcm0KLSAgICAgICAgbWF5IHJ1biBvdXQgb2YgbWVtb3J5LgotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5wcml2YXRlX3R5cGUgPT0gJ1BTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVInOgotICAgICAgICAgICAgYXNzZXJ0IHNlbGYucGFyYW1zIGlzIG5vdCBOb25lCi0gICAgICAgICAgICByZXR1cm4gc2VsZi5FQ0NfS0VZX1NJWkVTW3NlbGYucGFyYW1zWzBdXQotICAgICAgICBpZiBzZWxmLnByaXZhdGVfdHlwZSA9PSAnUFNBX0tFWV9UWVBFX0RIX0tFWV9QQUlSJzoKLSAgICAgICAgICAgIGFzc2VydCBzZWxmLnBhcmFtcyBpcyBub3QgTm9uZQotICAgICAgICAgICAgcmV0dXJuIHNlbGYuREhfS0VZX1NJWkVTW3NlbGYucGFyYW1zWzBdXQotICAgICAgICByZXR1cm4gc2VsZi5LRVlfVFlQRV9TSVpFU1tzZWxmLnByaXZhdGVfdHlwZV0KLQotICAgICMgIjQ4NjU3MjY1MDA2OTczMjA2YjY1NzlhMDY0NjE3NDYxIgotICAgIERBVEFfQkxPQ0sgPSBiJ0hlcmVcMDAwaXMga2V5XDI0MGRhdGEnCi0gICAgZGVmIGtleV9tYXRlcmlhbChzZWxmLCBiaXRzOiBpbnQpIC0+IGJ5dGVzOgotICAgICAgICAiIiJSZXR1cm4gYSBieXRlIHN0cmluZyBjb250YWluaW5nIHN1aXRhYmxlIGtleSBtYXRlcmlhbCB3aXRoIHRoZSBnaXZlbiBiaXQgbGVuZ3RoLgotCi0gICAgICAgIFVzZSB0aGUgUFNBIGV4cG9ydCByZXByZXNlbnRhdGlvbi4gVGhlIHJlc3VsdGluZyBieXRlIHN0cmluZyBpcyBvbmUgdGhhdAotICAgICAgICBjYW4gYmUgb2J0YWluZWQgd2l0aCB0aGUgZm9sbG93aW5nIGNvZGU6Ci0gICAgICAgIGBgYAotICAgICAgICBwc2Ffc2V0X2tleV90eXBlKCZhdHRyaWJ1dGVzLCBgc2VsZi5leHByZXNzaW9uYCk7Ci0gICAgICAgIHBzYV9zZXRfa2V5X2JpdHMoJmF0dHJpYnV0ZXMsIGBiaXRzYCk7Ci0gICAgICAgIHBzYV9zZXRfa2V5X3VzYWdlX2ZsYWdzKCZhdHRyaWJ1dGVzLCBQU0FfS0VZX1VTQUdFX0VYUE9SVCk7Ci0gICAgICAgIHBzYV9nZW5lcmF0ZV9rZXkoJmF0dHJpYnV0ZXMsICZpZCk7Ci0gICAgICAgIHBzYV9leHBvcnRfa2V5KGlkLCBgbWF0ZXJpYWxgLCAuLi4pOwotICAgICAgICBgYGAKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuZXhwcmVzc2lvbiBpbiBBU1lNTUVUUklDX0tFWV9EQVRBOgotICAgICAgICAgICAgaWYgYml0cyBub3QgaW4gQVNZTU1FVFJJQ19LRVlfREFUQVtzZWxmLmV4cHJlc3Npb25dOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ05vIGtleSBkYXRhIGZvciB7fS1iaXQge30nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KGJpdHMsIHNlbGYuZXhwcmVzc2lvbikpCi0gICAgICAgICAgICByZXR1cm4gQVNZTU1FVFJJQ19LRVlfREFUQVtzZWxmLmV4cHJlc3Npb25dW2JpdHNdCi0gICAgICAgIGlmIGJpdHMgJSA4ICE9IDA6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdOb24taW50ZWdlciBudW1iZXIgb2YgYnl0ZXM6IHt9IGJpdHMgZm9yIHt9JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KGJpdHMsIHNlbGYuZXhwcmVzc2lvbikpCi0gICAgICAgIGxlbmd0aCA9IGJpdHMgLy8gOAotICAgICAgICBpZiBzZWxmLm5hbWUgPT0gJ1BTQV9LRVlfVFlQRV9ERVMnOgotICAgICAgICAgICAgIyAiNjQ0NTczMjA2YjQ1NzkwMTY0NDU3MzIwNmI0NTc5MDI2NDQ1NzMyMDZiNDU3OTA0IgotICAgICAgICAgICAgZGVzMyA9IGInZEVzIGtFeVwwMDFkRXMga0V5XDAwMmRFcyBrRXlcMDA0JwotICAgICAgICAgICAgcmV0dXJuIGRlczNbOmxlbmd0aF0KLSAgICAgICAgcmV0dXJuIGInJy5qb2luKFtzZWxmLkRBVEFfQkxPQ0tdICogKGxlbmd0aCAvLyBsZW4oc2VsZi5EQVRBX0JMT0NLKSkgKwotICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGYuREFUQV9CTE9DS1s6bGVuZ3RoICUgbGVuKHNlbGYuREFUQV9CTE9DSyldXSkKLQotICAgIGRlZiBjYW5fZG8oc2VsZiwgYWxnOiAnQWxnb3JpdGhtJykgLT4gYm9vbDoKLSAgICAgICAgIiIiV2hldGhlciB0aGlzIGtleSB0eXBlIGNhbiBiZSB1c2VkIGZvciBvcGVyYXRpb25zIHdpdGggdGhlIGdpdmVuIGFsZ29yaXRobS4KLQotICAgICAgICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGN1cnJlbnRseSBoYW5kbGUga2V5IGRlcml2YXRpb24gb3IgUEFLRS4KLSAgICAgICAgIiIiCi0gICAgICAgICNweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktYnJhbmNoZXMsdG9vLW1hbnktcmV0dXJuLXN0YXRlbWVudHMKLSAgICAgICAgaWYgbm90IGFsZy5pc192YWxpZF9mb3Jfb3BlcmF0aW9uKCk6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgc2VsZi5oZWFkID09ICdITUFDJyBhbmQgYWxnLmhlYWQgPT0gJ0hNQUMnOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgaWYgc2VsZi5oZWFkID09ICdERVMnOgotICAgICAgICAgICAgIyA2NC1iaXQgYmxvY2sgY2lwaGVycyBvbmx5IGFsbG93IGEgcmVkdWNlZCBzZXQgb2YgbW9kZXMuCi0gICAgICAgICAgICByZXR1cm4gYWxnLmhlYWQgaW4gWwotICAgICAgICAgICAgICAgICdDQkNfTk9fUEFERElORycsICdDQkNfUEtDUzcnLAotICAgICAgICAgICAgICAgICdFQ0JfTk9fUEFERElORycsCi0gICAgICAgICAgICBdCi0gICAgICAgIGlmIHNlbGYuaGVhZCBpbiBCTE9DS19DSVBIRVJTIGFuZCBcCi0gICAgICAgICAgIGFsZy5oZWFkIGluIGZyb3plbnNldC51bmlvbihCTE9DS19NQUNfTU9ERVMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTE9DS19DSVBIRVJfTU9ERVMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTE9DS19BRUFEX01PREVTKToKLSAgICAgICAgICAgIGlmIGFsZy5oZWFkIGluIFsnQ01BQycsICdPRkInXSBhbmQgXAotICAgICAgICAgICAgICAgc2VsZi5oZWFkIGluIFsnQVJJQScsICdDQU1FTExJQSddOgotICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZSAjIG5vdCBpbXBsZW1lbnRlZCBpbiBNYmVkIFRMUwotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgaWYgc2VsZi5oZWFkID09ICdDSEFDSEEyMCcgYW5kIGFsZy5oZWFkID09ICdDSEFDSEEyMF9QT0xZMTMwNSc6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBpZiBzZWxmLmhlYWQgaW4geydBUkM0JywgJ0NIQUNIQTIwJ30gYW5kIFwKLSAgICAgICAgICAgYWxnLmhlYWQgPT0gJ1NUUkVBTV9DSVBIRVInOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgaWYgc2VsZi5oZWFkID09ICdSU0EnIGFuZCBhbGcuaGVhZC5zdGFydHN3aXRoKCdSU0FfJyk6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBpZiBhbGcuY2F0ZWdvcnkgPT0gQWxnb3JpdGhtQ2F0ZWdvcnkuS0VZX0FHUkVFTUVOVCBhbmQgXAotICAgICAgICAgICBzZWxmLmlzX3B1YmxpYygpOgotICAgICAgICAgICAgIyBUaGUgUFNBIEFQSSBkb2VzIG5vdCB1c2UgcHVibGljIGtleSBvYmplY3RzIGluIGtleSBhZ3JlZW1lbnQKLSAgICAgICAgICAgICMgb3BlcmF0aW9uczogaXQgaW1wb3J0cyB0aGUgcHVibGljIGtleSBhcyBhIGZvcm1hdHRlZCBieXRlIHN0cmluZy4KLSAgICAgICAgICAgICMgU28gYSBwdWJsaWMga2V5IG9iamVjdCB3aXRoIGEga2V5IGFncmVlbWVudCBhbGdvcml0aG0gaXMgbm90Ci0gICAgICAgICAgICAjIGEgdmFsaWQgY29tYmluYXRpb24uCi0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgYWxnLmlzX2ludmFsaWRfa2V5X2FncmVlbWVudF93aXRoX2Rlcml2YXRpb24oKToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBpZiBzZWxmLmhlYWQgPT0gJ0VDQyc6Ci0gICAgICAgICAgICBhc3NlcnQgc2VsZi5wYXJhbXMgaXMgbm90IE5vbmUKLSAgICAgICAgICAgIGVjY2MgPSBFbGxpcHRpY0N1cnZlQ2F0ZWdvcnkuZnJvbV9mYW1pbHkoc2VsZi5wYXJhbXNbMF0pCi0gICAgICAgICAgICBpZiBhbGcuaGVhZCA9PSAnRUNESCcgYW5kIFwKLSAgICAgICAgICAgICAgIGVjY2MgaW4ge0VsbGlwdGljQ3VydmVDYXRlZ29yeS5TSE9SVF9XRUlFUlNUUkFTUywKLSAgICAgICAgICAgICAgICAgICAgICAgIEVsbGlwdGljQ3VydmVDYXRlZ29yeS5NT05UR09NRVJZfToKLSAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICAgICAgaWYgYWxnLmhlYWQgPT0gJ0VDRFNBJyBhbmQgXAotICAgICAgICAgICAgICAgZWNjYyA9PSBFbGxpcHRpY0N1cnZlQ2F0ZWdvcnkuU0hPUlRfV0VJRVJTVFJBU1M6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgICAgIGlmIGFsZy5oZWFkIGluIHsnUFVSRV9FRERTQScsICdFRERTQV9QUkVIQVNIJ30gYW5kIFwKLSAgICAgICAgICAgICAgIGVjY2MgPT0gRWxsaXB0aWNDdXJ2ZUNhdGVnb3J5LlRXSVNURURfRURXQVJEUzoKLSAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBpZiBzZWxmLmhlYWQgPT0gJ0RIJyBhbmQgYWxnLmhlYWQgPT0gJ0ZGREgnOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLQotY2xhc3MgQWxnb3JpdGhtQ2F0ZWdvcnkoZW51bS5FbnVtKToKLSAgICAiIiJQU0EgYWxnb3JpdGhtIGNhdGVnb3JpZXMuIiIiCi0gICAgIyBUaGUgbnVtYmVycyBhcmUgYWxpZ25lZCB3aXRoIHRoZSBjYXRlZ29yeSBiaXRzIGluIG51bWVyaWNhbCB2YWx1ZXMgb2YKLSAgICAjIGFsZ29yaXRobXMuCi0gICAgSEFTSCA9IDIKLSAgICBNQUMgPSAzCi0gICAgQ0lQSEVSID0gNAotICAgIEFFQUQgPSA1Ci0gICAgU0lHTiA9IDYKLSAgICBBU1lNTUVUUklDX0VOQ1JZUFRJT04gPSA3Ci0gICAgS0VZX0RFUklWQVRJT04gPSA4Ci0gICAgS0VZX0FHUkVFTUVOVCA9IDkKLSAgICBQQUtFID0gMTAKLQotICAgIGRlZiByZXF1aXJlc19rZXkoc2VsZikgLT4gYm9vbDoKLSAgICAgICAgIiIiV2hldGhlciBvcGVyYXRpb25zIGluIHRoaXMgY2F0ZWdvcnkgYXJlIHNldCB1cCB3aXRoIGEga2V5LiIiIgotICAgICAgICByZXR1cm4gc2VsZiBub3QgaW4ge3NlbGYuSEFTSCwgc2VsZi5LRVlfREVSSVZBVElPTn0KLQotICAgIGRlZiBpc19hc3ltbWV0cmljKHNlbGYpIC0+IGJvb2w6Ci0gICAgICAgICIiIldoZXRoZXIgb3BlcmF0aW9ucyBpbiB0aGlzIGNhdGVnb3J5IGludm9sdmUgYXN5bW1ldHJpYyBrZXlzLiIiIgotICAgICAgICByZXR1cm4gc2VsZiBpbiB7Ci0gICAgICAgICAgICBzZWxmLlNJR04sCi0gICAgICAgICAgICBzZWxmLkFTWU1NRVRSSUNfRU5DUllQVElPTiwKLSAgICAgICAgICAgIHNlbGYuS0VZX0FHUkVFTUVOVAotICAgICAgICB9Ci0KLQotY2xhc3MgQWxnb3JpdGhtTm90UmVjb2duaXplZChFeGNlcHRpb24pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleHByOiBzdHIpIC0+IE5vbmU6Ci0gICAgICAgIHN1cGVyKCkuX19pbml0X18oJ0FsZ29yaXRobSBub3QgcmVjb2duaXplZDogJyArIGV4cHIpCi0gICAgICAgIHNlbGYuZXhwciA9IGV4cHIKLQotCi1jbGFzcyBBbGdvcml0aG06Ci0gICAgIiIiS25vd2xlZGdlIGFib3V0IGEgUFNBIGFsZ29yaXRobS4iIiIKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgZGV0ZXJtaW5lX2Jhc2UoZXhwcjogc3RyKSAtPiBzdHI6Ci0gICAgICAgICIiIlJldHVybiBhbiBleHByZXNzaW9uIGZvciB0aGUgImJhc2UiIG9mIHRoZSBhbGdvcml0aG0uCi0KLSAgICAgICAgVGhpcyBzdHJpcHMgb2ZmIHZhcmlhbnRzIG9mIGFsZ29yaXRobXMgc3VjaCBhcyBNQUMgdHJ1bmNhdGlvbi4KLQotICAgICAgICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGF0dGVtcHQgdG8gZGV0ZWN0IGludmFsaWQgaW5wdXRzLgotICAgICAgICAiIiIKLSAgICAgICAgbSA9IHJlLm1hdGNoKHInUFNBX0FMR18oPzonCi0gICAgICAgICAgICAgICAgICAgICByJyg/OlRSVU5DQVRFRHxBVF9MRUFTVF9USElTX0xFTkdUSClfTUFDfCcKLSAgICAgICAgICAgICAgICAgICAgIHInQUVBRF9XSVRIXyg/OlNIT1JURU5FRHxBVF9MRUFTVF9USElTX0xFTkdUSClfVEFHJwotICAgICAgICAgICAgICAgICAgICAgcicpXCgoLiopLFteLF0rXClcWicsIGV4cHIpCi0gICAgICAgIGlmIG06Ci0gICAgICAgICAgICBleHByID0gbS5ncm91cCgxKQotICAgICAgICByZXR1cm4gZXhwcgotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBkZXRlcm1pbmVfaGVhZChleHByOiBzdHIpIC0+IHN0cjoKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBoZWFkIG9mIGFuIGFsZ29yaXRobSBleHByZXNzaW9uLgotCi0gICAgICAgIFRoZSBoZWFkIGlzIHRoZSBmaXJzdCAob3V0ZXJtb3N0KSBjb25zdHJ1Y3Rvciwgd2l0aG91dCBpdHMgUFNBX0FMR18KLSAgICAgICAgcHJlZml4LCBhbmQgd2l0aCBzb21lIG5vcm1hbGl6YXRpb24gb2Ygc2ltaWxhciBhbGdvcml0aG1zLgotICAgICAgICAiIiIKLSAgICAgICAgbSA9IHJlLm1hdGNoKHInUFNBX0FMR18oPzpERVRFUk1JTklTVElDXyk/KFx3KyknLCBleHByKQotICAgICAgICBpZiBub3QgbToKLSAgICAgICAgICAgIHJhaXNlIEFsZ29yaXRobU5vdFJlY29nbml6ZWQoZXhwcikKLSAgICAgICAgaGVhZCA9IG0uZ3JvdXAoMSkKLSAgICAgICAgaWYgaGVhZCA9PSAnS0VZX0FHUkVFTUVOVCc6Ci0gICAgICAgICAgICBtID0gcmUubWF0Y2gocidQU0FfQUxHX0tFWV9BR1JFRU1FTlRccypcKFxzKlBTQV9BTEdfKFx3KyknLCBleHByKQotICAgICAgICAgICAgaWYgbm90IG06Ci0gICAgICAgICAgICAgICAgcmFpc2UgQWxnb3JpdGhtTm90UmVjb2duaXplZChleHByKQotICAgICAgICAgICAgaGVhZCA9IG0uZ3JvdXAoMSkKLSAgICAgICAgaGVhZCA9IHJlLnN1YihyJ19BTllcWicsIHInJywgaGVhZCkKLSAgICAgICAgaWYgcmUubWF0Y2gocidFRFswLTldK1BIXFonLCBoZWFkKToKLSAgICAgICAgICAgIGhlYWQgPSAnRUREU0FfUFJFSEFTSCcKLSAgICAgICAgcmV0dXJuIGhlYWQKLQotICAgIENBVEVHT1JZX0ZST01fSEVBRCA9IHsKLSAgICAgICAgJ1NIQSc6IEFsZ29yaXRobUNhdGVnb3J5LkhBU0gsCi0gICAgICAgICdTSEFLRTI1Nl81MTInOiBBbGdvcml0aG1DYXRlZ29yeS5IQVNILAotICAgICAgICAnTUQnOiBBbGdvcml0aG1DYXRlZ29yeS5IQVNILAotICAgICAgICAnUklQRU1EJzogQWxnb3JpdGhtQ2F0ZWdvcnkuSEFTSCwKLSAgICAgICAgJ0FOWV9IQVNIJzogQWxnb3JpdGhtQ2F0ZWdvcnkuSEFTSCwKLSAgICAgICAgJ0hNQUMnOiBBbGdvcml0aG1DYXRlZ29yeS5NQUMsCi0gICAgICAgICdTVFJFQU1fQ0lQSEVSJzogQWxnb3JpdGhtQ2F0ZWdvcnkuQ0lQSEVSLAotICAgICAgICAnQ0hBQ0hBMjBfUE9MWTEzMDUnOiBBbGdvcml0aG1DYXRlZ29yeS5BRUFELAotICAgICAgICAnRFNBJzogQWxnb3JpdGhtQ2F0ZWdvcnkuU0lHTiwKLSAgICAgICAgJ0VDRFNBJzogQWxnb3JpdGhtQ2F0ZWdvcnkuU0lHTiwKLSAgICAgICAgJ0VERFNBJzogQWxnb3JpdGhtQ2F0ZWdvcnkuU0lHTiwKLSAgICAgICAgJ1BVUkVfRUREU0EnOiBBbGdvcml0aG1DYXRlZ29yeS5TSUdOLAotICAgICAgICAnUlNBX1BTUyc6IEFsZ29yaXRobUNhdGVnb3J5LlNJR04sCi0gICAgICAgICdSU0FfUEtDUzFWMTVfU0lHTic6IEFsZ29yaXRobUNhdGVnb3J5LlNJR04sCi0gICAgICAgICdSU0FfUEtDUzFWMTVfQ1JZUFQnOiBBbGdvcml0aG1DYXRlZ29yeS5BU1lNTUVUUklDX0VOQ1JZUFRJT04sCi0gICAgICAgICdSU0FfT0FFUCc6IEFsZ29yaXRobUNhdGVnb3J5LkFTWU1NRVRSSUNfRU5DUllQVElPTiwKLSAgICAgICAgJ0hLREYnOiBBbGdvcml0aG1DYXRlZ29yeS5LRVlfREVSSVZBVElPTiwKLSAgICAgICAgJ1RMUzEyX1BSRic6IEFsZ29yaXRobUNhdGVnb3J5LktFWV9ERVJJVkFUSU9OLAotICAgICAgICAnVExTMTJfUFNLX1RPX01TJzogQWxnb3JpdGhtQ2F0ZWdvcnkuS0VZX0RFUklWQVRJT04sCi0gICAgICAgICdUTFMxMl9FQ0pQQUtFX1RPX1BNUyc6IEFsZ29yaXRobUNhdGVnb3J5LktFWV9ERVJJVkFUSU9OLAotICAgICAgICAnUEJLREYnOiBBbGdvcml0aG1DYXRlZ29yeS5LRVlfREVSSVZBVElPTiwKLSAgICAgICAgJ0VDREgnOiBBbGdvcml0aG1DYXRlZ29yeS5LRVlfQUdSRUVNRU5ULAotICAgICAgICAnRkZESCc6IEFsZ29yaXRobUNhdGVnb3J5LktFWV9BR1JFRU1FTlQsCi0gICAgICAgICMgS0VZX0FHUkVFTUVOVCguLi4pIGlzIGEga2V5IGRlcml2YXRpb24gd2l0aCBhIGtleSBhZ3JlZW1lbnQgY29tcG9uZW50Ci0gICAgICAgICdLRVlfQUdSRUVNRU5UJzogQWxnb3JpdGhtQ2F0ZWdvcnkuS0VZX0RFUklWQVRJT04sCi0gICAgICAgICdKUEFLRSc6IEFsZ29yaXRobUNhdGVnb3J5LlBBS0UsCi0gICAgfQotICAgIGZvciB4IGluIEJMT0NLX01BQ19NT0RFUzoKLSAgICAgICAgQ0FURUdPUllfRlJPTV9IRUFEW3hdID0gQWxnb3JpdGhtQ2F0ZWdvcnkuTUFDCi0gICAgZm9yIHggaW4gQkxPQ0tfQ0lQSEVSX01PREVTOgotICAgICAgICBDQVRFR09SWV9GUk9NX0hFQURbeF0gPSBBbGdvcml0aG1DYXRlZ29yeS5DSVBIRVIKLSAgICBmb3IgeCBpbiBCTE9DS19BRUFEX01PREVTOgotICAgICAgICBDQVRFR09SWV9GUk9NX0hFQURbeF0gPSBBbGdvcml0aG1DYXRlZ29yeS5BRUFECi0KLSAgICBkZWYgZGV0ZXJtaW5lX2NhdGVnb3J5KHNlbGYsIGV4cHI6IHN0ciwgaGVhZDogc3RyKSAtPiBBbGdvcml0aG1DYXRlZ29yeToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBjYXRlZ29yeSBvZiB0aGUgZ2l2ZW4gYWxnb3JpdGhtIGV4cHJlc3Npb24uCi0KLSAgICAgICAgVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBhdHRlbXB0IHRvIGRldGVjdCBpbnZhbGlkIGlucHV0cy4KLSAgICAgICAgIiIiCi0gICAgICAgIHByZWZpeCA9IGhlYWQKLSAgICAgICAgd2hpbGUgcHJlZml4OgotICAgICAgICAgICAgaWYgcHJlZml4IGluIHNlbGYuQ0FURUdPUllfRlJPTV9IRUFEOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLkNBVEVHT1JZX0ZST01fSEVBRFtwcmVmaXhdCi0gICAgICAgICAgICBpZiByZS5tYXRjaChyJy4qWzAtOV1cWicsIHByZWZpeCk6Ci0gICAgICAgICAgICAgICAgcHJlZml4ID0gcmUuc3ViKHInXypbMC05XStcWicsIHInJywgcHJlZml4KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBwcmVmaXggPSByZS5zdWIocidfKlteX10qXFonLCByJycsIHByZWZpeCkKLSAgICAgICAgcmFpc2UgQWxnb3JpdGhtTm90UmVjb2duaXplZChleHByKQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBkZXRlcm1pbmVfd2lsZGNhcmQoZXhwcikgLT4gYm9vbDoKLSAgICAgICAgIiIiV2hldGhlciB0aGUgZ2l2ZW4gYWxnb3JpdGhtIGV4cHJlc3Npb24gaXMgYSB3aWxkY2FyZC4KLQotICAgICAgICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGF0dGVtcHQgdG8gZGV0ZWN0IGludmFsaWQgaW5wdXRzLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgcmUuc2VhcmNoKHInXGJQU0FfQUxHX0FOWV9IQVNIXGInLCBleHByKToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGlmIHJlLnNlYXJjaChyJ19BVF9MRUFTVF8nLCBleHByKToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4cHI6IHN0cikgLT4gTm9uZToKLSAgICAgICAgIiIiQW5hbHl6ZSBhbiBhbGdvcml0aG0gdmFsdWUuCi0KLSAgICAgICAgVGhlIGFsZ29yaXRobSBtdXN0IGJlIGV4cHJlc3NlZCBhcyBhIEMgZXhwcmVzc2lvbiBjb250YWluaW5nIG9ubHkKLSAgICAgICAgY2FsbHMgdG8gUFNBIGFsZ29yaXRobSBjb25zdHJ1Y3RvciBtYWNyb3MgYW5kIG51bWVyaWMgbGl0ZXJhbHMuCi0KLSAgICAgICAgVGhpcyBjbGFzcyBpcyBvbmx5IHByb2dyYW1tZWQgdG8gaGFuZGxlIHZhbGlkIGV4cHJlc3Npb25zLiBJbnZhbGlkCi0gICAgICAgIGV4cHJlc3Npb25zIG1heSByZXN1bHQgaW4gZXhjZXB0aW9ucyBvciBpbiBub25zZW5zaWNhbCByZXN1bHRzLgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5leHByZXNzaW9uID0gcmUuc3ViKHInXHMrJywgcicnLCBleHByKQotICAgICAgICBzZWxmLmJhc2VfZXhwcmVzc2lvbiA9IHNlbGYuZGV0ZXJtaW5lX2Jhc2Uoc2VsZi5leHByZXNzaW9uKQotICAgICAgICBzZWxmLmhlYWQgPSBzZWxmLmRldGVybWluZV9oZWFkKHNlbGYuYmFzZV9leHByZXNzaW9uKQotICAgICAgICBzZWxmLmNhdGVnb3J5ID0gc2VsZi5kZXRlcm1pbmVfY2F0ZWdvcnkoc2VsZi5iYXNlX2V4cHJlc3Npb24sIHNlbGYuaGVhZCkKLSAgICAgICAgc2VsZi5pc193aWxkY2FyZCA9IHNlbGYuZGV0ZXJtaW5lX3dpbGRjYXJkKHNlbGYuZXhwcmVzc2lvbikKLQotICAgIGRlZiBnZXRfa2V5X2FncmVlbWVudF9kZXJpdmF0aW9uKHNlbGYpIC0+IE9wdGlvbmFsW3N0cl06Ci0gICAgICAgICIiIkZvciBhIGNvbWJpbmVkIGtleSBhZ3JlZW1lbnQgYW5kIGtleSBkZXJpdmF0aW9uIGFsZ29yaXRobSwgZ2V0IHRoZSBkZXJpdmF0aW9uIHBhcnQuCi0KLSAgICAgICAgRm9yIGFueXRoaW5nIGVsc2UsIHJldHVybiBOb25lLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5jYXRlZ29yeSAhPSBBbGdvcml0aG1DYXRlZ29yeS5LRVlfQUdSRUVNRU5UOgotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgbSA9IHJlLm1hdGNoKHInUFNBX0FMR19LRVlfQUdSRUVNRU5UXChcdyssXHMqKC4qKVwpXFonLCBzZWxmLmV4cHJlc3Npb24pCi0gICAgICAgIGlmIG5vdCBtOgotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAga2RmX2FsZyA9IG0uZ3JvdXAoMSkKLSAgICAgICAgIyBBc3N1bWUga2RmX2FsZyBpcyBlaXRoZXIgYSB2YWxpZCBLREYgb3IgMC4KLSAgICAgICAgaWYgcmUubWF0Y2gocicoPzowW1h4XSk/MCtccypcWicsIGtkZl9hbGcpOgotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgcmV0dXJuIGtkZl9hbGcKLQotICAgIEtFWV9ERVJJVkFUSU9OU19JTkNPTVBBVElCTEVfV0lUSF9BR1JFRU1FTlQgPSBmcm96ZW5zZXQoWwotICAgICAgICAnUFNBX0FMR19UTFMxMl9FQ0pQQUtFX1RPX1BNUycsICMgc2VjcmV0IGlucHV0IGluIHNwZWNpZmljIGZvcm1hdAotICAgIF0pCi0gICAgZGVmIGlzX3ZhbGlkX2tleV9hZ3JlZW1lbnRfd2l0aF9kZXJpdmF0aW9uKHNlbGYpIC0+IGJvb2w6Ci0gICAgICAgICIiIldoZXRoZXIgdGhpcyBpcyBhIHZhbGlkIGNvbWJpbmVkIGtleSBhZ3JlZW1lbnQgYW5kIGtleSBkZXJpdmF0aW9uIGFsZ29yaXRobS4iIiIKLSAgICAgICAga2RmX2FsZyA9IHNlbGYuZ2V0X2tleV9hZ3JlZW1lbnRfZGVyaXZhdGlvbigpCi0gICAgICAgIGlmIGtkZl9hbGcgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4ga2RmX2FsZyBub3QgaW4gc2VsZi5LRVlfREVSSVZBVElPTlNfSU5DT01QQVRJQkxFX1dJVEhfQUdSRUVNRU5UCi0KLSAgICBkZWYgaXNfaW52YWxpZF9rZXlfYWdyZWVtZW50X3dpdGhfZGVyaXZhdGlvbihzZWxmKSAtPiBib29sOgotICAgICAgICAiIiJXaGV0aGVyIHRoaXMgaXMgYW4gaW52YWxpZCBjb21iaW5lZCBrZXkgYWdyZWVtZW50IGFuZCBrZXkgZGVyaXZhdGlvbiBhbGdvcml0aG0uIiIiCi0gICAgICAgIGtkZl9hbGcgPSBzZWxmLmdldF9rZXlfYWdyZWVtZW50X2Rlcml2YXRpb24oKQotICAgICAgICBpZiBrZGZfYWxnIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIGtkZl9hbGcgaW4gc2VsZi5LRVlfREVSSVZBVElPTlNfSU5DT01QQVRJQkxFX1dJVEhfQUdSRUVNRU5UCi0KLSAgICBkZWYgc2hvcnRfZXhwcmVzc2lvbihzZWxmLCBsZXZlbDogaW50ID0gMCkgLT4gc3RyOgotICAgICAgICAiIiJBYmJyZXZpYXRlIHRoZSBleHByZXNzaW9uLCBrZWVwaW5nIGl0IGh1bWFuLXJlYWRhYmxlLgotCi0gICAgICAgIFNlZSBgY3J5cHRvX2tub3dsZWRnZS5zaG9ydF9leHByZXNzaW9uYC4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBzaG9ydF9leHByZXNzaW9uKHNlbGYuZXhwcmVzc2lvbiwgbGV2ZWw9bGV2ZWwpCi0KLSAgICBIQVNIX0xFTkdUSCA9IHsKLSAgICAgICAgJ1BTQV9BTEdfTUQ1JzogMTYsCi0gICAgICAgICdQU0FfQUxHX1NIQV8xJzogMjAsCi0gICAgfQotICAgIEhBU0hfTEVOR1RIX0JJVFNfUkUgPSByZS5jb21waWxlKHInKFswLTldKylcWicpCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGhhc2hfbGVuZ3RoKGNscywgYWxnOiBzdHIpIC0+IGludDoKLSAgICAgICAgIiIiVGhlIGxlbmd0aCBvZiB0aGUgZ2l2ZW4gaGFzaCBhbGdvcml0aG0sIGluIGJ5dGVzLiIiIgotICAgICAgICBpZiBhbGcgaW4gY2xzLkhBU0hfTEVOR1RIOgotICAgICAgICAgICAgcmV0dXJuIGNscy5IQVNIX0xFTkdUSFthbGddCi0gICAgICAgIG0gPSBjbHMuSEFTSF9MRU5HVEhfQklUU19SRS5zZWFyY2goYWxnKQotICAgICAgICBpZiBtOgotICAgICAgICAgICAgcmV0dXJuIGludChtLmdyb3VwKDEpKSAvLyA4Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1Vua25vd24gaGFzaCBsZW5ndGggZm9yICcgKyBhbGcpCi0KLSAgICBQRVJNSVRURURfVEFHX0xFTkdUSFMgPSB7Ci0gICAgICAgICdQU0FfQUxHX0NDTSc6IGZyb3plbnNldChbNCwgNiwgOCwgMTAsIDEyLCAxNCwgMTZdKSwKLSAgICAgICAgJ1BTQV9BTEdfQ0hBQ0hBMjBfUE9MWTEzMDUnOiBmcm96ZW5zZXQoWzE2XSksCi0gICAgICAgICdQU0FfQUxHX0dDTSc6IGZyb3plbnNldChbNCwgOCwgMTIsIDEzLCAxNCwgMTUsIDE2XSksCi0gICAgfQotICAgIE1BQ19MRU5HVEggPSB7Ci0gICAgICAgICdQU0FfQUxHX0NCQ19NQUMnOiAxNiwgIyBhY3R1YWxseSB0aGUgYmxvY2sgY2lwaGVyIGxlbmd0aAotICAgICAgICAnUFNBX0FMR19DTUFDJzogMTYsICMgYWN0dWFsbHkgdGhlIGJsb2NrIGNpcGhlciBsZW5ndGgKLSAgICB9Ci0gICAgSE1BQ19SRSA9IHJlLmNvbXBpbGUocidQU0FfQUxHX0hNQUNcKCguKilcKVxaJykKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgcGVybWl0dGVkX3RydW5jYXRpb25zKGNscywgYmFzZTogc3RyKSAtPiBGcm96ZW5TZXRbaW50XToKLSAgICAgICAgIiIiUGVybWl0dGVkIG91dHB1dCBsZW5ndGhzIGZvciB0aGUgZ2l2ZW4gTUFDIG9yIEFFQUQgYmFzZSBhbGdvcml0aG0uCi0KLSAgICAgICAgRm9yIGEgTUFDIGFsZ29yaXRobSwgdGhpcyBpcyB0aGUgc2V0IG9mIHRydW5jYXRpb24gbGVuZ3RocyB0aGF0Ci0gICAgICAgIE1iZWQgVExTIHN1cHBvcnRzLgotICAgICAgICBGb3IgYW4gQUVBRCBhbGdvcml0aG0sIHRoaXMgaXMgdGhlIHNldCBvZiB0cnVuY2F0aW9uIGxlbmd0aHMgdGhhdAotICAgICAgICBhcmUgcGVybWl0dGVkIGJ5IHRoZSBhbGdvcml0aG0gc3BlY2lmaWNhdGlvbi4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIGJhc2UgaW4gY2xzLlBFUk1JVFRFRF9UQUdfTEVOR1RIUzoKLSAgICAgICAgICAgIHJldHVybiBjbHMuUEVSTUlUVEVEX1RBR19MRU5HVEhTW2Jhc2VdCi0gICAgICAgIG1heF9sZW5ndGggPSBjbHMuTUFDX0xFTkdUSC5nZXQoYmFzZSwgTm9uZSkKLSAgICAgICAgaWYgbWF4X2xlbmd0aCBpcyBOb25lOgotICAgICAgICAgICAgbSA9IGNscy5ITUFDX1JFLm1hdGNoKGJhc2UpCi0gICAgICAgICAgICBpZiBtOgotICAgICAgICAgICAgICAgIG1heF9sZW5ndGggPSBjbHMuaGFzaF9sZW5ndGgobS5ncm91cCgxKSkKLSAgICAgICAgaWYgbWF4X2xlbmd0aCBpcyBOb25lOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5rbm93biBwZXJtaXR0ZWQgbGVuZ3RocyBmb3IgJyArIGJhc2UpCi0gICAgICAgIHJldHVybiBmcm96ZW5zZXQocmFuZ2UoNCwgbWF4X2xlbmd0aCArIDEpKQotCi0gICAgVFJVTkNBVEVEX0FMR19SRSA9IHJlLmNvbXBpbGUoCi0gICAgICAgIHInKD9QPGZhY2U+UFNBX0FMR18oPzpBRUFEX1dJVEhfU0hPUlRFTkVEX1RBR3xUUlVOQ0FURURfTUFDKSknCi0gICAgICAgIHInXCgoP1A8YmFzZT4uKiksJwotICAgICAgICByJyg/UDxsZW5ndGg+MFtYeF1bMC05QS1GYS1mXSt8WzEtOV1bMC05XSp8MFswLTddKilbTFVsdV0qXClcWicpCi0gICAgZGVmIGlzX2ludmFsaWRfdHJ1bmNhdGlvbihzZWxmKSAtPiBib29sOgotICAgICAgICAiIiJGYWxzZSBmb3IgYSBNQUMgb3IgQUVBRCBhbGdvcml0aG0gdHJ1bmNhdGVkIHRvIGFuIGludmFsaWQgbGVuZ3RoLgotCi0gICAgICAgIFRydWUgZm9yIGEgTUFDIG9yIEFFQUQgYWxnb3JpdGhtIHRydW5jYXRlZCB0byBhIHZhbGlkIGxlbmd0aCBvciB0bwotICAgICAgICBhIGxlbmd0aCB0aGF0IGNhbm5vdCBiZSBkZXRlcm1pbmVkLiBUcnVlIGZvciBhbnl0aGluZyBvdGhlciB0aGFuCi0gICAgICAgIGEgdHJ1bmNhdGVkIE1BQyBvciBBRUFELgotICAgICAgICAiIiIKLSAgICAgICAgbSA9IHNlbGYuVFJVTkNBVEVEX0FMR19SRS5tYXRjaChzZWxmLmV4cHJlc3Npb24pCi0gICAgICAgIGlmIG06Ci0gICAgICAgICAgICBiYXNlID0gbS5ncm91cCgnYmFzZScpCi0gICAgICAgICAgICB0b19sZW5ndGggPSBpbnQobS5ncm91cCgnbGVuZ3RoJyksIDApCi0gICAgICAgICAgICBwZXJtaXR0ZWRfbGVuZ3RocyA9IHNlbGYucGVybWl0dGVkX3RydW5jYXRpb25zKGJhc2UpCi0gICAgICAgICAgICBpZiB0b19sZW5ndGggbm90IGluIHBlcm1pdHRlZF9sZW5ndGhzOgotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgZGVmIGlzX3ZhbGlkX2Zvcl9vcGVyYXRpb24oc2VsZikgLT4gYm9vbDoKLSAgICAgICAgIiIiV2hldGhlciB0aGlzIGFsZ29yaXRobSBjb25zdHJ1Y3Rpb24gaXMgdmFsaWQgZm9yIGFuIG9wZXJhdGlvbi4KLQotICAgICAgICBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCB0aGUgYWxnb3JpdGhtIGlzIGNvbnN0cnVjdGVkIGluIGEKLSAgICAgICAgImdyYW1tYXRpY2FsbHkiIGNvcnJlY3Qgd2F5LCBhbmQgb25seSByZWplY3RzIHNlbWFudGljYWxseSBpbnZhbGlkCi0gICAgICAgIGNvbWJpbmF0aW9ucy4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuaXNfd2lsZGNhcmQ6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgc2VsZi5pc19pbnZhbGlkX3RydW5jYXRpb24oKToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIGNhbl9kbyhzZWxmLCBjYXRlZ29yeTogQWxnb3JpdGhtQ2F0ZWdvcnkpIC0+IGJvb2w6Ci0gICAgICAgICIiIldoZXRoZXIgdGhpcyBhbGdvcml0aG0gY2FuIHBlcmZvcm0gb3BlcmF0aW9ucyBpbiB0aGUgZ2l2ZW4gY2F0ZWdvcnkuCi0gICAgICAgICIiIgotICAgICAgICBpZiBjYXRlZ29yeSA9PSBzZWxmLmNhdGVnb3J5OgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgaWYgY2F0ZWdvcnkgPT0gQWxnb3JpdGhtQ2F0ZWdvcnkuS0VZX0RFUklWQVRJT04gYW5kIFwKLSAgICAgICAgICAgc2VsZi5pc192YWxpZF9rZXlfYWdyZWVtZW50X3dpdGhfZGVyaXZhdGlvbigpOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBkZWYgdXNhZ2VfZmxhZ3Moc2VsZiwgcHVibGljOiBib29sID0gRmFsc2UpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgIiIiVGhlIGxpc3Qgb2YgdXNhZ2UgZmxhZ3MgZGVzY3JpYmluZyBvcGVyYXRpb25zIHRoYXQgY2FuIHBlcmZvcm0gdGhpcyBhbGdvcml0aG0uCi0KLSAgICAgICAgSWYgcHVibGljIGlzIHRydWUsIG9ubHkgcmV0dXJuIHB1YmxpYy1rZXkgb3BlcmF0aW9ucywgbm90IHByaXZhdGUta2V5IG9wZXJhdGlvbnMuCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLmNhdGVnb3J5ID09IEFsZ29yaXRobUNhdGVnb3J5LkhBU0g6Ci0gICAgICAgICAgICBmbGFncyA9IFtdCi0gICAgICAgIGVsaWYgc2VsZi5jYXRlZ29yeSA9PSBBbGdvcml0aG1DYXRlZ29yeS5NQUM6Ci0gICAgICAgICAgICBmbGFncyA9IFsnU0lHTl9IQVNIJywgJ1NJR05fTUVTU0FHRScsCi0gICAgICAgICAgICAgICAgICAgICAnVkVSSUZZX0hBU0gnLCAnVkVSSUZZX01FU1NBR0UnXQotICAgICAgICBlbGlmIHNlbGYuY2F0ZWdvcnkgPT0gQWxnb3JpdGhtQ2F0ZWdvcnkuQ0lQSEVSIG9yIFwKLSAgICAgICAgICAgICBzZWxmLmNhdGVnb3J5ID09IEFsZ29yaXRobUNhdGVnb3J5LkFFQUQ6Ci0gICAgICAgICAgICBmbGFncyA9IFsnREVDUllQVCcsICdFTkNSWVBUJ10KLSAgICAgICAgZWxpZiBzZWxmLmNhdGVnb3J5ID09IEFsZ29yaXRobUNhdGVnb3J5LlNJR046Ci0gICAgICAgICAgICBmbGFncyA9IFsnVkVSSUZZX0hBU0gnLCAnVkVSSUZZX01FU1NBR0UnXQotICAgICAgICAgICAgaWYgbm90IHB1YmxpYzoKLSAgICAgICAgICAgICAgICBmbGFncyArPSBbJ1NJR05fSEFTSCcsICdTSUdOX01FU1NBR0UnXQotICAgICAgICBlbGlmIHNlbGYuY2F0ZWdvcnkgPT0gQWxnb3JpdGhtQ2F0ZWdvcnkuQVNZTU1FVFJJQ19FTkNSWVBUSU9OOgotICAgICAgICAgICAgZmxhZ3MgPSBbJ0VOQ1JZUFQnXQotICAgICAgICAgICAgaWYgbm90IHB1YmxpYzoKLSAgICAgICAgICAgICAgICBmbGFncyArPSBbJ0RFQ1JZUFQnXQotICAgICAgICBlbGlmIHNlbGYuY2F0ZWdvcnkgPT0gQWxnb3JpdGhtQ2F0ZWdvcnkuS0VZX0RFUklWQVRJT04gb3IgXAotICAgICAgICAgICAgIHNlbGYuY2F0ZWdvcnkgPT0gQWxnb3JpdGhtQ2F0ZWdvcnkuS0VZX0FHUkVFTUVOVDoKLSAgICAgICAgICAgIGZsYWdzID0gWydERVJJVkUnXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgQWxnb3JpdGhtTm90UmVjb2duaXplZChzZWxmLmV4cHJlc3Npb24pCi0gICAgICAgIHJldHVybiBbJ1BTQV9LRVlfVVNBR0VfJyArIGZsYWcgZm9yIGZsYWcgaW4gZmxhZ3NdCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L2VjcC5weSBiL3NjcmlwdHMvbWJlZHRsc19kZXYvZWNwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDBmM2IxLi4wMDAwMDAwCi0tLSBhL3NjcmlwdHMvbWJlZHRsc19kZXYvZWNwLnB5CisrKyAvZGV2L251bGwKQEAgLTEsODc1ICswLDAgQEAKLSIiIkZyYW1ld29yayBjbGFzc2VzIGZvciBnZW5lcmF0aW9uIG9mIGVjcCB0ZXN0IGNhc2VzLiIiIgotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLWZyb20gdHlwaW5nIGltcG9ydCBMaXN0Ci0KLWZyb20gLiBpbXBvcnQgdGVzdF9kYXRhX2dlbmVyYXRpb24KLWZyb20gLiBpbXBvcnQgYmlnbnVtX2NvbW1vbgotCi0KLWNsYXNzIEVjcFRhcmdldCh0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5CYXNlVGFyZ2V0KToKLSAgICAjcHlsaW50OiBkaXNhYmxlPWFic3RyYWN0LW1ldGhvZCwgdG9vLWZldy1wdWJsaWMtbWV0aG9kcwotICAgICIiIlRhcmdldCBmb3IgZWNwIHRlc3QgY2FzZSBnZW5lcmF0aW9uLiIiIgotICAgIHRhcmdldF9iYXNlbmFtZSA9ICd0ZXN0X3N1aXRlX2VjcC5nZW5lcmF0ZWQnCi0KLQotY2xhc3MgRWNwUDE5MlIxUmF3KGJpZ251bV9jb21tb24uTW9kT3BlcmF0aW9uQ29tbW9uLAotICAgICAgICAgICAgICAgICAgIEVjcFRhcmdldCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgRUNQIFAxOTIgZmFzdCByZWR1Y3Rpb24uIiIiCi0gICAgc3ltYm9sID0gIi0iCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJlY3BfbW9kX3BfZ2VuZXJpY19yYXciCi0gICAgdGVzdF9uYW1lID0gImVjcF9tb2RfcDE5Ml9yYXciCi0gICAgaW5wdXRfc3R5bGUgPSAiZml4ZWQiCi0gICAgYXJpdHkgPSAxCi0gICAgZGVwZW5kZW5jaWVzID0gWyJNQkVEVExTX0VDUF9EUF9TRUNQMTkyUjFfRU5BQkxFRCIsCi0gICAgICAgICAgICAgICAgICAgICJNQkVEVExTX0VDUF9OSVNUX09QVElNIl0KLQotICAgIG1vZHVsaSA9IFsiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmIl0gIyB0eXBlOiBMaXN0W3N0cl0KLQotICAgIGlucHV0X3ZhbHVlcyA9IFsKLSAgICAgICAgIjAiLCAiMSIsCi0KLSAgICAgICAgIyBNb2R1bHVzIC0gMQotICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZlIiwKLQotICAgICAgICAjIE1vZHVsdXMgKyAxCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDAiLAotCi0gICAgICAgICMgMl4xOTIgLSAxCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiLAotCi0gICAgICAgICMgTWF4aW11bSBjYW5vbmljYWwgUDE5MiBtdWx0aXBsaWNhdGlvbiByZXN1bHQKLSAgICAgICAgKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmMiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDA0IiksCi0KLSAgICAgICAgIyBHZW5lcmF0ZSBhbiBvdmVyZmxvdyBkdXJpbmcgcmVkdWN0aW9uCi0gICAgICAgICgiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFmZmZmZmZmZmZmZmZmZmZmIgotICAgICAgICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMCIpLAotCi0gICAgICAgICMgR2VuZXJhdGUgYW4gb3ZlcmZsb3cgZHVyaW5nIGNhcnJ5IHJlZHVjdGlvbgotICAgICAgICAoImZmZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMCIKLSAgICAgICAgICJmZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDAiKSwKLQotICAgICAgICAjIEZpcnN0IDggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMzg0KSAtIHNlZWQoMiwyKQotICAgICAgICAoImNmMTgyMmZmYmM2ODg3NzgyYjQ5MTA0NGQ1ZTM0MTI0NWM2ZTQzMzcxNWJhMmJkZCIKLSAgICAgICAgICIxNzcyMTlkMzBlN2EyNjlmZDk1YmFmYzhmMmE0ZDI3YmRjZjRiYjk5ZjRiZWE5NzMiKSwKLSAgICAgICAgKCJmZmVkOTIzNTI4OGJjNzgxYWU2NjI2NzU5NGM5Yzk1MDA5MjVlNDc0OWI1NzViZDEiCi0gICAgICAgICAiMzY1M2Y4ZGQ5YjFmMjgyZTQwNjdjMzU4NGVlMjA3ZjhkYTk0ZTNlOGFiNzM3MzhmIiksCi0gICAgICAgICgiZWY4YWNkMTI4YjRmMmZjMTVmM2Y1N2ViZjMwYjk0ZmE4MjUyM2U4NmZlYWM3ZWI3IgotICAgICAgICAgImRjMzhmNTE5YjkxNzUxZGFjZGJkNDdkMzY0YmU4MDQ5YTM3MmRiOGY2ZTQwNWQ5MyIpLAotICAgICAgICAoImU4NjI0ZmFiNTE4NmVlMzJlZThkN2VlOTc3MDM0OGEwNWQzMDBjYjkwNzA2YTA0NSIKLSAgICAgICAgICJkZWZjMDQ0YTA5MzI1NjI2ZTZiNThkZTc0NGFiNmNjZTgwODc3YjZmNzFlMWY2ZDIiKSwKLSAgICAgICAgKCIyZDNkODU0ZTA2MWI5MDMwM2IwOGM2ZTMzYzcyOTU3ODJkNmM3OTdmOGY3ZDliNzgiCi0gICAgICAgICAiMmExYmU5Y2Q4Njk3YmJkMGUyNTIwZTMzZTQ0YzUwNTU2YzcxYzRhNjYxNDhhODZmIiksCi0gICAgICAgICgiZmVjM2Y2YjMyZThkNGI4YThmNTRmOGNlYWNhYWIzOWU4Mzg0NGI0MGZmYTliOWYxIgotICAgICAgICAgIjVjMTRiYzRhODI5ZTA3YjA4MjlhNDhkNDIyZmU5OWEyMmM3MDUwMWU1MzNjOTEzNSIpLAotICAgICAgICAoIjk3ZWVhYjY0Y2EyY2U2YmM1ZDNmZDk4M2MzNGM3NjlmZTg5MjA0ZTJlODE2ODU2MSIKLSAgICAgICAgICI4NjdlNWUxNWJjMDFiZmNlNmEyN2UwZGZjYmY4NzU0NDcyMTU0ZTc2ZTRjMTFhYjIiKSwKLSAgICAgICAgKCJiZDE0M2ZhOWI3MTQyMTBjNjY1ZDc0MzVjMTA2NjkzMmY0NzY3ZjI2Mjk0MzY1YjIiCi0gICAgICAgICAiNzIxZGVhM2JmNjNmMjNkMGRiZTUzZmNhZmIyMTQ3ZGY1Y2E0OTVmYTVhOTFjODliIiksCi0KLSAgICAgICAgIyBOZXh0IDIgbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMTkyKQotICAgICAgICAiNDc3MzNlODQ3ZDcxOGQ3MzNmZjk4ZmYzODdjNTY0NzNhN2E4M2VlMDc2MWViZmQyIiwKLSAgICAgICAgImNiZDRkM2UyZDRkZWM5ZWY4M2YwYmU0ZTgwMzcxZWI5N2Y4MTM3NWVlY2MxY2I2MyIKLSAgICBdCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Eoc2VsZikgLT4gc3RyOgotICAgICAgICByZXR1cm4gc3VwZXIoKS5mb3JtYXRfYXJnKCd7Onh9Jy5mb3JtYXQoc2VsZi5pbnRfYSkpLnpmaWxsKDIgKiBzZWxmLmhleF9kaWdpdHMpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5pbnRfYSAlIHNlbGYuaW50X24KLSAgICAgICAgcmV0dXJuIFtzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KV0KLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBpc192YWxpZChzZWxmKSAtPiBib29sOgotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIGFyZ3VtZW50cyhzZWxmKS0+IExpc3Rbc3RyXToKLSAgICAgICAgYXJncyA9IHN1cGVyKCkuYXJndW1lbnRzKCkKLSAgICAgICAgcmV0dXJuICBbIk1CRURUTFNfRUNQX0RQX1NFQ1AxOTJSMSJdICsgYXJncwotCi0KLWNsYXNzIEVjcFAyMjRSMVJhdyhiaWdudW1fY29tbW9uLk1vZE9wZXJhdGlvbkNvbW1vbiwKLSAgICAgICAgICAgICAgICAgICBFY3BUYXJnZXQpOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIEVDUCBQMjI0IGZhc3QgcmVkdWN0aW9uLiIiIgotICAgIHN5bWJvbCA9ICItIgotICAgIHRlc3RfZnVuY3Rpb24gPSAiZWNwX21vZF9wX2dlbmVyaWNfcmF3IgotICAgIHRlc3RfbmFtZSA9ICJlY3BfbW9kX3AyMjRfcmF3IgotICAgIGlucHV0X3N0eWxlID0gImFyY2hfc3BsaXQiCi0gICAgYXJpdHkgPSAxCi0gICAgZGVwZW5kZW5jaWVzID0gWyJNQkVEVExTX0VDUF9EUF9TRUNQMjI0UjFfRU5BQkxFRCIsCi0gICAgICAgICAgICAgICAgICAgICJNQkVEVExTX0VDUF9OSVNUX09QVElNIl0KLQotICAgIG1vZHVsaSA9IFsiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEiXSAjIHR5cGU6IExpc3Rbc3RyXQotCi0gICAgaW5wdXRfdmFsdWVzID0gWwotICAgICAgICAiMCIsICIxIiwKLQotICAgICAgICAjIE1vZHVsdXMgLSAxCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsCi0KLSAgICAgICAgIyBNb2R1bHVzICsgMQotICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIiLAotCi0gICAgICAgICMgMl4yMjQgLSAxCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIsCi0KLSAgICAgICAgIyBNYXhpbXVtIGNhbm9uaWNhbCBQMjI0IG11bHRpcGxpY2F0aW9uIHJlc3VsdAotICAgICAgICAoImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgIjAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiksCi0KLSAgICAgICAgIyBHZW5lcmF0ZSBhbiBvdmVyZmxvdyBkdXJpbmcgcmVkdWN0aW9uCi0gICAgICAgICgiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwNzAwMDAwMDAwMDIwMDAwMDEwMDAiCi0gICAgICAgICAiZmZmZmZmZmZmZmZmOWZmZmZmZmZmZmUwMDAwMGVmZmYwMDAwNzAwMDAwMDAwMDIwMDAwMDEwMDMiKSwKLQotICAgICAgICAjIEdlbmVyYXRlIGFuIHVuZGVyZmxvdyBkdXJpbmcgcmVkdWN0aW9uCi0gICAgICAgICgiMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCi0gICAgICAgICAiMDAwMDAwMDAwMDBkYzAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDMiKSwKLQotICAgICAgICAjIEZpcnN0IDggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoNDQ4KSAtIHNlZWQoMiwyKQotICAgICAgICAoImRhOTRlM2U4YWI3MzczOGZjZjE4MjJmZmJjNjg4Nzc4MmI0OTEwNDRkNWUzNDEyNDVjNmU0MzM3IgotICAgICAgICAgIjE1YmEyYmRkMTc3MjE5ZDMwZTdhMjY5ZmQ5NWJhZmM4ZjJhNGQyN2JkY2Y0YmI5OWY0YmVhOTczIiksCi0gICAgICAgICgiY2RiZDQ3ZDM2NGJlODA0OWEzNzJkYjhmNmU0MDVkOTNmZmVkOTIzNTI4OGJjNzgxYWU2NjI2NzUiCi0gICAgICAgICAiOTRjOWM5NTAwOTI1ZTQ3NDliNTc1YmQxMzY1M2Y4ZGQ5YjFmMjgyZTQwNjdjMzU4NGVlMjA3ZjgiKSwKLSAgICAgICAgKCJkZWZjMDQ0YTA5MzI1NjI2ZTZiNThkZTc0NGFiNmNjZTgwODc3YjZmNzFlMWY2ZDJlZjhhY2QxMiIKLSAgICAgICAgICI4YjRmMmZjMTVmM2Y1N2ViZjMwYjk0ZmE4MjUyM2U4NmZlYWM3ZWI3ZGMzOGY1MTliOTE3NTFkYSIpLAotICAgICAgICAoIjJkNmM3OTdmOGY3ZDliNzgyYTFiZTljZDg2OTdiYmQwZTI1MjBlMzNlNDRjNTA1NTZjNzFjNGE2IgotICAgICAgICAgIjYxNDhhODZmZTg2MjRmYWI1MTg2ZWUzMmVlOGQ3ZWU5NzcwMzQ4YTA1ZDMwMGNiOTA3MDZhMDQ1IiksCi0gICAgICAgICgiOGY1NGY4Y2VhY2FhYjM5ZTgzODQ0YjQwZmZhOWI5ZjE1YzE0YmM0YTgyOWUwN2IwODI5YTQ4ZDQiCi0gICAgICAgICAiMjJmZTk5YTIyYzcwNTAxZTUzM2M5MTM1MmQzZDg1NGUwNjFiOTAzMDNiMDhjNmUzM2M3Mjk1NzgiKSwKLSAgICAgICAgKCI5N2VlYWI2NGNhMmNlNmJjNWQzZmQ5ODNjMzRjNzY5ZmU4OTIwNGUyZTgxNjg1NjE4NjdlNWUxNSIKLSAgICAgICAgICJiYzAxYmZjZTZhMjdlMGRmY2JmODc1NDQ3MjE1NGU3NmU0YzExYWIyZmVjM2Y2YjMyZThkNGI4YSIpLAotICAgICAgICAoImE3YTgzZWUwNzYxZWJmZDJiZDE0M2ZhOWI3MTQyMTBjNjY1ZDc0MzVjMTA2NjkzMmY0NzY3ZjI2IgotICAgICAgICAgIjI5NDM2NWIyNzIxZGVhM2JmNjNmMjNkMGRiZTUzZmNhZmIyMTQ3ZGY1Y2E0OTVmYTVhOTFjODliIiksCi0gICAgICAgICgiNzQ2NjdiZmZlMjAyODQ5ZGE5NjQzYTI5NWE5YWM2ZGVjYmQ0ZDNlMmQ0ZGVjOWVmODNmMGJlNGUiCi0gICAgICAgICAiODAzNzFlYjk3ZjgxMzc1ZWVjYzFjYjYzNDc3MzNlODQ3ZDcxOGQ3MzNmZjk4ZmYzODdjNTY0NzMiKSwKLQotICAgICAgICAjIE5leHQgMiBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cygyMjQpCi0gICAgICAgICJlYjlhYzY4OGI5ZDM5Y2NhOTE1NTFlODI1OWNjNjBiMTc2MDRlNGI0ZTczNjk1YzNlNjUyYzcxYSIsCi0gICAgICAgICJmMGNhZWVmMDM4Yzg5YjM4YThhY2I1MTM3YzkyNjBkYzc0ZTA4OGE5Yjk0OTJmMjU4ZWJkYmZlMyIKLSAgICBdCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Eoc2VsZikgLT4gc3RyOgotICAgICAgICBsaW1icyA9IDIgKiBiaWdudW1fY29tbW9uLmJpdHNfdG9fbGltYnMoMjI0LCBzZWxmLmJpdHNfaW5fbGltYikKLSAgICAgICAgaGV4X2RpZ2l0cyA9IGJpZ251bV9jb21tb24uaGV4X2RpZ2l0c19mb3JfbGltYihsaW1icywgc2VsZi5iaXRzX2luX2xpbWIpCi0gICAgICAgIHJldHVybiBzdXBlcigpLmZvcm1hdF9hcmcoJ3s6eH0nLmZvcm1hdChzZWxmLmludF9hKSkuemZpbGwoaGV4X2RpZ2l0cykKLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICByZXN1bHQgPSBzZWxmLmludF9hICUgc2VsZi5pbnRfbgotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChyZXN1bHQpXQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGlzX3ZhbGlkKHNlbGYpIC0+IGJvb2w6Ci0gICAgICAgIHJldHVybiBUcnVlCi0KLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpLT4gTGlzdFtzdHJdOgotICAgICAgICBhcmdzID0gc3VwZXIoKS5hcmd1bWVudHMoKQotICAgICAgICByZXR1cm4gIFsiTUJFRFRMU19FQ1BfRFBfU0VDUDIyNFIxIl0gKyBhcmdzCi0KLQotY2xhc3MgRWNwUDI1NlIxUmF3KGJpZ251bV9jb21tb24uTW9kT3BlcmF0aW9uQ29tbW9uLAotICAgICAgICAgICAgICAgICAgIEVjcFRhcmdldCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgRUNQIFAyNTYgZmFzdCByZWR1Y3Rpb24uIiIiCi0gICAgc3ltYm9sID0gIi0iCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJlY3BfbW9kX3BfZ2VuZXJpY19yYXciCi0gICAgdGVzdF9uYW1lID0gImVjcF9tb2RfcDI1Nl9yYXciCi0gICAgaW5wdXRfc3R5bGUgPSAiZml4ZWQiCi0gICAgYXJpdHkgPSAxCi0gICAgZGVwZW5kZW5jaWVzID0gWyJNQkVEVExTX0VDUF9EUF9TRUNQMjU2UjFfRU5BQkxFRCIsCi0gICAgICAgICAgICAgICAgICAgICJNQkVEVExTX0VDUF9OSVNUX09QVElNIl0KLQotICAgIG1vZHVsaSA9IFsiZmZmZmZmZmYwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiJdICMgdHlwZTogTGlzdFtzdHJdCi0KLSAgICBpbnB1dF92YWx1ZXMgPSBbCi0gICAgICAgICIwIiwgIjEiLAotCi0gICAgICAgICMgTW9kdWx1cyAtIDEKLSAgICAgICAgImZmZmZmZmZmMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUiLAotCi0gICAgICAgICMgTW9kdWx1cyArIDEKLSAgICAgICAgImZmZmZmZmZmMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAotCi0gICAgICAgICMgMl4yNTYgLSAxCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiwKLQotICAgICAgICAjIE1heGltdW0gY2Fub25pY2FsIFAyNTYgbXVsdGlwbGljYXRpb24gcmVzdWx0Ci0gICAgICAgICgiZmZmZmZmZmUwMDAwMDAwMmZmZmZmZmZlMDAwMDAwMDEwMDAwMDAwMWZmZmZmZmZlMDAwMDAwMDFmZmZmZmZmYyIKLSAgICAgICAgICIwMDAwMDAwM2ZmZmZmZmZjZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0IiksCi0KLSAgICAgICAgIyBHZW5lcmF0ZSBhbiBvdmVyZmxvdyBkdXJpbmcgcmVkdWN0aW9uCi0gICAgICAgICgiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKLSAgICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZmIiksCi0KLSAgICAgICAgIyBHZW5lcmF0ZSBhbiB1bmRlcmZsb3cgZHVyaW5nIHJlZHVjdGlvbgotICAgICAgICAoIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAiCi0gICAgICAgICAiZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIpLAotCi0gICAgICAgICMgR2VuZXJhdGUgYW4gb3ZlcmZsb3cgZHVyaW5nIGNhcnJ5IHJlZHVjdGlvbgotICAgICAgICAoImFhYWFhYWFhMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhYWFhYWFhY2FhYWFhYWFhYWFhYWFhYWEwMDAwMDAwMCIpLAotCi0gICAgICAgICMgR2VuZXJhdGUgYW4gdW5kZXJmbG93IGR1cmluZyBjYXJyeSByZWR1Y3Rpb24KLSAgICAgICAgKCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDAxMDAwMDAwMDIiKSwKLQotICAgICAgICAjIEZpcnN0IDggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoNTEyKSAtIHNlZWQoMiwyKQotICAgICAgICAoIjQwNjdjMzU4NGVlMjA3ZjhkYTk0ZTNlOGFiNzM3MzhmY2YxODIyZmZiYzY4ODc3ODJiNDkxMDQ0ZDVlMzQxMjQiCi0gICAgICAgICAiNWM2ZTQzMzcxNWJhMmJkZDE3NzIxOWQzMGU3YTI2OWZkOTViYWZjOGYyYTRkMjdiZGNmNGJiOTlmNGJlYTk3MyIpLAotICAgICAgICAoIjgyNTIzZTg2ZmVhYzdlYjdkYzM4ZjUxOWI5MTc1MWRhY2RiZDQ3ZDM2NGJlODA0OWEzNzJkYjhmNmU0MDVkOTMiCi0gICAgICAgICAiZmZlZDkyMzUyODhiYzc4MWFlNjYyNjc1OTRjOWM5NTAwOTI1ZTQ3NDliNTc1YmQxMzY1M2Y4ZGQ5YjFmMjgyZSIpLAotICAgICAgICAoImU4NjI0ZmFiNTE4NmVlMzJlZThkN2VlOTc3MDM0OGEwNWQzMDBjYjkwNzA2YTA0NWRlZmMwNDRhMDkzMjU2MjYiCi0gICAgICAgICAiZTZiNThkZTc0NGFiNmNjZTgwODc3YjZmNzFlMWY2ZDJlZjhhY2QxMjhiNGYyZmMxNWYzZjU3ZWJmMzBiOTRmYSIpLAotICAgICAgICAoIjgyOWE0OGQ0MjJmZTk5YTIyYzcwNTAxZTUzM2M5MTM1MmQzZDg1NGUwNjFiOTAzMDNiMDhjNmUzM2M3Mjk1NzgiCi0gICAgICAgICAiMmQ2Yzc5N2Y4ZjdkOWI3ODJhMWJlOWNkODY5N2JiZDBlMjUyMGUzM2U0NGM1MDU1NmM3MWM0YTY2MTQ4YTg2ZiIpLAotICAgICAgICAoImU4OTIwNGUyZTgxNjg1NjE4NjdlNWUxNWJjMDFiZmNlNmEyN2UwZGZjYmY4NzU0NDcyMTU0ZTc2ZTRjMTFhYjIiCi0gICAgICAgICAiZmVjM2Y2YjMyZThkNGI4YThmNTRmOGNlYWNhYWIzOWU4Mzg0NGI0MGZmYTliOWYxNWMxNGJjNGE4MjllMDdiMCIpLAotICAgICAgICAoImJkMTQzZmE5YjcxNDIxMGM2NjVkNzQzNWMxMDY2OTMyZjQ3NjdmMjYyOTQzNjViMjcyMWRlYTNiZjYzZjIzZDAiCi0gICAgICAgICAiZGJlNTNmY2FmYjIxNDdkZjVjYTQ5NWZhNWE5MWM4OWI5N2VlYWI2NGNhMmNlNmJjNWQzZmQ5ODNjMzRjNzY5ZiIpLAotICAgICAgICAoIjc0NjY3YmZmZTIwMjg0OWRhOTY0M2EyOTVhOWFjNmRlY2JkNGQzZTJkNGRlYzllZjgzZjBiZTRlODAzNzFlYjkiCi0gICAgICAgICAiN2Y4MTM3NWVlY2MxY2I2MzQ3NzMzZTg0N2Q3MThkNzMzZmY5OGZmMzg3YzU2NDczYTdhODNlZTA3NjFlYmZkMiIpLAotICAgICAgICAoImQwOGYxYmIyNTMxZDY0NjBmMGNhZWVmMDM4Yzg5YjM4YThhY2I1MTM3YzkyNjBkYzc0ZTA4OGE5Yjk0OTJmMjUiCi0gICAgICAgICAiOGViZGJmZTNlYjlhYzY4OGI5ZDM5Y2NhOTE1NTFlODI1OWNjNjBiMTc2MDRlNGI0ZTczNjk1YzNlNjUyYzcxYSIpLAotCi0gICAgICAgICMgTmV4dCAyIG51bWJlciBnZW5lcmF0ZWQgYnkgcmFuZG9tLmdldHJhbmRiaXRzKDI1NikKLSAgICAgICAgImM1ZTI0ODZjNDRhNGE4ZjY5ZGM4ZGI0OGU4NmVjOWM2ZTA2ZjI5MWIyYTgzOGFmOGQ1YzQ0YTRlYjMxNzIwNjIiLAotICAgICAgICAiZDRjMGRjYThiNGM5ZTc1NWNjOWMzYWRjZjUxNWE4MjM0ZGE0ZGFlYjRmM2Y4Nzc3N2FkMWY0NWFlOTUwMGVjOSIKLSAgICBdCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Eoc2VsZikgLT4gc3RyOgotICAgICAgICByZXR1cm4gc3VwZXIoKS5mb3JtYXRfYXJnKCd7Onh9Jy5mb3JtYXQoc2VsZi5pbnRfYSkpLnpmaWxsKDIgKiBzZWxmLmhleF9kaWdpdHMpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5pbnRfYSAlIHNlbGYuaW50X24KLSAgICAgICAgcmV0dXJuIFtzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KV0KLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBpc192YWxpZChzZWxmKSAtPiBib29sOgotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIGFyZ3VtZW50cyhzZWxmKS0+IExpc3Rbc3RyXToKLSAgICAgICAgYXJncyA9IHN1cGVyKCkuYXJndW1lbnRzKCkKLSAgICAgICAgcmV0dXJuICBbIk1CRURUTFNfRUNQX0RQX1NFQ1AyNTZSMSJdICsgYXJncwotCi0KLWNsYXNzIEVjcFAzODRSMVJhdyhiaWdudW1fY29tbW9uLk1vZE9wZXJhdGlvbkNvbW1vbiwKLSAgICAgICAgICAgICAgICAgICBFY3BUYXJnZXQpOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIEVDUCBQMzg0IGZhc3QgcmVkdWN0aW9uLiIiIgotICAgIHRlc3RfZnVuY3Rpb24gPSAiZWNwX21vZF9wX2dlbmVyaWNfcmF3IgotICAgIHRlc3RfbmFtZSA9ICJlY3BfbW9kX3AzODRfcmF3IgotICAgIGlucHV0X3N0eWxlID0gImZpeGVkIgotICAgIGFyaXR5ID0gMQotICAgIGRlcGVuZGVuY2llcyA9IFsiTUJFRFRMU19FQ1BfRFBfU0VDUDM4NFIxX0VOQUJMRUQiLAotICAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19FQ1BfTklTVF9PUFRJTSJdCi0KLSAgICBtb2R1bGkgPSBbKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiCi0gICAgICAgICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZWZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZmIikKLSAgICAgICAgICAgICBdICMgdHlwZTogTGlzdFtzdHJdCi0KLSAgICBpbnB1dF92YWx1ZXMgPSBbCi0gICAgICAgICIwIiwgIjEiLAotCi0gICAgICAgICMgTW9kdWx1cyAtIDEKLSAgICAgICAgKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiCi0gICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZWZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZlIiksCi0KLSAgICAgICAgIyBNb2R1bHVzICsgMQotICAgICAgICAoImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIKLSAgICAgICAgICJmZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAiKSwKLQotICAgICAgICAjIDJeMzg0IC0gMQotICAgICAgICAoImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIKLSAgICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiKSwKLQotICAgICAgICAjIE1heGltdW0gY2Fub25pY2FsIFAzODQgbXVsdGlwbGljYXRpb24gcmVzdWx0Ci0gICAgICAgICgiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIgotICAgICAgICAgImZmZmZmZmZmZmZmZmZmZmRmZmZmZmZmZTAwMDAwMDAwMDAwMDAwMDFmZmZmZmZmYyIKLSAgICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAyMDAwMDAwMDAiCi0gICAgICAgICAiZmZmZmZmZmUwMDAwMDAwMjAwMDAwMDA0MDAwMDAwMDBmZmZmZmZmYzAwMDAwMDA0IiksCi0KLSAgICAgICAgIyBUZXN0aW5nIHdpdGggb3ZlcmZsb3cgaW4gQSgxMikgKyBBKDIxKSArIEEoMjApOwotICAgICAgICAoIjQ5NzgxMTM3ODYyNDg1N2EyYzJhZjYwZDcwNTgzMzc2NTQ1NDg0Y2ZhZTVjODEyZiIKLSAgICAgICAgICJlMjk5OWZjMWFiYjUxZDE4YjU1OWU4Y2EzYjUwYWFmMjYzZmRmOGYyNGJkZmI5OGYiCi0gICAgICAgICAiZmZmZmZmZmYyMGU2NWJmOTA5OWU0ZTczYTVlOGI1MTdjZjRmYmViOGZkMTc1MGZkIgotICAgICAgICAgImFlNmQ0M2YyZTUzZjgyZDVmZmZmZmZmZmZmZmZmZmZmY2M2ZjFlMDYxMTFjNjJlMCIpLAotCi0gICAgICAgICMgVGVzdGluZyB3aXRoIHVuZGVyZmxvdyBpbiBBKDEzKSArIEEoMjIpICsgQSgyMykgLSBBKDEyKSAtIEEoMjApOwotICAgICAgICAoImRmZGQyNWU5Njc3NzQwNmIzYzA0YjhjN2I0MDZmNWZjZjI4N2UxZTU3NjAwM2EwOSIKLSAgICAgICAgICIyODUyYTZmYmU1MTdmMjcxMmI2OGFiZWY0MWRiZDM1MTgzYTA2MTRmYjcyMjI2MDYiCi0gICAgICAgICAiZmZmZmZmZmY4NDM5NmVlZTU0MmYxOGE5MTg5ZDk0Mzk2Yzc4NDA1OWMxN2E5ZjE4IgotICAgICAgICAgImY4MDcyMTRlZjMyZjJmMTBmZmZmZmZmZjhhNzdmYWMyMDAwMDAwMDAwMDAwMDAwMCIpLAotCi0gICAgICAgICMgVGVzdGluZyB3aXRoIG92ZXJmbG93IGluIEEoMjMpICsgQSgyMCkgKyBBKDE5KSAtIEEoMjIpOwotICAgICAgICAoIjc4Mzc1M2Y4YTVhZmJhNmMxODYyZWVhZDFkZWIyZmNkZDkwNzI3MmJlM2ZmZDE4NSIKLSAgICAgICAgICI0MmIyNGE3MWVlOGIyNmNhYjBhYTMzNTEzNjEwZmY5NzMwNDJiYmUxNjM3Y2M5ZmMiCi0gICAgICAgICAiOTlhZDM2YzdmNzAzNTE0NTcyY2Y0ZjVjMzA0NDQ2OWE4ZjViZTYzMTJjMTllNWQzIgotICAgICAgICAgImY4ZmMxYWM2ZmZmZmZmZmZmZmZmZmZmZjhjODYyNTI0MDAwMDAwMDBmZmZmZmZmZiIpLAotCi0gICAgICAgICMgVGVzdGluZyB3aXRoIHVuZGVyZmxvdyBpbiBBKDIzKSArIEEoMjApICsgQSgxOSkgLSBBKDIyKTsKLSAgICAgICAgKCI2NWUxZDIzNjJmY2U5MjI2NjNiN2ZkNTE3NTg2ZTg4ODQyYTliNGJkMDkyZTkzZTYiCi0gICAgICAgICAiMjUxYzljNjlmMjc4Y2JmODI4NWQ5OWFlM2I1M2RhNWJhMzZlNTY3MDFlMmIxN2MyIgotICAgICAgICAgIjI1ZjEyMzk1NTZjNWYwMDExN2ZhMTQwMjE4YjQ2ZWJkOGUzNGY1MGQwMDE4NzAxZiIKLSAgICAgICAgICJhOGEwYTVjYzAwMDAwMDAwMDAwMDAwMDA0NDEwYmNiNGZmZmZmZmZmMDAwMDAwMDAiKSwKLQotICAgICAgICAjIFRlc3RpbmcgdGhlIHNlY29uZCByb3VuZCBvZiBjYXJyeSByZWR1Y3Rpb24KLSAgICAgICAgKCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiCi0gICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAwIgotICAgICAgICAgIjAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSIKLSAgICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZmMDAwMDAwMDEiKSwKLQotICAgICAgICAjIEZpcnN0IDggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoNzY4KSAtIHNlZWQoMiwyKQotICAgICAgICAoImZmZWQ5MjM1Mjg4YmM3ODFhZTY2MjY3NTk0YzljOTUwMDkyNWU0NzQ5YjU3NWJkMSIKLSAgICAgICAgICIzNjUzZjhkZDliMWYyODJlNDA2N2MzNTg0ZWUyMDdmOGRhOTRlM2U4YWI3MzczOGYiCi0gICAgICAgICAiY2YxODIyZmZiYzY4ODc3ODJiNDkxMDQ0ZDVlMzQxMjQ1YzZlNDMzNzE1YmEyYmRkIgotICAgICAgICAgIjE3NzIxOWQzMGU3YTI2OWZkOTViYWZjOGYyYTRkMjdiZGNmNGJiOTlmNGJlYTk3MyIpLAotICAgICAgICAoImU4NjI0ZmFiNTE4NmVlMzJlZThkN2VlOTc3MDM0OGEwNWQzMDBjYjkwNzA2YTA0NSIKLSAgICAgICAgICJkZWZjMDQ0YTA5MzI1NjI2ZTZiNThkZTc0NGFiNmNjZTgwODc3YjZmNzFlMWY2ZDIiCi0gICAgICAgICAiZWY4YWNkMTI4YjRmMmZjMTVmM2Y1N2ViZjMwYjk0ZmE4MjUyM2U4NmZlYWM3ZWI3IgotICAgICAgICAgImRjMzhmNTE5YjkxNzUxZGFjZGJkNDdkMzY0YmU4MDQ5YTM3MmRiOGY2ZTQwNWQ5MyIpLAotICAgICAgICAoImZlYzNmNmIzMmU4ZDRiOGE4ZjU0ZjhjZWFjYWFiMzllODM4NDRiNDBmZmE5YjlmMSIKLSAgICAgICAgICI1YzE0YmM0YTgyOWUwN2IwODI5YTQ4ZDQyMmZlOTlhMjJjNzA1MDFlNTMzYzkxMzUiCi0gICAgICAgICAiMmQzZDg1NGUwNjFiOTAzMDNiMDhjNmUzM2M3Mjk1NzgyZDZjNzk3ZjhmN2Q5Yjc4IgotICAgICAgICAgIjJhMWJlOWNkODY5N2JiZDBlMjUyMGUzM2U0NGM1MDU1NmM3MWM0YTY2MTQ4YTg2ZiIpLAotICAgICAgICAoImJkMTQzZmE5YjcxNDIxMGM2NjVkNzQzNWMxMDY2OTMyZjQ3NjdmMjYyOTQzNjViMiIKLSAgICAgICAgICI3MjFkZWEzYmY2M2YyM2QwZGJlNTNmY2FmYjIxNDdkZjVjYTQ5NWZhNWE5MWM4OWIiCi0gICAgICAgICAiOTdlZWFiNjRjYTJjZTZiYzVkM2ZkOTgzYzM0Yzc2OWZlODkyMDRlMmU4MTY4NTYxIgotICAgICAgICAgIjg2N2U1ZTE1YmMwMWJmY2U2YTI3ZTBkZmNiZjg3NTQ0NzIxNTRlNzZlNGMxMWFiMiIpLAotICAgICAgICAoIjhlYmRiZmUzZWI5YWM2ODhiOWQzOWNjYTkxNTUxZTgyNTljYzYwYjE3NjA0ZTRiNCIKLSAgICAgICAgICJlNzM2OTVjM2U2NTJjNzFhNzQ2NjdiZmZlMjAyODQ5ZGE5NjQzYTI5NWE5YWM2ZGUiCi0gICAgICAgICAiY2JkNGQzZTJkNGRlYzllZjgzZjBiZTRlODAzNzFlYjk3ZjgxMzc1ZWVjYzFjYjYzIgotICAgICAgICAgIjQ3NzMzZTg0N2Q3MThkNzMzZmY5OGZmMzg3YzU2NDczYTdhODNlZTA3NjFlYmZkMiIpLAotICAgICAgICAoImQ0YzBkY2E4YjRjOWU3NTVjYzljM2FkY2Y1MTVhODIzNGRhNGRhZWI0ZjNmODc3NyIKLSAgICAgICAgICI3YWQxZjQ1YWU5NTAwZWM5YzVlMjQ4NmM0NGE0YThmNjlkYzhkYjQ4ZTg2ZWM5YzYiCi0gICAgICAgICAiZTA2ZjI5MWIyYTgzOGFmOGQ1YzQ0YTRlYjMxNzIwNjJkMDhmMWJiMjUzMWQ2NDYwIgotICAgICAgICAgImYwY2FlZWYwMzhjODliMzhhOGFjYjUxMzdjOTI2MGRjNzRlMDg4YTliOTQ5MmYyNSIpLAotICAgICAgICAoIjAyMjdlZWI3YjlkN2QwMWY1NzY5ZGEwNWQyMDViYmZjYzhjNjkwNjkxMzRiY2NkMyIKLSAgICAgICAgICJlMWNmNGY1ODlmOGU0Y2UwYWYyOWQxMTVlZjI0YmQ2MjVkZDk2MWU2ODMwYjU0ZmEiCi0gICAgICAgICAiN2QyOGY5MzQzNTMzOTc3NGJiMWUzODZjNGZkNTA3OWU2ODFiOGY1ODk2ODM4Yjc2IgotICAgICAgICAgIjlkYTU5Yjc0YTZjMzE4MWM4MWUyMjBkZjg0OGIxZGY3OGZlYjk5NGE4MTE2NzM0NiIpLAotICAgICAgICAoImQzMjJhNzM1M2VhZDRlZmU0NDBlMmI0ZmRhOWMwMjVhMjJmMWE4MzE4NWI5OGY1ZiIKLSAgICAgICAgICJjMTFlNjBkZTFiMzQzZjUyZWE3NDhkYjllMDIwMzA3YWFlYjZkYjJjM2EwMzhhNzAiCi0gICAgICAgICAiOTc3OWFjMWY0NWU5ZGQzMjBjODU1ZmRmYTcyNTFhZjA5MzBjZGJkMzBmMGFkMmE4IgotICAgICAgICAgIjFiMmQxOWEyYmVhYTE0YTdmZjNmZTMyYTMwZmZjNGVlZDBhN2JkMDRlODViZmNkZCIpLAotCi0gICAgICAgICMgTmV4dCAyIG51bWJlciBnZW5lcmF0ZWQgYnkgcmFuZG9tLmdldHJhbmRiaXRzKDM4NCkKLSAgICAgICAgKCI1YzM3NDc0NjVjYzM2YzI3MGU4YTM1YjEwODI4ZDU2OWMyNjhhMjBlYjc4YWMzMzIiCi0gICAgICAgICAiZTVlMTM4ZTI2YzQ0NTRiOTBmNzU2MTMyZTE2ZGNlNzJmMThlODU5ODM1ZTFmMjkxIiksCi0gICAgICAgICgiZWIyYjU2OTNiYWJiN2ZiYjBhNzZjMTk2MDY3Y2ZkY2IxMTQ1N2Q5Y2Y0NWUyZmEwIgotICAgICAgICAgIjFkN2Y0Mjc1MTUzOTI0ODAwNjAwNTcxZmFjM2E1YjI2M2ZkZjU3Y2QyYzAwNjQ5NyIpCi0gICAgXQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGFyZ19hKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgcmV0dXJuIHN1cGVyKCkuZm9ybWF0X2FyZygnezp4fScuZm9ybWF0KHNlbGYuaW50X2EpKS56ZmlsbCgyICogc2VsZi5oZXhfZGlnaXRzKQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYuaW50X2EgJSBzZWxmLmludF9uCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHJlc3VsdCldCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgaXNfdmFsaWQoc2VsZikgLT4gYm9vbDoKLSAgICAgICAgcmV0dXJuIFRydWUKLQotICAgIGRlZiBhcmd1bWVudHMoc2VsZiktPiBMaXN0W3N0cl06Ci0gICAgICAgIGFyZ3MgPSBzdXBlcigpLmFyZ3VtZW50cygpCi0gICAgICAgIHJldHVybiAgWyJNQkVEVExTX0VDUF9EUF9TRUNQMzg0UjEiXSArIGFyZ3MKLQotCi1jbGFzcyBFY3BQNTIxUjFSYXcoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sCi0gICAgICAgICAgICAgICAgICAgRWNwVGFyZ2V0KToKLSAgICAiIiJUZXN0IGNhc2VzIGZvciBFQ1AgUDUyMSBmYXN0IHJlZHVjdGlvbi4iIiIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gImVjcF9tb2RfcF9nZW5lcmljX3JhdyIKLSAgICB0ZXN0X25hbWUgPSAiZWNwX21vZF9wNTIxX3JhdyIKLSAgICBpbnB1dF9zdHlsZSA9ICJhcmNoX3NwbGl0IgotICAgIGFyaXR5ID0gMQotICAgIGRlcGVuZGVuY2llcyA9IFsiTUJFRFRMU19FQ1BfRFBfU0VDUDUyMVIxX0VOQUJMRUQiLAotICAgICAgICAgICAgICAgICAgICAiTUJFRFRMU19FQ1BfTklTVF9PUFRJTSJdCi0KLSAgICBtb2R1bGkgPSBbKCIwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiCi0gICAgICAgICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIikKLSAgICAgICAgICAgICBdICMgdHlwZTogTGlzdFtzdHJdCi0KLSAgICBpbnB1dF92YWx1ZXMgPSBbCi0gICAgICAgICIwIiwgIjEiLAotCi0gICAgICAgICMgTW9kdWx1cyAtIDEKLSAgICAgICAgKCIwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiCi0gICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlIiksCi0KLSAgICAgICAgIyBNb2R1bHVzICsgMQotICAgICAgICAoIjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKLSAgICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiKSwKLQotICAgICAgICAjIE1heGltdW0gY2Fub25pY2FsIFA1MjEgbXVsdGlwbGljYXRpb24gcmVzdWx0Ci0gICAgICAgICgiMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIKLSAgICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIgotICAgICAgICAgImZmZmZmODAwIgotICAgICAgICAgIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNCIpLAotCi0gICAgICAgICMgVGVzdCBjYXNlIGZvciBvdmVyZmxvdyBkdXJpbmcgYWRkaXRpb24KLSAgICAgICAgKCIwMDAxZWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIgotICAgICAgICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiCi0gICAgICAgICAiMDAwMDAxZWYiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKLSAgICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmMDAwMDAwIiksCi0KLSAgICAgICAgIyBGaXJzdCA4IG51bWJlciBnZW5lcmF0ZWQgYnkgcmFuZG9tLmdldHJhbmRiaXRzKDEwNDIpIC0gc2VlZCgyLDIpCi0gICAgICAgICgiMDAwM2NjMmU4MjUyM2U4NmZlYWM3ZWI3ZGMzOGY1MTliOTE3NTFkYWNkYmQ0N2QzNjRiZTgwNDlhMzcyZGI4ZiIKLSAgICAgICAgICI2ZTQwNWQ5M2ZmZWQ5MjM1Mjg4YmM3ODFhZTY2MjY3NTk0YzljOTUwMDkyNWU0NzQ5YjU3NWJkMTM2NTNmOGRkIgotICAgICAgICAgIjliMWYyODJlIgotICAgICAgICAgIjQwNjdjMzU4NGVlMjA3ZjhkYTk0ZTNlOGFiNzM3MzhmY2YxODIyZmZiYzY4ODc3ODJiNDkxMDQ0ZDVlMzQxMjQiCi0gICAgICAgICAiNWM2ZTQzMzcxNWJhMmJkZDE3NzIxOWQzMGU3YTI2OWZkOTViYWZjOGYyYTRkMjdiZGNmNGJiOTlmNGJlYTk3MyIpLAotICAgICAgICAoIjAwMDE3MDUyODI5ZTA3YjA4MjlhNDhkNDIyZmU5OWEyMmM3MDUwMWU1MzNjOTEzNTJkM2Q4NTRlMDYxYjkwMzAiCi0gICAgICAgICAiM2IwOGM2ZTMzYzcyOTU3ODJkNmM3OTdmOGY3ZDliNzgyYTFiZTljZDg2OTdiYmQwZTI1MjBlMzNlNDRjNTA1NSIKLSAgICAgICAgICI2YzcxYzRhNiIKLSAgICAgICAgICI2MTQ4YTg2ZmU4NjI0ZmFiNTE4NmVlMzJlZThkN2VlOTc3MDM0OGEwNWQzMDBjYjkwNzA2YTA0NWRlZmMwNDRhIgotICAgICAgICAgIjA5MzI1NjI2ZTZiNThkZTc0NGFiNmNjZTgwODc3YjZmNzFlMWY2ZDJlZjhhY2QxMjhiNGYyZmMxNWYzZjU3ZWIiKSwKLSAgICAgICAgKCIwMDAyMWYxNWE3YTgzZWUwNzYxZWJmZDJiZDE0M2ZhOWI3MTQyMTBjNjY1ZDc0MzVjMTA2NjkzMmY0NzY3ZjI2IgotICAgICAgICAgIjI5NDM2NWIyNzIxZGVhM2JmNjNmMjNkMGRiZTUzZmNhZmIyMTQ3ZGY1Y2E0OTVmYTVhOTFjODliOTdlZWFiNjQiCi0gICAgICAgICAiY2EyY2U2YmMiCi0gICAgICAgICAiNWQzZmQ5ODNjMzRjNzY5ZmU4OTIwNGUyZTgxNjg1NjE4NjdlNWUxNWJjMDFiZmNlNmEyN2UwZGZjYmY4NzU0NCIKLSAgICAgICAgICI3MjE1NGU3NmU0YzExYWIyZmVjM2Y2YjMyZThkNGI4YThmNTRmOGNlYWNhYWIzOWU4Mzg0NGI0MGZmYTliOWYxIiksCi0gICAgICAgICgiMDAwMzgxYmMyYTgzOGFmOGQ1YzQ0YTRlYjMxNzIwNjJkMDhmMWJiMjUzMWQ2NDYwZjBjYWVlZjAzOGM4OWIzOCIKLSAgICAgICAgICJhOGFjYjUxMzdjOTI2MGRjNzRlMDg4YTliOTQ5MmYyNThlYmRiZmUzZWI5YWM2ODhiOWQzOWNjYTkxNTUxZTgyIgotICAgICAgICAgIjU5Y2M2MGIxIgotICAgICAgICAgIjc2MDRlNGI0ZTczNjk1YzNlNjUyYzcxYTc0NjY3YmZmZTIwMjg0OWRhOTY0M2EyOTVhOWFjNmRlY2JkNGQzZTIiCi0gICAgICAgICAiZDRkZWM5ZWY4M2YwYmU0ZTgwMzcxZWI5N2Y4MTM3NWVlY2MxY2I2MzQ3NzMzZTg0N2Q3MThkNzMzZmY5OGZmMyIpLAotICAgICAgICAoIjAwMDM0ODE2YzhjNjkwNjkxMzRiY2NkM2UxY2Y0ZjU4OWY4ZTRjZTBhZjI5ZDExNWVmMjRiZDYyNWRkOTYxZTYiCi0gICAgICAgICAiODMwYjU0ZmE3ZDI4ZjkzNDM1MzM5Nzc0YmIxZTM4NmM0ZmQ1MDc5ZTY4MWI4ZjU4OTY4MzhiNzY5ZGE1OWI3NCIKLSAgICAgICAgICJhNmMzMTgxYyIKLSAgICAgICAgICI4MWUyMjBkZjg0OGIxZGY3OGZlYjk5NGE4MTE2NzM0NmQ0YzBkY2E4YjRjOWU3NTVjYzljM2FkY2Y1MTVhODIzIgotICAgICAgICAgIjRkYTRkYWViNGYzZjg3Nzc3YWQxZjQ1YWU5NTAwZWM5YzVlMjQ4NmM0NGE0YThmNjlkYzhkYjQ4ZTg2ZWM5YzYiKSwKLSAgICAgICAgKCIwMDAzOTc4NDZjNDQ1NGI5MGY3NTYxMzJlMTZkY2U3MmYxOGU4NTk4MzVlMWYyOTFkMzIyYTczNTNlYWQ0ZWZlIgotICAgICAgICAgIjQ0MGUyYjRmZGE5YzAyNWEyMmYxYTgzMTg1Yjk4ZjVmYzExZTYwZGUxYjM0M2Y1MmVhNzQ4ZGI5ZTAyMDMwN2EiCi0gICAgICAgICAiYWViNmRiMmMiCi0gICAgICAgICAiM2EwMzhhNzA5Nzc5YWMxZjQ1ZTlkZDMyMGM4NTVmZGZhNzI1MWFmMDkzMGNkYmQzMGYwYWQyYTgxYjJkMTlhMiIKLSAgICAgICAgICJiZWFhMTRhN2ZmM2ZlMzJhMzBmZmM0ZWVkMGE3YmQwNGU4NWJmY2RkMDIyN2VlYjdiOWQ3ZDAxZjU3NjlkYTA1IiksCi0gICAgICAgICgiMDAwMDJjMzI5NmU2YmM0ZDYyYjQ3MjA0MDA3ZWU0ZmFiMTA1ZDgzZTg1ZTk1MTg2MmYwOTgxYWViYzFiMDBkOSIKLSAgICAgICAgICIyODM4ZTc2NmVmOWI2YmYyZDAzN2ZlMmUyMGI2YTg0NjQxNzRlNzVhNWY4MzRkYTcwNTY5YzAxOGViMmI1NjkzIgotICAgICAgICAgImJhYmI3ZmJiIgotICAgICAgICAgIjBhNzZjMTk2MDY3Y2ZkY2IxMTQ1N2Q5Y2Y0NWUyZmEwMWQ3ZjQyNzUxNTM5MjQ4MDA2MDA1NzFmYWMzYTViMjYiCi0gICAgICAgICAiM2ZkZjU3Y2QyYzAwNjQ5NzVjMzc0NzQ2NWNjMzZjMjcwZThhMzViMTA4MjhkNTY5YzI2OGEyMGViNzhhYzMzMiIpLAotICAgICAgICAoIjAwMDA5ZDIzYjQ5MTdmYzA5ZjIwZGJiMGRjYzkzZjBlNjZkZmU3MTdjMTczMTMzOTQzOTFiNmUyZTZlYWNiMGYiCi0gICAgICAgICAiMGJiN2JlNzJiZDZkMjUwMDlhZWI3ZmEwYzQxNjliMTQ4ZDJmNTI3ZTcyZGFmMGE1NGVmMjVjMDcwN2UzMzg2OCIKLSAgICAgICAgICI3ZDFmNzE1NyIKLSAgICAgICAgICI1NjUzYTQ1YzQ5MzkwYWE1MWNmNTE5MmJiZjY3ZGExNGJlMTFkNTZiYTBiNGEyOTY5ZDgwNTVhOWYwM2YyZDcxIgotICAgICAgICAgIjU4MWQ4ZTgzMDExMmZmMGYwOTQ4ZWNjYWY4ODc3YWNmMjZjMzc3YzEzZjcxOTcyNmZkNzBiZGRhY2I0ZGVlZWMiKSwKLQotICAgICAgICAjIE5leHQgMiBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cyg1MjEpCi0gICAgICAgICgiMTJiODRhZTY1ZTkyMGE2M2FjMWYyYjY0ZGY2ZGZmMDc4NzBjOWQ1MzFhZTcyYTQ3NDAzMDYzMjM4ZGExYTFmZSIKLSAgICAgICAgICIzZjlkNmExNzlmYTUwZjk2Y2Q0YWZmOTI2MWFhOTJjMGU2ZjE3ZWM5NDA2MzliYzJjY2RmNTcyZGYwMDc5MDgxM2UzIiksCi0gICAgICAgICgiMTY2MDQ5ZGQzMzJhNzNmYTBiMjZiNzUxOTZjZjg3ZWI4YTA5YjI3ZWM3MTQzMDdjNjhjNDI1NDI0YTE1NzRmMSIKLSAgICAgICAgICJlZWRmNWIwZjE2Y2RmZGI4Mzk0MjRkMjAxZTY1M2Y1M2Q2ODgzY2ExYzEwN2NhNmU3MDY2NDk4ODljMGM3ZjM4NjA4IikKLSAgICBdCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Eoc2VsZikgLT4gc3RyOgotICAgICAgICAjIE51bWJlciBvZiBsaW1iczogMiAqIE4KLSAgICAgICAgcmV0dXJuIHN1cGVyKCkuZm9ybWF0X2FyZygnezp4fScuZm9ybWF0KHNlbGYuaW50X2EpKS56ZmlsbCgyICogc2VsZi5oZXhfZGlnaXRzKQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYuaW50X2EgJSBzZWxmLmludF9uCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHJlc3VsdCldCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgaXNfdmFsaWQoc2VsZikgLT4gYm9vbDoKLSAgICAgICAgcmV0dXJuIFRydWUKLQotICAgIGRlZiBhcmd1bWVudHMoc2VsZiktPiBMaXN0W3N0cl06Ci0gICAgICAgIGFyZ3MgPSBzdXBlcigpLmFyZ3VtZW50cygpCi0gICAgICAgIHJldHVybiAgWyJNQkVEVExTX0VDUF9EUF9TRUNQNTIxUjEiXSArIGFyZ3MKLQotCi1jbGFzcyBFY3BQMTkySzFSYXcoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sCi0gICAgICAgICAgICAgICAgICAgRWNwVGFyZ2V0KToKLSAgICAiIiJUZXN0IGNhc2VzIGZvciBFQ1AgUDE5MksxIGZhc3QgcmVkdWN0aW9uLiIiIgotICAgIHN5bWJvbCA9ICItIgotICAgIHRlc3RfZnVuY3Rpb24gPSAiZWNwX21vZF9wX2dlbmVyaWNfcmF3IgotICAgIHRlc3RfbmFtZSA9ICJlY3BfbW9kX3AxOTJrMV9yYXciCi0gICAgaW5wdXRfc3R5bGUgPSAiZml4ZWQiCi0gICAgYXJpdHkgPSAxCi0gICAgZGVwZW5kZW5jaWVzID0gWyJNQkVEVExTX0VDUF9EUF9TRUNQMTkySzFfRU5BQkxFRCJdCi0KLSAgICBtb2R1bGkgPSBbImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZWUzNyJdICMgdHlwZTogTGlzdFtzdHJdCi0KLSAgICBpbnB1dF92YWx1ZXMgPSBbCi0gICAgICAgICIwIiwgIjEiLAotCi0gICAgICAgICMgTW9kdWx1cyAtIDEKLSAgICAgICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZWUzNiIsCi0KLSAgICAgICAgIyBNb2R1bHVzICsgMQotICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWZmZmZlZTM4IiwKLQotICAgICAgICAjIDJeMTkyIC0gMQotICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiwKLQotICAgICAgICAjIE1heGltdW0gY2Fub25pY2FsIFAxOTJLMSBtdWx0aXBsaWNhdGlvbiByZXN1bHQKLSAgICAgICAgKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZmZmZmRjNmMiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMjM5NDAxM2M3MzY0IiksCi0KLSAgICAgICAgIyBUZXN0IGNhc2UgZm9yIG92ZXJmbG93IGR1cmluZyBhZGRpdGlvbgotICAgICAgICAoIjAwMDAwMDA3ZmZmZjcxYjgwOWUyN2RkODMyY2ZkNWUwNGQ5ZDJkYmI5ZjhkYTIxNyIKLSAgICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIwODM0ZjAiKSwKLQotICAgICAgICAjIEZpcnN0IDggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMzg0KSAtIHNlZWQoMiwyKQotICAgICAgICAoImNmMTgyMmZmYmM2ODg3NzgyYjQ5MTA0NGQ1ZTM0MTI0NWM2ZTQzMzcxNWJhMmJkZCIKLSAgICAgICAgICIxNzcyMTlkMzBlN2EyNjlmZDk1YmFmYzhmMmE0ZDI3YmRjZjRiYjk5ZjRiZWE5NzMiKSwKLSAgICAgICAgKCJmZmVkOTIzNTI4OGJjNzgxYWU2NjI2NzU5NGM5Yzk1MDA5MjVlNDc0OWI1NzViZDEiCi0gICAgICAgICAiMzY1M2Y4ZGQ5YjFmMjgyZTQwNjdjMzU4NGVlMjA3ZjhkYTk0ZTNlOGFiNzM3MzhmIiksCi0gICAgICAgICgiZWY4YWNkMTI4YjRmMmZjMTVmM2Y1N2ViZjMwYjk0ZmE4MjUyM2U4NmZlYWM3ZWI3IgotICAgICAgICAgImRjMzhmNTE5YjkxNzUxZGFjZGJkNDdkMzY0YmU4MDQ5YTM3MmRiOGY2ZTQwNWQ5MyIpLAotICAgICAgICAoImU4NjI0ZmFiNTE4NmVlMzJlZThkN2VlOTc3MDM0OGEwNWQzMDBjYjkwNzA2YTA0NSIKLSAgICAgICAgICJkZWZjMDQ0YTA5MzI1NjI2ZTZiNThkZTc0NGFiNmNjZTgwODc3YjZmNzFlMWY2ZDIiKSwKLSAgICAgICAgKCIyZDNkODU0ZTA2MWI5MDMwM2IwOGM2ZTMzYzcyOTU3ODJkNmM3OTdmOGY3ZDliNzgiCi0gICAgICAgICAiMmExYmU5Y2Q4Njk3YmJkMGUyNTIwZTMzZTQ0YzUwNTU2YzcxYzRhNjYxNDhhODZmIiksCi0gICAgICAgICgiZmVjM2Y2YjMyZThkNGI4YThmNTRmOGNlYWNhYWIzOWU4Mzg0NGI0MGZmYTliOWYxIgotICAgICAgICAgIjVjMTRiYzRhODI5ZTA3YjA4MjlhNDhkNDIyZmU5OWEyMmM3MDUwMWU1MzNjOTEzNSIpLAotICAgICAgICAoIjk3ZWVhYjY0Y2EyY2U2YmM1ZDNmZDk4M2MzNGM3NjlmZTg5MjA0ZTJlODE2ODU2MSIKLSAgICAgICAgICI4NjdlNWUxNWJjMDFiZmNlNmEyN2UwZGZjYmY4NzU0NDcyMTU0ZTc2ZTRjMTFhYjIiKSwKLSAgICAgICAgKCJiZDE0M2ZhOWI3MTQyMTBjNjY1ZDc0MzVjMTA2NjkzMmY0NzY3ZjI2Mjk0MzY1YjIiCi0gICAgICAgICAiNzIxZGVhM2JmNjNmMjNkMGRiZTUzZmNhZmIyMTQ3ZGY1Y2E0OTVmYTVhOTFjODliIiksCi0KLSAgICAgICAgIyBOZXh0IDIgbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoMTkyKQotICAgICAgICAiNDc3MzNlODQ3ZDcxOGQ3MzNmZjk4ZmYzODdjNTY0NzNhN2E4M2VlMDc2MWViZmQyIiwKLSAgICAgICAgImNiZDRkM2UyZDRkZWM5ZWY4M2YwYmU0ZTgwMzcxZWI5N2Y4MTM3NWVlY2MxY2I2MyIKLSAgICBdCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Eoc2VsZikgLT4gc3RyOgotICAgICAgICByZXR1cm4gc3VwZXIoKS5mb3JtYXRfYXJnKCd7Onh9Jy5mb3JtYXQoc2VsZi5pbnRfYSkpLnpmaWxsKDIgKiBzZWxmLmhleF9kaWdpdHMpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5pbnRfYSAlIHNlbGYuaW50X24KLSAgICAgICAgcmV0dXJuIFtzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KV0KLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBpc192YWxpZChzZWxmKSAtPiBib29sOgotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIGFyZ3VtZW50cyhzZWxmKToKLSAgICAgICAgYXJncyA9IHN1cGVyKCkuYXJndW1lbnRzKCkKLSAgICAgICAgcmV0dXJuICBbIk1CRURUTFNfRUNQX0RQX1NFQ1AxOTJLMSJdICsgYXJncwotCi0KLWNsYXNzIEVjcFAyMjRLMVJhdyhiaWdudW1fY29tbW9uLk1vZE9wZXJhdGlvbkNvbW1vbiwKLSAgICAgICAgICAgICAgICAgICBFY3BUYXJnZXQpOgotICAgICIiIlRlc3QgY2FzZXMgZm9yIEVDUCBQMjI0IGZhc3QgcmVkdWN0aW9uLiIiIgotICAgIHN5bWJvbCA9ICItIgotICAgIHRlc3RfZnVuY3Rpb24gPSAiZWNwX21vZF9wX2dlbmVyaWNfcmF3IgotICAgIHRlc3RfbmFtZSA9ICJlY3BfbW9kX3AyMjRrMV9yYXciCi0gICAgaW5wdXRfc3R5bGUgPSAiYXJjaF9zcGxpdCIKLSAgICBhcml0eSA9IDEKLSAgICBkZXBlbmRlbmNpZXMgPSBbIk1CRURUTFNfRUNQX0RQX1NFQ1AyMjRLMV9FTkFCTEVEIl0KLQotICAgIG1vZHVsaSA9IFsiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlZmZmZmU1NmQiXSAjIHR5cGU6IExpc3Rbc3RyXQotCi0gICAgaW5wdXRfdmFsdWVzID0gWwotICAgICAgICAiMCIsICIxIiwKLQotICAgICAgICAjIE1vZHVsdXMgLSAxCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZTU2YyIsCi0KLSAgICAgICAgIyBNb2R1bHVzICsgMQotICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlZmZmZmU1NmUiLAotCi0gICAgICAgICMgMl4yMjQgLSAxCi0gICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIsCi0KLSAgICAgICAgIyBNYXhpbXVtIGNhbm9uaWNhbCBQMjI0SzEgbXVsdGlwbGljYXRpb24gcmVzdWx0Ci0gICAgICAgICgiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZmZmZmNhZDgiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAzNTI4MDJjMjY1OTAiKSwKLQotICAgICAgICAjIFRlc3QgY2FzZSBmb3Igb3ZlcmZsb3cgZHVyaW5nIGFkZGl0aW9uCi0gICAgICAgICgiMDAwMDAwN2ZmZmYyYjY4MTYxMTgwZmQ4Y2Q5MmUxYTEwOWJlMTU4YTE5YTk5YjE4MDlkYjgwMzIiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGJmMDRmNDkiKSwKLQotICAgICAgICAjIEZpcnN0IDggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoNDQ4KSAtIHNlZWQoMiwyKQotICAgICAgICAoImRhOTRlM2U4YWI3MzczOGZjZjE4MjJmZmJjNjg4Nzc4MmI0OTEwNDRkNWUzNDEyNDVjNmU0MzM3IgotICAgICAgICAgIjE1YmEyYmRkMTc3MjE5ZDMwZTdhMjY5ZmQ5NWJhZmM4ZjJhNGQyN2JkY2Y0YmI5OWY0YmVhOTczIiksCi0gICAgICAgICgiY2RiZDQ3ZDM2NGJlODA0OWEzNzJkYjhmNmU0MDVkOTNmZmVkOTIzNTI4OGJjNzgxYWU2NjI2NzUiCi0gICAgICAgICAiOTRjOWM5NTAwOTI1ZTQ3NDliNTc1YmQxMzY1M2Y4ZGQ5YjFmMjgyZTQwNjdjMzU4NGVlMjA3ZjgiKSwKLSAgICAgICAgKCJkZWZjMDQ0YTA5MzI1NjI2ZTZiNThkZTc0NGFiNmNjZTgwODc3YjZmNzFlMWY2ZDJlZjhhY2QxMiIKLSAgICAgICAgICI4YjRmMmZjMTVmM2Y1N2ViZjMwYjk0ZmE4MjUyM2U4NmZlYWM3ZWI3ZGMzOGY1MTliOTE3NTFkYSIpLAotICAgICAgICAoIjJkNmM3OTdmOGY3ZDliNzgyYTFiZTljZDg2OTdiYmQwZTI1MjBlMzNlNDRjNTA1NTZjNzFjNGE2IgotICAgICAgICAgIjYxNDhhODZmZTg2MjRmYWI1MTg2ZWUzMmVlOGQ3ZWU5NzcwMzQ4YTA1ZDMwMGNiOTA3MDZhMDQ1IiksCi0gICAgICAgICgiOGY1NGY4Y2VhY2FhYjM5ZTgzODQ0YjQwZmZhOWI5ZjE1YzE0YmM0YTgyOWUwN2IwODI5YTQ4ZDQiCi0gICAgICAgICAiMjJmZTk5YTIyYzcwNTAxZTUzM2M5MTM1MmQzZDg1NGUwNjFiOTAzMDNiMDhjNmUzM2M3Mjk1NzgiKSwKLSAgICAgICAgKCI5N2VlYWI2NGNhMmNlNmJjNWQzZmQ5ODNjMzRjNzY5ZmU4OTIwNGUyZTgxNjg1NjE4NjdlNWUxNSIKLSAgICAgICAgICJiYzAxYmZjZTZhMjdlMGRmY2JmODc1NDQ3MjE1NGU3NmU0YzExYWIyZmVjM2Y2YjMyZThkNGI4YSIpLAotICAgICAgICAoImE3YTgzZWUwNzYxZWJmZDJiZDE0M2ZhOWI3MTQyMTBjNjY1ZDc0MzVjMTA2NjkzMmY0NzY3ZjI2IgotICAgICAgICAgIjI5NDM2NWIyNzIxZGVhM2JmNjNmMjNkMGRiZTUzZmNhZmIyMTQ3ZGY1Y2E0OTVmYTVhOTFjODliIiksCi0gICAgICAgICgiNzQ2NjdiZmZlMjAyODQ5ZGE5NjQzYTI5NWE5YWM2ZGVjYmQ0ZDNlMmQ0ZGVjOWVmODNmMGJlNGUiCi0gICAgICAgICAiODAzNzFlYjk3ZjgxMzc1ZWVjYzFjYjYzNDc3MzNlODQ3ZDcxOGQ3MzNmZjk4ZmYzODdjNTY0NzMiKSwKLQotICAgICAgICAjIE5leHQgMiBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cygyMjQpCi0gICAgICAgICgiZWI5YWM2ODhiOWQzOWNjYTkxNTUxZTgyNTljYzYwYjE3NjA0ZTRiNGU3MzY5NWMzZTY1MmM3MWEiKSwKLSAgICAgICAgKCJmMGNhZWVmMDM4Yzg5YjM4YThhY2I1MTM3YzkyNjBkYzc0ZTA4OGE5Yjk0OTJmMjU4ZWJkYmZlMyIpLAotICAgIF0KLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBhcmdfYShzZWxmKSAtPiBzdHI6Ci0gICAgICAgIGxpbWJzID0gMiAqIGJpZ251bV9jb21tb24uYml0c190b19saW1icygyMjQsIHNlbGYuYml0c19pbl9saW1iKQotICAgICAgICBoZXhfZGlnaXRzID0gYmlnbnVtX2NvbW1vbi5oZXhfZGlnaXRzX2Zvcl9saW1iKGxpbWJzLCBzZWxmLmJpdHNfaW5fbGltYikKLSAgICAgICAgcmV0dXJuIHN1cGVyKCkuZm9ybWF0X2FyZygnezp4fScuZm9ybWF0KHNlbGYuaW50X2EpKS56ZmlsbChoZXhfZGlnaXRzKQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYuaW50X2EgJSBzZWxmLmludF9uCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHJlc3VsdCldCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgaXNfdmFsaWQoc2VsZikgLT4gYm9vbDoKLSAgICAgICAgcmV0dXJuIFRydWUKLQotICAgIGRlZiBhcmd1bWVudHMoc2VsZik6Ci0gICAgICAgIGFyZ3MgPSBzdXBlcigpLmFyZ3VtZW50cygpCi0gICAgICAgIHJldHVybiAgWyJNQkVEVExTX0VDUF9EUF9TRUNQMjI0SzEiXSArIGFyZ3MKLQotCi1jbGFzcyBFY3BQMjU2SzFSYXcoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sCi0gICAgICAgICAgICAgICAgICAgRWNwVGFyZ2V0KToKLSAgICAiIiJUZXN0IGNhc2VzIGZvciBFQ1AgUDI1NiBmYXN0IHJlZHVjdGlvbi4iIiIKLSAgICBzeW1ib2wgPSAiLSIKLSAgICB0ZXN0X2Z1bmN0aW9uID0gImVjcF9tb2RfcF9nZW5lcmljX3JhdyIKLSAgICB0ZXN0X25hbWUgPSAiZWNwX21vZF9wMjU2azFfcmF3IgotICAgIGlucHV0X3N0eWxlID0gImZpeGVkIgotICAgIGFyaXR5ID0gMQotICAgIGRlcGVuZGVuY2llcyA9IFsiTUJFRFRMU19FQ1BfRFBfU0VDUDI1NksxX0VOQUJMRUQiXQotCi0gICAgbW9kdWxpID0gWyJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWZmZmZmYzJmIl0gIyB0eXBlOiBMaXN0W3N0cl0KLQotICAgIGlucHV0X3ZhbHVlcyA9IFsKLSAgICAgICAgIjAiLCAiMSIsCi0KLSAgICAgICAgIyBNb2R1bHVzIC0gMQotICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmMyZSIsCi0KLSAgICAgICAgIyBNb2R1bHVzICsgMQotICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmMzMCIsCi0KLSAgICAgICAgIyAyXjI1NiAtIDEKLSAgICAgICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiLAotCi0gICAgICAgICMgTWF4aW11bSBjYW5vbmljYWwgUDI1NksxIG11bHRpcGxpY2F0aW9uIHJlc3VsdAotICAgICAgICAoImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZmZmZmY4NWMiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAwMDA3YTQwMDBlOTg0NCIpLAotCi0gICAgICAgICMgVGVzdCBjYXNlIGZvciBvdmVyZmxvdyBkdXJpbmcgYWRkaXRpb24KLSAgICAgICAgKCIwMDAwZmZmZmZjMmYwMDBlOTBhMGM4NmEwYTYzMjM0ZTViYTY0MWY0M2E3ZTRhZWNjNDA0MGU2N2VjODUwNTYyIgotICAgICAgICAgIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTg1Njc0ZmQiKSwKLQotICAgICAgICAjIFRlc3QgY2FzZSBmb3Igb3ZlcmZsb3cgZHVyaW5nIGFkZGl0aW9uCi0gICAgICAgICgiMDAwMGZmZmZmYzJmMDAwZTkwYTBjODZhMGE2MzIzNGU1YmE2NDFmNDNhN2U0YWVjYzQwNDBlNjdlYzg1MDU2MiIKLSAgICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4NTY3NGZkIiksCi0KLSAgICAgICAgIyBGaXJzdCA4IG51bWJlciBnZW5lcmF0ZWQgYnkgcmFuZG9tLmdldHJhbmRiaXRzKDUxMikgLSBzZWVkKDIsMikKLSAgICAgICAgKCI0MDY3YzM1ODRlZTIwN2Y4ZGE5NGUzZThhYjczNzM4ZmNmMTgyMmZmYmM2ODg3NzgyYjQ5MTA0NGQ1ZTM0MTI0IgotICAgICAgICAgIjVjNmU0MzM3MTViYTJiZGQxNzcyMTlkMzBlN2EyNjlmZDk1YmFmYzhmMmE0ZDI3YmRjZjRiYjk5ZjRiZWE5NzMiKSwKLSAgICAgICAgKCI4MjUyM2U4NmZlYWM3ZWI3ZGMzOGY1MTliOTE3NTFkYWNkYmQ0N2QzNjRiZTgwNDlhMzcyZGI4ZjZlNDA1ZDkzIgotICAgICAgICAgImZmZWQ5MjM1Mjg4YmM3ODFhZTY2MjY3NTk0YzljOTUwMDkyNWU0NzQ5YjU3NWJkMTM2NTNmOGRkOWIxZjI4MmUiKSwKLSAgICAgICAgKCJlODYyNGZhYjUxODZlZTMyZWU4ZDdlZTk3NzAzNDhhMDVkMzAwY2I5MDcwNmEwNDVkZWZjMDQ0YTA5MzI1NjI2IgotICAgICAgICAgImU2YjU4ZGU3NDRhYjZjY2U4MDg3N2I2ZjcxZTFmNmQyZWY4YWNkMTI4YjRmMmZjMTVmM2Y1N2ViZjMwYjk0ZmEiKSwKLSAgICAgICAgKCI4MjlhNDhkNDIyZmU5OWEyMmM3MDUwMWU1MzNjOTEzNTJkM2Q4NTRlMDYxYjkwMzAzYjA4YzZlMzNjNzI5NTc4IgotICAgICAgICAgIjJkNmM3OTdmOGY3ZDliNzgyYTFiZTljZDg2OTdiYmQwZTI1MjBlMzNlNDRjNTA1NTZjNzFjNGE2NjE0OGE4NmYiKSwKLSAgICAgICAgKCJlODkyMDRlMmU4MTY4NTYxODY3ZTVlMTViYzAxYmZjZTZhMjdlMGRmY2JmODc1NDQ3MjE1NGU3NmU0YzExYWIyIgotICAgICAgICAgImZlYzNmNmIzMmU4ZDRiOGE4ZjU0ZjhjZWFjYWFiMzllODM4NDRiNDBmZmE5YjlmMTVjMTRiYzRhODI5ZTA3YjAiKSwKLSAgICAgICAgKCJiZDE0M2ZhOWI3MTQyMTBjNjY1ZDc0MzVjMTA2NjkzMmY0NzY3ZjI2Mjk0MzY1YjI3MjFkZWEzYmY2M2YyM2QwIgotICAgICAgICAgImRiZTUzZmNhZmIyMTQ3ZGY1Y2E0OTVmYTVhOTFjODliOTdlZWFiNjRjYTJjZTZiYzVkM2ZkOTgzYzM0Yzc2OWYiKSwKLSAgICAgICAgKCI3NDY2N2JmZmUyMDI4NDlkYTk2NDNhMjk1YTlhYzZkZWNiZDRkM2UyZDRkZWM5ZWY4M2YwYmU0ZTgwMzcxZWI5IgotICAgICAgICAgIjdmODEzNzVlZWNjMWNiNjM0NzczM2U4NDdkNzE4ZDczM2ZmOThmZjM4N2M1NjQ3M2E3YTgzZWUwNzYxZWJmZDIiKSwKLSAgICAgICAgKCJkMDhmMWJiMjUzMWQ2NDYwZjBjYWVlZjAzOGM4OWIzOGE4YWNiNTEzN2M5MjYwZGM3NGUwODhhOWI5NDkyZjI1IgotICAgICAgICAgIjhlYmRiZmUzZWI5YWM2ODhiOWQzOWNjYTkxNTUxZTgyNTljYzYwYjE3NjA0ZTRiNGU3MzY5NWMzZTY1MmM3MWEiKSwKLQotICAgICAgICAjIE5leHQgMiBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cygyNTYpCi0gICAgICAgICgiYzVlMjQ4NmM0NGE0YThmNjlkYzhkYjQ4ZTg2ZWM5YzZlMDZmMjkxYjJhODM4YWY4ZDVjNDRhNGViMzE3MjA2MiIpLAotICAgICAgICAoImQ0YzBkY2E4YjRjOWU3NTVjYzljM2FkY2Y1MTVhODIzNGRhNGRhZWI0ZjNmODc3NzdhZDFmNDVhZTk1MDBlYzkiKSwKLSAgICBdCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgYXJnX2Eoc2VsZikgLT4gc3RyOgotICAgICAgICByZXR1cm4gc3VwZXIoKS5mb3JtYXRfYXJnKCd7Onh9Jy5mb3JtYXQoc2VsZi5pbnRfYSkpLnpmaWxsKDIgKiBzZWxmLmhleF9kaWdpdHMpCi0KLSAgICBkZWYgcmVzdWx0KHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5pbnRfYSAlIHNlbGYuaW50X24KLSAgICAgICAgcmV0dXJuIFtzZWxmLmZvcm1hdF9yZXN1bHQocmVzdWx0KV0KLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBpc192YWxpZChzZWxmKSAtPiBib29sOgotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIGFyZ3VtZW50cyhzZWxmKToKLSAgICAgICAgYXJncyA9IHN1cGVyKCkuYXJndW1lbnRzKCkKLSAgICAgICAgcmV0dXJuICBbIk1CRURUTFNfRUNQX0RQX1NFQ1AyNTZLMSJdICsgYXJncwotCi0KLWNsYXNzIEVjcFAyNTVSYXcoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sCi0gICAgICAgICAgICAgICAgIEVjcFRhcmdldCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgRUNQIDI1NTE5IGZhc3QgcmVkdWN0aW9uLiIiIgotICAgIHN5bWJvbCA9ICItIgotICAgIHRlc3RfZnVuY3Rpb24gPSAiZWNwX21vZF9wX2dlbmVyaWNfcmF3IgotICAgIHRlc3RfbmFtZSA9ICJtYmVkdGxzX2VjcF9tb2RfcDI1NV9yYXciCi0gICAgaW5wdXRfc3R5bGUgPSAiZml4ZWQiCi0gICAgYXJpdHkgPSAxCi0gICAgZGVwZW5kZW5jaWVzID0gWyJNQkVEVExTX0VDUF9EUF9DVVJWRTI1NTE5X0VOQUJMRUQiXQotCi0gICAgbW9kdWxpID0gWygiN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiCi0gICAgICAgICAgICAgICAiZmZmZmZmZmZmZmZmZWQiKV0gIyB0eXBlOiBMaXN0W3N0cl0KLQotICAgIGlucHV0X3ZhbHVlcyA9IFsKLSAgICAgICAgIjAiLCAiMSIsCi0KLSAgICAgICAgIyBNb2R1bHVzIC0gMQotICAgICAgICAoIjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWMiKSwKLQotICAgICAgICAjIE1vZHVsdXMgKyAxCi0gICAgICAgICgiN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlZSIpLAotCi0gICAgICAgICMgMl4yNTUgLSAxCi0gICAgICAgICgiN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIpLAotCi0gICAgICAgICMgTWF4aW11bSBjYW5vbmljYWwgUDI1NSBtdWx0aXBsaWNhdGlvbiByZXN1bHQKLSAgICAgICAgKCIzZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjIgotICAgICAgICAgIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTAiKSwKLQotICAgICAgICAjIEZpcnN0IDggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoNTEwKSAtIHNlZWQoMiwyKQotICAgICAgICAoIjEwMTlmMGQ2NGVlMjA3ZjhkYTk0ZTNlOGFiNzM3MzhmY2YxODIyZmZiYzY4ODc3ODJiNDkxMDQ0ZDVlMzQxMjQiCi0gICAgICAgICAiNWM2ZTQzMzcxNWJhMmJkZDE3NzIxOWQzMGU3YTI2OWZkOTViYWZjOGYyYTRkMjdiZGNmNGJiOTlmNGJlYTk3MyIpLAotICAgICAgICAoIjIwOTQ4ZmExZmVhYzdlYjdkYzM4ZjUxOWI5MTc1MWRhY2RiZDQ3ZDM2NGJlODA0OWEzNzJkYjhmNmU0MDVkOTMiCi0gICAgICAgICAiZmZlZDkyMzUyODhiYzc4MWFlNjYyNjc1OTRjOWM5NTAwOTI1ZTQ3NDliNTc1YmQxMzY1M2Y4ZGQ5YjFmMjgyZSIpLAotICAgICAgICAoIjNhMTg5M2VhNTE4NmVlMzJlZThkN2VlOTc3MDM0OGEwNWQzMDBjYjkwNzA2YTA0NWRlZmMwNDRhMDkzMjU2MjYiCi0gICAgICAgICAiZTZiNThkZTc0NGFiNmNjZTgwODc3YjZmNzFlMWY2ZDJlZjhhY2QxMjhiNGYyZmMxNWYzZjU3ZWJmMzBiOTRmYSIpLAotICAgICAgICAoIjIwYTY5MjM1MjJmZTk5YTIyYzcwNTAxZTUzM2M5MTM1MmQzZDg1NGUwNjFiOTAzMDNiMDhjNmUzM2M3Mjk1NzgiCi0gICAgICAgICAiMmQ2Yzc5N2Y4ZjdkOWI3ODJhMWJlOWNkODY5N2JiZDBlMjUyMGUzM2U0NGM1MDU1NmM3MWM0YTY2MTQ4YTg2ZiIpLAotICAgICAgICAoIjNhMjQ4MTM4ZTgxNjg1NjE4NjdlNWUxNWJjMDFiZmNlNmEyN2UwZGZjYmY4NzU0NDcyMTU0ZTc2ZTRjMTFhYjIiCi0gICAgICAgICAiZmVjM2Y2YjMyZThkNGI4YThmNTRmOGNlYWNhYWIzOWU4Mzg0NGI0MGZmYTliOWYxNWMxNGJjNGE4MjllMDdiMCIpLAotICAgICAgICAoIjJmNDUwZmVhYjcxNDIxMGM2NjVkNzQzNWMxMDY2OTMyZjQ3NjdmMjYyOTQzNjViMjcyMWRlYTNiZjYzZjIzZDAiCi0gICAgICAgICAiZGJlNTNmY2FmYjIxNDdkZjVjYTQ5NWZhNWE5MWM4OWI5N2VlYWI2NGNhMmNlNmJjNWQzZmQ5ODNjMzRjNzY5ZiIpLAotICAgICAgICAoIjFkMTk5ZWZmZTIwMjg0OWRhOTY0M2EyOTVhOWFjNmRlY2JkNGQzZTJkNGRlYzllZjgzZjBiZTRlODAzNzFlYjkiCi0gICAgICAgICAiN2Y4MTM3NWVlY2MxY2I2MzQ3NzMzZTg0N2Q3MThkNzMzZmY5OGZmMzg3YzU2NDczYTdhODNlZTA3NjFlYmZkMiIpLAotICAgICAgICAoIjM0MjNjNmVjNTMxZDY0NjBmMGNhZWVmMDM4Yzg5YjM4YThhY2I1MTM3YzkyNjBkYzc0ZTA4OGE5Yjk0OTJmMjUiCi0gICAgICAgICAiOGViZGJmZTNlYjlhYzY4OGI5ZDM5Y2NhOTE1NTFlODI1OWNjNjBiMTc2MDRlNGI0ZTczNjk1YzNlNjUyYzcxYSIpLAotCi0gICAgICAgICMgTmV4dCAyIG51bWJlciBnZW5lcmF0ZWQgYnkgcmFuZG9tLmdldHJhbmRiaXRzKDI1NSkKLSAgICAgICAgKCI2MmYxMjQzNjQ0YTRhOGY2OWRjOGRiNDhlODZlYzljNmUwNmYyOTFiMmE4MzhhZjhkNWM0NGE0ZWIzMTcyMDYyIiksCi0gICAgICAgICgiNmE2MDZlNTRiNGM5ZTc1NWNjOWMzYWRjZjUxNWE4MjM0ZGE0ZGFlYjRmM2Y4Nzc3N2FkMWY0NWFlOTUwMGVjOSIpLAotICAgIF0KLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBhcmdfYShzZWxmKSAtPiBzdHI6Ci0gICAgICAgIHJldHVybiBzdXBlcigpLmZvcm1hdF9hcmcoJ3s6eH0nLmZvcm1hdChzZWxmLmludF9hKSkuemZpbGwoMiAqIHNlbGYuaGV4X2RpZ2l0cykKLQotICAgIGRlZiByZXN1bHQoc2VsZikgLT4gTGlzdFtzdHJdOgotICAgICAgICByZXN1bHQgPSBzZWxmLmludF9hICUgc2VsZi5pbnRfbgotICAgICAgICByZXR1cm4gW3NlbGYuZm9ybWF0X3Jlc3VsdChyZXN1bHQpXQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGlzX3ZhbGlkKHNlbGYpIC0+IGJvb2w6Ci0gICAgICAgIHJldHVybiBUcnVlCi0KLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpLT4gTGlzdFtzdHJdOgotICAgICAgICBhcmdzID0gc3VwZXIoKS5hcmd1bWVudHMoKQotICAgICAgICByZXR1cm4gIFsiTUJFRFRMU19FQ1BfRFBfQ1VSVkUyNTUxOSJdICsgYXJncwotCi0KLWNsYXNzIEVjcFA0NDhSYXcoYmlnbnVtX2NvbW1vbi5Nb2RPcGVyYXRpb25Db21tb24sCi0gICAgICAgICAgICAgICAgIEVjcFRhcmdldCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgRUNQIFA0NDggZmFzdCByZWR1Y3Rpb24uIiIiCi0gICAgc3ltYm9sID0gIi0iCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJlY3BfbW9kX3BfZ2VuZXJpY19yYXciCi0gICAgdGVzdF9uYW1lID0gImVjcF9tb2RfcDQ0OF9yYXciCi0gICAgaW5wdXRfc3R5bGUgPSAiZml4ZWQiCi0gICAgYXJpdHkgPSAxCi0gICAgZGVwZW5kZW5jaWVzID0gWyJNQkVEVExTX0VDUF9EUF9DVVJWRTQ0OF9FTkFCTEVEIl0KLQotICAgIG1vZHVsaSA9IFsoImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlIgotICAgICAgICAgICAgICAgImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIildICMgdHlwZTogTGlzdFtzdHJdCi0KLSAgICBpbnB1dF92YWx1ZXMgPSBbCi0gICAgICAgICIwIiwgIjEiLAotCi0gICAgICAgICMgTW9kdWx1cyAtIDEKLSAgICAgICAgKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZSIKLSAgICAgICAgICJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZSIpLAotCi0gICAgICAgICMgTW9kdWx1cyArIDEKLSAgICAgICAgKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIKLSAgICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIpLAotCi0gICAgICAgICMgMl40NDggLSAxCi0gICAgICAgICgiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiCi0gICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiKSwKLQotICAgICAgICAjIE1heGltdW0gY2Fub25pY2FsIFA0NDggbXVsdGlwbGljYXRpb24gcmVzdWx0Ci0gICAgICAgICgiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQiCi0gICAgICAgICAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQiCi0gICAgICAgICAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQiKSwKLQotICAgICAgICAjIEZpcnN0IDggbnVtYmVyIGdlbmVyYXRlZCBieSByYW5kb20uZ2V0cmFuZGJpdHMoODk2KSAtIHNlZWQoMiwyKQotICAgICAgICAoIjc0NjY3YmZmZTIwMjg0OWRhOTY0M2EyOTVhOWFjNmRlY2JkNGQzZTJkNGRlYzllZjgzZjBiZTRlIgotICAgICAgICAgIjgwMzcxZWI5N2Y4MTM3NWVlY2MxY2I2MzQ3NzMzZTg0N2Q3MThkNzMzZmY5OGZmMzg3YzU2NDczIgotICAgICAgICAgImE3YTgzZWUwNzYxZWJmZDJiZDE0M2ZhOWI3MTQyMTBjNjY1ZDc0MzVjMTA2NjkzMmY0NzY3ZjI2IgotICAgICAgICAgIjI5NDM2NWIyNzIxZGVhM2JmNjNmMjNkMGRiZTUzZmNhZmIyMTQ3ZGY1Y2E0OTVmYTVhOTFjODliIiksCi0gICAgICAgICgiNGRhNGRhZWI0ZjNmODc3NzdhZDFmNDVhZTk1MDBlYzljNWUyNDg2YzQ0YTRhOGY2OWRjOGRiNDgiCi0gICAgICAgICAiZTg2ZWM5YzZlMDZmMjkxYjJhODM4YWY4ZDVjNDRhNGViMzE3MjA2MmQwOGYxYmIyNTMxZDY0NjAiCi0gICAgICAgICAiZjBjYWVlZjAzOGM4OWIzOGE4YWNiNTEzN2M5MjYwZGM3NGUwODhhOWI5NDkyZjI1OGViZGJmZTMiCi0gICAgICAgICAiZWI5YWM2ODhiOWQzOWNjYTkxNTUxZTgyNTljYzYwYjE3NjA0ZTRiNGU3MzY5NWMzZTY1MmM3MWEiKSwKLSAgICAgICAgKCJiYzFiMDBkOTI4MzhlNzY2ZWY5YjZiZjJkMDM3ZmUyZTIwYjZhODQ2NDE3NGU3NWE1ZjgzNGRhNyIKLSAgICAgICAgICIwNTY5YzAxOGViMmI1NjkzYmFiYjdmYmIwYTc2YzE5NjA2N2NmZGNiMTE0NTdkOWNmNDVlMmZhMCIKLSAgICAgICAgICIxZDdmNDI3NTE1MzkyNDgwMDYwMDU3MWZhYzNhNWIyNjNmZGY1N2NkMmMwMDY0OTc1YzM3NDc0NiIKLSAgICAgICAgICI1Y2MzNmMyNzBlOGEzNWIxMDgyOGQ1NjljMjY4YTIwZWI3OGFjMzMyZTVlMTM4ZTI2YzQ0NTRiOSIpLAotICAgICAgICAoIjhkMmY1MjdlNzJkYWYwYTU0ZWYyNWMwNzA3ZTMzODY4N2QxZjcxNTc1NjUzYTQ1YzQ5MzkwYWE1IgotICAgICAgICAgIjFjZjUxOTJiYmY2N2RhMTRiZTExZDU2YmEwYjRhMjk2OWQ4MDU1YTlmMDNmMmQ3MTU4MWQ4ZTgzIgotICAgICAgICAgIjAxMTJmZjBmMDk0OGVjY2FmODg3N2FjZjI2YzM3N2MxM2Y3MTk3MjZmZDcwYmRkYWNiNGRlZWVjIgotICAgICAgICAgIjBiMGM5OTVlOTZlNmJjNGQ2MmI0NzIwNDAwN2VlNGZhYjEwNWQ4M2U4NWU5NTE4NjJmMDk4MWFlIiksCi0gICAgICAgICgiODRhZTY1ZTkyMGE2M2FjMWYyYjY0ZGY2ZGZmMDc4NzBjOWQ1MzFhZTcyYTQ3NDAzMDYzMjM4ZGEiCi0gICAgICAgICAiMWExZmUzZjlkNmExNzlmYTUwZjk2Y2Q0YWZmOTI2MWFhOTJjMGU2ZjE3ZWM5NDA2MzliYzJjY2QiCi0gICAgICAgICAiZjU3MmRmMDA3OTA4MTNlMzI3NDhkZDFkYjQ5MTdmYzA5ZjIwZGJiMGRjYzkzZjBlNjZkZmU3MTciCi0gICAgICAgICAiYzE3MzEzMzk0MzkxYjZlMmU2ZWFjYjBmMGJiN2JlNzJiZDZkMjUwMDlhZWI3ZmEwYzQxNjliMTQiKSwKLSAgICAgICAgKCIyYmIzYjM2ZjI5NDIxYzQwMjFiNzM3OWYwODk3MjQ2YTQwYzI3MGIwMGU4OTMzMDJhYmE5ZTdiOCIKLSAgICAgICAgICIyM2ZjNWFkMmY1ODEwNTc0OGVkNWQxYjdiMzEwYjczMDA0OWRkMzMyYTczZmEwYjI2Yjc1MTk2YyIKLSAgICAgICAgICJmODdlYjhhMDliMjdlYzcxNDMwN2M2OGM0MjU0MjRhMTU3NGYxZWVkZjViMGYxNmNkZmRiODM5NCIKLSAgICAgICAgICIyNGQyMDFlNjUzZjUzZDY4ODNjYTFjMTA3Y2E2ZTcwNjY0OTg4OWMwYzdmMzg2MDg5NWJmYTgxMyIpLAotICAgICAgICAoImFmM2Y1ZDc4NDFiMTI1NmQ1YzFkYzEyZmI1YTFhZTUxOWZiODg4M2FjY2RhNjU1OWNhYTUzOGEwIgotICAgICAgICAgIjlmYzkzNzBkM2E2Yjg2YTc5NzViNTRhMzE0OTcwMjQ2NDAzMzJiMDYxMmQ0MDUwNzcxZDdiMTRlIgotICAgICAgICAgImI2YzAwNGNjM2I4MzY3ZGMzZjJiYjMxZWZlOTkzNGFkMDgwOWVhZTNlZjIzMmEzMmI1NDU5ZDgzIgotICAgICAgICAgImZiYzQ2ZjFhZWE5OTBlOTQ4MjFkNDYwNjNiNGRiZjJjYTI5NDUyM2Q3NDExNWM4NjE4OGIxMDQ0IiksCi0gICAgICAgICgiNzQzMDA1MTM3NmUzMWY1YWFiNjNhZDAyODU0ZWZhNjAwNjQxYjRmYTM3YTQ3Y2U0MWFlZmZhZmMiCi0gICAgICAgICAiM2I0NTQwMmFjMDI2NTlmZTJlODdkNDE1MDUxMWJhZWIxOThhYmFiYjFhMTZkYWZmM2RhOTVjZDIiCi0gICAgICAgICAiMTY3Yjc1ZGZiOTQ4ZjgyYTgzMTdjYmEwMWM3NWY2N2UyOTA1MzVkODY4YTI0YjdmNjI3ZjI4NTUiCi0gICAgICAgICAiMDkxNjdkNDEyNmFmODA5MDAxM2MzMjczYzAyYzZiOTU4NmI0NjI1YjQ3NWI1MTA5NmM0YWQ2NTIiKSwKLQotICAgICAgICAjIENvcm5lciBjYXNlIHdoaWNoIGNhdXNlcyBtYXhpbXVtIG92ZXJmbG93Ci0gICAgICAgICgiZjRhZTY1ZTkyMGE2M2FjMWYyYjY0ZGY2ZGZmMDc4NzBjOWQ1MzFhZTcyYTQ3NDAzMDYzMjM4ZGExIgotICAgICAgICAgImExZmUzZjlkNmExNzlmYTUwZjk2Y2Q0YWZmOTI2MWFhOTJjMGU2ZjE3ZWM5NDA2MzliYzJjY2QwQiIKLSAgICAgICAgICI1MTlBMTZERjU5QzUzRTBENDlCMjA5MjAwRjg3OEYzNjJBQ0U1MThENUI4QkZDRjlDREM3MjVFNUUiCi0gICAgICAgICAiMDFDMDYyOTVFODYwNUFGMDY5MzJCNTAwNkQ5RTU1NkQzRjE5MEU4MTM2QkY5QzY0M0QzMzIiKSwKLQotICAgICAgICAjIE5leHQgMiBudW1iZXIgZ2VuZXJhdGVkIGJ5IHJhbmRvbS5nZXRyYW5kYml0cyg0NDgpCi0gICAgICAgICgiOGY1NGY4Y2VhY2FhYjM5ZTgzODQ0YjQwZmZhOWI5ZjE1YzE0YmM0YTgyOWUwN2IwODI5YTQ4ZDQiCi0gICAgICAgICAiMjJmZTk5YTIyYzcwNTAxZTUzM2M5MTM1MmQzZDg1NGUwNjFiOTAzMDNiMDhjNmUzM2M3Mjk1NzgiKSwKLSAgICAgICAgKCI5N2VlYWI2NGNhMmNlNmJjNWQzZmQ5ODNjMzRjNzY5ZmU4OTIwNGUyZTgxNjg1NjE4NjdlNWUxNSIKLSAgICAgICAgICJiYzAxYmZjZTZhMjdlMGRmY2JmODc1NDQ3MjE1NGU3NmU0YzExYWIyZmVjM2Y2YjMyZThkNGI4YSIpLAotCi0gICAgXQotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIGFyZ19hKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgcmV0dXJuIHN1cGVyKCkuZm9ybWF0X2FyZygnezp4fScuZm9ybWF0KHNlbGYuaW50X2EpKS56ZmlsbCgyICogc2VsZi5oZXhfZGlnaXRzKQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYuaW50X2EgJSBzZWxmLmludF9uCi0gICAgICAgIHJldHVybiBbc2VsZi5mb3JtYXRfcmVzdWx0KHJlc3VsdCldCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgaXNfdmFsaWQoc2VsZikgLT4gYm9vbDoKLSAgICAgICAgcmV0dXJuIFRydWUKLQotICAgIGRlZiBhcmd1bWVudHMoc2VsZik6Ci0gICAgICAgIGFyZ3MgPSBzdXBlcigpLmFyZ3VtZW50cygpCi0gICAgICAgIHJldHVybiAgWyJNQkVEVExTX0VDUF9EUF9DVVJWRTQ0OCJdICsgYXJncwpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9tYmVkdGxzX2Rldi9sb2dnaW5nX3V0aWwucHkgYi9zY3JpcHRzL21iZWR0bHNfZGV2L2xvZ2dpbmdfdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGRkN2M3Zi4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L2xvZ2dpbmdfdXRpbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLSIiIkF1eGlsaWFyeSBmdW5jdGlvbnMgdXNlZCBmb3IgbG9nZ2luZyBtb2R1bGUuCi0iIiIKLQotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLWltcG9ydCBsb2dnaW5nCi1pbXBvcnQgc3lzCi0KLWRlZiBjb25maWd1cmVfbG9nZ2VyKAotICAgICAgICBsb2dnZXI6IGxvZ2dpbmcuTG9nZ2VyLAotICAgICAgICBsb2dfZm9ybWF0PSJbJShsZXZlbG5hbWUpc106ICUobWVzc2FnZSlzIiwKLSAgICAgICAgc3BsaXRfbGV2ZWw9bG9nZ2luZy5XQVJOSU5HCi0gICAgKSAtPiBOb25lOgotICAgICIiIgotICAgIENvbmZpZ3VyZSB0aGUgbG9nZ2luZy5Mb2dnZXIgaW5zdGFuY2Ugc28gdGhhdDoKLSAgICAgICAgLSBGb3JtYXQgaXMgc2V0IHRvIGFueSBsb2dfZm9ybWF0LgotICAgICAgICAgICAgRGVmYXVsdDogIlslKGxldmVsbmFtZSlzXTogJShtZXNzYWdlKXMiCi0gICAgICAgIC0gbG9nbGV2ZWwgPj0gc3BsaXRfbGV2ZWwgYXJlIHByaW50ZWQgdG8gc3RkZXJyLgotICAgICAgICAtIGxvZ2xldmVsIDwgIHNwbGl0X2xldmVsIGFyZSBwcmludGVkIHRvIHN0ZG91dC4KLSAgICAgICAgICAgIERlZmF1bHQ6IGxvZ2dpbmcuV0FSTklORwotICAgICIiIgotICAgIGNsYXNzIE1heExldmVsRmlsdGVyKGxvZ2dpbmcuRmlsdGVyKToKLSAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLWZldy1wdWJsaWMtbWV0aG9kcwotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgbWF4X2xldmVsLCBuYW1lPScnKToKLSAgICAgICAgICAgIHN1cGVyKCkuX19pbml0X18obmFtZSkKLSAgICAgICAgICAgIHNlbGYubWF4X2xldmVsID0gbWF4X2xldmVsCi0KLSAgICAgICAgZGVmIGZpbHRlcihzZWxmLCByZWNvcmQ6IGxvZ2dpbmcuTG9nUmVjb3JkKSAtPiBib29sOgotICAgICAgICAgICAgcmV0dXJuIHJlY29yZC5sZXZlbG5vIDw9IHNlbGYubWF4X2xldmVsCi0KLSAgICBsb2dfZm9ybWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIobG9nX2Zvcm1hdCkKLQotICAgICMgc2V0IGxvZ2xldmVsID49IHNwbGl0X2xldmVsIHRvIGJlIHByaW50ZWQgdG8gc3RkZXJyCi0gICAgc3RkZXJyX2hkbHIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoc3lzLnN0ZGVycikKLSAgICBzdGRlcnJfaGRsci5zZXRMZXZlbChzcGxpdF9sZXZlbCkKLSAgICBzdGRlcnJfaGRsci5zZXRGb3JtYXR0ZXIobG9nX2Zvcm1hdHRlcikKLQotICAgICMgc2V0IGxvZ2xldmVsIDwgc3BsaXRfbGV2ZWwgdG8gYmUgcHJpbnRlZCB0byBzdGRvdXQKLSAgICBzdGRvdXRfaGRsciA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihzeXMuc3Rkb3V0KQotICAgIHN0ZG91dF9oZGxyLmFkZEZpbHRlcihNYXhMZXZlbEZpbHRlcihzcGxpdF9sZXZlbCAtIDEpKQotICAgIHN0ZG91dF9oZGxyLnNldEZvcm1hdHRlcihsb2dfZm9ybWF0dGVyKQotCi0gICAgbG9nZ2VyLmFkZEhhbmRsZXIoc3RkZXJyX2hkbHIpCi0gICAgbG9nZ2VyLmFkZEhhbmRsZXIoc3Rkb3V0X2hkbHIpCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L21hY3JvX2NvbGxlY3Rvci5weSBiL3NjcmlwdHMvbWJlZHRsc19kZXYvbWFjcm9fY29sbGVjdG9yLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjhiZTAwLi4wMDAwMDAwCi0tLSBhL3NjcmlwdHMvbWJlZHRsc19kZXYvbWFjcm9fY29sbGVjdG9yLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTM5ICswLDAgQEAKLSIiIkNvbGxlY3QgbWFjcm8gZGVmaW5pdGlvbnMgZnJvbSBoZWFkZXIgZmlsZXMuCi0iIiIKLQotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLWltcG9ydCBpdGVydG9vbHMKLWltcG9ydCByZQotZnJvbSB0eXBpbmcgaW1wb3J0IERpY3QsIElPLCBJdGVyYWJsZSwgSXRlcmF0b3IsIExpc3QsIE9wdGlvbmFsLCBQYXR0ZXJuLCBTZXQsIFR1cGxlLCBVbmlvbgotCi0KLWNsYXNzIFJlYWRGaWxlTGluZUV4Y2VwdGlvbihFeGNlcHRpb24pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZTogc3RyLCBsaW5lX251bWJlcjogVW5pb25baW50LCBzdHJdKSAtPiBOb25lOgotICAgICAgICBtZXNzYWdlID0gJ2luIHt9IGF0IHt9Jy5mb3JtYXQoZmlsZW5hbWUsIGxpbmVfbnVtYmVyKQotICAgICAgICBzdXBlcihSZWFkRmlsZUxpbmVFeGNlcHRpb24sIHNlbGYpLl9faW5pdF9fKG1lc3NhZ2UpCi0gICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQotICAgICAgICBzZWxmLmxpbmVfbnVtYmVyID0gbGluZV9udW1iZXIKLQotCi1jbGFzcyByZWFkX2ZpbGVfbGluZXM6Ci0gICAgIyBEZWFyIFB5bGludCwgY29udmVudGlvbmFsbHksIGEgY29udGV4dCBtYW5hZ2VyIGNsYXNzIG5hbWUgaXMgbG93ZXJjYXNlLgotICAgICMgcHlsaW50OiBkaXNhYmxlPWludmFsaWQtbmFtZSx0b28tZmV3LXB1YmxpYy1tZXRob2RzCi0gICAgIiIiQ29udGV4dCBtYW5hZ2VyIHRvIHJlYWQgYSB0ZXh0IGZpbGUgbGluZSBieSBsaW5lLgotCi0gICAgYGBgCi0gICAgd2l0aCByZWFkX2ZpbGVfbGluZXMoZmlsZW5hbWUpIGFzIGxpbmVzOgotICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKLSAgICAgICAgICAgIHByb2Nlc3MobGluZSkKLSAgICBgYGAKLSAgICBpcyBlcXVpdmFsZW50IHRvCi0gICAgYGBgCi0gICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncicpIGFzIGlucHV0X2ZpbGU6Ci0gICAgICAgIGZvciBsaW5lIGluIGlucHV0X2ZpbGU6Ci0gICAgICAgICAgICBwcm9jZXNzKGxpbmUpCi0gICAgYGBgCi0gICAgZXhjZXB0IHRoYXQgaWYgcHJvY2VzcyhsaW5lKSByYWlzZXMgYW4gZXhjZXB0aW9uLCB0aGVuIHRoZSByZWFkX2ZpbGVfbGluZXMKLSAgICBzbmlwcGV0IGFubm90YXRlcyB0aGUgZXhjZXB0aW9uIHdpdGggdGhlIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuCi0gICAgIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lOiBzdHIsIGJpbmFyeTogYm9vbCA9IEZhbHNlKSAtPiBOb25lOgotICAgICAgICBzZWxmLmZpbGVuYW1lID0gZmlsZW5hbWUKLSAgICAgICAgc2VsZi5maWxlID0gTm9uZSAjdHlwZTogT3B0aW9uYWxbSU9bc3RyXV0KLSAgICAgICAgc2VsZi5saW5lX251bWJlciA9ICdlbnRyeScgI3R5cGU6IFVuaW9uW2ludCwgc3RyXQotICAgICAgICBzZWxmLmdlbmVyYXRvciA9IE5vbmUgI3R5cGU6IE9wdGlvbmFsW0l0ZXJhYmxlW1R1cGxlW2ludCwgc3RyXV1dCi0gICAgICAgIHNlbGYuYmluYXJ5ID0gYmluYXJ5Ci0gICAgZGVmIF9fZW50ZXJfXyhzZWxmKSAtPiAncmVhZF9maWxlX2xpbmVzJzoKLSAgICAgICAgc2VsZi5maWxlID0gb3BlbihzZWxmLmZpbGVuYW1lLCAncmInIGlmIHNlbGYuYmluYXJ5IGVsc2UgJ3InKQotICAgICAgICBzZWxmLmdlbmVyYXRvciA9IGVudW1lcmF0ZShzZWxmLmZpbGUpCi0gICAgICAgIHJldHVybiBzZWxmCi0gICAgZGVmIF9faXRlcl9fKHNlbGYpIC0+IEl0ZXJhdG9yW3N0cl06Ci0gICAgICAgIGFzc2VydCBzZWxmLmdlbmVyYXRvciBpcyBub3QgTm9uZQotICAgICAgICBmb3IgbGluZV9udW1iZXIsIGNvbnRlbnQgaW4gc2VsZi5nZW5lcmF0b3I6Ci0gICAgICAgICAgICBzZWxmLmxpbmVfbnVtYmVyID0gbGluZV9udW1iZXIKLSAgICAgICAgICAgIHlpZWxkIGNvbnRlbnQKLSAgICAgICAgc2VsZi5saW5lX251bWJlciA9ICdleGl0JwotICAgIGRlZiBfX2V4aXRfXyhzZWxmLCBleGNfdHlwZSwgZXhjX3ZhbHVlLCBleGNfdHJhY2ViYWNrKSAtPiBOb25lOgotICAgICAgICBpZiBzZWxmLmZpbGUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLmZpbGUuY2xvc2UoKQotICAgICAgICBpZiBleGNfdHlwZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIFJlYWRGaWxlTGluZUV4Y2VwdGlvbihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyKSBcCi0gICAgICAgICAgICAgICAgZnJvbSBleGNfdmFsdWUKLQotCi1jbGFzcyBQU0FNYWNyb0VudW1lcmF0b3I6Ci0gICAgIiIiSW5mb3JtYXRpb24gYWJvdXQgY29uc3RydWN0b3JzIG9mIHZhcmlvdXMgUFNBIENyeXB0byB0eXBlcy4KLQotICAgIFRoaXMgaW5jbHVkZXMgbWFjcm8gbmFtZXMgYXMgd2VsbCBhcyBpbmZvcm1hdGlvbiBhYm91dCB0aGVpciBhcmd1bWVudHMKLSAgICB3aGVuIGFwcGxpY2FibGUuCi0KLSAgICBUaGlzIGNsYXNzIG9ubHkgcHJvdmlkZXMgd2F5cyB0byBlbnVtZXJhdGUgZXhwcmVzc2lvbnMgdGhhdCBldmFsdWF0ZSB0bwotICAgIHZhbHVlcyBvZiB0aGUgY292ZXJlZCB0eXBlcy4gRGVyaXZlZCBjbGFzc2VzIGFyZSBleHBlY3RlZCB0byBwb3B1bGF0ZQotICAgIHRoZSBzZXQgb2Yga25vd24gY29uc3RydWN0b3JzIG9mIGVhY2gga2luZCwgYXMgd2VsbCBhcyBwb3B1bGF0ZQotICAgIGBzZWxmLmFyZ3VtZW50c19mb3JgIGZvciBhcmd1bWVudHMgdGhhdCBhcmUgbm90IG9mIGEga2luZCB0aGF0IGlzCi0gICAgZW51bWVyYXRlZCBoZXJlLgotICAgICIiIgotICAgICNweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktaW5zdGFuY2UtYXR0cmlidXRlcwotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6Ci0gICAgICAgICIiIlNldCB1cCBhbiBlbXB0eSBzZXQgb2Yga25vd24gY29uc3RydWN0b3IgbWFjcm9zLgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5zdGF0dXNlcyA9IHNldCgpICN0eXBlOiBTZXRbc3RyXQotICAgICAgICBzZWxmLmxpZmV0aW1lcyA9IHNldCgpICN0eXBlOiBTZXRbc3RyXQotICAgICAgICBzZWxmLmxvY2F0aW9ucyA9IHNldCgpICN0eXBlOiBTZXRbc3RyXQotICAgICAgICBzZWxmLnBlcnNpc3RlbmNlX2xldmVscyA9IHNldCgpICN0eXBlOiBTZXRbc3RyXQotICAgICAgICBzZWxmLmFsZ29yaXRobXMgPSBzZXQoKSAjdHlwZTogU2V0W3N0cl0KLSAgICAgICAgc2VsZi5lY2NfY3VydmVzID0gc2V0KCkgI3R5cGU6IFNldFtzdHJdCi0gICAgICAgIHNlbGYuZGhfZ3JvdXBzID0gc2V0KCkgI3R5cGU6IFNldFtzdHJdCi0gICAgICAgIHNlbGYua2V5X3R5cGVzID0gc2V0KCkgI3R5cGU6IFNldFtzdHJdCi0gICAgICAgIHNlbGYua2V5X3VzYWdlX2ZsYWdzID0gc2V0KCkgI3R5cGU6IFNldFtzdHJdCi0gICAgICAgIHNlbGYuaGFzaF9hbGdvcml0aG1zID0gc2V0KCkgI3R5cGU6IFNldFtzdHJdCi0gICAgICAgIHNlbGYubWFjX2FsZ29yaXRobXMgPSBzZXQoKSAjdHlwZTogU2V0W3N0cl0KLSAgICAgICAgc2VsZi5rYV9hbGdvcml0aG1zID0gc2V0KCkgI3R5cGU6IFNldFtzdHJdCi0gICAgICAgIHNlbGYua2RmX2FsZ29yaXRobXMgPSBzZXQoKSAjdHlwZTogU2V0W3N0cl0KLSAgICAgICAgc2VsZi5wYWtlX2FsZ29yaXRobXMgPSBzZXQoKSAjdHlwZTogU2V0W3N0cl0KLSAgICAgICAgc2VsZi5hZWFkX2FsZ29yaXRobXMgPSBzZXQoKSAjdHlwZTogU2V0W3N0cl0KLSAgICAgICAgc2VsZi5zaWduX2FsZ29yaXRobXMgPSBzZXQoKSAjdHlwZTogU2V0W3N0cl0KLSAgICAgICAgIyBtYWNybyBuYW1lIC0+IGxpc3Qgb2YgYXJndW1lbnQgbmFtZXMKLSAgICAgICAgc2VsZi5hcmdzcGVjcyA9IHt9ICN0eXBlOiBEaWN0W3N0ciwgTGlzdFtzdHJdXQotICAgICAgICAjIGFyZ3VtZW50IG5hbWUgLT4gbGlzdCBvZiB2YWx1ZXMKLSAgICAgICAgc2VsZi5hcmd1bWVudHNfZm9yID0gewotICAgICAgICAgICAgJ21hY19sZW5ndGgnOiBbXSwKLSAgICAgICAgICAgICdtaW5fbWFjX2xlbmd0aCc6IFtdLAotICAgICAgICAgICAgJ3RhZ19sZW5ndGgnOiBbXSwKLSAgICAgICAgICAgICdtaW5fdGFnX2xlbmd0aCc6IFtdLAotICAgICAgICB9ICN0eXBlOiBEaWN0W3N0ciwgTGlzdFtzdHJdXQotICAgICAgICAjIFdoZXRoZXIgdG8gaW5jbHVkZSBpbnRlcm1lZGlhdGUgbWFjcm9zIGluIGVudW1lcmF0aW9ucy4gSW50ZXJtZWRpYXRlCi0gICAgICAgICMgbWFjcm9zIHNlcnZlIGFzIGNhdGVnb3J5IGhlYWRlcnMgYW5kIGFyZSBub3QgdmFsaWQgdmFsdWVzIG9mIHRoZWlyCi0gICAgICAgICMgdHlwZS4gU2VlIGBpc19pbnRlcm5hbF9uYW1lYC4KLSAgICAgICAgIyBBbHdheXMgZmFsc2UgaW4gdGhpcyBjbGFzcywgbWF5IGJlIHNldCB0byB0cnVlIGluIGRlcml2ZWQgY2xhc3Nlcy4KLSAgICAgICAgc2VsZi5pbmNsdWRlX2ludGVybWVkaWF0ZSA9IEZhbHNlCi0KLSAgICBkZWYgaXNfaW50ZXJuYWxfbmFtZShzZWxmLCBuYW1lOiBzdHIpIC0+IGJvb2w6Ci0gICAgICAgICIiIldoZXRoZXIgdGhpcyBpcyBhbiBpbnRlcm5hbCBtYWNyby4gSW50ZXJuYWwgbWFjcm9zIHdpbGwgYmUgc2tpcHBlZC4iIiIKLSAgICAgICAgaWYgbm90IHNlbGYuaW5jbHVkZV9pbnRlcm1lZGlhdGU6Ci0gICAgICAgICAgICBpZiBuYW1lLmVuZHN3aXRoKCdfQkFTRScpIG9yIG5hbWUuZW5kc3dpdGgoJ19OT05FJyk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgICAgIGlmICdfQ0FURUdPUllfJyBpbiBuYW1lOgotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJldHVybiBuYW1lLmVuZHN3aXRoKCdfRkxBRycpIG9yIG5hbWUuZW5kc3dpdGgoJ19NQVNLJykKLQotICAgIGRlZiBnYXRoZXJfYXJndW1lbnRzKHNlbGYpIC0+IE5vbmU6Ci0gICAgICAgICIiIlBvcHVsYXRlIHRoZSBsaXN0IG9mIHZhbHVlcyBmb3IgbWFjcm8gYXJndW1lbnRzLgotCi0gICAgICAgIENhbGwgdGhpcyBhZnRlciBwYXJzaW5nIGFsbCB0aGUgaW5wdXRzLgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5hcmd1bWVudHNfZm9yWydoYXNoX2FsZyddID0gc29ydGVkKHNlbGYuaGFzaF9hbGdvcml0aG1zKQotICAgICAgICBzZWxmLmFyZ3VtZW50c19mb3JbJ21hY19hbGcnXSA9IHNvcnRlZChzZWxmLm1hY19hbGdvcml0aG1zKQotICAgICAgICBzZWxmLmFyZ3VtZW50c19mb3JbJ2thX2FsZyddID0gc29ydGVkKHNlbGYua2FfYWxnb3JpdGhtcykKLSAgICAgICAgc2VsZi5hcmd1bWVudHNfZm9yWydrZGZfYWxnJ10gPSBzb3J0ZWQoc2VsZi5rZGZfYWxnb3JpdGhtcykKLSAgICAgICAgc2VsZi5hcmd1bWVudHNfZm9yWydhZWFkX2FsZyddID0gc29ydGVkKHNlbGYuYWVhZF9hbGdvcml0aG1zKQotICAgICAgICBzZWxmLmFyZ3VtZW50c19mb3JbJ3NpZ25fYWxnJ10gPSBzb3J0ZWQoc2VsZi5zaWduX2FsZ29yaXRobXMpCi0gICAgICAgIHNlbGYuYXJndW1lbnRzX2ZvclsnY3VydmUnXSA9IHNvcnRlZChzZWxmLmVjY19jdXJ2ZXMpCi0gICAgICAgIHNlbGYuYXJndW1lbnRzX2ZvclsnZ3JvdXAnXSA9IHNvcnRlZChzZWxmLmRoX2dyb3VwcykKLSAgICAgICAgc2VsZi5hcmd1bWVudHNfZm9yWydwZXJzaXN0ZW5jZSddID0gc29ydGVkKHNlbGYucGVyc2lzdGVuY2VfbGV2ZWxzKQotICAgICAgICBzZWxmLmFyZ3VtZW50c19mb3JbJ2xvY2F0aW9uJ10gPSBzb3J0ZWQoc2VsZi5sb2NhdGlvbnMpCi0gICAgICAgIHNlbGYuYXJndW1lbnRzX2ZvclsnbGlmZXRpbWUnXSA9IHNvcnRlZChzZWxmLmxpZmV0aW1lcykKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2Zvcm1hdF9hcmd1bWVudHMobmFtZTogc3RyLCBhcmd1bWVudHM6IEl0ZXJhYmxlW3N0cl0pIC0+IHN0cjoKLSAgICAgICAgIiIiRm9ybWF0IGEgbWFjcm8gY2FsbCB3aXRoIGFyZ3VtZW50cy4KLQotICAgICAgICBUaGUgcmVzdWx0aW5nIGZvcm1hdCBpcyBjb25zaXN0ZW50IHdpdGgKLSAgICAgICAgYElucHV0c0ZvclRlc3Qubm9ybWFsaXplX2FyZ3VtZW50YC4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBuYW1lICsgJygnICsgJywgJy5qb2luKGFyZ3VtZW50cykgKyAnKScKLQotICAgIF9hcmd1bWVudF9zcGxpdF9yZSA9IHJlLmNvbXBpbGUocicgKiwgKicpCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIF9hcmd1bWVudF9zcGxpdChjbHMsIGFyZ3VtZW50czogc3RyKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJldHVybiByZS5zcGxpdChjbHMuX2FyZ3VtZW50X3NwbGl0X3JlLCBhcmd1bWVudHMpCi0KLSAgICBkZWYgZGlzdHJpYnV0ZV9hcmd1bWVudHMoc2VsZiwgbmFtZTogc3RyKSAtPiBJdGVyYXRvcltzdHJdOgotICAgICAgICAiIiJHZW5lcmF0ZSBtYWNybyBjYWxscyB3aXRoIGVhY2ggdGVzdGVkIGFyZ3VtZW50IHNldC4KLQotICAgICAgICBJZiBuYW1lIGlzIGEgbWFjcm8gd2l0aG91dCBhcmd1bWVudHMsIGp1c3QgeWllbGQgIm5hbWUiLgotICAgICAgICBJZiBuYW1lIGlzIGEgbWFjcm8gd2l0aCBhcmd1bWVudHMsIHlpZWxkIGEgc2VyaWVzIG9mCi0gICAgICAgICJuYW1lKGFyZzEsLi4uLGFyZ04pIiB3aGVyZSBlYWNoIGFyZ3VtZW50IHRha2VzIGVhY2ggcG9zc2libGUKLSAgICAgICAgdmFsdWUgYXQgbGVhc3Qgb25jZS4KLSAgICAgICAgIiIiCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIHNlbGYuYXJnc3BlY3M6Ci0gICAgICAgICAgICAgICAgeWllbGQgbmFtZQotICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgYXJnc3BlYyA9IHNlbGYuYXJnc3BlY3NbbmFtZV0KLSAgICAgICAgICAgIGlmIGFyZ3NwZWMgPT0gW106Ci0gICAgICAgICAgICAgICAgeWllbGQgbmFtZSArICcoKScKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIGFyZ3VtZW50X2xpc3RzID0gW3NlbGYuYXJndW1lbnRzX2ZvclthcmddIGZvciBhcmcgaW4gYXJnc3BlY10KLSAgICAgICAgICAgIGFyZ3VtZW50cyA9IFt2YWx1ZXNbMF0gZm9yIHZhbHVlcyBpbiBhcmd1bWVudF9saXN0c10KLSAgICAgICAgICAgIHlpZWxkIHNlbGYuX2Zvcm1hdF9hcmd1bWVudHMobmFtZSwgYXJndW1lbnRzKQotICAgICAgICAgICAgIyBEZWFyIFB5bGludCwgZW51bWVyYXRlIHdvbid0IHdvcmsgaGVyZSBzaW5jZSB3ZSdyZSBtb2RpZnlpbmcKLSAgICAgICAgICAgICMgdGhlIGFycmF5LgotICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9Y29uc2lkZXItdXNpbmctZW51bWVyYXRlCi0gICAgICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oYXJndW1lbnRzKSk6Ci0gICAgICAgICAgICAgICAgZm9yIHZhbHVlIGluIGFyZ3VtZW50X2xpc3RzW2ldWzE6XToKLSAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzW2ldID0gdmFsdWUKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgc2VsZi5fZm9ybWF0X2FyZ3VtZW50cyhuYW1lLCBhcmd1bWVudHMpCi0gICAgICAgICAgICAgICAgYXJndW1lbnRzW2ldID0gYXJndW1lbnRfbGlzdHNbaV1bMF0KLSAgICAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignZGlzdHJpYnV0ZV9hcmd1bWVudHMoe30pJy5mb3JtYXQobmFtZSkpIGZyb20gZQotCi0gICAgZGVmIGRpc3RyaWJ1dGVfYXJndW1lbnRzX3dpdGhvdXRfZHVwbGljYXRlcygKLSAgICAgICAgICAgIHNlbGYsIHNlZW46IFNldFtzdHJdLCBuYW1lOiBzdHIKLSAgICApIC0+IEl0ZXJhdG9yW3N0cl06Ci0gICAgICAgICIiIlNhbWUgYXMgYGRpc3RyaWJ1dGVfYXJndW1lbnRzYCwgYnV0IGRvbid0IHJlcGVhdCBzZWVuIHJlc3VsdHMuIiIiCi0gICAgICAgIGZvciByZXN1bHQgaW4gc2VsZi5kaXN0cmlidXRlX2FyZ3VtZW50cyhuYW1lKToKLSAgICAgICAgICAgIGlmIHJlc3VsdCBub3QgaW4gc2VlbjoKLSAgICAgICAgICAgICAgICBzZWVuLmFkZChyZXN1bHQpCi0gICAgICAgICAgICAgICAgeWllbGQgcmVzdWx0Ci0KLSAgICBkZWYgZ2VuZXJhdGVfZXhwcmVzc2lvbnMoc2VsZiwgbmFtZXM6IEl0ZXJhYmxlW3N0cl0pIC0+IEl0ZXJhdG9yW3N0cl06Ci0gICAgICAgICIiIkdlbmVyYXRlIGV4cHJlc3Npb25zIGNvdmVyaW5nIHZhbHVlcyBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBnaXZlbiBuYW1lcy4KLQotICAgICAgICBgbmFtZXNgIGNhbiBiZSBhbnkgaXRlcmFibGUgY29sbGVjdGlvbiBvZiBtYWNybyBuYW1lcy4KLQotICAgICAgICBGb3IgZXhhbXBsZToKLSAgICAgICAgKiBgYGdlbmVyYXRlX2V4cHJlc3Npb25zKFsnUFNBX0FMR19DTUFDJywgJ1BTQV9BTEdfSE1BQyddKWBgCi0gICAgICAgICAgZ2VuZXJhdGVzIGBgJ1BTQV9BTEdfQ01BQydgYCBhcyB3ZWxsIGFzIGBgJ1BTQV9BTEdfSE1BQyhoKSdgYCBmb3IKLSAgICAgICAgICBldmVyeSBrbm93biBoYXNoIGFsZ29yaXRobSBgYGhgYC4KLSAgICAgICAgKiBgYG1hY3Jvcy5nZW5lcmF0ZV9leHByZXNzaW9ucyhtYWNyb3Mua2V5X3R5cGVzKWBgIGdlbmVyYXRlcyBhbGwKLSAgICAgICAgICBrZXkgdHlwZXMuCi0gICAgICAgICIiIgotICAgICAgICBzZWVuID0gc2V0KCkgI3R5cGU6IFNldFtzdHJdCi0gICAgICAgIHJldHVybiBpdGVydG9vbHMuY2hhaW4oKigKLSAgICAgICAgICAgIHNlbGYuZGlzdHJpYnV0ZV9hcmd1bWVudHNfd2l0aG91dF9kdXBsaWNhdGVzKHNlZW4sIG5hbWUpCi0gICAgICAgICAgICBmb3IgbmFtZSBpbiBuYW1lcwotICAgICAgICApKQotCi0KLWNsYXNzIFBTQU1hY3JvQ29sbGVjdG9yKFBTQU1hY3JvRW51bWVyYXRvcik6Ci0gICAgIiIiQ29sbGVjdCBQU0EgY3J5cHRvIG1hY3JvIGRlZmluaXRpb25zIGZyb20gQyBoZWFkZXIgZmlsZXMuCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgaW5jbHVkZV9pbnRlcm1lZGlhdGU6IGJvb2wgPSBGYWxzZSkgLT4gTm9uZToKLSAgICAgICAgIiIiU2V0IHVwIGFuIG9iamVjdCB0byBjb2xsZWN0IFBTQSBtYWNybyBkZWZpbml0aW9ucy4KLQotICAgICAgICBDYWxsIHRoZSByZWFkX2ZpbGUgbWV0aG9kIG9mIHRoZSBjb25zdHJ1Y3RlZCBvYmplY3Qgb24gZWFjaCBoZWFkZXIgZmlsZS4KLQotICAgICAgICAqIGluY2x1ZGVfaW50ZXJtZWRpYXRlOiBpZiB0cnVlLCBpbmNsdWRlIGludGVybWVkaWF0ZSBtYWNyb3Mgc3VjaCBhcwotICAgICAgICAgIFBTQV9YWFhfQkFTRSB0aGF0IGRvIG5vdCBkZXNpZ25hdGUgc2VtYW50aWMgdmFsdWVzLgotICAgICAgICAiIiIKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCi0gICAgICAgIHNlbGYuaW5jbHVkZV9pbnRlcm1lZGlhdGUgPSBpbmNsdWRlX2ludGVybWVkaWF0ZQotICAgICAgICBzZWxmLmtleV90eXBlc19mcm9tX2N1cnZlID0ge30gI3R5cGU6IERpY3Rbc3RyLCBzdHJdCi0gICAgICAgIHNlbGYua2V5X3R5cGVzX2Zyb21fZ3JvdXAgPSB7fSAjdHlwZTogRGljdFtzdHIsIHN0cl0KLSAgICAgICAgc2VsZi5hbGdvcml0aG1zX2Zyb21faGFzaCA9IHt9ICN0eXBlOiBEaWN0W3N0ciwgc3RyXQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBhbGdvcml0aG1fdGVzdGVyKG5hbWU6IHN0cikgLT4gc3RyOgotICAgICAgICAiIiJUaGUgcHJlZGljYXRlIGZvciB3aGV0aGVyIGFuIGFsZ29yaXRobSBpcyBidWlsdCBmcm9tIHRoZSBnaXZlbiBjb25zdHJ1Y3Rvci4KLQotICAgICAgICBUaGUgZ2l2ZW4gbmFtZSBtdXN0IGJlIHRoZSBuYW1lIG9mIGFuIGFsZ29yaXRobSBjb25zdHJ1Y3RvciBvZiB0aGUKLSAgICAgICAgZm9ybSBgYFBTQV9BTEdfeHh4YGAgd2hpY2ggaXMgdXNlZCBhcyBgYFBTQV9BTEdfeHh4KHl5eSlgYCB0byBidWlsZAotICAgICAgICBhbiBhbGdvcml0aG0gdmFsdWUuIFJldHVybiB0aGUgY29ycmVzcG9uZGluZyBwcmVkaWNhdGUgbWFjcm8gd2hpY2gKLSAgICAgICAgaXMgdXNlZCBhcyBgYHByZWRpY2F0ZShhbGcpYGAgdG8gdGVzdCB3aGV0aGVyIGBgYWxnYGAgY2FuIGJlIGJ1aWx0Ci0gICAgICAgIGFzIGBgUFNBX0FMR194eHgoeXl5KWBgLiBUaGUgcHJlZGljYXRlIGlzIHVzdWFsbHkgY2FsbGVkCi0gICAgICAgIGBgUFNBX0FMR19JU194eHhgYC4KLSAgICAgICAgIiIiCi0gICAgICAgIHByZWZpeCA9ICdQU0FfQUxHXycKLSAgICAgICAgYXNzZXJ0IG5hbWUuc3RhcnRzd2l0aChwcmVmaXgpCi0gICAgICAgIG1pZGZpeCA9ICdJU18nCi0gICAgICAgIHN1ZmZpeCA9IG5hbWVbbGVuKHByZWZpeCk6XQotICAgICAgICBpZiBzdWZmaXggaW4gWydEU0EnLCAnRUNEU0EnXToKLSAgICAgICAgICAgIG1pZGZpeCArPSAnUkFORE9NSVpFRF8nCi0gICAgICAgIGVsaWYgc3VmZml4ID09ICdSU0FfUFNTJzoKLSAgICAgICAgICAgIHN1ZmZpeCArPSAnX1NUQU5EQVJEX1NBTFQnCi0gICAgICAgIHJldHVybiBwcmVmaXggKyBtaWRmaXggKyBzdWZmaXgKLQotICAgIGRlZiByZWNvcmRfYWxnb3JpdGhtX3N1YnR5cGUoc2VsZiwgbmFtZTogc3RyLCBleHBhbnNpb246IHN0cikgLT4gTm9uZToKLSAgICAgICAgIiIiUmVjb3JkIHRoZSBzdWJ0eXBlIG9mIGFuIGFsZ29yaXRobSBjb25zdHJ1Y3Rvci4KLQotICAgICAgICBHaXZlbiBhIGBgUFNBX0FMR194eHhgYCBtYWNybyBuYW1lIGFuZCBpdHMgZXhwYW5zaW9uLCBpZiB0aGUgYWxnb3JpdGhtCi0gICAgICAgIGlzIG9mIGEgc3VidHlwZSB0aGF0IGlzIHRyYWNrZWQgaW4gaXRzIG93biBzZXQsIGFkZCBpdCB0byB0aGUgcmVsZXZhbnQKLSAgICAgICAgc2V0LgotICAgICAgICAiIiIKLSAgICAgICAgIyBUaGlzIGNvZGUgaXMgdmVyeSBhZCBob2MgYW5kIGZyYWdpbGUuIEl0IHNob3VsZCBiZSByZXBsYWNlZCBieQotICAgICAgICAjIHNvbWV0aGluZyBtb3JlIHJvYnVzdC4KLSAgICAgICAgaWYgcmUubWF0Y2gocidNQUMoPzpffFxaKScsIG5hbWUpOgotICAgICAgICAgICAgc2VsZi5tYWNfYWxnb3JpdGhtcy5hZGQobmFtZSkKLSAgICAgICAgZWxpZiByZS5tYXRjaChyJ0tERig/Ol98XFopJywgbmFtZSk6Ci0gICAgICAgICAgICBzZWxmLmtkZl9hbGdvcml0aG1zLmFkZChuYW1lKQotICAgICAgICBlbGlmIHJlLnNlYXJjaChyJzB4MDIwMDAwWzAtOUEtRmEtZl17Mn0nLCBleHBhbnNpb24pOgotICAgICAgICAgICAgc2VsZi5oYXNoX2FsZ29yaXRobXMuYWRkKG5hbWUpCi0gICAgICAgIGVsaWYgcmUuc2VhcmNoKHInMHgwM1swLTlBLUZhLWZdezZ9JywgZXhwYW5zaW9uKToKLSAgICAgICAgICAgIHNlbGYubWFjX2FsZ29yaXRobXMuYWRkKG5hbWUpCi0gICAgICAgIGVsaWYgcmUuc2VhcmNoKHInMHgwNVswLTlBLUZhLWZdezZ9JywgZXhwYW5zaW9uKToKLSAgICAgICAgICAgIHNlbGYuYWVhZF9hbGdvcml0aG1zLmFkZChuYW1lKQotICAgICAgICBlbGlmIHJlLnNlYXJjaChyJzB4MDlbMC05QS1GYS1mXXsyfTAwMDAnLCBleHBhbnNpb24pOgotICAgICAgICAgICAgc2VsZi5rYV9hbGdvcml0aG1zLmFkZChuYW1lKQotICAgICAgICBlbGlmIHJlLnNlYXJjaChyJzB4MDhbMC05QS1GYS1mXXs2fScsIGV4cGFuc2lvbik6Ci0gICAgICAgICAgICBzZWxmLmtkZl9hbGdvcml0aG1zLmFkZChuYW1lKQotCi0gICAgIyAiI2RlZmluZSIgZm9sbG93ZWQgYnkgYSBtYWNybyBuYW1lIHdpdGggZWl0aGVyIG5vIHBhcmFtZXRlcnMKLSAgICAjIG9yIGEgc2luZ2xlIHBhcmFtZXRlciBhbmQgYSBub24tZW1wdHkgZXhwYW5zaW9uLgotICAgICMgR3JhYiB0aGUgbWFjcm8gbmFtZSBpbiBncm91cCAxLCB0aGUgcGFyYW1ldGVyIG5hbWUgaWYgYW55IGluIGdyb3VwIDIKLSAgICAjIGFuZCB0aGUgZXhwYW5zaW9uIGluIGdyb3VwIDMuCi0gICAgX2RlZmluZV9kaXJlY3RpdmVfcmUgPSByZS5jb21waWxlKHInXHMqI1xzKmRlZmluZVxzKyhcdyspJyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInKD86XHMrfFwoKFx3KylcKVxzKiknICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcicoLispJykKLSAgICBfZGVwcmVjYXRlZF9kZWZpbml0aW9uX3JlID0gcmUuY29tcGlsZShyJ1xzKk1CRURUTFNfREVQUkVDQVRFRCcpCi0KLSAgICBkZWYgcmVhZF9saW5lKHNlbGYsIGxpbmUpOgotICAgICAgICAiIiJQYXJzZSBhIEMgaGVhZGVyIGxpbmUgYW5kIHJlY29yZCB0aGUgUFNBIGlkZW50aWZpZXIgaXQgZGVmaW5lcyBpZiBhbnkuCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gYW5hbHl6ZXMgbGluZXMgdGhhdCBzdGFydCB3aXRoICIjZGVmaW5lIFBTQV8iCi0gICAgICAgICh1cCB0byBub24tc2lnbmlmaWNhbnQgd2hpdGVzcGFjZSkgYW5kIHNraXBzIGFsbCBub24tbWF0Y2hpbmcgbGluZXMuCi0gICAgICAgICIiIgotICAgICAgICAjIHB5bGludDogZGlzYWJsZT10b28tbWFueS1icmFuY2hlcwotICAgICAgICBtID0gcmUubWF0Y2goc2VsZi5fZGVmaW5lX2RpcmVjdGl2ZV9yZSwgbGluZSkKLSAgICAgICAgaWYgbm90IG06Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgbmFtZSwgcGFyYW1ldGVyLCBleHBhbnNpb24gPSBtLmdyb3VwcygpCi0gICAgICAgIGV4cGFuc2lvbiA9IHJlLnN1YihyJy9cKi4qP1wqL3wvLy4qJywgcicgJywgZXhwYW5zaW9uKQotICAgICAgICBpZiBwYXJhbWV0ZXI6Ci0gICAgICAgICAgICBzZWxmLmFyZ3NwZWNzW25hbWVdID0gW3BhcmFtZXRlcl0KLSAgICAgICAgaWYgcmUubWF0Y2goc2VsZi5fZGVwcmVjYXRlZF9kZWZpbml0aW9uX3JlLCBleHBhbnNpb24pOgotICAgICAgICAgICAgIyBTa2lwIGRlcHJlY2F0ZWQgdmFsdWVzLCB3aGljaCBhcmUgYXNzdW1lZCB0byBiZQotICAgICAgICAgICAgIyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFsaWFzZXMgdGhhdCBzaGFyZQotICAgICAgICAgICAgIyBudW1lcmljYWwgdmFsdWVzIHdpdGggbm9uLWRlcHJlY2F0ZWQgdmFsdWVzLgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGlmIHNlbGYuaXNfaW50ZXJuYWxfbmFtZShuYW1lKToKLSAgICAgICAgICAgICMgTWFjcm8gb25seSB0byBidWlsZCBhY3R1YWwgdmFsdWVzCi0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgZWxpZiAobmFtZS5zdGFydHN3aXRoKCdQU0FfRVJST1JfJykgb3IgbmFtZSA9PSAnUFNBX1NVQ0NFU1MnKSBcCi0gICAgICAgICAgIGFuZCBub3QgcGFyYW1ldGVyOgotICAgICAgICAgICAgc2VsZi5zdGF0dXNlcy5hZGQobmFtZSkKLSAgICAgICAgZWxpZiBuYW1lLnN0YXJ0c3dpdGgoJ1BTQV9LRVlfVFlQRV8nKSBhbmQgbm90IHBhcmFtZXRlcjoKLSAgICAgICAgICAgIHNlbGYua2V5X3R5cGVzLmFkZChuYW1lKQotICAgICAgICBlbGlmIG5hbWUuc3RhcnRzd2l0aCgnUFNBX0tFWV9UWVBFXycpIGFuZCBwYXJhbWV0ZXIgPT0gJ2N1cnZlJzoKLSAgICAgICAgICAgIHNlbGYua2V5X3R5cGVzX2Zyb21fY3VydmVbbmFtZV0gPSBuYW1lWzoxM10gKyAnSVNfJyArIG5hbWVbMTM6XQotICAgICAgICBlbGlmIG5hbWUuc3RhcnRzd2l0aCgnUFNBX0tFWV9UWVBFXycpIGFuZCBwYXJhbWV0ZXIgPT0gJ2dyb3VwJzoKLSAgICAgICAgICAgIHNlbGYua2V5X3R5cGVzX2Zyb21fZ3JvdXBbbmFtZV0gPSBuYW1lWzoxM10gKyAnSVNfJyArIG5hbWVbMTM6XQotICAgICAgICBlbGlmIG5hbWUuc3RhcnRzd2l0aCgnUFNBX0VDQ19GQU1JTFlfJykgYW5kIG5vdCBwYXJhbWV0ZXI6Ci0gICAgICAgICAgICBzZWxmLmVjY19jdXJ2ZXMuYWRkKG5hbWUpCi0gICAgICAgIGVsaWYgbmFtZS5zdGFydHN3aXRoKCdQU0FfREhfRkFNSUxZXycpIGFuZCBub3QgcGFyYW1ldGVyOgotICAgICAgICAgICAgc2VsZi5kaF9ncm91cHMuYWRkKG5hbWUpCi0gICAgICAgIGVsaWYgbmFtZS5zdGFydHN3aXRoKCdQU0FfQUxHXycpIGFuZCBub3QgcGFyYW1ldGVyOgotICAgICAgICAgICAgaWYgbmFtZSBpbiBbJ1BTQV9BTEdfRUNEU0FfQkFTRScsCi0gICAgICAgICAgICAgICAgICAgICAgICAnUFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9CQVNFJ106Ci0gICAgICAgICAgICAgICAgIyBBZCBob2Mgc2tpcHBpbmcgb2YgZHVwbGljYXRlIG5hbWVzIGZvciBzb21lIG51bWVyaWNhbCB2YWx1ZXMKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIHNlbGYuYWxnb3JpdGhtcy5hZGQobmFtZSkKLSAgICAgICAgICAgIHNlbGYucmVjb3JkX2FsZ29yaXRobV9zdWJ0eXBlKG5hbWUsIGV4cGFuc2lvbikKLSAgICAgICAgZWxpZiBuYW1lLnN0YXJ0c3dpdGgoJ1BTQV9BTEdfJykgYW5kIHBhcmFtZXRlciA9PSAnaGFzaF9hbGcnOgotICAgICAgICAgICAgc2VsZi5hbGdvcml0aG1zX2Zyb21faGFzaFtuYW1lXSA9IHNlbGYuYWxnb3JpdGhtX3Rlc3RlcihuYW1lKQotICAgICAgICBlbGlmIG5hbWUuc3RhcnRzd2l0aCgnUFNBX0tFWV9VU0FHRV8nKSBhbmQgbm90IHBhcmFtZXRlcjoKLSAgICAgICAgICAgIHNlbGYua2V5X3VzYWdlX2ZsYWdzLmFkZChuYW1lKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBPdGhlciBtYWNybyB3aXRob3V0IHBhcmFtZXRlcgotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICBfbm9uYXNjaWlfcmUgPSByZS5jb21waWxlKHJiJ1teXHgwMC1ceDdmXSsnKQotICAgIF9jb250aW51ZWRfbGluZV9yZSA9IHJlLmNvbXBpbGUocmInXFxccj9cblxaJykKLSAgICBkZWYgcmVhZF9maWxlKHNlbGYsIGhlYWRlcl9maWxlKToKLSAgICAgICAgZm9yIGxpbmUgaW4gaGVhZGVyX2ZpbGU6Ci0gICAgICAgICAgICBtID0gcmUuc2VhcmNoKHNlbGYuX2NvbnRpbnVlZF9saW5lX3JlLCBsaW5lKQotICAgICAgICAgICAgd2hpbGUgbToKLSAgICAgICAgICAgICAgICBjb250ID0gbmV4dChoZWFkZXJfZmlsZSkKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZVs6bS5zdGFydCgwKV0gKyBjb250Ci0gICAgICAgICAgICAgICAgbSA9IHJlLnNlYXJjaChzZWxmLl9jb250aW51ZWRfbGluZV9yZSwgbGluZSkKLSAgICAgICAgICAgIGxpbmUgPSByZS5zdWIoc2VsZi5fbm9uYXNjaWlfcmUsIHJiJycsIGxpbmUpLmRlY29kZSgnYXNjaWknKQotICAgICAgICAgICAgc2VsZi5yZWFkX2xpbmUobGluZSkKLQotCi1jbGFzcyBJbnB1dHNGb3JUZXN0KFBTQU1hY3JvRW51bWVyYXRvcik6Ci0gICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktaW5zdGFuY2UtYXR0cmlidXRlcwotICAgICIiIkFjY3VtdWxhdGUgaW5mb3JtYXRpb24gYWJvdXQgbWFjcm9zIHRvIHRlc3QuCi1lbnVtZXJhdGUKLSAgICBUaGlzIGluY2x1ZGVzIG1hY3JvIG5hbWVzIGFzIHdlbGwgYXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlaXIgYXJndW1lbnRzCi0gICAgd2hlbiBhcHBsaWNhYmxlLgotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6Ci0gICAgICAgIHN1cGVyKCkuX19pbml0X18oKQotICAgICAgICBzZWxmLmFsbF9kZWNsYXJlZCA9IHNldCgpICN0eXBlOiBTZXRbc3RyXQotICAgICAgICAjIElkZW50aWZpZXIgcHJlZml4ZXMKLSAgICAgICAgc2VsZi50YWJsZV9ieV9wcmVmaXggPSB7Ci0gICAgICAgICAgICAnRVJST1InOiBzZWxmLnN0YXR1c2VzLAotICAgICAgICAgICAgJ0FMRyc6IHNlbGYuYWxnb3JpdGhtcywKLSAgICAgICAgICAgICdFQ0NfQ1VSVkUnOiBzZWxmLmVjY19jdXJ2ZXMsCi0gICAgICAgICAgICAnREhfR1JPVVAnOiBzZWxmLmRoX2dyb3VwcywKLSAgICAgICAgICAgICdLRVlfTElGRVRJTUUnOiBzZWxmLmxpZmV0aW1lcywKLSAgICAgICAgICAgICdLRVlfTE9DQVRJT04nOiBzZWxmLmxvY2F0aW9ucywKLSAgICAgICAgICAgICdLRVlfUEVSU0lTVEVOQ0UnOiBzZWxmLnBlcnNpc3RlbmNlX2xldmVscywKLSAgICAgICAgICAgICdLRVlfVFlQRSc6IHNlbGYua2V5X3R5cGVzLAotICAgICAgICAgICAgJ0tFWV9VU0FHRSc6IHNlbGYua2V5X3VzYWdlX2ZsYWdzLAotICAgICAgICB9ICN0eXBlOiBEaWN0W3N0ciwgU2V0W3N0cl1dCi0gICAgICAgICMgVGVzdCBmdW5jdGlvbnMKLSAgICAgICAgc2VsZi50YWJsZV9ieV90ZXN0X2Z1bmN0aW9uID0gewotICAgICAgICAgICAgIyBBbnkgZnVuY3Rpb24gZW5kaW5nIGluIF9hbGdvcml0aG0gYWxzbyBnZXRzIGFkZGVkIHRvCi0gICAgICAgICAgICAjIHNlbGYuYWxnb3JpdGhtcy4KLSAgICAgICAgICAgICdrZXlfdHlwZSc6IFtzZWxmLmtleV90eXBlc10sCi0gICAgICAgICAgICAnYmxvY2tfY2lwaGVyX2tleV90eXBlJzogW3NlbGYua2V5X3R5cGVzXSwKLSAgICAgICAgICAgICdzdHJlYW1fY2lwaGVyX2tleV90eXBlJzogW3NlbGYua2V5X3R5cGVzXSwKLSAgICAgICAgICAgICdlY2Nfa2V5X2ZhbWlseSc6IFtzZWxmLmVjY19jdXJ2ZXNdLAotICAgICAgICAgICAgJ2VjY19rZXlfdHlwZXMnOiBbc2VsZi5lY2NfY3VydmVzXSwKLSAgICAgICAgICAgICdkaF9rZXlfZmFtaWx5JzogW3NlbGYuZGhfZ3JvdXBzXSwKLSAgICAgICAgICAgICdkaF9rZXlfdHlwZXMnOiBbc2VsZi5kaF9ncm91cHNdLAotICAgICAgICAgICAgJ2hhc2hfYWxnb3JpdGhtJzogW3NlbGYuaGFzaF9hbGdvcml0aG1zXSwKLSAgICAgICAgICAgICdtYWNfYWxnb3JpdGhtJzogW3NlbGYubWFjX2FsZ29yaXRobXNdLAotICAgICAgICAgICAgJ2NpcGhlcl9hbGdvcml0aG0nOiBbXSwKLSAgICAgICAgICAgICdobWFjX2FsZ29yaXRobSc6IFtzZWxmLm1hY19hbGdvcml0aG1zLCBzZWxmLnNpZ25fYWxnb3JpdGhtc10sCi0gICAgICAgICAgICAnYWVhZF9hbGdvcml0aG0nOiBbc2VsZi5hZWFkX2FsZ29yaXRobXNdLAotICAgICAgICAgICAgJ2tleV9kZXJpdmF0aW9uX2FsZ29yaXRobSc6IFtzZWxmLmtkZl9hbGdvcml0aG1zXSwKLSAgICAgICAgICAgICdrZXlfYWdyZWVtZW50X2FsZ29yaXRobSc6IFtzZWxmLmthX2FsZ29yaXRobXNdLAotICAgICAgICAgICAgJ2FzeW1tZXRyaWNfc2lnbmF0dXJlX2FsZ29yaXRobSc6IFtzZWxmLnNpZ25fYWxnb3JpdGhtc10sCi0gICAgICAgICAgICAnYXN5bW1ldHJpY19zaWduYXR1cmVfd2lsZGNhcmQnOiBbc2VsZi5hbGdvcml0aG1zXSwKLSAgICAgICAgICAgICdhc3ltbWV0cmljX2VuY3J5cHRpb25fYWxnb3JpdGhtJzogW10sCi0gICAgICAgICAgICAncGFrZV9hbGdvcml0aG0nOiBbc2VsZi5wYWtlX2FsZ29yaXRobXNdLAotICAgICAgICAgICAgJ290aGVyX2FsZ29yaXRobSc6IFtdLAotICAgICAgICAgICAgJ2xpZmV0aW1lJzogW3NlbGYubGlmZXRpbWVzXSwKLSAgICAgICAgfSAjdHlwZTogRGljdFtzdHIsIExpc3RbU2V0W3N0cl1dXQotICAgICAgICBtYWNfbGVuZ3RocyA9IFtzdHIobikgZm9yIG4gaW4gWwotICAgICAgICAgICAgMSwgICMgbWluaW11bSBleHByZXNzaWJsZQotICAgICAgICAgICAgNCwgICMgbWluaW11bSBhbGxvd2VkIGJ5IHBvbGljeQotICAgICAgICAgICAgMTMsICMgYW4gb2RkIHNpemUgaW4gYSBwbGF1c2libGUgcmFuZ2UKLSAgICAgICAgICAgIDE0LCAjIGFuIGV2ZW4gbm9uLXBvd2VyLW9mLXR3byBzaXplIGluIGEgcGxhdXNpYmxlIHJhbmdlCi0gICAgICAgICAgICAxNiwgIyBzYW1lIGFzIGZ1bGwgc2l6ZSBmb3IgYXQgbGVhc3Qgb25lIGFsZ29yaXRobQotICAgICAgICAgICAgNjMsICMgbWF4aW11bSBleHByZXNzaWJsZQotICAgICAgICBdXQotICAgICAgICBzZWxmLmFyZ3VtZW50c19mb3JbJ21hY19sZW5ndGgnXSArPSBtYWNfbGVuZ3RocwotICAgICAgICBzZWxmLmFyZ3VtZW50c19mb3JbJ21pbl9tYWNfbGVuZ3RoJ10gKz0gbWFjX2xlbmd0aHMKLSAgICAgICAgYWVhZF9sZW5ndGhzID0gW3N0cihuKSBmb3IgbiBpbiBbCi0gICAgICAgICAgICAxLCAgIyBtaW5pbXVtIGV4cHJlc3NpYmxlCi0gICAgICAgICAgICA0LCAgIyBtaW5pbXVtIGFsbG93ZWQgYnkgcG9saWN5Ci0gICAgICAgICAgICAxMywgIyBhbiBvZGQgc2l6ZSBpbiBhIHBsYXVzaWJsZSByYW5nZQotICAgICAgICAgICAgMTQsICMgYW4gZXZlbiBub24tcG93ZXItb2YtdHdvIHNpemUgaW4gYSBwbGF1c2libGUgcmFuZ2UKLSAgICAgICAgICAgIDE2LCAjIHNhbWUgYXMgZnVsbCBzaXplIGZvciBhdCBsZWFzdCBvbmUgYWxnb3JpdGhtCi0gICAgICAgICAgICA2MywgIyBtYXhpbXVtIGV4cHJlc3NpYmxlCi0gICAgICAgIF1dCi0gICAgICAgIHNlbGYuYXJndW1lbnRzX2ZvclsndGFnX2xlbmd0aCddICs9IGFlYWRfbGVuZ3RocwotICAgICAgICBzZWxmLmFyZ3VtZW50c19mb3JbJ21pbl90YWdfbGVuZ3RoJ10gKz0gYWVhZF9sZW5ndGhzCi0KLSAgICBkZWYgYWRkX251bWVyaWNhbF92YWx1ZXMoc2VsZikgLT4gTm9uZToKLSAgICAgICAgIiIiQWRkIG51bWVyaWNhbCB2YWx1ZXMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCB0byB0aGUga25vd24gaWRlbnRpZmllcnMuIiIiCi0gICAgICAgICMgU2V0cyBvZiBuYW1lcyBwZXIgdHlwZQotICAgICAgICBzZWxmLmFsZ29yaXRobXMuYWRkKCcweGZmZmZmZmZmJykKLSAgICAgICAgc2VsZi5lY2NfY3VydmVzLmFkZCgnMHhmZicpCi0gICAgICAgIHNlbGYuZGhfZ3JvdXBzLmFkZCgnMHhmZicpCi0gICAgICAgIHNlbGYua2V5X3R5cGVzLmFkZCgnMHhmZmZmJykKLSAgICAgICAgc2VsZi5rZXlfdXNhZ2VfZmxhZ3MuYWRkKCcweDgwMDAwMDAwJykKLQotICAgICAgICAjIEhhcmQtY29kZWQgdmFsdWVzIGZvciB1bmtub3duIGFsZ29yaXRobXMKLSAgICAgICAgIwotICAgICAgICAjIFRoZXNlIGhhdmUgdG8gaGF2ZSB2YWx1ZXMgdGhhdCBhcmUgY29ycmVjdCBmb3IgdGhlaXIgcmVzcGVjdGl2ZQotICAgICAgICAjIFBTQV9BTEdfSVNfeHh4IG1hY3JvcywgYnV0IGFyZSBhbHNvIG5vdCBjdXJyZW50bHkgYXNzaWduZWQgYW5kIGFyZQotICAgICAgICAjIG5vdCBsaWtlbHkgdG8gYmUgYXNzaWduZWQgaW4gdGhlIG5lYXIgZnV0dXJlLgotICAgICAgICBzZWxmLmhhc2hfYWxnb3JpdGhtcy5hZGQoJzB4MDIwMDAwZmUnKSAjIDB4MDIwMDAwZmYgaXMgUFNBX0FMR19BTllfSEFTSAotICAgICAgICBzZWxmLm1hY19hbGdvcml0aG1zLmFkZCgnMHgwMzAwN2ZmZicpCi0gICAgICAgIHNlbGYua2FfYWxnb3JpdGhtcy5hZGQoJzB4MDlmYzAwMDAnKQotICAgICAgICBzZWxmLmtkZl9hbGdvcml0aG1zLmFkZCgnMHgwODAwMDBmZicpCi0gICAgICAgIHNlbGYucGFrZV9hbGdvcml0aG1zLmFkZCgnMHgwYTAwMDBmZicpCi0gICAgICAgICMgRm9yIEFFQUQgYWxnb3JpdGhtcywgdGhlIG9ubHkgdmFyaWFiaWxpdHkgaXMgb3ZlciB0aGUgdGFnIGxlbmd0aCwKLSAgICAgICAgIyBhbmQgdGhpcyBvbmx5IGFwcGxpZXMgdG8ga25vd24gYWxnb3JpdGhtcywgc28gZG9uJ3QgdGVzdCBhbgotICAgICAgICAjIHVua25vd24gYWxnb3JpdGhtLgotCi0gICAgZGVmIGdldF9uYW1lcyhzZWxmLCB0eXBlX3dvcmQ6IHN0cikgLT4gU2V0W3N0cl06Ci0gICAgICAgICIiIlJldHVybiB0aGUgc2V0IG9mIGtub3duIG5hbWVzIG9mIHZhbHVlcyBvZiB0aGUgZ2l2ZW4gdHlwZS4iIiIKLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICAgICdzdGF0dXMnOiBzZWxmLnN0YXR1c2VzLAotICAgICAgICAgICAgJ2FsZ29yaXRobSc6IHNlbGYuYWxnb3JpdGhtcywKLSAgICAgICAgICAgICdlY2NfY3VydmUnOiBzZWxmLmVjY19jdXJ2ZXMsCi0gICAgICAgICAgICAnZGhfZ3JvdXAnOiBzZWxmLmRoX2dyb3VwcywKLSAgICAgICAgICAgICdrZXlfdHlwZSc6IHNlbGYua2V5X3R5cGVzLAotICAgICAgICAgICAgJ2tleV91c2FnZSc6IHNlbGYua2V5X3VzYWdlX2ZsYWdzLAotICAgICAgICB9W3R5cGVfd29yZF0KLQotICAgICMgUmVnZXggZm9yIGludGVyZXN0aW5nIGhlYWRlciBsaW5lcy4KLSAgICAjIEdyb3VwczogMT1tYWNybyBuYW1lLCAyPXR5cGUsIDM9YXJndW1lbnQgbGlzdCAob3B0aW9uYWwpLgotICAgIF9oZWFkZXJfbGluZV9yZSA9IFwKLSAgICAgICAgcmUuY29tcGlsZShyJyNkZWZpbmUgKycgKwotICAgICAgICAgICAgICAgICAgIHInKFBTQV8oKD86KD86REh8RUNDfEtFWSlfKT9bQS1aXSspX1x3KyknICsKLSAgICAgICAgICAgICAgICAgICByJyg/OlwoKFteXG4oKV0qKVwpKT8nKQotICAgICMgUmVnZXggb2YgbWFjcm8gbmFtZXMgdG8gZXhjbHVkZS4KLSAgICBfZXhjbHVkZWRfbmFtZV9yZSA9IHJlLmNvbXBpbGUocidfKD86R0VUfElTfE9GKV98Xyg/OkJBU0V8RkxBR3xNQVNLKVxaJykKLSAgICAjIEFkZGl0aW9uYWwgZXhjbHVkZWQgbWFjcm9zLgotICAgIF9leGNsdWRlZF9uYW1lcyA9IHNldChbCi0gICAgICAgICMgTWFjcm9zIHRoYXQgcHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSB3YXkgdG8gYnVpbGQgdGhlIHNhbWUKLSAgICAgICAgIyBhbGdvcml0aG0gYXMgYW5vdGhlciBtYWNyby4KLSAgICAgICAgJ1BTQV9BTEdfQUVBRF9XSVRIX0RFRkFVTFRfTEVOR1RIX1RBRycsCi0gICAgICAgICdQU0FfQUxHX0ZVTExfTEVOR1RIX01BQycsCi0gICAgICAgICMgQXV4aWxpYXJ5IG1hY3JvIHdob3NlIG5hbWUgZG9lc24ndCBmaXQgdGhlIHVzdWFsIHBhdHRlcm5zIGZvcgotICAgICAgICAjIGF1eGlsaWFyeSBtYWNyb3MuCi0gICAgICAgICdQU0FfQUxHX0FFQURfV0lUSF9ERUZBVUxUX0xFTkdUSF9UQUdfQ0FTRScsCi0gICAgXSkKLSAgICBkZWYgcGFyc2VfaGVhZGVyX2xpbmUoc2VsZiwgbGluZTogc3RyKSAtPiBOb25lOgotICAgICAgICAiIiJQYXJzZSBhIEMgaGVhZGVyIGxpbmUsIGxvb2tpbmcgZm9yICIjZGVmaW5lIFBTQV94eHgiLiIiIgotICAgICAgICBtID0gcmUubWF0Y2goc2VsZi5faGVhZGVyX2xpbmVfcmUsIGxpbmUpCi0gICAgICAgIGlmIG5vdCBtOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIG5hbWUgPSBtLmdyb3VwKDEpCi0gICAgICAgIHNlbGYuYWxsX2RlY2xhcmVkLmFkZChuYW1lKQotICAgICAgICBpZiByZS5zZWFyY2goc2VsZi5fZXhjbHVkZWRfbmFtZV9yZSwgbmFtZSkgb3IgXAotICAgICAgICAgICBuYW1lIGluIHNlbGYuX2V4Y2x1ZGVkX25hbWVzIG9yIFwKLSAgICAgICAgICAgc2VsZi5pc19pbnRlcm5hbF9uYW1lKG5hbWUpOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGRlc3QgPSBzZWxmLnRhYmxlX2J5X3ByZWZpeC5nZXQobS5ncm91cCgyKSkKLSAgICAgICAgaWYgZGVzdCBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGRlc3QuYWRkKG5hbWUpCi0gICAgICAgIGlmIG0uZ3JvdXAoMyk6Ci0gICAgICAgICAgICBzZWxmLmFyZ3NwZWNzW25hbWVdID0gc2VsZi5fYXJndW1lbnRfc3BsaXQobS5ncm91cCgzKSkKLQotICAgIF9ub25hc2NpaV9yZSA9IHJlLmNvbXBpbGUocmInW15ceDAwLVx4N2ZdKycpICN0eXBlOiBQYXR0ZXJuCi0gICAgZGVmIHBhcnNlX2hlYWRlcihzZWxmLCBmaWxlbmFtZTogc3RyKSAtPiBOb25lOgotICAgICAgICAiIiJQYXJzZSBhIEMgaGVhZGVyIGZpbGUsIGxvb2tpbmcgZm9yICIjZGVmaW5lIFBTQV94eHgiLiIiIgotICAgICAgICB3aXRoIHJlYWRfZmlsZV9saW5lcyhmaWxlbmFtZSwgYmluYXJ5PVRydWUpIGFzIGxpbmVzOgotICAgICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICAgICAgICAgbGluZSA9IHJlLnN1YihzZWxmLl9ub25hc2NpaV9yZSwgcmInJywgbGluZSkuZGVjb2RlKCdhc2NpaScpCi0gICAgICAgICAgICAgICAgc2VsZi5wYXJzZV9oZWFkZXJfbGluZShsaW5lKQotCi0gICAgX21hY3JvX2lkZW50aWZpZXJfcmUgPSByZS5jb21waWxlKHInW0EtWl1cdysnKQotICAgIGRlZiBnZW5lcmF0ZV91bmRlY2xhcmVkX25hbWVzKHNlbGYsIGV4cHI6IHN0cikgLT4gSXRlcmFibGVbc3RyXToKLSAgICAgICAgZm9yIG5hbWUgaW4gcmUuZmluZGFsbChzZWxmLl9tYWNyb19pZGVudGlmaWVyX3JlLCBleHByKToKLSAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIHNlbGYuYWxsX2RlY2xhcmVkOgotICAgICAgICAgICAgICAgIHlpZWxkIG5hbWUKLQotICAgIGRlZiBhY2NlcHRfdGVzdF9jYXNlX2xpbmUoc2VsZiwgZnVuY3Rpb246IHN0ciwgYXJndW1lbnQ6IHN0cikgLT4gYm9vbDoKLSAgICAgICAgI3B5bGludDogZGlzYWJsZT11bnVzZWQtYXJndW1lbnQKLSAgICAgICAgdW5kZWNsYXJlZCA9IGxpc3Qoc2VsZi5nZW5lcmF0ZV91bmRlY2xhcmVkX25hbWVzKGFyZ3VtZW50KSkKLSAgICAgICAgaWYgdW5kZWNsYXJlZDoKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignVW5kZWNsYXJlZCBuYW1lcyBpbiB0ZXN0IGNhc2UnLCB1bmRlY2xhcmVkKQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBub3JtYWxpemVfYXJndW1lbnQoYXJndW1lbnQ6IHN0cikgLT4gc3RyOgotICAgICAgICAiIiJOb3JtYWxpemUgd2hpdGVzcGFjZSBpbiB0aGUgZ2l2ZW4gQyBleHByZXNzaW9uLgotCi0gICAgICAgIFRoZSByZXN1bHQgdXNlcyB0aGUgc2FtZSB3aGl0ZXNwYWNlIGFzCi0gICAgICAgIGAgUFNBTWFjcm9FbnVtZXJhdG9yLmRpc3RyaWJ1dGVfYXJndW1lbnRzYC4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiByZS5zdWIocicsJywgcicsICcsIHJlLnN1YihyJyArJywgcicnLCBhcmd1bWVudCkpCi0KLSAgICBkZWYgYWRkX3Rlc3RfY2FzZV9saW5lKHNlbGYsIGZ1bmN0aW9uOiBzdHIsIGFyZ3VtZW50OiBzdHIpIC0+IE5vbmU6Ci0gICAgICAgICIiIlBhcnNlIGEgdGVzdCBjYXNlIGRhdGEgbGluZSwgbG9va2luZyBmb3IgYWxnb3JpdGhtIG1ldGFkYXRhIHRlc3RzLiIiIgotICAgICAgICBzZXRzID0gW10KLSAgICAgICAgaWYgZnVuY3Rpb24uZW5kc3dpdGgoJ19hbGdvcml0aG0nKToKLSAgICAgICAgICAgIHNldHMuYXBwZW5kKHNlbGYuYWxnb3JpdGhtcykKLSAgICAgICAgICAgIGlmIGZ1bmN0aW9uID09ICdrZXlfYWdyZWVtZW50X2FsZ29yaXRobScgYW5kIFwKLSAgICAgICAgICAgICAgIGFyZ3VtZW50LnN0YXJ0c3dpdGgoJ1BTQV9BTEdfS0VZX0FHUkVFTUVOVCgnKToKLSAgICAgICAgICAgICAgICAjIFdlIG9ubHkgd2FudCAqcmF3KiBrZXkgYWdyZWVtZW50IGFsZ29yaXRobXMgYXMgc3VjaCwgc28KLSAgICAgICAgICAgICAgICAjIGV4Y2x1ZGUgb25lcyB0aGF0IGFyZSBhbHJlYWR5IGNoYWluZWQgd2l0aCBhIEtERi4KLSAgICAgICAgICAgICAgICAjIEtlZXAgdGhlIGV4cHJlc3Npb24gYXMgb25lIHRvIHRlc3QgYXMgYW4gYWxnb3JpdGhtLgotICAgICAgICAgICAgICAgIGZ1bmN0aW9uID0gJ290aGVyX2FsZ29yaXRobScKLSAgICAgICAgc2V0cyArPSBzZWxmLnRhYmxlX2J5X3Rlc3RfZnVuY3Rpb25bZnVuY3Rpb25dCi0gICAgICAgIGlmIHNlbGYuYWNjZXB0X3Rlc3RfY2FzZV9saW5lKGZ1bmN0aW9uLCBhcmd1bWVudCk6Ci0gICAgICAgICAgICBmb3IgcyBpbiBzZXRzOgotICAgICAgICAgICAgICAgIHMuYWRkKHNlbGYubm9ybWFsaXplX2FyZ3VtZW50KGFyZ3VtZW50KSkKLQotICAgICMgUmVnZXggbWF0Y2hpbmcgYSAqLmRhdGEgbGluZSBjb250YWluaW5nIGEgdGVzdCBmdW5jdGlvbiBjYWxsIGFuZAotICAgICMgaXRzIGFyZ3VtZW50cy4gVGhlIGFjdHVhbCBkZWZpbml0aW9uIGlzIHBhcnRseSBwb3NpdGlvbmFsLCBidXQgdGhpcwotICAgICMgcmVnZXggaXMgZ29vZCBlbm91Z2ggaW4gcHJhY3RpY2UuCi0gICAgX3Rlc3RfY2FzZV9saW5lX3JlID0gcmUuY29tcGlsZShyJyg/IWRlcGVuZHNfb246KShcdyspOihbXlxuIDpdW146XG5dKiknKQotICAgIGRlZiBwYXJzZV90ZXN0X2Nhc2VzKHNlbGYsIGZpbGVuYW1lOiBzdHIpIC0+IE5vbmU6Ci0gICAgICAgICIiIlBhcnNlIGEgdGVzdCBjYXNlIGZpbGUgKCouZGF0YSksIGxvb2tpbmcgZm9yIGFsZ29yaXRobSBtZXRhZGF0YSB0ZXN0cy4iIiIKLSAgICAgICAgd2l0aCByZWFkX2ZpbGVfbGluZXMoZmlsZW5hbWUpIGFzIGxpbmVzOgotICAgICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHNlbGYuX3Rlc3RfY2FzZV9saW5lX3JlLCBsaW5lKQotICAgICAgICAgICAgICAgIGlmIG06Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuYWRkX3Rlc3RfY2FzZV9saW5lKG0uZ3JvdXAoMSksIG0uZ3JvdXAoMikpCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L3BzYV9pbmZvcm1hdGlvbi5weSBiL3NjcmlwdHMvbWJlZHRsc19kZXYvcHNhX2luZm9ybWF0aW9uLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDgwMzg2Li4wMDAwMDAwCi0tLSBhL3NjcmlwdHMvbWJlZHRsc19kZXYvcHNhX2luZm9ybWF0aW9uLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTYxICswLDAgQEAKLSIiIkNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgUFNBIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcy4KLSIiIgotCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLSMKLQotaW1wb3J0IHJlCi1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdAotZnJvbSB0eXBpbmcgaW1wb3J0IEZyb3plblNldCwgTGlzdCwgT3B0aW9uYWwKLQotZnJvbSAuIGltcG9ydCBtYWNyb19jb2xsZWN0b3IKLQotCi1jbGFzcyBJbmZvcm1hdGlvbjoKLSAgICAiIiJHYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgUFNBIGNvbnN0cnVjdG9ycy4iIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmKSAtPiBOb25lOgotICAgICAgICBzZWxmLmNvbnN0cnVjdG9ycyA9IHNlbGYucmVhZF9wc2FfaW50ZXJmYWNlKCkKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgcmVtb3ZlX3Vud2FudGVkX21hY3JvcygKLSAgICAgICAgICAgIGNvbnN0cnVjdG9yczogbWFjcm9fY29sbGVjdG9yLlBTQU1hY3JvRW51bWVyYXRvcgotICAgICkgLT4gTm9uZToKLSAgICAgICAgIyBNYmVkIFRMUyBkb2VzIG5vdCBzdXBwb3J0IGZpbml0ZS1maWVsZCBEU0EuCi0gICAgICAgICMgRG9uJ3QgYXR0ZW1wdCB0byBnZW5lcmF0ZSBhbnkgcmVsYXRlZCB0ZXN0IGNhc2UuCi0gICAgICAgIGNvbnN0cnVjdG9ycy5rZXlfdHlwZXMuZGlzY2FyZCgnUFNBX0tFWV9UWVBFX0RTQV9LRVlfUEFJUicpCi0gICAgICAgIGNvbnN0cnVjdG9ycy5rZXlfdHlwZXMuZGlzY2FyZCgnUFNBX0tFWV9UWVBFX0RTQV9QVUJMSUNfS0VZJykKLQotICAgIGRlZiByZWFkX3BzYV9pbnRlcmZhY2Uoc2VsZikgLT4gbWFjcm9fY29sbGVjdG9yLlBTQU1hY3JvRW51bWVyYXRvcjoKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBsaXN0IG9mIGtub3duIGtleSB0eXBlcywgYWxnb3JpdGhtcywgZXRjLiIiIgotICAgICAgICBjb25zdHJ1Y3RvcnMgPSBtYWNyb19jb2xsZWN0b3IuSW5wdXRzRm9yVGVzdCgpCi0gICAgICAgIGhlYWRlcl9maWxlX25hbWVzID0gWydpbmNsdWRlL3BzYS9jcnlwdG9fdmFsdWVzLmgnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZS9wc2EvY3J5cHRvX2V4dHJhLmgnXQotICAgICAgICB0ZXN0X3N1aXRlcyA9IFsndGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19tZXRhZGF0YS5kYXRhJ10KLSAgICAgICAgZm9yIGhlYWRlcl9maWxlX25hbWUgaW4gaGVhZGVyX2ZpbGVfbmFtZXM6Ci0gICAgICAgICAgICBjb25zdHJ1Y3RvcnMucGFyc2VfaGVhZGVyKGhlYWRlcl9maWxlX25hbWUpCi0gICAgICAgIGZvciB0ZXN0X2Nhc2VzIGluIHRlc3Rfc3VpdGVzOgotICAgICAgICAgICAgY29uc3RydWN0b3JzLnBhcnNlX3Rlc3RfY2FzZXModGVzdF9jYXNlcykKLSAgICAgICAgc2VsZi5yZW1vdmVfdW53YW50ZWRfbWFjcm9zKGNvbnN0cnVjdG9ycykKLSAgICAgICAgY29uc3RydWN0b3JzLmdhdGhlcl9hcmd1bWVudHMoKQotICAgICAgICByZXR1cm4gY29uc3RydWN0b3JzCi0KLQotZGVmIHBzYV93YW50X3N5bWJvbChuYW1lOiBzdHIpIC0+IHN0cjoKLSAgICAiIiJSZXR1cm4gdGhlIFBTQV9XQU5UX3h4eCBzeW1ib2wgYXNzb2NpYXRlZCB3aXRoIGEgUFNBIGNyeXB0byBmZWF0dXJlLiIiIgotICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgnUFNBXycpOgotICAgICAgICByZXR1cm4gbmFtZVs6NF0gKyAnV0FOVF8nICsgbmFtZVs0Ol0KLSAgICBlbHNlOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdVbmFibGUgdG8gZGV0ZXJtaW5lIHRoZSBQU0FfV0FOVF8gc3ltYm9sIGZvciAnICsgbmFtZSkKLQotZGVmIGZpbmlzaF9mYW1pbHlfZGVwZW5kZW5jeShkZXA6IHN0ciwgYml0czogaW50KSAtPiBzdHI6Ci0gICAgIiIiRmluaXNoIGRlcCBpZiBpdCdzIGEgZmFtaWx5IGRlcGVuZGVuY3kgc3ltYm9sIHByZWZpeC4KLQotICAgIEEgZmFtaWx5IGRlcGVuZGVuY3kgc3ltYm9sIHByZWZpeCBpcyBhIFBTQV9XQU5UXyBzeW1ib2wgdGhhdCBuZWVkcyB0byBiZQotICAgIHF1YWxpZmllZCBieSB0aGUga2V5IHNpemUuIElmIGRlcCBpcyBzdWNoIGEgc3ltYm9sLCBmaW5pc2ggaXQgYnkgYWRqdXN0aW5nCi0gICAgdGhlIHByZWZpeCBhbmQgYXBwZW5kaW5nIHRoZSBrZXkgc2l6ZS4gT3RoZXIgc3ltYm9scyBhcmUgbGVmdCB1bmNoYW5nZWQuCi0gICAgIiIiCi0gICAgcmV0dXJuIHJlLnN1YihyJ19GQU1JTFlfKC4qKScsIHInX1wxXycgKyBzdHIoYml0cyksIGRlcCkKLQotZGVmIGZpbmlzaF9mYW1pbHlfZGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llczogTGlzdFtzdHJdLCBiaXRzOiBpbnQpIC0+IExpc3Rbc3RyXToKLSAgICAiIiJGaW5pc2ggYW55IGZhbWlseSBkZXBlbmRlbmN5IHN5bWJvbCBwcmVmaXhlcy4KLQotICAgIEFwcGx5IGBmaW5pc2hfZmFtaWx5X2RlcGVuZGVuY3lgIHRvIGVhY2ggZWxlbWVudCBvZiBgZGVwZW5kZW5jaWVzYC4KLSAgICAiIiIKLSAgICByZXR1cm4gW2ZpbmlzaF9mYW1pbHlfZGVwZW5kZW5jeShkZXAsIGJpdHMpIGZvciBkZXAgaW4gZGVwZW5kZW5jaWVzXQotCi1TWU1CT0xTX1dJVEhPVVRfREVQRU5ERU5DWSA9IGZyb3plbnNldChbCi0gICAgJ1BTQV9BTEdfQUVBRF9XSVRIX0FUX0xFQVNUX1RISVNfTEVOR1RIX1RBRycsICMgbW9kaWZpZXIsIG9ubHkgaW4gcG9saWNpZXMKLSAgICAnUFNBX0FMR19BRUFEX1dJVEhfU0hPUlRFTkVEX1RBRycsICMgbW9kaWZpZXIKLSAgICAnUFNBX0FMR19BTllfSEFTSCcsICMgb25seSBpbiBwb2xpY2llcwotICAgICdQU0FfQUxHX0FUX0xFQVNUX1RISVNfTEVOR1RIX01BQycsICMgbW9kaWZpZXIsIG9ubHkgaW4gcG9saWNpZXMKLSAgICAnUFNBX0FMR19LRVlfQUdSRUVNRU5UJywgIyBjaGFpbmluZwotICAgICdQU0FfQUxHX1RSVU5DQVRFRF9NQUMnLCAjIG1vZGlmaWVyCi1dKQotZGVmIGF1dG9tYXRpY19kZXBlbmRlbmNpZXMoKmV4cHJlc3Npb25zOiBzdHIpIC0+IExpc3Rbc3RyXToKLSAgICAiIiJJbmZlciBkZXBlbmRlbmNpZXMgb2YgYSB0ZXN0IGNhc2UgYnkgbG9va2luZyBmb3IgUFNBX3h4eCBzeW1ib2xzLgotCi0gICAgVGhlIGFyZ3VtZW50cyBhcmUgc3RyaW5ncyB3aGljaCBzaG91bGQgYmUgQyBleHByZXNzaW9ucy4gRG8gbm90IHVzZQotICAgIHN0cmluZyBsaXRlcmFscyBvciBjb21tZW50cyBhcyB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBzbWFydCBlbm91Z2ggdG8KLSAgICBza2lwIHRoZW0uCi0gICAgIiIiCi0gICAgdXNlZCA9IHNldCgpCi0gICAgZm9yIGV4cHIgaW4gZXhwcmVzc2lvbnM6Ci0gICAgICAgIHVzZWQudXBkYXRlKHJlLmZpbmRhbGwocidQU0FfKD86QUxHfEVDQ19GQU1JTFl8REhfRkFNSUxZfEtFWV9UWVBFKV9cdysnLCBleHByKSkKLSAgICB1c2VkLmRpZmZlcmVuY2VfdXBkYXRlKFNZTUJPTFNfV0lUSE9VVF9ERVBFTkRFTkNZKQotICAgIHJldHVybiBzb3J0ZWQocHNhX3dhbnRfc3ltYm9sKG5hbWUpIGZvciBuYW1lIGluIHVzZWQpCi0KLSMgRGVmaW5lIHNldCBvZiByZWd1bGFyIGV4cHJlc3Npb25zIGFuZCBkZXBlbmRlbmNpZXMgdG8gb3B0aW9uYWxseSBhcHBlbmQKLSMgZXh0cmEgZGVwZW5kZW5jaWVzIGZvciB0ZXN0IGNhc2UgYmFzZWQgb24ga2V5IGRlc2NyaXB0aW9uLgotCi0jIFNraXAgQUVTIHRlc3QgY2FzZXMgd2hpY2ggcmVxdWlyZSAxOTItIG9yIDI1Ni1iaXQga2V5Ci0jIGlmIE1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIGRlZmluZWQKLUFFU18xMjhCSVRfT05MWV9ERVBfUkVHRVggPSByZS5jb21waWxlKHInQUVTXHMoMTkyfDI1NiknKQotQUVTXzEyOEJJVF9PTkxZX0RFUCA9IFsnIU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIJ10KLSMgU2tpcCBBRVMvQVJJQS9DQU1FTExJQSB0ZXN0IGNhc2VzIHdoaWNoIHJlcXVpcmUgZGVjcnlwdCBvcGVyYXRpb24gaW4gRUNCIG1vZGUKLSMgaWYgTUJFRFRMU19CTE9DS19DSVBIRVJfTk9fREVDUllQVCBlbmFibGVkLgotRUNCX05PX1BBRERJTkdfREVQX1JFR0VYID0gcmUuY29tcGlsZShyJyhBRVN8QVJJQXxDQU1FTExJQSkuKkVDQl9OT19QQURESU5HJykKLUVDQl9OT19QQURESU5HX0RFUCA9IFsnIU1CRURUTFNfQkxPQ0tfQ0lQSEVSX05PX0RFQ1JZUFQnXQotCi1ERVBFTkRFTkNZX0ZST01fREVTQ1JJUFRJT04gPSBPcmRlcmVkRGljdCgpCi1ERVBFTkRFTkNZX0ZST01fREVTQ1JJUFRJT05bQUVTXzEyOEJJVF9PTkxZX0RFUF9SRUdFWF0gPSBBRVNfMTI4QklUX09OTFlfREVQCi1ERVBFTkRFTkNZX0ZST01fREVTQ1JJUFRJT05bRUNCX05PX1BBRERJTkdfREVQX1JFR0VYXSA9IEVDQl9OT19QQURESU5HX0RFUAotZGVmIGdlbmVyYXRlX2RlcHNfZnJvbV9kZXNjcmlwdGlvbigKLSAgICAgICAgZGVzY3JpcHRpb246IHN0cgotICAgICkgLT4gTGlzdFtzdHJdOgotICAgICIiIlJldHVybiBhZGRpdGlvbmFsIGRlcGVuZGVuY2llcyBiYXNlZCBvbiB0ZXN0IGNhc2UgZGVzY3JpcHRpb24gYW5kIFJFR0VYLgotICAgICIiIgotICAgIGRlcF9saXN0ID0gW10KLSAgICBmb3IgcmVnZXgsIGRlcHMgaW4gREVQRU5ERU5DWV9GUk9NX0RFU0NSSVBUSU9OLml0ZW1zKCk6Ci0gICAgICAgIGlmIHJlLnNlYXJjaChyZWdleCwgZGVzY3JpcHRpb24pOgotICAgICAgICAgICAgZGVwX2xpc3QgKz0gZGVwcwotCi0gICAgcmV0dXJuIGRlcF9saXN0Ci0KLSMgQSB0ZW1wb3JhcnkgaGFjazogYXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgbm90IGFsbCBkZXBlbmRlbmN5IHN5bWJvbHMKLSMgYXJlIGltcGxlbWVudGVkIHlldC4gU2tpcCB0ZXN0IGNhc2VzIGZvciB3aGljaCB0aGUgZGVwZW5kZW5jeSBzeW1ib2xzIGFyZQotIyBub3QgYXZhaWxhYmxlLiBPbmNlIGFsbCBkZXBlbmRlbmN5IHN5bWJvbHMgYXJlIGF2YWlsYWJsZSwgdGhpcyBoYWNrIG11c3QKLSMgYmUgcmVtb3ZlZCBzbyB0aGF0IGEgYnVnIGluIHRoZSBkZXBlbmRlbmN5IHN5bWJvbHMgcHJvcGVybHkgbGVhZHMgdG8gYSB0ZXN0Ci0jIGZhaWx1cmUuCi1kZWYgcmVhZF9pbXBsZW1lbnRlZF9kZXBlbmRlbmNpZXMoZmlsZW5hbWU6IHN0cikgLT4gRnJvemVuU2V0W3N0cl06Ci0gICAgcmV0dXJuIGZyb3plbnNldChzeW1ib2wKLSAgICAgICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIG9wZW4oZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgICAgICBmb3Igc3ltYm9sIGluIHJlLmZpbmRhbGwocidcYlBTQV9XQU5UX1x3K1xiJywgbGluZSkpCi1faW1wbGVtZW50ZWRfZGVwZW5kZW5jaWVzID0gTm9uZSAjdHlwZTogT3B0aW9uYWxbRnJvemVuU2V0W3N0cl1dICNweWxpbnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lCi1kZWYgaGFja19kZXBlbmRlbmNpZXNfbm90X2ltcGxlbWVudGVkKGRlcGVuZGVuY2llczogTGlzdFtzdHJdKSAtPiBOb25lOgotICAgIGdsb2JhbCBfaW1wbGVtZW50ZWRfZGVwZW5kZW5jaWVzICNweWxpbnQ6IGRpc2FibGU9Z2xvYmFsLXN0YXRlbWVudCxpbnZhbGlkLW5hbWUKLSAgICBpZiBfaW1wbGVtZW50ZWRfZGVwZW5kZW5jaWVzIGlzIE5vbmU6Ci0gICAgICAgIF9pbXBsZW1lbnRlZF9kZXBlbmRlbmNpZXMgPSBcCi0gICAgICAgICAgICByZWFkX2ltcGxlbWVudGVkX2RlcGVuZGVuY2llcygnaW5jbHVkZS9wc2EvY3J5cHRvX2NvbmZpZy5oJykKLSAgICBpZiBub3QgYWxsKChkZXAubHN0cmlwKCchJykgaW4gX2ltcGxlbWVudGVkX2RlcGVuZGVuY2llcyBvcgotICAgICAgICAgICAgICAgIG5vdCBkZXAubHN0cmlwKCchJykuc3RhcnRzd2l0aCgnUFNBX1dBTlQnKSkKLSAgICAgICAgICAgICAgIGZvciBkZXAgaW4gZGVwZW5kZW5jaWVzKToKLSAgICAgICAgZGVwZW5kZW5jaWVzLmFwcGVuZCgnREVQRU5ERU5DWV9OT1RfSU1QTEVNRU5URURfWUVUJykKLQotZGVmIHR3ZWFrX2tleV9wYWlyX2RlcGVuZGVuY3koZGVwOiBzdHIsIHVzYWdlOiBzdHIpOgotICAgICIiIgotICAgIFRoaXMgaGVscGVyIGZ1bmN0aW9uIGFkZCB0aGUgcHJvcGVyIHN1ZmZpeCB0byBQU0FfV0FOVF9LRVlfVFlQRV94eHhfS0VZX1BBSVIKLSAgICBzeW1ib2xzIGFjY29yZGluZyB0byB0aGUgcmVxdWlyZWQgdXNhZ2UuCi0gICAgIiIiCi0gICAgcmV0X2xpc3QgPSBsaXN0KCkKLSAgICBpZiBkZXAuZW5kc3dpdGgoJ0tFWV9QQUlSJyk6Ci0gICAgICAgIGlmIHVzYWdlID09ICJCQVNJQyI6Ci0gICAgICAgICAgICAjIEJBU0lDIGF1dG9tYXRpY2FsbHkgaW5jbHVkZXMgSU1QT1JUIGFuZCBFWFBPUlQgZm9yIHRlc3QgcHVycG9zZXMgKHNlZQotICAgICAgICAgICAgIyBjb25maWdfcHNhLmgpLgotICAgICAgICAgICAgcmV0X2xpc3QuYXBwZW5kKHJlLnN1YihyJ0tFWV9QQUlSJywgcidLRVlfUEFJUl9CQVNJQycsIGRlcCkpCi0gICAgICAgICAgICByZXRfbGlzdC5hcHBlbmQocmUuc3ViKHInS0VZX1BBSVInLCByJ0tFWV9QQUlSX0lNUE9SVCcsIGRlcCkpCi0gICAgICAgICAgICByZXRfbGlzdC5hcHBlbmQocmUuc3ViKHInS0VZX1BBSVInLCByJ0tFWV9QQUlSX0VYUE9SVCcsIGRlcCkpCi0gICAgICAgIGVsaWYgdXNhZ2UgPT0gIkdFTkVSQVRFIjoKLSAgICAgICAgICAgIHJldF9saXN0LmFwcGVuZChyZS5zdWIocidLRVlfUEFJUicsIHInS0VZX1BBSVJfR0VORVJBVEUnLCBkZXApKQotICAgIGVsc2U6Ci0gICAgICAgICMgTm8gcmVwbGFjZW1lbnQgdG8gZG8gaW4gdGhpcyBjYXNlCi0gICAgICAgIHJldF9saXN0LmFwcGVuZChkZXApCi0gICAgcmV0dXJuIHJldF9saXN0Ci0KLWRlZiBmaXhfa2V5X3BhaXJfZGVwZW5kZW5jaWVzKGRlcF9saXN0OiBMaXN0W3N0cl0sIHVzYWdlOiBzdHIpOgotICAgIG5ld19saXN0ID0gW25ld19kZXBzCi0gICAgICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBfbGlzdAotICAgICAgICAgICAgICAgIGZvciBuZXdfZGVwcyBpbiB0d2Vha19rZXlfcGFpcl9kZXBlbmRlbmN5KGRlcCwgdXNhZ2UpXQotCi0gICAgcmV0dXJuIG5ld19saXN0CmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L3BzYV9zdG9yYWdlLnB5IGIvc2NyaXB0cy9tYmVkdGxzX2Rldi9wc2Ffc3RvcmFnZS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjFmYzM3Ny4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L3BzYV9zdG9yYWdlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjA2ICswLDAgQEAKLSIiIktub3dsZWRnZSBhYm91dCB0aGUgUFNBIGtleSBzdG9yZSBhcyBpbXBsZW1lbnRlZCBpbiBNYmVkIFRMUy4KLQotTm90ZSB0aGF0IGlmIHlvdSBuZWVkIHRvIG1ha2UgYSBjaGFuZ2UgdGhhdCBhZmZlY3RzIGhvdyBrZXlzIGFyZQotc3RvcmVkLCB0aGlzIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSBrZXkgc3RvcmUgaXMgY2hhbmdpbmcgaW4gYQotYmFja3dhcmQtaW5jb21wYXRpYmxlIHdheSEgVGhpbmsgY2FyZWZ1bGx5IGFib3V0IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKLWJlZm9yZSBjaGFuZ2luZyBob3cgdGVzdCBkYXRhIGlzIGNvbnN0cnVjdGVkIG9yIHZhbGlkYXRlZC4KLSIiIgotCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLSMKLQotaW1wb3J0IHJlCi1pbXBvcnQgc3RydWN0Ci1mcm9tIHR5cGluZyBpbXBvcnQgRGljdCwgTGlzdCwgT3B0aW9uYWwsIFNldCwgVW5pb24KLWltcG9ydCB1bml0dGVzdAotCi1mcm9tIC4gaW1wb3J0IGNfYnVpbGRfaGVscGVyCi1mcm9tIC4gaW1wb3J0IGJ1aWxkX3RyZWUKLQotCi1jbGFzcyBFeHByOgotICAgICIiIlJlcHJlc2VudGF0aW9uIG9mIGEgQyBleHByZXNzaW9uIHdpdGggYSBrbm93biBvciBrbm93YWJsZSBudW1lcmljYWwgdmFsdWUuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgY29udGVudDogVW5pb25baW50LCBzdHJdKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShjb250ZW50LCBpbnQpOgotICAgICAgICAgICAgZGlnaXRzID0gOCBpZiBjb250ZW50ID4gMHhmZmZmIGVsc2UgNAotICAgICAgICAgICAgc2VsZi5zdHJpbmcgPSAnezA6IzB7MX14fScuZm9ybWF0KGNvbnRlbnQsIGRpZ2l0cyArIDIpCi0gICAgICAgICAgICBzZWxmLnZhbHVlX2lmX2tub3duID0gY29udGVudCAjdHlwZTogT3B0aW9uYWxbaW50XQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5zdHJpbmcgPSBjb250ZW50Ci0gICAgICAgICAgICBzZWxmLnVua25vd25fdmFsdWVzLmFkZChzZWxmLm5vcm1hbGl6ZShjb250ZW50KSkKLSAgICAgICAgICAgIHNlbGYudmFsdWVfaWZfa25vd24gPSBOb25lCi0KLSAgICB2YWx1ZV9jYWNoZSA9IHt9ICN0eXBlOiBEaWN0W3N0ciwgaW50XQotICAgICIiIkNhY2hlIG9mIGtub3duIHZhbHVlcyBvZiBleHByZXNzaW9ucy4iIiIKLQotICAgIHVua25vd25fdmFsdWVzID0gc2V0KCkgI3R5cGU6IFNldFtzdHJdCi0gICAgIiIiRXhwcmVzc2lvbnMgd2hvc2UgdmFsdWVzIGFyZSBub3QgcHJlc2VudCBpbiBgdmFsdWVfY2FjaGVgIHlldC4iIiIKLQotICAgIGRlZiB1cGRhdGVfY2FjaGUoc2VsZikgLT4gTm9uZToKLSAgICAgICAgIiIiVXBkYXRlIGB2YWx1ZV9jYWNoZWAgZm9yIGV4cHJlc3Npb25zIHJlZ2lzdGVyZWQgaW4gYHVua25vd25fdmFsdWVzYC4iIiIKLSAgICAgICAgZXhwcmVzc2lvbnMgPSBzb3J0ZWQoc2VsZi51bmtub3duX3ZhbHVlcykKLSAgICAgICAgaW5jbHVkZXMgPSBbJ2luY2x1ZGUnXQotICAgICAgICBpZiBidWlsZF90cmVlLmxvb2tzX2xpa2VfdGZfcHNhX2NyeXB0b19yb290KCcuJyk6Ci0gICAgICAgICAgICBpbmNsdWRlcy5hcHBlbmQoJ2RyaXZlcnMvYnVpbHRpbi9pbmNsdWRlJykKLSAgICAgICAgdmFsdWVzID0gY19idWlsZF9oZWxwZXIuZ2V0X2NfZXhwcmVzc2lvbl92YWx1ZXMoCi0gICAgICAgICAgICAndW5zaWduZWQgbG9uZycsICclbHUnLAotICAgICAgICAgICAgZXhwcmVzc2lvbnMsCi0gICAgICAgICAgICBoZWFkZXI9IiIiCi0gICAgICAgICAgICAjaW5jbHVkZSA8cHNhL2NyeXB0by5oPgotICAgICAgICAgICAgIiIiLAotICAgICAgICAgICAgaW5jbHVkZV9wYXRoPWluY2x1ZGVzKSAjdHlwZTogTGlzdFtzdHJdCi0gICAgICAgIGZvciBlLCB2IGluIHppcChleHByZXNzaW9ucywgdmFsdWVzKToKLSAgICAgICAgICAgIHNlbGYudmFsdWVfY2FjaGVbZV0gPSBpbnQodiwgMCkKLSAgICAgICAgc2VsZi51bmtub3duX3ZhbHVlcy5jbGVhcigpCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIG5vcm1hbGl6ZShzdHJpbmc6IHN0cikgLT4gc3RyOgotICAgICAgICAiIiJQdXQgdGhlIGdpdmVuIEMgZXhwcmVzc2lvbiBpbiBhIGNhbm9uaWNhbCBmb3JtLgotCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgb25seSBpbnRlbmRlZCB0byBnaXZlIGNvcnJlY3QgcmVzdWx0cyBmb3IgdGhlCi0gICAgICAgIHJlbGF0aXZlbHkgc2ltcGxlIGtpbmQgb2YgQyBleHByZXNzaW9uIHR5cGljYWxseSB1c2VkIHdpdGggdGhpcwotICAgICAgICBtb2R1bGUuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gcmUuc3ViKHInXHMrJywgcicnLCBzdHJpbmcpCi0KLSAgICBkZWYgdmFsdWUoc2VsZikgLT4gaW50OgotICAgICAgICAiIiJSZXR1cm4gdGhlIG51bWVyaWNhbCB2YWx1ZSBvZiB0aGUgZXhwcmVzc2lvbi4iIiIKLSAgICAgICAgaWYgc2VsZi52YWx1ZV9pZl9rbm93biBpcyBOb25lOgotICAgICAgICAgICAgaWYgcmUubWF0Y2gocicoWzAtOV0rfDB4WzAtOWEtZl0rKVxaJywgc2VsZi5zdHJpbmcsIHJlLkkpOgotICAgICAgICAgICAgICAgIHJldHVybiBpbnQoc2VsZi5zdHJpbmcsIDApCi0gICAgICAgICAgICBub3JtYWxpemVkID0gc2VsZi5ub3JtYWxpemUoc2VsZi5zdHJpbmcpCi0gICAgICAgICAgICBpZiBub3JtYWxpemVkIG5vdCBpbiBzZWxmLnZhbHVlX2NhY2hlOgotICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlX2NhY2hlKCkKLSAgICAgICAgICAgIHNlbGYudmFsdWVfaWZfa25vd24gPSBzZWxmLnZhbHVlX2NhY2hlW25vcm1hbGl6ZWRdCi0gICAgICAgIHJldHVybiBzZWxmLnZhbHVlX2lmX2tub3duCi0KLUV4cHJhYmxlID0gVW5pb25bc3RyLCBpbnQsIEV4cHJdCi0iIiJTb21ldGhpbmcgdGhhdCBjYW4gYmUgY29udmVydGVkIHRvIGEgQyBleHByZXNzaW9uIHdpdGggYSBrbm93biBudW1lcmljYWwgdmFsdWUuIiIiCi0KLWRlZiBhc19leHByKHRoaW5nOiBFeHByYWJsZSkgLT4gRXhwcjoKLSAgICAiIiJSZXR1cm4gYW4gYEV4cHJgIG9iamVjdCBmb3IgYHRoaW5nYC4KLQotICAgIElmIGB0aGluZ2AgaXMgYWxyZWFkeSBhbiBgRXhwcmAgb2JqZWN0LCByZXR1cm4gaXQuIE90aGVyd2lzZSBidWlsZCBhIG5ldwotICAgIGBFeHByYCBvYmplY3QgZnJvbSBgdGhpbmdgLiBgdGhpbmdgIGNhbiBiZSBhbiBpbnRlZ2VyIG9yIGEgc3RyaW5nIHRoYXQKLSAgICBjb250YWlucyBhIEMgZXhwcmVzc2lvbi4KLSAgICAiIiIKLSAgICBpZiBpc2luc3RhbmNlKHRoaW5nLCBFeHByKToKLSAgICAgICAgcmV0dXJuIHRoaW5nCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuIEV4cHIodGhpbmcpCi0KLQotY2xhc3MgS2V5OgotICAgICIiIlJlcHJlc2VudGF0aW9uIG9mIGEgUFNBIGNyeXB0byBrZXkgb2JqZWN0IGFuZCBpdHMgc3RvcmFnZSBlbmNvZGluZy4KLSAgICAiIiIKLQotICAgIExBVEVTVF9WRVJTSU9OID0gMAotICAgICIiIlRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3RvcmFnZSBmb3JtYXQuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgKiwKLSAgICAgICAgICAgICAgICAgdmVyc2lvbjogT3B0aW9uYWxbaW50XSA9IE5vbmUsCi0gICAgICAgICAgICAgICAgIGlkOiBPcHRpb25hbFtpbnRdID0gTm9uZSwgI3B5bGludDogZGlzYWJsZT1yZWRlZmluZWQtYnVpbHRpbgotICAgICAgICAgICAgICAgICBsaWZldGltZTogRXhwcmFibGUgPSAnUFNBX0tFWV9MSUZFVElNRV9QRVJTSVNURU5UJywKLSAgICAgICAgICAgICAgICAgdHlwZTogRXhwcmFibGUsICNweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVkLWJ1aWx0aW4KLSAgICAgICAgICAgICAgICAgYml0czogaW50LAotICAgICAgICAgICAgICAgICB1c2FnZTogRXhwcmFibGUsIGFsZzogRXhwcmFibGUsIGFsZzI6IEV4cHJhYmxlLAotICAgICAgICAgICAgICAgICBtYXRlcmlhbDogYnl0ZXMgI3B5bGludDogZGlzYWJsZT11c2VkLWJlZm9yZS1hc3NpZ25tZW50Ci0gICAgICAgICAgICAgICAgKSAtPiBOb25lOgotICAgICAgICBzZWxmLnZlcnNpb24gPSBzZWxmLkxBVEVTVF9WRVJTSU9OIGlmIHZlcnNpb24gaXMgTm9uZSBlbHNlIHZlcnNpb24KLSAgICAgICAgc2VsZi5pZCA9IGlkICNweWxpbnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lICN0eXBlOiBPcHRpb25hbFtpbnRdCi0gICAgICAgIHNlbGYubGlmZXRpbWUgPSBhc19leHByKGxpZmV0aW1lKSAjdHlwZTogRXhwcgotICAgICAgICBzZWxmLnR5cGUgPSBhc19leHByKHR5cGUpICN0eXBlOiBFeHByCi0gICAgICAgIHNlbGYuYml0cyA9IGJpdHMgI3R5cGU6IGludAotICAgICAgICBzZWxmLnVzYWdlID0gYXNfZXhwcih1c2FnZSkgI3R5cGU6IEV4cHIKLSAgICAgICAgc2VsZi5hbGcgPSBhc19leHByKGFsZykgI3R5cGU6IEV4cHIKLSAgICAgICAgc2VsZi5hbGcyID0gYXNfZXhwcihhbGcyKSAjdHlwZTogRXhwcgotICAgICAgICBzZWxmLm1hdGVyaWFsID0gbWF0ZXJpYWwgI3R5cGU6IGJ5dGVzCi0KLSAgICBNQUdJQyA9IGInUFNBXDAwMEtFWVwwMDAnCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIHBhY2soCi0gICAgICAgICAgICBmbXQ6IHN0ciwKLSAgICAgICAgICAgICphcmdzOiBVbmlvbltpbnQsIEV4cHJdCi0gICAgKSAtPiBieXRlczogI3B5bGludDogZGlzYWJsZT11c2VkLWJlZm9yZS1hc3NpZ25tZW50Ci0gICAgICAgICIiIlBhY2sgdGhlIGdpdmVuIGFyZ3VtZW50cyBpbnRvIGEgYnl0ZSBzdHJpbmcgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiBmb3JtYXQuCi0KLSAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyBzaW1pbGFyIHRvIGBzdHJ1Y3QucGFja2AsIGJ1dCB3aXRoIHRoZSBmb2xsb3dpbmcgZGlmZmVyZW5jZXM6Ci0gICAgICAgICogQWxsIGludGVnZXIgdmFsdWVzIGFyZSBlbmNvZGVkIHdpdGggc3RhbmRhcmQgc2l6ZXMgYW5kIGluCi0gICAgICAgICAgbGl0dGxlLWVuZGlhbiByZXByZXNlbnRhdGlvbi4gYGZtdGAgbXVzdCBub3QgaW5jbHVkZSBhbiBlbmRpYW5uZXNzCi0gICAgICAgICAgcHJlZml4LgotICAgICAgICAqIEFyZ3VtZW50cyBjYW4gYmUgYEV4cHJgIG9iamVjdHMgaW5zdGVhZCBvZiBpbnRlZ2Vycy4KLSAgICAgICAgKiBPbmx5IGludGVnZXItdmFsdWVkIGVsZW1lbnRzIGFyZSBzdXBwb3J0ZWQuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gc3RydWN0LnBhY2soJzwnICsgZm10LCAjIGxpdHRsZS1lbmRpYW4sIHN0YW5kYXJkIHNpemVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAqW2FyZy52YWx1ZSgpIGlmIGlzaW5zdGFuY2UoYXJnLCBFeHByKSBlbHNlIGFyZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXJnIGluIGFyZ3NdKQotCi0gICAgZGVmIGJ5dGVzKHNlbGYpIC0+IGJ5dGVzOgotICAgICAgICAiIiJSZXR1cm4gdGhlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBrZXkgaW4gc3RvcmFnZSBhcyBhIGJ5dGUgYXJyYXkuCi0KLSAgICAgICAgVGhpcyBpcyB0aGUgY29udGVudCBvZiB0aGUgUFNBIHN0b3JhZ2UgZmlsZS4gV2hlbiBQU0Egc3RvcmFnZSBpcwotICAgICAgICBpbXBsZW1lbnRlZCBvdmVyIHN0ZGlvIGZpbGVzLCB0aGlzIGRvZXMgbm90IGluY2x1ZGUgYW55IHdyYXBwaW5nIG1hZGUKLSAgICAgICAgYnkgdGhlIFBTQS1zdG9yYWdlLW92ZXItc3RkaW8tZmlsZSBpbXBsZW1lbnRhdGlvbi4KLQotICAgICAgICBOb3RlIHRoYXQgaWYgeW91IG5lZWQgdG8gbWFrZSBhIGNoYW5nZSBpbiB0aGlzIGZ1bmN0aW9uLAotICAgICAgICB0aGlzIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSBrZXkgc3RvcmUgaXMgY2hhbmdpbmcgaW4gYQotICAgICAgICBiYWNrd2FyZC1pbmNvbXBhdGlibGUgd2F5ISBUaGluayBjYXJlZnVsbHkgYWJvdXQgYmFja3dhcmQKLSAgICAgICAgY29tcGF0aWJpbGl0eSBiZWZvcmUgbWFraW5nIGFueSBjaGFuZ2UgaGVyZS4KLSAgICAgICAgIiIiCi0gICAgICAgIGhlYWRlciA9IHNlbGYuTUFHSUMgKyBzZWxmLnBhY2soJ0wnLCBzZWxmLnZlcnNpb24pCi0gICAgICAgIGlmIHNlbGYudmVyc2lvbiA9PSAwOgotICAgICAgICAgICAgYXR0cmlidXRlcyA9IHNlbGYucGFjaygnTEhITExMJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5saWZldGltZSwgc2VsZi50eXBlLCBzZWxmLmJpdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudXNhZ2UsIHNlbGYuYWxnLCBzZWxmLmFsZzIpCi0gICAgICAgICAgICBtYXRlcmlhbCA9IHNlbGYucGFjaygnTCcsIGxlbihzZWxmLm1hdGVyaWFsKSkgKyBzZWxmLm1hdGVyaWFsCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCi0gICAgICAgIHJldHVybiBoZWFkZXIgKyBhdHRyaWJ1dGVzICsgbWF0ZXJpYWwKLQotICAgIGRlZiBoZXgoc2VsZikgLT4gc3RyOgotICAgICAgICAiIiJSZXR1cm4gdGhlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBrZXkgYXMgYSBoZXhhZGVjaW1hbCBzdHJpbmcuCi0KLSAgICAgICAgVGhpcyBpcyB0aGUgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgYHNlbGYuYnl0ZXNgLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuYnl0ZXMoKS5oZXgoKQotCi0gICAgZGVmIGxvY2F0aW9uX3ZhbHVlKHNlbGYpIC0+IGludDoKLSAgICAgICAgIiIiVGhlIG51bWVyaWNhbCB2YWx1ZSBvZiB0aGUgbG9jYXRpb24gZW5jb2RlZCBpbiB0aGUga2V5J3MgbGlmZXRpbWUuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLmxpZmV0aW1lLnZhbHVlKCkgPj4gOAotCi0KLWNsYXNzIFRlc3RLZXkodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICMgcHlsaW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcKLSAgICAiIiJBIGZldyBzbW9rZSB0ZXN0cyBmb3IgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGBLZXlgIGNsYXNzLiIiIgotCi0gICAgZGVmIHRlc3RfbnVtZXJpY2FsKHNlbGYpOgotICAgICAgICBrZXkgPSBLZXkodmVyc2lvbj0wLAotICAgICAgICAgICAgICAgICAgaWQ9MSwgbGlmZXRpbWU9MHgwMDAwMDAwMSwKLSAgICAgICAgICAgICAgICAgIHR5cGU9MHgyNDAwLCBiaXRzPTEyOCwKLSAgICAgICAgICAgICAgICAgIHVzYWdlPTB4MDAwMDAzMDAsIGFsZz0weDA1NTAwMjAwLCBhbGcyPTB4MDRjMDEwMDAsCi0gICAgICAgICAgICAgICAgICBtYXRlcmlhbD1iJ0BBQkNERUZHSElKS0xNTk8nKQotICAgICAgICBleHBlY3RlZF9oZXggPSAnNTA1MzQxMDA0YjQ1NTkwMDAwMDAwMDAwMDEwMDAwMDAwMDI0ODAwMDAwMDMwMDAwMDAwMjUwMDUwMDEwYzAwNDEwMDAwMDAwNDA0MTQyNDM0NDQ1NDY0NzQ4NDk0YTRiNGM0ZDRlNGYnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2V5LmJ5dGVzKCksIGJ5dGVzLmZyb21oZXgoZXhwZWN0ZWRfaGV4KSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrZXkuaGV4KCksIGV4cGVjdGVkX2hleCkKLQotICAgIGRlZiB0ZXN0X25hbWVzKHNlbGYpOgotICAgICAgICBsZW5ndGggPSAweGZmZjggLy8gOCAjIFBTQV9NQVhfS0VZX0JJVFMgaW4gYnl0ZXMKLSAgICAgICAga2V5ID0gS2V5KHZlcnNpb249MCwKLSAgICAgICAgICAgICAgICAgIGlkPTEsIGxpZmV0aW1lPSdQU0FfS0VZX0xJRkVUSU1FX1BFUlNJU1RFTlQnLAotICAgICAgICAgICAgICAgICAgdHlwZT0nUFNBX0tFWV9UWVBFX1JBV19EQVRBJywgYml0cz1sZW5ndGgqOCwKLSAgICAgICAgICAgICAgICAgIHVzYWdlPTAsIGFsZz0wLCBhbGcyPTAsCi0gICAgICAgICAgICAgICAgICBtYXRlcmlhbD1iJ1x4MDAnICogbGVuZ3RoKQotICAgICAgICBleHBlY3RlZF9oZXggPSAnNTA1MzQxMDA0YjQ1NTkwMDAwMDAwMDAwMDEwMDAwMDAwMTEwZjhmZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmMWYwMDAwJyArICcwMCcgKiBsZW5ndGgKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrZXkuYnl0ZXMoKSwgYnl0ZXMuZnJvbWhleChleHBlY3RlZF9oZXgpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGtleS5oZXgoKSwgZXhwZWN0ZWRfaGV4KQotCi0gICAgZGVmIHRlc3RfZGVmYXVsdHMoc2VsZik6Ci0gICAgICAgIGtleSA9IEtleSh0eXBlPTB4MTAwMSwgYml0cz04LAotICAgICAgICAgICAgICAgICAgdXNhZ2U9MCwgYWxnPTAsIGFsZzI9MCwKLSAgICAgICAgICAgICAgICAgIG1hdGVyaWFsPWInXHgyYScpCi0gICAgICAgIGV4cGVjdGVkX2hleCA9ICc1MDUzNDEwMDRiNDU1OTAwMDAwMDAwMDAwMTAwMDAwMDAxMTAwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAyYScKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrZXkuYnl0ZXMoKSwgYnl0ZXMuZnJvbWhleChleHBlY3RlZF9oZXgpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGtleS5oZXgoKSwgZXhwZWN0ZWRfaGV4KQpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9tYmVkdGxzX2Rldi90ZXN0X2Nhc2UucHkgYi9zY3JpcHRzL21iZWR0bHNfZGV2L3Rlc3RfY2FzZS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmVkNWU4NC4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L3Rlc3RfY2FzZS5weQorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLSIiIkxpYnJhcnkgZm9yIGNvbnN0cnVjdGluZyBhbiBNYmVkIFRMUyB0ZXN0IGNhc2UuCi0iIiIKLQotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLWltcG9ydCBiaW5hc2NpaQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi1mcm9tIHR5cGluZyBpbXBvcnQgSXRlcmFibGUsIExpc3QsIE9wdGlvbmFsCi0KLWZyb20gLiBpbXBvcnQgdHlwaW5nX3V0aWwKLQotZGVmIGhleF9zdHJpbmcoZGF0YTogYnl0ZXMpIC0+IHN0cjoKLSAgICByZXR1cm4gJyInICsgYmluYXNjaWkuaGV4bGlmeShkYXRhKS5kZWNvZGUoJ2FzY2lpJykgKyAnIicKLQotCi1jbGFzcyBNaXNzaW5nRGVzY3JpcHRpb24oRXhjZXB0aW9uKToKLSAgICBwYXNzCi0KLWNsYXNzIE1pc3NpbmdGdW5jdGlvbihFeGNlcHRpb24pOgotICAgIHBhc3MKLQotY2xhc3MgVGVzdENhc2U6Ci0gICAgIiIiQW4gTWJlZCBUTFMgdGVzdCBjYXNlLiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRlc2NyaXB0aW9uOiBPcHRpb25hbFtzdHJdID0gTm9uZSk6Ci0gICAgICAgIHNlbGYuY29tbWVudHMgPSBbXSAjdHlwZTogTGlzdFtzdHJdCi0gICAgICAgIHNlbGYuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbiAjdHlwZTogT3B0aW9uYWxbc3RyXQotICAgICAgICBzZWxmLmRlcGVuZGVuY2llcyA9IFtdICN0eXBlOiBMaXN0W3N0cl0KLSAgICAgICAgc2VsZi5mdW5jdGlvbiA9IE5vbmUgI3R5cGU6IE9wdGlvbmFsW3N0cl0KLSAgICAgICAgc2VsZi5hcmd1bWVudHMgPSBbXSAjdHlwZTogTGlzdFtzdHJdCi0KLSAgICBkZWYgYWRkX2NvbW1lbnQoc2VsZiwgKmxpbmVzOiBzdHIpIC0+IE5vbmU6Ci0gICAgICAgIHNlbGYuY29tbWVudHMgKz0gbGluZXMKLQotICAgIGRlZiBzZXRfZGVzY3JpcHRpb24oc2VsZiwgZGVzY3JpcHRpb246IHN0cikgLT4gTm9uZToKLSAgICAgICAgc2VsZi5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uCi0KLSAgICBkZWYgc2V0X2RlcGVuZGVuY2llcyhzZWxmLCBkZXBlbmRlbmNpZXM6IExpc3Rbc3RyXSkgLT4gTm9uZToKLSAgICAgICAgc2VsZi5kZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXMKLQotICAgIGRlZiBzZXRfZnVuY3Rpb24oc2VsZiwgZnVuY3Rpb246IHN0cikgLT4gTm9uZToKLSAgICAgICAgc2VsZi5mdW5jdGlvbiA9IGZ1bmN0aW9uCi0KLSAgICBkZWYgc2V0X2FyZ3VtZW50cyhzZWxmLCBhcmd1bWVudHM6IExpc3Rbc3RyXSkgLT4gTm9uZToKLSAgICAgICAgc2VsZi5hcmd1bWVudHMgPSBhcmd1bWVudHMKLQotICAgIGRlZiBjaGVja19jb21wbGV0ZW5lc3Moc2VsZikgLT4gTm9uZToKLSAgICAgICAgaWYgc2VsZi5kZXNjcmlwdGlvbiBpcyBOb25lOgotICAgICAgICAgICAgcmFpc2UgTWlzc2luZ0Rlc2NyaXB0aW9uCi0gICAgICAgIGlmIHNlbGYuZnVuY3Rpb24gaXMgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIE1pc3NpbmdGdW5jdGlvbgotCi0gICAgZGVmIHdyaXRlKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUpIC0+IE5vbmU6Ci0gICAgICAgICIiIldyaXRlIHRoZSAuZGF0YSBmaWxlIHBhcmFncmFwaCBmb3IgdGhpcyB0ZXN0IGNhc2UuCi0KLSAgICAgICAgVGhlIG91dHB1dCBzdGFydHMgYW5kIGVuZHMgd2l0aCBhIHNpbmdsZSBuZXdsaW5lIGNoYXJhY3Rlci4gSWYgdGhlCi0gICAgICAgIHN1cnJvdW5kaW5nIGNvZGUgd3JpdGVzIGxpbmVzIChjb25zaXN0aW5nIG9mIG5vbi1uZXdsaW5lIGNoYXJhY3RlcnMKLSAgICAgICAgYW5kIGEgZmluYWwgbmV3bGluZSksIHlvdSB3aWxsIGVuZCB1cCB3aXRoIGEgYmxhbmsgbGluZSBiZWZvcmUsIGJ1dAotICAgICAgICBub3QgYWZ0ZXIgdGhlIHRlc3QgY2FzZS4KLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuY2hlY2tfY29tcGxldGVuZXNzKCkKLSAgICAgICAgYXNzZXJ0IHNlbGYuZGVzY3JpcHRpb24gaXMgbm90IE5vbmUgIyBndWlkZSBteXB5Ci0gICAgICAgIGFzc2VydCBzZWxmLmZ1bmN0aW9uIGlzIG5vdCBOb25lICMgZ3VpZGUgbXlweQotICAgICAgICBvdXQud3JpdGUoJ1xuJykKLSAgICAgICAgZm9yIGxpbmUgaW4gc2VsZi5jb21tZW50czoKLSAgICAgICAgICAgIG91dC53cml0ZSgnIyAnICsgbGluZSArICdcbicpCi0gICAgICAgIG91dC53cml0ZShzZWxmLmRlc2NyaXB0aW9uICsgJ1xuJykKLSAgICAgICAgaWYgc2VsZi5kZXBlbmRlbmNpZXM6Ci0gICAgICAgICAgICBvdXQud3JpdGUoJ2RlcGVuZHNfb246JyArICc6Jy5qb2luKHNlbGYuZGVwZW5kZW5jaWVzKSArICdcbicpCi0gICAgICAgIG91dC53cml0ZShzZWxmLmZ1bmN0aW9uICsgJzonICsgJzonLmpvaW4oc2VsZi5hcmd1bWVudHMpICsgJ1xuJykKLQotZGVmIHdyaXRlX2RhdGFfZmlsZShmaWxlbmFtZTogc3RyLAotICAgICAgICAgICAgICAgICAgICB0ZXN0X2Nhc2VzOiBJdGVyYWJsZVtUZXN0Q2FzZV0sCi0gICAgICAgICAgICAgICAgICAgIGNhbGxlcjogT3B0aW9uYWxbc3RyXSA9IE5vbmUpIC0+IE5vbmU6Ci0gICAgIiIiV3JpdGUgdGhlIHRlc3QgY2FzZXMgdG8gdGhlIHNwZWNpZmllZCBmaWxlLgotCi0gICAgSWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHMsIGl0IGlzIG92ZXJ3cml0dGVuLgotICAgICIiIgotICAgIGlmIGNhbGxlciBpcyBOb25lOgotICAgICAgICBjYWxsZXIgPSBvcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2WzBdKQotICAgIHRlbXBmaWxlID0gZmlsZW5hbWUgKyAnLm5ldycKLSAgICB3aXRoIG9wZW4odGVtcGZpbGUsICd3JykgYXMgb3V0OgotICAgICAgICBvdXQud3JpdGUoJyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkge30uIERvIG5vdCBlZGl0IVxuJwotICAgICAgICAgICAgICAgICAgLmZvcm1hdChjYWxsZXIpKQotICAgICAgICBmb3IgdGMgaW4gdGVzdF9jYXNlczoKLSAgICAgICAgICAgIHRjLndyaXRlKG91dCkKLSAgICAgICAgb3V0LndyaXRlKCdcbiMgRW5kIG9mIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGUuXG4nKQotICAgIG9zLnJlcGxhY2UodGVtcGZpbGUsIGZpbGVuYW1lKQpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9tYmVkdGxzX2Rldi90ZXN0X2RhdGFfZ2VuZXJhdGlvbi5weSBiL3NjcmlwdHMvbWJlZHRsc19kZXYvdGVzdF9kYXRhX2dlbmVyYXRpb24ucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4NGY3ZGQuLjAwMDAwMDAKLS0tIGEvc2NyaXB0cy9tYmVkdGxzX2Rldi90ZXN0X2RhdGFfZ2VuZXJhdGlvbi5weQorKysgL2Rldi9udWxsCkBAIC0xLDIyNCArMCwwIEBACi0iIiJDb21tb24gY29kZSBmb3IgdGVzdCBkYXRhIGdlbmVyYXRpb24uCi0KLVRoaXMgbW9kdWxlIGRlZmluZXMgY2xhc3NlcyB0aGF0IGFyZSBvZiBnZW5lcmFsIHVzZSB0byBhdXRvbWF0aWNhbGx5Ci1nZW5lcmF0ZSAuZGF0YSBmaWxlcyBmb3IgdW5pdCB0ZXN0cywgYXMgd2VsbCBhcyBhIG1haW4gZnVuY3Rpb24uCi0KLVRoZXNlIGFyZSB1c2VkIGJvdGggYnkgZ2VuZXJhdGVfcHNhX3Rlc3RzLnB5IGFuZCBnZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkuCi0iIiIKLQotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLWltcG9ydCBhcmdwYXJzZQotaW1wb3J0IG9zCi1pbXBvcnQgcG9zaXhwYXRoCi1pbXBvcnQgcmUKLWltcG9ydCBpbnNwZWN0Ci0KLWZyb20gYWJjIGltcG9ydCBBQkNNZXRhLCBhYnN0cmFjdG1ldGhvZAotZnJvbSB0eXBpbmcgaW1wb3J0IENhbGxhYmxlLCBEaWN0LCBJdGVyYWJsZSwgSXRlcmF0b3IsIExpc3QsIFR5cGUsIFR5cGVWYXIKLQotZnJvbSAuIGltcG9ydCBidWlsZF90cmVlCi1mcm9tIC4gaW1wb3J0IHRlc3RfY2FzZQotCi1UID0gVHlwZVZhcignVCcpICNweWxpbnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lCi0KLQotY2xhc3MgQmFzZVRlc3QobWV0YWNsYXNzPUFCQ01ldGEpOgotICAgICIiIkJhc2UgY2xhc3MgZm9yIHRlc3QgY2FzZSBnZW5lcmF0aW9uLgotCi0gICAgQXR0cmlidXRlczoKLSAgICAgICAgY291bnQ6IENvdW50ZXIgZm9yIHRlc3QgY2FzZXMgZnJvbSB0aGlzIGNsYXNzLgotICAgICAgICBjYXNlX2Rlc2NyaXB0aW9uOiBTaG9ydCBkZXNjcmlwdGlvbiBvZiB0aGUgdGVzdCBjYXNlLiBUaGlzIG1heSBiZQotICAgICAgICAgICAgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgdXNpbmcgdGhlIGNsYXNzLCBvciBtYW51YWxseSBzZXQuCi0gICAgICAgIGRlcGVuZGVuY2llczogQSBsaXN0IG9mIGRlcGVuZGVuY2llcyByZXF1aXJlZCBmb3IgdGhlIHRlc3QgY2FzZS4KLSAgICAgICAgc2hvd190ZXN0X2NvdW50OiBUb2dnbGUgZm9yIGluY2x1c2lvbiBvZiBgY291bnRgIGluIHRoZSB0ZXN0IGRlc2NyaXB0aW9uLgotICAgICAgICB0ZXN0X2Z1bmN0aW9uOiBUZXN0IGZ1bmN0aW9uIHdoaWNoIHRoZSBjbGFzcyBnZW5lcmF0ZXMgY2FzZXMgZm9yLgotICAgICAgICB0ZXN0X25hbWU6IEEgY29tbW9uIG5hbWUgb3IgZGVzY3JpcHRpb24gb2YgdGhlIHRlc3QgZnVuY3Rpb24uIFRoaXMgY2FuCi0gICAgICAgICAgICBiZSBgdGVzdF9mdW5jdGlvbmAsIGEgY2xlYXJlciBlcXVpdmFsZW50LCBvciBhIHNob3J0IHN1bW1hcnkgb2YgdGhlCi0gICAgICAgICAgICB0ZXN0IGZ1bmN0aW9uJ3MgcHVycG9zZS4KLSAgICAiIiIKLSAgICBjb3VudCA9IDAKLSAgICBjYXNlX2Rlc2NyaXB0aW9uID0gIiIKLSAgICBkZXBlbmRlbmNpZXMgPSBbXSAjIHR5cGU6IExpc3Rbc3RyXQotICAgIHNob3dfdGVzdF9jb3VudCA9IFRydWUKLSAgICB0ZXN0X2Z1bmN0aW9uID0gIiIKLSAgICB0ZXN0X25hbWUgPSAiIgotCi0gICAgZGVmIF9fbmV3X18oY2xzLCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtYXJndW1lbnQKLSAgICAgICAgY2xzLmNvdW50ICs9IDEKLSAgICAgICAgcmV0dXJuIHN1cGVyKCkuX19uZXdfXyhjbHMpCi0KLSAgICBAYWJzdHJhY3RtZXRob2QKLSAgICBkZWYgYXJndW1lbnRzKHNlbGYpIC0+IExpc3Rbc3RyXToKLSAgICAgICAgIiIiR2V0IHRoZSBsaXN0IG9mIGFyZ3VtZW50cyBmb3IgdGhlIHRlc3QgY2FzZS4KLQotICAgICAgICBPdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlIHRoZSBsaXN0IG9mIGFyZ3VtZW50cyByZXF1aXJlZCBmb3IKLSAgICAgICAgdGhlIGB0ZXN0X2Z1bmN0aW9uYC4KLQotICAgICAgICBSZXR1cm5zOgotICAgICAgICAgICAgTGlzdCBvZiBhcmd1bWVudHMgcmVxdWlyZWQgZm9yIHRoZSB0ZXN0IGZ1bmN0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgotCi0gICAgZGVmIGRlc2NyaXB0aW9uKHNlbGYpIC0+IHN0cjoKLSAgICAgICAgIiIiQ3JlYXRlIGEgdGVzdCBjYXNlIGRlc2NyaXB0aW9uLgotCi0gICAgICAgIENyZWF0ZXMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgdGVzdCBjYXNlLCBpbmNsdWRpbmcgYSBuYW1lIGZvciB0aGUgdGVzdAotICAgICAgICBmdW5jdGlvbiwgYW4gb3B0aW9uYWwgY2FzZSBjb3VudCwgYW5kIGEgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpZmljCi0gICAgICAgIHRlc3QgY2FzZS4gVGhpcyBzaG91bGQgaW5mb3JtIGEgcmVhZGVyIHdoYXQgaXMgYmVpbmcgdGVzdGVkLCBhbmQKLSAgICAgICAgcHJvdmlkZSBjb250ZXh0IGZvciB0aGUgdGVzdCBjYXNlLgotCi0gICAgICAgIFJldHVybnM6Ci0gICAgICAgICAgICBEZXNjcmlwdGlvbiBmb3IgdGhlIHRlc3QgY2FzZS4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuc2hvd190ZXN0X2NvdW50OgotICAgICAgICAgICAgcmV0dXJuICJ7fSAje30ge30iLmZvcm1hdCgKLSAgICAgICAgICAgICAgICBzZWxmLnRlc3RfbmFtZSwgc2VsZi5jb3VudCwgc2VsZi5jYXNlX2Rlc2NyaXB0aW9uCi0gICAgICAgICAgICAgICAgKS5zdHJpcCgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gInt9IHt9Ii5mb3JtYXQoc2VsZi50ZXN0X25hbWUsIHNlbGYuY2FzZV9kZXNjcmlwdGlvbikuc3RyaXAoKQotCi0KLSAgICBkZWYgY3JlYXRlX3Rlc3RfY2FzZShzZWxmKSAtPiB0ZXN0X2Nhc2UuVGVzdENhc2U6Ci0gICAgICAgICIiIkdlbmVyYXRlIFRlc3RDYXNlIGZyb20gdGhlIGluc3RhbmNlLiIiIgotICAgICAgICB0YyA9IHRlc3RfY2FzZS5UZXN0Q2FzZSgpCi0gICAgICAgIHRjLnNldF9kZXNjcmlwdGlvbihzZWxmLmRlc2NyaXB0aW9uKCkpCi0gICAgICAgIHRjLnNldF9mdW5jdGlvbihzZWxmLnRlc3RfZnVuY3Rpb24pCi0gICAgICAgIHRjLnNldF9hcmd1bWVudHMoc2VsZi5hcmd1bWVudHMoKSkKLSAgICAgICAgdGMuc2V0X2RlcGVuZGVuY2llcyhzZWxmLmRlcGVuZGVuY2llcykKLQotICAgICAgICByZXR1cm4gdGMKLQotICAgIEBjbGFzc21ldGhvZAotICAgIEBhYnN0cmFjdG1ldGhvZAotICAgIGRlZiBnZW5lcmF0ZV9mdW5jdGlvbl90ZXN0cyhjbHMpIC0+IEl0ZXJhdG9yW3Rlc3RfY2FzZS5UZXN0Q2FzZV06Ci0gICAgICAgICIiIkdlbmVyYXRlIHRlc3QgY2FzZXMgZm9yIHRoZSBjbGFzcyB0ZXN0IGZ1bmN0aW9uLgotCi0gICAgICAgIFRoaXMgd2lsbCBiZSBjYWxsZWQgaW4gY2xhc3NlcyB3aGVyZSBgdGVzdF9mdW5jdGlvbmAgaXMgc2V0LgotICAgICAgICBJbXBsZW1lbnRhdGlvbnMgc2hvdWxkIHlpZWxkIFRlc3RDYXNlIG9iamVjdHMsIGJ5IGNyZWF0aW5nIGluc3RhbmNlcwotICAgICAgICBvZiB0aGUgY2xhc3Mgd2l0aCBhcHByb3ByaWF0ZSBpbnB1dCBkYXRhLCBhbmQgdGhlbiBjYWxsaW5nCi0gICAgICAgIGBjcmVhdGVfdGVzdF9jYXNlKClgIG9uIGVhY2guCi0gICAgICAgICIiIgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCi0KLQotY2xhc3MgQmFzZVRhcmdldDoKLSAgICAjcHlsaW50OiBkaXNhYmxlPXRvby1mZXctcHVibGljLW1ldGhvZHMKLSAgICAiIiJCYXNlIHRhcmdldCBmb3IgdGVzdCBjYXNlIGdlbmVyYXRpb24uCi0KLSAgICBDaGlsZCBjbGFzc2VzIG9mIHRoaXMgY2xhc3MgcmVwcmVzZW50IGFuIG91dHB1dCBmaWxlLCBhbmQgY2FuIGJlIHJlZmVycmVkCi0gICAgdG8gYXMgZmlsZSB0YXJnZXRzLiBUaGVzZSBpbmRpY2F0ZSB3aGVyZSB0ZXN0IGNhc2VzIHdpbGwgYmUgd3JpdHRlbiB0byBmb3IKLSAgICBhbGwgc3ViY2xhc3NlcyBvZiB0aGUgZmlsZSB0YXJnZXQsIHdoaWNoIGlzIHNldCBieSBgdGFyZ2V0X2Jhc2VuYW1lYC4KLQotICAgIEF0dHJpYnV0ZXM6Ci0gICAgICAgIHRhcmdldF9iYXNlbmFtZTogQmFzZW5hbWUgb2YgZmlsZSB0byB3cml0ZSBnZW5lcmF0ZWQgdGVzdHMgdG8uIFRoaXMKLSAgICAgICAgICAgIHNob3VsZCBiZSBzcGVjaWZpZWQgaW4gYSBjaGlsZCBjbGFzcyBvZiBCYXNlVGFyZ2V0LgotICAgICIiIgotICAgIHRhcmdldF9iYXNlbmFtZSA9ICIiCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgZ2VuZXJhdGVfdGVzdHMoY2xzKSAtPiBJdGVyYXRvclt0ZXN0X2Nhc2UuVGVzdENhc2VdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGNhc2VzIGZvciB0aGUgY2xhc3MgYW5kIGl0cyBzdWJjbGFzc2VzLgotCi0gICAgICAgIEluIGNsYXNzZXMgd2l0aCBgdGVzdF9mdW5jdGlvbmAgc2V0LCBgZ2VuZXJhdGVfZnVuY3Rpb25fdGVzdHMoKWAgaXMKLSAgICAgICAgY2FsbGVkIHRvIGdlbmVyYXRlIHRlc3QgY2FzZXMgZmlyc3QuCi0KLSAgICAgICAgSW4gYWxsIGNsYXNzZXMsIHRoaXMgbWV0aG9kIHdpbGwgaXRlcmF0ZSBvdmVyIGl0cyBzdWJjbGFzc2VzLCBhbmQKLSAgICAgICAgeWllbGQgZnJvbSBgZ2VuZXJhdGVfdGVzdHMoKWAgaW4gZWFjaC4gQ2FsbGluZyB0aGlzIG1ldGhvZCBvbiBhIGNsYXNzIFgKLSAgICAgICAgd2lsbCB5aWVsZCB0ZXN0IGNhc2VzIGZyb20gYWxsIGNsYXNzZXMgZGVyaXZlZCBmcm9tIFguCi0gICAgICAgICIiIgotICAgICAgICBpZiBpc3N1YmNsYXNzKGNscywgQmFzZVRlc3QpIGFuZCBub3QgaW5zcGVjdC5pc2Fic3RyYWN0KGNscyk6Ci0gICAgICAgICAgICAjcHlsaW50OiBkaXNhYmxlPW5vLW1lbWJlcgotICAgICAgICAgICAgeWllbGQgZnJvbSBjbHMuZ2VuZXJhdGVfZnVuY3Rpb25fdGVzdHMoKQotICAgICAgICBmb3Igc3ViY2xhc3MgaW4gc29ydGVkKGNscy5fX3N1YmNsYXNzZXNfXygpLCBrZXk9bGFtYmRhIGM6IGMuX19uYW1lX18pOgotICAgICAgICAgICAgeWllbGQgZnJvbSBzdWJjbGFzcy5nZW5lcmF0ZV90ZXN0cygpCi0KLQotY2xhc3MgVGVzdEdlbmVyYXRvcjoKLSAgICAiIiJHZW5lcmF0ZSB0ZXN0IGNhc2VzIGFuZCB3cml0ZSB0byBkYXRhIGZpbGVzLiIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zKSAtPiBOb25lOgotICAgICAgICBzZWxmLnRlc3Rfc3VpdGVfZGlyZWN0b3J5ID0gb3B0aW9ucy5kaXJlY3RvcnkKLSAgICAgICAgIyBVcGRhdGUgYHRhcmdldHNgIHdpdGggYW4gZW50cnkgZm9yIGVhY2ggY2hpbGQgY2xhc3Mgb2YgQmFzZVRhcmdldC4KLSAgICAgICAgIyBFYWNoIGVudHJ5IHJlcHJlc2VudHMgYSBmaWxlIGdlbmVyYXRlZCBieSB0aGUgQmFzZVRhcmdldCBmcmFtZXdvcmssCi0gICAgICAgICMgYW5kIGVuYWJsZXMgZ2VuZXJhdGluZyB0aGUgLmRhdGEgZmlsZXMgdXNpbmcgdGhlIENMSS4KLSAgICAgICAgc2VsZi50YXJnZXRzLnVwZGF0ZSh7Ci0gICAgICAgICAgICBzdWJjbGFzcy50YXJnZXRfYmFzZW5hbWU6IHN1YmNsYXNzLmdlbmVyYXRlX3Rlc3RzCi0gICAgICAgICAgICBmb3Igc3ViY2xhc3MgaW4gQmFzZVRhcmdldC5fX3N1YmNsYXNzZXNfXygpCi0gICAgICAgICAgICBpZiBzdWJjbGFzcy50YXJnZXRfYmFzZW5hbWUKLSAgICAgICAgfSkKLQotICAgIGRlZiBmaWxlbmFtZV9mb3Ioc2VsZiwgYmFzZW5hbWU6IHN0cikgLT4gc3RyOgotICAgICAgICAiIiJUaGUgbG9jYXRpb24gb2YgdGhlIGRhdGEgZmlsZSB3aXRoIHRoZSBzcGVjaWZpZWQgYmFzZSBuYW1lLiIiIgotICAgICAgICByZXR1cm4gcG9zaXhwYXRoLmpvaW4oc2VsZi50ZXN0X3N1aXRlX2RpcmVjdG9yeSwgYmFzZW5hbWUgKyAnLmRhdGEnKQotCi0gICAgZGVmIHdyaXRlX3Rlc3RfZGF0YV9maWxlKHNlbGYsIGJhc2VuYW1lOiBzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfY2FzZXM6IEl0ZXJhYmxlW3Rlc3RfY2FzZS5UZXN0Q2FzZV0pIC0+IE5vbmU6Ci0gICAgICAgICIiIldyaXRlIHRoZSB0ZXN0IGNhc2VzIHRvIGEgLmRhdGEgZmlsZS4KLQotICAgICAgICBUaGUgb3V0cHV0IGZpbGUgaXMgYGBiYXNlbmFtZSArICcuZGF0YSdgYCBpbiB0aGUgdGVzdCBzdWl0ZSBkaXJlY3RvcnkuCi0gICAgICAgICIiIgotICAgICAgICBmaWxlbmFtZSA9IHNlbGYuZmlsZW5hbWVfZm9yKGJhc2VuYW1lKQotICAgICAgICB0ZXN0X2Nhc2Uud3JpdGVfZGF0YV9maWxlKGZpbGVuYW1lLCB0ZXN0X2Nhc2VzKQotCi0gICAgIyBOb3RlIHRoYXQgdGFyZ2V0cyB3aG9zZSBuYW1lcyBjb250YWluICd0ZXN0X2Zvcm1hdCcgaGF2ZSB0aGVpciBjb250ZW50Ci0gICAgIyB2YWxpZGF0ZWQgYnkgYGFiaV9jaGVjay5weWAuCi0gICAgdGFyZ2V0cyA9IHt9ICMgdHlwZTogRGljdFtzdHIsIENhbGxhYmxlWy4uLiwgSXRlcmFibGVbdGVzdF9jYXNlLlRlc3RDYXNlXV1dCi0KLSAgICBkZWYgZ2VuZXJhdGVfdGFyZ2V0KHNlbGYsIG5hbWU6IHN0ciwgKnRhcmdldF9hcmdzKSAtPiBOb25lOgotICAgICAgICAiIiJHZW5lcmF0ZSBjYXNlcyBhbmQgd3JpdGUgdG8gZGF0YSBmaWxlIGZvciBhIHRhcmdldC4KLQotICAgICAgICBGb3IgdGFyZ2V0IGNhbGxhYmxlcyB3aGljaCByZXF1aXJlIGFyZ3VtZW50cywgb3ZlcnJpZGUgdGhpcyBmdW5jdGlvbgotICAgICAgICBhbmQgcGFzcyB0aGVzZSBhcmd1bWVudHMgdXNpbmcgc3VwZXIoKSAoc2VlIFBTQVRlc3RHZW5lcmF0b3IpLgotICAgICAgICAiIiIKLSAgICAgICAgdGVzdF9jYXNlcyA9IHNlbGYudGFyZ2V0c1tuYW1lXSgqdGFyZ2V0X2FyZ3MpCi0gICAgICAgIHNlbGYud3JpdGVfdGVzdF9kYXRhX2ZpbGUobmFtZSwgdGVzdF9jYXNlcykKLQotZGVmIG1haW4oYXJncywgZGVzY3JpcHRpb246IHN0ciwgZ2VuZXJhdG9yX2NsYXNzOiBUeXBlW1Rlc3RHZW5lcmF0b3JdID0gVGVzdEdlbmVyYXRvcik6Ci0gICAgIiIiQ29tbWFuZCBsaW5lIGVudHJ5IHBvaW50LiIiIgotICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbGlzdCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdMaXN0IGF2YWlsYWJsZSB0YXJnZXRzIGFuZCBleGl0JykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxpc3QtZm9yLWNtYWtlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1ByaW50IFwnO1wnLXNlcGFyYXRlZCBsaXN0IG9mIGF2YWlsYWJsZSB0YXJnZXRzIGFuZCBleGl0JykKLSAgICAjIElmIHNwZWNpZmllZCBleHBsaWNpdGx5LCB0aGlzIG9wdGlvbiBtYXkgYmUgYSBwYXRoIHJlbGF0aXZlIHRvIHRoZQotICAgICMgY3VycmVudCBkaXJlY3Rvcnkgd2hlbiB0aGUgc2NyaXB0IGlzIGludm9rZWQuIFRoZSBkZWZhdWx0IHZhbHVlCi0gICAgIyBpcyByZWxhdGl2ZSB0byB0aGUgbWJlZHRscyByb290LCB3aGljaCB3ZSBkb24ndCBrbm93IHlldC4gU28gd2UKLSAgICAjIGNhbid0IHNldCBhIHN0cmluZyBhcyB0aGUgZGVmYXVsdCB2YWx1ZSBoZXJlLgotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZGlyZWN0b3J5JywgbWV0YXZhcj0nRElSJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J091dHB1dCBkaXJlY3RvcnkgKGRlZmF1bHQ6IHRlc3RzL3N1aXRlcyknKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ3RhcmdldHMnLCBuYXJncz0nKicsIG1ldGF2YXI9J1RBUkdFVCcsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdUYXJnZXQgZmlsZSB0byBnZW5lcmF0ZSAoZGVmYXVsdDogYWxsOyAiLSI6IG5vbmUpJykKLSAgICBvcHRpb25zID0gcGFyc2VyLnBhcnNlX2FyZ3MoYXJncykKLQotICAgICMgQ2hhbmdlIHRvIHRoZSBtYmVkdGxzIHJvb3QsIHRvIGtlZXAgdGhpbmdzIHNpbXBsZS4gQnV0IGZpcnN0LCBhZGp1c3QKLSAgICAjIGNvbW1hbmQgbGluZSBvcHRpb25zIHRoYXQgbWlnaHQgYmUgcmVsYXRpdmUgcGF0aHMuCi0gICAgaWYgb3B0aW9ucy5kaXJlY3RvcnkgaXMgTm9uZToKLSAgICAgICAgb3B0aW9ucy5kaXJlY3RvcnkgPSAndGVzdHMvc3VpdGVzJwotICAgIGVsc2U6Ci0gICAgICAgIG9wdGlvbnMuZGlyZWN0b3J5ID0gb3MucGF0aC5hYnNwYXRoKG9wdGlvbnMuZGlyZWN0b3J5KQotICAgIGJ1aWxkX3RyZWUuY2hkaXJfdG9fcm9vdCgpCi0KLSAgICBnZW5lcmF0b3IgPSBnZW5lcmF0b3JfY2xhc3Mob3B0aW9ucykKLSAgICBpZiBvcHRpb25zLmxpc3Q6Ci0gICAgICAgIGZvciBuYW1lIGluIHNvcnRlZChnZW5lcmF0b3IudGFyZ2V0cyk6Ci0gICAgICAgICAgICBwcmludChnZW5lcmF0b3IuZmlsZW5hbWVfZm9yKG5hbWUpKQotICAgICAgICByZXR1cm4KLSAgICAjIExpc3QgaW4gYSBjbWFrZSBsaXN0IGZvcm1hdCAoaS5lLiAnOyctc2VwYXJhdGVkKQotICAgIGlmIG9wdGlvbnMubGlzdF9mb3JfY21ha2U6Ci0gICAgICAgIHByaW50KCc7Jy5qb2luKGdlbmVyYXRvci5maWxlbmFtZV9mb3IobmFtZSkKLSAgICAgICAgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gc29ydGVkKGdlbmVyYXRvci50YXJnZXRzKSksIGVuZD0nJykKLSAgICAgICAgcmV0dXJuCi0gICAgaWYgb3B0aW9ucy50YXJnZXRzOgotICAgICAgICAjIEFsbG93ICItIiBhcyBhIHNwZWNpYWwgY2FzZSBzbyB5b3UgY2FuIHJ1bgotICAgICAgICAjIGBgZ2VuZXJhdGVfeHh4X3Rlc3RzLnB5IC0gJHRhcmdldHNgYCBhbmQgaXQgd29ya3MgdW5pZm9ybWx5IHdoZXRoZXIKLSAgICAgICAgIyBgYCR0YXJnZXRzYGAgaXMgZW1wdHkgb3Igbm90LgotICAgICAgICBvcHRpb25zLnRhcmdldHMgPSBbb3MucGF0aC5iYXNlbmFtZShyZS5zdWIocidcLmRhdGFcWicsIHInJywgdGFyZ2V0KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0YXJnZXQgaW4gb3B0aW9ucy50YXJnZXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpZiB0YXJnZXQgIT0gJy0nXQotICAgIGVsc2U6Ci0gICAgICAgIG9wdGlvbnMudGFyZ2V0cyA9IHNvcnRlZChnZW5lcmF0b3IudGFyZ2V0cykKLSAgICBmb3IgdGFyZ2V0IGluIG9wdGlvbnMudGFyZ2V0czoKLSAgICAgICAgZ2VuZXJhdG9yLmdlbmVyYXRlX3RhcmdldCh0YXJnZXQpCmRpZmYgLS1naXQgYS9zY3JpcHRzL21iZWR0bHNfZGV2L3R5cGluZ191dGlsLnB5IGIvc2NyaXB0cy9tYmVkdGxzX2Rldi90eXBpbmdfdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmVjNDQ4ZC4uMDAwMDAwMAotLS0gYS9zY3JpcHRzL21iZWR0bHNfZGV2L3R5cGluZ191dGlsLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotIiIiQXV4aWxpYXJ5IGRlZmluaXRpb25zIHVzZWQgaW4gdHlwZSBhbm5vdGF0aW9ucy4KLSIiIgotCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLSMKLQotZnJvbSB0eXBpbmcgaW1wb3J0IEFueQotCi0jIFRoZSB0eXBpbmdfZXh0ZW5zaW9ucyBtb2R1bGUgaXMgbmVjZXNzYXJ5IGZvciB0eXBlIGFubm90YXRpb25zIHRoYXQgYXJlCi0jIGNoZWNrZWQgd2l0aCBteXB5LiBJdCBpcyBvbmx5IHVzZWQgZm9yIHR5cGUgYW5ub3RhdGlvbnMgb3IgdG8gZGVmaW5lCi0jIHRoaW5ncyB0aGF0IGFyZSB0aGVtc2VsdmVzIG9ubHkgdXNlZCBmb3IgdHlwZSBhbm5vdGF0aW9ucy4gSXQgaXMgbm90Ci0jIGF2YWlsYWJsZSBvbiBhIGRlZmF1bHQgUHl0aG9uIGluc3RhbGxhdGlvbi4gVGhlcmVmb3JlLCB0cnkgbG9hZGluZwotIyB3aGF0IHdlIG5lZWQgZnJvbSBpdCBmb3IgdGhlIHNha2Ugb2YgbXlweSAod2hpY2ggZGVwZW5kcyBvbiwgb3IgY29tZXMKLSMgd2l0aCwgdHlwaW5nX2V4dGVuc2lvbnMpLCBhbmQgaWYgbm90IGRlZmluZSBzdWJzdGl0dXRlcyB0aGF0IGxhY2sgdGhlCi0jIHN0YXRpYyB0eXBlIGluZm9ybWF0aW9uIGJ1dCBhcmUgZ29vZCBlbm91Z2ggYXQgcnVudGltZS4KLXRyeToKLSAgICBmcm9tIHR5cGluZ19leHRlbnNpb25zIGltcG9ydCBQcm90b2NvbCAjcHlsaW50OiBkaXNhYmxlPWltcG9ydC1lcnJvcgotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGNsYXNzIFByb3RvY29sOiAjdHlwZTogaWdub3JlCi0gICAgICAgICNweWxpbnQ6IGRpc2FibGU9dG9vLWZldy1wdWJsaWMtbWV0aG9kcwotICAgICAgICBwYXNzCi0KLWNsYXNzIFdyaXRhYmxlKFByb3RvY29sKToKLSAgICAiIiJBYnN0cmFjdCBjbGFzcyBmb3IgdHlwaW5nIGhpbnRzLiIiIgotICAgICMgcHlsaW50OiBkaXNhYmxlPW5vLXNlbGYtdXNlLHRvby1mZXctcHVibGljLW1ldGhvZHMsdW51c2VkLWFyZ3VtZW50Ci0gICAgZGVmIHdyaXRlKHNlbGYsIHRleHQ6IHN0cikgLT4gQW55OgotICAgICAgICAuLi4KZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWluX3JlcXVpcmVtZW50cy5weSBiL3NjcmlwdHMvbWluX3JlcXVpcmVtZW50cy5weQppbmRleCA5ODg4YWJlLi5iMzZmOTA2IDEwMDc1NQotLS0gYS9zY3JpcHRzL21pbl9yZXF1aXJlbWVudHMucHkKKysrIGIvc2NyaXB0cy9taW5fcmVxdWlyZW1lbnRzLnB5CkBAIC0xNCw3ICsxNCw5IEBACiBpbXBvcnQgdHlwaW5nCiAKIGZyb20gdHlwaW5nIGltcG9ydCBMaXN0LCBPcHRpb25hbAotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgdHlwaW5nX3V0aWwKKworaW1wb3J0IGZyYW1ld29ya19zY3JpcHRzX3BhdGggIyBweWxpbnQ6IGRpc2FibGU9dW51c2VkLWltcG9ydAorZnJvbSBtYmVkdGxzX2ZyYW1ld29yayBpbXBvcnQgdHlwaW5nX3V0aWwKIAogZGVmIHB5bGludF9kb2Vzbl90X25vdGljZV90aGF0X2NlcnRhaW5fdHlwZXNfYXJlX3VzZWRfaW5fYW5ub3RhdGlvbnMoCiAgICAgICAgIF9saXN0OiBMaXN0W3R5cGluZy5BbnldLApkaWZmIC0tZ2l0IGEvc2NyaXB0cy9vdXRwdXRfZW52LnNoIGIvc2NyaXB0cy9vdXRwdXRfZW52LnNoCmluZGV4IGIwNTZmZmQuLjMyZjFmODYgMTAwNzU1Ci0tLSBhL3NjcmlwdHMvb3V0cHV0X2Vudi5zaAorKysgYi9zY3JpcHRzL291dHB1dF9lbnYuc2gKQEAgLTc4LDEwICs3OCw2IEBACiBlY2hvCiAKIGlmIFsgIiR7UlVOX0FSTUNDOi0xfSIgLW5lIDAgXTsgdGhlbgotICAgIDogIiR7QVJNQzVfQ0M6PWFybWNjfSIKLSAgICBwcmludF92ZXJzaW9uICIkQVJNQzVfQ0MiICItLXZzbiIgIiIgImhlYWQgLW4gMiIKLSAgICBlY2hvCi0KICAgICA6ICIke0FSTUM2X0NDOj1hcm1jbGFuZ30iCiAgICAgcHJpbnRfdmVyc2lvbiAiJEFSTUM2X0NDIiAiLS12c24iICIiICJoZWFkIC1uIDIiCiAgICAgZWNobwpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9wcm9qZWN0X25hbWUudHh0IGIvc2NyaXB0cy9wcm9qZWN0X25hbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzOGNmMjYKLS0tIC9kZXYvbnVsbAorKysgYi9zY3JpcHRzL3Byb2plY3RfbmFtZS50eHQKQEAgLTAsMCArMSBAQAorTWJlZCBUTFMKZGlmZiAtLWdpdCBhL3Rlc3RzLy5naXRpZ25vcmUgYi90ZXN0cy8uZ2l0aWdub3JlCmluZGV4IDk3M2ViYjUuLjBjNTg4NzUgMTAwNjQ0Ci0tLSBhL3Rlc3RzLy5naXRpZ25vcmUKKysrIGIvdGVzdHMvLmdpdGlnbm9yZQpAQCAtMywyMiArMywyNyBAQAogCiAqLmxvZwogL3Rlc3Rfc3VpdGUqCi1kYXRhX2ZpbGVzL21waV93cml0ZQotZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZAotZGF0YV9maWxlcy9jdHJfZHJiZ19zZWVkCi1kYXRhX2ZpbGVzL2VudHJvcHlfc2VlZAorL2RhdGFfZmlsZXMvbXBpX3dyaXRlCisvZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZAorL2RhdGFfZmlsZXMvY3RyX2RyYmdfc2VlZAorL2RhdGFfZmlsZXMvZW50cm9weV9zZWVkCiAKLWluY2x1ZGUvYWx0LWV4dHJhL3BzYS9jcnlwdG9fcGxhdGZvcm1fYWx0LmgKLWluY2x1ZGUvYWx0LWV4dHJhL3BzYS9jcnlwdG9fc3RydWN0X2FsdC5oCi1pbmNsdWRlL3Rlc3QvaW5zdHJ1bWVudF9yZWNvcmRfc3RhdHVzLmgKKy9pbmNsdWRlL2FsdC1leHRyYS9wc2EvY3J5cHRvX3BsYXRmb3JtX2FsdC5oCisvaW5jbHVkZS9hbHQtZXh0cmEvcHNhL2NyeXB0b19zdHJ1Y3RfYWx0LmgKKy9pbmNsdWRlL3Rlc3QvaW5zdHJ1bWVudF9yZWNvcmRfc3RhdHVzLmgKIAotc3JjL2xpYm1iZWQqCisvc3JjL2xpYm1iZWQqCiAKLWxpYnRlc3Rkcml2ZXIxLyoKKy9saWJ0ZXN0ZHJpdmVyMS8qCiAKICMjI1NUQVJUX0dFTkVSQVRFRF9GSUxFUyMjIwogIyBHZW5lcmF0ZWQgc291cmNlIGZpbGVzCisvb3B0LXRlc3RjYXNlcy90bHMxMy1jb21wYXQuc2gKIC9zdWl0ZXMvKi5nZW5lcmF0ZWQuZGF0YQorL3N1aXRlcy90ZXN0X3N1aXRlX2NvbmZpZy5tYmVkdGxzX2Jvb2xlYW4uZGF0YQorL3N1aXRlcy90ZXN0X3N1aXRlX2NvbmZpZy5wc2FfYm9vbGVhbi5kYXRhCiAvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zdG9yYWdlX2Zvcm1hdC52WzAtOV0qLmRhdGEKIC9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3N0b3JhZ2VfZm9ybWF0LmN1cnJlbnQuZGF0YQorL3NyYy90ZXN0X2tleXMuaAorL3NyYy90ZXN0X2NlcnRzLmgKICMjI0VORF9HRU5FUkFURURfRklMRVMjIyMKZGlmZiAtLWdpdCBhL3Rlc3RzL0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvQ01ha2VMaXN0cy50eHQKaW5kZXggNTg5NjQzYS4uMWViNWUzYiAxMDA2NDQKLS0tIGEvdGVzdHMvQ01ha2VMaXN0cy50eHQKKysrIGIvdGVzdHMvQ01ha2VMaXN0cy50eHQKQEAgLTIxLDcgKzIxLDcgQEAKIGV4ZWN1dGVfcHJvY2VzcygKICAgICBDT01NQU5ECiAgICAgICAgICR7TUJFRFRMU19QWVRIT05fRVhFQ1VUQUJMRX0KLSAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5CisgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkKICAgICAgICAgLS1saXN0LWZvci1jbWFrZQogICAgIFdPUktJTkdfRElSRUNUT1JZCiAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLgpAQCAtMzMsNyArMzMsMTkgQEAKIGV4ZWN1dGVfcHJvY2VzcygKICAgICBDT01NQU5ECiAgICAgICAgICR7TUJFRFRMU19QWVRIT05fRVhFQ1VUQUJMRX0KLSAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5CisgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9jb25maWdfdGVzdHMucHkKKyAgICAgICAgLS1saXN0LWZvci1jbWFrZQorICAgIFdPUktJTkdfRElSRUNUT1JZCisgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLgorICAgIE9VVFBVVF9WQVJJQUJMRQorICAgICAgICBiYXNlX2NvbmZpZ19nZW5lcmF0ZWRfZGF0YV9maWxlcykKK3N0cmluZyhSRUdFWCBSRVBMQUNFICJbXjtdKi8iICIiCisgICAgICAgYmFzZV9jb25maWdfZ2VuZXJhdGVkX2RhdGFfZmlsZXMgIiR7YmFzZV9jb25maWdfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9IikKKworZXhlY3V0ZV9wcm9jZXNzKAorICAgIENPTU1BTkQKKyAgICAgICAgJHtNQkVEVExTX1BZVEhPTl9FWEVDVVRBQkxFfQorICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5CiAgICAgICAgIC0tbGlzdC1mb3ItY21ha2UKICAgICBXT1JLSU5HX0RJUkVDVE9SWQogICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4KQEAgLTQ1LDcgKzU3LDcgQEAKIGV4ZWN1dGVfcHJvY2VzcygKICAgICBDT01NQU5ECiAgICAgICAgICR7TUJFRFRMU19QWVRIT05fRVhFQ1VUQUJMRX0KLSAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX3Rlc3RzLnB5CisgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkKICAgICAgICAgLS1saXN0LWZvci1jbWFrZQogICAgIFdPUktJTkdfRElSRUNUT1JZCiAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLgpAQCAtNTcsMTUgKzY5LDIwIEBACiAjIERlcml2ZSBnZW5lcmF0ZWQgZmlsZSBwYXRocyBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5LiBUaGUgZ2VuZXJhdGVkIGRhdGEKICMgZmlsZXMgZ28gaW50byB0aGUgc3VpdGVzLyBzdWJkaXJlY3RvcnkuCiBzZXQoYmFzZV9nZW5lcmF0ZWRfZGF0YV9maWxlcwotICAgICR7YmFzZV9iaWdudW1fZ2VuZXJhdGVkX2RhdGFfZmlsZXN9ICR7YmFzZV9lY3BfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9ICR7YmFzZV9wc2FfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9KQorICAgICR7YmFzZV9iaWdudW1fZ2VuZXJhdGVkX2RhdGFfZmlsZXN9ICR7YmFzZV9jb25maWdfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9CisgICAgJHtiYXNlX2VjcF9nZW5lcmF0ZWRfZGF0YV9maWxlc30gJHtiYXNlX3BzYV9nZW5lcmF0ZWRfZGF0YV9maWxlc30pCiBzdHJpbmcoUkVHRVggUkVQTEFDRSAiKFteO10rKSIgInN1aXRlcy9cXDEiCiAgICAgICAgYWxsX2dlbmVyYXRlZF9kYXRhX2ZpbGVzICIke2Jhc2VfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9IikKIHNldChiaWdudW1fZ2VuZXJhdGVkX2RhdGFfZmlsZXMgIiIpCitzZXQoY29uZmlnX2dlbmVyYXRlZF9kYXRhX2ZpbGVzICIiKQogc2V0KGVjcF9nZW5lcmF0ZWRfZGF0YV9maWxlcyAiIikKIHNldChwc2FfZ2VuZXJhdGVkX2RhdGFfZmlsZXMgIiIpCiBmb3JlYWNoKGZpbGUgJHtiYXNlX2JpZ251bV9nZW5lcmF0ZWRfZGF0YV9maWxlc30pCiAgICAgbGlzdChBUFBFTkQgYmlnbnVtX2dlbmVyYXRlZF9kYXRhX2ZpbGVzICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9zdWl0ZXMvJHtmaWxlfSkKIGVuZGZvcmVhY2goKQorZm9yZWFjaChmaWxlICR7YmFzZV9jb25maWdfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9KQorICAgIGxpc3QoQVBQRU5EIGNvbmZpZ19nZW5lcmF0ZWRfZGF0YV9maWxlcyAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vc3VpdGVzLyR7ZmlsZX0pCitlbmRmb3JlYWNoKCkKIGZvcmVhY2goZmlsZSAke2Jhc2VfZWNwX2dlbmVyYXRlZF9kYXRhX2ZpbGVzfSkKICAgICBsaXN0KEFQUEVORCBlY3BfZ2VuZXJhdGVkX2RhdGFfZmlsZXMgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3N1aXRlcy8ke2ZpbGV9KQogZW5kZm9yZWFjaCgpCkBAIC04MSwxNiArOTgsMzEgQEAKICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLgogICAgICAgICBDT01NQU5ECiAgICAgICAgICAgICAke01CRURUTFNfUFlUSE9OX0VYRUNVVEFCTEV9Ci0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkKICAgICAgICAgICAgIC0tZGlyZWN0b3J5ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9zdWl0ZXMKICAgICAgICAgREVQRU5EUwotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5Ci0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9iaWdudW1fY29tbW9uLnB5Ci0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9iaWdudW1fY29yZS5weQotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX21vZF9yYXcucHkKLSAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9zY3JpcHRzL21iZWR0bHNfZGV2L2JpZ251bV9tb2QucHkKLSAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9zY3JpcHRzL21iZWR0bHNfZGV2L3Rlc3RfY2FzZS5weQotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3NjcmlwdHMvbWJlZHRsc19kZXYvdGVzdF9kYXRhX2dlbmVyYXRpb24ucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9iaWdudW1fY29tbW9uLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvYmlnbnVtX2NvcmUucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9iaWdudW1fbW9kX3Jhdy5weQorICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL2JpZ251bV9tb2QucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay90ZXN0X2Nhc2UucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay90ZXN0X2RhdGFfZ2VuZXJhdGlvbi5weQorICAgICkKKyAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgICAgIE9VVFBVVAorICAgICAgICAgICAgJHtjb25maWdfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9CisgICAgICAgIFdPUktJTkdfRElSRUNUT1JZCisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4KKyAgICAgICAgQ09NTUFORAorICAgICAgICAgICAgJHtNQkVEVExTX1BZVEhPTl9FWEVDVVRBQkxFfQorICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX2NvbmZpZ190ZXN0cy5weQorICAgICAgICAgICAgLS1kaXJlY3RvcnkgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3N1aXRlcworICAgICAgICBERVBFTkRTCisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfY29uZmlnX3Rlc3RzLnB5CisgICAgICAgICAgICAjIERvIG5vdCBkZWNsYXJlIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIGFzIGRlcGVuZGVuY2llczogdGhleQorICAgICAgICAgICAgIyBjaGFuZ2UgdG9vIG9mdGVuIGluIHdheXMgdGhhdCBkb24ndCBhZmZlY3QgdGhlIHJlc3VsdAorICAgICAgICAgICAgIyAoKHVuKWNvbW1lbnRpbmcgc29tZSBvcHRpb25zKS4KICAgICApCiAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAogICAgICAgICBPVVRQVVQKQEAgLTk5LDE0ICsxMzEsMTQgQEAKICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLgogICAgICAgICBDT01NQU5ECiAgICAgICAgICAgICAke01CRURUTFNfUFlUSE9OX0VYRUNVVEFCTEV9Ci0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9lY3BfdGVzdHMucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9lY3BfdGVzdHMucHkKICAgICAgICAgICAgIC0tZGlyZWN0b3J5ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9zdWl0ZXMKICAgICAgICAgREVQRU5EUwotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5Ci0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9iaWdudW1fY29tbW9uLnB5Ci0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9lY3AucHkKLSAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9zY3JpcHRzL21iZWR0bHNfZGV2L3Rlc3RfY2FzZS5weQotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3NjcmlwdHMvbWJlZHRsc19kZXYvdGVzdF9kYXRhX2dlbmVyYXRpb24ucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9lY3BfdGVzdHMucHkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9iaWdudW1fY29tbW9uLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvZWNwLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvdGVzdF9jYXNlLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvdGVzdF9kYXRhX2dlbmVyYXRpb24ucHkKICAgICApCiAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAogICAgICAgICBPVVRQVVQKQEAgLTExNSwyMiArMTQ3LDM4IEBACiAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4KICAgICAgICAgQ09NTUFORAogICAgICAgICAgICAgJHtNQkVEVExTX1BZVEhPTl9FWEVDVVRBQkxFfQotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX3Rlc3RzLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX3Rlc3RzLnB5CiAgICAgICAgICAgICAtLWRpcmVjdG9yeSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vc3VpdGVzCiAgICAgICAgIERFUEVORFMKLSAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weQotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3NjcmlwdHMvbWJlZHRsc19kZXYvY3J5cHRvX2RhdGFfdGVzdHMucHkKLSAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9zY3JpcHRzL21iZWR0bHNfZGV2L2NyeXB0b19rbm93bGVkZ2UucHkKLSAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9zY3JpcHRzL21iZWR0bHNfZGV2L21hY3JvX2NvbGxlY3Rvci5weQotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3NjcmlwdHMvbWJlZHRsc19kZXYvcHNhX2luZm9ybWF0aW9uLnB5Ci0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9wc2Ffc3RvcmFnZS5weQotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL3NjcmlwdHMvbWJlZHRsc19kZXYvdGVzdF9jYXNlLnB5Ci0gICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi90ZXN0X2RhdGFfZ2VuZXJhdGlvbi5weQorICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weQorICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL2NyeXB0b19kYXRhX3Rlc3RzLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvY3J5cHRvX2tub3dsZWRnZS5weQorICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL21hY3JvX2NvbGxlY3Rvci5weQorICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL3BzYV9pbmZvcm1hdGlvbi5weQorICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL3BzYV9zdG9yYWdlLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvdGVzdF9jYXNlLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvdGVzdF9kYXRhX2dlbmVyYXRpb24ucHkKICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9pbmNsdWRlL3BzYS9jcnlwdG9fY29uZmlnLmgKICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9pbmNsdWRlL3BzYS9jcnlwdG9fdmFsdWVzLmgKICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9pbmNsdWRlL3BzYS9jcnlwdG9fZXh0cmEuaAogICAgICkKIAorICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAgICAgICAgT1VUUFVUCisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vb3B0LXRlc3RjYXNlcy90bHMxMy1jb21wYXQuc2gKKyAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLgorICAgICAgICBDT01NQU5ECisgICAgICAgICAgICAiJHtNQkVEVExTX1BZVEhPTl9FWEVDVVRBQkxFfSIKKyAgICAgICAgICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGxzMTNfY29tcGF0X3Rlc3RzLnB5IgorICAgICAgICBERVBFTkRTCisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGxzMTNfY29tcGF0X3Rlc3RzLnB5CisgICAgKQorICAgIGFkZF9jdXN0b21fdGFyZ2V0KHRsczEzLWNvbXBhdC5zaAorICAgICAgICBERVBFTkRTICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9vcHQtdGVzdGNhc2VzL3RsczEzLWNvbXBhdC5zaCkKKyAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXModGxzMTMtY29tcGF0LnNoIFBST1BFUlRJRVMgRVhDTFVERV9GUk9NX0FMTCBOTykKKyAgICBhZGRfZGVwZW5kZW5jaWVzKCR7c3NsX29wdF90YXJnZXR9IHRsczEzLWNvbXBhdC5zaCkKKwogZWxzZSgpCiAgICAgZm9yZWFjaChmaWxlICR7YWxsX2dlbmVyYXRlZF9kYXRhX2ZpbGVzfSkKICAgICAgICAgbGlua190b19zb3VyY2UoJHtmaWxlfSkKQEAgLTE0Miw2ICsxOTAsNyBAQAogIyBXaXRoIHRoaXMgbGluZSwgb25seSA0IHN1Yi1tYWtlZmlsZXMgaW5jbHVkZSB0aGUgYWJvdmUgY29tbWFuZCwgdGhhdCByZWR1Y2VzCiAjIHRoZSByaXNrIG9mIGEgcmFjZS4KIGFkZF9jdXN0b21fdGFyZ2V0KHRlc3Rfc3VpdGVfYmlnbnVtX2dlbmVyYXRlZF9kYXRhIERFUEVORFMgJHtiaWdudW1fZ2VuZXJhdGVkX2RhdGFfZmlsZXN9KQorYWRkX2N1c3RvbV90YXJnZXQodGVzdF9zdWl0ZV9jb25maWdfZ2VuZXJhdGVkX2RhdGEgREVQRU5EUyAke2NvbmZpZ19nZW5lcmF0ZWRfZGF0YV9maWxlc30pCiBhZGRfY3VzdG9tX3RhcmdldCh0ZXN0X3N1aXRlX2VjcF9nZW5lcmF0ZWRfZGF0YSBERVBFTkRTICR7ZWNwX2dlbmVyYXRlZF9kYXRhX2ZpbGVzfSkKIGFkZF9jdXN0b21fdGFyZ2V0KHRlc3Rfc3VpdGVfcHNhX2dlbmVyYXRlZF9kYXRhIERFUEVORFMgJHtwc2FfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9KQogIyBJZiBTS0lQX1RFU1RfU1VJVEVTIGlzIG5vdCBkZWZpbmVkIHdpdGggLUQsIGdldCBpdCBmcm9tIHRoZSBlbnZpcm9ubWVudC4KQEAgLTE2NSw2ICsyMTQsNyBAQAogICAgICMgR2V0IHRoZSB0ZXN0IG5hbWVzIG9mIHRoZSB0ZXN0cyB3aXRoIGdlbmVyYXRlZCAuZGF0YSBmaWxlcwogICAgICMgZnJvbSB0aGUgZ2VuZXJhdGVkX2RhdGFfZmlsZXMgbGlzdCBpbiBwYXJlbnQgc2NvcGUuCiAgICAgc2V0KGJpZ251bV9nZW5lcmF0ZWRfZGF0YV9uYW1lcyAiIikKKyAgICBzZXQoY29uZmlnX2dlbmVyYXRlZF9kYXRhX25hbWVzICIiKQogICAgIHNldChlY3BfZ2VuZXJhdGVkX2RhdGFfbmFtZXMgIiIpCiAgICAgc2V0KHBzYV9nZW5lcmF0ZWRfZGF0YV9uYW1lcyAiIikKICAgICBmb3JlYWNoKGdlbmVyYXRlZF9kYXRhX2ZpbGUgJHtiaWdudW1fZ2VuZXJhdGVkX2RhdGFfZmlsZXN9KQpAQCAtMTc2LDYgKzIyNiwxNSBAQAogICAgICAgICBzdHJpbmcoU1VCU1RSSU5HICR7Z2VuZXJhdGVkX2RhdGFfbmFtZX0gMTEgLTEgZ2VuZXJhdGVkX2RhdGFfbmFtZSkKICAgICAgICAgbGlzdChBUFBFTkQgYmlnbnVtX2dlbmVyYXRlZF9kYXRhX25hbWVzICR7Z2VuZXJhdGVkX2RhdGFfbmFtZX0pCiAgICAgZW5kZm9yZWFjaCgpCisgICAgZm9yZWFjaChnZW5lcmF0ZWRfZGF0YV9maWxlICR7Y29uZmlnX2dlbmVyYXRlZF9kYXRhX2ZpbGVzfSkKKyAgICAgICAgIyBHZXQgdGhlIHBsYWluIGZpbGVuYW1lCisgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQoZ2VuZXJhdGVkX2RhdGFfbmFtZSAke2dlbmVyYXRlZF9kYXRhX2ZpbGV9IE5BTUUpCisgICAgICAgICMgUmVtb3ZlIHRoZSAiLmRhdGEiIGV4dGVuc2lvbgorICAgICAgICBnZXRfbmFtZV93aXRob3V0X2xhc3RfZXh0KGdlbmVyYXRlZF9kYXRhX25hbWUgJHtnZW5lcmF0ZWRfZGF0YV9uYW1lfSkKKyAgICAgICAgIyBSZW1vdmUgbGVhZGluZyAidGVzdF9zdWl0ZV8iCisgICAgICAgIHN0cmluZyhTVUJTVFJJTkcgJHtnZW5lcmF0ZWRfZGF0YV9uYW1lfSAxMSAtMSBnZW5lcmF0ZWRfZGF0YV9uYW1lKQorICAgICAgICBsaXN0KEFQUEVORCBjb25maWdfZ2VuZXJhdGVkX2RhdGFfbmFtZXMgJHtnZW5lcmF0ZWRfZGF0YV9uYW1lfSkKKyAgICBlbmRmb3JlYWNoKCkKICAgICBmb3JlYWNoKGdlbmVyYXRlZF9kYXRhX2ZpbGUgJHtlY3BfZ2VuZXJhdGVkX2RhdGFfZmlsZXN9KQogICAgICAgICAjIEdldCB0aGUgcGxhaW4gZmlsZW5hbWUKICAgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChnZW5lcmF0ZWRfZGF0YV9uYW1lICR7Z2VuZXJhdGVkX2RhdGFfZmlsZX0gTkFNRSkKQEAgLTE5OSw2ICsyNTgsMTAgQEAKICAgICAgICAgc2V0KGRhdGFfZmlsZQogICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3N1aXRlcy90ZXN0X3N1aXRlXyR7ZGF0YV9uYW1lfS5kYXRhKQogICAgICAgICBzZXQoZGVwZW5kZW5jeSB0ZXN0X3N1aXRlX2JpZ251bV9nZW5lcmF0ZWRfZGF0YSkKKyAgICBlbHNlaWYoIjske2NvbmZpZ19nZW5lcmF0ZWRfZGF0YV9uYW1lc307IiBNQVRDSEVTICI7JHtkYXRhX25hbWV9OyIpCisgICAgICAgIHNldChkYXRhX2ZpbGUKKyAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9zdWl0ZXMvdGVzdF9zdWl0ZV8ke2RhdGFfbmFtZX0uZGF0YSkKKyAgICAgICAgc2V0KGRlcGVuZGVuY3kgdGVzdF9zdWl0ZV9jb25maWdfZ2VuZXJhdGVkX2RhdGEpCiAgICAgZWxzZWlmKCI7JHtlY3BfZ2VuZXJhdGVkX2RhdGFfbmFtZXN9OyIgTUFUQ0hFUyAiOyR7ZGF0YV9uYW1lfTsiKQogICAgICAgICBzZXQoZGF0YV9maWxlCiAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vc3VpdGVzL3Rlc3Rfc3VpdGVfJHtkYXRhX25hbWV9LmRhdGEpCkBAIC0yMTAsNyArMjczLDExIEBACiAgICAgZWxzZSgpCiAgICAgICAgIHNldChkYXRhX2ZpbGUKICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9zdWl0ZXMvdGVzdF9zdWl0ZV8ke2RhdGFfbmFtZX0uZGF0YSkKLSAgICAgICAgc2V0KGRlcGVuZGVuY3kgdGVzdF9zdWl0ZV9iaWdudW1fZ2VuZXJhdGVkX2RhdGEgdGVzdF9zdWl0ZV9lY3BfZ2VuZXJhdGVkX2RhdGEgdGVzdF9zdWl0ZV9wc2FfZ2VuZXJhdGVkX2RhdGEpCisgICAgICAgIHNldChkZXBlbmRlbmN5CisgICAgICAgICAgICB0ZXN0X3N1aXRlX2JpZ251bV9nZW5lcmF0ZWRfZGF0YQorICAgICAgICAgICAgdGVzdF9zdWl0ZV9jb25maWdfZ2VuZXJhdGVkX2RhdGEKKyAgICAgICAgICAgIHRlc3Rfc3VpdGVfZWNwX2dlbmVyYXRlZF9kYXRhCisgICAgICAgICAgICB0ZXN0X3N1aXRlX3BzYV9nZW5lcmF0ZWRfZGF0YSkKICAgICBlbmRpZigpCiAKICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCkBAIC0yMjAsNyArMjg3LDcgQEAKICAgICAgICAgICAgIHRlc3Rfc3VpdGVfJHtkYXRhX25hbWV9LmMKICAgICAgICAgQ09NTUFORAogICAgICAgICAgICAgJHtNQkVEVExTX1BZVEhPTl9FWEVDVVRBQkxFfQotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jb2RlLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jb2RlLnB5CiAgICAgICAgICAgICAtZiAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vc3VpdGVzL3Rlc3Rfc3VpdGVfJHtzdWl0ZV9uYW1lfS5mdW5jdGlvbgogICAgICAgICAgICAgLWQgJHtkYXRhX2ZpbGV9CiAgICAgICAgICAgICAtdCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vc3VpdGVzL21haW5fdGVzdC5mdW5jdGlvbgpAQCAtMjI5LDcgKzI5Niw3IEBACiAgICAgICAgICAgICAtLWhlbHBlcnMtZmlsZSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vc3VpdGVzL2hlbHBlcnMuZnVuY3Rpb24KICAgICAgICAgICAgIC1vIC4KICAgICAgICAgREVQRU5EUwotICAgICAgICAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jb2RlLnB5CisgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jb2RlLnB5CiAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vc3VpdGVzL3Rlc3Rfc3VpdGVfJHtzdWl0ZV9uYW1lfS5mdW5jdGlvbgogICAgICAgICAgICAgJHtkYXRhX2ZpbGV9CiAgICAgICAgICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vc3VpdGVzL21haW5fdGVzdC5mdW5jdGlvbgpAQCAtMzAwLDcgKzM2Nyw3IEBACiAgICAgbGlua190b19zb3VyY2UoRGVzY3JpcHRpb25zLnR4dCkKICAgICBsaW5rX3RvX3NvdXJjZShjb21wYXQuc2gpCiAgICAgbGlua190b19zb3VyY2UoY29udGV4dC1pbmZvLnNoKQotICAgIGxpbmtfdG9fc291cmNlKGRhdGFfZmlsZXMpCisgICAgbGlua190b19zb3VyY2UoLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMpCiAgICAgbGlua190b19zb3VyY2Uoc2NyaXB0cykKICAgICBsaW5rX3RvX3NvdXJjZShzc2wtb3B0LnNoKQogICAgIGxpbmtfdG9fc291cmNlKG9wdC10ZXN0Y2FzZXMpCmRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZSBiL3Rlc3RzL01ha2VmaWxlCmluZGV4IGMyYTBiODQuLmExZjliOTAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL01ha2VmaWxlCisrKyBiL3Rlc3RzL01ha2VmaWxlCkBAIC0xNiwyOSArMTYsNTUgQEAKIExPQ0FMX0NGTEFHUyArPSAtV2Vycm9yIC1EUkVDT1JEX1BTQV9TVEFUVVNfQ09WRVJBR0VfTE9HCiBlbmRpZgogCi0uUEhPTlk6IGdlbmVyYXRlZF9maWxlcwogR0VORVJBVEVEX0JJR05VTV9EQVRBX0ZJTEVTIDo9ICQocGF0c3Vic3QgdGVzdHMvJSwlLCQoc2hlbGwgXAotCSQoUFlUSE9OKSBzY3JpcHRzL2dlbmVyYXRlX2JpZ251bV90ZXN0cy5weSAtLWxpc3QgfHwgXAorCSQoUFlUSE9OKSAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkgLS1saXN0IHx8IFwKIAllY2hvIEZBSUxFRCBcCiApKQogaWZlcSAoJChHRU5FUkFURURfQklHTlVNX0RBVEFfRklMRVMpLEZBSUxFRCkKLSQoZXJyb3IgIiQoUFlUSE9OKSBzY3JpcHRzL2dlbmVyYXRlX2JpZ251bV90ZXN0cy5weSAtLWxpc3QiIGZhaWxlZCkKKyQoZXJyb3IgIiQoUFlUSE9OKSAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkgLS1saXN0IiBmYWlsZWQpCiBlbmRpZgorR0VORVJBVEVEX0RBVEFfRklMRVMgKz0gJChHRU5FUkFURURfQklHTlVNX0RBVEFfRklMRVMpCisKK0dFTkVSQVRFRF9DT05GSUdfREFUQV9GSUxFUyA6PSAkKHBhdHN1YnN0IHRlc3RzLyUsJSwkKHNoZWxsIFwKKwkkKFBZVEhPTikgLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfY29uZmlnX3Rlc3RzLnB5IC0tbGlzdCB8fCBcCisJZWNobyBGQUlMRUQgXAorKSkKK2lmZXEgKCQoR0VORVJBVEVEX0NPTkZJR19EQVRBX0ZJTEVTKSxGQUlMRUQpCiskKGVycm9yICIkKFBZVEhPTikgLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfY29uZmlnX3Rlc3RzLnB5IC0tbGlzdCIgZmFpbGVkKQorZW5kaWYKK0dFTkVSQVRFRF9EQVRBX0ZJTEVTICs9ICQoR0VORVJBVEVEX0NPTkZJR19EQVRBX0ZJTEVTKQorCiBHRU5FUkFURURfRUNQX0RBVEFfRklMRVMgOj0gJChwYXRzdWJzdCB0ZXN0cy8lLCUsJChzaGVsbCBcCi0JJChQWVRIT04pIHNjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5IC0tbGlzdCB8fCBcCisJJChQWVRIT04pIC4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX2VjcF90ZXN0cy5weSAtLWxpc3QgfHwgXAogCWVjaG8gRkFJTEVEIFwKICkpCiBpZmVxICgkKEdFTkVSQVRFRF9FQ1BfREFUQV9GSUxFUyksRkFJTEVEKQotJChlcnJvciAiJChQWVRIT04pIHNjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5IC0tbGlzdCIgZmFpbGVkKQorJChlcnJvciAiJChQWVRIT04pIC4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX2VjcF90ZXN0cy5weSAtLWxpc3QiIGZhaWxlZCkKIGVuZGlmCitHRU5FUkFURURfREFUQV9GSUxFUyArPSAkKEdFTkVSQVRFRF9FQ1BfREFUQV9GSUxFUykKKwogR0VORVJBVEVEX1BTQV9EQVRBX0ZJTEVTIDo9ICQocGF0c3Vic3QgdGVzdHMvJSwlLCQoc2hlbGwgXAotCSQoUFlUSE9OKSBzY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weSAtLWxpc3QgfHwgXAorCSQoUFlUSE9OKSAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkgLS1saXN0IHx8IFwKIAllY2hvIEZBSUxFRCBcCiApKQogaWZlcSAoJChHRU5FUkFURURfUFNBX0RBVEFfRklMRVMpLEZBSUxFRCkKLSQoZXJyb3IgIiQoUFlUSE9OKSBzY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weSAtLWxpc3QiIGZhaWxlZCkKKyQoZXJyb3IgIiQoUFlUSE9OKSAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkgLS1saXN0IiBmYWlsZWQpCiBlbmRpZgotR0VORVJBVEVEX0ZJTEVTIDo9ICQoR0VORVJBVEVEX1BTQV9EQVRBX0ZJTEVTKSAkKEdFTkVSQVRFRF9FQ1BfREFUQV9GSUxFUykgJChHRU5FUkFURURfQklHTlVNX0RBVEFfRklMRVMpCitHRU5FUkFURURfREFUQV9GSUxFUyArPSAkKEdFTkVSQVRFRF9QU0FfREFUQV9GSUxFUykKKworR0VORVJBVEVEX0ZJTEVTID0gJChHRU5FUkFURURfREFUQV9GSUxFUykKK0dFTkVSQVRFRF9GSUxFUyArPSBzcmMvdGVzdF9rZXlzLmggc3JjL3Rlc3RfY2VydHMuaAorCisjIEdlbmVyYXRlZCBmaWxlcyBuZWVkZWQgdG8gKGZ1bGx5KSBydW4gc3NsLW9wdC5zaAorLlBIT05ZOiBzc2wtb3B0CisKK29wdC10ZXN0Y2FzZXMvdGxzMTMtY29tcGF0LnNoOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV90bHMxM19jb21wYXRfdGVzdHMucHkKKwllY2hvICIgIEdlbiAgICRAIgorCSQoUFlUSE9OKSAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV90bHMxM19jb21wYXRfdGVzdHMucHkgLW8gJEAKK0dFTkVSQVRFRF9GSUxFUyArPSBvcHQtdGVzdGNhc2VzL3RsczEzLWNvbXBhdC5zaAorc3NsLW9wdDogb3B0LXRlc3RjYXNlcy90bHMxMy1jb21wYXQuc2gKKworLlBIT05ZOiBnZW5lcmF0ZWRfZmlsZXMKIGdlbmVyYXRlZF9maWxlczogJChHRU5FUkFURURfRklMRVMpCiAKICMgZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5IGFuZCBnZW5lcmF0ZV9wc2FfdGVzdHMucHkgc3BlbmQgbW9yZSB0aW1lIGFuYWx5emluZwpAQCAtNDcsMzggKzczLDU1IEBACiAjIEl0J3MgcmFyZSBub3QgdG8gd2FudCBhbGwgdGhlIG91dHB1dHMuIFNvIGFsd2F5cyBnZW5lcmF0ZSBhbGwgb2YgaXRzIG91dHB1dHMuCiAjIFVzZSBhbiBpbnRlcm1lZGlhdGUgcGhvbnkgZGVwZW5kZW5jeSBzbyB0aGF0IHBhcmFsbGVsIGJ1aWxkcyBkb24ndCBydW4KICMgYSBzZXBhcmF0ZSBpbnN0YW5jZSBvZiB0aGUgcmVjaXBlIGZvciBlYWNoIG91dHB1dCBmaWxlLgotLlNFQ09OREFSWTogZ2VuZXJhdGVkX2JpZ251bV90ZXN0X2RhdGEgZ2VuZXJhdGVkX2VjcF90ZXN0X2RhdGEgZ2VuZXJhdGVkX3BzYV90ZXN0X2RhdGEKICQoR0VORVJBVEVEX0JJR05VTV9EQVRBX0ZJTEVTKTogJChnZW5fZmlsZV9kZXApIGdlbmVyYXRlZF9iaWdudW1fdGVzdF9kYXRhCi1nZW5lcmF0ZWRfYmlnbnVtX3Rlc3RfZGF0YTogc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkKLWdlbmVyYXRlZF9iaWdudW1fdGVzdF9kYXRhOiAuLi9zY3JpcHRzL21iZWR0bHNfZGV2L2JpZ251bV9jb21tb24ucHkKLWdlbmVyYXRlZF9iaWdudW1fdGVzdF9kYXRhOiAuLi9zY3JpcHRzL21iZWR0bHNfZGV2L2JpZ251bV9jb3JlLnB5Ci1nZW5lcmF0ZWRfYmlnbnVtX3Rlc3RfZGF0YTogLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9iaWdudW1fbW9kX3Jhdy5weQotZ2VuZXJhdGVkX2JpZ251bV90ZXN0X2RhdGE6IC4uL3NjcmlwdHMvbWJlZHRsc19kZXYvYmlnbnVtX21vZC5weQotZ2VuZXJhdGVkX2JpZ251bV90ZXN0X2RhdGE6IC4uL3NjcmlwdHMvbWJlZHRsc19kZXYvdGVzdF9jYXNlLnB5Ci1nZW5lcmF0ZWRfYmlnbnVtX3Rlc3RfZGF0YTogLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi90ZXN0X2RhdGFfZ2VuZXJhdGlvbi5weQorZ2VuZXJhdGVkX2JpZ251bV90ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX2JpZ251bV90ZXN0cy5weQorZ2VuZXJhdGVkX2JpZ251bV90ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL2JpZ251bV9jb21tb24ucHkKK2dlbmVyYXRlZF9iaWdudW1fdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9iaWdudW1fY29yZS5weQorZ2VuZXJhdGVkX2JpZ251bV90ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL2JpZ251bV9tb2RfcmF3LnB5CitnZW5lcmF0ZWRfYmlnbnVtX3Rlc3RfZGF0YTogLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvYmlnbnVtX21vZC5weQorZ2VuZXJhdGVkX2JpZ251bV90ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL3Rlc3RfY2FzZS5weQorZ2VuZXJhdGVkX2JpZ251bV90ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL3Rlc3RfZGF0YV9nZW5lcmF0aW9uLnB5CiBnZW5lcmF0ZWRfYmlnbnVtX3Rlc3RfZGF0YToKIAllY2hvICIgIEdlbiAgICQoR0VORVJBVEVEX0JJR05VTV9EQVRBX0ZJTEVTKSIKLQkkKFBZVEhPTikgc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkKKwkkKFBZVEhPTikgLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5CisuU0VDT05EQVJZOiBnZW5lcmF0ZWRfYmlnbnVtX3Rlc3RfZGF0YQorCisjIFdlIGRlbGliZXJhdGVseSBvbWl0IHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIChtYmVkdGxzX2NvbmZpZy5oLAorIyBjcnlwdG9fY29uZmlnLmgpIGZyb20gdGhlIGRlcGVuZW5jeSBsaXN0IGJlY2F1c2UgZHVyaW5nIGRldmVsb3BtZW50CisjIGFuZCBvbiB0aGUgQ0ksIHdlIG9mdGVuIGVkaXQgdGhvc2UgaW4gYSB3YXkgdGhhdCBkb2Vzbid0IGNoYW5nZSB0aGUKKyMgb3V0cHV0LCB0byBjb21tZW50IG91dCBjZXJ0YWluIG9wdGlvbnMsIG9yIGV2ZW4gdG8gcmVtb3ZlIGNlcnRhaW4KKyMgbGluZXMgd2hpY2ggZG8gYWZmZWN0IHRoZSBvdXRwdXQgbmVnYXRpdmVseSAoaXQgd2lsbCBtaXNzIHRoZQorIyBjb3JyZXNwb25kaW5nIHRlc3QgY2FzZXMpLgorJChHRU5FUkFURURfQ09ORklHX0RBVEFfRklMRVMpOiAkKGdlbl9maWxlX2RlcCkgZ2VuZXJhdGVkX2NvbmZpZ190ZXN0X2RhdGEKK2dlbmVyYXRlZF9jb25maWdfdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9jb25maWdfdGVzdHMucHkKK2dlbmVyYXRlZF9jb25maWdfdGVzdF9kYXRhOiAuLi9zY3JpcHRzL2NvbmZpZy5weQorZ2VuZXJhdGVkX2NvbmZpZ190ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL3Rlc3RfY2FzZS5weQorZ2VuZXJhdGVkX2NvbmZpZ190ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL3Rlc3RfZGF0YV9nZW5lcmF0aW9uLnB5CitnZW5lcmF0ZWRfY29uZmlnX3Rlc3RfZGF0YToKKwllY2hvICIgIEdlbiAgICQoR0VORVJBVEVEX0NPTkZJR19EQVRBX0ZJTEVTKSIKKwkkKFBZVEhPTikgLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfY29uZmlnX3Rlc3RzLnB5CisuU0VDT05EQVJZOiBnZW5lcmF0ZWRfY29uZmlnX3Rlc3RfZGF0YQogCiAkKEdFTkVSQVRFRF9FQ1BfREFUQV9GSUxFUyk6ICQoZ2VuX2ZpbGVfZGVwKSBnZW5lcmF0ZWRfZWNwX3Rlc3RfZGF0YQotZ2VuZXJhdGVkX2VjcF90ZXN0X2RhdGE6IHNjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5Ci1nZW5lcmF0ZWRfZWNwX3Rlc3RfZGF0YTogLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9iaWdudW1fY29tbW9uLnB5Ci1nZW5lcmF0ZWRfZWNwX3Rlc3RfZGF0YTogLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9lY3AucHkKLWdlbmVyYXRlZF9lY3BfdGVzdF9kYXRhOiAuLi9zY3JpcHRzL21iZWR0bHNfZGV2L3Rlc3RfY2FzZS5weQotZ2VuZXJhdGVkX2VjcF90ZXN0X2RhdGE6IC4uL3NjcmlwdHMvbWJlZHRsc19kZXYvdGVzdF9kYXRhX2dlbmVyYXRpb24ucHkKK2dlbmVyYXRlZF9lY3BfdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9lY3BfdGVzdHMucHkKK2dlbmVyYXRlZF9lY3BfdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9iaWdudW1fY29tbW9uLnB5CitnZW5lcmF0ZWRfZWNwX3Rlc3RfZGF0YTogLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvZWNwLnB5CitnZW5lcmF0ZWRfZWNwX3Rlc3RfZGF0YTogLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvdGVzdF9jYXNlLnB5CitnZW5lcmF0ZWRfZWNwX3Rlc3RfZGF0YTogLi4vZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvdGVzdF9kYXRhX2dlbmVyYXRpb24ucHkKIGdlbmVyYXRlZF9lY3BfdGVzdF9kYXRhOgogCWVjaG8gIiAgR2VuICAgJChHRU5FUkFURURfRUNQX0RBVEFfRklMRVMpIgotCSQoUFlUSE9OKSBzY3JpcHRzL2dlbmVyYXRlX2VjcF90ZXN0cy5weQorCSQoUFlUSE9OKSAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9lY3BfdGVzdHMucHkKKy5TRUNPTkRBUlk6IGdlbmVyYXRlZF9lY3BfdGVzdF9kYXRhCiAKICQoR0VORVJBVEVEX1BTQV9EQVRBX0ZJTEVTKTogJChnZW5fZmlsZV9kZXApIGdlbmVyYXRlZF9wc2FfdGVzdF9kYXRhCi1nZW5lcmF0ZWRfcHNhX3Rlc3RfZGF0YTogc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkKLWdlbmVyYXRlZF9wc2FfdGVzdF9kYXRhOiAuLi9zY3JpcHRzL21iZWR0bHNfZGV2L2NyeXB0b19kYXRhX3Rlc3RzLnB5Ci1nZW5lcmF0ZWRfcHNhX3Rlc3RfZGF0YTogLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9jcnlwdG9fa25vd2xlZGdlLnB5Ci1nZW5lcmF0ZWRfcHNhX3Rlc3RfZGF0YTogLi4vc2NyaXB0cy9tYmVkdGxzX2Rldi9tYWNyb19jb2xsZWN0b3IucHkKLWdlbmVyYXRlZF9wc2FfdGVzdF9kYXRhOiAuLi9zY3JpcHRzL21iZWR0bHNfZGV2L3BzYV9pbmZvcm1hdGlvbi5weQotZ2VuZXJhdGVkX3BzYV90ZXN0X2RhdGE6IC4uL3NjcmlwdHMvbWJlZHRsc19kZXYvcHNhX3N0b3JhZ2UucHkKLWdlbmVyYXRlZF9wc2FfdGVzdF9kYXRhOiAuLi9zY3JpcHRzL21iZWR0bHNfZGV2L3Rlc3RfY2FzZS5weQotZ2VuZXJhdGVkX3BzYV90ZXN0X2RhdGE6IC4uL3NjcmlwdHMvbWJlZHRsc19kZXYvdGVzdF9kYXRhX2dlbmVyYXRpb24ucHkKK2dlbmVyYXRlZF9wc2FfdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkKK2dlbmVyYXRlZF9wc2FfdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9jcnlwdG9fZGF0YV90ZXN0cy5weQorZ2VuZXJhdGVkX3BzYV90ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL2NyeXB0b19rbm93bGVkZ2UucHkKK2dlbmVyYXRlZF9wc2FfdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9tYWNyb19jb2xsZWN0b3IucHkKK2dlbmVyYXRlZF9wc2FfdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9wc2FfaW5mb3JtYXRpb24ucHkKK2dlbmVyYXRlZF9wc2FfdGVzdF9kYXRhOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay9wc2Ffc3RvcmFnZS5weQorZ2VuZXJhdGVkX3BzYV90ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL3Rlc3RfY2FzZS5weQorZ2VuZXJhdGVkX3BzYV90ZXN0X2RhdGE6IC4uL2ZyYW1ld29yay9zY3JpcHRzL21iZWR0bHNfZnJhbWV3b3JrL3Rlc3RfZGF0YV9nZW5lcmF0aW9uLnB5CiAjIyBUaGUgZ2VuZXJhdGVkIGZpbGUgb25seSBkZXBlbmRzIG9uIHRoZSBvcHRpb25zIHRoYXQgYXJlIHByZXNlbnQgaW4KICMjIGNyeXB0b19jb25maWcuaCwgbm90IG9uIHdoaWNoIG9wdGlvbnMgYXJlIHNldC4gVG8gYXZvaWQgcmVnZW5lcmF0aW5nIHRoaXMKICMjIGZpbGUgYWxsIHRoZSB0aW1lIHdoZW4gc3dpdGNoaW5nIGJldHdlZW4gY29uZmlndXJhdGlvbnMsIGRvbid0IGRlY2xhcmUKQEAgLTkwLDcgKzEzMyw4IEBACiBnZW5lcmF0ZWRfcHNhX3Rlc3RfZGF0YTogc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19tZXRhZGF0YS5kYXRhCiBnZW5lcmF0ZWRfcHNhX3Rlc3RfZGF0YToKIAllY2hvICIgIEdlbiAgICQoR0VORVJBVEVEX1BTQV9EQVRBX0ZJTEVTKSAuLi4iCi0JJChQWVRIT04pIHNjcmlwdHMvZ2VuZXJhdGVfcHNhX3Rlc3RzLnB5CisJJChQWVRIT04pIC4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weQorLlNFQ09OREFSWTogZ2VuZXJhdGVkX3BzYV90ZXN0X2RhdGEKIAogIyBBIHRlc3QgYXBwbGljYXRpb24gaXMgYnVpbHQgZm9yIGVhY2ggc3VpdGVzL3Rlc3Rfc3VpdGVfKi5kYXRhIGZpbGUuCiAjIEFwcGxpY2F0aW9uIG5hbWUgaXMgc2FtZSBhcyAuZGF0YSBmaWxlJ3MgYmFzZSBuYW1lIGFuZCBjYW4gYmUKQEAgLTk4LDcgKzE0Miw3IEBACiBEQVRBX0ZJTEVTIDo9ICQod2lsZGNhcmQgc3VpdGVzL3Rlc3Rfc3VpdGVfKi5kYXRhKQogIyBNYWtlIHN1cmUgdGhhdCBnZW5lcmF0ZWQgZGF0YSBmaWxlcyBhcmUgaW5jbHVkZWQgZXZlbiBpZiB0aGV5IGRvbid0CiAjIGV4aXN0IHlldCB3aGVuIHRoZSBtYWtlZmlsZSBpcyBwYXJzZWQuCi1EQVRBX0ZJTEVTICs9ICQoZmlsdGVyLW91dCAkKERBVEFfRklMRVMpLCQoR0VORVJBVEVEX0ZJTEVTKSkKK0RBVEFfRklMRVMgKz0gJChmaWx0ZXItb3V0ICQoREFUQV9GSUxFUyksJChHRU5FUkFURURfREFUQV9GSUxFUykpCiBBUFBTID0gJChiYXNlbmFtZSAkKHN1YnN0IHN1aXRlcy8sLCQoREFUQV9GSUxFUykpKQogCiAjIENvbnN0cnVjdCBleGVjdXRhYmxlIG5hbWUgYnkgYWRkaW5nIE9TIHNwZWNpZmljIHN1ZmZpeCAkKEVYRVhUKS4KQEAgLTExMiw2ICsxNTYsMTUgQEAKIAogbWJlZHRsc190ZXN0OiAkKE1CRURUTFNfVEVTVF9PQkpTKQogCitzcmMvdGVzdF9jZXJ0cy5oOiAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2NlcnRfbWFjcm9zLnB5IFwKKwkJCQkgICQoJChQWVRIT04pIC4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX3Rlc3RfY2VydF9tYWNyb3MucHkgLS1saXN0LWRlcGVuZGVuY2llcykKKwllY2hvICIgIEdlbiAgICRAIgorCSQoUFlUSE9OKSAuLi9mcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2NlcnRfbWFjcm9zLnB5IC0tb3V0cHV0ICRACisKK3NyYy90ZXN0X2tleXMuaDogLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9rZXlzLnB5CisJZWNobyAiICBHZW4gICAkQCIKKwkkKFBZVEhPTikgLi4vZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9rZXlzLnB5IC0tb3V0cHV0ICRACisKIFRFU1RfT0JKU19ERVBTID0gJCh3aWxkY2FyZCBpbmNsdWRlL3Rlc3QvKi5oIGluY2x1ZGUvdGVzdC8qLyouaCkKIGlmZGVmIFJFQ09SRF9QU0FfU1RBVFVTX0NPVkVSQUdFX0xPRwogIyBFeHBsaWNpdGx5IGRlcGVuZCBvbiB0aGlzIGhlYWRlciBiZWNhdXNlIG9uIGEgY2xlYW4gY29weSBvZiB0aGUgc291cmNlIHRyZWUsCkBAIC0xMTksNiArMTcyLDcgQEAKICMgdGhlcmVmb3JlIHRoZSB3aWxkY2FyZCBlbnVtZXJhdGlvbiBhYm92ZSBkb2Vzbid0IGluY2x1ZGUgaXQuCiBURVNUX09CSlNfREVQUyArPSBpbmNsdWRlL3Rlc3QvaW5zdHJ1bWVudF9yZWNvcmRfc3RhdHVzLmgKIGVuZGlmCitURVNUX09CSlNfREVQUyArPSBzcmMvdGVzdF9jZXJ0cy5oIHNyYy90ZXN0X2tleXMuaAogCiAjIFJ1bGUgdG8gY29tcGlsZSBjb21tb24gdGVzdCBDIGZpbGVzIGluIHNyYyBmb2xkZXIKIHNyYy8lLm8gOiBzcmMvJS5jICQoVEVTVF9PQkpTX0RFUFMpCkBAIC0xNTEsOSArMjA1LDkgQEAKICMgZG90IGluIC5jIGZpbGUncyBiYXNlIG5hbWUuCiAjCiAuU0VDT05ERVhQQU5TSU9OOgotJS5jOiBzdWl0ZXMvJCQoZmlyc3R3b3JkICQkKHN1YnN0IC4sICwkJCopKS5mdW5jdGlvbiBzdWl0ZXMvJS5kYXRhIHNjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jb2RlLnB5IHN1aXRlcy9oZWxwZXJzLmZ1bmN0aW9uIHN1aXRlcy9tYWluX3Rlc3QuZnVuY3Rpb24gc3VpdGVzL2hvc3RfdGVzdC5mdW5jdGlvbgorJS5jOiBzdWl0ZXMvJCQoZmlyc3R3b3JkICQkKHN1YnN0IC4sICwkJCopKS5mdW5jdGlvbiBzdWl0ZXMvJS5kYXRhIC4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX3Rlc3RfY29kZS5weSBzdWl0ZXMvaGVscGVycy5mdW5jdGlvbiBzdWl0ZXMvbWFpbl90ZXN0LmZ1bmN0aW9uIHN1aXRlcy9ob3N0X3Rlc3QuZnVuY3Rpb24KIAllY2hvICIgIEdlbiAgICRAIgotCSQoUFlUSE9OKSBzY3JpcHRzL2dlbmVyYXRlX3Rlc3RfY29kZS5weSAtZiBzdWl0ZXMvJChmaXJzdHdvcmQgJChzdWJzdCAuLCAsJCopKS5mdW5jdGlvbiBcCisJJChQWVRIT04pIC4uL2ZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX3Rlc3RfY29kZS5weSAtZiBzdWl0ZXMvJChmaXJzdHdvcmQgJChzdWJzdCAuLCAsJCopKS5mdW5jdGlvbiBcCiAJCS1kIHN1aXRlcy8kKi5kYXRhIFwKIAkJLXQgc3VpdGVzL21haW5fdGVzdC5mdW5jdGlvbiBcCiAJCS1wIHN1aXRlcy9ob3N0X3Rlc3QuZnVuY3Rpb24gXApAQCAtMTgxLDcgKzIzNSw3IEBACiAJaWYgZXhpc3Qgc3JjLyoubyBkZWwgL1EgL0Ygc3JjLyoubwogCWlmIGV4aXN0IHNyYy9kcml2ZXJzLyoubyBkZWwgL1EgL0Ygc3JjL2RyaXZlcnMvKi5vCiAJaWYgZXhpc3Qgc3JjL3Rlc3RfaGVscGVycy8qLm8gZGVsIC9RIC9GIHNyYy90ZXN0X2hlbHBlcnMvKi5vCi0JaWYgZXhpc3Qgc3JjL2xpYm1iZWQqIGRlbCAvUSAvRiBzcmMvbGlibWVkKgorCWlmIGV4aXN0IHNyYy9saWJtYmVkKiBkZWwgL1EgL0Ygc3JjL2xpYm1iZWQqCiAJaWYgZXhpc3QgaW5jbHVkZS90ZXN0L2luc3RydW1lbnRfcmVjb3JkX3N0YXR1cy5oIGRlbCAvUSAvRiBpbmNsdWRlL3Rlc3QvaW5zdHJ1bWVudF9yZWNvcmRfc3RhdHVzLmgKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvbXBhdC5zaCBiL3Rlc3RzL2NvbXBhdC5zaAppbmRleCBkN2E5MWI0Li4yMmRhNWVlIDEwMDc1NQotLS0gYS90ZXN0cy9jb21wYXQuc2gKKysrIGIvdGVzdHMvY29tcGF0LnNoCkBAIC05Niw2ICs5Niw3IEBACiBFWENMVURFPSdOVUxMXHxBUklBXHxDSEFDSEEyMF9QT0xZMTMwNScKIFZFUkJPU0U9IiIKIE1FTUNIRUNLPTAKK01JTl9URVNUUz0xCiBQUkVTRVJWRV9MT0dTPTAKIFBFRVJTPSJPcGVuU1NMJFBFRVJfR05VVExTIG1iZWRUTFMiCiAKQEAgLTExNiw2ICsxMTcsNyBAQAogICAgIHByaW50ZiAiICAtTXwtLW1lbWNoZWNrXHRDaGVjayBtZW1vcnkgbGVha3MgYW5kIGVycm9ycy5cbiIKICAgICBwcmludGYgIiAgLXZ8LS12ZXJib3NlXHRTZXQgdmVyYm9zZSBvdXRwdXQuXG4iCiAgICAgcHJpbnRmICIgICAgIC0tbGlzdC10ZXN0LWNhc2VzXHRMaXN0IGFsbCBwb3RlbnRpYWwgdGVzdCBjYXNlcyAoTm8gRXhlY3V0aW9uKVxuIgorICAgIHByaW50ZiAiICAgICAtLW1pbiAgICAgIFx0TWluaW11bSBudW1iZXIgb2Ygbm9uLXNraXBwZWQgdGVzdHMgKGRlZmF1bHQgMSlcbiIKICAgICBwcmludGYgIiAgICAgLS1vdXRjb21lLWZpbGVcdEZpbGUgd2hlcmUgdGVzdCBvdXRjb21lcyBhcmUgd3JpdHRlblxuIgogICAgIHByaW50ZiAiICAgICAgICAgICAgICAgICAgIFx0KGRlZmF1bHQ6IFwkTUJFRFRMU19URVNUX09VVENPTUVfRklMRSwgbm9uZSBpZiBlbXB0eSlcbiIKICAgICBwcmludGYgIiAgICAgLS1wcmVzZXJ2ZS1sb2dzXHRQcmVzZXJ2ZSBsb2dzIG9mIHN1Y2Nlc3NmdWwgdGVzdHMgYXMgd2VsbFxuIgpAQCAtMTkwLDYgKzE5Miw5IEBACiAgICAgICAgICAgICAgICAgbGlzdF90ZXN0X2Nhc2VzCiAgICAgICAgICAgICAgICAgZXhpdCAkPwogICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAtLW1pbikKKyAgICAgICAgICAgICAgICBzaGlmdDsgTUlOX1RFU1RTPSQxCisgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgIC0tb3V0Y29tZS1maWxlKQogICAgICAgICAgICAgICAgIHNoaWZ0OyBNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFPSQxCiAgICAgICAgICAgICAgICAgOzsKQEAgLTI4NSw3ICsyOTAsNyBAQAogIyBsaXN0IG9mIGVudHJpZXMgb2YgdGhlIGZvcm0gIlNUQU5EQVJEX05BTUU9UFJPR1JBTV9OQU1FIi4KIHRyYW5zbGF0ZV9jaXBoZXJzKCkKIHsKLSAgICBjaXBoZXJzPSQoc2NyaXB0cy90cmFuc2xhdGVfY2lwaGVycy5weSAiJEAiKQorICAgIGNpcGhlcnM9JCguLi9mcmFtZXdvcmsvc2NyaXB0cy90cmFuc2xhdGVfY2lwaGVycy5weSAiJEAiKQogICAgIGlmIFsgJD8gLW5lIDAgXTsgdGhlbgogICAgICAgICBlY2hvICJ0cmFuc2xhdGVfY2lwaGVycy5weSBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJDEiID4mMgogICAgICAgICBlY2hvICIkMiIgPiYyCkBAIC01ODgsNyArNTkzLDE4IEBACiAjIG9fY2hlY2tfY2lwaGVyc3VpdGUgU1RBTkRBUkRfQ0lQSEVSX1NVSVRFCiBvX2NoZWNrX2NpcGhlcnN1aXRlKCkKIHsKLSAgICBpZiBbICIke09fU1VQUE9SVF9FQ0RIfSIgPSAiTk8iIF07IHRoZW4KKyAgICAjIHNraXAgRFRMUyB3aGVuIGxhY2sgb2Ygc3VwcG9ydCB3YXMgZGVjbGFyZWQKKyAgICBpZiB0ZXN0ICIkT1NTTF9OT19EVExTIiAtZ3QgMCAmJiBpc19kdGxzICIkTU9ERSI7IHRoZW4KKyAgICAgICAgU0tJUF9ORVhUXz0iWUVTIgorICAgIGZpCisKKyAgICAjIHNraXAgRFRMUyAxLjIgaXMgc3VwcG9ydCB3YXMgbm90IGRldGVjdGVkCisgICAgaWYgWyAiJE9fU1VQUE9SVF9EVExTMTIiID0gIk5PIiAtYSAiJE1PREUiID0gImR0bHMxMiIgXTsgdGhlbgorICAgICAgICBTS0lQX05FWFQ9IllFUyIKKyAgICBmaQorCisgICAgIyBza2lwIHN0YXRpYyBFQ0RIIHdoZW4gT3BlblNTTCBkb2Vzbid0IHN1cHBvcnQgaXQKKyAgICBpZiBbICIke09fU1VQUE9SVF9TVEFUSUNfRUNESH0iID0gIk5PIiBdOyB0aGVuCiAgICAgICAgIGNhc2UgIiQxIiBpbgogICAgICAgICAgICAgKkVDREhfKikgU0tJUF9ORVhUPSJZRVMiCiAgICAgICAgIGVzYWMKQEAgLTU5Nyw2ICs2MTMsOCBAQAogCiBzZXR1cF9hcmd1bWVudHMoKQogeworICAgIERBVEFfRklMRVNfUEFUSD0iLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMiCisKICAgICBPX01PREU9IiIKICAgICBHX01PREU9IiIKICAgICBjYXNlICIkTU9ERSIgaW4KQEAgLTYzNSw3ICs2NTMsNyBAQAogICAgICMgZm9yY2UgaXQgb3Igbm90IGZvciBpbnRlcm1lZGlhdGUgdmVyc2lvbnMuCiAgICAgY2FzZSAkKCRPUEVOU1NMIHZlcnNpb24pIGluCiAgICAgICAgICJPcGVuU1NMIDEuMCIqKQotICAgICAgICAgICAgT19TRVJWRVJfQVJHUz0iJE9fU0VSVkVSX0FSR1MgLWRocGFyYW0gZGF0YV9maWxlcy9kaHBhcmFtcy5wZW0iCisgICAgICAgICAgICBPX1NFUlZFUl9BUkdTPSIkT19TRVJWRVJfQVJHUyAtZGhwYXJhbSAkREFUQV9GSUxFU19QQVRIL2RocGFyYW1zLnBlbSIKICAgICAgICAgICAgIDs7CiAgICAgZXNhYwogCkBAIC02NjUsMTkgKzY4MywzNCBAQAogICAgIGVzYWMKIAogICAgIGNhc2UgJCgkT1BFTlNTTCBjaXBoZXJzIEFMTCkgaW4KLSAgICAgICAgKkVDREgtRUNEU0EqfCpFQ0RILVJTQSopIE9fU1VQUE9SVF9FQ0RIPSJZRVMiOzsKLSAgICAgICAgKikgT19TVVBQT1JUX0VDREg9Ik5PIjs7CisgICAgICAgICpFQ0RILUVDRFNBKnwqRUNESC1SU0EqKSBPX1NVUFBPUlRfU1RBVElDX0VDREg9IllFUyI7OworICAgICAgICAqKSBPX1NVUFBPUlRfU1RBVElDX0VDREg9Ik5PIjs7CiAgICAgZXNhYwogCisgICAgY2FzZSAkKCRPUEVOU1NMIGNpcGhlcnMgQUxMKSBpbgorICAgICAgICAqREVTLUNCQy0qKSBPX1NVUFBPUlRfU0lOR0xFX0RFUz0iWUVTIjs7CisgICAgICAgICopIE9fU1VQUE9SVF9TSU5HTEVfREVTPSJOTyI7OworICAgIGVzYWMKKworICAgICMgT3BlblNTTCA8MS4wLjIgZG9lc24ndCBzdXBwb3J0IERUTFMgMS4yLiBDaGVjayBpZiBPcGVuU1NMCisgICAgIyBzdXBwb3J0cyAtZHRsczFfMiBmcm9tIHRoZSBzX3NlcnZlciBoZWxwLiAoVGhlIHNfY2xpZW50CisgICAgIyBoZWxwIGlzbid0IGFjY3VyYXRlIGFzIG9mIDEuMC4yZzogaXQgc3VwcG9ydHMgRFRMUyAxLjIKKyAgICAjIGJ1dCBkb2Vzbid0IGxpc3QgaXQuIEJ1dCB0aGUgc19zZXJ2ZXIgaGVscCBzZWVtcyB0byBiZQorICAgICMgYWNjdXJhdGUuKQorICAgIE9fU1VQUE9SVF9EVExTMTI9Ik5PIgorICAgIGlmICRPUEVOU1NMIHNfc2VydmVyIC1oZWxwIDI+JjEgfCBncmVwIC1xICJeICotZHRsczFfMiAiOyB0aGVuCisgICAgICAgIE9fU1VQUE9SVF9EVExTMTI9IllFUyIKKyAgICBmaQorCiAgICAgaWYgWyAiWCRWRVJJRlkiID0gIlhZRVMiIF07CiAgICAgdGhlbgotICAgICAgICBNX1NFUlZFUl9BUkdTPSIkTV9TRVJWRVJfQVJHUyBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgYXV0aF9tb2RlPXJlcXVpcmVkIgotICAgICAgICBPX1NFUlZFUl9BUkdTPSIkT19TRVJWRVJfQVJHUyAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLVZlcmlmeSAxMCIKLSAgICAgICAgR19TRVJWRVJfQVJHUz0iJEdfU0VSVkVSX0FSR1MgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1yZXF1aXJlLWNsaWVudC1jZXJ0IgorICAgICAgICBNX1NFUlZFUl9BUkdTPSIkTV9TRVJWRVJfQVJHUyBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYV9jYXQxMi5jcnQgYXV0aF9tb2RlPXJlcXVpcmVkIgorICAgICAgICBPX1NFUlZFUl9BUkdTPSIkT19TRVJWRVJfQVJHUyAtQ0FmaWxlICREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYV9jYXQxMi5jcnQgLVZlcmlmeSAxMCIKKyAgICAgICAgR19TRVJWRVJfQVJHUz0iJEdfU0VSVkVSX0FSR1MgLS14NTA5Y2FmaWxlICREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYV9jYXQxMi5jcnQgLS1yZXF1aXJlLWNsaWVudC1jZXJ0IgogCi0gICAgICAgIE1fQ0xJRU5UX0FSR1M9IiRNX0NMSUVOVF9BUkdTIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBhdXRoX21vZGU9cmVxdWlyZWQiCi0gICAgICAgIE9fQ0xJRU5UX0FSR1M9IiRPX0NMSUVOVF9BUkdTIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtdmVyaWZ5IDEwIgotICAgICAgICBHX0NMSUVOVF9BUkdTPSIkR19DTElFTlRfQVJHUyAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCIKKyAgICAgICAgTV9DTElFTlRfQVJHUz0iJE1fQ0xJRU5UX0FSR1MgY2FfZmlsZT0kREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IGF1dGhfbW9kZT1yZXF1aXJlZCIKKyAgICAgICAgT19DTElFTlRfQVJHUz0iJE9fQ0xJRU5UX0FSR1MgLUNBZmlsZSAkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IC12ZXJpZnkgMTAiCisgICAgICAgIEdfQ0xJRU5UX0FSR1M9IiRHX0NMSUVOVF9BUkdTIC0teDUwOWNhZmlsZSAkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IgogICAgIGVsc2UKICAgICAgICAgIyBkb24ndCByZXF1ZXN0IGEgY2xpZW50IGNlcnQgYXQgYWxsCiAgICAgICAgIE1fU0VSVkVSX0FSR1M9IiRNX1NFUlZFUl9BUkdTIGNhX2ZpbGU9bm9uZSBhdXRoX21vZGU9bm9uZSIKQEAgLTY5MCwyOCArNzIzLDI4IEBACiAKICAgICBjYXNlICRUWVBFIGluCiAgICAgICAgICJFQ0RTQSIpCi0gICAgICAgICAgICBNX1NFUlZFUl9BUkdTPSIkTV9TRVJWRVJfQVJHUyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiCi0gICAgICAgICAgICBPX1NFUlZFUl9BUkdTPSIkT19TRVJWRVJfQVJHUyAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIKLSAgICAgICAgICAgIEdfU0VSVkVSX0FSR1M9IiRHX1NFUlZFUl9BUkdTIC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyNS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IgorICAgICAgICAgICAgTV9TRVJWRVJfQVJHUz0iJE1fU0VSVkVSX0FSR1MgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IgorICAgICAgICAgICAgT19TRVJWRVJfQVJHUz0iJE9fU0VSVkVSX0FSR1MgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiCisgICAgICAgICAgICBHX1NFUlZFUl9BUkdTPSIkR19TRVJWRVJfQVJHUyAtLXg1MDljZXJ0ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IC0teDUwOWtleWZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIKIAogICAgICAgICAgICAgaWYgWyAiWCRWRVJJRlkiID0gIlhZRVMiIF07IHRoZW4KLSAgICAgICAgICAgICAgICBNX0NMSUVOVF9BUkdTPSIkTV9DTElFTlRfQVJHUyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5rZXkiCi0gICAgICAgICAgICAgICAgT19DTElFTlRfQVJHUz0iJE9fQ0xJRU5UX0FSR1MgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNi5rZXkiCi0gICAgICAgICAgICAgICAgR19DTElFTlRfQVJHUz0iJEdfQ0xJRU5UX0FSR1MgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyNi5rZXkiCisgICAgICAgICAgICAgICAgTV9DTElFTlRfQVJHUz0iJE1fQ0xJRU5UX0FSR1MgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IgorICAgICAgICAgICAgICAgIE9fQ0xJRU5UX0FSR1M9IiRPX0NMSUVOVF9BUkdTIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5jcnQgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IgorICAgICAgICAgICAgICAgIEdfQ0xJRU5UX0FSR1M9IiRHX0NMSUVOVF9BUkdTIC0teDUwOWNlcnRmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5jcnQgLS14NTA5a2V5ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IgogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIE1fQ0xJRU5UX0FSR1M9IiRNX0NMSUVOVF9BUkdTIGNydF9maWxlPW5vbmUga2V5X2ZpbGU9bm9uZSIKICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICA7OwogCiAgICAgICAgICJSU0EiKQotICAgICAgICAgICAgTV9TRVJWRVJfQVJHUz0iJE1fU0VSVkVSX0FSR1MgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSIKLSAgICAgICAgICAgIE9fU0VSVkVSX0FSR1M9IiRPX1NFUlZFUl9BUkdTIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSIKLSAgICAgICAgICAgIEdfU0VSVkVSX0FSR1M9IiRHX1NFUlZFUl9BUkdTIC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSIKKyAgICAgICAgICAgIE1fU0VSVkVSX0FSR1M9IiRNX1NFUlZFUl9BUkdTIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkiCisgICAgICAgICAgICBPX1NFUlZFUl9BUkdTPSIkT19TRVJWRVJfQVJHUyAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkiCisgICAgICAgICAgICBHX1NFUlZFUl9BUkdTPSIkR19TRVJWRVJfQVJHUyAtLXg1MDljZXJ0ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkiCiAKICAgICAgICAgICAgIGlmIFsgIlgkVkVSSUZZIiA9ICJYWUVTIiBdOyB0aGVuCi0gICAgICAgICAgICAgICAgTV9DTElFTlRfQVJHUz0iJE1fQ0xJRU5UX0FSR1MgY3J0X2ZpbGU9ZGF0YV9maWxlcy9jZXJ0X3NoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSIKLSAgICAgICAgICAgICAgICBPX0NMSUVOVF9BUkdTPSIkT19DTElFTlRfQVJHUyAtY2VydCBkYXRhX2ZpbGVzL2NlcnRfc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMS5rZXkiCi0gICAgICAgICAgICAgICAgR19DTElFTlRfQVJHUz0iJEdfQ0xJRU5UX0FSR1MgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9jZXJ0X3NoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IgorICAgICAgICAgICAgICAgIE1fQ0xJRU5UX0FSR1M9IiRNX0NMSUVOVF9BUkdTIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvY2VydF9zaGEyNTYuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS5rZXkiCisgICAgICAgICAgICAgICAgT19DTElFTlRfQVJHUz0iJE9fQ0xJRU5UX0FSR1MgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9jZXJ0X3NoYTI1Ni5jcnQgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEua2V5IgorICAgICAgICAgICAgICAgIEdfQ0xJRU5UX0FSR1M9IiRHX0NMSUVOVF9BUkdTIC0teDUwOWNlcnRmaWxlICREQVRBX0ZJTEVTX1BBVEgvY2VydF9zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmtleSIKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBNX0NMSUVOVF9BUkdTPSIkTV9DTElFTlRfQVJHUyBjcnRfZmlsZT1ub25lIGtleV9maWxlPW5vbmUiCiAgICAgICAgICAgICBmaQpAQCAtNzIwLDkgKzc1Myw5IEBACiAgICAgICAgICJQU0siKQogICAgICAgICAgICAgIyBnaXZlIFJTQS1QU0stY2FwYWJsZSBzZXJ2ZXIgYSBSU0EgY2VydAogICAgICAgICAgICAgIyAoc2hvdWxkIGJlIGEgc2VwYXJhdGUgdHlwZSwgYnV0IGhhcmRlciB0byBjbG9zZSB3aXRoIG9wZW5zc2wpCi0gICAgICAgICAgICBNX1NFUlZFUl9BUkdTPSIkTV9TRVJWRVJfQVJHUyBwc2s9NjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzAgY2FfZmlsZT1ub25lIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkiCisgICAgICAgICAgICBNX1NFUlZFUl9BUkdTPSIkTV9TRVJWRVJfQVJHUyBwc2s9NjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzAgY2FfZmlsZT1ub25lIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkiCiAgICAgICAgICAgICBPX1NFUlZFUl9BUkdTPSIkT19TRVJWRVJfQVJHUyAtcHNrIDYxNjI2MzY0NjU2NjY3Njg2OTZhNmI2YzZkNmU2ZjcwIC1ub2NlcnQiCi0gICAgICAgICAgICBHX1NFUlZFUl9BUkdTPSIkR19TRVJWRVJfQVJHUyAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wc2twYXNzd2QgZGF0YV9maWxlcy9wYXNzd2QucHNrIgorICAgICAgICAgICAgR19TRVJWRVJfQVJHUz0iJEdfU0VSVkVSX0FSR1MgLS14NTA5Y2VydGZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IC0tcHNrcGFzc3dkICREQVRBX0ZJTEVTX1BBVEgvcGFzc3dkLnBzayIKIAogICAgICAgICAgICAgTV9DTElFTlRfQVJHUz0iJE1fQ0xJRU5UX0FSR1MgcHNrPTYxNjI2MzY0NjU2NjY3Njg2OTZhNmI2YzZkNmU2ZjcwIGNydF9maWxlPW5vbmUga2V5X2ZpbGU9bm9uZSIKICAgICAgICAgICAgIE9fQ0xJRU5UX0FSR1M9IiRPX0NMSUVOVF9BUkdTIC1wc2sgNjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzAiCkBAIC0xMTA5LDE5ICsxMTQyLDYgQEAKIAogICAgICAgICAgICAgICAgIFtPb11wZW4qKQogCi0gICAgICAgICAgICAgICAgICAgIGlmIHRlc3QgIiRPU1NMX05PX0RUTFMiIC1ndCAwICYmIGlzX2R0bHMgIiRNT0RFIjsgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIGZpCi0KLSAgICAgICAgICAgICAgICAgICAgIyBPcGVuU1NMIDwxLjAuMiBkb2Vzbid0IHN1cHBvcnQgRFRMUyAxLjIuIENoZWNrIGlmIE9wZW5TU0wKLSAgICAgICAgICAgICAgICAgICAgIyBzdXBwb3J0cyAkT19NT0RFIGZyb20gdGhlIHNfc2VydmVyIGhlbHAuIChUaGUgc19jbGllbnQKLSAgICAgICAgICAgICAgICAgICAgIyBoZWxwIGlzbid0IGFjY3VyYXRlIGFzIG9mIDEuMC4yZzogaXQgc3VwcG9ydHMgRFRMUyAxLjIKLSAgICAgICAgICAgICAgICAgICAgIyBidXQgZG9lc24ndCBsaXN0IGl0LiBCdXQgdGhlIHNfc2VydmVyIGhlbHAgc2VlbXMgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgIyBhY2N1cmF0ZS4pCi0gICAgICAgICAgICAgICAgICAgIGlmICEgJE9QRU5TU0wgc19zZXJ2ZXIgLWhlbHAgMj4mMSB8IGdyZXAgLXEgIl4gKi0kT19NT0RFICI7IHRoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgICAgICBmaQotCiAgICAgICAgICAgICAgICAgICAgIHJlc2V0X2NpcGhlcnN1aXRlcwogICAgICAgICAgICAgICAgICAgICBhZGRfY29tbW9uX2NpcGhlcnN1aXRlcwogICAgICAgICAgICAgICAgICAgICBhZGRfb3BlbnNzbF9jaXBoZXJzdWl0ZXMKQEAgLTEyMjUsNiArMTI0NSwxNiBAQAogUEFTU0VEPSQoKCAkVEVTVFMgLSAkRkFJTEVEICkpCiBlY2hvICIgKCRQQVNTRUQgLyAkVEVTVFMgdGVzdHMgKCRTS0lQUEVEIHNraXBwZWQkTUVNUkVQT1JUKSkiCiAKK2lmIFsgJCgoVEVTVFMgLSBTS0lQUEVEKSkgLWx0ICRNSU5fVEVTVFMgXTsgdGhlbgorICAgIGNhdCA8PEVPRgorRXJyb3I6IEV4cGVjdGVkIHRvIHJ1biBhdCBsZWFzdCAkTUlOX1RFU1RTLCBidXQgb25seSByYW4gJCgoVEVTVFMgLSBTS0lQUEVEKSkuCitNYXliZSBhIGJhZCBmaWx0ZXIgKCckRklMVEVSJyBleGNsdWRpbmcgJyRFWENMVURFJykgb3IgYSBiYWQgY29uZmlndXJhdGlvbj8KK0VPRgorICAgIGlmIFsgJEZBSUxFRCAtZXEgMCBdOyB0aGVuCisgICAgICAgIEZBSUxFRD0xCisgICAgZmkKK2ZpCisKIEZBSUxFRD0kKCggJEZBSUxFRCArICRTUlZNRU0gKSkKIGlmIFsgJEZBSUxFRCAtZ3QgMjU1IF07IHRoZW4KICAgICAjIENsYW1wIGF0IDI1NSBhcyBjYWxsZXIgZ2V0cyBleGl0IGNvZGUgJiAweEZGCmRpZmYgLS1naXQgYS90ZXN0cy9jb25maWdzL3VzZXItY29uZmlnLWZvci10ZXN0LmggYi90ZXN0cy9jb25maWdzL3VzZXItY29uZmlnLWZvci10ZXN0LmgKaW5kZXggNjM5NDk2Yi4uZTE4N2FlMiAxMDA2NDQKLS0tIGEvdGVzdHMvY29uZmlncy91c2VyLWNvbmZpZy1mb3ItdGVzdC5oCisrKyBiL3Rlc3RzL2NvbmZpZ3MvdXNlci1jb25maWctZm9yLXRlc3QuaApAQCAtMzksNiArMzksNyBAQAogLyogVXNlIHRoZSBhY2NlbGVyYXRvciBkcml2ZXIgZm9yIGFsbCBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMgZm9yIHdoaWNoCiAgKiB0aGUgdGVzdCBkcml2ZXIgaW1wbGVtZW50ZWQuICovCiAjZGVmaW5lIE1CRURUTFNfUFNBX0FDQ0VMX0tFWV9UWVBFX0FFUworI2RlZmluZSBNQkVEVExTX1BTQV9BQ0NFTF9LRVlfVFlQRV9BUklBCiAjZGVmaW5lIE1CRURUTFNfUFNBX0FDQ0VMX0tFWV9UWVBFX0NBTUVMTElBCiAjZGVmaW5lIE1CRURUTFNfUFNBX0FDQ0VMX0tFWV9UWVBFX0VDQ19QVUJMSUNfS0VZCiAjZGVmaW5lIE1CRURUTFNfUFNBX0FDQ0VMX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9CQVNJQwpkaWZmIC0tZ2l0IGEvdGVzdHMvY29udGV4dC1pbmZvLnNoIGIvdGVzdHMvY29udGV4dC1pbmZvLnNoCmluZGV4IDU1ZTMyMTkuLjZjMDhiODYgMTAwNzU1Ci0tLSBhL3Rlc3RzL2NvbnRleHQtaW5mby5zaAorKysgYi90ZXN0cy9jb250ZXh0LWluZm8uc2gKQEAgLTE5LDcgKzE5LDcgQEAKIFRISVNfU0NSSVBUX05BTUU9JChiYXNlbmFtZSAiJDAiKQogUFJPR19QQVRIPSIuLi9wcm9ncmFtcy9zc2wvc3NsX2NvbnRleHRfaW5mbyIKIE9VVF9GSUxFPSJzc2xfY29udGV4dF9pbmZvLmxvZyIKLUlOX0RJUj0iZGF0YV9maWxlcy9iYXNlNjQiCitJTl9ESVI9Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2Jhc2U2NCIKIAogVVNFX1ZBTEdSSU5EPTAKIApAQCAtNDAxLDcgKzQwMSw3IEBACiAgICAgICAgICAtdSAiRmluaXNoZWQuIE5vIHZhbGlkIGJhc2U2NCBjb2RlIGZvdW5kIgogCiBydW5fdGVzdCAiTm90IGVtcHR5IGZpbGUgd2l0aG91dCBiYXNlNjQgY29kZSIgXAotICAgICAgICAgIi4uLy4uL2NvbnRleHQtaW5mby5zaCIgXAorICAgICAgICAgIi4uLy4uLy4uL3Rlc3RzL2NvbnRleHQtaW5mby5zaCIgXAogICAgICAgICAgLW4gIkRlc2VyaWFsaXppbmciCiAKIHJ1bl90ZXN0ICJCaW5hcnkgZmlsZSBpbnN0ZWFkIG9mIHRleHQgZmlsZSIgXApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy8uZ2l0aWdub3JlIGIvdGVzdHMvZGF0YV9maWxlcy8uZ2l0aWdub3JlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMTZjMDRjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvLmdpdGlnbm9yZQorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotY2xpLXJzYS5jc3IKLXNlcnZlcjItcnNhLmNzcgotdGVzdC1jYS5jc3IKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvTWFrZWZpbGUgYi90ZXN0cy9kYXRhX2ZpbGVzL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMWQyMzc5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyMjA2ICswLDAgQEAKLSMjIFRoaXMgZmlsZSBjb250YWlucyBhIHJlY29yZCBvZiBob3cgc29tZSBvZiB0aGUgdGVzdCBkYXRhIHdhcwotIyMgZ2VuZXJhdGVkLiBUaGUgZmluYWwgYnVpbGQgcHJvZHVjdHMgYXJlIGNvbW1pdHRlZCB0byB0aGUgcmVwb3NpdG9yeQotIyMgYXMgd2VsbCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgdGVzdCBkYXRhIGlzIGlkZW50aWNhbC4gWW91IGRvIG5vdAotIyMgbmVlZCB0byB1c2UgdGhpcyBtYWtlZmlsZSB1bmxlc3MgeW91J3JlIGV4dGVuZGluZyBNYmVkIFRMUydzIHRlc3RzLgotCi0jIyBNYW55IGRhdGEgZmlsZXMgd2VyZSBnZW5lcmF0ZWQgcHJpb3IgdG8gdGhlIGV4aXN0ZW5jZSBvZiB0aGlzCi0jIyBtYWtlZmlsZSwgc28gdGhlIG1ldGhvZCBvZiB0aGVpciBnZW5lcmF0aW9uIHdhcyBub3QgcmVjb3JkZWQuCi0KLSMjIE5vdGUgdGhhdCBpbiBhZGRpdGlvbiB0byBkZXBlbmRpbmcgb24gdGhlIHZlcnNpb24gb2YgdGhlIGRhdGEKLSMjIGdlbmVyYXRpb24gdG9vbCwgbWFueSBvZiB0aGUgYnVpbGQgb3V0cHV0cyBhcmUgcmFuZG9taXplZCwgc28KLSMjIHJ1bm5pbmcgdGhpcyBtYWtlZmlsZSB0d2ljZSB3b3VsZCBub3QgcHJvZHVjZSB0aGUgc2FtZSByZXN1bHRzLgotCi0jIyBUb29scwotT1BFTlNTTCA/PSBvcGVuc3NsCi1GQUtFVElNRSA/PSBmYWtldGltZQotCi1UT1BfRElSID0gLi4vLi4KLU1CRURUTFNfQ0VSVF9XUklURSA/PSAkKFRPUF9ESVIpL3Byb2dyYW1zL3g1MDkvY2VydF93cml0ZQotTUJFRFRMU19DRVJUX1JFUSA/PSAkKFRPUF9ESVIpL3Byb2dyYW1zL3g1MDkvY2VydF9yZXEKLQotCi0jIyBCdWlsZCB0aGUgZ2VuZXJhdGVkIHRlc3QgZGF0YS4gTm90ZSB0aGF0IHNpbmNlIHRoZSBmaW5hbCBvdXRwdXRzCi0jIyBhcmUgY29tbWl0dGVkIHRvIHRoZSByZXBvc2l0b3J5LCB0aGlzIHRhcmdldCBzaG91bGQgZG8gbm90aGluZyBvbiBhCi0jIyBmcmVzaCBjaGVja291dC4gRnVydGhlcm1vcmUsIHNpbmNlIHRoZSBnZW5lcmF0aW9uIGlzIHJhbmRvbWl6ZWQsCi0jIyByZS1ydW5uaW5nIHRoZSBzYW1lIHRhcmdldHMgbWF5IHJlc3VsdCBpbiBkaWZmZXJpbmcgZmlsZXMuIFRoZSBnb2FsCi0jIyBvZiB0aGlzIG1ha2VmaWxlIGlzIHByaW1hcmlseSB0byBzZXJ2ZSBhcyBhIHJlY29yZCBvZiBob3cgdGhlCi0jIyB0YXJnZXRzIHdlcmUgZ2VuZXJhdGVkIGluIHRoZSBmaXJzdCBwbGFjZS4KLWRlZmF1bHQ6IGFsbF9maW5hbAotCi1hbGxfaW50ZXJtZWRpYXRlIDo9ICMgdGVtcG9yYXJ5IGZpbGVzCi1hbGxfZmluYWwgOj0gIyBmaWxlcyB1c2VkIGJ5IHRlc3RzCi0KLQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMjIEdlbmVyYXRlIGNlcnRpZmljYXRlcyBmcm9tIGV4aXN0aW5nIGtleXMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotdGVzdF9jYV9jcnQgPSB0ZXN0LWNhLmNydAotdGVzdF9jYV9rZXlfZmlsZV9yc2EgPSB0ZXN0LWNhLmtleQotdGVzdF9jYV9rZXlfZmlsZV9yc2FfdW5lbmMgPSB0ZXN0LWNhX3VuZW5jLmtleQotdGVzdF9jYV9wd2RfcnNhID0gUG9sYXJTU0xUZXN0Ci10ZXN0X2NhX2NvbmZpZ19maWxlID0gdGVzdC1jYS5vcGVuc3NsY29uZgotCi0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKToKLQkkKE9QRU5TU0wpIGdlbnJzYSAtYWVzLTEyOC1jYmMgLXBhc3NvdXQgcGFzczokKHRlc3RfY2FfcHdkX3JzYSkgLW91dCAkQCAyMDQ4Ci0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhX3VuZW5jKTogJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkKLQkkKE9QRU5TU0wpIHJzYSAtcGFzc2luIHBhc3M6JCh0ZXN0X2NhX3B3ZF9yc2EpIC1pbiAkPCAtb3V0ICRACi1hbGxfZmluYWwgKz0gJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYV91bmVuYykKLQotdGVzdC1jYS5yZXEuc2hhMjU2OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKQotCSQoTUJFRFRMU19DRVJUX1JFUSkgb3V0cHV0X2ZpbGU9JEAgZmlsZW5hbWU9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgcGFzc3dvcmQ9JCh0ZXN0X2NhX3B3ZF9yc2EpIHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiIG1kPVNIQTI1NgotYWxsX2ludGVybWVkaWF0ZSArPSB0ZXN0LWNhLnJlcS5zaGEyNTYKLQotcGFyc2VfaW5wdXQvdGVzdC1jYS5jcnQgdGVzdC1jYS5jcnQ6ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIHRlc3QtY2EucmVxLnNoYTI1NgotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSBpc19jYT0xIHNlcmlhbD0zIHJlcXVlc3RfZmlsZT10ZXN0LWNhLnJlcS5zaGEyNTYgc2VsZnNpZ249MSBpc3N1ZXJfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwMCBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDAgbWQ9U0hBMSB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLWFsbF9maW5hbCArPSB0ZXN0LWNhLmNydAotCi1wYXJzZV9pbnB1dC90ZXN0LWNhLmNydC5kZXI6IHBhcnNlX2lucHV0L3Rlc3QtY2EuY3J0Ci0JJChPUEVOU1NMKSB4NTA5IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQAotCi10ZXN0LWNhLmtleS5kZXI6ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JJChPUEVOU1NMKSBwa2V5IC1pbiAkPCAtb3V0ICRAIC1pbmZvcm0gUEVNIC1vdXRmb3JtIERFUiAtcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIKLWFsbF9maW5hbCArPSB0ZXN0LWNhLmtleS5kZXIKLQotIyBUaGlzIGlzIG9ubHkgdXNlZCBmb3IgZ2VuZXJhdGluZyBjZXJ0X2V4YW1wbGVfbXVsdGlfbm9jbi5jcnQKLXRlc3QtY2Ffbm9jbi5jcnQ6ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JJChNQkVEVExTX0NFUlRfV1JJVEUpIGlzX2NhPTEgc2VyaWFsPTMgc2VsZnNpZ249MSBcCi0JCXN1YmplY3Rfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIHN1YmplY3RfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSAgc3ViamVjdF9uYW1lPSJDPU5MIiBcCi0JCWlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgaXNzdWVyX25hbWU9IkM9TkwiIFwKLQkJbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwMCBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDAgbWQ9U0hBMSB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLWFsbF9pbnRlcm1lZGlhdGUgKz0gdGVzdC1jYV9ub2NuLmNydAotCi10ZXN0LWNhLXNoYTEuY3J0OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSB0ZXN0LWNhLnJlcS5zaGEyNTYKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgaXNfY2E9MSBzZXJpYWw9MyByZXF1ZXN0X2ZpbGU9dGVzdC1jYS5yZXEuc2hhMjU2IHNlbGZzaWduPTEgaXNzdWVyX25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIiBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIGlzc3Vlcl9wd2Q9JCh0ZXN0X2NhX3B3ZF9yc2EpIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDAgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDAwIG1kPVNIQTEgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gdGVzdC1jYS1zaGExLmNydAotCi10ZXN0LWNhLXNoYTEuY3J0LmRlcjogdGVzdC1jYS1zaGExLmNydAotCSQoT1BFTlNTTCkgeDUwOSAtaW4gJDwgLW91dCAkQCAtaW5mb3JtIFBFTSAtb3V0Zm9ybSBERVIKLWFsbF9maW5hbCArPSB0ZXN0LWNhLXNoYTEuY3J0LmRlcgotCi10ZXN0LWNhLXNoYTI1Ni5jcnQ6ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIHRlc3QtY2EucmVxLnNoYTI1NgotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSBpc19jYT0xIHNlcmlhbD0zIHJlcXVlc3RfZmlsZT10ZXN0LWNhLnJlcS5zaGEyNTYgc2VsZnNpZ249MSBpc3N1ZXJfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwMCBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDAgbWQ9U0hBMjU2IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IHRlc3QtY2Etc2hhMjU2LmNydAotCi10ZXN0LWNhLXNoYTI1Ni5jcnQuZGVyOiB0ZXN0LWNhLXNoYTI1Ni5jcnQKLQkkKE9QRU5TU0wpIHg1MDkgLWluICQ8IC1vdXQgJEAgLWluZm9ybSBQRU0gLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gdGVzdC1jYS1zaGEyNTYuY3J0LmRlcgotCi10ZXN0LWNhX3V0ZjguY3J0OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKQotCSQoT1BFTlNTTCkgcmVxIC14NTA5IC1uZXcgLW5vZGVzIC1rZXkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgLXBhc3NpbiAicGFzczokKHRlc3RfY2FfcHdkX3JzYSkiIC1zZXRfc2VyaWFsIDMgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1zaGExIC1kYXlzIDM2NTMgLXV0ZjggLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgVGVzdCBDQSIgLW91dCAkQAotYWxsX2ZpbmFsICs9IHRlc3QtY2FfdXRmOC5jcnQKLQotdGVzdC1jYV9wcmludGFibGUuY3J0OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKQotCSQoT1BFTlNTTCkgcmVxIC14NTA5IC1uZXcgLW5vZGVzIC1rZXkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgLXBhc3NpbiAicGFzczokKHRlc3RfY2FfcHdkX3JzYSkiIC1zZXRfc2VyaWFsIDMgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1zaGExIC1kYXlzIDM2NTMgLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgVGVzdCBDQSIgLW91dCAkQAotYWxsX2ZpbmFsICs9IHRlc3QtY2FfcHJpbnRhYmxlLmNydAotCi10ZXN0LWNhX3VwcGVyY2FzZS5jcnQ6ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JJChPUEVOU1NMKSByZXEgLXg1MDkgLW5ldyAtbm9kZXMgLWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSAtcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgLXNldF9zZXJpYWwgMyAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLXNoYTEgLWRheXMgMzY1MyAtc3ViaiAiL0M9TkwvTz1Qb2xhclNTTC9DTj1Qb2xhclNTTCBUZXN0IENBIiAtb3V0ICRACi1hbGxfZmluYWwgKz0gdGVzdC1jYV91cHBlcmNhc2UuY3J0Ci0KLXRlc3RfY2Ffa2V5X2ZpbGVfcnNhX2FsdCA9IHRlc3QtY2EtYWx0LmtleQotCi1jZXJ0X2V4YW1wbGVfbXVsdGkuY3NyOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHJlcSAtbmV3IC1zdWJqICIvQz1OTC9PPVBvbGFyU1NML0NOPXd3dy5leGFtcGxlLmNvbSIgLXNldF9zZXJpYWwgMTcgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1leHRlbnNpb25zIGRuc19hbHRfbmFtZXMgLWRheXMgMzY1MCAta2V5IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbSAtb3V0ICRACi0KLXBhcnNlX2lucHV0L2NlcnRfZXhhbXBsZV9tdWx0aS5jcnQgY2VydF9leGFtcGxlX211bHRpLmNydDogY2VydF9leGFtcGxlX211bHRpLmNzcgotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1DQSAkKHRlc3RfY2FfY3J0KSAtQ0FrZXkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgXAotCQktZXh0ZmlsZSAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1leHRlbnNpb25zIGRuc19hbHRfbmFtZXMgXAotCQktcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgLXNldF9zZXJpYWwgMTcgLWRheXMgMzY1MyAtc2hhMjU2IFwKLQkJLWluICQ8ID4gJEAKLQotY2VydF9leGFtcGxlX211bHRpX25vY24uY3NyOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE1CRURUTFNfQ0VSVF9SRVEpIGZpbGVuYW1lPSQ8IG91dHB1dF9maWxlPSRAIHN1YmplY3RfbmFtZT0nQz1OTCcKLWFsbF9pbnRlcm1lZGlhdGUgKz0gY2VydF9leGFtcGxlX211bHRpX25vY24uY3NyCi0KLXBhcnNlX2lucHV0L2NlcnRfZXhhbXBsZV9tdWx0aV9ub2NuLmNydCBjZXJ0X2V4YW1wbGVfbXVsdGlfbm9jbi5jcnQ6IGNlcnRfZXhhbXBsZV9tdWx0aV9ub2NuLmNzciB0ZXN0LWNhX25vY24uY3J0Ci0JJChPUEVOU1NMKSB4NTA5IC1yZXEgLUNBIHRlc3QtY2Ffbm9jbi5jcnQgLUNBa2V5ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIFwKLQkJLWV4dGZpbGUgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyBleHRfbXVsdGlfbm9jbiAtcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgXAotCQktc2V0X3NlcmlhbCAgMHhmN2M2N2ZmOGU5YTk2M2Y5IC1kYXlzIDM2NTMgLXNoYTEgLWluICQ8ID4gJEAKLWFsbF9maW5hbCArPSBjZXJ0X2V4YW1wbGVfbXVsdGlfbm9jbi5jcnQKLQotcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfa2V5VXNhZ2UuY3NyLmRlcjogcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtCi0JJChPUEVOU1NMKSByZXEgLW5ldyAtc3ViaiAnL0NOPWV0Y2QnIC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAta2V5IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbSAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcmVxZXh0cyBjc3JfZXh0X3YzX2tleVVzYWdlCi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19zdWJqZWN0QWx0TmFtZS5jc3IuZGVyOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHJlcSAtbmV3IC1zdWJqICcvQ049ZXRjZCcgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1rZXkgcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtIC1vdXRmb3JtIERFUiAtb3V0ICRAIC1yZXFleHRzIGNzcl9leHRfdjNfc3ViamVjdEFsdE5hbWUKLXBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX25zQ2VydFR5cGUuY3NyLmRlcjogcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtCi0JJChPUEVOU1NMKSByZXEgLW5ldyAtc3ViaiAnL0NOPWV0Y2QnIC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAta2V5IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbSAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcmVxZXh0cyBjc3JfZXh0X3YzX25zQ2VydFR5cGUKLXBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHJlcSAtbmV3IC1zdWJqICcvQ049ZXRjZCcgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1rZXkgcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtIC1vdXRmb3JtIERFUiAtb3V0ICRAIC1yZXFleHRzIGNzcl9leHRfdjNfYWxsCi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbnNfc2VxdWVuY2VfdGFnLmNzci5kZXI6IHBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyCi0JKGhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy8zMDBCMDYwMzU1MUQwRjA0MDQwMy8yMDBCMDYwMzU1MUQwRjA0MDQwMy8iIHwgeHhkIC1yIC1wICkgPiAkQAotcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25faWRfdGFnLmNzci5kZXI6IHBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyCi0JKGhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy8wNjAzNTUxRDBGMDQwNDAzMDIwMS8wNzAzNTUxRDBGMDQwNDAzMDIwMS8iIHwgeHhkIC1yIC1wICkgPiAkQAotcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fZGF0YV90YWcuY3NyLmRlcjogcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIKLQkoaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzA0MDQwMzAyMDEwMjMwMkYwNjAzLzA1MDQwMzAyMDEwMjMwMkYwNjAzLyIgfCB4eGQgLXIgLXAgKSA+ICRACi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9kYXRhX2xlbjEuY3NyLmRlcjogcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIKLQkoaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzA0MDQwMzAyMDEwMjMwMkYwNjAzLzA0MDUwMzAyMDEwMjMwMkYwNjAzLyIgfCB4eGQgLXIgLXAgKSA+ICRACi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9kYXRhX2xlbjIuY3NyLmRlcjogcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIKLQkoaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzA0MDQwMzAyMDEwMjMwMkYwNjAzLzA0MDMwMzAyMDEwMjMwMkYwNjAzLyIgfCB4eGQgLXIgLXAgKSA+ICRACi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9rZXlfdXNhZ2VfYml0c3RyZWFtX3RhZy5jc3IuZGVyOiBwYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGwuY3NyLmRlcgotCShoZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvMDMwMjAxMDIzMDJGMDYwMzU1MUQvMDQwMjAxMDIzMDJGMDYwMzU1MUQvIiB8IHh4ZCAtciAtcCApID4gJEAKLXBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX3N1YmplY3RfYWx0X25hbWVfc2VxdWVuY2VfdGFnLmNzci5kZXI6IHBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyCi0JKGhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy8zMDI2QTAyNDA2MDgyQjA2MDEwNS80MDI2QTAyNDA2MDgyQjA2MDEwNS8iIHwgeHhkIC1yIC1wICkgPiAkQAotcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fbnNfY2VydF9iaXRzdHJlYW1fdGFnLmNzci5kZXI6IHBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyCi0JKGhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy8wMzAyMDc4MDMwMEQwNjA5MkE4Ni8wNDAyMDc4MDMwMEQwNjA5MkE4Ni8iIHwgeHhkIC1yIC1wICkgPiAkQAotcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9kdXBsaWNhdGVkX2V4dGVuc2lvbi5jc3IuZGVyOiBwYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGwuY3NyLmRlcgotCShoZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvNTUxRDExLzU1MUQwRi8iIHwgeHhkIC1yIC1wICkgPiAkQAotcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fdHlwZV9vaWQuY3NyLmRlcjogcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIKLQkoaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzU1MUQxMS81NTFERkYvIiB8IHh4ZCAtciAtcCApID4gJEAKLXBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19zZXF1ZW5jZV90YWcuY3NyLmRlcjogcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIKLQkoaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzMwNjAwNjA5MkE4NjQ4ODZGNzBELzQwNjAwNjA5MkE4NjQ4ODZGNzBELyIgfCB4eGQgLXIgLXAgKSA+ICRACi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfaWRfdGFnLmNzci5kZXI6IHBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyCi0JKGhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy8wNjA5MkE4NjQ4ODZGNzBEMDEwOS8wNzA5MkE4NjQ4ODZGNzBEMDEwOS8iIHwgeHhkIC1yIC1wICkgPiAkQAotcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0LmNzci5kZXI6IHBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyCi0JKGhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy8yQTg2NDg4NkY3MEQwMTA5MEUvMkE4NjQ4ODZGNzBEMDEwOTBGLyIgfCB4eGQgLXIgLXAgKSA+ICRACi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2V0X3RhZy5jc3IuZGVyOiBwYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGwuY3NyLmRlcgotCShoZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvMzE1MzMwNTEzMDBCMDYwMzU1MUQvMzI1MzMwNTEzMDBCMDYwMzU1MUQvIiB8IHh4ZCAtciAtcCApID4gJEAKLXBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdF9zZXF1ZW5jZV90YWcuY3NyLmRlcjogcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIKLQkoaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzMwNTEzMDBCMDYwMzU1MUQwRjA0LzMxNTEzMDBCMDYwMzU1MUQwRjA0LyIgfCB4eGQgLXIgLXAgKSA+ICRACi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfbGVuMS5jc3IuZGVyOiBwYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGwuY3NyLmRlcgotCShoZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvMzA2MDA2MDkyQTg2NDg4NkY3MEQvMzA2MTA2MDkyQTg2NDg4NkY3MEQvIiB8IHh4ZCAtciAtcCApID4gJEAKLXBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19sZW4yLmNzci5kZXI6IHBhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyCi0JKGhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy8zMDYwMDYwOTJBODY0ODg2RjcwRC8zMDU5MDYwOTJBODY0ODg2RjcwRC8iIHwgeHhkIC1yIC1wICkgPiAkQAotcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0X3NlcXVlbmNlX2xlbjEuY3NyLmRlcjogcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIKLQkoaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzMwNTEzMDBCMDYwMzU1MUQwRjA0LzMwNTIzMDBCMDYwMzU1MUQwRjA0LyIgfCB4eGQgLXIgLXAgKSA+ICRACi1wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2VxdWVuY2VfbGVuMi5jc3IuZGVyOiBwYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGwuY3NyLmRlcgotCShoZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvMzA1MTMwMEIwNjAzNTUxRDBGMDQvMzA1MDMwMEIwNjAzNTUxRDBGMDQvIiB8IHh4ZCAtciAtcCApID4gJEAKLQotcGFyc2VfaW5wdXQvdGVzdF9jZXJ0X3JmYzgyMm5hbWUuY3J0LmRlcjogY2VydF9leGFtcGxlX211bHRpLmNzcgotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1DQSAkKHRlc3RfY2FfY3J0KSAtQ0FrZXkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgLWV4dGZpbGUgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtb3V0Zm9ybSBERVIgLWV4dGVuc2lvbnMgcmZjODIybmFtZV9uYW1lcyAtcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgLXNldF9zZXJpYWwgMTcgLWRheXMgMzY1MyAtc2hhMjU2IC1pbiAkPCA+ICRACi0KLSQodGVzdF9jYV9rZXlfZmlsZV9yc2FfYWx0KTp0ZXN0LWNhLm9wZW5zc2xjb25mCi0JJChPUEVOU1NMKSBnZW5yc2EgLW91dCAkQCAyMDQ4Ci10ZXN0LWNhLWFsdC5jc3I6ICQodGVzdF9jYV9rZXlfZmlsZV9yc2FfYWx0KSAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpCi0JJChPUEVOU1NMKSByZXEgLW5ldyAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhX2FsdCkgLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgVGVzdCBDQSIgLW91dCAkQAotYWxsX2ludGVybWVkaWF0ZSArPSB0ZXN0LWNhLWFsdC5jc3IKLXRlc3QtY2EtYWx0LmNydDogJCh0ZXN0X2NhX2tleV9maWxlX3JzYV9hbHQpICQodGVzdF9jYV9jb25maWdfZmlsZSkgdGVzdC1jYS1hbHQuY3NyCi0JJChPUEVOU1NMKSByZXEgLXg1MDkgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1rZXkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYV9hbHQpIC1zZXRfc2VyaWFsIDAgLWRheXMgMzY1MyAtc2hhMjU2IC1pbiB0ZXN0LWNhLWFsdC5jc3IgLW91dCAkQAotYWxsX2ZpbmFsICs9IHRlc3QtY2EtYWx0LmNydAotdGVzdC1jYS1hbHQtZ29vZC5jcnQ6IHRlc3QtY2EtYWx0LmNydCB0ZXN0LWNhLXNoYTI1Ni5jcnQKLQljYXQgdGVzdC1jYS1hbHQuY3J0IHRlc3QtY2Etc2hhMjU2LmNydCA+ICRACi1hbGxfZmluYWwgKz0gdGVzdC1jYS1hbHQtZ29vZC5jcnQKLXRlc3QtY2EtZ29vZC1hbHQuY3J0OiB0ZXN0LWNhLWFsdC5jcnQgdGVzdC1jYS1zaGEyNTYuY3J0Ci0JY2F0IHRlc3QtY2Etc2hhMjU2LmNydCB0ZXN0LWNhLWFsdC5jcnQgPiAkQAotYWxsX2ZpbmFsICs9IHRlc3QtY2EtZ29vZC1hbHQuY3J0Ci0KLXRlc3RfY2FfY3J0X2ZpbGVfZWMgPSB0ZXN0LWNhMi5jcnQKLXRlc3RfY2Ffa2V5X2ZpbGVfZWMgPSB0ZXN0LWNhMi5rZXkKLQotdGVzdC1jYTIucmVxLnNoYTI1NjogJCh0ZXN0X2NhX2tleV9maWxlX2VjKQotCSQoTUJFRFRMU19DRVJUX1JFUSkgb3V0cHV0X2ZpbGU9JEAgZmlsZW5hbWU9JCh0ZXN0X2NhX2tleV9maWxlX2VjKSBcCi0Jc3ViamVjdF9uYW1lPSJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJzc2wgVGVzdCBFQyBDQSIgbWQ9U0hBMjU2Ci1hbGxfaW50ZXJtZWRpYXRlICs9IHRlc3QtY2EyLnJlcS5zaGEyNTYKLQotdGVzdC1jYTIuY3J0OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIHRlc3QtY2EyLnJlcS5zaGEyNTYKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgaXNfY2E9MSBzZXJpYWw9MTM5MjYyMjM1MDUyMDIwNzI4MDggc2VsZnNpZ249MSBcCi0JCXJlcXVlc3RfZmlsZT10ZXN0LWNhMi5yZXEuc2hhMjU2IFwKLQkJaXNzdWVyX25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIiBcCi0JCWlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX2VjKSBcCi0JCW5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDAgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDAwIFwKLQkJbWQ9U0hBMjU2IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IHRlc3QtY2EyLmNydAotCi10ZXN0LWNhMi5rdS0lLmNydDogdGVzdC1jYTIua3UtJS5jcnQub3BlbnNzbC52M19leHQgJCh0ZXN0X2NhX2tleV9maWxlX2VjKSB0ZXN0LWNhMi5yZXEuc2hhMjU2Ci0JJChPUEVOU1NMKSB4NTA5IC1yZXEgLWluIHRlc3QtY2EyLnJlcS5zaGEyNTYgLWV4dGZpbGUgJDwgXAotCQktc2lnbmtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIC1kYXlzIDM2NTMgLW91dCAkQAotCi1hbGxfZmluYWwgKz0gdGVzdC1jYTIua3UtY3JsLmNydCB0ZXN0LWNhMi5rdS1jcnQuY3J0IHRlc3QtY2EyLmt1LWNydF9jcmwuY3J0IFwKLQkgICAgIHRlc3QtY2EyLmt1LWRzLmNydAotCi10ZXN0LWNhMi1mdXR1cmUuY3J0OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIHRlc3QtY2EyLnJlcS5zaGEyNTYKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgaXNfY2E9MSBzZXJpYWw9MTM5MjYyMjM1MDUyMDIwNzI4MDggcmVxdWVzdF9maWxlPXRlc3QtY2EyLnJlcS5zaGEyNTYgc2VsZnNpZ249MSBcCi0JCWlzc3Vlcl9uYW1lPSJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJzc2wgVGVzdCBFQyBDQSIgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIFwKLQkJbm90X2JlZm9yZT0yMDI5MDIxMDE0NDQwMCBub3RfYWZ0ZXI9MjAzOTAyMTAxNDQ0MDAgbWQ9U0hBMjU2IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ludGVybWVkaWF0ZSArPSB0ZXN0LWNhMi1mdXR1cmUuY3J0Ci0KLXRlc3RfY2FfZWNfY2F0IDo9ICMgZmlsZXMgdGhhdCBjb25jYXRlbmF0ZSBkaWZmZXJlbnQgY3J0Ci10ZXN0LWNhMl9jYXQtZnV0dXJlLWludmFsaWQuY3J0OiB0ZXN0LWNhMi1mdXR1cmUuY3J0IHNlcnZlcjYuY3J0Ci10ZXN0X2NhX2VjX2NhdCArPSB0ZXN0LWNhMl9jYXQtZnV0dXJlLWludmFsaWQuY3J0Ci10ZXN0LWNhMl9jYXQtZnV0dXJlLXByZXNlbnQuY3J0OiB0ZXN0LWNhMi1mdXR1cmUuY3J0IHRlc3QtY2EyLmNydAotdGVzdF9jYV9lY19jYXQgKz0gdGVzdC1jYTJfY2F0LWZ1dHVyZS1wcmVzZW50LmNydAotdGVzdC1jYTJfY2F0LXByZXNlbnQtZnV0dXJlLmNydDogdGVzdC1jYTIuY3J0IHRlc3QtY2EyLWZ1dHVyZS5jcnQKLXRlc3RfY2FfZWNfY2F0ICs9IHRlc3QtY2EyX2NhdC1wcmVzZW50LWZ1dHVyZS5jcnQKLXRlc3QtY2EyX2NhdC1wcmVzZW50LXBhc3QuY3J0OiB0ZXN0LWNhMi5jcnQgdGVzdC1jYTItZXhwaXJlZC5jcnQKLXRlc3RfY2FfZWNfY2F0ICs9IHRlc3QtY2EyX2NhdC1wcmVzZW50LXBhc3QuY3J0Ci10ZXN0LWNhMl9jYXQtcGFzdC1pbnZhbGlkLmNydDogdGVzdC1jYTItZXhwaXJlZC5jcnQgc2VydmVyNi5jcnQKLXRlc3RfY2FfZWNfY2F0ICs9IHRlc3QtY2EyX2NhdC1wYXN0LWludmFsaWQuY3J0Ci10ZXN0LWNhMl9jYXQtcGFzdC1wcmVzZW50LmNydDogdGVzdC1jYTItZXhwaXJlZC5jcnQgdGVzdC1jYTIuY3J0Ci10ZXN0X2NhX2VjX2NhdCArPSB0ZXN0LWNhMl9jYXQtcGFzdC1wcmVzZW50LmNydAotJCh0ZXN0X2NhX2VjX2NhdCk6Ci0JY2F0ICReID4gJEAKLWFsbF9maW5hbCArPSAkKHRlc3RfY2FfZWNfY2F0KQotCi1wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3kuY3J0OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSB0ZXN0LWNhLnJlcS5zaGEyNTYKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLWV4dGVuc2lvbnMgdjNfYW55X3BvbGljeV9jYSBcCi0JCS1rZXkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgLXBhc3NpbiAicGFzczokKHRlc3RfY2FfcHdkX3JzYSkiIFwKLQkJLXNldF9zZXJpYWwgMCAtZGF5cyAzNjUzIC1zaGEyNTYgLWluIHRlc3QtY2EucmVxLnNoYTI1NiAtb3V0ICRACi0KLXBhcnNlX2lucHV0L3Rlc3QtY2EtYW55X3BvbGljeV9lYy5jcnQ6ICQodGVzdF9jYV9rZXlfZmlsZV9lYykgdGVzdC1jYS5yZXFfZWMuc2hhMjU2Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1leHRlbnNpb25zIHYzX2FueV9wb2xpY3lfY2EgXAotCQkta2V5ICQodGVzdF9jYV9rZXlfZmlsZV9lYykgLXNldF9zZXJpYWwgMCAtZGF5cyAzNjUzIC1zaGEyNTYgXAotCQktaW4gdGVzdC1jYS5yZXFfZWMuc2hhMjU2IC1vdXQgJEAKLQotcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5X3dpdGhfcXVhbGlmaWVyLmNydDogJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgdGVzdC1jYS5yZXEuc2hhMjU2Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1leHRlbnNpb25zIHYzX2FueV9wb2xpY3lfcXVhbGlmaWVyX2NhIC1rZXkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgLXBhc3NpbiAicGFzczokKHRlc3RfY2FfcHdkX3JzYSkiIC1zZXRfc2VyaWFsIDAgLWRheXMgMzY1MyAtc2hhMjU2IC1pbiB0ZXN0LWNhLnJlcS5zaGEyNTYgLW91dCAkQAotCi1wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3lfd2l0aF9xdWFsaWZpZXJfZWMuY3J0OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIHRlc3QtY2EucmVxX2VjLnNoYTI1NgotCSQoT1BFTlNTTCkgcmVxIC14NTA5IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyB2M19hbnlfcG9saWN5X3F1YWxpZmllcl9jYSAta2V5ICQodGVzdF9jYV9rZXlfZmlsZV9lYykgLXNldF9zZXJpYWwgMCAtZGF5cyAzNjUzIC1zaGEyNTYgLWluIHRlc3QtY2EucmVxX2VjLnNoYTI1NiAtb3V0ICRACi0KLXBhcnNlX2lucHV0L3Rlc3QtY2EtbXVsdGlfcG9saWN5LmNydDogJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgdGVzdC1jYS5yZXEuc2hhMjU2Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1leHRlbnNpb25zIHYzX211bHRpX3BvbGljeV9jYSAta2V5ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIC1wYXNzaW4gInBhc3M6JCh0ZXN0X2NhX3B3ZF9yc2EpIiAtc2V0X3NlcmlhbCAwIC1kYXlzIDM2NTMgLXNoYTI1NiAtaW4gdGVzdC1jYS5yZXEuc2hhMjU2IC1vdXQgJEAKLQotcGFyc2VfaW5wdXQvdGVzdC1jYS1tdWx0aV9wb2xpY3lfZWMuY3J0OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIHRlc3QtY2EucmVxX2VjLnNoYTI1NgotCSQoT1BFTlNTTCkgcmVxIC14NTA5IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyB2M19tdWx0aV9wb2xpY3lfY2EgLWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIC1zZXRfc2VyaWFsIDAgLWRheXMgMzY1MyAtc2hhMjU2IC1pbiB0ZXN0LWNhLnJlcV9lYy5zaGEyNTYgLW91dCAkQAotCi1wYXJzZV9pbnB1dC90ZXN0LWNhLXVuc3VwcG9ydGVkX3BvbGljeS5jcnQ6ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIHRlc3QtY2EucmVxLnNoYTI1NgotCSQoT1BFTlNTTCkgcmVxIC14NTA5IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyB2M191bnN1cHBvcnRlZF9wb2xpY3lfY2EgLWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSAtcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgLXNldF9zZXJpYWwgMCAtZGF5cyAzNjUzIC1zaGEyNTYgLWluIHRlc3QtY2EucmVxLnNoYTI1NiAtb3V0ICRACi0KLXBhcnNlX2lucHV0L3Rlc3QtY2EtdW5zdXBwb3J0ZWRfcG9saWN5X2VjLmNydDogJCh0ZXN0X2NhX2tleV9maWxlX2VjKSB0ZXN0LWNhLnJlcV9lYy5zaGEyNTYKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLWV4dGVuc2lvbnMgdjNfdW5zdXBwb3J0ZWRfcG9saWN5X2NhIC1rZXkgJCh0ZXN0X2NhX2tleV9maWxlX2VjKSAtc2V0X3NlcmlhbCAwIC1kYXlzIDM2NTMgLXNoYTI1NiAtaW4gdGVzdC1jYS5yZXFfZWMuc2hhMjU2IC1vdXQgJEAKLQotdGVzdC1jYS5yZXFfZWMuc2hhMjU2OiAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpCi0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIHN1YmplY3RfbmFtZT0iQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSIgbWQ9U0hBMjU2Ci1hbGxfaW50ZXJtZWRpYXRlICs9IHRlc3QtY2EucmVxX2VjLnNoYTI1NgotCi10ZXN0LWNhMi5jcnQuZGVyOiAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpCi0JJChPUEVOU1NMKSB4NTA5IC1pbiAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpIC1vdXQgJEAgLWluZm9ybSBQRU0gLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gdGVzdC1jYTIuY3J0LmRlcgotCi10ZXN0LWNhMi5rZXkuZGVyOiAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpCi0JJChPUEVOU1NMKSBwa2V5IC1pbiAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIC1vdXQgJEAgLWluZm9ybSBQRU0gLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gdGVzdC1jYTIua2V5LmRlcgotCi10ZXN0X2NhX2NydF9jYXQxMiA9IHRlc3QtY2FfY2F0MTIuY3J0Ci0kKHRlc3RfY2FfY3J0X2NhdDEyKTogJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2NydF9maWxlX2VjKQotCWNhdCAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpID4gJEAKLWFsbF9maW5hbCArPSAkKHRlc3RfY2FfY3J0X2NhdDEyKQotCi10ZXN0X2NhX2NydF9jYXQyMSA9IHRlc3QtY2FfY2F0MjEuY3J0Ci0kKHRlc3RfY2FfY3J0X2NhdDIxKTogJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2NydF9maWxlX2VjKQotCWNhdCAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpICQodGVzdF9jYV9jcnQpID4gJEAKLWFsbF9maW5hbCArPSAkKHRlc3RfY2FfY3J0X2NhdDIxKQotCi10ZXN0LWludC1jYS5jc3I6IHRlc3QtaW50LWNhLmtleSAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpCi0JJChPUEVOU1NMKSByZXEgLW5ldyAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLWtleSB0ZXN0LWludC1jYS5rZXkgLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EiIC1vdXQgJEAKLQotdGVzdC1pbnQtY2EyLmNzcjogdGVzdC1pbnQtY2EyLmtleSAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpCi0JJChPUEVOU1NMKSByZXEgLW5ldyAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLWtleSB0ZXN0LWludC1jYTIua2V5IFwKLQkJLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgRUMgQ0EiIC1vdXQgJEAKLQotdGVzdC1pbnQtY2EzLmNzcjogdGVzdC1pbnQtY2EzLmtleSAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpCi0JJChPUEVOU1NMKSByZXEgLW5ldyAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLWtleSB0ZXN0LWludC1jYTMua2V5IFwKLQkJLXN1YmogIi9DPVVLL089bWJlZCBUTFMvQ049bWJlZCBUTFMgVGVzdCBpbnRlcm1lZGlhdGUgQ0EgMyIgLW91dCAkQAotCi1hbGxfaW50ZXJtZWRpYXRlICs9IHRlc3QtaW50LWNhLmNzciB0ZXN0LWludC1jYTIuY3NyIHRlc3QtaW50LWNhMy5jc3IKLQotdGVzdC1pbnQtY2EuY3J0OiAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpICQodGVzdF9jYV9rZXlfZmlsZV9lYykgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSB0ZXN0LWludC1jYS5jc3IKLQkkKE9QRU5TU0wpIHg1MDkgLXJlcSAtZXh0ZmlsZSAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1leHRlbnNpb25zIHYzX2NhIFwKLQkJLUNBICQodGVzdF9jYV9jcnRfZmlsZV9lYykgLUNBa2V5ICQodGVzdF9jYV9rZXlfZmlsZV9lYykgXAotCQktc2V0X3NlcmlhbCAxNCAtZGF5cyAzNjUzIC1zaGEyNTYgLWluIHRlc3QtaW50LWNhLmNzciAtb3V0ICRACi0KLXRlc3QtaW50LWNhMi5jcnQ6ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9jb25maWdfZmlsZSkgdGVzdC1pbnQtY2EyLmNzcgotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1leHRmaWxlICQodGVzdF9jYV9jb25maWdfZmlsZSkgLWV4dGVuc2lvbnMgdjNfY2EgLUNBICQodGVzdF9jYV9jcnQpIFwKLQkJLUNBa2V5ICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIC1zZXRfc2VyaWFsIDE1IC1kYXlzIDM2NTMgLXNoYTI1NiAtaW4gdGVzdC1pbnQtY2EyLmNzciBcCi0JCS1wYXNzaW4gInBhc3M6JCh0ZXN0X2NhX3B3ZF9yc2EpIiAtb3V0ICRACi0KLSMgTm90ZTogVGhpcyByZXF1ZXN0cyBvcGVuc3NsIHZlcnNpb24gPj0gMy54Lnh4Ci10ZXN0LWludC1jYTMuY3J0OiB0ZXN0LWludC1jYTIuY3J0IHRlc3QtaW50LWNhMi5rZXkgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSB0ZXN0LWludC1jYTMuY3NyCi0JJChPUEVOU1NMKSB4NTA5IC1yZXEgLWV4dGZpbGUgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyBub19zdWJqX2F1dGhfaWQgXAotCQktQ0EgdGVzdC1pbnQtY2EyLmNydCAtQ0FrZXkgdGVzdC1pbnQtY2EyLmtleSAtc2V0X3NlcmlhbCA3NyAtZGF5cyAzNjUzIFwKLQkJCS1zaGEyNTYgLWluIHRlc3QtaW50LWNhMy5jc3IgLW91dCAkQAotCi10ZXN0LWludC1jYS1leHAuY3J0OiAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpICQodGVzdF9jYV9rZXlfZmlsZV9lYykgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSB0ZXN0LWludC1jYS5jc3IKLQkkKEZBS0VUSU1FKSAtZiAtMzY1M2QgJChPUEVOU1NMKSB4NTA5IC1yZXEgLWV4dGZpbGUgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyB2M19jYSAtQ0EgJCh0ZXN0X2NhX2NydF9maWxlX2VjKSAtQ0FrZXkgJCh0ZXN0X2NhX2tleV9maWxlX2VjKSAtc2V0X3NlcmlhbCAxNCAtZGF5cyAzNjUzIC1zaGEyNTYgLWluIHRlc3QtaW50LWNhLmNzciAtb3V0ICRACi0KLWFsbF9maW5hbCArPSB0ZXN0LWludC1jYS1leHAuY3J0IHRlc3QtaW50LWNhLmNydCB0ZXN0LWludC1jYTIuY3J0IHRlc3QtaW50LWNhMy5jcnQKLQotZW5jby1jZXJ0LXV0ZjhzdHIucGVtOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgc3ViamVjdF9rZXk9cnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtIHN1YmplY3RfbmFtZT0iQ049ZHcueW9uYW4ubmV0IiBpc3N1ZXJfY3J0PWVuY28tY2EtcHJzdHIucGVtIGlzc3Vlcl9rZXk9cnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTEgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi0KLXBhcnNlX2lucHV0L2NybC1pZHAucGVtOiAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpCi0JJChPUEVOU1NMKSBjYSAtZ2VuY3JsIC1iYXRjaCAtY2VydCAkKHRlc3RfY2FfY3J0KSAta2V5ZmlsZSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSAta2V5ICQodGVzdF9jYV9wd2RfcnNhKSAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLW5hbWUgdGVzdF9jYSAtbWQgc2hhMjU2IC1jcmxkYXlzIDM2NTMgLWNybGV4dHMgY3JsX2V4dF9pZHAgLW91dCAkQAotcGFyc2VfaW5wdXQvY3JsLWlkcG5jLnBlbTogJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKQotCSQoT1BFTlNTTCkgY2EgLWdlbmNybCAtYmF0Y2ggLWNlcnQgJCh0ZXN0X2NhX2NydCkgLWtleWZpbGUgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgLWtleSAkKHRlc3RfY2FfcHdkX3JzYSkgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1uYW1lIHRlc3RfY2EgLW1kIHNoYTI1NiAtY3JsZGF5cyAzNjUzIC1jcmxleHRzIGNybF9leHRfaWRwX25jIC1vdXQgJEAKLQotY2xpX2NydF9rZXlfZmlsZV9yc2EgPSBjbGktcnNhLmtleQotY2xpX2NydF9leHRlbnNpb25zX2ZpbGUgPSBjbGkub3BlbnNzbGNvbmYKLQotY2xpLXJzYS5jc3I6ICQoY2xpX2NydF9rZXlfZmlsZV9yc2EpCi0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBDbGllbnQgMiIgbWQ9U0hBMQotYWxsX2ludGVybWVkaWF0ZSArPSBjbGktcnNhLmNzcgotCi1jbGktcnNhLXNoYTEuY3J0OiBjbGktcnNhLmNzcgotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSByZXF1ZXN0X2ZpbGU9JDwgc2VyaWFsPTQgaXNzdWVyX2NydD0kKHRlc3RfY2FfY3J0KSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIGlzc3Vlcl9wd2Q9JCh0ZXN0X2NhX3B3ZF9yc2EpIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTEgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi0KLWNsaS1yc2Etc2hhMjU2LmNydDogY2xpLXJzYS5jc3IKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgcmVxdWVzdF9maWxlPSQ8IHNlcmlhbD00IGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEEyNTYgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gY2xpLXJzYS1zaGEyNTYuY3J0Ci0KLWNsaS1yc2Etc2hhMjU2LmNydC5kZXI6IGNsaS1yc2Etc2hhMjU2LmNydAotCSQoT1BFTlNTTCkgeDUwOSAtaW4gJDwgLW91dCAkQCAtaW5mb3JtIFBFTSAtb3V0Zm9ybSBERVIKLWFsbF9maW5hbCArPSBjbGktcnNhLXNoYTI1Ni5jcnQuZGVyCi0KLXBhcnNlX2lucHV0L2NsaS1yc2Etc2hhMjU2LWJhZGFsZy5jcnQuZGVyOiBjbGktcnNhLXNoYTI1Ni5jcnQuZGVyCi0JaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzA2MDkyQTg2NDg4NkY3MEQwMTAxMEIwNTAwLzA2MDkyQTg2NDg4NkY3MEQwMTAxMEIwOTAwLzIiIHwgeHhkIC1yIC1wID4gJEAKLQotY2xpLXJzYS5rZXkuZGVyOiAkKGNsaV9jcnRfa2V5X2ZpbGVfcnNhKQotCSQoT1BFTlNTTCkgcGtleSAtaW4gJDwgLW91dCAkQCAtaW5mb3JtIFBFTSAtb3V0Zm9ybSBERVIKLWFsbF9maW5hbCArPSBjbGktcnNhLmtleS5kZXIKLQotdGVzdF9jYV9pbnRfcnNhMSA9IHRlc3QtaW50LWNhLmNydAotdGVzdF9jYV9pbnRfZWMgPSB0ZXN0LWludC1jYTIuY3J0Ci10ZXN0X2NhX2ludF9rZXlfZmlsZV9lYyA9IHRlc3QtaW50LWNhMi5rZXkKLQotIyBzZXJ2ZXI3KgotCi1zZXJ2ZXI3LmNzcjogc2VydmVyNy5rZXkKLQkkKE9QRU5TU0wpIHJlcSAtbmV3IC1rZXkgc2VydmVyNy5rZXkgLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049bG9jYWxob3N0IiAtb3V0ICRACi1hbGxfaW50ZXJtZWRpYXRlICs9IHNlcnZlcjcuY3NyCi0KLXNlcnZlcjcuY3J0OiBzZXJ2ZXI3LmNzciAkKHRlc3RfY2FfaW50X3JzYTEpCi0JJChPUEVOU1NMKSB4NTA5IC1yZXEgLWV4dGZpbGUgJChjbGlfY3J0X2V4dGVuc2lvbnNfZmlsZSkgLWV4dGVuc2lvbnMgY2xpLXJzYSBcCi0JCS1DQSAkKHRlc3RfY2FfaW50X3JzYTEpIC1DQWtleSB0ZXN0LWludC1jYS5rZXkgXAotCQktc2V0X3NlcmlhbCAxNiAtZGF5cyAzNjUzIC1zaGEyNTYgLWluIHNlcnZlcjcuY3NyID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI3LmNydAotCi1zZXJ2ZXI3LWV4cGlyZWQuY3J0OiBzZXJ2ZXI3LmNzciAkKHRlc3RfY2FfaW50X3JzYTEpCi0JJChGQUtFVElNRSkgLWYgLTM2NTNkICQoT1BFTlNTTCkgeDUwOSAtcmVxIC1leHRmaWxlICQoY2xpX2NydF9leHRlbnNpb25zX2ZpbGUpIC1leHRlbnNpb25zIGNsaS1yc2EgLUNBICQodGVzdF9jYV9pbnRfcnNhMSkgLUNBa2V5IHRlc3QtaW50LWNhLmtleSAtc2V0X3NlcmlhbCAxNiAtZGF5cyAzNjUzIC1zaGEyNTYgLWluIHNlcnZlcjcuY3NyIHwgY2F0IC0gJCh0ZXN0X2NhX2ludF9yc2ExKSA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyNy1leHBpcmVkLmNydAotCi1zZXJ2ZXI3LWZ1dHVyZS5jcnQ6IHNlcnZlcjcuY3NyICQodGVzdF9jYV9pbnRfcnNhMSkKLQkkKEZBS0VUSU1FKSAtZiArMzY1M2QgJChPUEVOU1NMKSB4NTA5IC1yZXEgLWV4dGZpbGUgJChjbGlfY3J0X2V4dGVuc2lvbnNfZmlsZSkgLWV4dGVuc2lvbnMgY2xpLXJzYSAtQ0EgJCh0ZXN0X2NhX2ludF9yc2ExKSAtQ0FrZXkgdGVzdC1pbnQtY2Eua2V5IC1zZXRfc2VyaWFsIDE2IC1kYXlzIDM2NTMgLXNoYTI1NiAtaW4gc2VydmVyNy5jc3IgfCBjYXQgLSAkKHRlc3RfY2FfaW50X3JzYTEpID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI3LWZ1dHVyZS5jcnQKLQotc2VydmVyNy1iYWRzaWduLmNydDogc2VydmVyNy5jcnQgJCh0ZXN0X2NhX2ludF9yc2ExKQotCXsgaGVhZCAtbi0yICQ8OyB0YWlsIC1uLTIgJDwgfCBzZWQgLWUgJzFzLzBcKD0qXCkkJC9fXDEvJyAtZSAnMXMvW15fPV1cKD0qXCkkJC8wXDEvJyAtZSAnMXMvXy8xLyc7IGNhdCAkKHRlc3RfY2FfaW50X3JzYTEpOyB9ID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI3LWJhZHNpZ24uY3J0Ci0KLXBhcnNlX2lucHV0L3NlcnZlcjdfaW50LWNhLmNydCBzZXJ2ZXI3X2ludC1jYS5jcnQ6IHNlcnZlcjcuY3J0ICQodGVzdF9jYV9pbnRfcnNhMSkKLQljYXQgc2VydmVyNy5jcnQgJCh0ZXN0X2NhX2ludF9yc2ExKSA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyN19pbnQtY2EuY3J0Ci0KLXBhcnNlX2lucHV0L3NlcnZlcjdfcGVtX3NwYWNlLmNydDogc2VydmVyNy5jcnQgJCh0ZXN0X2NhX2ludF9yc2ExKQotCWNhdCBzZXJ2ZXI3LmNydCAkKHRlc3RfY2FfaW50X3JzYTEpIHwgc2VkICc0cy9cKC5cKSQkLyBcMS8nID4gJEAKLQotcGFyc2VfaW5wdXQvc2VydmVyN19hbGxfc3BhY2UuY3J0OiBzZXJ2ZXI3LmNydCAkKHRlc3RfY2FfaW50X3JzYTEpCi0JeyBjYXQgc2VydmVyNy5jcnQgfCBzZWQgJzRzL1woLlwpJCQvIFwxLyc7IGNhdCB0ZXN0LWludC1jYS5jcnQgfCBzZWQgJzRzL1woLlwpJCQvIFwxLyc7IH0gPiAkQAotCi1wYXJzZV9pbnB1dC9zZXJ2ZXI3X3RyYWlsaW5nX3NwYWNlLmNydDogc2VydmVyNy5jcnQgJCh0ZXN0X2NhX2ludF9yc2ExKQotCWNhdCBzZXJ2ZXI3LmNydCAkKHRlc3RfY2FfaW50X3JzYTEpIHwgc2VkICdzL1woLlwpJCQvXDEgLycgPiAkQAotCi1zZXJ2ZXI3X2ludC1jYV9jYTIuY3J0OiBzZXJ2ZXI3LmNydCAkKHRlc3RfY2FfaW50X3JzYTEpICQodGVzdF9jYV9jcnRfZmlsZV9lYykKLQljYXQgc2VydmVyNy5jcnQgJCh0ZXN0X2NhX2ludF9yc2ExKSAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI3X2ludC1jYV9jYTIuY3J0Ci0KLXNlcnZlcjdfaW50LWNhLWV4cC5jcnQ6IHNlcnZlcjcuY3J0IHRlc3QtaW50LWNhLWV4cC5jcnQKLQljYXQgc2VydmVyNy5jcnQgdGVzdC1pbnQtY2EtZXhwLmNydCA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyN19pbnQtY2EtZXhwLmNydAotCi1zZXJ2ZXI3X3NwdXJpb3VzX2ludC1jYS5jcnQ6IHNlcnZlcjcuY3J0ICQodGVzdF9jYV9pbnRfZWMpICQodGVzdF9jYV9pbnRfcnNhMSkKLQljYXQgc2VydmVyNy5jcnQgJCh0ZXN0X2NhX2ludF9lYykgJCh0ZXN0X2NhX2ludF9yc2ExKSA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyN19zcHVyaW91c19pbnQtY2EuY3J0Ci0KLSMgc2VydmVyOCoKLQotc2VydmVyOC5jcnQ6IHNlcnZlcjgua2V5Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHN1YmplY3Rfa2V5PSQ8IHN1YmplY3RfbmFtZT0iQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IiBzZXJpYWw9MTcgXAotCQlpc3N1ZXJfY3J0PSQodGVzdF9jYV9pbnRfZWMpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2ludF9rZXlfZmlsZV9lYykgXAotCQlub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBcCi0JCW1kPVNIQTI1NiB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI4LmNydAotCi1zZXJ2ZXI4X2ludC1jYTIuY3J0OiBzZXJ2ZXI4LmNydCAkKHRlc3RfY2FfaW50X2VjKQotCWNhdCAkXiA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyOF9pbnQtY2EyLmNydAotCi1jbGkyLnJlcS5zaGEyNTY6IGNsaTIua2V5Ci0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENsaWVudCAyIiBtZD1TSEEyNTYKLWFsbF9pbnRlcm1lZGlhdGUgKz0gY2xpMi5yZXEuc2hhMjU2Ci0KLWFsbF9maW5hbCArPSBzZXJ2ZXIxLnJlcS5zaGExCi1jbGkyLmNydDogY2xpMi5yZXEuc2hhMjU2Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHJlcXVlc3RfZmlsZT1jbGkyLnJlcS5zaGEyNTYgc2VyaWFsPTEzIHNlbGZzaWduPTAgaXNzdWVyX25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IEVDIENBIiBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9lYykgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwMCBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDAgbWQ9U0hBMjU2IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IGNsaTIuY3J0Ci0KLWNsaTIuY3J0LmRlcjogY2xpMi5jcnQKLQkkKE9QRU5TU0wpIHg1MDkgLWluICQ8IC1vdXQgJEAgLWluZm9ybSBQRU0gLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gY2xpMi5jcnQuZGVyCi0KLWNsaTIua2V5LmRlcjogY2xpMi5rZXkKLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1vdXQgJEAgLWluZm9ybSBQRU0gLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gY2xpMi5rZXkuZGVyCi0KLXNlcnZlcjVfcHdkX2VjID0gUG9sYXJTU0xUZXN0Ci0KLXNlcnZlcjUuY3J0LmRlcjogc2VydmVyNS5jcnQKLQkkKE9QRU5TU0wpIHg1MDkgLWluICQ8IC1vdXQgJEAgLWluZm9ybSBQRU0gLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gc2VydmVyNS5jcnQuZGVyCi0KLXNlcnZlcjUua2V5LmRlcjogc2VydmVyNS5rZXkKLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1vdXQgJEAgLWluZm9ybSBQRU0gLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gc2VydmVyNS5rZXkuZGVyCi0KLXNlcnZlcjUua2V5LmVuYzogc2VydmVyNS5rZXkKLQkkKE9QRU5TU0wpIGVjIC1hZXMyNTYgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChzZXJ2ZXI1X3B3ZF9lYykiCi1hbGxfZmluYWwgKz0gc2VydmVyNS5rZXkuZW5jCi0KLXNlcnZlcjUtc3MtZXhwaXJlZC5jcnQ6IHNlcnZlcjUua2V5Ci0JJChGQUtFVElNRSkgLWYgLTM2NTNkICQoT1BFTlNTTCkgcmVxIC14NTA5IC1uZXcgLXN1YmogIi9DPVVLL089bWJlZCBUTFMvT1U9dGVzdHN1aXRlL0NOPWxvY2FsaG9zdCIgLWRheXMgMzY1MyAtc2hhMjU2IC1rZXkgJDwgLW91dCAkQAotYWxsX2ZpbmFsICs9IHNlcnZlcjUtc3MtZXhwaXJlZC5jcnQKLQotIyB0cnkgdG8gZm9yZ2UgYSBjb3B5IG9mIHRlc3QtaW50LWNhMyB3aXRoIGRpZmZlcmVudCBrZXkKLXNlcnZlcjUtc3MtZm9yZ2VjYS5jcnQ6IHNlcnZlcjUua2V5Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLW5ldyAtc3ViaiAiL0M9VUsvTz1tYmVkIFRMUy9DTj1tYmVkIFRMUyBUZXN0IGludGVybWVkaWF0ZSBDQSAzIiBcCi0JCS1zZXRfc2VyaWFsIDc3IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyBub2V4dF9jYSBcCi0JCS1kYXlzIDM2NTAgLXNoYTI1NiAta2V5ICQ8IC1vdXQgJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI1LXNzLWZvcmdlY2EuY3J0Ci0KLXNlcnZlcjUtc2VsZnNpZ25lZC5jcnQ6IHNlcnZlcjUua2V5Ci0Jb3BlbnNzbCByZXEgLXg1MDkgLWtleSBzZXJ2ZXI1LmtleSBcCi0gICAgICAgIC1zaGEyNTYgLWRheXMgMzY1MCAtbm9kZXMgXAotICAgICAgICAtYWRkZXh0IGJhc2ljQ29uc3RyYWludHM9Y3JpdGljYWwsQ0E6RkFMU0UgXAotICAgICAgICAtYWRkZXh0IGtleVVzYWdlPWNyaXRpY2FsLGRpZ2l0YWxTaWduYXR1cmUgXAotICAgICAgICAtYWRkZXh0IHN1YmplY3RLZXlJZGVudGlmaWVyPWhhc2ggICBcCi0gICAgICAgIC1hZGRleHQgYXV0aG9yaXR5S2V5SWRlbnRpZmllcj1ub25lIFwKLSAgICAgICAgLXNldF9zZXJpYWwgMHg1M2EyY2I0YjEyNGVhZDgzN2RhODk0YjIgXAotICAgICAgICAtc3ViaiAiL0NOPXNlbGZzaWduZWQvT1U9dGVzdGluZy9PPVBvbGFyU1NML0M9TkwiIFwKLSAgICAgICAgLW91dCAkQAotYWxsX2ZpbmFsICs9IHNlcnZlcjUtc2VsZnNpZ25lZC5jcnQKLQotcGFyc2VfaW5wdXQvc2VydmVyNS1vdGhlcm5hbWUuY3J0LmRlcjogc2VydmVyNS5rZXkKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtbmV3IC1zdWJqICIvQz1VSy9PPU1iZWQgVExTL0NOPU1iZWQgVExTIG90aGVybmFtZSBTQU4iIC1zZXRfc2VyaWFsIDc3IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyBvdGhlcm5hbWVfc2FuIC1kYXlzIDM2NTAgLXNoYTI1NiAta2V5ICQ8IC1vdXRmb3JtIGRlciAtb3V0ICRACi0KLXBhcnNlX2lucHV0L3NlcnZlcjUtbm9ucHJpbnRhYmxlX290aGVybmFtZS5jcnQuZGVyOiBzZXJ2ZXI1LmtleQotCSQoT1BFTlNTTCkgcmVxIC14NTA5IC1uZXcgLXN1YmogIi9DPVVLL089TWJlZCBUTFMvQ049TWJlZCBUTFMgbm9uLXByaW50YWJsZSBvdGhlcm5hbWUgU0FOIiAtc2V0X3NlcmlhbCA3NyAtY29uZmlnICQodGVzdF9jYV9jb25maWdfZmlsZSkgLWV4dGVuc2lvbnMgbm9ucHJpbnRhYmxlX290aGVybmFtZV9zYW4gLWRheXMgMzY1MCAtc2hhMjU2IC1rZXkgJDwgLW91dGZvcm0gZGVyIC1vdXQgJEAKLQotcGFyc2VfaW5wdXQvc2VydmVyNS11bnN1cHBvcnRlZF9vdGhlcm5hbWUuY3J0LmRlcjogc2VydmVyNS5rZXkKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtbmV3IC1zdWJqICIvQz1VSy9PPU1iZWQgVExTL0NOPU1iZWQgVExTIHVuc3VwcG9ydGVkIG90aGVybmFtZSBTQU4iIC1zZXRfc2VyaWFsIDc3IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyB1bnN1cHBvcnRlZF9vdGhlcm5hbWVfc2FuIC1kYXlzIDM2NTAgLXNoYTI1NiAta2V5ICQ8IC1vdXRmb3JtIGRlciAtb3V0ICRACi0KLXBhcnNlX2lucHV0L3NlcnZlcjUtZmFuLmNydC5kZXI6IHNlcnZlcjUua2V5Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLW5ldyAtc3ViaiAiL0M9VUsvTz1NYmVkIFRMUy9DTj1NYmVkIFRMUyBGQU4iIC1zZXRfc2VyaWFsIDc3IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyBmYW5fY2VydCAtZGF5cyAzNjUwIC1zaGEyNTYgLWtleSBzZXJ2ZXI1LmtleSAtb3V0Zm9ybSBkZXIgLW91dCAkQAotCi1zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlcjogc2VydmVyNS5rZXkKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtbmV3IC1zdWJqICIvQz1VSy9PPU1iZWQgVExTL0NOPU1iZWQgVExTIFRyaWNreSBJUCBTQU4iIC1zZXRfc2VyaWFsIDc3IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyB0cmlja3lfaXBfc2FuIC1kYXlzIDM2NTAgLXNoYTI1NiAta2V5IHNlcnZlcjUua2V5IC1vdXRmb3JtIGRlciAtb3V0ICRACi0KLWFsbF9maW5hbCArPSBzZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlcgotCi0jIG1hbGZvcm1lZCBJUCBsZW5ndGgKLXNlcnZlcjUtdHJpY2t5LWlwLXNhbi1tYWxmb3JtZWQtbGVuLmNydC5kZXI6IHNlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyCi0JaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzg3MDQ2MTYyNjM2NDg3MTA2MTYyLzg3MDU2MTYyNjM2NDg3MTA2MTYyLyIgfCB4eGQgLXIgLXAgPiAkQAotCi1wYXJzZV9pbnB1dC9zZXJ2ZXI1LWRpcmVjdG9yeW5hbWUuY3J0LmRlcjogc2VydmVyNS5rZXkKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtb3V0Zm9ybSBkZXIgLW5ldyAtc3ViaiAiL0M9VUsvTz1NYmVkIFRMUy9DTj1NYmVkIFRMUyBkaXJlY3RvcnlOYW1lIFNBTiIgLXNldF9zZXJpYWwgNzcgLWNvbmZpZyAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIC1leHRlbnNpb25zIGRpcmVjdG9yeV9uYW1lX3NhbiAtZGF5cyAzNjUwIC1zaGEyNTYgLWtleSBzZXJ2ZXI1LmtleSAtb3V0ICRACi0KLXBhcnNlX2lucHV0L3NlcnZlcjUtdHdvLWRpcmVjdG9yeW5hbWVzLmNydC5kZXI6IHNlcnZlcjUua2V5Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLW91dGZvcm0gZGVyIC1uZXcgLXN1YmogIi9DPVVLL089TWJlZCBUTFMvQ049TWJlZCBUTFMgZGlyZWN0b3J5TmFtZSBTQU4iIC1zZXRfc2VyaWFsIDc3IC1jb25maWcgJCh0ZXN0X2NhX2NvbmZpZ19maWxlKSAtZXh0ZW5zaW9ucyB0d29fZGlyZWN0b3J5bmFtZXMgLWRheXMgMzY1MCAtc2hhMjU2IC1rZXkgc2VydmVyNS5rZXkgLW91dCAkQAotCi1zZXJ2ZXI1LWRlcjAuY3J0OiBzZXJ2ZXI1LmNydC5kZXIKLQljcCAkPCAkQAotc2VydmVyNS1kZXIxYS5jcnQ6IHNlcnZlcjUuY3J0LmRlcgotCWNwICQ8ICRACi0JZWNobyAnMDAnIHwgeHhkIC1yIC1wIHwgZGQgb2Y9JEAgYnM9MSBzZWVrPSQkKHdjIC1jIDwkPCkgY29udj1ub3RydW5jCi1zZXJ2ZXI1LWRlcjFiLmNydDogc2VydmVyNS5jcnQuZGVyCi0JY3AgJDwgJEAKLQllY2hvICdjMScgfCB4eGQgLXIgLXAgfCBkZCBvZj0kQCBicz0xIHNlZWs9JCQod2MgLWMgPCQ8KSBjb252PW5vdHJ1bmMKLXNlcnZlcjUtZGVyMi5jcnQ6IHNlcnZlcjUuY3J0LmRlcgotCWNwICQ8ICRACi0JZWNobyAnYjkwYScgfCB4eGQgLXIgLXAgfCBkZCBvZj0kQCBicz0xIHNlZWs9JCQod2MgLWMgPCQ8KSBjb252PW5vdHJ1bmMKLXNlcnZlcjUtZGVyNC5jcnQ6IHNlcnZlcjUuY3J0LmRlcgotCWNwICQ8ICRACi0JZWNobyAnYTcxMDk0NWYnIHwgeHhkIC1yIC1wIHwgZGQgb2Y9JEAgYnM9MSBzZWVrPSQkKHdjIC1jIDwkPCkgY29udj1ub3RydW5jCi1zZXJ2ZXI1LWRlcjguY3J0OiBzZXJ2ZXI1LmNydC5kZXIKLQljcCAkPCAkQAotCWVjaG8gJ2E0YTdmZjI3MjY3YWFhMGYnIHwgeHhkIC1yIC1wIHwgZGQgb2Y9JEAgYnM9MSBzZWVrPSQkKHdjIC1jIDwkPCkgY29udj1ub3RydW5jCi1zZXJ2ZXI1LWRlcjkuY3J0OiBzZXJ2ZXI1LmNydC5kZXIKLQljcCAkPCAkQAotCWVjaG8gJ2NmZjgzMDMzNzZmZmE0N2EyOScgfCB4eGQgLXIgLXAgfCBkZCBvZj0kQCBicz0xIHNlZWs9JCQod2MgLWMgPCQ8KSBjb252PW5vdHJ1bmMKLWFsbF9maW5hbCArPSBzZXJ2ZXI1LWRlcjAuY3J0IHNlcnZlcjUtZGVyMWIuY3J0IHNlcnZlcjUtZGVyNC5jcnQgXAotCQkJIHNlcnZlcjUtZGVyOS5jcnQgc2VydmVyNS1kZXIxYS5jcnQgc2VydmVyNS1kZXIyLmNydCBcCi0JCQkgc2VydmVyNS1kZXI4LmNydAotCi0jIGRpcmVjdG9yeW5hbWUgc2VxdWVuY2UgdGFnIG1hbGZvcm1lZAotcGFyc2VfaW5wdXQvc2VydmVyNS1kaXJlY3RvcnluYW1lLXNlcS1tYWxmb3JtZWQuY3J0LmRlcjogcGFyc2VfaW5wdXQvc2VydmVyNS10d28tZGlyZWN0b3J5bmFtZXMuY3J0LmRlcgotCWhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy82MkE0NDczMDQ1MzEwQi82MkE0NDczMTQ1MzEwQi8iIHwgeHhkIC1yIC1wID4gJEAKLQotIyBTZWNvbmQgZGlyZWN0b3J5bmFtZSBPSUQgbGVuZ3RoIG1hbGZvcm1lZCAwMyAtPiAxNQotcGFyc2VfaW5wdXQvc2VydmVyNS1zZWNvbmQtZGlyZWN0b3J5bmFtZS1vaWQtbWFsZm9ybWVkLmNydC5kZXI6IHBhcnNlX2lucHV0L3NlcnZlcjUtdHdvLWRpcmVjdG9yeW5hbWVzLmNydC5kZXIKLQloZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvMDM1NTA0MEEwQzBBNEQ0MTRDNDY0RjUyNEQ1RjRENDUvMTU1NTA0MEEwQzBBNEQ0MTRDNDY0RjUyNEQ1RjRENDUvIiB8IHh4ZCAtciAtcCA+ICRACi0KLXBhcnNlX2lucHV0L3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIHJzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyOiByc2Ffc2luZ2xlX3Nhbl91cmkua2V5Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLW91dGZvcm0gZGVyIC1ub2RlcyAtZGF5cyA3MzAwIC1uZXdrZXkgcnNhOjIwNDggLWtleSAkPCAtb3V0ICRAIC1hZGRleHQgInN1YmplY3RBbHROYW1lID0gVVJJOnVybjpleGFtcGxlLmNvbTo1ZmY0MGY3OC05MjEwLTQ5NGYtODIwNi1jMmMwODJmMDYwOWMiIC1leHRlbnNpb25zICd2M19yZXEnIC1zdWJqICIvQz1VSy9PPU1iZWQgVExTL0NOPU1iZWQgVExTIFVSSSBTQU4iCi0KLXBhcnNlX2lucHV0L3JzYV9tdWx0aXBsZV9zYW5fdXJpLmNydC5kZXI6IHJzYV9tdWx0aXBsZV9zYW5fdXJpLmtleQotCSQoT1BFTlNTTCkgcmVxIC14NTA5IC1vdXRmb3JtIGRlciAtbm9kZXMgLWRheXMgNzMwMCAtbmV3a2V5IHJzYToyMDQ4IC1rZXkgJDwgLW91dCAkQCAtYWRkZXh0ICJzdWJqZWN0QWx0TmFtZSA9IFVSSTp1cm46ZXhhbXBsZS5jb206NWZmNDBmNzgtOTIxMC00OTRmLTgyMDYtYzJjMDgyZjA2MDljLCBVUkk6dXJuOmV4YW1wbGUuY29tOjVmZjQwZjc4LTkyMTAtNDk0Zi04MjA2LWFiY2RlMTIzNDU2NyIgLWV4dGVuc2lvbnMgJ3YzX3JlcScgLXN1YmogIi9DPVVLL089TWJlZCBUTFMvQ049TWJlZCBUTFMgVVJJIFNBTiIKLQotdGVzdC1pbnQtY2EzLWJhZHNpZ24uY3J0OiB0ZXN0LWludC1jYTMuY3J0Ci0JeyBoZWFkIC1uLTIgJDw7IHRhaWwgLW4tMiAkPCB8IHNlZCAtZSAnMXMvMFwoPSpcKSQkL19cMS8nIC1lICcxcy9bXl89XVwoPSpcKSQkLzBcMS8nIC1lICcxcy9fLzEvJzsgfSA+ICRACi1hbGxfZmluYWwgKz0gdGVzdC1pbnQtY2EzLWJhZHNpZ24uY3J0Ci0KLSMgc2VydmVyOSoKLQotc2VydmVyOS5jc3I6IHNlcnZlcjkua2V5Ci0JJChPUEVOU1NMKSByZXEgLW5ldyAtc3ViaiAiL0M9TkwvTz1Qb2xhclNTTC9DTj1sb2NhbGhvc3QiIFwKLQkJCQkJLWtleSAkPCAtb3V0ICRACi1wYXJzZV9pbnB1dC9zZXJ2ZXI5LmNydCBzZXJ2ZXI5LmNydDogc2VydmVyOS1zaGExLmNydAotCWNwICQ8ICRACi1hbGxfZmluYWwgKz0gc2VydmVyOS5jcnQKLWFsbF9pbnRlcm1lZGlhdGUgKz0gc2VydmVyOS5jc3Igc2VydmVyOS1zaGExLmNydAotCi1zZXJ2ZXI5LSUuY3J0OiBzZXJ2ZXI5LmNzciAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKQotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1leHRmaWxlICQoY2xpX2NydF9leHRlbnNpb25zX2ZpbGUpIC1leHRlbnNpb25zIGNsaS1yc2EgXAotCQktcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgLUNBICQodGVzdF9jYV9jcnQpIC1DQWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBcCi0JCS1zZXRfc2VyaWFsICQoU0VSVkVSOV9DUlRfU0VSSUFMKSAtZGF5cyAzNjUzIFwKLQkJLXNpZ29wdCByc2FfcGFkZGluZ19tb2RlOnBzcyAtc2lnb3B0IHJzYV9wc3Nfc2FsdGxlbjptYXggXAotCQktc2lnb3B0IHJzYV9tZ2YxX21kOiQoQEY6c2VydmVyOS0lLmNydD0lKSAtJChARjpzZXJ2ZXI5LSUuY3J0PSUpIFwKLQkJLWluICQ8IC1vdXQgJEAKLXNlcnZlcjktc2hhMS5jcnQ6IFNFUlZFUjlfQ1JUX1NFUklBTD0yMgotcGFyc2VfaW5wdXQvc2VydmVyOS1zaGEyMjQuY3J0IHNlcnZlcjktc2hhMjI0LmNydDogU0VSVkVSOV9DUlRfU0VSSUFMPTIzCi1wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTI1Ni5jcnQgc2VydmVyOS1zaGEyNTYuY3J0OiBTRVJWRVI5X0NSVF9TRVJJQUw9MjQKLXBhcnNlX2lucHV0L3NlcnZlcjktc2hhMzg0LmNydCBzZXJ2ZXI5LXNoYTM4NC5jcnQ6IFNFUlZFUjlfQ1JUX1NFUklBTD0yNQotcGFyc2VfaW5wdXQvc2VydmVyOS1zaGE1MTIuY3J0IHNlcnZlcjktc2hhNTEyLmNydDogU0VSVkVSOV9DUlRfU0VSSUFMPTI2Ci1hbGxfZmluYWwgKz0gc2VydmVyOS1zaGEyMjQuY3J0IHNlcnZlcjktc2hhMjU2LmNydCBzZXJ2ZXI5LXNoYTM4NC5jcnQgc2VydmVyOS1zaGE1MTIuY3J0Ci0KLXNlcnZlcjktZGVmYXVsdHMuY3J0OiBzZXJ2ZXI5LmNzciAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKQotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1leHRmaWxlICQoY2xpX2NydF9leHRlbnNpb25zX2ZpbGUpIC1leHRlbnNpb25zIGNsaS1yc2EgXAotCQktcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgLUNBICQodGVzdF9jYV9jcnQpIC1DQWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBcCi0JCS1zZXRfc2VyaWFsIDcyIC1kYXlzIDM2NTMgXAotCQktc2lnb3B0IHJzYV9wYWRkaW5nX21vZGU6cHNzIC1zaWdvcHQgcnNhX3Bzc19zYWx0bGVuOm1heCAtc2hhMSBcCi0JCS1pbiAkPCAtb3V0ICRACi1hbGxfZmluYWwgKz0gc2VydmVyOS1kZWZhdWx0cy5jcnQKLQotc2VydmVyOS1iYWRzaWduLmNydDogc2VydmVyOS5jcnQKLQl7IGhlYWQgLW4tMiAkPDsgdGFpbCAtbi0yICQ8IHwgc2VkIC1lICcxcy8wXCg9KlwpJCQvX1wxLycgLWUgJzFzL1teXz1dXCg9KlwpJCQvMFwxLycgLWUgJzFzL18vMS8nOyB9ID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI5LWJhZHNpZ24uY3J0Ci0KLXNlcnZlcjktd2l0aC1jYS5jcnQ6IHNlcnZlcjkuY3J0ICQodGVzdF9jYV9jcnQpCi0JY2F0ICReID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI5LXdpdGgtY2EuY3J0Ci0KLXNlcnZlcjktYmFkLW1nZmhhc2guY3J0OiBzZXJ2ZXI5LmNzciAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKQotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1leHRmaWxlICQoY2xpX2NydF9leHRlbnNpb25zX2ZpbGUpIC1leHRlbnNpb25zIGNsaS1yc2EgXAotCQktcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgLUNBICQodGVzdF9jYV9jcnQpIC1DQWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBcCi0JCS1zZXRfc2VyaWFsIDI0IC1kYXlzIDM2NTMgXAotCQktc2lnb3B0IHJzYV9wYWRkaW5nX21vZGU6cHNzIC1zaWdvcHQgcnNhX3Bzc19zYWx0bGVuOm1heCBcCi0JCS1zaWdvcHQgcnNhX21nZjFfbWQ6c2hhMjI0IC1zaGEyNTYgXAotCQktaW4gJDwgLW91dCAkQAotYWxsX2ZpbmFsICs9IHNlcnZlcjktYmFkLW1nZmhhc2guY3J0Ci0KLXNlcnZlcjktYmFkLXNhbHRsZW4uY3J0OiBzZXJ2ZXI5LmNzciAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBcCi0JCQkgb3BlbnNzbGNuZi9zZXJ2ZXI5LmNydC52M19leHQgXAotCQkJIC4uL3NjcmlwdHMvZ2VuZXJhdGVfc2VydmVyOV9iYWRfc2FsdGxlbi5weQotCS4uL3NjcmlwdHMvZ2VuZXJhdGVfc2VydmVyOV9iYWRfc2FsdGxlbi5weSAtLWNhLW5hbWUgdGVzdC1jYSBcCi0JCS0tY2EtcGFzc3dvcmQgJCh0ZXN0X2NhX3B3ZF9yc2EpIC0tY3NyIHNlcnZlcjkuY3NyIFwKLQkJLS1vcGVuc3NsLWV4dGZpbGUgb3BlbnNzbGNuZi9zZXJ2ZXI5LmNydC52M19leHQgXAotCQktLWFub3VuY2Vfc2FsdGxlbiAweGRlIC0tYWN0dWFsX3NhbHRsZW4gMHgyMCBcCi0JCS0tb3V0cHV0ICRACi1hbGxfZmluYWwgKz0gc2VydmVyOS1iYWQtc2FsdGxlbi5jcnQKLQotIyBzZXJ2ZXIxMCoKLQotc2VydmVyMTAuY3J0OiBzZXJ2ZXIxMC5rZXkgdGVzdC1pbnQtY2EzLmNydCB0ZXN0LWludC1jYTMua2V5Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHN1YmplY3Rfa2V5PSQ8IHN1YmplY3RfbmFtZT0iQ049bG9jYWxob3N0IiBzZXJpYWw9NzUgXAotCQlpc3N1ZXJfY3J0PXRlc3QtaW50LWNhMy5jcnQgaXNzdWVyX2tleT10ZXN0LWludC1jYTMua2V5IFwKLQkJc3ViamVjdF9pZGVudGlmaWVyPTAgYXV0aG9yaXR5X2lkZW50aWZpZXI9MCBcCi0JCW5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IFwKLQkJbWQ9U0hBMjU2IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IHNlcnZlcjEwLmNydAotc2VydmVyMTAtYmFkc2lnbi5jcnQ6IHNlcnZlcjEwLmNydAotCXsgaGVhZCAtbi0yICQ8OyB0YWlsIC1uLTIgJDwgfCBzZWQgLWUgJzFzLzBcKD0qXCkkJC9fXDEvJyAtZSAnMXMvW15fPV1cKD0qXCkkJC8wXDEvJyAtZSAnMXMvXy8xLyc7IH0gPiAkQAotYWxsX2ZpbmFsICs9IHNlcnZlcjEwLWJhZHNpZ24uY3J0Ci1zZXJ2ZXIxMC1ic19pbnQzLnBlbTogc2VydmVyMTAtYmFkc2lnbi5jcnQgdGVzdC1pbnQtY2EzLmNydAotCWNhdCBzZXJ2ZXIxMC1iYWRzaWduLmNydCB0ZXN0LWludC1jYTMuY3J0ID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIxMC1ic19pbnQzLnBlbQotc2VydmVyMTBfaW50My1icy5wZW06IHNlcnZlcjEwLmNydCB0ZXN0LWludC1jYTMtYmFkc2lnbi5jcnQKLQljYXQgc2VydmVyMTAuY3J0IHRlc3QtaW50LWNhMy1iYWRzaWduLmNydCA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyMTBfaW50My1icy5wZW0KLXNlcnZlcjEwX2ludDNfaW50LWNhMi5jcnQ6IHNlcnZlcjEwLmNydCB0ZXN0LWludC1jYTMuY3J0ICQodGVzdF9jYV9pbnRfZWMpCi0JY2F0ICReID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIxMF9pbnQzX2ludC1jYTIuY3J0Ci1zZXJ2ZXIxMF9pbnQzX2ludC1jYTJfY2EuY3J0OiBzZXJ2ZXIxMC5jcnQgdGVzdC1pbnQtY2EzLmNydCAkKHRlc3RfY2FfaW50X2VjKSAkKHRlc3RfY2FfY3J0KQotCWNhdCAkXiA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyMTBfaW50M19pbnQtY2EyX2NhLmNydAotc2VydmVyMTBfaW50M19zcHVyaW91c19pbnQtY2EyLmNydDogc2VydmVyMTAuY3J0IHRlc3QtaW50LWNhMy5jcnQgJCh0ZXN0X2NhX2ludF9yc2ExKSAkKHRlc3RfY2FfaW50X2VjKQotCWNhdCAkXiA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyMTBfaW50M19zcHVyaW91c19pbnQtY2EyLmNydAotCi1yc2FfcGtjczFfMjA0OF9wdWJsaWMucGVtOiBzZXJ2ZXI4LmtleQotCSQoT1BFTlNTTCkgIHJzYSAtaW4gJDwgLW91dGZvcm0gUEVNIC1SU0FQdWJsaWNLZXlfb3V0IC1vdXQgJEAKLWFsbF9maW5hbCArPSByc2FfcGtjczFfMjA0OF9wdWJsaWMucGVtCi0KLXJzYV9wa2NzMV8yMDQ4X3B1YmxpYy5kZXI6IHJzYV9wa2NzMV8yMDQ4X3B1YmxpYy5wZW0KLQkkKE9QRU5TU0wpIHJzYSAtUlNBUHVibGljS2V5X2luIC1pbiAkPCAtb3V0Zm9ybSBERVIgLVJTQVB1YmxpY0tleV9vdXQgLW91dCAkQAotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8yMDQ4X3B1YmxpYy5kZXIKLQotcnNhX3BrY3M4XzIwNDhfcHVibGljLnBlbTogc2VydmVyOC5rZXkKLQkkKE9QRU5TU0wpICByc2EgLWluICQ8IC1vdXRmb3JtIFBFTSAtcHVib3V0IC1vdXQgJEAKLWFsbF9maW5hbCArPSByc2FfcGtjczhfMjA0OF9wdWJsaWMucGVtCi0KLXJzYV9wa2NzOF8yMDQ4X3B1YmxpYy5kZXI6IHJzYV9wa2NzOF8yMDQ4X3B1YmxpYy5wZW0KLQkkKE9QRU5TU0wpIHJzYSAtcHViaW4gLWluICQ8IC1vdXRmb3JtIERFUiAtcHVib3V0IC1vdXQgJEAKLWFsbF9maW5hbCArPSByc2FfcGtjczhfMjA0OF9wdWJsaWMuZGVyCi0KLSMgR2VuZXJhdGUgY3JsX2NhdF8qLnBlbQotIyAtIGNydF9jYXRfKi5wZW06ICgxKzIpIGNvbmNhdGVuYXRpb25zIGluIHZhcmlvdXMgb3JkZXJzOgotIyAgICAgZWMgPSBjcmwtZWMtc2hhMjU2LnBlbSwgZWNmdXQgPSBjcmwtZnV0dXJlLnBlbQotIyAgICAgcnNhID0gY3JsLnBlbSwgcnNhYmFkcGVtID0gc2FtZSB3aXRoIHBlbSBlcnJvciwgcnNhZXhwID0gY3JsX2V4cGlyZWQucGVtCi0KLWNybF9jYXRfZWMtcnNhLnBlbTpjcmwtZWMtc2hhMjU2LnBlbSBjcmwucGVtCi0JY2F0ICReID4gJEAKLQotY3JsX2NhdF9yc2EtZWMucGVtOmNybC5wZW0gY3JsLWVjLXNoYTI1Ni5wZW0KLQljYXQgJF4gPiAkQAotCi1hbGxfZmluYWwgKz0gY3JsX2NhdF9lYy1yc2EucGVtIGNybF9jYXRfcnNhLWVjLnBlbQotCi1hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWQuY3J0LmRlcjoKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtbm9kZXMgLWRheXMgNzMwMCAta2V5IHNlcnZlcjIua2V5IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1jb25maWcgYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkLmNvbmYgLWV4dGVuc2lvbnMgJ3YzX3JlcScgLXNldF9zZXJpYWwgNTkzODI4NDk0MzAzNzkyNDQ5MTM0ODk4NzQ5MjA4MTY4MTA4NDAzOTkxOTUxMDM0Ci0KLWF1dGhvcml0eUtleUlkX25vX2tleWlkLmNydC5kZXI6Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLW5vZGVzIC1kYXlzIDczMDAgLWtleSBzZXJ2ZXIyLmtleSAtb3V0Zm9ybSBERVIgLW91dCAkQCAtY29uZmlnIGF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jb25mIC1leHRlbnNpb25zICd2M19yZXFfYXV0aG9yaXR5S2V5SWRfbm9fa2V5aWQnIC1zZXRfc2VyaWFsIDU5MzgyODQ5NDMwMzc5MjQ0OTEzNDg5ODc0OTIwODE2ODEwODQwMzk5MTk1MTAzNAotCi1hdXRob3JpdHlLZXlJZF9ub19pc3N1ZXIuY3J0LmRlcjoKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtbm9kZXMgLWRheXMgNzMwMCAta2V5IHNlcnZlcjIua2V5IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1jb25maWcgYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkLmNvbmYgLWV4dGVuc2lvbnMgJ3YzX3JlcV9hdXRob3JpdHlLZXlJZF9ub19pc3N1ZXInCi0KLWF1dGhvcml0eUtleUlkX25vX2F1dGhvcml0eUtleUlkLmNydC5kZXI6Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLW5vZGVzIC1kYXlzIDczMDAgLWtleSBzZXJ2ZXIyLmtleSAtb3V0Zm9ybSBERVIgLW91dCAkQCAtY29uZmlnIGF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jb25mIC1leHRlbnNpb25zICd2M19yZXFfbm9fYXV0aG9yaXR5S2V5SWQnCi0KLWF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF90YWdfbWFsZm9ybWVkLmNydC5kZXI6IGF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jcnQuZGVyCi0JaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzA0MTRBNTA1RTg2NEI4RENERjYwMEY1MDEyNEQ2MEE4NjRBRjREOEI0MzkzLzAxMTRBNTA1RTg2NEI4RENERjYwMEY1MDEyNEQ2MEE4NjRBRjREOEI0MzkzLyIgfCB4eGQgLXIgLXAgPiAkQAotCi1hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfdGFnX2xlbl9tYWxmb3JtZWQuY3J0LmRlcjogYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkLmNydC5kZXIKLQloZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvMDQxNEE1MDVFODY0QjhEQ0RGNjAwRjUwMTI0RDYwQTg2NEFGNEQ4QjQzOTMvMDQxM0E1MDVFODY0QjhEQ0RGNjAwRjUwMTI0RDYwQTg2NEFGNEQ4QjQzOTMvIiB8IHh4ZCAtciAtcCA+ICRACi0KLWF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9sZW5ndGhfbWFsZm9ybWVkLmNydC5kZXI6IGF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jcnQuZGVyCi0JaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzMwNkQ4MDE0QTUwNUU4NjRCOERDLzMwNkM4MDE0QTUwNUU4NjRCOERDLyIgfCB4eGQgLXIgLXAgPiAkQAotCi1hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfc2VxdWVuY2VfdGFnX21hbGZvcm1lZC5jcnQuZGVyOiBhdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWQuY3J0LmRlcgotCWhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy82RjMwNkQ4MDE0QTUwNUU4NjRCOC82RjAwNkQ4MDE0QTUwNUU4NjRCOC8iIHwgeHhkIC1yIC1wID4gJEAKLQotYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2tleWlkX3RhZ19tYWxmb3JtZWQuY3J0LmRlcjogYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkLmNydC5kZXIKLQloZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvMzA2RDgwMTRBNTA1RTg2NEI4REMvMzA2RDAwMTRBNTA1RTg2NEI4REMvIiB8IHh4ZCAtciAtcCA+ICRACi0KLWF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9rZXlpZF90YWdfbGVuX21hbGZvcm1lZC5jcnQuZGVyOiBhdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWQuY3J0LmRlcgotCWhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy8zMDZEODAxNEE1MDVFODY0QjhEQy8zMDZEODBGRkE1MDVFODY0QjhEQy8iIHwgeHhkIC1yIC1wID4gJEAKLQotYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2lzc3Vlcl90YWcxX21hbGZvcm1lZC5jcnQuZGVyOiBhdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWQuY3J0LmRlcgotCWhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy9BMTNGQTQzRDMwM0IzMTBCMzAwOS8wMDNGQTQzRDMwM0IzMTBCMzAwOS8iIHwgeHhkIC1yIC1wID4gJEAKLQotYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2lzc3Vlcl90YWcyX21hbGZvcm1lZC5jcnQuZGVyOiBhdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWQuY3J0LmRlcgotCWhleGR1bXAgLXZlICcxLzEgIiUuMlgiJyAkPCB8IHNlZCAicy9BNDNEMzAzQjMxMEIzMDA5MDYwMy8wMDNEMzAzQjMxMEIzMDA5MDYwMy8iIHwgeHhkIC1yIC1wID4gJEAKLQotYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3NuX3RhZ19tYWxmb3JtZWQuY3J0LmRlcjogYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkLmNydC5kZXIKLQloZXhkdW1wIC12ZSAnMS8xICIlLjJYIicgJDwgfCBzZWQgInMvODIxNDY4MDQzMENEMDc0REU2M0YvODExNDY4MDQzMENEMDc0REU2M0YvIiB8IHh4ZCAtciAtcCA+ICRACi0KLWF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9zbl9sZW5fbWFsZm9ybWVkLmNydC5kZXI6IGF1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jcnQuZGVyCi0JaGV4ZHVtcCAtdmUgJzEvMSAiJS4yWCInICQ8IHwgc2VkICJzLzgyMTQ2ODA0MzBDRDA3NERFNjNGLzgyMTM2ODA0MzBDRDA3NERFNjNGLyIgfCB4eGQgLXIgLXAgPiAkQAotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMjIEdlbmVyYXRlIHZhcmlvdXMgUlNBIGtleXMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyMjIFBhc3N3b3JkIHVzZWQgZm9yIFBLQ1MxLWVuY29kZWQgZW5jcnlwdGVkIFJTQSBrZXlzCi1rZXlzX3JzYV9iYXNpY19wd2QgPSB0ZXN0a2V5Ci0KLSMjIyBQYXNzd29yZCB1c2VkIGZvciBQS0NTOC1lbmNvZGVkIGVuY3J5cHRlZCBSU0Ega2V5cwota2V5c19yc2FfcGtjczhfcHdkID0gUG9sYXJTU0xUZXN0Ci0KLSMjIyBCYXNpYyAxMDI0LSwgMjA0OC0gYW5kIDQwOTYtYml0IHVuZW5jcnlwdGVkIFJTQSBrZXlzIGZyb20gd2hpY2gKLSMjIyBhbGwgb3RoZXIgZW5jcnlwdGVkIFJTQSBrZXlzIGFyZSBkZXJpdmVkLgotcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtOgotCSQoT1BFTlNTTCkgZ2VucnNhIC1vdXQgJEAgMTAyNAotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtOgotCSQoT1BFTlNTTCkgZ2VucnNhIC1vdXQgJEAgMjA0OAotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotcnNhX3BrY3MxXzQwOTZfY2xlYXIucGVtOgotCSQoT1BFTlNTTCkgZ2VucnNhIC1vdXQgJEAgNDA5NgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCi0jIyMKLSMjIyBQS0NTMS1lbmNvZGVkLCBlbmNyeXB0ZWQgUlNBIGtleXMKLSMjIwotCi0jIyMgMTAyNC1iaXQKLXJzYV9wa2NzMV8xMDI0X2Rlcy5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1kZXMgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8xMDI0X2Rlcy5wZW0KLXJzYV9wa2NzMV8xMDI0XzNkZXMucGVtOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHJzYSAtZGVzMyAtaW4gJDwgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX2Jhc2ljX3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3MxXzEwMjRfM2Rlcy5wZW0KLXJzYV9wa2NzMV8xMDI0X2FlczEyOC5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMxMjggLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8xMDI0X2FlczEyOC5wZW0KLXJzYV9wa2NzMV8xMDI0X2FlczE5Mi5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMxOTIgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8xMDI0X2FlczE5Mi5wZW0KLXJzYV9wa2NzMV8xMDI0X2FlczI1Ni5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMyNTYgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8xMDI0X2FlczI1Ni5wZW0KLWtleXNfcnNhX2VuY19iYXNpY18xMDI0OiByc2FfcGtjczFfMTAyNF9kZXMucGVtIHJzYV9wa2NzMV8xMDI0XzNkZXMucGVtIHJzYV9wa2NzMV8xMDI0X2FlczEyOC5wZW0gcnNhX3BrY3MxXzEwMjRfYWVzMTkyLnBlbSByc2FfcGtjczFfMTAyNF9hZXMyNTYucGVtCi0KLSMgMjA0OC1iaXQKLXJzYV9wa2NzMV8yMDQ4X2Rlcy5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1kZXMgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8yMDQ4X2Rlcy5wZW0KLXJzYV9wa2NzMV8yMDQ4XzNkZXMucGVtOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHJzYSAtZGVzMyAtaW4gJDwgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX2Jhc2ljX3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3MxXzIwNDhfM2Rlcy5wZW0KLXJzYV9wa2NzMV8yMDQ4X2FlczEyOC5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMxMjggLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8yMDQ4X2FlczEyOC5wZW0KLXJzYV9wa2NzMV8yMDQ4X2FlczE5Mi5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMxOTIgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8yMDQ4X2FlczE5Mi5wZW0KLXJzYV9wa2NzMV8yMDQ4X2FlczI1Ni5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMyNTYgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV8yMDQ4X2FlczI1Ni5wZW0KLWtleXNfcnNhX2VuY19iYXNpY18yMDQ4OiByc2FfcGtjczFfMjA0OF9kZXMucGVtIHJzYV9wa2NzMV8yMDQ4XzNkZXMucGVtIHJzYV9wa2NzMV8yMDQ4X2FlczEyOC5wZW0gcnNhX3BrY3MxXzIwNDhfYWVzMTkyLnBlbSByc2FfcGtjczFfMjA0OF9hZXMyNTYucGVtCi0KLSMgNDA5Ni1iaXQKLXJzYV9wa2NzMV80MDk2X2Rlcy5wZW06IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1kZXMgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV80MDk2X2Rlcy5wZW0KLXJzYV9wa2NzMV80MDk2XzNkZXMucGVtOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHJzYSAtZGVzMyAtaW4gJDwgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX2Jhc2ljX3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3MxXzQwOTZfM2Rlcy5wZW0KLXJzYV9wa2NzMV80MDk2X2FlczEyOC5wZW06IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMxMjggLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV80MDk2X2FlczEyOC5wZW0KLXJzYV9wa2NzMV80MDk2X2FlczE5Mi5wZW06IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMxOTIgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV80MDk2X2FlczE5Mi5wZW0KLXJzYV9wa2NzMV80MDk2X2FlczI1Ni5wZW06IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcnNhIC1hZXMyNTYgLWluICQ8IC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9iYXNpY19wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzMV80MDk2X2FlczI1Ni5wZW0KLWtleXNfcnNhX2VuY19iYXNpY180MDk2OiByc2FfcGtjczFfNDA5Nl9kZXMucGVtIHJzYV9wa2NzMV80MDk2XzNkZXMucGVtIHJzYV9wa2NzMV80MDk2X2FlczEyOC5wZW0gcnNhX3BrY3MxXzQwOTZfYWVzMTkyLnBlbSByc2FfcGtjczFfNDA5Nl9hZXMyNTYucGVtCi0KLSMjIwotIyMjIFBLQ1M4LXYxIGVuY29kZWQsIGVuY3J5cHRlZCBSU0Ega2V5cwotIyMjCi0KLSMjIyAxMDI0LWJpdAotcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfM2Rlcy5kZXI6IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIgLXRvcGs4IC12MSBQQkUtU0hBMS0zREVTCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfM2Rlcy5kZXIKLXJzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzNkZXMucGVtOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiIC10b3BrOCAtdjEgUEJFLVNIQTEtM0RFUwotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzNkZXMucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjFfMTAyNF8zZGVzOiByc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8zZGVzLnBlbSByc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8zZGVzLmRlcgotCi1yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8yZGVzLmRlcjogcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIiAtdG9wazggLXYxIFBCRS1TSEExLTJERVMKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8yZGVzLmRlcgotcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIgLXRvcGs4IC12MSBQQkUtU0hBMS0yREVTCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92MV8xMDI0XzJkZXM6IHJzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzJkZXMucGVtIHJzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzJkZXMuZGVyCi0KLWtleXNfcnNhX2VuY19wa2NzOF92MV8xMDI0OiBrZXlzX3JzYV9lbmNfcGtjczhfdjFfMTAyNF8zZGVzIGtleXNfcnNhX2VuY19wa2NzOF92MV8xMDI0XzJkZXMKLQotIyMjIDIwNDgtYml0Ci1yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8zZGVzLmRlcjogcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIiAtdG9wazggLXYxIFBCRS1TSEExLTNERVMKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8zZGVzLmRlcgotcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfM2Rlcy5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIgLXRvcGs4IC12MSBQQkUtU0hBMS0zREVTCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfM2Rlcy5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92MV8yMDQ4XzNkZXM6IHJzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzNkZXMucGVtIHJzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzNkZXMuZGVyCi0KLXJzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzJkZXMuZGVyOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiIC10b3BrOCAtdjEgUEJFLVNIQTEtMkRFUwotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzJkZXMuZGVyCi1yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8yZGVzLnBlbTogcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIiAtdG9wazggLXYxIFBCRS1TSEExLTJERVMKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8yZGVzLnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YxXzIwNDhfMmRlczogcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfMmRlcy5wZW0gcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfMmRlcy5kZXIKLQota2V5c19yc2FfZW5jX3BrY3M4X3YxXzIwNDg6IGtleXNfcnNhX2VuY19wa2NzOF92MV8yMDQ4XzNkZXMga2V5c19yc2FfZW5jX3BrY3M4X3YxXzIwNDhfMmRlcwotCi0jIyMgNDA5Ni1iaXQKLXJzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzNkZXMuZGVyOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiIC10b3BrOCAtdjEgUEJFLVNIQTEtM0RFUwotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzNkZXMuZGVyCi1yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8zZGVzLnBlbTogcnNhX3BrY3MxXzQwOTZfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIiAtdG9wazggLXYxIFBCRS1TSEExLTNERVMKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8zZGVzLnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YxXzQwOTZfM2RlczogcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfM2Rlcy5wZW0gcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfM2Rlcy5kZXIKLQotcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfMmRlcy5kZXI6IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIgLXRvcGs4IC12MSBQQkUtU0hBMS0yREVTCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfMmRlcy5kZXIKLXJzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzJkZXMucGVtOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiIC10b3BrOCAtdjEgUEJFLVNIQTEtMkRFUwotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzJkZXMucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjFfNDA5Nl8yZGVzOiByc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8yZGVzLnBlbSByc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8yZGVzLmRlcgotCi1rZXlzX3JzYV9lbmNfcGtjczhfdjFfNDA5Njoga2V5c19yc2FfZW5jX3BrY3M4X3YxXzQwOTZfM2RlcyBrZXlzX3JzYV9lbmNfcGtjczhfdjFfNDA5Nl8yZGVzCi0KLSMjIwotIyMjIFBLQ1M4LXYyIGVuY29kZWQsIGVuY3J5cHRlZCBSU0Ega2V5cywgbm8gUFJGIHNwZWNpZmllZCAoZGVmYXVsdCBmb3IgT3BlblNTTDEuMDogaG1hY1dpdGhTSEExKQotIyMjCi0KLSMjIyAxMDI0LWJpdAotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXMuZGVyOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXMucGVtOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0XzNkZXM6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5wZW0KLQotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5kZXI6IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzLmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0X2RlczogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5wZW0KLQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjQ6IGtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0XzNkZXMga2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjRfZGVzCi0KLSMjIyAyMDQ4LWJpdAotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXMuZGVyOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXMucGVtOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlcy5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4XzNkZXM6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlcy5wZW0KLQotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5kZXI6IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzLmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4X2RlczogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5wZW0KLQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDg6IGtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4XzNkZXMga2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfZGVzCi0KLSMjIyA0MDk2LWJpdAotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMuZGVyOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzLmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMucGVtOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlcy5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2XzNkZXM6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzLmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlcy5wZW0KLQotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5kZXI6IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5wZW06IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X2RlczogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5wZW0KLQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTY6IGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2XzNkZXMga2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTZfZGVzCi0KLSMjIwotIyMjIFBLQ1M4LXYyIGVuY29kZWQsIGVuY3J5cHRlZCBSU0Ega2V5cywgUFJGIGhtYWNXaXRoU0hBMjI0Ci0jIyMKLQotIyMjIDEwMjQtYml0Ci1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyMjQuZGVyOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEEyMjQgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyMjQuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyMjQucGVtOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBMjI0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjRfM2Rlc19zaGEyMjQ6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTIyNC5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LnBlbQotCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTIyNC5kZXI6IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBMjI0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTIyNC5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTIyNCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjI0LnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjRfZGVzX3NoYTIyNDogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjI0LnBlbQotCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF9zaGEyMjQ6IGtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0XzNkZXNfc2hhMjI0IGtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0X2Rlc19zaGEyMjQKLQotIyMjIDIwNDgtYml0Ci1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQuZGVyOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEEyMjQgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQucGVtOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBMjI0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfM2Rlc19zaGEyMjQ6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTIyNC5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LnBlbQotCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5kZXI6IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBMjI0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTIyNCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjI0LnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfZGVzX3NoYTIyNDogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjI0LnBlbQotCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMjA0OF9zaGEyMjQ6IGtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4XzNkZXNfc2hhMjI0IGtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4X2Rlc19zaGEyMjQKLQotIyMjIDQwOTYtYml0Ci1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQuZGVyOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEEyMjQgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQucGVtOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBMjI0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjI0LnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTZfM2Rlc19zaGEyMjQ6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjI0LnBlbQotCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTIyNC5kZXI6IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBMjI0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTIyNC5wZW06IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTIyNCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjI0LnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTZfZGVzX3NoYTIyNDogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjI0LnBlbQotCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfNDA5Nl9zaGEyMjQ6IGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2XzNkZXNfc2hhMjI0IGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X2Rlc19zaGEyMjQKLQotIyMjCi0jIyMgUEtDUzgtdjIgZW5jb2RlZCwgZW5jcnlwdGVkIFJTQSBrZXlzLCBQUkYgaG1hY1dpdGhTSEEyNTYKLSMjIwotCi0jIyMgMTAyNC1iaXQKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTI1Ni5kZXI6IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMzIC12MnByZiBobWFjV2l0aFNIQTI1NiAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTI1Ni5kZXIKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTI1Ni5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEEyNTYgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF8zZGVzX3NoYTI1NjogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjU2LmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYucGVtCi0KLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjU2LmRlcjogcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtdG9wazggLXYyIGRlcyAtdjJwcmYgaG1hY1dpdGhTSEEyNTYgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5kZXIKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjU2LnBlbTogcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAgLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBMjU2IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyNTYucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF9kZXNfc2hhMjU2OiByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyNTYucGVtCi0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0X3NoYTI1Njoga2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjRfM2Rlc19zaGEyNTYga2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjRfZGVzX3NoYTI1NgotCi0jIyMgMjA0OC1iaXQKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5kZXI6IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMzIC12MnByZiBobWFjV2l0aFNIQTI1NiAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5kZXIKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEEyNTYgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMjA0OF8zZGVzX3NoYTI1NjogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjU2LmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYucGVtCi0KLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LmRlcjogcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtdG9wazggLXYyIGRlcyAtdjJwcmYgaG1hY1dpdGhTSEEyNTYgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTI1Ni5kZXIKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LnBlbTogcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAgLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBMjU2IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyNTYucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMjA0OF9kZXNfc2hhMjU2OiByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTI1Ni5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyNTYucGVtCi0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4X3NoYTI1Njoga2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfM2Rlc19zaGEyNTYga2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfZGVzX3NoYTI1NgotCi0jIyMgNDA5Ni1iaXQKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5kZXI6IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMzIC12MnByZiBobWFjV2l0aFNIQTI1NiAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5kZXIKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5wZW06IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEEyNTYgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyNTYucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfNDA5Nl8zZGVzX3NoYTI1NjogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyNTYucGVtCi0KLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjU2LmRlcjogcnNhX3BrY3MxXzQwOTZfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtdG9wazggLXYyIGRlcyAtdjJwcmYgaG1hY1dpdGhTSEEyNTYgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5kZXIKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjU2LnBlbTogcnNhX3BrY3MxXzQwOTZfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAgLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBMjU2IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyNTYucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfNDA5Nl9kZXNfc2hhMjU2OiByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyNTYucGVtCi0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X3NoYTI1Njoga2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTZfM2Rlc19zaGEyNTYga2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTZfZGVzX3NoYTI1NgotCi0jIyMKLSMjIyBQS0NTOC12MiBlbmNvZGVkLCBlbmNyeXB0ZWQgUlNBIGtleXMsIFBSRiBobWFjV2l0aFNIQTM4NAotIyMjCi0KLSMjIyAxMDI0LWJpdAotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMzg0LmRlcjogcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBMzg0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMzg0LmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMzg0LnBlbTogcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAgLXRvcGs4IC12MiBkZXMzIC12MnByZiBobWFjV2l0aFNIQTM4NCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0XzNkZXNfc2hhMzg0OiByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEzODQuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5wZW0KLQotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEzODQuZGVyOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTM4NCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEzODQucGVtOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlcyAtdjJwcmYgaG1hY1dpdGhTSEEzODQgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTM4NC5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0X2Rlc19zaGEzODQ6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTM4NC5wZW0KLQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjRfc2hhMzg0OiBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF8zZGVzX3NoYTM4NCBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF9kZXNfc2hhMzg0Ci0KLSMjIyAyMDQ4LWJpdAotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LmRlcjogcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBMzg0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LnBlbTogcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAgLXRvcGs4IC12MiBkZXMzIC12MnByZiBobWFjV2l0aFNIQTM4NCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4XzNkZXNfc2hhMzg0OiByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEzODQuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5wZW0KLQotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczEyOGNiY19zaGEzODQuZGVyOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGFlcy0xMjgtY2JjIC12MnByZiBobWFjV2l0aFNIQTM4NCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxMjhjYmNfc2hhMzg0LmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczEyOGNiY19zaGEzODQucGVtOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGFlcy0xMjgtY2JjIC12MnByZiBobWFjV2l0aFNIQTM4NCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxMjhjYmNfc2hhMzg0LnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfYWVzMTI4Y2JjX3NoYTM4NDogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczEyOGNiY19zaGEzODQuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxMjhjYmNfc2hhMzg0LnBlbQotCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMTkyY2JjX3NoYTM4NC5kZXI6IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgYWVzLTE5Mi1jYmMgLXYycHJmIGhtYWNXaXRoU0hBMzg0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczE5MmNiY19zaGEzODQuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMTkyY2JjX3NoYTM4NC5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgYWVzLTE5Mi1jYmMgLXYycHJmIGhtYWNXaXRoU0hBMzg0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczE5MmNiY19zaGEzODQucGVtCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMjA0OF9hZXMxOTJjYmNfc2hhMzg0OiByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMTkyY2JjX3NoYTM4NC5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczE5MmNiY19zaGEzODQucGVtCi0KLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMyNTZjYmNfc2hhMzg0LmRlcjogcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAgLXRvcGs4IC12MiBhZXMtMjU2LWNiYyAtdjJwcmYgaG1hY1dpdGhTSEEzODQgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMjU2Y2JjX3NoYTM4NC5kZXIKLXJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMyNTZjYmNfc2hhMzg0LnBlbTogcnNhX3BrY3MxXzIwNDhfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAgLXRvcGs4IC12MiBhZXMtMjU2LWNiYyAtdjJwcmYgaG1hY1dpdGhTSEEzODQgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMjU2Y2JjX3NoYTM4NC5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4X2FlczI1NmNiY19zaGEzODQ6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMyNTZjYmNfc2hhMzg0LmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMjU2Y2JjX3NoYTM4NC5wZW0KLQotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQuZGVyOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTM4NCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMzg0LmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQucGVtOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlcyAtdjJwcmYgaG1hY1dpdGhTSEEzODQgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTM4NC5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4X2Rlc19zaGEzODQ6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMzg0LmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTM4NC5wZW0KLQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfc2hhMzg0OiBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMjA0OF8zZGVzX3NoYTM4NCBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMjA0OF9kZXNfc2hhMzg0Ci0KLSMjIyA0MDk2LWJpdAotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LmRlcjogcnNhX3BrY3MxXzQwOTZfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBMzg0IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LnBlbTogcnNhX3BrY3MxXzQwOTZfY2xlYXIucGVtCi0JJChPUEVOU1NMKSBwa2NzOCAgLXRvcGs4IC12MiBkZXMzIC12MnByZiBobWFjV2l0aFNIQTM4NCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTM4NC5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2XzNkZXNfc2hhMzg0OiByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTM4NC5wZW0KLQotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEzODQuZGVyOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTM4NCAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LmRlcgotcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEzODQucGVtOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlcyAtdjJwcmYgaG1hY1dpdGhTSEEzODQgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIFBFTSAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTM4NC5wZW0KLWtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X2Rlc19zaGEzODQ6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LmRlciByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTM4NC5wZW0KLQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTZfc2hhMzg0OiBrZXlzX3JzYV9lbmNfcGtjczhfdjJfNDA5Nl8zZGVzX3NoYTM4NCBrZXlzX3JzYV9lbmNfcGtjczhfdjJfNDA5Nl9kZXNfc2hhMzg0Ci0KLSMjIwotIyMjIFBLQ1M4LXYyIGVuY29kZWQsIGVuY3J5cHRlZCBSU0Ega2V5cywgUFJGIGhtYWNXaXRoU0hBNTEyCi0jIyMKLQotIyMjIDEwMjQtYml0Ci1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGE1MTIuZGVyOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEE1MTIgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGE1MTIuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGE1MTIucGVtOiByc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBNTEyIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjRfM2Rlc19zaGE1MTI6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTUxMi5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLnBlbQotCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTUxMi5kZXI6IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBNTEyIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTUxMi5wZW06IHJzYV9wa2NzMV8xMDI0X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTUxMiAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhNTEyLnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzEwMjRfZGVzX3NoYTUxMjogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhNTEyLnBlbQotCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF9zaGE1MTI6IGtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0XzNkZXNfc2hhNTEyIGtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0X2Rlc19zaGE1MTIKLQotIyMjIDIwNDgtYml0Ci1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIuZGVyOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEE1MTIgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIucGVtOiByc2FfcGtjczFfMjA0OF9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBNTEyIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfM2Rlc19zaGE1MTI6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTUxMi5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLnBlbQotCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5kZXI6IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBNTEyIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5wZW06IHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTUxMiAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhNTEyLnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfZGVzX3NoYTUxMjogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhNTEyLnBlbQotCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfMjA0OF9zaGE1MTI6IGtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4XzNkZXNfc2hhNTEyIGtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4X2Rlc19zaGE1MTIKLQotIyMjIDQwOTYtYml0Ci1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIuZGVyOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4IC10b3BrOCAtdjIgZGVzMyAtdjJwcmYgaG1hY1dpdGhTSEE1MTIgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoa2V5c19yc2FfcGtjczhfcHdkKSIKLWFsbF9maW5hbCArPSByc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIucGVtOiByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQkkKE9QRU5TU0wpIHBrY3M4ICAtdG9wazggLXYyIGRlczMgLXYycHJmIGhtYWNXaXRoU0hBNTEyIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBQRU0gLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhNTEyLnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTZfM2Rlc19zaGE1MTI6IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5kZXIgcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhNTEyLnBlbQotCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTUxMi5kZXI6IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggLXRvcGs4IC12MiBkZXMgLXYycHJmIGhtYWNXaXRoU0hBNTEyIC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQCAtcGFzc291dCAicGFzczokKGtleXNfcnNhX3BrY3M4X3B3ZCkiCi1hbGxfZmluYWwgKz0gcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIuZGVyCi1yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTUxMi5wZW06IHJzYV9wa2NzMV80MDk2X2NsZWFyLnBlbQotCSQoT1BFTlNTTCkgcGtjczggIC10b3BrOCAtdjIgZGVzIC12MnByZiBobWFjV2l0aFNIQTUxMiAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gUEVNIC1vdXQgJEAgLXBhc3NvdXQgInBhc3M6JChrZXlzX3JzYV9wa2NzOF9wd2QpIgotYWxsX2ZpbmFsICs9IHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhNTEyLnBlbQota2V5c19yc2FfZW5jX3BrY3M4X3YyXzQwOTZfZGVzX3NoYTUxMjogcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIuZGVyIHJzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhNTEyLnBlbQotCi1rZXlzX3JzYV9lbmNfcGtjczhfdjJfNDA5Nl9zaGE1MTI6IGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2XzNkZXNfc2hhNTEyIGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X2Rlc19zaGE1MTIKLQotIyMjCi0jIyMgUnVsZXMgdG8gZ2VuZXJhdGUgYWxsIFJTQSBrZXlzIGZyb20gYSBwYXJ0aWN1bGFyIGNsYXNzCi0jIyMKLQotIyMjIEdlbmVyYXRlIGJhc2ljIHVuZW5jcnlwdGVkIFJTQSBrZXlzCi1rZXlzX3JzYV91bmVuYzogcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtIHJzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbSByc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KLQotIyMjIEdlbmVyYXRlIFBLQ1MxLWVuY29kZWQgZW5jcnlwdGVkIFJTQSBrZXlzCi1rZXlzX3JzYV9lbmNfYmFzaWM6IGtleXNfcnNhX2VuY19iYXNpY18xMDI0IGtleXNfcnNhX2VuY19iYXNpY18yMDQ4IGtleXNfcnNhX2VuY19iYXNpY180MDk2Ci0KLSMjIyBHZW5lcmF0ZSBQS0NTOC12MSBlbmNyeXB0ZWQgUlNBIGtleXMKLWtleXNfcnNhX2VuY19wa2NzOF92MToga2V5c19yc2FfZW5jX3BrY3M4X3YxXzEwMjQga2V5c19yc2FfZW5jX3BrY3M4X3YxXzIwNDgga2V5c19yc2FfZW5jX3BrY3M4X3YxXzQwOTYKLQotIyMjIEdlbmVyYXRlIFBLQ1M4LXYyIGVuY3J5cHRlZCBSU0Ega2V5cwota2V5c19yc2FfZW5jX3BrY3M4X3YyOiBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNCBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMjA0OCBrZXlzX3JzYV9lbmNfcGtjczhfdjJfNDA5NiBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF9zaGEyMjQga2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfc2hhMjI0IGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X3NoYTIyNCBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF9zaGEyNTYga2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfc2hhMjU2IGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X3NoYTI1NiBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF9zaGEzODQga2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfc2hhMzg0IGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X3NoYTM4NCBrZXlzX3JzYV9lbmNfcGtjczhfdjJfMTAyNF9zaGE1MTIga2V5c19yc2FfZW5jX3BrY3M4X3YyXzIwNDhfc2hhNTEyIGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2X3NoYTUxMgotCi0jIyMgR2VuZXJhdGUgYWxsIFJTQSBrZXlzCi1rZXlzX3JzYV9hbGw6IGtleXNfcnNhX3VuZW5jIGtleXNfcnNhX2VuY19iYXNpYyBrZXlzX3JzYV9lbmNfcGtjczhfdjEga2V5c19yc2FfZW5jX3BrY3M4X3YyCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMgR2VuZXJhdGUgdmFyaW91cyBFQyBrZXlzCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLSMjIwotIyMjIFBLQ1M4IGVuY29kZWQKLSMjIwotCi1lY19wcnYucGs4LmRlcjoKLQkkKE9QRU5TU0wpIGdlbnBrZXkgLWFsZ29yaXRobSBFQyAtcGtleW9wdCBlY19wYXJhbWdlbl9jdXJ2ZTpwcmltZTE5MnYxIC1wa2V5b3B0IGVjX3BhcmFtX2VuYzpuYW1lZF9jdXJ2ZSAtb3V0ICRAIC1vdXRmb3JtIERFUgotYWxsX2ZpbmFsICs9IGVjX3Bydi5wazguZGVyCi0KLSMgIyMjIEluc3RydWN0aW9ucyBmb3IgY3JlYXRpbmcgYGVjX3Bydi5wazhub3B1Yi5kZXJgLAotIyAjIyMgYGVjX3Bydi5wazhub3B1YnBhcmFtLmRlcmAsIGFuZCBgZWNfcHJ2LnBrOHBhcmFtLmRlcmAgYnkgaGFuZCBmcm9tCi0jICMjIyBgZWNfcHJ2LnBrOC5kZXJgLgotIwotIyBUaGVzZSBpbnN0cnVjdGlvbnMgYXNzdW1lIHlvdSBhcmUgZmFtaWxpYXIgd2l0aCBBU04uMSBERVIgZW5jb2RpbmcgYW5kIGNhbgotIyB1c2UgYSBoZXggZWRpdG9yIHRvIG1hbmlwdWxhdGUgREVSLgotIwotIyBUaGUgcmVsZXZhbnQgQVNOLjEgZGVmaW5pdGlvbnMgZm9yIGEgUEtDUyM4IGVuY29kZWQgRWxsaXB0aWMgQ3VydmUga2V5IGFyZToKLSMKLSMgUHJpdmF0ZUtleUluZm8gOjo9IFNFUVVFTkNFIHsKLSMgICB2ZXJzaW9uICAgICAgICAgICAgICAgICAgIFZlcnNpb24sCi0jICAgcHJpdmF0ZUtleUFsZ29yaXRobSAgICAgICBQcml2YXRlS2V5QWxnb3JpdGhtSWRlbnRpZmllciwKLSMgICBwcml2YXRlS2V5ICAgICAgICAgICAgICAgIFByaXZhdGVLZXksCi0jICAgYXR0cmlidXRlcyAgICAgICAgICAgWzBdICBJTVBMSUNJVCBBdHRyaWJ1dGVzIE9QVElPTkFMCi0jIH0KLSMKLSMgQWxnb3JpdGhtSWRlbnRpZmllciAgOjo9ICBTRVFVRU5DRSAgewotIyAgIGFsZ29yaXRobSAgIE9CSkVDVCBJREVOVElGSUVSLAotIyAgIHBhcmFtZXRlcnMgIEFOWSBERUZJTkVEIEJZIGFsZ29yaXRobSBPUFRJT05BTAotIyB9Ci0jCi0jIEVDUGFyYW1ldGVycyA6Oj0gQ0hPSUNFIHsKLSMgICBuYW1lZEN1cnZlICAgICAgICAgT0JKRUNUIElERU5USUZJRVIKLSMgICAtLSBpbXBsaWNpdEN1cnZlICAgTlVMTAotIyAgIC0tIHNwZWNpZmllZEN1cnZlICBTcGVjaWZpZWRFQ0RvbWFpbgotIyB9Ci0jCi0jIEVDUHJpdmF0ZUtleSA6Oj0gU0VRVUVOQ0UgewotIyAgIHZlcnNpb24gICAgICAgIElOVEVHRVIgeyBlY1ByaXZrZXlWZXIxKDEpIH0gKGVjUHJpdmtleVZlcjEpLAotIyAgIHByaXZhdGVLZXkgICAgIE9DVEVUIFNUUklORywKLSMgICBwYXJhbWV0ZXJzIFswXSBFQ1BhcmFtZXRlcnMge3sgTmFtZWRDdXJ2ZSB9fSBPUFRJT05BTCwKLSMgICBwdWJsaWNLZXkgIFsxXSBCSVQgU1RSSU5HIE9QVElPTkFMCi0jIH0KLSMKLSMgYGVjX3Bydi5wazguZGVyYCBhcyBnZW5lcmF0ZGUgYWJvdmUgYnkgT3BlblNTTCBzaG91bGQgaGF2ZSB0aGUgZm9sbG93aW5nCi0jIGZpZWxkczoKLSMKLSMgKiBwcml2YXRlS2V5QWxnb3JpdGhtICAgICAgIG5hbWVkQ3VydmUKLSMgKiBwcml2YXRlS2V5LnBhcmFtZXRlcnMgICAgIE5PVCBQUkVTRU5UCi0jICogcHJpdmF0ZUtleS5wdWJsaWNLZXkgICAgICBQUkVTRU5UCi0jICogYXR0cmlidXRlcyAgICAgICAgICAgICAgICBOT1QgUFJFU0VOVAotIwotIyAjIGVjX3Bydi5wazhub3B1Yi5kZXIKLSMKLSMgVGFrZSBgZWNfcHJ2LnBrOC5kZXJgIGFuZCByZW1vdmUgYHByaXZhdGVLZXkucHVibGljS2V5YC4KLSMKLSMgIyBlY19wcnYucGs4bm9wdWJwYXJhbS5kZXIKLSMKLSMgVGFrZSBgZWNfcHJ2LnBrOG5vcHViLmRlcmAgYW5kIGFkZCBgcHJpdmF0ZUtleS5wYXJhbWV0ZXJzYCwgdGhlIHNhbWUgdmFsdWUgYXMKLSMgYHByaXZhdGVLZXlBbGdvcml0aG0ubmFtZWRDdXJ2ZWAuIERvbid0IGZvcmdldCB0byBhZGQgdGhlIGV4cGxpY2l0IHRhZy4KLSMKLSMgIyBlY19wcnYucGs4cGFyYW0uZGVyCi0jCi0jIFRha2UgYGVjX3Bydi5wazguZGVyYCBhbmQgYWRkIGBwcml2YXRlS2V5LnBhcmFtZXRlcnNgLCB0aGUgc2FtZSB2YWx1ZSBhcwotIyBgcHJpdmF0ZUtleUFsZ29yaXRobS5uYW1lZEN1cnZlYC4gRG9uJ3QgZm9yZ2V0IHRvIGFkZCB0aGUgZXhwbGljaXQgdGFnLgotCi1lY19wcnYucGs4LnBlbTogZWNfcHJ2LnBrOC5kZXIKLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1pbmZvcm0gREVSIC1vdXQgJEAKLWFsbF9maW5hbCArPSBlY19wcnYucGs4LnBlbQotZWNfcHJ2LnBrOG5vcHViLnBlbTogZWNfcHJ2LnBrOG5vcHViLmRlcgotCSQoT1BFTlNTTCkgcGtleSAtaW4gJDwgLWluZm9ybSBERVIgLW91dCAkQAotYWxsX2ZpbmFsICs9IGVjX3Bydi5wazhub3B1Yi5wZW0KLWVjX3Bydi5wazhub3B1YnBhcmFtLnBlbTogZWNfcHJ2LnBrOG5vcHVicGFyYW0uZGVyCi0JJChPUEVOU1NMKSBwa2V5IC1pbiAkPCAtaW5mb3JtIERFUiAtb3V0ICRACi1hbGxfZmluYWwgKz0gZWNfcHJ2LnBrOG5vcHVicGFyYW0ucGVtCi1lY19wcnYucGs4cGFyYW0ucGVtOiBlY19wcnYucGs4cGFyYW0uZGVyCi0JJChPUEVOU1NMKSBwa2V5IC1pbiAkPCAtaW5mb3JtIERFUiAtb3V0ICRACi1hbGxfZmluYWwgKz0gZWNfcHJ2LnBrOHBhcmFtLnBlbQotCi1lY19wdWIucGVtOiBlY19wcnYuc2VjMS5kZXIKLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1pbmZvcm0gREVSIC1vdXRmb3JtIFBFTSAtcHVib3V0IC1vdXQgJEAKLWFsbF9maW5hbCArPSBlY19wdWIucGVtCi0KLWVjX3Bydi5zZWMxLmNvbXAucGVtOiBlY19wcnYuc2VjMS5wZW0KLQkkKE9QRU5TU0wpIGVjIC1pbiAkPCAtb3V0ICRAIC1jb252X2Zvcm0gY29tcHJlc3NlZAotYWxsX2ZpbmFsICs9IGVjX3Bydi5zZWMxLmNvbXAucGVtCi0KLWVjXzIyNF9wcnYuY29tcC5wZW06IGVjXzIyNF9wcnYucGVtCi0JJChPUEVOU1NMKSBlYyAtaW4gJDwgLW91dCAkQCAtY29udl9mb3JtIGNvbXByZXNzZWQKLWFsbF9maW5hbCArPSBlY18yMjRfcHJ2LmNvbXAucGVtCi0KLWVjXzI1Nl9wcnYuY29tcC5wZW06IGVjXzI1Nl9wcnYucGVtCi0JJChPUEVOU1NMKSBlYyAtaW4gJDwgLW91dCAkQCAtY29udl9mb3JtIGNvbXByZXNzZWQKLWFsbF9maW5hbCArPSBlY18yNTZfcHJ2LmNvbXAucGVtCi0KLWVjXzM4NF9wcnYuY29tcC5wZW06IGVjXzM4NF9wcnYucGVtCi0JJChPUEVOU1NMKSBlYyAtaW4gJDwgLW91dCAkQCAtY29udl9mb3JtIGNvbXByZXNzZWQKLWFsbF9maW5hbCArPSBlY18zODRfcHJ2LmNvbXAucGVtCi0KLWVjXzUyMV9wcnYuY29tcC5wZW06IGVjXzUyMV9wcnYucGVtCi0JJChPUEVOU1NMKSBlYyAtaW4gJDwgLW91dCAkQCAtY29udl9mb3JtIGNvbXByZXNzZWQKLWFsbF9maW5hbCArPSBlY181MjFfcHJ2LmNvbXAucGVtCi0KLWVjX2JwMjU2X3Bydi5jb21wLnBlbTogZWNfYnAyNTZfcHJ2LnBlbQotCSQoT1BFTlNTTCkgZWMgLWluICQ8IC1vdXQgJEAgLWNvbnZfZm9ybSBjb21wcmVzc2VkCi1hbGxfZmluYWwgKz0gZWNfYnAyNTZfcHJ2LmNvbXAucGVtCi0KLWVjX2JwMzg0X3Bydi5jb21wLnBlbTogZWNfYnAzODRfcHJ2LnBlbQotCSQoT1BFTlNTTCkgZWMgLWluICQ8IC1vdXQgJEAgLWNvbnZfZm9ybSBjb21wcmVzc2VkCi1hbGxfZmluYWwgKz0gZWNfYnAzODRfcHJ2LmNvbXAucGVtCi0KLWVjX2JwNTEyX3Bydi5jb21wLnBlbTogZWNfYnA1MTJfcHJ2LnBlbQotCSQoT1BFTlNTTCkgZWMgLWluICQ8IC1vdXQgJEAgLWNvbnZfZm9ybSBjb21wcmVzc2VkCi1hbGxfZmluYWwgKz0gZWNfYnA1MTJfcHJ2LmNvbXAucGVtCi0KLWVjX3B1Yi5jb21wLnBlbTogZWNfcHViLnBlbQotCSQoT1BFTlNTTCkgZWMgLXB1YmluIC1pbiAkPCAtb3V0ICRAIC1jb252X2Zvcm0gY29tcHJlc3NlZAotYWxsX2ZpbmFsICs9IGVjX3B1Yi5jb21wLnBlbQotCi1lY18yMjRfcHViLmNvbXAucGVtOiBlY18yMjRfcHViLnBlbQotCSQoT1BFTlNTTCkgZWMgLXB1YmluIC1pbiAkPCAtb3V0ICRAIC1jb252X2Zvcm0gY29tcHJlc3NlZAotYWxsX2ZpbmFsICs9IGVjXzIyNF9wdWIuY29tcC5wZW0KLQotZWNfMjU2X3B1Yi5jb21wLnBlbTogZWNfMjU2X3B1Yi5wZW0KLQkkKE9QRU5TU0wpIGVjIC1wdWJpbiAtaW4gJDwgLW91dCAkQCAtY29udl9mb3JtIGNvbXByZXNzZWQKLWFsbF9maW5hbCArPSBlY18yNTZfcHViLmNvbXAucGVtCi0KLWVjXzM4NF9wdWIuY29tcC5wZW06IGVjXzM4NF9wdWIucGVtCi0JJChPUEVOU1NMKSBlYyAtcHViaW4gLWluICQ8IC1vdXQgJEAgLWNvbnZfZm9ybSBjb21wcmVzc2VkCi1hbGxfZmluYWwgKz0gZWNfMzg0X3B1Yi5jb21wLnBlbQotCi1lY181MjFfcHViLmNvbXAucGVtOiBlY181MjFfcHViLnBlbQotCSQoT1BFTlNTTCkgZWMgLXB1YmluIC1pbiAkPCAtb3V0ICRAIC1jb252X2Zvcm0gY29tcHJlc3NlZAotYWxsX2ZpbmFsICs9IGVjXzUyMV9wdWIuY29tcC5wZW0KLQotZWNfYnAyNTZfcHViLmNvbXAucGVtOiBlY19icDI1Nl9wdWIucGVtCi0JJChPUEVOU1NMKSBlYyAtcHViaW4gLWluICQ8IC1vdXQgJEAgLWNvbnZfZm9ybSBjb21wcmVzc2VkCi1hbGxfZmluYWwgKz0gZWNfYnAyNTZfcHViLmNvbXAucGVtCi0KLWVjX2JwMzg0X3B1Yi5jb21wLnBlbTogZWNfYnAzODRfcHViLnBlbQotCSQoT1BFTlNTTCkgZWMgLXB1YmluIC1pbiAkPCAtb3V0ICRAIC1jb252X2Zvcm0gY29tcHJlc3NlZAotYWxsX2ZpbmFsICs9IGVjX2JwMzg0X3B1Yi5jb21wLnBlbQotCi1lY19icDUxMl9wdWIuY29tcC5wZW06IGVjX2JwNTEyX3B1Yi5wZW0KLQkkKE9QRU5TU0wpIGVjIC1wdWJpbiAtaW4gJDwgLW91dCAkQCAtY29udl9mb3JtIGNvbXByZXNzZWQKLWFsbF9maW5hbCArPSBlY19icDUxMl9wdWIuY29tcC5wZW0KLQotZWNfeDI1NTE5X3Bydi5kZXI6Ci0JJChPUEVOU1NMKSBnZW5wa2V5IC1hbGdvcml0aG0gWDI1NTE5IC1vdXQgJEAgLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gZWNfeDI1NTE5X3Bydi5kZXIKLQotZWNfeDI1NTE5X3B1Yi5kZXI6IGVjX3gyNTUxOV9wcnYuZGVyCi0JJChPUEVOU1NMKSBwa2V5IC1pbiAkPCAtaW5mb3JtIERFUiAtb3V0ICRAIC1vdXRmb3JtIERFUiAtcHVib3V0Ci1hbGxfZmluYWwgKz0gZWNfeDI1NTE5X3B1Yi5kZXIKLQotZWNfeDI1NTE5X3Bydi5wZW06IGVjX3gyNTUxOV9wcnYuZGVyCi0JJChPUEVOU1NMKSBwa2V5IC1pbiAkPCAtaW5mb3JtIERFUiAtb3V0ICRACi1hbGxfZmluYWwgKz0gZWNfeDI1NTE5X3Bydi5wZW0KLQotZWNfeDI1NTE5X3B1Yi5wZW06IGVjX3gyNTUxOV9wcnYuZGVyCi0JJChPUEVOU1NMKSBwa2V5IC1pbiAkPCAtaW5mb3JtIERFUiAtb3V0ICRAIC1wdWJvdXQKLWFsbF9maW5hbCArPSBlY194MjU1MTlfcHViLnBlbQotCi1lY194NDQ4X3Bydi5kZXI6Ci0JJChPUEVOU1NMKSBnZW5wa2V5IC1hbGdvcml0aG0gWDQ0OCAtb3V0ICRAIC1vdXRmb3JtIERFUgotYWxsX2ZpbmFsICs9IGVjX3g0NDhfcHJ2LmRlcgotCi1lY194NDQ4X3B1Yi5kZXI6IGVjX3g0NDhfcHJ2LmRlcgotCSQoT1BFTlNTTCkgcGtleSAtaW4gJDwgLWluZm9ybSBERVIgLW91dCAkQCAtb3V0Zm9ybSBERVIgLXB1Ym91dAotYWxsX2ZpbmFsICs9IGVjX3g0NDhfcHViLmRlcgotCi1lY194NDQ4X3Bydi5wZW06IGVjX3g0NDhfcHJ2LmRlcgotCSQoT1BFTlNTTCkgcGtleSAtaW4gJDwgLWluZm9ybSBERVIgLW91dCAkQAotYWxsX2ZpbmFsICs9IGVjX3g0NDhfcHJ2LnBlbQotCi1lY194NDQ4X3B1Yi5wZW06IGVjX3g0NDhfcHJ2LmRlcgotCSQoT1BFTlNTTCkgcGtleSAtaW4gJDwgLWluZm9ybSBERVIgLW91dCAkQCAtcHVib3V0Ci1hbGxfZmluYWwgKz0gZWNfeDQ0OF9wdWIucGVtCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMgQ29udmVydCBQRU0ga2V5cyB0byBERVIgZm9ybWF0Ci0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi1zZXJ2ZXIxLnB1YmtleS5kZXI6IHNlcnZlcjEucHVia2V5Ci0JJChPUEVOU1NMKSBwa2V5IC1wdWJpbiAtaW4gJDwgLW91dCAkQCAtb3V0Zm9ybSBERVIKLWFsbF9maW5hbCArPSBzZXJ2ZXIxLnB1YmtleS5kZXIKLQotcnNhNDA5Nl9wdWIuZGVyOiByc2E0MDk2X3B1Yi5wZW0KLQkkKE9QRU5TU0wpIHBrZXkgLXB1YmluIC1pbiAkPCAtb3V0ICRAIC1vdXRmb3JtIERFUgotYWxsX2ZpbmFsICs9IHJzYTQwOTZfcHViLmRlcgotCi1lY19wdWIuZGVyOiBlY19wdWIucGVtCi0JJChPUEVOU1NMKSBwa2V5IC1wdWJpbiAtaW4gJDwgLW91dCAkQCAtb3V0Zm9ybSBERVIKLWFsbF9maW5hbCArPSBlY19wdWIuZGVyCi0KLWVjXzUyMV9wdWIuZGVyOiBlY181MjFfcHViLnBlbQotCSQoT1BFTlNTTCkgcGtleSAtcHViaW4gLWluICQ8IC1vdXQgJEAgLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gZWNfNTIxX3B1Yi5kZXIKLQotZWNfYnA1MTJfcHViLmRlcjogZWNfYnA1MTJfcHViLnBlbQotCSQoT1BFTlNTTCkgcGtleSAtcHViaW4gLWluICQ8IC1vdXQgJEAgLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gZWNfYnA1MTJfcHViLmRlcgotCi1zZXJ2ZXIxLmtleS5kZXI6IHNlcnZlcjEua2V5Ci0JJChPUEVOU1NMKSBwa2V5IC1pbiAkPCAtb3V0ICRAIC1vdXRmb3JtIERFUgotYWxsX2ZpbmFsICs9IHNlcnZlcjEua2V5LmRlcgotCi1yc2E0MDk2X3Bydi5kZXI6IHJzYTQwOTZfcHJ2LnBlbQotCSQoT1BFTlNTTCkgcGtleSAtaW4gJDwgLW91dCAkQCAtb3V0Zm9ybSBERVIKLWFsbF9maW5hbCArPSByc2E0MDk2X3Bydi5kZXIKLQotZWNfcHJ2LnNlYzEuZGVyOiBlY19wcnYuc2VjMS5wZW0KLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1vdXQgJEAgLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gZWNfcHJ2LnNlYzEuZGVyCi0KLWVjXzI1Nl9sb25nX3Bydi5kZXI6IGVjXzI1Nl9sb25nX3Bydi5wZW0KLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1vdXQgJEAgLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gZWNfMjU2X2xvbmdfcHJ2LmRlcgotCi1lY181MjFfcHJ2LmRlcjogZWNfNTIxX3Bydi5wZW0KLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1vdXQgJEAgLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gZWNfNTIxX3Bydi5kZXIKLQotZWNfNTIxX3Nob3J0X3Bydi5kZXI6IGVjXzUyMV9zaG9ydF9wcnYucGVtCi0JJChPUEVOU1NMKSBwa2V5IC1pbiAkPCAtb3V0ICRAIC1vdXRmb3JtIERFUgotYWxsX2ZpbmFsICs9IGVjXzUyMV9zaG9ydF9wcnYuZGVyCi0KLWVjX2JwNTEyX3Bydi5kZXI6IGVjX2JwNTEyX3Bydi5wZW0KLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1vdXQgJEAgLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gZWNfYnA1MTJfcHJ2LmRlcgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMgR2VuZXJhdGUgQ1NScyBmb3IgWC41MDkgd3JpdGUgdGVzdCBzdWl0ZQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGExIHNlcnZlcjEucmVxLnNoYTE6IHNlcnZlcjEua2V5Ci0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIgbWQ9U0hBMQotYWxsX2ZpbmFsICs9IHNlcnZlcjEucmVxLnNoYTEKLQotcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEubWQ1IHNlcnZlcjEucmVxLm1kNTogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIiBtZD1NRDUKLWFsbF9maW5hbCArPSBzZXJ2ZXIxLnJlcS5tZDUKLQotcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhMjI0IHNlcnZlcjEucmVxLnNoYTIyNDogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIiBtZD1TSEEyMjQKLWFsbF9maW5hbCArPSBzZXJ2ZXIxLnJlcS5zaGEyMjQKLQotcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhMjU2IHNlcnZlcjEucmVxLnNoYTI1Njogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIiBtZD1TSEEyNTYKLWFsbF9maW5hbCArPSBzZXJ2ZXIxLnJlcS5zaGEyNTYKLQotc2VydmVyMS5yZXEuc2hhMjU2LmV4dDogc2VydmVyMS5rZXkKLQkjIEdlbmVyYXRpbmcgdGhpcyB3aXRoIE9wZW5TU0wgYXMgYSBjb21wYXJpc29uIHBvaW50IHRvIHRlc3Qgd2UncmUgZ2V0dGluZyB0aGUgc2FtZSByZXN1bHQKLQlvcGVuc3NsIHJlcSAtbmV3IC1vdXQgJEAgLWtleSAkPCAtc3ViaiAnL0M9TkwvTz1Qb2xhclNTTC9DTj1Qb2xhclNTTCBTZXJ2ZXIgMScgLXNoYTI1NiAtY29uZmlnIHNlcnZlcjEucmVxLnNoYTI1Ni5jb25mCi0KLXBhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTM4NCBzZXJ2ZXIxLnJlcS5zaGEzODQ6IHNlcnZlcjEua2V5Ci0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIgbWQ9U0hBMzg0Ci1hbGxfZmluYWwgKz0gc2VydmVyMS5yZXEuc2hhMzg0Ci0KLXBhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTUxMiBzZXJ2ZXIxLnJlcS5zaGE1MTI6IHNlcnZlcjEua2V5Ci0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIgbWQ9U0hBNTEyCi1hbGxfZmluYWwgKz0gc2VydmVyMS5yZXEuc2hhNTEyCi0KLXNlcnZlcjEucmVxLmNlcnRfdHlwZTogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IG5zX2NlcnRfdHlwZT1zc2xfc2VydmVyIHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIiBtZD1TSEExCi1hbGxfZmluYWwgKz0gc2VydmVyMS5yZXEuY2VydF90eXBlCi0KLXNlcnZlcjEucmVxLmtleV91c2FnZTogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IGtleV91c2FnZT1kaWdpdGFsX3NpZ25hdHVyZSxub25fcmVwdWRpYXRpb24sa2V5X2VuY2lwaGVybWVudCBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIgbWQ9U0hBMQotYWxsX2ZpbmFsICs9IHNlcnZlcjEucmVxLmtleV91c2FnZQotCi1zZXJ2ZXIxLnJlcS5rdS1jdDogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IGtleV91c2FnZT1kaWdpdGFsX3NpZ25hdHVyZSxub25fcmVwdWRpYXRpb24sa2V5X2VuY2lwaGVybWVudCBuc19jZXJ0X3R5cGU9c3NsX3NlcnZlciBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIgbWQ9U0hBMQotYWxsX2ZpbmFsICs9IHNlcnZlcjEucmVxLmt1LWN0Ci0KLXNlcnZlcjEucmVxLmtleV91c2FnZV9lbXB0eTogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIiBtZD1TSEExIGZvcmNlX2tleV91c2FnZT0xCi1hbGxfZmluYWwgKz0gc2VydmVyMS5yZXEua2V5X3VzYWdlX2VtcHR5Ci0KLXNlcnZlcjEucmVxLmNlcnRfdHlwZV9lbXB0eTogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIiBtZD1TSEExIGZvcmNlX25zX2NlcnRfdHlwZT0xCi1hbGxfZmluYWwgKz0gc2VydmVyMS5yZXEuY2VydF90eXBlX2VtcHR5Ci0KLXBhcnNlX2lucHV0L3NlcnZlcjEucmVxLmNvbW1hcy5zaGEyNTY6IHNlcnZlcjEua2V5Ci0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTFwsIENvbW1hcyxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIgbWQ9U0hBMjU2Ci0KLXBhcnNlX2lucHV0L3NlcnZlcjEucmVxLmhhc2hzeW1ib2wuc2hhMjU2OiBzZXJ2ZXIxLmtleQotCSQoTUJFRFRMU19DRVJUX1JFUSkgb3V0cHV0X2ZpbGU9JEAgZmlsZW5hbWU9JDwgc3ViamVjdF9uYW1lPSJDPU5MLE89XCNQb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIgbWQ9U0hBMjU2Ci0KLXBhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNwYWNlcy5zaGEyNTY6IHNlcnZlcjEua2V5Ci0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz0gUG9sYXJTU0wgLENOPVBvbGFyU1NMIFNlcnZlciAxIiBtZD1TSEEyNTYKLQotcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuYXNjaWljaGFycy5zaGEyNTY6IHNlcnZlcjEua2V5Ci0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz3mnoHlnLBTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiIG1kPVNIQTI1NgotIyBzZXJ2ZXIyKgotCi1zZXJ2ZXIyX3B3ZF9lYyA9IFBvbGFyU1NMVGVzdAotCi1zZXJ2ZXIyLnJlcS5zaGEyNTY6IHNlcnZlcjIua2V5Ci0JJChNQkVEVExTX0NFUlRfUkVRKSBvdXRwdXRfZmlsZT0kQCBmaWxlbmFtZT0kPCBzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1sb2NhbGhvc3QiIG1kPVNIQTI1NgotYWxsX2ludGVybWVkaWF0ZSArPSBzZXJ2ZXIyLnJlcS5zaGEyNTYKLQotcGFyc2VfaW5wdXQvc2VydmVyMi5jcnQuZGVyOiBwYXJzZV9pbnB1dC9zZXJ2ZXIyLmNydAotc2VydmVyMi5jcnQuZGVyOiBzZXJ2ZXIyLmNydAotcGFyc2VfaW5wdXQvc2VydmVyMi5jcnQuZGVyIHNlcnZlcjIuY3J0LmRlcjoKLQkkKE9QRU5TU0wpIHg1MDkgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRACi1hbGxfZmluYWwgKz0gc2VydmVyMi5jcnQuZGVyCi0KLXNlcnZlcjItc2hhMjU2LmNydC5kZXI6IHNlcnZlcjItc2hhMjU2LmNydAotCSQoT1BFTlNTTCkgeDUwOSAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIyLXNoYTI1Ni5jcnQuZGVyCi0KLXNlcnZlcjIua2V5LmRlcjogc2VydmVyMi5rZXkKLQkkKE9QRU5TU0wpIHBrZXkgLWluICQ8IC1vdXQgJEAgLWluZm9ybSBQRU0gLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gc2VydmVyMi5rZXkuZGVyCi0KLXNlcnZlcjIua2V5LmVuYzogc2VydmVyMi5rZXkKLQkkKE9QRU5TU0wpIHJzYSAtYWVzMjU2IC1pbiAkPCAtb3V0ICRAIC1wYXNzb3V0ICJwYXNzOiQoc2VydmVyMl9wd2RfZWMpIgotYWxsX2ZpbmFsICs9IHNlcnZlcjIua2V5LmVuYwotCi0jIHNlcnZlcjUqCi0KLXNlcnZlcjUuY3NyOiBzZXJ2ZXI1LmtleQotCSQoT1BFTlNTTCkgcmVxIC1uZXcgLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049bG9jYWxob3N0IiBcCi0JCQkJCS1rZXkgJDwgLW91dCAkQAotYWxsX2ludGVybWVkaWF0ZSArPSBzZXJ2ZXI1LmNzcgotcGFyc2VfaW5wdXQvc2VydmVyNS5jcnQgc2VydmVyNS5jcnQ6IHNlcnZlcjUtc2hhMjU2LmNydAotCWNwICQ8ICRACi1hbGxfaW50ZXJtZWRpYXRlICs9IHNlcnZlcjUtc2hhMjU2LmNydAotc2VydmVyNS1zaGElLmNydDogc2VydmVyNS5jc3IgJCh0ZXN0X2NhX2NydF9maWxlX2VjKSAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIHNlcnZlcjUuY3J0Lm9wZW5zc2wudjNfZXh0Ci0JJChPUEVOU1NMKSB4NTA5IC1yZXEgLUNBICQodGVzdF9jYV9jcnRfZmlsZV9lYykgLUNBa2V5ICQodGVzdF9jYV9rZXlfZmlsZV9lYykgXAotCQkJCS1leHRmaWxlIHNlcnZlcjUuY3J0Lm9wZW5zc2wudjNfZXh0IC1zZXRfc2VyaWFsIDkgLWRheXMgMzY1MCBcCi0JCQkJLXNoYSQoQEY6c2VydmVyNS1zaGElLmNydD0lKSAtaW4gJDwgLW91dCAkQAotYWxsX2ZpbmFsICs9IHNlcnZlcjUuY3J0IHNlcnZlcjUtc2hhMS5jcnQgc2VydmVyNS1zaGEyMjQuY3J0IHNlcnZlcjUtc2hhMzg0LmNydCBzZXJ2ZXI1LXNoYTUxMi5jcnQKLQotc2VydmVyNS1iYWRzaWduLmNydDogc2VydmVyNS5jcnQKLQl7IGhlYWQgLW4tMiAkPDsgdGFpbCAtbi0yICQ8IHwgc2VkIC1lICcxcy8wXCg9KlwpJCQvX1wxLycgLWUgJzFzL1teXz1dXCg9KlwpJCQvMFwxLycgLWUgJzFzL18vMS8nOyB9ID4gJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI1LWJhZHNpZ24uY3J0Ci0KLSMgVGhlIHVzZSBvZiAnU2VydmVyIDEnIGluIHRoZSBETiBpcyBpbnRlbnRpb25hbCBoZXJlLCBhcyB0aGUgRE4gaXMgaGFyZGNvZGVkIGluIHRoZSB4NTA5X3dyaXRlIHRlc3Qgc3VpdGUuJwotc2VydmVyNS5yZXEua3Uuc2hhMTogc2VydmVyNS5rZXkKLQkkKE9QRU5TU0wpIHJlcSAta2V5ICQ8IC1vdXQgJEAgLW5ldyAtbm9kZXMgLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgU2VydmVyIDEiIC1zaGExIC1hZGRleHQga2V5VXNhZ2U9ZGlnaXRhbFNpZ25hdHVyZSxub25SZXB1ZGlhdGlvbgotYWxsX2ZpbmFsICs9IHNlcnZlcjUucmVxLmt1LnNoYTEKLQotc2VydmVyNS5rdS1kcy5jcnQ6IFNFUlZFUjVfQ1JUX1NFUklBTD00NQotc2VydmVyNS5rdS1kcy5jcnQ6IFNFUlZFUjVfS0VZX1VTQUdFPWRpZ2l0YWxfc2lnbmF0dXJlCi1zZXJ2ZXI1Lmt1LWthLmNydDogU0VSVkVSNV9DUlRfU0VSSUFMPTQ2Ci1zZXJ2ZXI1Lmt1LWthLmNydDogU0VSVkVSNV9LRVlfVVNBR0U9a2V5X2FncmVlbWVudAotc2VydmVyNS5rdS1rZS5jcnQ6IFNFUlZFUjVfQ1JUX1NFUklBTD00Nwotc2VydmVyNS5rdS1rZS5jcnQ6IFNFUlZFUjVfS0VZX1VTQUdFPWtleV9lbmNpcGhlcm1lbnQKLXNlcnZlcjUuZWt1LWNzLmNydDogU0VSVkVSNV9DUlRfU0VSSUFMPTU4Ci1zZXJ2ZXI1LmVrdS1jcy5jcnQ6IFNFUlZFUjVfRVhUX0tFWV9VU0FHRT1jb2RlU2lnbmluZwotc2VydmVyNS5la3UtY3NfYW55LmNydDogU0VSVkVSNV9DUlRfU0VSSUFMPTU5Ci1zZXJ2ZXI1LmVrdS1jc19hbnkuY3J0OiBTRVJWRVI1X0VYVF9LRVlfVVNBR0U9Y29kZVNpZ25pbmcsYW55Ci1zZXJ2ZXI1LmVrdS1jbGkuY3J0OiBTRVJWRVI1X0NSVF9TRVJJQUw9NjAKLXNlcnZlcjUuZWt1LWNsaS5jcnQ6IFNFUlZFUjVfRVhUX0tFWV9VU0FHRT1jbGllbnRBdXRoCi1zZXJ2ZXI1LmVrdS1zcnZfY2xpLmNydDogU0VSVkVSNV9DUlRfU0VSSUFMPTYxCi1zZXJ2ZXI1LmVrdS1zcnZfY2xpLmNydDogU0VSVkVSNV9FWFRfS0VZX1VTQUdFPXNlcnZlckF1dGgsY2xpZW50QXV0aAotc2VydmVyNS5la3Utc3J2LmNydDogU0VSVkVSNV9DUlRfU0VSSUFMPTYyCi1zZXJ2ZXI1LmVrdS1zcnYuY3J0OiBTRVJWRVI1X0VYVF9LRVlfVVNBR0U9c2VydmVyQXV0aAotc2VydmVyNS5rdS0lLmNydDogU0VSVkVSNV9FWFRfT1BUUz1rZXlfdXNhZ2U9JChTRVJWRVI1X0tFWV9VU0FHRSkKLXNlcnZlcjUuZWt1LSUuY3J0OiBTRVJWRVI1X0VYVF9PUFRTPWV4dF9rZXlfdXNhZ2U9JChTRVJWRVI1X0VYVF9LRVlfVVNBR0UpCi1zZXJ2ZXI1LiUuY3J0OiBzZXJ2ZXI1LmtleQotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSBcCi0JCXN1YmplY3Rfa2V5PSQ8IHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPWxvY2FsaG9zdCIgc2VyaWFsPSQoU0VSVkVSNV9DUlRfU0VSSUFMKSBcCi0JCWlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydF9maWxlX2VjKSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9lYykgJChTRVJWRVI1X0VYVF9PUFRTKSBcCi0JCW5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTI1NiB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI1Lmt1LWthLmNydCBzZXJ2ZXI1Lmt1LWtlLmNydCBzZXJ2ZXI1Lmt1LWRzLmNydAotYWxsX2ZpbmFsICs9IHNlcnZlcjUuZWt1LWNzLmNydCBzZXJ2ZXI1LmVrdS1jc19hbnkuY3J0IHNlcnZlcjUuZWt1LWNsaS5jcnQgc2VydmVyNS5la3Utc3J2X2NsaS5jcnQgc2VydmVyNS5la3Utc3J2LmNydAotCi0jIHNlcnZlcjYqCi0KLXNlcnZlcjYuY3NyOiBzZXJ2ZXI2LmtleQotCSQoT1BFTlNTTCkgcmVxIC1uZXcgLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049bG9jYWxob3N0IiBcCi0JCQkJCS1rZXkgJDwgLW91dCAkQAotYWxsX2ludGVybWVkaWF0ZSArPSBzZXJ2ZXI2LmNzcgotc2VydmVyNi5jcnQ6IHNlcnZlcjYuY3NyICQodGVzdF9jYV9jcnRfZmlsZV9lYykgJCh0ZXN0X2NhX2tleV9maWxlX2VjKQotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1DQSAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpIC1DQWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIFwKLQkJCQktZXh0ZmlsZSBzZXJ2ZXI1LmNydC5vcGVuc3NsLnYzX2V4dCAtc2V0X3NlcmlhbCAxMCAtZGF5cyAzNjUwIC1zaGEyNTYgLWluICQ8IC1vdXQgJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI2LmNydAotCi1zZXJ2ZXI2LXNzLWNoaWxkLmNzciA6IHNlcnZlcjYua2V5Ci0JJChPUEVOU1NMKSByZXEgLW5ldyAtc3ViaiAiL0NOPXNlbGZzaWduZWQtY2hpbGQvT1U9dGVzdGluZy9PPVBvbGFyU1NML0M9TkwiIFwKLQkJLWtleSAkPCAtb3V0ICRACi1hbGxfaW50ZXJtZWRpYXRlICs9IHNlcnZlcjYtc3MtY2hpbGQuY3NyCi1zZXJ2ZXI2LXNzLWNoaWxkLmNydDogc2VydmVyNi1zcy1jaGlsZC5jc3Igc2VydmVyNS1zZWxmc2lnbmVkLmNydCBzZXJ2ZXI1LmtleSBzZXJ2ZXI2LXNzLWNoaWxkLmNydC5vcGVuc3NsLnYzX2V4dAotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1DQSBzZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IC1DQWtleSBzZXJ2ZXI1LmtleSBcCi0JCS1leHRmaWxlIHNlcnZlcjYtc3MtY2hpbGQuY3J0Lm9wZW5zc2wudjNfZXh0IFwKLQkJLXNldF9zZXJpYWwgMHg1M2EyY2I1ODIyMzk5NDc0YTdlYzc5ZWMgXAotCQktZGF5cyAzNjUwIC1zaGEyNTYgLWluICQ8IC1vdXQgJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI2LXNzLWNoaWxkLmNydAotCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyBHZW5lcmF0ZSBjZXJ0aWZpY2F0ZXMgZm9yIENSVCB3cml0ZSBjaGVjayB0ZXN0cwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIyMgVGhlIHRlc3QgZmlsZXMgdXNlIHRoZSBNYmVkIFRMUyBnZW5lcmF0ZWQgY2VydGlmaWNhdGVzIHNlcnZlcjEqLmNydCwKLSMjIyBidXQgZm9yIGNvbXBhcmlzb24gd2l0aCBPcGVuU1NMIGFsc28gcnVsZXMgZm9yIE9wZW5TU0wtZ2VuZXJhdGVkCi0jIyMgY2VydGlmaWNhdGVzIHNlcnZlcjEqLmNydC5vcGVuc3NsIGFyZSBvZmZlcmVkLgotIyMjCi0jIyMgS25vd24gZGlmZmVyZW5jZXM6Ci0jIyMgKiBPcGVuU1NMIGVuY29kZXMgdHJhaWxpbmcgemVyby1iaXRzIGluIGJpdC1zdHJpbmdzIG9jY3VycmluZyBpbiBYLjUwOSBleHRlbnNpb24KLSMjIyAgIGFzIHVudXNlZCBiaXRzLCB3aGlsZSBNYmVkIFRMUyBkb2Vzbid0LgotCi10ZXN0X2NhX3NlcnZlcjFfZGIgPSB0ZXN0LWNhLnNlcnZlcjEuZGIKLXRlc3RfY2Ffc2VydmVyMV9zZXJpYWwgPSB0ZXN0LWNhLnNlcnZlcjEuc2VyaWFsCi10ZXN0X2NhX3NlcnZlcjFfY29uZmlnX2ZpbGUgPSB0ZXN0LWNhLnNlcnZlcjEub3BlbnNzbGNvbmYKLQotIyBzZXJ2ZXIxKgotCi1wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNydDogcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhMjU2Ci1zZXJ2ZXIxLmNydDogc2VydmVyMS5yZXEuc2hhMjU2Ci1wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNydCBzZXJ2ZXIxLmNydDogJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkKLXBhcnNlX2lucHV0L3NlcnZlcjEuY3J0IHNlcnZlcjEuY3J0OgotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSByZXF1ZXN0X2ZpbGU9JChARCkvc2VydmVyMS5yZXEuc2hhMjU2IFwKLQkJaXNzdWVyX2NydD0kKHRlc3RfY2FfY3J0KSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIFwKLQkJaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgdmVyc2lvbj0xIFwKLQkJbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgXAotCQltZD1TSEExIHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotc2VydmVyMS5hbGxTdWJqZWN0QWx0TmFtZXMuY3J0OiBzZXJ2ZXIxLmtleSBzZXJ2ZXIxLnJlcS5zaGEyNTYgJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgcmVxdWVzdF9maWxlPXNlcnZlcjEucmVxLnNoYTI1NiBpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgdmVyc2lvbj0xIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTEgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRAIHNhbj1VUkk6aHR0cDovL3BraS5leGFtcGxlLmNvbVw7SVA6MS4yLjMuNFw7RE46Qz1VSyxPPSJNYmVkIFRMUyIsQ049IlN1YmplY3RBbHROYW1lIHRlc3QiXDtETlM6ZXhhbXBsZS5jb21cO1JGQzgyMjptYWlsQGV4YW1wbGUuY29tCi1zZXJ2ZXIxLmxvbmdfc2VyaWFsLmNydDogc2VydmVyMS5rZXkgc2VydmVyMS5yZXEuc2hhMjU2ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JZWNobyAiMTEyMjMzNDQ1NTY2Nzc4ODk5YWFiYmNjZGRlZWZmMDAxMTIyMzM0NCIgPiB0ZXN0LWNhLnNlcnZlcjEudG1wLnNlcmlhbAotCSQoT1BFTlNTTCkgY2EgLWluIHNlcnZlcjEucmVxLnNoYTI1NiAta2V5IFBvbGFyU1NMVGVzdCAtY29uZmlnIHRlc3QtY2Euc2VydmVyMS50ZXN0X3NlcmlhbC5vcGVuc3NsY29uZiAtbm90ZXh0IC1iYXRjaCAtb3V0ICRACi1zZXJ2ZXIxLjgwc2VyaWFsLmNydDogc2VydmVyMS5rZXkgc2VydmVyMS5yZXEuc2hhMjU2ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JZWNobyAiODAxMTIyMzM0NCIgPiB0ZXN0LWNhLnNlcnZlcjEudG1wLnNlcmlhbAotCSQoT1BFTlNTTCkgY2EgLWluIHNlcnZlcjEucmVxLnNoYTI1NiAta2V5IFBvbGFyU1NMVGVzdCAtY29uZmlnIHRlc3QtY2Euc2VydmVyMS50ZXN0X3NlcmlhbC5vcGVuc3NsY29uZiAtbm90ZXh0IC1iYXRjaCAtb3V0ICRACi1zZXJ2ZXIxLmxvbmdfc2VyaWFsX0ZGLmNydDogc2VydmVyMS5rZXkgc2VydmVyMS5yZXEuc2hhMjU2ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JZWNobyAiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiID4gdGVzdC1jYS5zZXJ2ZXIxLnRtcC5zZXJpYWwKLQkkKE9QRU5TU0wpIGNhIC1pbiBzZXJ2ZXIxLnJlcS5zaGEyNTYgLWtleSBQb2xhclNTTFRlc3QgLWNvbmZpZyB0ZXN0LWNhLnNlcnZlcjEudGVzdF9zZXJpYWwub3BlbnNzbGNvbmYgLW5vdGV4dCAtYmF0Y2ggLW91dCAkQAotc2VydmVyMS5ub2F1dGhpZC5jcnQ6IHNlcnZlcjEua2V5IHNlcnZlcjEucmVxLnNoYTI1NiAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKQotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSByZXF1ZXN0X2ZpbGU9c2VydmVyMS5yZXEuc2hhMjU2IGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEExIGF1dGhvcml0eV9pZGVudGlmaWVyPTAgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNydC5kZXI6IHBhcnNlX2lucHV0L3NlcnZlcjEuY3J0Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHJlcXVlc3RfZmlsZT1zZXJ2ZXIxLnJlcS5zaGEyNTYgXAotCQlpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgXAotCQlpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBcCi0JCW5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IFwKLQkJbWQ9U0hBMSBhdXRob3JpdHlfaWRlbnRpZmllcj0wIHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotc2VydmVyMS5kZXI6IHNlcnZlcjEuY3J0Ci0JJChPUEVOU1NMKSB4NTA5IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQAotc2VydmVyMS5jb21tYXMuY3J0OiBzZXJ2ZXIxLmtleSBwYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5jb21tYXMuc2hhMjU2ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHJlcXVlc3RfZmlsZT1wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5jb21tYXMuc2hhMjU2IGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSB2ZXJzaW9uPTEgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgbWQ9U0hBMSB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLXNlcnZlcjEuaGFzaHN5bWJvbC5jcnQ6IHNlcnZlcjEua2V5IHBhcnNlX2lucHV0L3NlcnZlcjEucmVxLmhhc2hzeW1ib2wuc2hhMjU2ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHJlcXVlc3RfZmlsZT1wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5oYXNoc3ltYm9sLnNoYTI1NiBpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgdmVyc2lvbj0xIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTEgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1zZXJ2ZXIxLnNwYWNlcy5jcnQ6IHNlcnZlcjEua2V5IHBhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNwYWNlcy5zaGEyNTYgJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgcmVxdWVzdF9maWxlPXBhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNwYWNlcy5zaGEyNTYgaXNzdWVyX2NydD0kKHRlc3RfY2FfY3J0KSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIGlzc3Vlcl9wd2Q9JCh0ZXN0X2NhX3B3ZF9yc2EpIHZlcnNpb249MSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEExIHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotc2VydmVyMS5hc2NpaWNoYXJzLmNydDogc2VydmVyMS5rZXkgcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuYXNjaWljaGFycy5zaGEyNTYgJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgcmVxdWVzdF9maWxlPXBhcnNlX2lucHV0L3NlcnZlcjEucmVxLmFzY2lpY2hhcnMuc2hhMjU2IGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSB2ZXJzaW9uPTEgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgbWQ9U0hBMSB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIxLmNydCBzZXJ2ZXIxLm5vYXV0aGlkLmNydCBwYXJzZV9pbnB1dC9zZXJ2ZXIxLmNydC5kZXIgc2VydmVyMS5jb21tYXMuY3J0IHNlcnZlcjEuaGFzaHN5bWJvbC5jcnQgc2VydmVyMS5zcGFjZXMuY3J0IHNlcnZlcjEuYXNjaWljaGFycy5jcnQKLQotcGFyc2VfaW5wdXQvc2VydmVyMS5rZXlfdXNhZ2UuY3J0OiBwYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGEyNTYKLXNlcnZlcjEua2V5X3VzYWdlLmNydDogc2VydmVyMS5yZXEuc2hhMjU2Ci1wYXJzZV9pbnB1dC9zZXJ2ZXIxLmtleV91c2FnZS5jcnQgc2VydmVyMS5rZXlfdXNhZ2UuY3J0OiAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKQotcGFyc2VfaW5wdXQvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IHNlcnZlcjEua2V5X3VzYWdlLmNydDoKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgcmVxdWVzdF9maWxlPSQoQEQpL3NlcnZlcjEucmVxLnNoYTI1NiBpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgdmVyc2lvbj0xIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTEga2V5X3VzYWdlPWRpZ2l0YWxfc2lnbmF0dXJlLG5vbl9yZXB1ZGlhdGlvbixrZXlfZW5jaXBoZXJtZW50IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotc2VydmVyMS5rZXlfdXNhZ2Vfbm9hdXRoaWQuY3J0OiBzZXJ2ZXIxLmtleSBzZXJ2ZXIxLnJlcS5zaGEyNTYgJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgcmVxdWVzdF9maWxlPXNlcnZlcjEucmVxLnNoYTI1NiBpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgdmVyc2lvbj0xIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTEga2V5X3VzYWdlPWRpZ2l0YWxfc2lnbmF0dXJlLG5vbl9yZXB1ZGlhdGlvbixrZXlfZW5jaXBoZXJtZW50IGF1dGhvcml0eV9pZGVudGlmaWVyPTAgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1zZXJ2ZXIxLmtleV91c2FnZS5kZXI6IHNlcnZlcjEua2V5X3VzYWdlLmNydAotCSQoT1BFTlNTTCkgeDUwOSAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIxLmtleV91c2FnZS5jcnQgc2VydmVyMS5rZXlfdXNhZ2Vfbm9hdXRoaWQuY3J0IHNlcnZlcjEua2V5X3VzYWdlLmRlcgotCi1wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNlcnRfdHlwZS5jcnQ6IHBhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTI1Ngotc2VydmVyMS5jZXJ0X3R5cGUuY3J0OiBzZXJ2ZXIxLnJlcS5zaGEyNTYKLXBhcnNlX2lucHV0L3NlcnZlcjEuY2VydF90eXBlLmNydCBzZXJ2ZXIxLmNlcnRfdHlwZS5jcnQ6ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi1wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNlcnRfdHlwZS5jcnQgc2VydmVyMS5jZXJ0X3R5cGUuY3J0OgotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSByZXF1ZXN0X2ZpbGU9JChARCkvc2VydmVyMS5yZXEuc2hhMjU2IGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSB2ZXJzaW9uPTEgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgbWQ9U0hBMSBuc19jZXJ0X3R5cGU9c3NsX3NlcnZlciB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLXNlcnZlcjEuY2VydF90eXBlX25vYXV0aGlkLmNydDogc2VydmVyMS5rZXkgc2VydmVyMS5yZXEuc2hhMjU2ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHJlcXVlc3RfZmlsZT1zZXJ2ZXIxLnJlcS5zaGEyNTYgaXNzdWVyX2NydD0kKHRlc3RfY2FfY3J0KSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIGlzc3Vlcl9wd2Q9JCh0ZXN0X2NhX3B3ZF9yc2EpIHZlcnNpb249MSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEExIG5zX2NlcnRfdHlwZT1zc2xfc2VydmVyIGF1dGhvcml0eV9pZGVudGlmaWVyPTAgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1zZXJ2ZXIxLmNlcnRfdHlwZS5kZXI6IHNlcnZlcjEuY2VydF90eXBlLmNydAotCSQoT1BFTlNTTCkgeDUwOSAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIxLmNlcnRfdHlwZS5jcnQgc2VydmVyMS5jZXJ0X3R5cGVfbm9hdXRoaWQuY3J0IHNlcnZlcjEuY2VydF90eXBlLmRlcgotCi1zZXJ2ZXIxLnYxLmNydDogc2VydmVyMS5rZXkgc2VydmVyMS5yZXEuc2hhMjU2ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpCi0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHJlcXVlc3RfZmlsZT1zZXJ2ZXIxLnJlcS5zaGEyNTYgaXNzdWVyX2NydD0kKHRlc3RfY2FfY3J0KSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIGlzc3Vlcl9wd2Q9JCh0ZXN0X2NhX3B3ZF9yc2EpIHZlcnNpb249MSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEExIHZlcnNpb249MSBvdXRwdXRfZmlsZT0kQAotc2VydmVyMS52MS5kZXI6IHNlcnZlcjEudjEuY3J0Ci0JJChPUEVOU1NMKSB4NTA5IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQAotYWxsX2ZpbmFsICs9IHNlcnZlcjEudjEuY3J0IHNlcnZlcjEudjEuZGVyCi0KLXNlcnZlcjEuY2EuY3J0OiBzZXJ2ZXIxLmtleSBzZXJ2ZXIxLnJlcS5zaGEyNTYgJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgcmVxdWVzdF9maWxlPXNlcnZlcjEucmVxLnNoYTI1NiBpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgdmVyc2lvbj0xIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTEgaXNfY2E9MSB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLXNlcnZlcjEuY2Ffbm9hdXRoaWQuY3J0OiBzZXJ2ZXIxLmtleSBzZXJ2ZXIxLnJlcS5zaGEyNTYgJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgcmVxdWVzdF9maWxlPXNlcnZlcjEucmVxLnNoYTI1NiBpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgbWQ9U0hBMSBhdXRob3JpdHlfaWRlbnRpZmllcj0wIGlzX2NhPTEgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1zZXJ2ZXIxLmNhLmRlcjogc2VydmVyMS5jYS5jcnQKLQkkKE9QRU5TU0wpIHg1MDkgLWluZm9ybSBQRU0gLWluICQ8IC1vdXRmb3JtIERFUiAtb3V0ICRACi1hbGxfZmluYWwgKz0gc2VydmVyMS5jYS5jcnQgc2VydmVyMS5jYV9ub2F1dGhpZC5jcnQgc2VydmVyMS5jYS5kZXIKLQotc2VydmVyMS1ub3NwYWNlLmNydDogc2VydmVyMS5rZXkgdGVzdC1jYS5jcnQKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgc3ViamVjdF9rZXk9JDwgc2VyaWFsPTMxXAotCQlzdWJqZWN0X25hbWU9IkM9TkwsTz1Qb2xhclNTTCxDTj1wb2xhcnNzbC5leGFtcGxlIiAgXAotCQlpc3N1ZXJfY3J0PXRlc3QtY2EuY3J0IGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgXAotCQlpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBcCi0JCW5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IFwKLQkJbWQ9U0hBMjU2IHZlcnNpb249MyBhdXRob3JpdHlfaWRlbnRpZmllcj0xIFwKLQkJb3V0cHV0X2ZpbGU9JEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIxLW5vc3BhY2UuY3J0Ci0KLXNlcnZlcjFfY2EuY3J0OiBzZXJ2ZXIxLmNydCAkKHRlc3RfY2FfY3J0KQotCWNhdCBzZXJ2ZXIxLmNydCAkKHRlc3RfY2FfY3J0KSA+ICRACi1hbGxfZmluYWwgKz0gc2VydmVyMV9jYS5jcnQKLQotcGFyc2VfaW5wdXQvY2VydF9zaGExLmNydCBjZXJ0X3NoYTEuY3J0OiBzZXJ2ZXIxLmtleQotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSBzdWJqZWN0X2tleT1zZXJ2ZXIxLmtleSBzdWJqZWN0X25hbWU9IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBMSIgc2VyaWFsPTcgaXNzdWVyX2NydD0kKHRlc3RfY2FfY3J0KSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIGlzc3Vlcl9wd2Q9JCh0ZXN0X2NhX3B3ZF9yc2EpIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTEgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gY2VydF9zaGExLmNydAotCi1wYXJzZV9pbnB1dC9jZXJ0X3NoYTIyNC5jcnQgY2VydF9zaGEyMjQuY3J0OiBzZXJ2ZXIxLmtleQotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSBzdWJqZWN0X2tleT1zZXJ2ZXIxLmtleSBzdWJqZWN0X25hbWU9IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBMjI0IiBzZXJpYWw9OCBpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgbWQ9U0hBMjI0IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IGNlcnRfc2hhMjI0LmNydAotCi1wYXJzZV9pbnB1dC9jZXJ0X3NoYTI1Ni5jcnQgY2VydF9zaGEyNTYuY3J0OiBzZXJ2ZXIxLmtleQotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSBzdWJqZWN0X2tleT1zZXJ2ZXIxLmtleSBzdWJqZWN0X25hbWU9IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBMjU2IiBzZXJpYWw9OSBpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgbWQ9U0hBMjU2IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IGNlcnRfc2hhMjU2LmNydAotCi1wYXJzZV9pbnB1dC9jZXJ0X3NoYTM4NC5jcnQgY2VydF9zaGEzODQuY3J0OiBzZXJ2ZXIxLmtleQotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSBzdWJqZWN0X2tleT1zZXJ2ZXIxLmtleSBzdWJqZWN0X25hbWU9IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBMzg0IiBzZXJpYWw9MTAgaXNzdWVyX2NydD0kKHRlc3RfY2FfY3J0KSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIGlzc3Vlcl9wd2Q9JCh0ZXN0X2NhX3B3ZF9yc2EpIG5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IG1kPVNIQTM4NCB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLWFsbF9maW5hbCArPSBjZXJ0X3NoYTM4NC5jcnQKLQotcGFyc2VfaW5wdXQvY2VydF9zaGE1MTIuY3J0IGNlcnRfc2hhNTEyLmNydDogc2VydmVyMS5rZXkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgc3ViamVjdF9rZXk9c2VydmVyMS5rZXkgc3ViamVjdF9uYW1lPSJDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBDZXJ0IFNIQTUxMiIgc2VyaWFsPTExIGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEE1MTIgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gY2VydF9zaGE1MTIuY3J0Ci0KLWNlcnRfZXhhbXBsZV93aWxkY2FyZC5jcnQ6IHNlcnZlcjEua2V5Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHN1YmplY3Rfa2V5PXNlcnZlcjEua2V5IHN1YmplY3RfbmFtZT0iQz1OTCwgTz1Qb2xhclNTTCwgQ049Ki5leGFtcGxlLmNvbSIgc2VyaWFsPTEyIGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEExIHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IGNlcnRfZXhhbXBsZV93aWxkY2FyZC5jcnQKLQotIyBPcGVuU1NMLWdlbmVyYXRlZCBjZXJ0aWZpY2F0ZXMgZm9yIGNvbXBhcmlzb24KLSMgQWxzbyBwcm92aWRlIGNlcnRpZmljYXRlcyBpbiBERVIgZm9ybWF0IHRvIGFsbG93Ci0jIGRpcmVjdCBiaW5hcnkgY29tcGFyaXNvbiB1c2luZyBlLmcuIGR1bXBhc24xCi1zZXJ2ZXIxLmNydC5vcGVuc3NsIHNlcnZlcjEua2V5X3VzYWdlLmNydC5vcGVuc3NsIHNlcnZlcjEuY2VydF90eXBlLmNydC5vcGVuc3NsOiBzZXJ2ZXIxLmtleSBzZXJ2ZXIxLnJlcS5zaGEyNTYgJCh0ZXN0X2NhX2NydCkgJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgJCh0ZXN0X2NhX3NlcnZlcjFfY29uZmlnX2ZpbGUpCi0JZWNobyAiMDEiID4gJCh0ZXN0X2NhX3NlcnZlcjFfc2VyaWFsKQotCXJtIC1mICQodGVzdF9jYV9zZXJ2ZXIxX2RiKQotCXRvdWNoICQodGVzdF9jYV9zZXJ2ZXIxX2RiKQotCSQoT1BFTlNTTCkgY2EgLWJhdGNoIC1wYXNzaW4gInBhc3M6JCh0ZXN0X2NhX3B3ZF9yc2EpIiAtY29uZmlnICQodGVzdF9jYV9zZXJ2ZXIxX2NvbmZpZ19maWxlKSAtaW4gc2VydmVyMS5yZXEuc2hhMjU2IC1leHRlbnNpb25zIHYzX2V4dCAtZXh0ZmlsZSAkQC52M19leHQgLW91dCAkQAotc2VydmVyMS5kZXIub3BlbnNzbDogc2VydmVyMS5jcnQub3BlbnNzbAotCSQoT1BFTlNTTCkgeDUwOSAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAKLXNlcnZlcjEua2V5X3VzYWdlLmRlci5vcGVuc3NsOiBzZXJ2ZXIxLmtleV91c2FnZS5jcnQub3BlbnNzbAotCSQoT1BFTlNTTCkgeDUwOSAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAKLXNlcnZlcjEuY2VydF90eXBlLmRlci5vcGVuc3NsOiBzZXJ2ZXIxLmNlcnRfdHlwZS5jcnQub3BlbnNzbAotCSQoT1BFTlNTTCkgeDUwOSAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAKLQotc2VydmVyMS52MS5jcnQub3BlbnNzbDogc2VydmVyMS5rZXkgc2VydmVyMS5yZXEuc2hhMjU2ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpICQodGVzdF9jYV9zZXJ2ZXIxX2NvbmZpZ19maWxlKQotCWVjaG8gIjAxIiA+ICQodGVzdF9jYV9zZXJ2ZXIxX3NlcmlhbCkKLQlybSAtZiAkKHRlc3RfY2Ffc2VydmVyMV9kYikKLQl0b3VjaCAkKHRlc3RfY2Ffc2VydmVyMV9kYikKLQkkKE9QRU5TU0wpIGNhIC1iYXRjaCAtcGFzc2luICJwYXNzOiQodGVzdF9jYV9wd2RfcnNhKSIgLWNvbmZpZyAkKHRlc3RfY2Ffc2VydmVyMV9jb25maWdfZmlsZSkgLWluIHNlcnZlcjEucmVxLnNoYTI1NiAtb3V0ICRACi1zZXJ2ZXIxLnYxLmRlci5vcGVuc3NsOiBzZXJ2ZXIxLnYxLmNydC5vcGVuc3NsCi0JJChPUEVOU1NMKSB4NTA5IC1pbmZvcm0gUEVNIC1pbiAkPCAtb3V0Zm9ybSBERVIgLW91dCAkQAotCi0jIFRvIHJldm9rZSBjZXJ0aWZpY2F0ZSBpbiB0aGUgb3BlbnNzbCBkYXRhYmFzZToKLSMKLSMgJChPUEVOU1NMKSBjYSAtZ2VuY3JsIC1iYXRjaCAtY2VydCAkKHRlc3RfY2FfY3J0KSAta2V5ZmlsZSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSAta2V5ICQodGVzdF9jYV9wd2RfcnNhKSAtY29uZmlnICQodGVzdF9jYV9zZXJ2ZXIxX2NvbmZpZ19maWxlKSAtbWQgc2hhMjU2IC1jcmxkYXlzIDM2NSAtcmV2b2tlIHNlcnZlcjEuY3J0Ci0KLWNybC5wZW06ICQodGVzdF9jYV9jcnQpICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpICQodGVzdF9jYV9jb25maWdfZmlsZSkKLQkkKE9QRU5TU0wpIGNhIC1nZW5jcmwgLWJhdGNoIC1jZXJ0ICQodGVzdF9jYV9jcnQpIC1rZXlmaWxlICQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIC1rZXkgJCh0ZXN0X2NhX3B3ZF9yc2EpIC1jb25maWcgJCh0ZXN0X2NhX3NlcnZlcjFfY29uZmlnX2ZpbGUpIC1tZCBzaGExIC1jcmxkYXlzIDM2NTMgLW91dCAkQAotCi1jcmwtZnV0dXJlUmV2b2NhdGlvbkRhdGUucGVtOiAkKHRlc3RfY2FfY3J0KSAkKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBcCi0JCQkgICAgICAkKHRlc3RfY2FfY29uZmlnX2ZpbGUpIFwKLQkJCSAgICAgIHRlc3QtY2Euc2VydmVyMS5mdXR1cmUtY3JsLmRiIFwKLQkJCSAgICAgIHRlc3QtY2Euc2VydmVyMS5mdXR1cmUtY3JsLm9wZW5zc2xjb25mCi0JJChGQUtFVElNRSkgLWYgJysxMHknICQoT1BFTlNTTCkgY2EgLWdlbmNybCBcCi0JCS1jb25maWcgdGVzdC1jYS5zZXJ2ZXIxLmZ1dHVyZS1jcmwub3BlbnNzbGNvbmYgLWNybGRheXMgMzY1IFwKLQkJLXBhc3NpbiAicGFzczokKHRlc3RfY2FfcHdkX3JzYSkiIC1vdXQgJEAKLQotc2VydmVyMV9hbGw6IGNybC5wZW0gY3JsLWZ1dHVyZVJldm9jYXRpb25EYXRlLnBlbSBzZXJ2ZXIxLmNydCBzZXJ2ZXIxLm5vYXV0aGlkLmNydCBzZXJ2ZXIxLmNydC5vcGVuc3NsIHNlcnZlcjEudjEuY3J0IHNlcnZlcjEudjEuY3J0Lm9wZW5zc2wgc2VydmVyMS5rZXlfdXNhZ2UuY3J0IHNlcnZlcjEua2V5X3VzYWdlX25vYXV0aGlkLmNydCBzZXJ2ZXIxLmtleV91c2FnZS5jcnQub3BlbnNzbCBzZXJ2ZXIxLmNlcnRfdHlwZS5jcnQgc2VydmVyMS5jZXJ0X3R5cGVfbm9hdXRoaWQuY3J0IHNlcnZlcjEuY2VydF90eXBlLmNydC5vcGVuc3NsIHNlcnZlcjEuZGVyIHNlcnZlcjEuZGVyLm9wZW5zc2wgc2VydmVyMS52MS5kZXIgc2VydmVyMS52MS5kZXIub3BlbnNzbCBzZXJ2ZXIxLmtleV91c2FnZS5kZXIgc2VydmVyMS5rZXlfdXNhZ2UuZGVyLm9wZW5zc2wgc2VydmVyMS5jZXJ0X3R5cGUuZGVyIHNlcnZlcjEuY2VydF90eXBlLmRlci5vcGVuc3NsCi0KLSMgc2VydmVyMioKLQotcGFyc2VfaW5wdXQvc2VydmVyMi5jcnQgc2VydmVyMi5jcnQ6IHNlcnZlcjIucmVxLnNoYTI1NgotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSByZXF1ZXN0X2ZpbGU9c2VydmVyMi5yZXEuc2hhMjU2IHNlcmlhbD0yIGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEExIHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IHNlcnZlcjIuY3J0Ci0KLXNlcnZlcjIuZGVyOiBzZXJ2ZXIyLmNydAotCSQoT1BFTlNTTCkgeDUwOSAtaW5mb3JtIFBFTSAtaW4gJDwgLW91dGZvcm0gREVSIC1vdXQgJEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIyLmNydCBzZXJ2ZXIyLmRlcgotCi1zZXJ2ZXIyLXNoYTI1Ni5jcnQ6IHNlcnZlcjIucmVxLnNoYTI1NgotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSByZXF1ZXN0X2ZpbGU9c2VydmVyMi5yZXEuc2hhMjU2IHNlcmlhbD0yIGlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBtZD1TSEEyNTYgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gc2VydmVyMi1zaGEyNTYuY3J0Ci0KLXNlcnZlcjItc2hhMjU2Lmt1LWthLmNydDogU0VSVkVSMl9DUlRfU0VSSUFMPTIyCi1zZXJ2ZXIyLXNoYTI1Ni5rdS1rYS5jcnQ6IFNFUlZFUjJfS0VZX1VTQUdFPWtleV9hZ3JlZW1lbnQKLXNlcnZlcjItc2hhMjU2Lmt1LWtlLmNydDogU0VSVkVSMl9DUlRfU0VSSUFMPTIzCi1zZXJ2ZXIyLXNoYTI1Ni5rdS1rZS5jcnQ6IFNFUlZFUjJfS0VZX1VTQUdFPWtleV9lbmNpcGhlcm1lbnQKLXNlcnZlcjItc2hhMjU2Lmt1LWRzLmNydDogU0VSVkVSMl9DUlRfU0VSSUFMPTI0Ci1zZXJ2ZXIyLXNoYTI1Ni5rdS1kcy5jcnQ6IFNFUlZFUjJfS0VZX1VTQUdFPWRpZ2l0YWxfc2lnbmF0dXJlCi1zZXJ2ZXIyLXNoYTI1Ni5rdS1kc19rZS5jcnQ6IFNFUlZFUjJfQ1JUX1NFUklBTD0yOAotc2VydmVyMi1zaGEyNTYua3UtZHNfa2UuY3J0OiBTRVJWRVIyX0tFWV9VU0FHRT1kaWdpdGFsX3NpZ25hdHVyZSxrZXlfZW5jaXBoZXJtZW50Ci1zZXJ2ZXIyLXNoYTI1Ni5rdS0lLmNydDogc2VydmVyMi5yZXEuc2hhMjU2Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHJlcXVlc3RfZmlsZT1zZXJ2ZXIyLnJlcS5zaGEyNTYgc2VyaWFsPSQoU0VSVkVSMl9DUlRfU0VSSUFMKSBcCi0JCWlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBcCi0JCWtleV91c2FnZT0iJChTRVJWRVIyX0tFWV9VU0FHRSkiIFwKLQkJbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgbWQ9U0hBMjU2IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IHNlcnZlcjItc2hhMjU2Lmt1LWthLmNydCBzZXJ2ZXIyLXNoYTI1Ni5rdS1rZS5jcnQgc2VydmVyMi1zaGEyNTYua3UtZHMuY3J0IHNlcnZlcjItc2hhMjU2Lmt1LWRzX2tlLmNydAotCi1hbGxfZmluYWwgKz0gc2VydmVyMi5rdS1rYS5jcnQgc2VydmVyMi5rdS1rZS5jcnQgc2VydmVyMi5rdS1kcy5jcnQgc2VydmVyMi5rdS1kc19rZS5jcnQKLXNlcnZlcjIua3Uta2EuY3J0OiBTRVJWRVIyX0NSVF9TRVJJQUw9NDIKLXNlcnZlcjIua3Uta2EuY3J0OiBTRVJWRVIyX0tFWV9VU0FHRT1rZXlfYWdyZWVtZW50Ci1zZXJ2ZXIyLmt1LWtlLmNydDogU0VSVkVSMl9DUlRfU0VSSUFMPTQzCi1zZXJ2ZXIyLmt1LWtlLmNydDogU0VSVkVSMl9LRVlfVVNBR0U9a2V5X2VuY2lwaGVybWVudAotc2VydmVyMi5rdS1kcy5jcnQ6IFNFUlZFUjJfQ1JUX1NFUklBTD00NAotc2VydmVyMi5rdS1kcy5jcnQ6IFNFUlZFUjJfS0VZX1VTQUdFPWRpZ2l0YWxfc2lnbmF0dXJlCi1zZXJ2ZXIyLmt1LWRzX2tlLmNydDogU0VSVkVSMl9DUlRfU0VSSUFMPTQ4Ci1zZXJ2ZXIyLmt1LWRzX2tlLmNydDogU0VSVkVSMl9LRVlfVVNBR0U9ZGlnaXRhbF9zaWduYXR1cmUsa2V5X2VuY2lwaGVybWVudAotc2VydmVyMi5rdS0lLmNydDogc2VydmVyMi5yZXEuc2hhMjU2Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHJlcXVlc3RfZmlsZT1zZXJ2ZXIyLnJlcS5zaGEyNTYgc2VyaWFsPSQoU0VSVkVSMl9DUlRfU0VSSUFMKSBcCi0JCWlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydCkgaXNzdWVyX2tleT0kKHRlc3RfY2Ffa2V5X2ZpbGVfcnNhKSBpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBcCi0JCWtleV91c2FnZT0iJChTRVJWRVIyX0tFWV9VU0FHRSkiIFwKLQkJbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwNiBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDYgbWQ9U0hBMSB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLWFsbF9maW5hbCArPSBzZXJ2ZXIyLmt1LWthLmNydCBzZXJ2ZXIyLmt1LWtlLmNydCBzZXJ2ZXIyLmt1LWRzLmNydCBzZXJ2ZXIyLmt1LWRzX2tlLmNydAotCi1zZXJ2ZXIyLWJhZHNpZ24uY3J0OiBzZXJ2ZXIyLmNydAotCXsgaGVhZCAtbi0yICQ8OyB0YWlsIC1uLTIgJDwgfCBzZWQgLWUgJzFzLzBcKD0qXCkkJC9fXDEvJyAtZSAnMXMvW15fPV1cKD0qXCkkJC8wXDEvJyAtZSAnMXMvXy8xLyc7IH0gPiAkQAotYWxsX2ZpbmFsICs9IHNlcnZlcjItYmFkc2lnbi5jcnQKLQotIyBzZXJ2ZXIzKgotCi1wYXJzZV9pbnB1dC9zZXJ2ZXIzLmNydCBzZXJ2ZXIzLmNydDogc2VydmVyMy5rZXkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgc3ViamVjdF9rZXk9JDwgc3ViamVjdF9uYW1lPSJDPU5MLE89UG9sYXJTU0wsQ049bG9jYWxob3N0IiBzZXJpYWw9MTMgXAotCQlpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgaXNzdWVyX3B3ZD0kKHRlc3RfY2FfcHdkX3JzYSkgXAotCQlub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDA2IG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwNiBcCi0JCW1kPVNIQTEgdmVyc2lvbj0zIG91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gc2VydmVyMy5jcnQKLQotIyBzZXJ2ZXI0KgotCi1wYXJzZV9pbnB1dC9zZXJ2ZXI0LmNydCBzZXJ2ZXI0LmNydDogc2VydmVyNC5rZXkKLQkkKE1CRURUTFNfQ0VSVF9XUklURSkgc3ViamVjdF9rZXk9JDwgc3ViamVjdF9uYW1lPSJDPU5MLE89UG9sYXJTU0wsQ049bG9jYWxob3N0IiBzZXJpYWw9OCBcCi0JCWlzc3Vlcl9jcnQ9JCh0ZXN0X2NhX2NydF9maWxlX2VjKSBpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9lYykgXAotCQlub3RfYmVmb3JlPTIwMTkwMjEwMTQ0NDAwIG5vdF9hZnRlcj0yMDI5MDIxMDE0NDQwMCBcCi0JCW1kPVNIQTI1NiB2ZXJzaW9uPTMgb3V0cHV0X2ZpbGU9JEAKLWFsbF9maW5hbCArPSBzZXJ2ZXI0LmNydAotCi0jIE1ENSB0ZXN0IGNlcnRpZmljYXRlCi0KLWNlcnRfbWRfdGVzdF9rZXkgPSAkKGNsaV9jcnRfa2V5X2ZpbGVfcnNhKQotCi1jZXJ0X21kNS5jc3I6ICQoY2VydF9tZF90ZXN0X2tleSkKLQkkKE1CRURUTFNfQ0VSVF9SRVEpIG91dHB1dF9maWxlPSRAIGZpbGVuYW1lPSQ8IHN1YmplY3RfbmFtZT0iQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIENlcnQgTUQ1IiBtZD1NRDUKLWFsbF9pbnRlcm1lZGlhdGUgKz0gY2VydF9tZDUuY3NyCi0KLXBhcnNlX2lucHV0L2NlcnRfbWQ1LmNydCBjZXJ0X21kNS5jcnQ6IGNlcnRfbWQ1LmNzcgotCSQoTUJFRFRMU19DRVJUX1dSSVRFKSByZXF1ZXN0X2ZpbGU9JDwgc2VyaWFsPTYgXAotCQlpc3N1ZXJfY3J0PSQodGVzdF9jYV9jcnQpIGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgXAotCQlpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBcCi0JCW5vdF9iZWZvcmU9MjAwMDAxMDExMjEyMTIgbm90X2FmdGVyPTIwMzAwMTAxMTIxMjEyIFwKLQkJbWQ9TUQ1IHZlcnNpb249MyBvdXRwdXRfZmlsZT0kQAotYWxsX2ZpbmFsICs9IGNlcnRfbWQ1LmNydAotCi0jIFRMU3YxLjMgdGVzdCBjZXJ0aWZpY2F0ZXMKLWVjZHNhX3NlY3AyNTZyMS5rZXk6IGVjXzI1Nl9wcnYucGVtCi0JY3AgJDwgJEAKLQotZWNkc2Ffc2VjcDI1NnIxLmNzcjogZWNkc2Ffc2VjcDI1NnIxLmtleQotCSQoT1BFTlNTTCkgcmVxIC1uZXcgLXN1YmogIi9DPU5ML089UG9sYXJTU0wvQ049bG9jYWxob3N0IiBcCi0JCQkJCS1rZXkgJDwgLW91dCAkQAotYWxsX2ludGVybWVkaWF0ZSArPSBlY2RzYV9zZWNwMjU2cjEuY3NyCi1lY2RzYV9zZWNwMjU2cjEuY3J0OiBlY2RzYV9zZWNwMjU2cjEuY3NyCi0JJChPUEVOU1NMKSB4NTA5IC1yZXEgLUNBICQodGVzdF9jYV9jcnRfZmlsZV9lYykgLUNBa2V5ICQodGVzdF9jYV9rZXlfZmlsZV9lYykgXAotCQkJCS1zZXRfc2VyaWFsIDc3IC1kYXlzIDM2NTMgLXNoYTM4NCAtaW4gJDwgLW91dCAkQAotYWxsX2ZpbmFsICs9IGVjZHNhX3NlY3AyNTZyMS5jcnQgZWNkc2Ffc2VjcDI1NnIxLmtleQotdGxzMTNfY2VydHM6IGVjZHNhX3NlY3AyNTZyMS5jcnQgZWNkc2Ffc2VjcDI1NnIxLmtleQotCi1lY2RzYV9zZWNwMzg0cjEua2V5OiBlY18zODRfcHJ2LnBlbQotCWNwICQ8ICRACi1lY2RzYV9zZWNwMzg0cjEuY3NyOiBlY2RzYV9zZWNwMzg0cjEua2V5Ci0JJChPUEVOU1NMKSByZXEgLW5ldyAtc3ViaiAiL0M9TkwvTz1Qb2xhclNTTC9DTj1sb2NhbGhvc3QiIFwKLQkJCQkJLWtleSAkPCAtb3V0ICRACi1hbGxfaW50ZXJtZWRpYXRlICs9IGVjZHNhX3NlY3AzODRyMS5jc3IKLWVjZHNhX3NlY3AzODRyMS5jcnQ6IGVjZHNhX3NlY3AzODRyMS5jc3IKLQkkKE9QRU5TU0wpIHg1MDkgLXJlcSAtQ0EgJCh0ZXN0X2NhX2NydF9maWxlX2VjKSAtQ0FrZXkgJCh0ZXN0X2NhX2tleV9maWxlX2VjKSBcCi0JCQkJLXNldF9zZXJpYWwgNzcgLWRheXMgMzY1MyAtc2hhMzg0IC1pbiAkPCAtb3V0ICRACi1hbGxfZmluYWwgKz0gZWNkc2Ffc2VjcDM4NHIxLmNydCBlY2RzYV9zZWNwMzg0cjEua2V5Ci10bHMxM19jZXJ0czogZWNkc2Ffc2VjcDM4NHIxLmNydCBlY2RzYV9zZWNwMzg0cjEua2V5Ci0KLWVjZHNhX3NlY3A1MjFyMS5rZXk6IGVjXzUyMV9wcnYucGVtCi0JY3AgJDwgJEAKLWVjZHNhX3NlY3A1MjFyMS5jc3I6IGVjZHNhX3NlY3A1MjFyMS5rZXkKLQkkKE9QRU5TU0wpIHJlcSAtbmV3IC1zdWJqICIvQz1OTC9PPVBvbGFyU1NML0NOPWxvY2FsaG9zdCIgXAotCQkJCQkta2V5ICQ8IC1vdXQgJEAKLWFsbF9pbnRlcm1lZGlhdGUgKz0gZWNkc2Ffc2VjcDUyMXIxLmNzcgotZWNkc2Ffc2VjcDUyMXIxLmNydDogZWNkc2Ffc2VjcDUyMXIxLmNzcgotCSQoT1BFTlNTTCkgeDUwOSAtcmVxIC1DQSAkKHRlc3RfY2FfY3J0X2ZpbGVfZWMpIC1DQWtleSAkKHRlc3RfY2Ffa2V5X2ZpbGVfZWMpIFwKLQkJCQktc2V0X3NlcmlhbCA3NyAtZGF5cyAzNjUzIC1zaGEzODQgLWluICQ8IC1vdXQgJEAKLWFsbF9maW5hbCArPSBlY2RzYV9zZWNwNTIxcjEuY3J0IGVjZHNhX3NlY3A1MjFyMS5rZXkKLXRsczEzX2NlcnRzOiBlY2RzYV9zZWNwNTIxcjEuY3J0IGVjZHNhX3NlY3A1MjFyMS5rZXkKLQotIyBQS0NTNyB0ZXN0IGRhdGEKLXBrY3M3X3Rlc3RfY2VydF8xID0gcGtjczctcnNhLXNoYTI1Ni0xLmNydAotcGtjczdfdGVzdF9jZXJ0XzIgPSBwa2NzNy1yc2Etc2hhMjU2LTIuY3J0Ci1wa2NzN190ZXN0X2NlcnRfMyA9IHBrY3M3LXJzYS1zaGEyNTYtMy5jcnQKLXBrY3M3X3Rlc3RfZmlsZSA9IHBrY3M3X2RhdGEuYmluCi0KLSQocGtjczdfdGVzdF9maWxlKToKLQlwcmludGYgIkhlbGxvXDE1XG4iID4gJEAKLWFsbF9maW5hbCArPSAkKHBrY3M3X3Rlc3RfZmlsZSkKLQotcGtjczdfemVyb2xlbmRhdGEuYmluOgotCXByaW50ZiAnJyA+ICRACi1hbGxfZmluYWwgKz0gcGtjczdfemVyb2xlbmRhdGEuYmluCi0KLXBrY3M3X2RhdGFfMS5iaW46Ci0JcHJpbnRmICIyXDE1XG4iID4gJEAKLWFsbF9maW5hbCArPSBwa2NzN19kYXRhXzEuYmluCi0KLSMgR2VuZXJhdGUgc2lnbmluZyBjZXJ0Ci1wa2NzNy1yc2Etc2hhMjU2LTEuY3J0OgotCSQoT1BFTlNTTCkgcmVxIC14NTA5IC1zdWJqPSIvQz1OTC9PPVBLQ1M3L0NOPVBLQ1M3IENlcnQgMSIgLXNoYTI1NiAtbm9kZXMgLWRheXMgMzY1MyAgLW5ld2tleSByc2E6MjA0OCAta2V5b3V0IHBrY3M3LXJzYS1zaGEyNTYtMS5rZXkgLW91dCBwa2NzNy1yc2Etc2hhMjU2LTEuY3J0Ci0JY2F0IHBrY3M3LXJzYS1zaGEyNTYtMS5jcnQgcGtjczctcnNhLXNoYTI1Ni0xLmtleSA+IHBrY3M3LXJzYS1zaGEyNTYtMS5wZW0KLWFsbF9maW5hbCArPSBwa2NzNy1yc2Etc2hhMjU2LTEuY3J0Ci0KLXBrY3M3LXJzYS1zaGEyNTYtMi5jcnQ6Ci0JJChPUEVOU1NMKSByZXEgLXg1MDkgLXN1Ymo9Ii9DPU5ML089UEtDUzcvQ049UEtDUzcgQ2VydCAyIiAtc2hhMjU2IC1ub2RlcyAtZGF5cyAzNjUzICAtbmV3a2V5IHJzYToyMDQ4IC1rZXlvdXQgcGtjczctcnNhLXNoYTI1Ni0yLmtleSAtb3V0IHBrY3M3LXJzYS1zaGEyNTYtMi5jcnQKLQljYXQgcGtjczctcnNhLXNoYTI1Ni0yLmNydCBwa2NzNy1yc2Etc2hhMjU2LTIua2V5ID4gcGtjczctcnNhLXNoYTI1Ni0yLnBlbQotYWxsX2ZpbmFsICs9IHBrY3M3LXJzYS1zaGEyNTYtMi5jcnQKLQotcGtjczctcnNhLXNoYTI1Ni0zLmNydDoKLQkkKE9QRU5TU0wpIHJlcSAteDUwOSAtc3Viaj0iL0M9TkwvTz1QS0NTNy9DTj1QS0NTNyBDZXJ0IDMiIC1zaGEyNTYgLW5vZGVzIC1kYXlzIDM2NTMgIC1uZXdrZXkgcnNhOjIwNDggLWtleW91dCBwa2NzNy1yc2Etc2hhMjU2LTMua2V5IC1vdXQgcGtjczctcnNhLXNoYTI1Ni0zLmNydAotCWNhdCBwa2NzNy1yc2Etc2hhMjU2LTMuY3J0IHBrY3M3LXJzYS1zaGEyNTYtMy5rZXkgPiBwa2NzNy1yc2Etc2hhMjU2LTMucGVtCi1hbGxfZmluYWwgKz0gcGtjczctcnNhLXNoYTI1Ni0zLmNydAotCi1wa2NzNy1yc2EtZXhwaXJlZC5jcnQ6Ci0JJChGQUtFVElNRSkgLWYgLTM2NTBkICQoT1BFTlNTTCkgcmVxIC14NTA5IC1zdWJqPSIvQz1OTC9PPVBLQ1M3L0NOPVBLQ1M3IENlcnQgRXhwaXJlZCIgLXNoYTI1NiAtbm9kZXMgLWRheXMgMzY1ICAtbmV3a2V5IHJzYToyMDQ4IC1rZXlvdXQgcGtjczctcnNhLWV4cGlyZWQua2V5IC1vdXQgcGtjczctcnNhLWV4cGlyZWQuY3J0Ci1hbGxfZmluYWwgKz0gcGtjczctcnNhLWV4cGlyZWQuY3J0Ci0KLSMgRmlsZSB3aXRoIGFuIG90aGVyd2lzZSB2YWxpZCBzaWduYXR1cmUgc2lnbmVkIHdpdGggYW4gZXhwaXJlZCBjZXJ0Ci1wa2NzN19kYXRhX3JzYV9leHBpcmVkLmRlcjogcGtjczctcnNhLWV4cGlyZWQua2V5IHBrY3M3LXJzYS1leHBpcmVkLmNydCBwa2NzN19kYXRhLmJpbgotCSQoT1BFTlNTTCkgc21pbWUgLXNpZ24gLWJpbmFyeSAtaW4gcGtjczdfZGF0YS5iaW4gLW91dCAkQCAtbWQgc2hhMjU2IC1pbmtleSBwa2NzNy1yc2EtZXhwaXJlZC5rZXkgLXNpZ25lciBwa2NzNy1yc2EtZXhwaXJlZC5jcnQgLW5vYXR0ciAtb3V0Zm9ybSBERVIgLW91dCAkQAotYWxsX2ZpbmFsICs9IHBrY3M3X2RhdGFfcnNhX2V4cGlyZWQuZGVyCi0KLSMgQ29udmVydCBzaWduaW5nIGNlcnRzIHRvIERFUiBmb3IgdGVzdGluZyBQRU0tZnJlZSBidWlsZHMKLXBrY3M3LXJzYS1zaGEyNTYtMS5kZXI6ICQocGtjczdfdGVzdF9jZXJ0XzEpCi0JJChPUEVOU1NMKSB4NTA5IC1pbiBwa2NzNy1yc2Etc2hhMjU2LTEuY3J0IC1vdXQgJEAgLW91dGZvcm0gREVSCi1hbGxfZmluYWwgKz0gcGtjczctcnNhLXNoYTI1Ni0xLmRlcgotCi1wa2NzNy1yc2Etc2hhMjU2LTIuZGVyOiAkKHBrY3M3X3Rlc3RfY2VydF8yKQotCSQoT1BFTlNTTCkgeDUwOSAtaW4gcGtjczctcnNhLXNoYTI1Ni0yLmNydCAtb3V0ICRAIC1vdXRmb3JtIERFUgotYWxsX2ZpbmFsICs9IHBrY3M3LXJzYS1zaGEyNTYtMi5kZXIKLQotcGtjczctcnNhLWV4cGlyZWQuZGVyOiBwa2NzNy1yc2EtZXhwaXJlZC5jcnQKLQkkKE9QRU5TU0wpIHg1MDkgLWluIHBrY3M3LXJzYS1leHBpcmVkLmNydCAtb3V0ICRAIC1vdXRmb3JtIERFUgotYWxsX2ZpbmFsICs9IHBrY3M3LXJzYS1leHBpcmVkLmRlcgotCi0jIHBrY3M3IHNpZ25hdHVyZSBmaWxlIG92ZXIgemVyby1sZW4gZGF0YQotcGtjczdfemVyb2xlbmRhdGFfZGV0YWNoZWQuZGVyOiBwa2NzN196ZXJvbGVuZGF0YS5iaW4gcGtjczctcnNhLXNoYTI1Ni0xLmtleSBwa2NzNy1yc2Etc2hhMjU2LTEuY3J0Ci0JJChPUEVOU1NMKSBzbWltZSAtc2lnbiAtbWQgc2hhMjU2IC1ub2NlcnRzIC1ub2F0dHIgLWluIHBrY3M3X3plcm9sZW5kYXRhLmJpbiAtaW5rZXkgcGtjczctcnNhLXNoYTI1Ni0xLmtleSAtb3V0Zm9ybSBERVIgLWJpbmFyeSAtc2lnbmVyIHBrY3M3LXJzYS1zaGEyNTYtMS5jcnQgLW91dCBwa2NzN196ZXJvbGVuZGF0YV9kZXRhY2hlZC5kZXIKLWFsbF9maW5hbCArPSBwa2NzN196ZXJvbGVuZGF0YV9kZXRhY2hlZC5kZXIKLQotIyBwa2NzNyBzaWduYXR1cmUgZmlsZSB3aXRoIENFUlQKLXBrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlcjogJChwa2NzN190ZXN0X2ZpbGUpICQocGtjczdfdGVzdF9jZXJ0XzEpCi0JJChPUEVOU1NMKSBzbWltZSAtc2lnbiAtYmluYXJ5IC1pbiBwa2NzN19kYXRhLmJpbiAtb3V0ICRAIC1tZCBzaGEyNTYgLXNpZ25lciBwa2NzNy1yc2Etc2hhMjU2LTEucGVtIC1ub2F0dHIgLW91dGZvcm0gREVSIC1vdXQgJEAKLWFsbF9maW5hbCArPSBwa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIKLQotIyBwa2NzNyBzaWduYXR1cmUgZmlsZSB3aXRoIENFUlQgYW5kIHNoYTEKLXBrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMS5kZXI6ICQocGtjczdfdGVzdF9maWxlKSAkKHBrY3M3X3Rlc3RfY2VydF8xKQotCSQoT1BFTlNTTCkgc21pbWUgLXNpZ24gLWJpbmFyeSAtaW4gcGtjczdfZGF0YS5iaW4gLW91dCAkQCAtbWQgc2hhMSAtc2lnbmVyIHBrY3M3LXJzYS1zaGEyNTYtMS5wZW0gLW5vYXR0ciAtb3V0Zm9ybSBERVIgLW91dCAkQAotYWxsX2ZpbmFsICs9IHBrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMS5kZXIKLQotIyBwa2NzNyBzaWduYXR1cmUgZmlsZSB3aXRoIENFUlQgYW5kIHNoYTUxMgotcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGE1MTIuZGVyOiAkKHBrY3M3X3Rlc3RfZmlsZSkgJChwa2NzN190ZXN0X2NlcnRfMSkKLQkkKE9QRU5TU0wpIHNtaW1lIC1zaWduIC1iaW5hcnkgLWluIHBrY3M3X2RhdGEuYmluIC1vdXQgJEAgLW1kIHNoYTUxMiAtc2lnbmVyIHBrY3M3LXJzYS1zaGEyNTYtMS5wZW0gLW5vYXR0ciAtb3V0Zm9ybSBERVIgLW91dCAkQAotYWxsX2ZpbmFsICs9IHBrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhNTEyLmRlcgotCi0jIHBrY3M3IHNpZ25hdHVyZSBmaWxlIHdpdGhvdXQgQ0VSVAotcGtjczdfZGF0YV93aXRob3V0X2NlcnRfc2lnbmVkLmRlcjogJChwa2NzN190ZXN0X2ZpbGUpICQocGtjczdfdGVzdF9jZXJ0XzEpCi0JJChPUEVOU1NMKSBzbWltZSAtc2lnbiAtYmluYXJ5IC1pbiBwa2NzN19kYXRhLmJpbiAtb3V0ICRAIC1tZCBzaGEyNTYgLXNpZ25lciBwa2NzNy1yc2Etc2hhMjU2LTEucGVtIC1ub2NlcnRzIC1ub2F0dHIgLW91dGZvcm0gREVSIC1vdXQgJEAKLWFsbF9maW5hbCArPSBwa2NzN19kYXRhX3dpdGhvdXRfY2VydF9zaWduZWQuZGVyCi0KLSMgcGtjczcgc2lnbmF0dXJlIGZpbGUgd2l0aCBzaWduYXR1cmUKLXBrY3M3X2RhdGFfd2l0aF9zaWduYXR1cmUuZGVyOiAkKHBrY3M3X3Rlc3RfZmlsZSkgJChwa2NzN190ZXN0X2NlcnRfMSkKLQkkKE9QRU5TU0wpIHNtaW1lIC1zaWduIC1iaW5hcnkgLWluIHBrY3M3X2RhdGEuYmluIC1vdXQgJEAgLW1kIHNoYTI1NiAtc2lnbmVyIHBrY3M3LXJzYS1zaGEyNTYtMS5wZW0gLW5vY2VydHMgLW5vYXR0ciAtbm9kZXRhY2ggLW91dGZvcm0gREVSIC1vdXQgJEAKLWFsbF9maW5hbCArPSBwa2NzN19kYXRhX3dpdGhfc2lnbmF0dXJlLmRlcgotCi0jIHBrY3M3IHNpZ25hdHVyZSBmaWxlIHdpdGggdHdvIHNpZ25lcnMKLXBrY3M3X2RhdGFfbXVsdGlwbGVfc2lnbmVkLmRlcjogJChwa2NzN190ZXN0X2ZpbGUpICQocGtjczdfdGVzdF9jZXJ0XzEpICQocGtjczdfdGVzdF9jZXJ0XzIpCi0JJChPUEVOU1NMKSBzbWltZSAtc2lnbiAtYmluYXJ5IC1pbiBwa2NzN19kYXRhLmJpbiAtb3V0ICRAIC1tZCBzaGEyNTYgLXNpZ25lciBwa2NzNy1yc2Etc2hhMjU2LTEucGVtIC1zaWduZXIgcGtjczctcnNhLXNoYTI1Ni0yLnBlbSAtbm9jZXJ0cyAtbm9hdHRyIC1vdXRmb3JtIERFUiAtb3V0ICRACi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9tdWx0aXBsZV9zaWduZWQuZGVyCi0KLSMgcGtjczcgc2lnbmF0dXJlIGZpbGUgd2l0aCB0aHJlZSBzaWduZXJzCi1wa2NzN19kYXRhXzNfc2lnbmVkLmRlcjogJChwa2NzN190ZXN0X2ZpbGUpICQocGtjczdfdGVzdF9jZXJ0XzEpICQocGtjczdfdGVzdF9jZXJ0XzIpICQocGtjczdfdGVzdF9jZXJ0XzMpCi0JJChPUEVOU1NMKSBzbWltZSAtc2lnbiAtYmluYXJ5IC1pbiBwa2NzN19kYXRhLmJpbiAtb3V0ICRAIC1tZCBzaGEyNTYgLXNpZ25lciBwa2NzNy1yc2Etc2hhMjU2LTEucGVtIC1zaWduZXIgcGtjczctcnNhLXNoYTI1Ni0yLnBlbSAtc2lnbmVyIHBrY3M3LXJzYS1zaGEyNTYtMy5wZW0gLW5vY2VydHMgLW5vYXR0ciAtb3V0Zm9ybSBERVIgLW91dCAkQAotYWxsX2ZpbmFsICs9IHBrY3M3X2RhdGFfM19zaWduZWQuZGVyCi0KLSMgcGtjczcgc2lnbmF0dXJlIGZpbGUgd2l0aCBtdWx0aXBsZSBjZXJ0aWZpY2F0ZXMKLXBrY3M3X2RhdGFfbXVsdGlwbGVfY2VydHNfc2lnbmVkLmRlcjogJChwa2NzN190ZXN0X2ZpbGUpICQocGtjczdfdGVzdF9jZXJ0XzEpICQocGtjczdfdGVzdF9jZXJ0XzIpCi0JJChPUEVOU1NMKSBzbWltZSAtc2lnbiAtYmluYXJ5IC1pbiBwa2NzN19kYXRhLmJpbiAtb3V0ICRAIC1tZCBzaGEyNTYgLXNpZ25lciBwa2NzNy1yc2Etc2hhMjU2LTEucGVtIC1zaWduZXIgcGtjczctcnNhLXNoYTI1Ni0yLnBlbSAtbm9hdHRyIC1vdXRmb3JtIERFUiAtb3V0ICRACi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9tdWx0aXBsZV9jZXJ0c19zaWduZWQuZGVyCi0KLSMgcGtjczcgc2lnbmF0dXJlIGZpbGUgd2l0aCBjb3JydXB0ZWQgQ0VSVAotcGtjczdfZGF0YV9zaWduZWRfYmFkY2VydC5kZXI6IHBrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlcgotCWNwIHBrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciAkQAotCWVjaG8gJ2ExJyB8IHh4ZCAtciAtcCB8IGRkIG9mPSRAIGJzPTEgc2Vlaz01NDcgY29udj1ub3RydW5jCi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9zaWduZWRfYmFkY2VydC5kZXIKLQotIyBwa2NzNyBzaWduYXR1cmUgZmlsZSB3aXRoIGNvcnJ1cHRlZCBzaWduZXIgaW5mbwotcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyLmRlcjogcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGEyNTYuZGVyCi0JY3AgcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGEyNTYuZGVyICRACi0JZWNobyAnYTEnIHwgeHhkIC1yIC1wIHwgZGQgb2Y9JEAgYnM9MSBzZWVrPTkxOCBjb252PW5vdHJ1bmMKLWFsbF9maW5hbCArPSBwa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIuZGVyCi0KLSMgcGtjczcgc2lnbmF0dXJlIGZpbGUgd2l0aCBpbnZhbGlkIHRhZyBpbiBzaWduZXJJbmZvWzFdLnNlcmlhbCBhZnRlciBsb25nIGlzc3VlciBuYW1lCi1wa2NzN19zaWduZXJJbmZvXzFfc2VyaWFsX2ludmFsaWRfdGFnX2FmdGVyX2xvbmdfbmFtZS5kZXI6IHBrY3M3X2RhdGFfbXVsdGlwbGVfc2lnbmVkLmRlcgotCWNwICQ8ICRACi0JZWNobyAnYTEnIHwgeHhkIC1yIC1wIHwgZGQgb2Y9JEAgYnM9MSBzZWVrPTQ5OCBjb252PW5vdHJ1bmMKLWFsbF9maW5hbCArPSBwa2NzN19zaWduZXJJbmZvXzFfc2VyaWFsX2ludmFsaWRfdGFnX2FmdGVyX2xvbmdfbmFtZS5kZXIKLQotIyBwa2NzNyBzaWduYXR1cmUgZmlsZSB3aXRoIGludmFsaWQgdGFnIGluIHNpZ25lckluZm9bMl0KLXBrY3M3X3NpZ25lckluZm9fMl9pbnZhbGlkX3RhZy5kZXI6IHBrY3M3X2RhdGFfM19zaWduZWQuZGVyCi0JY3AgJDwgJEAKLQllY2hvICdhMScgfCB4eGQgLXIgLXAgfCBkZCBvZj0kQCBicz0xIHNlZWs9ODEwIGNvbnY9bm90cnVuYwotYWxsX2ZpbmFsICs9IHBrY3M3X3NpZ25lckluZm9fMl9pbnZhbGlkX3RhZy5kZXIKLQotIyBwa2NzNyBzaWduYXR1cmUgZmlsZSB3aXRoIGNvcnJ1cHRlZCBzaWduZXIgaW5mb1sxXQotcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMV9iYWRzaXplLmRlcjogcGtjczdfZGF0YV8zX3NpZ25lZC5kZXIKLQljcCBwa2NzN19kYXRhXzNfc2lnbmVkLmRlciAkQAotCWVjaG8gJzcyJyB8IHh4ZCAtcCAtciB8IGRkIG9mPSRAIGJzPTEgc2Vlaz00MzggY29udj1ub3RydW5jCi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMV9iYWRzaXplLmRlcgotCi1wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2JhZHRhZy5kZXI6IHBrY3M3X2RhdGFfM19zaWduZWQuZGVyCi0JY3AgcGtjczdfZGF0YV8zX3NpZ25lZC5kZXIgJEAKLQllY2hvICdhMScgfCB4eGQgLXAgLXIgfCBkZCBvZj0kQCBicz0xIHNlZWs9NDQyIGNvbnY9bm90cnVuYwotYWxsX2ZpbmFsICs9IHBrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjFfYmFkdGFnLmRlcgotCi1wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2Z1enpiYWQuZGVyOiBwa2NzN19kYXRhXzNfc2lnbmVkLmRlcgotCWNwIHBrY3M3X2RhdGFfM19zaWduZWQuZGVyICRACi0JZWNobyAnYTEnIHwgeHhkIC1wIC1yIHwgZGQgb2Y9JEAgYnM9MSBzZWVrPTU1MCBjb252PW5vdHJ1bmMKLWFsbF9maW5hbCArPSBwa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2Z1enpiYWQuZGVyCi0KLSMgcGtjczcgc2lnbmF0dXJlIGZpbGUgd2l0aCBjb3JydXB0ZWQgc2lnbmVyIGluZm9bMl0KLXBrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjJfYmFkc2l6ZS5kZXI6IHBrY3M3X2RhdGFfM19zaWduZWQuZGVyCi0JY3AgcGtjczdfZGF0YV8zX3NpZ25lZC5kZXIgJEAKLQllY2hvICc3Mid8IHh4ZCAtcCAtciB8IGRkIG9mPSRAIGJzPTEgc2Vlaz04MTMgY29udj1ub3RydW5jCi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMl9iYWRzaXplLmRlcgotCi1wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIyX2JhZHRhZy5kZXI6IHBrY3M3X2RhdGFfM19zaWduZWQuZGVyCi0JY3AgcGtjczdfZGF0YV8zX3NpZ25lZC5kZXIgJEAKLQllY2hvICdhMSd8IHh4ZCAtcCAtciB8IGRkIG9mPSRAIGJzPTEgc2Vlaz04MTcgY29udj1ub3RydW5jCi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMl9iYWR0YWcuZGVyCi0KLXBrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjJfZnV6emJhZC5kZXI6IHBrY3M3X2RhdGFfM19zaWduZWQuZGVyCi0JY3AgcGtjczdfZGF0YV8zX3NpZ25lZC5kZXIgJEAKLQllY2hvICdhMSd8IHh4ZCAtcCAtciB8IGRkIG9mPSRAIGJzPTEgc2Vlaz05MjUgY29udj1ub3RydW5jCi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMl9mdXp6YmFkLmRlcgotCi0jIHBrY3M3IGZpbGUgd2l0aCB2ZXJzaW9uIDIKLXBrY3M3X2RhdGFfY2VydF9zaWduZWRfdjIuZGVyOiBwa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIKLQljcCBwa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIgJEAKLQllY2hvICcwMicgfCB4eGQgLXIgLXAgfCBkZCBvZj0kQCBicz0xIHNlZWs9MjUgY29udj1ub3RydW5jCi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF92Mi5kZXIKLQotcGtjczdfZGF0YV9jZXJ0X2VuY3J5cHRlZC5kZXI6ICQocGtjczdfdGVzdF9maWxlKSAkKHBrY3M3X3Rlc3RfY2VydF8xKQotCSQoT1BFTlNTTCkgc21pbWUgLWVuY3J5cHQgLWFlczI1NiAtaW4gcGtjczdfZGF0YS5iaW4gLWJpbmFyeSAtb3V0Zm9ybSBERVIgLW91dCAkQCBwa2NzNy1yc2Etc2hhMjU2LTEuY3J0Ci1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9jZXJ0X2VuY3J5cHRlZC5kZXIKLQotIyMgTmVnYXRpdmUgdGVzdHMKLSMgRm9yIHNvbWUgaW50ZXJlc3Rpbmcgc2l6ZXMsIHdoYXQgaGFwcGVucyBpZiB3ZSBtYWtlIHRoZW0gb2ZmLWJ5LW9uZT8KLXBrY3M3X3NpZ25lckluZm9faXNzdWVyX2ludmFsaWRfc2l6ZS5kZXI6IHBrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlcgotCWNwICQ8ICRACi0JZWNobyAnMzUnIHwgeHhkIC1yIC1wIHwgZGQgb2Y9JEAgc2Vlaz05MTkgYnM9MSBjb252PW5vdHJ1bmMKLWFsbF9maW5hbCArPSBwa2NzN19zaWduZXJJbmZvX2lzc3Vlcl9pbnZhbGlkX3NpemUuZGVyCi0KLXBrY3M3X3NpZ25lckluZm9fc2VyaWFsX2ludmFsaWRfc2l6ZS5kZXI6IHBrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlcgotCWNwICQ8ICRACi0JZWNobyAnMTUnIHwgeHhkIC1yIC1wIHwgZGQgb2Y9JEAgc2Vlaz05NzMgYnM9MSBjb252PW5vdHJ1bmMKLWFsbF9maW5hbCArPSBwa2NzN19zaWduZXJJbmZvX3NlcmlhbF9pbnZhbGlkX3NpemUuZGVyCi0KLSMgcGtjczcgc2lnbmF0dXJlIGZpbGUganVzdCB3aXRoIHNpZ25lZCBkYXRhCi1wa2NzN19kYXRhX2NlcnRfc2lnbmVkZGF0YV9zaGEyNTYuZGVyOiBwa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIKLQlkZCBpZj1wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIgb2Y9JEAgc2tpcD0xOSBicz0xCi1hbGxfZmluYWwgKz0gcGtjczdfZGF0YV9jZXJ0X3NpZ25lZGRhdGFfc2hhMjU2LmRlcgotCi0jIC0gdGVzdC1jYS12MS5jcnQ6IHYxICJDQSIsIHNpZ25zCi0jICAgICBzZXJ2ZXIxLXYxLmNydDogdjEgImludGVybWVkaWF0ZSBDQSIsIHNpZ25zCi0jICAgICAgICAgc2VydmVyMi12MSouY3J0OiBFRSBjZXJ0ICh3aXRob3V0IG9mIHdpdGggY2hhaW4gaW4gc2FtZSBmaWxlKQotCi10ZXN0LWNhLXYxLmNydDogJCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgdGVzdC1jYS5yZXEuc2hhMjU2Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIGlzX2NhPTEgc2VyaWFsX2hleD01M2EyYjY4ZTA1NDAwZTU1NWM5Mzk1ZTUgXAotCQlyZXF1ZXN0X2ZpbGU9dGVzdC1jYS5yZXEuc2hhMjU2IFwKLQkJc2VsZnNpZ249MSBpc3N1ZXJfbmFtZT0iQ049UG9sYXJTU0wgVGVzdCBDQSB2MSxPVT10ZXN0aW5nLE89UG9sYXJTU0wsQz1OTCIgXAotCQlpc3N1ZXJfa2V5PSQodGVzdF9jYV9rZXlfZmlsZV9yc2EpIGlzc3Vlcl9wd2Q9JCh0ZXN0X2NhX3B3ZF9yc2EpIFwKLQkJbm90X2JlZm9yZT0yMDE5MDIxMDE0NDQwMCBub3RfYWZ0ZXI9MjAyOTAyMTAxNDQ0MDAgbWQ9U0hBMjU2IHZlcnNpb249MSBcCi0JCW91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gdGVzdC1jYS12MS5jcnQKLQotc2VydmVyMS12MS5jcnQ6IHNlcnZlcjEua2V5IHRlc3QtY2EtdjEuY3J0Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHN1YmplY3Rfa2V5PSQ8IHNlcmlhbF9oZXg9NTNhMmI2YzcwNGNkNGQ4ZWJjODAwYmMxXAotCQlzdWJqZWN0X25hbWU9IkNOPXNlcnZlcjEvaW50LWNhLXYxLE9VPXRlc3RpbmcsTz1Qb2xhclNTTCxDPU5MIiAgXAotCQlpc3N1ZXJfY3J0PXRlc3QtY2EtdjEuY3J0IGlzc3Vlcl9rZXk9JCh0ZXN0X2NhX2tleV9maWxlX3JzYSkgXAotCQlpc3N1ZXJfcHdkPSQodGVzdF9jYV9wd2RfcnNhKSBcCi0JCW5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IFwKLQkJbWQ9U0hBMjU2IHZlcnNpb249MSBcCi0JCW91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gc2VydmVyMS12MS5jcnQKLQotc2VydmVyMi12MS5jcnQ6IHNlcnZlcjIua2V5IHNlcnZlcjEtdjEuY3J0Ci0JJChNQkVEVExTX0NFUlRfV1JJVEUpIHN1YmplY3Rfa2V5PSQ8IHNlcmlhbF9oZXg9NTNhMmI2ZDkyMzVkYmM0NTczZjliNzZjXAotCQlzdWJqZWN0X25hbWU9IkNOPXNlcnZlcjIsT1U9dGVzdGluZyxPPVBvbGFyU1NMLEM9TkwiICBcCi0JCWlzc3Vlcl9jcnQ9c2VydmVyMS12MS5jcnQgaXNzdWVyX2tleT1zZXJ2ZXIxLmtleSBcCi0JCW5vdF9iZWZvcmU9MjAxOTAyMTAxNDQ0MDYgbm90X2FmdGVyPTIwMjkwMjEwMTQ0NDA2IFwKLQkJbWQ9U0hBMjU2IHZlcnNpb249MSBcCi0JCW91dHB1dF9maWxlPSRACi1hbGxfZmluYWwgKz0gc2VydmVyMi12MS5jcnQKLQotc2VydmVyMi12MS1jaGFpbi5jcnQ6IHNlcnZlcjItdjEuY3J0IHNlcnZlcjEtdjEuY3J0Ci0JY2F0ICReID4gJEAKLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyBHZW5lcmF0ZSBDIGZvcm1hdCB0ZXN0IGNlcnRzIGhlYWRlcgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1URVNUX0NFUlRTX0hfSU5QVVRfRklMRVM9dGVzdC1jYTIuY3J0IFwKLQkJCQkJdGVzdC1jYTIuY3J0LmRlciBcCi0JCQkJCXRlc3QtY2EyLmtleS5lbmMgXAotCQkJCQl0ZXN0LWNhMi5rZXkuZGVyIFwKLQkJCQkJdGVzdC1jYS1zaGEyNTYuY3J0IFwKLQkJCQkJdGVzdC1jYS1zaGEyNTYuY3J0LmRlciBcCi0JCQkJCXRlc3QtY2Etc2hhMS5jcnQgXAotCQkJCQl0ZXN0LWNhLXNoYTEuY3J0LmRlciBcCi0JCQkJCXRlc3QtY2Eua2V5IFwKLQkJCQkJdGVzdC1jYS5rZXkuZGVyIFwKLQkJCQkJc2VydmVyNS5jcnQgXAotCQkJCQlzZXJ2ZXI1LmNydC5kZXIgXAotCQkJCQlzZXJ2ZXI1LmtleSBcCi0JCQkJCXNlcnZlcjUua2V5LmRlciBcCi0JCQkJCXNlcnZlcjItc2hhMjU2LmNydCBcCi0JCQkJCXNlcnZlcjItc2hhMjU2LmNydC5kZXIgXAotCQkJCQlzZXJ2ZXIyLmNydCBcCi0JCQkJCXNlcnZlcjIuY3J0LmRlciBcCi0JCQkJCXNlcnZlcjIua2V5IFwKLQkJCQkJc2VydmVyMi5rZXkuZGVyIFwKLQkJCQkJY2xpMi5jcnQgXAotCQkJCQljbGkyLmNydC5kZXIgXAotCQkJCQljbGkyLmtleSBcCi0JCQkJCWNsaTIua2V5LmRlciBcCi0JCQkJCWNsaS1yc2Etc2hhMjU2LmNydCBcCi0JCQkJCWNsaS1yc2Etc2hhMjU2LmNydC5kZXIgXAotCQkJCQljbGktcnNhLmtleSBcCi0JCQkJCWNsaS1yc2Eua2V5LmRlcgotLi4vc3JjL3Rlc3RfY2VydHMuaDogLi4vc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2NlcnRfbWFjcm9zLnB5IFwKLQkJCQkJICQoVEVTVF9DRVJUU19IX0lOUFVUX0ZJTEVTKQotCS4uL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jZXJ0X21hY3Jvcy5weSAtLW91dHB1dCAkQCBcCi0JCQkJLS1zdHJpbmcgVEVTVF9DQV9DUlRfRUNfUEVNPXRlc3QtY2EyLmNydCBcCi0JCQkJLS1iaW5hcnkgVEVTVF9DQV9DUlRfRUNfREVSPXRlc3QtY2EyLmNydC5kZXIgXAotCQkJCS0tc3RyaW5nIFRFU1RfQ0FfS0VZX0VDX1BFTT10ZXN0LWNhMi5rZXkuZW5jIFwKLQkJCQktLXBhc3N3b3JkIFRFU1RfQ0FfUFdEX0VDX1BFTT1Qb2xhclNTTFRlc3QgXAotCQkJCS0tYmluYXJ5IFRFU1RfQ0FfS0VZX0VDX0RFUj10ZXN0LWNhMi5rZXkuZGVyIFwKLQkJCQktLXN0cmluZyBURVNUX0NBX0NSVF9SU0FfU0hBMjU2X1BFTT10ZXN0LWNhLXNoYTI1Ni5jcnQgXAotCQkJCS0tYmluYXJ5IFRFU1RfQ0FfQ1JUX1JTQV9TSEEyNTZfREVSPXRlc3QtY2Etc2hhMjU2LmNydC5kZXIgXAotCQkJCS0tc3RyaW5nIFRFU1RfQ0FfQ1JUX1JTQV9TSEExX1BFTT10ZXN0LWNhLXNoYTEuY3J0IFwKLQkJCQktLWJpbmFyeSBURVNUX0NBX0NSVF9SU0FfU0hBMV9ERVI9dGVzdC1jYS1zaGExLmNydC5kZXIgXAotCQkJCS0tc3RyaW5nIFRFU1RfQ0FfS0VZX1JTQV9QRU09dGVzdC1jYS5rZXkgXAotCQkJCS0tcGFzc3dvcmQgVEVTVF9DQV9QV0RfUlNBX1BFTT1Qb2xhclNTTFRlc3QgXAotCQkJCS0tYmluYXJ5IFRFU1RfQ0FfS0VZX1JTQV9ERVI9dGVzdC1jYS5rZXkuZGVyIFwKLQkJCQktLXN0cmluZyBURVNUX1NSVl9DUlRfRUNfUEVNPXNlcnZlcjUuY3J0IFwKLQkJCQktLWJpbmFyeSBURVNUX1NSVl9DUlRfRUNfREVSPXNlcnZlcjUuY3J0LmRlciBcCi0JCQkJLS1zdHJpbmcgVEVTVF9TUlZfS0VZX0VDX1BFTT1zZXJ2ZXI1LmtleSBcCi0JCQkJLS1iaW5hcnkgVEVTVF9TUlZfS0VZX0VDX0RFUj1zZXJ2ZXI1LmtleS5kZXIgXAotCQkJCS0tc3RyaW5nIFRFU1RfU1JWX0NSVF9SU0FfU0hBMjU2X1BFTT1zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAotCQkJCS0tYmluYXJ5IFRFU1RfU1JWX0NSVF9SU0FfU0hBMjU2X0RFUj1zZXJ2ZXIyLXNoYTI1Ni5jcnQuZGVyIFwKLQkJCQktLXN0cmluZyBURVNUX1NSVl9DUlRfUlNBX1NIQTFfUEVNPXNlcnZlcjIuY3J0IFwKLQkJCQktLWJpbmFyeSBURVNUX1NSVl9DUlRfUlNBX1NIQTFfREVSPXNlcnZlcjIuY3J0LmRlciBcCi0JCQkJLS1zdHJpbmcgVEVTVF9TUlZfS0VZX1JTQV9QRU09c2VydmVyMi5rZXkgXAotCQkJCS0tYmluYXJ5IFRFU1RfU1JWX0tFWV9SU0FfREVSPXNlcnZlcjIua2V5LmRlciBcCi0JCQkJLS1zdHJpbmcgVEVTVF9DTElfQ1JUX0VDX1BFTT1jbGkyLmNydCBcCi0JCQkJLS1iaW5hcnkgVEVTVF9DTElfQ1JUX0VDX0RFUj1jbGkyLmNydC5kZXIgXAotCQkJCS0tc3RyaW5nIFRFU1RfQ0xJX0tFWV9FQ19QRU09Y2xpMi5rZXkgXAotCQkJCS0tYmluYXJ5IFRFU1RfQ0xJX0tFWV9FQ19ERVI9Y2xpMi5rZXkuZGVyIFwKLQkJCQktLXN0cmluZyBURVNUX0NMSV9DUlRfUlNBX1BFTT1jbGktcnNhLXNoYTI1Ni5jcnQgXAotCQkJCS0tYmluYXJ5IFRFU1RfQ0xJX0NSVF9SU0FfREVSPWNsaS1yc2Etc2hhMjU2LmNydC5kZXIgXAotCQkJCS0tc3RyaW5nIFRFU1RfQ0xJX0tFWV9SU0FfUEVNPWNsaS1yc2Eua2V5IFwKLQkJCQktLWJpbmFyeSBURVNUX0NMSV9LRVlfUlNBX0RFUj1jbGktcnNhLmtleS5kZXIKLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyBEaWZmaWUtSGVsbG1hbiBwYXJhbWV0ZXJzCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLWRoLjk5OC5wZW06Ci0JJChPUEVOU1NMKSBkaHBhcmFtIC1vdXQgJEAgLXRleHQgOTk4Ci0KLWRoLjk5OS5wZW06Ci0JJChPUEVOU1NMKSBkaHBhcmFtIC1vdXQgJEAgLXRleHQgOTk5Ci0KLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyBNZXRhIHRhcmdldHMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotYWxsX2ZpbmFsOiAkKGFsbF9maW5hbCkKLWFsbDogJChhbGxfaW50ZXJtZWRpYXRlKSAkKGFsbF9maW5hbCkKLQotLlBIT05ZOiBkZWZhdWx0IGFsbF9maW5hbCBhbGwKLS5QSE9OWToga2V5c19yc2FfYWxsCi0uUEhPTlk6IGtleXNfcnNhX3VuZW5jIGtleXNfcnNhX2VuY19iYXNpYwotLlBIT05ZOiBrZXlzX3JzYV9lbmNfcGtjczhfdjEga2V5c19yc2FfZW5jX3BrY3M4X3YyCi0uUEhPTlk6IGtleXNfcnNhX2VuY19iYXNpY18xMDI0IGtleXNfcnNhX2VuY19iYXNpY18yMDQ4IGtleXNfcnNhX2VuY19iYXNpY180MDk2Ci0uUEhPTlk6IGtleXNfcnNhX2VuY19wa2NzOF92MV8xMDI0IGtleXNfcnNhX2VuY19wa2NzOF92Ml8xMDI0Ci0uUEhPTlk6IGtleXNfcnNhX2VuY19wa2NzOF92MV8yMDQ4IGtleXNfcnNhX2VuY19wa2NzOF92Ml8yMDQ4Ci0uUEhPTlk6IGtleXNfcnNhX2VuY19wa2NzOF92MV80MDk2IGtleXNfcnNhX2VuY19wa2NzOF92Ml80MDk2Ci0uUEhPTlk6IHNlcnZlcjFfYWxsCi0KLSMgVGhlc2UgZmlsZXMgc2hvdWxkIG5vdCBiZSBjb21taXR0ZWQgdG8gdGhlIHJlcG9zaXRvcnkuCi1saXN0X2ludGVybWVkaWF0ZToKLQlAcHJpbnRmICclc1xuJyAkKGFsbF9pbnRlcm1lZGlhdGUpIHwgc29ydAotIyBUaGVzZSBmaWxlcyBzaG91bGQgYmUgY29tbWl0dGVkIHRvIHRoZSByZXBvc2l0b3J5IHNvIHRoYXQgdGhlIHRlc3QgZGF0YSBpcwotIyBhdmFpbGFibGUgdXBvbiBjaGVja291dCB3aXRob3V0IHJ1bm5pbmcgYSByYW5kb21pemVkIHByb2Nlc3MgZGVwZW5kaW5nIG9uCi0jIHRoaXJkLXBhcnR5IHRvb2xzLgotbGlzdF9maW5hbDoKLQlAcHJpbnRmICclc1xuJyAkKGFsbF9maW5hbCkgfCBzb3J0Ci0uUEhPTlk6IGxpc3RfaW50ZXJtZWRpYXRlIGxpc3RfZmluYWwKLQotIyMgUmVtb3ZlIGludGVybWVkaWF0ZSBmaWxlcwotY2xlYW46Ci0Jcm0gLWYgJChhbGxfaW50ZXJtZWRpYXRlKQotIyMgUmVtb3ZlIGFsbCBidWlsZCBwcm9kdWN0cywgZXZlbiB0aGUgb25lcyB0aGF0IGFyZSBjb21taXR0ZWQKLW5lYXQ6IGNsZWFuCi0Jcm0gLWYgJChhbGxfZmluYWwpCi0uUEhPTlk6IGNsZWFuIG5lYXQKLQotLlNFQ09OREFSWTogJChhbGxfaW50ZXJtZWRpYXRlKQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9SZWFkbWUteDUwOS50eHQgYi90ZXN0cy9kYXRhX2ZpbGVzL1JlYWRtZS14NTA5LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODJmOTNkMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL1JlYWRtZS14NTA5LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzNSArMCwwIEBACi1UaGlzIGRvY3VtZW50cyB0aGUgWC41MDkgQ0FzLCBjZXJ0aWZpY2F0ZXMsIGFuZCBDUkxTIHVzZWQgZm9yIHRlc3RpbmcuCi0KLUNlcnRpZmljYXRpb24gYXV0aG9yaXRpZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhlcmUgYXJlIHR3byBtYWluIENBcyBmb3IgdXNlIGFzIHRydXN0ZWQgcm9vdHM6Ci0tIHRlc3QtY2EuY3J0IGFrYSAiQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQSIKLSAgdXNlcyBhIFJTQS0yMDQ4IGtleQotICB0ZXN0LWNhLXNoYTEuY3J0IGFuZCB0ZXN0LWNhLXNoYTI1Ni5jcnQgdXNlIHRoZSBzYW1lIGtleSwgc2lnbmVkIHdpdGgKLSAgZGlmZmVyZW50IGhhc2hlcy4KLS0gdGVzdC1jYTIqLmNydCBha2EgIkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0EiCi0gIHVzZXMgYW4gRUMga2V5IHdpdGggTklTVCBQLTM4NCAoYWthIHNlY3AzODRyMSkKLSAgdmFyaWFudHMgdXNlZCB0byB0ZXN0IHRoZSBrZXlVc2FnZSBleHRlbnNpb24KLVRoZSBmaWxlcyB0ZXN0LWNhX2NhdDEyIGFuZCB0ZXN0LWNhX2NhdDIxIGNvbnRhaW4gdGhlbSBjb25jYXRlbmF0ZWQgYm90aCB3YXlzLgotCi1Ud28gaW50ZXJtZWRpYXRlIENBcyBhcmUgc2lnbmVkIGJ5IHRoZW06Ci0tIHRlc3QtaW50LWNhLmNydCAiQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EiCi0gIHVzZXMgUlNBLTQwOTYsIHNpZ25lZCBieSB0ZXN0LWNhMgotICAgIC0gdGVzdC1pbnQtY2EtZXhwLmNydCBpcyBhIGNvcHkgdGhhdCBpcyBleHBpcmVkCi0tIHRlc3QtaW50LWNhMi5jcnQgIkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgSW50ZXJtZWRpYXRlIEVDIENBIgotICB1c2VzIGFuIEVDIGtleSB3aXRoIE5JU1QgUC0zODQsIHNpZ25lZCBieSB0ZXN0LWNhCi0KLUEgdGhpcmQgaW50ZXJtZWRpYXRlIENBIGlzIHNpZ25lZCBieSB0ZXN0LWludC1jYTIuY3J0OgotLSB0ZXN0LWludC1jYTMuY3J0ICJDPVVLLCBPPW1iZWQgVExTLCBDTj1tYmVkIFRMUyBUZXN0IGludGVybWVkaWF0ZSBDQSAzIgotICB1c2VzIGFuIEVDIGtleSB3aXRoIE5JU1QgUC0yNTYsIHNpZ25lZCBieSB0ZXN0LWludC1jYTIKLQotRmluYWxseSwgb3RoZXIgQ0FzIGZvciBzcGVjaWZpYyBwdXJwb3NlczoKLS0gZW5jby1jYS1wcnN0ci5wZW06IGhhcyBpdHMgQ04gZW5jb2RlZCBhcyBhIHByaW50YWJsZSBzdHJpbmcsIGJ1dCBjaGlsZCBjZXJ0Ci0gIGVuY28tY2VydC11dGY4c3RyLnBlbSBoYXMgaXRzIGlzc3VlcidzIENOIGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcuCi0tIHRlc3QtY2EtdjEuY3J0OiB2MSAiQ0EiLCBzaWducwotICAgIHNlcnZlcjEtdjEuY3J0OiB2MSAiaW50ZXJtZWRpYXRlIENBIiwgc2lnbnMKLSAgICAgICAgc2VydmVyMi12MSouY3J0OiBFRSBjZXJ0ICh3aXRob3V0IG9mIHdpdGggY2hhaW4gaW4gc2FtZSBmaWxlKQotLSBrZXlVc2FnZS5kZWNpcGhlck9ubHkuY3J0OiBoYXMgdGhlIGRlY2lwaGVyT25seSBrZXlVc2FnZSBiaXQgc2V0Ci0KLUVuZC1lbnRpdHkgY2VydGlmaWNhdGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1TaG9ydCBpbmZvcm1hdGlvbiBmaWVsZHM6Ci0KLS0gbmFtZSBvciBwYXR0ZXJuCi0tIGlzc3VpbmcgQ0E6ICAgMSAgIC0+IHRlc3QtY2EuY3J0Ci0gICAgICAgICAgICAgICAgMiAgIC0+IHRlc3QtY2EyLmNydAotICAgICAgICAgICAgICAgIEkxICAtPiB0ZXN0LWludC1jYS5jcnQKLSAgICAgICAgICAgICAgICBJMiAgLT4gdGVzdC1pbnQtY2EyLmNydAotICAgICAgICAgICAgICAgIEkzICAtPiB0ZXN0LWludC1jYTMuY3J0Ci0gICAgICAgICAgICAgICAgTyAgIC0+IG90aGVyCi0tIGtleSB0eXBlOiBSIC0+IFJTQSwgRSAtPiBFQwotLSBDIC0+IHRoZXJlIGlzIGEgQ1JMIHJldm9raW5nIHRoaXMgY2VydCAoc2VlIGJlbG93KQotLSBMIC0+IENOPWxvY2FsaG9zdCAodXNlZnVsIGZvciBsb2NhbCB0ZXN0IHNlcnZlcnMpCi0tIFAxLCBQMiBpZiB0aGUgZmlsZSBpbmNsdWRlcyBwYXJlbnQgKHJlc3AuIHBhcmVudCArIGdyYW5kcGFyZW50KQotLSBmcmVlLWZvcm0gY29tbWVudHMKLQotTGlzdCBvZiBjZXJ0aWZpY2F0ZXM6Ci0KLS0gY2VydF9leGFtcGxlX211bHRpKi5jcnQ6IDEvTyBSOiBzdWJqZWN0QWx0TmFtZQotLSBjZXJ0X2V4YW1wbGVfd2lsZGNhcmQuY3J0OiAxIFI6IHdpbGRjYXJkIGluIHN1YmplY3QncyBDTgotLSBjZXJ0X21kKi5jcnQsIGNlcnRfc2hhKi5jcnQ6IDEgUjogc2lnbmF0dXJlIGhhc2gKLS0gY2VydF92MV93aXRoX2V4dC5jcnQ6IDEgUjogdjEgd2l0aCBleHRlbnNpb25zIChpbGxlZ2FsKQotLSBjbGkyLmNydDogMiBFOiBiYXNpYwotLSBjbGktcnNhLmtleSwgY2xpLXJzYS0qLmNydDogUlNBIGtleSB1c2VkIGZvciB0ZXN0IGNsaWVudHMsIHNpZ25lZCBieQotICB0aGUgUlNBIHRlc3QgQ0EuCi0tIGVuY28tY2VydC11dGY4c3RyLnBlbTogc2VlIGVuY28tY2EtcHJzdHIucGVtIGFib3ZlCi0tIHNlcnZlcjEqLmNydDogMSogUiBDKiBQMSo6IG1pc2MgKihzZXJ2ZXIxLXYxIHNlZSB0ZXN0LWNhLXYxLmNydCBhYm92ZSkKLSAgICAqQ1JMIGZvcjogLmNlcnRfdHlwZS5jcnQsIC5jcnQsIC5rZXlfdXNhZ2UuY3J0LCAudjEuY3J0Ci0gICAgUDEgb25seSBmb3IgX2NhLmNydAotLSBzZXJ2ZXIyLXYxKi5jcnQ6IE8gUjogc2VlIHRlc3QtY2EtdjEuY3J0IGFib3ZlCi0tIHNlcnZlcjIqLmNydDogMSBSIEw6IG1pc2MKLS0gc2VydmVyMy5jcnQ6IDEgRSBMOiBFQyBjZXJ0IHNpZ25lZCBieSBSU0EgQ0EKLS0gc2VydmVyNC5jcnQ6IDIgUiBMOiBSU0EgY2VydCBzaWduZWQgYnkgRUMgQ0EKLS0gc2VydmVyNSouY3J0OiAyKiBFIEw6IG1pc2MgKihleGNlcHQgLXNlbGZzaWduZWQgYW5kIC1zcy0qKQotICAgIC1zaGEqOiBoYXNoZXMKLSAgICAuZWt1KjogZXh0ZW5kZUtleVVzYWdlIChjbGkvc3J2ID0gd3d3IGNsaWVudC9zZXJ2ZXIsIGNzID0gY29kZXNpZ24sIGV0YykKLSAgICAua3UqOiBrZXlVc2FnZSAoZHMgPSBzaWduYXR1cmVzLCBrZS9rYSA9IGtleSBleGNoYW5nZS9hZ3JlZW1lbnQpCi0gICAgLnJlcSo6IENTUiwgbm90IGNlcnRpZmljYXRlCi0gICAgLWRlcio6IHRyYWlsaW5nIGJ5dGVzIGluIGRlciAoPykKLSAgICAtYmFkc2lnbi5jcnQ6IFM1IHdpdGggY29ycnVwdGVkIHNpZ25hdHVyZQotICAgIC1leHBpcmVkLmNydDogUzUgd2l0aCAibm90IGFmdGVyIiBkYXRlIGluIHRoZSBwYXN0Ci0gICAgLWZ1dHVyZS5jcnQ6IFM1IHdpdGggIm5vdCBiZWZvcmUiIGRhdGUgaW4gdGhlIGZ1dHVyZQotICAgIC1ub24tY29tcGxpYW50LmNydDogUzUsIFJGQyBub24tY29tcGxpYW50Ci0gICAgICAod2l0aCBmb3JiaWRkZW4gRUMgYWxnb3JpdGhtIGlkZW50aWZpZXIgTlVMTCBwYXJhbWV0ZXIpCi0gICAgICBnZW5lcmF0ZWQgYnkgKGJlZm9yZSBmaXgpOgotICAgICAgICBjZXJ0X3dyaXRlIHN1YmplY3Rfa2V5PXNlcnZlcjUua2V5IHN1YmplY3RfbmFtZT0iQ049VGVzdCBFQyBSRkMgbm9uLWNvbXBsaWFudCIgaXNzdWVyX2NydD10ZXN0LWNhMi5jcnQgaXNzdWVyX2tleT10ZXN0LWNhMi5rZXkKLSAgICAtc2VsZnNpZ25lZC5jcnQ6IFNlbGYtc2lnbmVkIGNlcnQgd2l0aCBTNSBrZXkKLSAgICAtc3MtZXhwaXJlZC5jcnQ6IFNlbGYtc2lnbmVkIGNlcnQgd2l0aCBTNSBrZXksIGV4cGlyZWQKLSAgICAtc3MtZm9yZ2VjYS5jcnQ6IENvcHkgb2YgdGVzdC1pbnQtY2EzIHNlbGYtc2lnbmVkIHdpdGggUzUga2V5Ci0tIHNlcnZlcjYtc3MtY2hpbGQuY3J0OiBPIEU6ICJjaGlsZCIgb2Ygbm9uLUNBIHNlcnZlcjUtc2VsZnNpZ25lZAotLSBzZXJ2ZXI2LmNydCwgc2VydmVyNi5wZW06IDIgRSBMIEM6IHJldm9rZWQKLS0gc2VydmVyNy5jcnQ6IEkxIEUgTCBQMSh1c3VhbGx5KTogRUMgc2lnbmVkIGJ5IFJTQSBzaWduZWQgYnkgRUMKLSAgICAtYmFkc2lnbi5jcnQ6IFM3IHdpdGggY29ycnVwdGVkIHNpZ25hdHVyZSArIEkxCi0gICAgLWV4cGlyZWQuY3J0OiBTNyB3aXRoICJub3QgYWZ0ZXIiIGRhdGUgaW4gdGhlIHBhc3QgKyBJMQotICAgIC1mdXR1cmUuY3J0OiBTNyB3aXRoICJub3QgYmVmb3JlIiBkYXRlIGluIHRoZSBmdXR1cmUgKyBJMQotICAgIF9pbnQtY2EtZXhwLmNydDogUzcgKyBleHBpcmVkIEkxCi0gICAgX2ludC1jYS5jcnQ6IFM3ICsgSTEKLSAgICBfaW50LWNhX2NhMi5jcnQ6IFM3ICsgSTEgKyAyCi0gICAgX2FsbF9zcGFjZS5jcnQ6IFM3ICsgSTEgYm90aCB3aXRoIG1pc3BsYWNlZCBzcGFjZXMgKGludmFsaWQgUEVNKQotICAgIF9wZW1fc3BhY2UuY3J0OiBTNyB3aXRoIG1pc3BsYWNlZCBzcGFjZSAoaW52YWxpZCBQRU0pICsgSTEKLSAgICBfdHJhaWxpbmdfc3BhY2UuY3J0OiBTNyArIEkxIGJvdGggd2l0aCB0cmFpbGluZyBzcGFjZSAodmFsaWQgUEVNKQotICAgIF9zcHVyaW91c19pbnQtY2EuY3J0OiBTNyArIEkyKHNwdXJpb3VzKSArIEkxCi0tIHNlcnZlcjgqLmNydDogSTIgUiBMOiBSU0Egc2lnbmVkIGJ5IEVDIHNpZ25lZCBieSBSU0EgKFAxIGZvciBfaW50LWNhMikKLS0gc2VydmVyOSouY3J0OiAxIFIgQyogTCBQMSo6IHNpZ25lZCB1c2luZyBSU0FTU0EtUFNTCi0gICAgKkNSTCBmb3I6IDkuY3J0LCAtYmFkc2lnbiwgLXdpdGgtY2EgKFAxKQotLSBzZXJ2ZXIxMC5jcnQ6IEkzIEUgTAotICAgIC1iYWRzaWduLmNydDogUzEwIHdpdGggY29ycnVwdGVkIHNpZ25hdHVyZQotICAgIC1ic19pbnQzLnBlbTogUzEwLWJhZHNpZ24gKyBJMwotICAgIF9pbnQzLWJzLnBlbTogUzEwICsgSTMtYmFkc2lnbgotICAgIF9pbnQzX2ludC1jYTIuY3J0OiBTMTAgKyBJMyArIEkyCi0gICAgX2ludDNfaW50LWNhMl9jYS5jcnQ6IFMxMCArIEkzICsgSTIgKyAxCi0gICAgX2ludDNfc3B1cmlvdXNfaW50LWNhMi5jcnQ6IFMxMCArIEkzICsgSTEoc3B1cmlvdXMpICsgSTIKLQotQ2VydGlmaWNhdGUgcmV2b2NhdGlvbiBsaXN0cwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1TaWduaW5nIENBIGluIHBhcmVudGhlc2VzIChzYW1lIG1lYW5pbmcgYXMgY2VydGlmaWNhdGVzKS4KLQotLSBjcmwtZWMtc2hhKi5wZW06ICgyKSBzZXJ2ZXI2LmNydAotLSBjcmwtZnV0dXJlLnBlbTogKDIpIHNlcnZlcjYuY3J0ICsgdW5rbm93bgotLSBjcmwtcnNhLXBzcy0qLnBlbTogKDEpIHNlcnZlcjl7LGJhZHNpZ24sd2l0aC1jYX0uY3J0ICsgY2VydF9zaGEzODQuY3J0ICsgdW5rbm93bgotLSBjcmwucGVtLCBjcmwtZnV0dXJlUmV2b2NhdGlvbkRhdGUucGVtLCBjcmxfZXhwaXJlZC5wZW06ICgxKSBzZXJ2ZXIxeywuY2VydF90eXBlLC5rZXlfdXNhZ2UsLnYxfS5jcnQgKyB1bmtub3duCi0tIGNybF9tZCoucGVtOiBjcmxfc2hhKi5wZW06ICgxKSBzYW1lIGFzIGNybC5wZW0KLS0gY3J0X2NhdF8qLnBlbTogKDErMikgY29uY2F0ZW5hdGlvbnMgaW4gdmFyaW91cyBvcmRlcnM6Ci0gICAgZWMgPSBjcmwtZWMtc2hhMjU2LnBlbSwgZWNmdXQgPSBjcmwtZnV0dXJlLnBlbQotICAgIHJzYSA9IGNybC5wZW0sIHJzYWJhZHBlbSA9IHNhbWUgd2l0aCBwZW0gZXJyb3IsIHJzYWV4cCA9IGNybF9leHBpcmVkLnBlbQotCi1Ob3RlOiBjcmxfZnV0dXJlIHdvdWxkIHJldm9rZSBzZXJ2ZXI5IGFuZCBjZXJ0X3NoYTM4NC5jcnQgaWYgc2lnbmVkIGJ5IENBIDEKLSAgICAgIGNybC1yc2EtcHNzKiB3b3VsZCByZXZva2Ugc2VydmVyNi5jcnQgaWYgc2lnbmVkIGJ5IENBIDIKLQotR2VuZXJhdGlvbgotLS0tLS0tLS0tLQotCi1OZXdlciB0ZXN0IGZpbGVzIGhhdmUgYmVlbiBnZW5lcmF0ZWQgdGhyb3VnaCBjb21tYW5kcyBpbiB0aGUgTWFrZWZpbGUuIFRoZQotcmVzdWx0aW5nIGZpbGVzIGFyZSBjb21taXR0ZWQgdG8gdGhlIHJlcG9zaXRvcnkgc28gdGhhdCB0aGUgdGVzdHMgY2FuCi1ydW4gd2l0aG91dCBoYXZpbmcgdG8gcmUtZG8gdGhlIGdlbmVyYXRpb24gYW5kIHNvIHRoYXQgdGhlIG91dHB1dCBpcyB0aGUKLXNhbWUgZm9yIGV2ZXJ5b25lICh0aGUgZ2VuZXJhdGlvbiBwcm9jZXNzIGlzIHJhbmRvbWl6ZWQpLgotCi1UaGUgb3JpZ2luIG9mIG9sZGVyIGNlcnRpZmljYXRlcyBoYXMgbm90IGJlZW4gcmVjb3JkZWQuCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX25vX2F1dGhvcml0eUtleUlkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX25vX2F1dGhvcml0eUtleUlkLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1MmQ5ZDEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9ub19hdXRob3JpdHlLZXlJZC5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9ub19pc3N1ZXIuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfbm9faXNzdWVyLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3NWVlM2YuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9ub19pc3N1ZXIuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfbm9fa2V5aWQuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfbm9fa2V5aWQuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGFjNWYwMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX25vX2tleWlkLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jb25mIGIvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWQuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjk2ZmFjOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotW3JlcV0KLWRpc3Rpbmd1aXNoZWRfbmFtZSA9IHJlcV9kaXN0aW5ndWlzaGVkX25hbWUKLXg1MDlfZXh0ZW5zaW9ucyA9IHYzX3JlcQotcHJvbXB0ID0gbm8KLVtyZXFfZGlzdGluZ3Vpc2hlZF9uYW1lXQotY291bnRyeU5hbWUgPSBOTAotb3JnYW5pemF0aW9uYWxVbml0TmFtZSA9IFBvbGFyU1NMCi1jb21tb25OYW1lID0gUG9sYXJTU0wgVGVzdCBDQQotW3YzX3JlcV0KLXN1YmplY3RLZXlJZGVudGlmaWVyID0gaGFzaAotYXV0aG9yaXR5S2V5SWRlbnRpZmllciA9IGtleWlkOmFsd2F5cyxpc3N1ZXI6YWx3YXlzCi1bdjNfcmVxX2F1dGhvcml0eUtleUlkX25vX2tleWlkXQotc3ViamVjdEtleUlkZW50aWZpZXIgPSBoYXNoCi1hdXRob3JpdHlLZXlJZGVudGlmaWVyID0gaXNzdWVyOmFsd2F5cwotW3YzX3JlcV9hdXRob3JpdHlLZXlJZF9ub19pc3N1ZXJdCi1zdWJqZWN0S2V5SWRlbnRpZmllciA9IGhhc2gKLWF1dGhvcml0eUtleUlkZW50aWZpZXIgPSBrZXlpZDphbHdheXMKLVt2M19yZXFfbm9fYXV0aG9yaXR5S2V5SWRdCi1zdWJqZWN0S2V5SWRlbnRpZmllciA9IGhhc2gKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNmNhNDY5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9pc3N1ZXJfdGFnMV9tYWxmb3JtZWQuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2lzc3Vlcl90YWcxX21hbGZvcm1lZC5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTNmNTc4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2lzc3Vlcl90YWcxX21hbGZvcm1lZC5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfaXNzdWVyX3RhZzJfbWFsZm9ybWVkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9pc3N1ZXJfdGFnMl9tYWxmb3JtZWQuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWM4NTE5Yi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9pc3N1ZXJfdGFnMl9tYWxmb3JtZWQuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2tleWlkX3RhZ19sZW5fbWFsZm9ybWVkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9rZXlpZF90YWdfbGVuX21hbGZvcm1lZC5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Njk0OTNlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2tleWlkX3RhZ19sZW5fbWFsZm9ybWVkLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9rZXlpZF90YWdfbWFsZm9ybWVkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9rZXlpZF90YWdfbWFsZm9ybWVkLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlMzYwODYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfa2V5aWRfdGFnX21hbGZvcm1lZC5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfbGVuZ3RoX21hbGZvcm1lZC5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfbGVuZ3RoX21hbGZvcm1lZC5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NWQ1ZGQwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2xlbmd0aF9tYWxmb3JtZWQuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3NlcXVlbmNlX3RhZ19tYWxmb3JtZWQuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3NlcXVlbmNlX3RhZ19tYWxmb3JtZWQuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDVhYzhmNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9zZXF1ZW5jZV90YWdfbWFsZm9ybWVkLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9zbl9sZW5fbWFsZm9ybWVkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9zbl9sZW5fbWFsZm9ybWVkLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwOWZjZjIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfc25fbGVuX21hbGZvcm1lZC5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfc25fdGFnX21hbGZvcm1lZC5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfc25fdGFnX21hbGZvcm1lZC5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2ZiMWUzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3NuX3RhZ19tYWxmb3JtZWQuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3RhZ19sZW5fbWFsZm9ybWVkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF90YWdfbGVuX21hbGZvcm1lZC5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWUxZjRiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3RhZ19sZW5fbWFsZm9ybWVkLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF90YWdfbWFsZm9ybWVkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF90YWdfbWFsZm9ybWVkLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzMDYzZjguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfdGFnX21hbGZvcm1lZC5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX2NpZC50eHQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfY2lkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODA0OGFlYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfY2lkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gQ2xpZW50LCBDSUQgMHhCRUVGCi1BaFVBQUg4QUFBOEFBQVE4QUFBQUFGNk1aVVBNcUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJoN2g4L2FwckxOMWZTMEt3TGtaektjc2E1TE50RFc3c1l1N2QxejdmTmV0dVJqTEpwWC9BMW1UU3FlQlk3bGk4QUFBQUFBQU03TUlJRE56Q0NBaCtnQXdJQkFnSUJBakFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY05NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNRk5vOTNuelIzUkJOZEpjcmlackE1NDVEbzhTczg2RXhiUVd1VE5vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6TnRTait1R3hkdGlRd1dHMFpsSTJvaVpUcXF0MFhnZDlHWUxiS3RnZm9Oa05IQzFKWnZkYkpYTkc2QXVLVDJrTXRRQ1E0ZHFDRUdaOXJsUXJpMlY1a2FIaVljUE5RRWtJN21nTThZdUcwa2EvMExpcUVRTWVmMWFvR2g1RUdBOFBoWXZhaTBSZTRoakdZaS9IWm8zNlhkaDk4eWVKS1FIRmtBNC9KL0V3eUVvTzc5YmV4OGNuYThjRlBYckVBanlhSFQ0UDZEU1lXOHR6UzFLVzJCR2lMSUNJYVRsYTB3K3czbGt2RWNmMzZoSUJNSmNDQXdFQUFhTk5NRXN3Q1FZRFZSMFRCQUl3QURBZEJnTlZIUTRFRmdRVXBRWG9aTGpjMzJBUFVCSk5ZS2hrcjAyTFE1TXdId1lEVlIwakJCZ3dGb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDNDY1RkpoUHFlbDd6Sm5nSElISnJxai93VkF4R0FGT1RGMzk2WEtBVEdBcCtIUkNxSjgxUnk2MENOSzFqRHprOGR2Nk02VUhvUzdSSUZpTS85clhRQ2JKZmlQRDV4TVRlalpwNW41VVlIQW14c3hEYWF6ZkE1RnVCaGtmb2tLSzZqRDRFcTkxQzk0eEdLYjZYNC9Wa2FQRjdjcW9CQncvYkh4YXdYYzBVRVBqcWF5aUJwQ1lVL3JKb1ZaZ0xxRlZQN1B4M3N2YTFuT3JOeDhyUFBJMWhKK1pPZzhtYWlQVHhIWm5CVkxha1NTTFF5L3NXZVd5YXpPMVJucmJ4anJiZ1F0WUt6MGUzbndHcHUxdzEzdmZja0ZtVVNCaEhYSDdBQVMvSHBLQzRJSDdHMkdBazMrbjhpU1NONzFzWnpweG9uUXdWYm9wTVpxTG1iQm0vN1dQTGNBQUpSWnRLMXBIUnV1L1V3K1k5MUtDYXFNQUhLV2VWSnZ1cWppVGFFbHJhaHN4K0hZb1oxKzhpNUJNWTFOT0wveTRUUjlxWmR4WSs3TnZOckVkRW9GZ2NJL0RxVU4wYUtzMHpBSVBtazkycEZuam5icm81THhXUm0zSmJ0SUZjRzZQZE4rOWFBYklTcmV3dDZFRVJJUGhTNDVhSCtTaTA4Tkxydk0rQ2NFQmZxQkJxT0QrNExDWnFUOG5EQnRBTEp5UnFpeWtpYnNBQUZSZ0FBQUFGNk1aVU5hazc0QmhiY2d2WjJNOFdoWktqUXlDaXg3R0p6UnM0U3FuRDdpWG94bFE3WVhqc1ZJMEsveHlNT0pQa1Q5WmNQRWkvMmpIR0l0ZTFaZHVXNEN2dThDM3EwQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUJ3QUFBUUFBQUFBQUF3QUFBQT09CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfY2lwaGVyc3VpdGUudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX2NpcGhlcnN1aXRlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmYzNjQ3MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfY2lwaGVyc3VpdGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBUTFMtUlNBLVdJVEgtQUVTLTI1Ni1DQ00tOAotQWhVQUFIOEFBQTRBQUFROEFBQUFBRjZLNHluQW9RQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFETEJJUVVyclBoN2p4WXo5ZTU1Y0p2ZnBPa3VCZjJaaVZvdmxZYTFEa3diaW1wNXEvQ29XSW40OEMweDNZajZOMEFBQUFBQUFNN01JSUROekNDQWgrZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBME1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZObzkzbnpSM1JCTmRKY3JpWnJBNTQ1RG84U3M4NkV4YlFXdVROb3dDSXArNGVhNWFuVXJTUTd5MXllajRrbXZ5Mk5Ld2s5WGZnSm1TTW5MQW9mYUhhNm96bXlSeVd2UDdCQkZLek50U2ordUd4ZHRpUXdXRzBabEkyb2laVHFxdDBYZ2Q5R1lMYkt0Z2ZvTmtOSEMxSlp2ZGJKWE5HNkF1S1Qya010UUNRNGRxQ0VHWjlybFFyaTJWNWthSGlZY1BOUUVrSTdtZ004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQaFl2YWkwUmU0aGpHWWkvSFpvMzZYZGg5OHllSktRSEZrQTQvSi9Fd3lFb083OWJleDhjbmE4Y0ZQWHJFQWp5YUhUNFA2RFNZVzh0elMxS1cyQkdpTElDSWFUbGEwdyt3M2xrdkVjZjM2aElCTUpjQ0F3RUFBYU5OTUVzd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Rm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQzQ2NUZKaFBxZWw3ekpuZ0hJSEpycWovd1ZBeEdBRk9URjM5NlhLQVRHQXArSFJDcUo4MVJ5NjBDTksxakR6azhkdjZNNlVIb1M3UklGaU0vOXJYUUNiSmZpUEQ1eE1UZWpacDVuNVVZSEFteHN4RGFhemZBNUZ1QmhrZm9rS0s2akQ0RXE5MUM5NHhHS2I2WDQvVmthUEY3Y3FvQkJ3L2JIeGF3WGMwVUVQanFheWlCcENZVS9ySm9WWmdMcUZWUDdQeDNzdmExbk9yTng4clBQSTFoSitaT2c4bWFpUFR4SFpuQlZMYWtTU0xReS9zV2VXeWF6TzFSbnJieGpyYmdRdFlLejBlM253R3B1MXcxM3ZmY2tGbVVTQmhIWEg3QUFTL0hwS0M0SUg3RzJHQWszK244aVNTTjcxc1p6cHhvblF3VmJvcE1acUxtYkJtLzdXUExjQUFKUUJpUVRhMTQ4eDFYUXlHdDl2VTJKeEFISVo5SHhMUjg3UGV3cFRhc2xQMHFKNEZLNmNpYkcvVTRBQ1ZyaUdRTXBOa0pvNnhSUm41ZEd5S0U1TDVpcWNMUVo0endjSlQ1ME5ZbFZRcXpsWFBBck9hQXpqVkFYNGsrVHdML1ZtTmVwbW4zd3ZyZWdBQURlaUdzdnZiYUF3MlA5ZmhDZ3dYNkJtMFlOemtXUXNOd1dFTmE2R29aTHp2TU01MUc0NDYxMWZGbktvQUFGUmdBQUFBRjZLNHlrc012TVYxOXFScStlTm9rR24wajlRNXRqRTg4RUs4amZNN2drc1hvcmpLUjZ6aFhodHRGR0lGa05OQW1tS3V1RFFHVm1YMXlDb0hpSkZvblVBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQXdBQUFRQUFBQUFBQWdBQUFBPT0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2NsaV9kZWYudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX2RlZi50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5M2RhMmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX2RlZi50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIENsaWVudCBjb250ZXh0IHdpdGggZGVmYXVsdCBNYmVkVExTIGNvbmZpZ3VyYXRpb24KLUFoVUFBSDhBQUE0QUFBUThBQUFBQUY2SFF4M01xQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0cyUWJIYlVqOGVHcGR4NUtWSWViaXdrMGp2Umo5LzNtNkJPU3pwQTdxQlhlRXVuaHFyM0QxMU5FN2NpR2plSE1BQUFBQUFBTTdNSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTm93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3pOdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UGhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWFIVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJnd0ZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUM0NjVGSmhQcWVsN3pKbmdISUhKcnFqL3dWQXhHQUZPVEYzOTZYS0FUR0FwK0hSQ3FKODFSeTYwQ05LMWpEems4ZHY2TTZVSG9TN1JJRmlNLzlyWFFDYkpmaVBENXhNVGVqWnA1bjVVWUhBbXhzeERhYXpmQTVGdUJoa2Zva0tLNmpENEVxOTFDOTR4R0tiNlg0L1ZrYVBGN2Nxb0JCdy9iSHhhd1hjMFVFUGpxYXlpQnBDWVUvckpvVlpnTHFGVlA3UHgzc3ZhMW5Pck54OHJQUEkxaEorWk9nOG1haVBUeEhabkJWTGFrU1NMUXkvc1dlV3lhek8xUm5yYnhqcmJnUXRZS3owZTNud0dwdTF3MTN2ZmNrRm1VU0JoSFhIN0FBUy9IcEtDNElIN0cyR0FrMytuOGlTU043MXNaenB4b25Rd1Zib3BNWnFMbWJCbS83V1BMY0FBSlRmUUMyRWs5MUlOUDVpaEhOekltUE9BSEpDaytZVE8vcFF1RW5OV3dYYmRtS0FpK0lScDY3MWlBd3Rwa2pTeENCWFZ6S1g5MjVGMUE2NmNhQ09RcHRsdys5ekZ1a0RRZ2JsTTJKeUFKTEcwajZCNFJ0QlREV0o4WlRNVVBIVW9MSm9FcG04QVBaZ1JpLy9ETVJ5Q0tQOXBiQkxHbER6Z1V2bDB3MTFMekJBbEpIa1dhdTVOb3FRQmxHN3c0SEZyS3dlb3Zza0FBRlJnQUFBQUY2SFF4MjQ4TDc3UkgwWjk3M3RTWU5ROHpCc3o4NjFDWkc1L1QwOVRKejNYb2RESGUvaUorY2dYYjVBbjN6VGRuVEJ0dzNFV0FiNjhUK2dDRTMzR044QUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUF3QUFBUUFBQUFBQUFnQUFBQT09CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfbWluX2NmZy50eHQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfbWluX2NmZy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1MmI0NzQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX21pbl9jZmcudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBNaW5pbWFsIGNvbmZpZ3VyYXRpb24KLUFoVUFBQU1BQUFBQUFBT2VBQUFBQUY2TFpsTE1xQUFnVUdrdFBtcFNQYnpSUGlwZUNwWUp0cDVTTklJalRyM1IxMjFXRjlBZVdONHRtS2JSaGh2K3lQTWpZMHlXUHJITHk3bExMaHdORkJ3Q0Q2ZVEwVUxaWjE1RmkyUmhhZS80WmtBUjBCTjJpQ01BQUFBQUFBTTdNSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTm93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3pOdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UGhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWFIVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJnd0ZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUM0NjVGSmhQcWVsN3pKbmdISUhKcnFqL3dWQXhHQUZPVEYzOTZYS0FUR0FwK0hSQ3FKODFSeTYwQ05LMWpEems4ZHY2TTZVSG9TN1JJRmlNLzlyWFFDYkpmaVBENXhNVGVqWnA1bjVVWUhBbXhzeERhYXpmQTVGdUJoa2Zva0tLNmpENEVxOTFDOTR4R0tiNlg0L1ZrYVBGN2Nxb0JCdy9iSHhhd1hjMFVFUGpxYXlpQnBDWVUvckpvVlpnTHFGVlA3UHgzc3ZhMW5Pck54OHJQUEkxaEorWk9nOG1haVBUeEhabkJWTGFrU1NMUXkvc1dlV3lhek8xUm5yYnhqcmJnUXRZS3owZTNud0dwdTF3MTN2ZmNrRm1VU0JoSFhIN0FBUy9IcEtDNElIN0cyR0FrMytuOGlTU043MXNaenB4b25Rd1Zib3BNWnFMbWJCbS83V1BMZGVpMlpTUXdMcHBUcXpzN2tpZU9ZUVI2RGpKSXRtUTBOL1JTMyt6VHI5d0Y2TFpsTDZTUXBMZXdteWphN2pYeU9XdVVxSjZ6SlE1YjdGZkE0UHh0aGxBQUFCQUFBQUFBQUNBQUE9CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfbm9fYWxwbi50eHQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfbm9fYWxwbi50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1OTIzZjYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX25vX2FscG4udHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0vLyBXaXRob3V0IE1CRURUTFNfU1NMX0FMUE4KLUFoVUFBSDhBQUFZQUFBUThBQUFBQUY2TERTek1xQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjFsQ1VPOEIvODA1VXpDT0xaeldEQUVBOGFuZkxwYnVXVHJuRlNSMnB1Wmt0dkVpUjhuWGRBVE4weUtTOTRvU0FBQUFBQUFBTTdNSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTm93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3pOdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UGhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWFIVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJnd0ZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUM0NjVGSmhQcWVsN3pKbmdISUhKcnFqL3dWQXhHQUZPVEYzOTZYS0FUR0FwK0hSQ3FKODFSeTYwQ05LMWpEems4ZHY2TTZVSG9TN1JJRmlNLzlyWFFDYkpmaVBENXhNVGVqWnA1bjVVWUhBbXhzeERhYXpmQTVGdUJoa2Zva0tLNmpENEVxOTFDOTR4R0tiNlg0L1ZrYVBGN2Nxb0JCdy9iSHhhd1hjMFVFUGpxYXlpQnBDWVUvckpvVlpnTHFGVlA3UHgzc3ZhMW5Pck54OHJQUEkxaEorWk9nOG1haVBUeEhabkJWTGFrU1NMUXkvc1dlV3lhek8xUm5yYnhqcmJnUXRZS3owZTNud0dwdTF3MTN2ZmNrRm1VU0JoSFhIN0FBUy9IcEtDNElIN0cyR0FrMytuOGlTU043MXNaenB4b25Rd1Zib3BNWnFMbWJCbS83V1BMY0FBSlFWVUkvV3d0M3E0WGlxTDc0d0Nta2hBSEtqMFlnQ3ZqWmkzR0t3MHM3UEpxalp6ekx0K091cm9DOFEyWGVEZjVuS0trOGprb2xaK2RYVWZ0c1BQaXpGZ2IyaEd1WWE0Tmh4WGppR2xVcEZFb1htN3I3OFN3R2ZXeFJnSDV2Sms2VzNUZG9ka3hUWmtqTW9XamxDMlBBTk9IUGVDbHcwc3pCbWx5NytzODlMRlpxbkNYZ3l4RTh4bHYrbDVJWVNFUFNqN1VzbUFBRlJnQUFBQUY2TERTd1d0MFFXZ21OZzRadjJ5WWhmNFBkZXhwaS9RVElxV3lEMkFRVmpYb3NOTExLMXZ6L3VwRkhySmxpempINXVTQlVKQ3BRWkpjenJCZ3hCbUdvQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUF3QUFBUUFBQUFBQUFnQUEKLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX25vX2tlZXBfY2VydC50eHQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfbm9fa2VlcF9jZXJ0LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzZkMGMzYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9jbGlfbm9fa2VlcF9jZXJ0LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gV2l0aG91dCBNQkVEVExTX1NTTF9LRUVQX1BFRVJfQ0VSVElGSUNBVEUKLUFoVUFBQU1BQUFBQUFBQ0NBQUFBQUY2TUtoVE1xQUFnU0tDcVhyY3JtanFPQnB4c0dPM2l0UUIwOVlnc1NKd1htWkIxMlFsQit3d2hpb2YwbXpBTjBodXBrTHh1NFl5YzlTZ3lGb0VEUEtKazhUaVJvOGJPMnJrRWZQSXRCNWxVRmtKd3pkZXVHVk1BQUFBQUJpQ0F5OE1XcWxqNHZuSXYwbXN3SnZCMzVoeUNPWVdaK2ZjWjZ0NUx6WmdYUGw2TUtoUnM2OWIrcHNpR1VBbzhPSzNmVTRIS09ITmRpMzZ0azIyK1NjY3RYb3dxRkV5dnpHY3ZidEkwVmZXTEtsT2xEditTd0MwOFpkQ05hK1JCWi9BQUFBRUFBQUFBQUFJQUFBPT0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2NsaV9ub19tZmwudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX25vX21mbC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkMDY4OTEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX25vX21mbC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIFdpdGhvdXQgTUJFRFRMU19TU0xfTUFYX0ZSQUdNRU5UX0xFTkdUSAotQWhVQUFIY0FBQTRBQUFRNkFBQUFBRjZMRExQTXFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBMGZ6R3pPMXlzbGpNZ1pyNGdkdWlndlJYcjJBSzVYOGo4YzZ2SFRPcGMybmNGUzNVTjJvandEMnRPYU0zKy9YSUFBQUFBQUFNN01JSUROekNDQWgrZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBME1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZObzkzbnpSM1JCTmRKY3JpWnJBNTQ1RG84U3M4NkV4YlFXdVROb3dDSXArNGVhNWFuVXJTUTd5MXllajRrbXZ5Mk5Ld2s5WGZnSm1TTW5MQW9mYUhhNm96bXlSeVd2UDdCQkZLek50U2ordUd4ZHRpUXdXRzBabEkyb2laVHFxdDBYZ2Q5R1lMYkt0Z2ZvTmtOSEMxSlp2ZGJKWE5HNkF1S1Qya010UUNRNGRxQ0VHWjlybFFyaTJWNWthSGlZY1BOUUVrSTdtZ004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQaFl2YWkwUmU0aGpHWWkvSFpvMzZYZGg5OHllSktRSEZrQTQvSi9Fd3lFb083OWJleDhjbmE4Y0ZQWHJFQWp5YUhUNFA2RFNZVzh0elMxS1cyQkdpTElDSWFUbGEwdyt3M2xrdkVjZjM2aElCTUpjQ0F3RUFBYU5OTUVzd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Rm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQzQ2NUZKaFBxZWw3ekpuZ0hJSEpycWovd1ZBeEdBRk9URjM5NlhLQVRHQXArSFJDcUo4MVJ5NjBDTksxakR6azhkdjZNNlVIb1M3UklGaU0vOXJYUUNiSmZpUEQ1eE1UZWpacDVuNVVZSEFteHN4RGFhemZBNUZ1QmhrZm9rS0s2akQ0RXE5MUM5NHhHS2I2WDQvVmthUEY3Y3FvQkJ3L2JIeGF3WGMwVUVQanFheWlCcENZVS9ySm9WWmdMcUZWUDdQeDNzdmExbk9yTng4clBQSTFoSitaT2c4bWFpUFR4SFpuQlZMYWtTU0xReS9zV2VXeWF6TzFSbnJieGpyYmdRdFlLejBlM253R3B1MXcxM3ZmY2tGbVVTQmhIWEg3QUFTL0hwS0M0SUg3RzJHQWszK244aVNTTjcxc1p6cHhvblF3VmJvcE1acUxtYkJtLzdXUExjQUFKTWlQYkU0NW9Bamc5UngwaVZuUURnMkFISEtycm1TTVRmVmlqZ1piZEwvWkZXWXZGTWlvYTd1cVcwTm1BMGJTVHhjc2llUmFybmRPcTVmSWRFSXptQWdHa2RheEphR05EVDEwNWd3d0l6VW5MUmFwZ1A2SDZJSW1TTUZQWFZwM1prczB6RmZycTdhUW5RTWdjOG81a1BxV3ExL2VZZmRxOGx5c1RPOFJnbGl2OTZsQS9wZTFTUW1QTDFtZENoQXdDYS80WEVBQVZHQUFBQmVpd3l6WEd6NHlQd0VndnEvVFdxMGRaWHZENm16RWJBdHkxb1pKSXZScGw2TERMT3lROTRNSXZTS3c3T0g0bWcrRE5MK1pXMHh6UWJLUWFsbG9VRzZBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQU1BQUFFQUFBQUFBQUlBQUFBPQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX25vX3BhY2tpbmcudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvY2xpX25vX3BhY2tpbmcudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTJiMWI2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2NsaV9ub19wYWNraW5nLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gV2l0aG91dCBEVExTIHBhY2tpbmcKLUFoVUFBSDhBQUE0QUFBUThBQUFBQUY2TENNL01xQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2ZsMHRYTm1zaElRRXFpRWZsUUduVlVLa0lGbDFvbi9NdTBwaldlczNYd1FnZHdteTl4TXpwVnlZVTVnQk9zT0VBQUFBQUFBTTdNSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTm93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3pOdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UGhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWFIVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJnd0ZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUM0NjVGSmhQcWVsN3pKbmdISUhKcnFqL3dWQXhHQUZPVEYzOTZYS0FUR0FwK0hSQ3FKODFSeTYwQ05LMWpEems4ZHY2TTZVSG9TN1JJRmlNLzlyWFFDYkpmaVBENXhNVGVqWnA1bjVVWUhBbXhzeERhYXpmQTVGdUJoa2Zva0tLNmpENEVxOTFDOTR4R0tiNlg0L1ZrYVBGN2Nxb0JCdy9iSHhhd1hjMFVFUGpxYXlpQnBDWVUvckpvVlpnTHFGVlA3UHgzc3ZhMW5Pck54OHJQUEkxaEorWk9nOG1haVBUeEhabkJWTGFrU1NMUXkvc1dlV3lhek8xUm5yYnhqcmJnUXRZS3owZTNud0dwdTF3MTN2ZmNrRm1VU0JoSFhIN0FBUy9IcEtDNElIN0cyR0FrMytuOGlTU043MXNaenB4b25Rd1Zib3BNWnFMbWJCbS83V1BMY0FBSlJUdmxFN05tTk5MREVTVUJvR0MrSzJBSElLQSsvbGhkUlZGNFljTXZ2cUNCWUZCNXRqMG95Q2lrZnRmak5idmpsOVlQR3FjUlhrNjY0WWllV3YvcHo4VTFGT0VOaXBialhGOWxGaGdlZEcyWGFuaC8yRndIWDV0eFlpSElKeEplTEVLQ1hwNVNqdDlYQnZRc3JyeXhMeVg5bCt6a0xLbTdiQ0FjcmZrNGgvWW9xeGVjQUk2M2lzRzl2bnJTN28wN2lELzNtT0FBRlJnQUFBQUY2TENNKzF1UnB5YW95Znp1TkdCSks5RGdCV0lXdHJQcHU3S004cXNDL0ZYb3NJei9ZSVBodmVaOFo0SVIwZy9NY0FNUXd6UW9LNXRTY1NFMEREM0J3QUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUF3RUFBUUFBQUFBQUFnQUFBQT09CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9kZWZfYjY0X2ZmLmJpbiBiL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2RlZl9iNjRfZmYuYmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NmFhODI3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2RlZl9iNjRfZmYuYmluCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0vLyBFbnN1cmUgdGhhdCB0aGUgYjY0IHBhcnNlciBjb250aW51ZXMgYWZ0ZXIgZW5jb3VudGVyaW5nIGEgMHhGRgotLy8gY2hhcmFjdGVyLiAgTm90ZSB0aGF0IHRoaXMgYnl0ZSBpcyBpbnZhbGlkIFVURi04LCBtYWtpbmcgdGhpcwotLy8gZW50aXJlIGZpbGUgaW52YWxpZCBVVEYtOC4gIFVzZSBjYXJlIHdoZW4gZWRpdGluZy4KLS8vIC0+IP8gPC0KLUFoVUFBSDhBQUE0QUFBQnRBQUFBQUY2SFF4M01xQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0cyUWJIYlVqOGVHcGR4NUtWSWViaXdrMGp2Umo5LzNtNkJPU3pwQTdxQlhlRXVuaHFyM0QxMU5FN2NpR2plSE1BQUFDQUFBQUFBQUFBQUFBQUFBQUFBVjZIUXgyNDhMNzdSSDBaOTczdFNZTlE4ekJzejg2MUNaRzUvVDA5VEp6M1hvZERIZS9pSitjZ1hiNUFuM3pUZG5UQnR3M0VXQWI2OFQrZ0NFMzNHTjhBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQXdBQUFRQUFBQUFBQWdBQUFBPT0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2RlZl9iNjRfdG9vX2JpZ18xLnR4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2RlZl9iNjRfdG9vX2JpZ18xLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdiZTA1Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9kZWZfYjY0X3Rvb19iaWdfMS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIENvbnRleHQgd2l0aCBhZGRlZCAnMTIzNCcgYXQgdGhlIGJlZ2lubmluZyB0byBzaW11bGF0ZSB0b28gbXVjaCBkYXRhIGluIHRoZSBiYXNlNjQgY29kZQotMTIzNEFoVUFBSDhBQUE0QUFBUThBQUFBQUY2SFF4M01xQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0cyUWJIYlVqOGVHcGR4NUtWSWViaXdrMGp2Umo5LzNtNkJPU3pwQTdxQlhlRXVuaHFyM0QxMU5FN2NpR2plSE1BQUFBQUFBTTdNSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTm93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3pOdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UGhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWFIVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJnd0ZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUM0NjVGSmhQcWVsN3pKbmdISUhKcnFqL3dWQXhHQUZPVEYzOTZYS0FUR0FwK0hSQ3FKODFSeTYwQ05LMWpEems4ZHY2TTZVSG9TN1JJRmlNLzlyWFFDYkpmaVBENXhNVGVqWnA1bjVVWUhBbXhzeERhYXpmQTVGdUJoa2Zva0tLNmpENEVxOTFDOTR4R0tiNlg0L1ZrYVBGN2Nxb0JCdy9iSHhhd1hjMFVFUGpxYXlpQnBDWVUvckpvVlpnTHFGVlA3UHgzc3ZhMW5Pck54OHJQUEkxaEorWk9nOG1haVBUeEhabkJWTGFrU1NMUXkvc1dlV3lhek8xUm5yYnhqcmJnUXRZS3owZTNud0dwdTF3MTN2ZmNrRm1VU0JoSFhIN0FBUy9IcEtDNElIN0cyR0FrMytuOGlTU043MXNaenB4b25Rd1Zib3BNWnFMbWJCbS83V1BMY0FBSlRmUUMyRWs5MUlOUDVpaEhOekltUE9BSEpDaytZVE8vcFF1RW5OV3dYYmRtS0FpK0lScDY3MWlBd3Rwa2pTeENCWFZ6S1g5MjVGMUE2NmNhQ09RcHRsdys5ekZ1a0RRZ2JsTTJKeUFKTEcwajZCNFJ0QlREV0o4WlRNVVBIVW9MSm9FcG04QVBaZ1JpLy9ETVJ5Q0tQOXBiQkxHbER6Z1V2bDB3MTFMekJBbEpIa1dhdTVOb3FRQmxHN3c0SEZyS3dlb3Zza0FBRlJnQUFBQUY2SFF4MjQ4TDc3UkgwWjk3M3RTWU5ROHpCc3o4NjFDWkc1L1QwOVRKejNYb2RESGUvaUorY2dYYjVBbjN6VGRuVEJ0dzNFV0FiNjhUK2dDRTMzR044QUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUF3QUFBUUFBQUFBQUFnQUFBQT09CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9kZWZfYjY0X3Rvb19iaWdfMi50eHQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9kZWZfYjY0X3Rvb19iaWdfMi50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlYzFkZDAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvZGVmX2I2NF90b29fYmlnXzIudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBDb250ZXh0IHdpdGggYWRkZWQgJzEyMzQnIGluIHRoZSBtaWRkbGUgb2YgY29kZSB0byBzaW11bGF0ZSB0b28gbXVjaCBkYXRhCi1BaFVBQUg4QUFBNEFBQVE4QUFBQUFGNkhReDNNcUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNHMlFiSGJVajhlR3BkeDVLVkllYml3azBqdlJqOS8zbTZCT1N6cEE3cUJYZUV1bmhxcjNEMTFORTdjaUdqZUhNQUFBQUFBQU03TUlJRE56Q0NBaCtnQXdJQkFnSUJBakFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY05NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNRk5vOTNuelIzUkJOZEpjcmlackE1NDVEbzhTczg2RXhiUVd1VE5vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6TnRTait1R3hkdGlRd1dHMFpsSTJvaVpUcXF0MFhnZDlHWUxiS3RnZm9Oa05IQzFKWnZkYkpYTkc2QXVLVDJrTXRRQ1E0ZHFDRUdaOXJsUXJpMlY1a2FIaVljUE5RRWtJN20xMjM0Z004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQaFl2YWkwUmU0aGpHWWkvSFpvMzZYZGg5OHllSktRSEZrQTQvSi9Fd3lFb083OWJleDhjbmE4Y0ZQWHJFQWp5YUhUNFA2RFNZVzh0elMxS1cyQkdpTElDSWFUbGEwdyt3M2xrdkVjZjM2aElCTUpjQ0F3RUFBYU5OTUVzd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Rm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQzQ2NUZKaFBxZWw3ekpuZ0hJSEpycWovd1ZBeEdBRk9URjM5NlhLQVRHQXArSFJDcUo4MVJ5NjBDTksxakR6azhkdjZNNlVIb1M3UklGaU0vOXJYUUNiSmZpUEQ1eE1UZWpacDVuNVVZSEFteHN4RGFhemZBNUZ1QmhrZm9rS0s2akQ0RXE5MUM5NHhHS2I2WDQvVmthUEY3Y3FvQkJ3L2JIeGF3WGMwVUVQanFheWlCcENZVS9ySm9WWmdMcUZWUDdQeDNzdmExbk9yTng4clBQSTFoSitaT2c4bWFpUFR4SFpuQlZMYWtTU0xReS9zV2VXeWF6TzFSbnJieGpyYmdRdFlLejBlM253R3B1MXcxM3ZmY2tGbVVTQmhIWEg3QUFTL0hwS0M0SUg3RzJHQWszK244aVNTTjcxc1p6cHhvblF3VmJvcE1acUxtYkJtLzdXUExjQUFKVGZRQzJFazkxSU5QNWloSE56SW1QT0FISkNrK1lUTy9wUXVFbk5Xd1hiZG1LQWkrSVJwNjcxaUF3dHBralN4Q0JYVnpLWDkyNUYxQTY2Y2FDT1FwdGx3Kzl6RnVrRFFnYmxNMkp5QUpMRzBqNkI0UnRCVERXSjhaVE1VUEhVb0xKb0VwbThBUFpnUmkvL0RNUnlDS1A5cGJCTEdsRHpnVXZsMHcxMUx6QkFsSkhrV2F1NU5vcVFCbEc3dzRIRnJLd2VvdnNrQUFGUmdBQUFBRjZIUXgyNDhMNzdSSDBaOTczdFNZTlE4ekJzejg2MUNaRzUvVDA5VEp6M1hvZERIZS9pSitjZ1hiNUFuM3pUZG5UQnR3M0VXQWI2OFQrZ0NFMzNHTjhBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQXdBQUFRQUFBQUFBQWdBQUFBPT0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2RlZl9iNjRfdG9vX2JpZ18zLnR4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2RlZl9iNjRfdG9vX2JpZ18zLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE0NzU0Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9kZWZfYjY0X3Rvb19iaWdfMy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIENvbnRleHQgd2l0aCBhZGRlZCAnMTIzNCcgYmVmb3JlICc9PScgYWRkIHRoZSBlbmQgdG8gc2ltdWxhdGUgdG9vIG11Y2ggZGF0YSBpbiB0aGUgYmFzZTY0IGNvZGUKLUFoVUFBSDhBQUE0QUFBUThBQUFBQUY2SFF4M01xQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0cyUWJIYlVqOGVHcGR4NUtWSWViaXdrMGp2Umo5LzNtNkJPU3pwQTdxQlhlRXVuaHFyM0QxMU5FN2NpR2plSE1BQUFBQUFBTTdNSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTm93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3pOdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UGhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWFIVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJnd0ZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUM0NjVGSmhQcWVsN3pKbmdISUhKcnFqL3dWQXhHQUZPVEYzOTZYS0FUR0FwK0hSQ3FKODFSeTYwQ05LMWpEems4ZHY2TTZVSG9TN1JJRmlNLzlyWFFDYkpmaVBENXhNVGVqWnA1bjVVWUhBbXhzeERhYXpmQTVGdUJoa2Zva0tLNmpENEVxOTFDOTR4R0tiNlg0L1ZrYVBGN2Nxb0JCdy9iSHhhd1hjMFVFUGpxYXlpQnBDWVUvckpvVlpnTHFGVlA3UHgzc3ZhMW5Pck54OHJQUEkxaEorWk9nOG1haVBUeEhabkJWTGFrU1NMUXkvc1dlV3lhek8xUm5yYnhqcmJnUXRZS3owZTNud0dwdTF3MTN2ZmNrRm1VU0JoSFhIN0FBUy9IcEtDNElIN0cyR0FrMytuOGlTU043MXNaenB4b25Rd1Zib3BNWnFMbWJCbS83V1BMY0FBSlRmUUMyRWs5MUlOUDVpaEhOekltUE9BSEpDaytZVE8vcFF1RW5OV3dYYmRtS0FpK0lScDY3MWlBd3Rwa2pTeENCWFZ6S1g5MjVGMUE2NmNhQ09RcHRsdys5ekZ1a0RRZ2JsTTJKeUFKTEcwajZCNFJ0QlREV0o4WlRNVVBIVW9MSm9FcG04QVBaZ1JpLy9ETVJ5Q0tQOXBiQkxHbER6Z1V2bDB3MTFMekJBbEpIa1dhdTVOb3FRQmxHN3c0SEZyS3dlb3Zza0FBRlJnQUFBQUY2SFF4MjQ4TDc3UkgwWjk3M3RTWU5ROHpCc3o4NjFDWkc1L1QwOVRKejNYb2RESGUvaUorY2dYYjVBbjN6VGRuVEJ0dzNFV0FiNjhUK2dDRTMzR044QUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUF3QUFBUUFBQUFBQUFnQUFBQTEyMzQ9PQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvZGVmX2JhZF9iNjQudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvZGVmX2JhZF9iNjQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzc3NjU4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2RlZl9iYWRfYjY0LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gQ29udGV4dCB3aXRoIGFkZGVkIGV4dHJhICdBJyBiZWZvcmUgJz09JyBhZGQgdGhlIGVuZCB0byBzaW11bGF0ZSBiYWQgbGVuZ3RoIG9mIGJhc2U2NCBjb2RlCi1BaFVBQUg4QUFBNEFBQVE4QUFBQUFGNkhReDNNcUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNHMlFiSGJVajhlR3BkeDVLVkllYml3azBqdlJqOS8zbTZCT1N6cEE3cUJYZUV1bmhxcjNEMTFORTdjaUdqZUhNQUFBQUFBQU03TUlJRE56Q0NBaCtnQXdJQkFnSUJBakFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY05NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNRk5vOTNuelIzUkJOZEpjcmlackE1NDVEbzhTczg2RXhiUVd1VE5vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6TnRTait1R3hkdGlRd1dHMFpsSTJvaVpUcXF0MFhnZDlHWUxiS3RnZm9Oa05IQzFKWnZkYkpYTkc2QXVLVDJrTXRRQ1E0ZHFDRUdaOXJsUXJpMlY1a2FIaVljUE5RRWtJN21nTThZdUcwa2EvMExpcUVRTWVmMWFvR2g1RUdBOFBoWXZhaTBSZTRoakdZaS9IWm8zNlhkaDk4eWVKS1FIRmtBNC9KL0V3eUVvTzc5YmV4OGNuYThjRlBYckVBanlhSFQ0UDZEU1lXOHR6UzFLVzJCR2lMSUNJYVRsYTB3K3czbGt2RWNmMzZoSUJNSmNDQXdFQUFhTk5NRXN3Q1FZRFZSMFRCQUl3QURBZEJnTlZIUTRFRmdRVXBRWG9aTGpjMzJBUFVCSk5ZS2hrcjAyTFE1TXdId1lEVlIwakJCZ3dGb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDNDY1RkpoUHFlbDd6Sm5nSElISnJxai93VkF4R0FGT1RGMzk2WEtBVEdBcCtIUkNxSjgxUnk2MENOSzFqRHprOGR2Nk02VUhvUzdSSUZpTS85clhRQ2JKZmlQRDV4TVRlalpwNW41VVlIQW14c3hEYWF6ZkE1RnVCaGtmb2tLSzZqRDRFcTkxQzk0eEdLYjZYNC9Wa2FQRjdjcW9CQncvYkh4YXdYYzBVRVBqcWF5aUJwQ1lVL3JKb1ZaZ0xxRlZQN1B4M3N2YTFuT3JOeDhyUFBJMWhKK1pPZzhtYWlQVHhIWm5CVkxha1NTTFF5L3NXZVd5YXpPMVJucmJ4anJiZ1F0WUt6MGUzbndHcHUxdzEzdmZja0ZtVVNCaEhYSDdBQVMvSHBLQzRJSDdHMkdBazMrbjhpU1NONzFzWnpweG9uUXdWYm9wTVpxTG1iQm0vN1dQTGNBQUpUZlFDMkVrOTFJTlA1aWhITnpJbVBPQUhKQ2srWVRPL3BRdUVuTld3WGJkbUtBaStJUnA2NzFpQXd0cGtqU3hDQlhWektYOTI1RjFBNjZjYUNPUXB0bHcrOXpGdWtEUWdibE0ySnlBSkxHMGo2QjRSdEJURFdKOFpUTVVQSFVvTEpvRXBtOEFQWmdSaS8vRE1SeUNLUDlwYkJMR2xEemdVdmwwdzExTHpCQWxKSGtXYXU1Tm9xUUJsRzd3NEhGckt3ZW92c2tBQUZSZ0FBQUFGNkhReDI0OEw3N1JIMFo5NzN0U1lOUTh6QnN6ODYxQ1pHNS9UMDlUSnozWG9kREhlL2lKK2NnWGI1QW4zelRkblRCdHczRVdBYjY4VCtnQ0UzM0dOOEFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBd0FBQVFBQUFBQUFBZ0FBQUFBPT0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2VtcHR5LnR4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L2VtcHR5LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTY5ZGUyOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9lbXB0eS50eHQKKysrIC9kZXYvbnVsbApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvbWZsXzEwMjQudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvbWZsXzEwMjQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTYwNDRhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L21mbF8xMDI0LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gTUZMPTEwMjQKLUFoVUFBSDhBQUE0QUFBQnRBQUFBQUY2SytHTE1xQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0hlZVFLUFZ0OVJwQjhuTFRCNkMyQWh4UnpCMHIvT0JiWGJNUG02amIxcmtSK3FyWFpBVUZSdkdmR3hscXFHV3dBQUFDQUFBQUFBQUFBQUFBQUFBSUFBVjZLK0dKSVhObnBLVHI5SFpRVzZXRUg3WVNZaGhSUnFPTzZ4dmY4UUw2L1hvcjRZaE94T0pZazIzdzNBd0R2VkFvZmVXblZBZkpuRXhlNWlwZFN4bkFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQXdBQUFRQUFBQUFBQWdBQUFBPT09CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9tdHVfMTAwMDAudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvbXR1XzEwMDAwLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjc2NDUzOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9tdHVfMTAwMDAudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBNVFU9MTAwMDAKLUFoVUFBSDhBQUE0QUFBQnRBQUFBQUY2TERrek1xQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQngwNmt4WW9vTUxHUHlVTW9CNDZFRjJ6VEp6bVpFTTRsZTVhS2loY0hwRkVmZ3JYL2VXUVpGV2E3Y2FrNzlpaHdBQUFDQUFBQUFBQUFBQUFBQUFBQUFBVjZMRGt6OWJpZ01rOXEwV2lEbWdZaFg4cHBiZmdidE1DZnJ1dlZRTmlGV1hvc09USjNSMitKK1RhU0NobWp0UzhzRCt5MVpydWhlL1NKRTd5OUQrNVlBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQXdBQUFRQUFBQUFBQWljUUFBPT0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L3Nydl9jaWQudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X2NpZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5YWFkNWYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X2NpZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIFNlcnZlciwgQ0lEIDB4REVBRAotQWhVQUFIOEFBQThBQUFCdEFBQUFBRjZNWlVQTXFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCaDdoOC9hcHJMTjFmUzBLd0xrWnpLY3NhNUxOdERXN3NZdTdkMXo3Zk5ldHVSakxKcFgvQTFtVFNxZUJZN2xpOEFBQUNBQUFBQUFBQUFBQUFBQUFBQUFWNk1aVU5hazc0QmhiY2d2WjJNOFdoWktqUXlDaXg3R0p6UnM0U3FuRDdpWG94bFE3WVhqc1ZJMEsveHlNT0pQa1Q5WmNQRWkvMmpIR0l0ZTFaZHVXNEMzcTBDdnU4QUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUJ3QUFBUUFBQUFBQUF3QUFBQT09CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9zcnZfY2lwaGVyc3VpdGUudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X2NpcGhlcnN1aXRlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2U5MzkwNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9zcnZfY2lwaGVyc3VpdGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBUTFMtUlNBLVdJVEgtQUVTLTI1Ni1DQ00tOAotQWhVQUFIOEFBQTRBQUFCdEFBQUFBRjZLNHluQW9RQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFETEJJUVVyclBoN2p4WXo5ZTU1Y0p2ZnBPa3VCZjJaaVZvdmxZYTFEa3diaW1wNXEvQ29XSW40OEMweDNZajZOMEFBQUNBQUFBQUFBQUFBQUFBQUFBQUFWNks0eWtzTXZNVjE5cVJxK2VOb2tHbjBqOVE1dGpFODhFSzhqZk03Z2tzWG9yaktSNnpoWGh0dEZHSUZrTk5BbW1LdXVEUUdWbVgxeUNvSGlKRm9uVUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBd0FBQVFBQUFBQUFBZ0FBQUE9PQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X2RlZi50eHQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9zcnZfZGVmLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2E4MTQ2MS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9zcnZfZGVmLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gU2VydmVyIGNvbnRleHQgd2l0aCBkZWZhdWx0IE1iZWRUTFMgY29uZmlndXJhdGlvbgotQWhVQUFIOEFBQTRBQUFCdEFBQUFBRjZIUXgzTXFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDRzJRYkhiVWo4ZUdwZHg1S1ZJZWJpd2swanZSajkvM202Qk9TenBBN3FCWGVFdW5ocXIzRDExTkU3Y2lHamVITUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFWNkhReDI0OEw3N1JIMFo5NzN0U1lOUTh6QnN6ODYxQ1pHNS9UMDlUSnozWG9kREhlL2lKK2NnWGI1QW4zelRkblRCdHczRVdBYjY4VCtnQ0UzM0dOOEFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBd0FBQVFBQUFBQUFBZ0FBQUE9PQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X21pbl9jZmcudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X21pbl9jZmcudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzI3MmY1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L3Nydl9taW5fY2ZnLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gTWluaW1hbCBjb25maWd1cmF0aW9uCi1BaFVBQUFNQUFBQUFBQUJqQUFBQUFGNkxabExNcUFBZ1VHa3RQbXBTUGJ6UlBpcGVDcFlKdHA1U05JSWpUcjNSMTIxV0Y5QWVXTjR0bUtiUmhodit5UE1qWTB5V1BySEx5N2xMTGh3TkZCd0NENmVRMFVMWloxNUZpMlJoYWUvNFprQVIwQk4yaUNNQUFBQ0FBQUFBWG90bVVrTUM2YVU2czdPNUluam1FRWVnNHlTTFprTkRmMFV0L3MwNi9jQmVpMlpTK2trS1Mzc0pzbzJ1NDE4amxybEtpZXN5VU9XK3hYd09EOGJZWlFBQUFRQUFBQUFBQWdBQQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X25vX2FscG4udHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X25vX2FscG4udHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGRkZDBjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L3Nydl9ub19hbHBuLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gV2l0aG91dCBNQkVEVExTX1NTTF9BTFBOCi1BaFVBQUg4QUFBWUFBQUJ0QUFBQUFGNkxEU3pNcUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIxbENVTzhCLzgwNVV6Q09MWnpXREFFQThhbmZMcGJ1V1RybkZTUjJwdVprdHZFaVI4blhkQVROMHlLUzk0b1NBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQVY2TERTd1d0MFFXZ21OZzRadjJ5WWhmNFBkZXhwaS9RVElxV3lEMkFRVmpYb3NOTExLMXZ6L3VwRkhySmxpempINXVTQlVKQ3BRWkpjenJCZ3hCbUdvQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUF3QUFBUUFBQUFBQUFnQUEKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L3Nydl9ub19rZWVwX2NlcnQudHh0IGIvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X25vX2tlZXBfY2VydC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlODM0YjkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X25vX2tlZXBfY2VydC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIFdpdGhvdXQgTUJFRFRMU19TU0xfS0VFUF9QRUVSX0NFUlRJRklDQVRFCi1BaFVBQUFNQUFBQUFBQUJpQUFBQUFGNk1LaFRNcUFBZ1NLQ3FYcmNybWpxT0JweHNHTzNpdFFCMDlZZ3NTSndYbVpCMTJRbEIrd3doaW9mMG16QU4waHVwa0x4dTRZeWM5U2d5Rm9FRFBLSms4VGlSbzhiTzJya0VmUEl0QjVsVUZrSnd6ZGV1R1ZNQUFBQ0FBQUJlakNvVWJPdlcvcWJJaGxBS1BEaXQzMU9CeWpoelhZdCtyWk50dmtuSExWNk1LaFJNcjh4bkwyN1NORlgxaXlwVHBRNy9rc0F0UEdYUWpXdmtRV2Z3QUFBQkFBQUFBQUFDQUFBPQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9iYXNlNjQvc3J2X25vX21mbC50eHQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9zcnZfbm9fbWZsLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTI1NDQwMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9zcnZfbm9fbWZsLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotLy8gV2l0aG91dCBNQkVEVExTX1NTTF9NQVhfRlJBR01FTlRfTEVOR1RICi1BaFVBQUhjQUFBNEFBQUJzQUFBQUFGNkxETFBNcUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEwZnpHek8xeXNsak1nWnI0Z2R1aWd2UlhyMkFLNVg4ajhjNnZIVE9wYzJuY0ZTM1VOMm9qd0QydE9hTTMrL1hJQUFBQ0FBQUFBQUFBQUFBQUFBQUFCWG9zTXMxeHMrTWo4QklMNnYwMXF0SFdWN3crcHN4R3dMY3RhR1NTTDBhWmVpd3l6c2tQZURDTDBpc096aCtKb1BnelMvbVZ0TWMwR3lrR3BaYUZCdWdBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBREFBQUJBQUFBQUFBQ0FBQUEKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L3Nydl9ub19wYWNraW5nLnR4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L3Nydl9ub19wYWNraW5nLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmNjNDIyOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC9zcnZfbm9fcGFja2luZy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLS8vIFdpdGhvdXQgRFRMUyBwYWNraW5nCi1BaFVBQUg4QUFBNEFBQUJ0QUFBQUFGNkxDTS9NcUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNmbDB0WE5tc2hJUUVxaUVmbFFHblZVS2tJRmwxb24vTXUwcGpXZXMzWHdRZ2R3bXk5eE16cFZ5WVU1Z0JPc09FQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQVY2TENNKzF1UnB5YW95Znp1TkdCSks5RGdCV0lXdHJQcHU3S004cXNDL0ZYb3NJei9ZSVBodmVaOFo0SVIwZy9NY0FNUXd6UW9LNXRTY1NFMEREM0J3QUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUF3RUFBUUFBQUFBQUFnQUFBQT09CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Jhc2U2NC92Mi4xOS4xLnR4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L3YyLjE5LjEudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDdiZDlkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvYmFzZTY0L3YyLjE5LjEudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0vLyBDb250ZXh0IGNyZWFkZWQgYnkgTWJlZFRMUyB2LjIuMTkuMQotQWhNQkFIOEFBQThBQUFHakFBQUFBRjVpSFlMQXJnQWdrUUU0VjJOSnNqYk91TzUyd3MvdTc1ZjZDZzEyNnpXZUk3YStrYXhUcUtMYmRXV1ptVzNQUCtTZmxMeEJBN1RycGIwcVo1TVA4K20wbGV5bG5MY0R0MlR0SVdSNDlNT3VpSnV2VnVNSm10d0FBQUFBQUFFMk1JSUJNakNCMnFBREFnRUNBZ1lCY0s5QXRPWXdDZ1lJS29aSXpqMEVBd0l3RFRFTE1Ba0dBMVVFQXd3Q1kyRXdJQmNOTWpBd016QTJNRGsxTURFNFdoZ1BNakExTmpBeU1qWXdPVFV3TVRoYU1ETXhEekFOQmdOVkJBY1RCakUyTURBd01URU5NQXNHQTFVRUN4TUVZV05qTVRFUk1BOEdBMVVFQXhNSVpHVjJhV05sTURFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSbjBUdGluTjYvcnVuekl1RjJmMnVUSDFmMG1RT0ZYdTN1UlB0UWppMk9iY2NTc3c2Q245ejdYV0s5ZlJnZW9PS0EwV1pDK085TDlJRVdpZVMxM2FqRk1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lGb2F2cGVrUWpJcXViSjA5amtNUitpaVVwa0dkRlJsYTFSN29ubmM1aUVPQWlCQXZZcjhqOVFxanBNMmpDb2xUUzFjSTB6MjlQQmJ1YXNxNEhJNllDajB3Z0FBQUFBQUFBQUFBQUZlWWgyQ3QzTG5FU3dtZFd6VSt4czd2VjJRMFQ1SEo4eTRja2hwTzd3T29GNWlIWUozOGdLRkkzUWRjM0JSNDhHVjdudUJVS1plSTFZSkV4UWNoajFXQ0FZNmRFeWdoTHBIQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBREFBQUJBQUFBQUFBQ0FBQUEKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUzMjk1ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfZXhhbXBsZV9tdWx0aS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNvakNDQVlxZ0F3SUJBZ0lCRVRBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dOekV3TVRFeU56VXlXaGNOTWprd056RXdNVEV5TnpVeVdqQTZNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R0RBV0JnTlZCQU1NRDNkM2R5NWxlR0Z0Y0d4bExtTnZiVENCbnpBTkJna3EKLWhraUc5dzBCQVFFRkFBT0JqUUF3Z1lrQ2dZRUF4emlTeGNQMGNCQUlhL2dUTmV6ekFSeUtKUStWZ2pZZXFoNlcKLUVsVWFyUGg3ZFRNTGNGY3puTm1WOFUxTVJEZkl2c1NnUCtSa1BOUHp5UUpEUGNOOFc0NTVxZ21Fcm9JVE53cS8KLWhXbTlLalZpYkxIKzVLemdRckpCZkh2a25TY1VteXdIYTQ1RFBUOXNkanBHbWh4d0RTV2R2QWpIUVB6WUFqZGkKLS8zM3IvQzBDQXdFQUFhTTJNRFF3TWdZRFZSMFJCQ3N3S1lJTFpYaGhiWEJzWlM1amIyMkNDMlY0WVcxd2JHVXUKLWJtVjBnZzBxTG1WNFlXMXdiR1V1YjNKbk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ0piRml6dXJIejgwNHgKLTZOYnN2c1BQZ0xjRVNxME9jR09FWE9DT2U4c2VacW9taFNZVFh0SEJ6ckZ0UnAyL2dtdE9ScTJvYXBvRERpcSsKLUkreFJMSllzVUJ1dDJOZGtabUVJUlNXNG40c1hKd3FiMGZYVFRrZDdFQVhCdkdOV2JFUmFiNVNiZjg0b3FkNHQKLXlqanoydStIdng4aFpDSEpHMlY5cWczemF3NXpKVDFBZkFzTWJqWHFpOENmVTdVK0Zjb3IrTzNHZXVVVmdwSkMKLVFDWGIyUWpqM1ptckN2R1pBOXg1OVh0bkVONm0yTzRwV2ttcVIvWjdNbFFyWnpRODB2Y1FNazkrcW9LSXIyRUoKLVJjSmhBdEUrZExWMTlJbGNjd3NEbEd4NWtUNU41elNZTEs5bkFSVjEvQWpLNDhiVXhHSDM1M0ExWTJNQ2Z5MEUKLWRYRFJlSmExCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfZXhhbXBsZV9tdWx0aV9ub2NuLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpX25vY24uY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGJmNjNjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpX25vY24uY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDZmpDQ0FXYWdBd0lCQWdJSkFQZkdmL2pwcVdQNU1BMEdDU3FHU0liM0RRRUJCUVVBTUEweEN6QUpCZ05WCi1CQVlUQWs1TU1CNFhEVEl6TURVeE9EQXlNRFV3TVZvWERUTXpNRFV4T0RBeU1EVXdNVm93RFRFTE1Ba0dBMVVFCi1CaE1DVGt3d2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFNYzRrc1hEOUhBUUNHdjRFelhzCi04d0VjaWlVUGxZSTJIcW9lbGhKVkdxejRlM1V6QzNCWE01elpsZkZOVEVRM3lMN0VvRC9rWkR6VDg4a0NRejNECi1mRnVPZWFvSmhLNkNFemNLdjRWcHZTbzFZbXl4L3VTczRFS3lRWHg3NUowbkZKc3NCMnVPUXowL2JIWTZScG9jCi1jQTBsbmJ3SXgwRDgyQUkzWXY5OTYvd3RBZ01CQUFHalpUQmpNQWtHQTFVZEV3UUNNQUF3Q3dZRFZSMFBCQVFECi1BZ1hnTUVrR0ExVWRFUVJDTUVDQ0hIZDNkeTV6YUc5MGIydGhiaTFpY21GMWJuTmphSGRsYVdjdVpHV0NGSGQzCi1keTV0WVhOemFXMXZMV0ZpWVhSbExtVjFod1RBcUFFQmh3VEFxRVdRTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCCi1BUUF1b21LbE1Md1NrUDN6dkd1QTlhd0RkSVRNL3VDemZkNzd5aTYwek1OdEZIRE11MllaMm5wUVNsMGN6YWI2Ci0vOGZYOWdvYVU4VjNjeDRLWFNMTXg3aTlBc1AxcjU1OVVvM2MvNG9UWmQzeEJzRWxNQW4vVFhpdXVqWjJSd2RMCi1SY01PSmVybFRoT0UwZHROZG5pSmo3bFBhYW43MENFTFAvQ1VuOEtnZVdnenRRSmo0Z2hmVXduTG42Um5wTGZsCi1ZeU0vWHEyWWJ3blFXSFhTZTNDUFR5NVJDV2FsdDNTZ1pmNklEY0Q2Q05xMVEybDE0aVI3OE9Xbmx4R1RGbWpQCi1lejNPenhOVDJCWnowQWlQMFd2VGJVdHZmdXh3OUczZkhIZTVDbHNBb3BJQTN0RDI0NmpIT0FscUFuT0VCQy94Ci1JQUJiV2pZL2JyaVA5VTRSNngrbWcyY2sKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX3dpbGRjYXJkLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX3dpbGRjYXJkLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWI0MTdjNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfZXhhbXBsZV93aWxkY2FyZC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURPekNDQWlPZ0F3SUJBZ0lCRERBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTRNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RmpBVUJnTlZCQU1NRFNvdVpYaGhiWEJzWlM1amIyMHdnZ0VpTUEwR0NTcUcKLVNJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNwQWg4OVFHclZWVk9ML1RidWdtVXVGV0ZlaWIrNDZFV1EKLTIrNklGbExUOFVOUVI1WVNXV1NIYS8wcjRFYjVjNzdkejVMaGtWdnRacUJ2aVNsNVJZRFFnMnJWUVVOM1h6bDgKLUNRUkhnckJYT1hEdG8rd1ZHUjZvTXdoSHdRVkNxZjFNdzdUZjNRWWZUUkJSUUdkekV3OUErRzJCSlY4S3NWUEcKLU1INFZPYXo1V3U1L2twNm1CVnZuRTVlRnRTT1MyZFFrQnRVSkpZbDFCOTJtR284L0NSbStyV1VzWk91Vm05eisKLVFWNFhwdHBzVzJuTUFyb1VMQllrbkVyY3pkRDNVbWR6OFMyZ0kvMSs5REhLTFhES2lRc0UyeTZtVDNCdW5zNjkKLVdJbmlVMW1lYmxxU1plS0lQd3lVR2FQZDVlaWRsUlB0S2R1cmNCTGNXc3ByRjZ0U2dsU3hBZ01CQUFHalRUQkwKLU1Ba0dBMVVkRXdRQ01BQXdIUVlEVlIwT0JCWUVGQjkwMWo4cHdYUjBSVHNGRWl3OXFMMURXUUttTUI4R0ExVWQKLUl3UVlNQmFBRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQngKLWQ3YVhYaFVHMUVNNkhya042WE9PWHlrdURJZ2g4aVFpNytEOVRBTndiWHRQSmswaGlDcXRDaE9DMzFIYW83OVUKLTVFMjNZMkxzRlArQXAvakxScFpZdnhrazlrY0JqZ2NwMEdUeFBITHUybjdpanNHdWovNzY1RkdHNHdUVlR0ckYKLXVVOFpOSTN1R296MlNqTHl2Tkx6N2F1bGF2YWdjTHQwUDMyVHpVUmV6Skg0N1JOOEp4cmlFWEdieFZmMENDTmwKLVp3L2hXeStnNXlUMTJBVDBkWXdYMVVlRlQ2Sk1Yd3dEckNHK1cxdUJZMzV3Z1RvdnJoNVlZdk5jMUpGcHpoK28KLXZ2dTlUcTdyc1g3UDRmNy9ndThmNE1NRHV6TXJ5VXlHQ1lNZXhRa1hKTkJ6MlMvaWdMRmJ1WDFWbXNMbFg4em0KLWlEcVdWNXhMdFZ1TGJnUUdLYTRxCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfbWQ1LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9tZDUuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNTE0ZmQ2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9tZDUuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUHpDQ0FpZWdBd0lCQWdJQkJqQU5CZ2txaGtpRzl3MEJBUVFGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NREF3TVRBeE1USXhNakV5V2hjTk16QXdNVEF4TVRJeE1qRXlXakE4TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdqQVlCZ05WQkFNTUVWQnZiR0Z5VTFOTUlFTmxjblFnVFVRMU1JSUJJakFOCi1CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5SFRFekxuNXRYbnBSZGtVWUxCOXU1UHlheDZmCi1NNjBOajRvOFZtWGwzRVRaekdhRkI5WDRKN0JLTmRCam5ncHVHN2ZhOEg2cjdnd1FrNFpKR0RUenFDclNWL1V1Ci0xQzkzS1lSaFRZSlFqNmVWU0hEMWJrMnkxUlBEMGhydDVrUHFRaFRyZE9yQTdSL1VWMDZwODZqdDB1REJNSEV3Ci1NakRWMC9ZSTBGWlBSbzd5WC9rOVo1R0lNQzVDc3Q5OSsrVU1kLy9zTWNCNGo3L0NmOHF0YkNIV2pkbUxhbzV2Ci00SnY0RUZiTXM0NFRGZVkwQkdiSDd2azJEbXFWOWdtYUJtZjBaWEg0eXFTeEplRCtQSXMxQkdlNjRFOTJoZngvCi0vRFpydGVuTkxRTmlUck05QU0rdmRxQnBWb05xMHFqVTUxQng1clUyQlhjRmJYdkk1TVQ5VE5VaFh3SURBUUFCCi1vMDB3U3pBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCUnhvUUJ6Y2tBdlZIWmVNL3hTajd6eDNXdEdJVEFmCi1CZ05WSFNNRUdEQVdnQlMwV3VTbHM5N1NVdmE1MWFhVkQrcyt2TWY5L3pBTkJna3Foa2lHOXcwQkFRUUZBQU9DCi1BUUVBRjRRY01zaFZ0VmJZZ3Z2VTdmMmxXYWt1YmJBSVNNL2srRlcvZjd1NjNtME1TU29TRmVZZmxCT0MxV2Y0Ci1pbWdERW5XY1dUSDVWN3N4c0xOb2d4ZnBmVHVGVWFLZkhlUW1SaEFLNFVncWJERXM0ZFp2Z28zd1ovdzkyRzAvCi1RTm50SmVmbnFhRmlJVFhaVG42SjhoeGVvRXE0UWJ1Y2JXZ2VZNmZUQXdYdEl2NDBCdk1PU2Fra3VJRkF5SXZWCi05MFZZMWo0dm54MC94djVsSUJBeGFoMUhkdFhocXREdS9zVWZkQ3RXWDVTQ2NWVXd3TTNnWjRRMVpkV1FtbHZGCi03MzdaRzdYYUlOeHNEYUkwNHNKeGM3cXZ1UlloTGRDd1VQblpMNVRHRVFKOGpOYS8zOWVFYm5rdnM3aGJUVTk4Ci02cUc4VUFZc1NJN2FNZTFqN0RacGtvUEw5dz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfbWQ1LmNzciBiL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9tZDUuY3NyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzY3OTJkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9tZDUuY3NyCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUNnVENDQVdrQ0FRQXdQREVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sb3cKLUdBWURWUVFEREJGUWIyeGhjbE5UVENCRFpYSjBJRTFFTlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVAKLUFEQ0NBUW9DZ2dFQkFNaDB4TXk1K2JWNTZVWFpGR0N3ZmJ1VDhtc2Vuek90RFkrS1BGWmw1ZHhFMmN4bWhRZlYKLStDZXdTalhRWTU0S2JodTMydkIrcSs0TUVKT0dTUmcwODZncTBsZjFMdFF2ZHltRVlVMkNVSStubFVodzlXNU4KLXN0VVR3OUlhN2VaRDZrSVU2M1Rxd08wZjFGZE9xZk9vN2RMZ3dUQnhNREl3MWRQMkNOQldUMGFPOGwvNVBXZVIKLWlEQXVRckxmZmZ2bERIZi83REhBZUkrL3duL0tyV3doMW8zWmkycU9iK0NiK0JCV3pMT09FeFhtTkFSbXgrNzUKLU5nNXFsZllKbWdabjlHVngrTXFrc1NYZy9qeUxOUVJudXVCUGRvWDhmL3cyYTdYcHpTMERZazZ6UFFEUHIzYWcKLWFWYURhdEtvMU9kUWNlYTFOZ1YzQlcxN3lPVEUvVXpWSVY4Q0F3RUFBYUFBTUEwR0NTcUdTSWIzRFFFQkJBVUEKLUE0SUJBUUJORXZ4Z24zUGM2MmhzTWdNejMzSWRlTnBhemVLM2FlMmd3UVFGZ0w3cU1wL2tza2ZwSUtGNG04ZUIKLVlybWpLbjljcXN6UkQ2MDYvWnRXWUR3SU5VVWM2TzdiUUdtcEdJRmQ3YlNQbS9wYnNhamM2UjdrekEvdEQvYmsKLUc1enF1OUJqMHg5MmhFd2RrdTB6WStIeDlQZ1QyZEs4TTcyaUZ5bEhCd1QzWDF0TnlYaGg3eFdKOVJsQWZTdk4KLUtkUzZzM2tSaks0cWNpcjBNbmZsVjVmMkhENnIxdjljU1Z5bWU2ZVZMdk9tdXA4OXowY2loSDdORHdESmFZYmkKLW9xY0tYRmJybzgvMnJ1RXpQVVM2VThOQTljamxYOURXOGJ1SXU0Y1FBQ1Z4NVlldmx3S29heVlmWGNSUnZJRm8KLU9MaVBxMTRUdVpqM2MwK0hGT3hXajRVQkFqdkkKLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jZXJ0X3NoYTEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9jZXJ0X3NoYTEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTIzNTg1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9zaGExLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFEQ0NBaWlnQXdJQkFnSUJCekFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOU1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHekFaQmdOVkJBTU1FbEJ2YkdGeVUxTk1JRU5sY25RZ1UwaEJNVENDQVNJdwotRFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2Sgotdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQgotUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbAotWHdxeFU4WXdmaFU1clBsYTduK1NucVlGVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4awotNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUAotY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQQotQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVSDNUV1B5bkJkSFJGT3dVU0xEMm92VU5aQXFZdwotSHdZRFZSMGpCQmd3Rm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEUVlKS29aSWh2Y05BUUVGQlFBRAotZ2dFQkFGQUh1V2ZqT3ArR2FNNWRQM05CYVVheVhtamJyc1k1Zm8veXNmT1ZWOXhpcHpiUFd2RTJCdTY3OWlVMQotRWcrNWhNRTlWbE1tUWVqR3pHMDlSZVhFKzMwZ3lodE8zdldBOFUyMVlyc0wzeWJ2UzZFUkVIR0trMjM4YklCaAoteURQL2IwVnVvTnNTM3hSbjlXeUgzVFJ1NXJlMHZLNjhPU2tMSVdQZDAxZmd2Y2ZsNll5VVkrV3V1U3JwWWNEdgotbnJnS3ZGWndzL0VFNFJObGR0UkMxQmx3eTQ5N0F0bVdCUVdzNjV6ajVKa05kTm5tNEpKcVhaQUFyTmgyR1NabwotODNDLzFaU0ZyTm85R09Oc0NKMEdWR0V0N0lLN0ZQcVhZVzdyWGkzMEJSc2UzM3ppVTdSUFdHRFQxM2JoOVJkegotUnFzb1o1aDVWanRIT25NVVVEOTlnSVdpbkJFPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jZXJ0X3NoYTIyNC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfc2hhMjI0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzhhMjA5ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfc2hhMjI0LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFqQ0NBaXFnQXdJQkFnSUJDREFOQmdrcWhraUc5dzBCQVE0RkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBL01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIVEFiQmdOVkJBTU1GRkJ2YkdGeVUxTk1JRU5sY25RZ1UwaEJNakkwTUlJQgotSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaAotWG9tL3VPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcQotMVVGRGQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodAotZ1NWZkNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbAotTEdUcmxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdQotcGs5d2JwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJRAotQVFBQm8wMHdTekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5UTFrQwotcGpBZkJnTlZIU01FR0RBV2dCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvekFOQmdrcWhraUc5dzBCQVE0RgotQUFPQ0FRRUFUZG83cDdkb2s4Z2N4UzBkWUdsdVhNT3NBRUFMeUhBZ3ZBSlNaVXQweDhSeGVtSmZwcXV2NFhHLwotcnBwUW10QTVhUGY1OUZvMHo1R2NTMHp6WUZMVFFJY0xIS251dUcwVzZ5amh4M2UrNUoxaGpMYnYvLy92dktHTgotanE1NXorQ0FOa3JhZ01rNlhRL3QraVhraC9GcTAwRlMremJmMUpMYU1YT0xzdDVkZnYzdVBRYUpId3pYL0VhRQotVmRvZ25YeFd1ZE5RZ0l2ZW1pbmRrOVRUUW9uMjd6QlMvejZud2NCQ0lYTURmZXNBamNIdUJDZnhsNnBvZks2RQotMjhxczR1cC9KYXlwdEcyQ1g5OExHc0V5QWdlZ3dUTVNZR0xKb1djSGhyVWNiRjBmTk9jWFBnUUtHVGNaTzRUZwoteVBZR2JrRzlGamdhQVNjMmdUcllWUFJaNm1ZMTlnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9zaGEyNTYuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9jZXJ0X3NoYTI1Ni5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1NmQ0MjguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jZXJ0X3NoYTI1Ni5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURRakNDQWlxZ0F3SUJBZ0lCQ1RBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQS9NUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SFRBYkJnTlZCQU1NRkZCdmJHRnlVMU5NSUVObGNuUWdVMGhCTWpVMk1JSUIKLUlqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxUUlmUFVCcTFWVlRpLzAyN29KbExoVmgKLVhvbS91T2hGa052dWlCWlMwL0ZEVUVlV0VsbGtoMnY5SytCRytYTyszYytTNFpGYjdXYWdiNGtwZVVXQTBJTnEKLTFVRkRkMTg1ZkFrRVI0S3dWemx3N2FQc0ZSa2VxRE1JUjhFRlFxbjlUTU8wMzkwR0gwMFFVVUJuY3hNUFFQaHQKLWdTVmZDckZUeGpCK0ZUbXMrVnJ1ZjVLZXBnVmI1eE9YaGJVamt0blVKQWJWQ1NXSmRRZmRwaHFQUHdrWnZxMWwKLUxHVHJsWnZjL2tGZUY2YmFiRnRwekFLNkZDd1dKSnhLM00zUTkxSm5jL0V0b0NQOWZ2UXh5aTF3eW9rTEJOc3UKLXBrOXdicDdPdlZpSjRsTlpubTVha21YaWlEOE1sQm1qM2VYb25aVVQ3U25icTNBUzNGcktheGVyVW9KVXNRSUQKLUFRQUJvMDB3U3pBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCUWZkTlkvS2NGMGRFVTdCUklzUGFpOVExa0MKLXBqQWZCZ05WSFNNRUdEQVdnQlMwV3VTbHM5N1NVdmE1MWFhVkQrcyt2TWY5L3pBTkJna3Foa2lHOXcwQkFRc0YKLUFBT0NBUUVBdW84a1JEZFFqMytyZ3FiejdiUzNaZkJWQ3FnYlFmcnVSWm5jUDBzM0lRSjZnN2s2Qk5mQ1RPK04KLXRJZ25DRGhuaGpLOURTNGwxTFRrUUpLZmNkNnNmdXdCeGpIS1dHWlVxVHFIV0ZtL081TUp3Zk1weEkzMDV4WEUKLWV2RHpoOExLMVczbW9YNU9jVDRieDNRc1k5STRucVhRa096akdpZHhoT1hZQTJ2K1g1T2hSdDNJSjJkem1RUXUKLUJWWG5EYnp1Y2hVZlA1YWVDd1c2bDdWWCtSSk9FMnpscU81eXQwZWpUMDJFNDRxdEM1c0JmMjRWOWtvNUxPUncKLTFKN1prMzRRd3NLclNQU0d4T3VvV053SDNmSnBnWlFJbUtnSklRQ3Nrc0orQTQ1Q0s2aXowa204b1RpSTNIb28KLTJMcEU2VU54Mk04amlaV1Z6SDFMNHRrZzRmY0NvUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfc2hhMzg0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9zaGEzODQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGVjMTBiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF9zaGEzODQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUWpDQ0FpcWdBd0lCQWdJQkNqQU5CZ2txaGtpRzl3MEJBUXdGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEvTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhUQWJCZ05WQkFNTUZGQnZiR0Z5VTFOTUlFTmxjblFnVTBoQk16ZzBNSUlCCi1JakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoCi1Yb20vdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xCi0xVUZEZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Ci1nU1ZmQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsCi1MR1RybFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1Ci1wazl3YnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlECi1BUUFCbzAwd1N6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDCi1wakFmQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU5CZ2txaGtpRzl3MEJBUXdGCi1BQU9DQVFFQWV5SG0rZW1vNC9RSHFFVktqL01ZUE9zUHJyY3I1TXVwTkU3V21vVUE3U2lsVlVsY2VJeThBcFdSCi1NVWR3bmg3VVBrQ2E2SzF5dmF5a25FYkh6RDJMdjlCTEVmNUExL2ErRi9MbUZYaVYwa1hJRnVlMTN1K3o3bGFWCi1OL3MvanBoUFZnalB3WmlDMVp0T29EN1d2U2tJSW5CNTNqNFEzVkNINkVwWnhadURPL3U4Q0dCUTBnKzlFcWhuCi1XMys0R0ZueFVQWWVOMTd1L29wdDE2bUVQeDZXRmJSbDloczV3VXZORC9GQ0RFSi85dVZOaVZZbFBZeUhLenpxCi1lM1dYQ0hMWVVLR0VTUVgrODVJcm5tbHdiQWIzM2JNK3NBTTZuYUZhZlhUWkVpbWVFcFgzaVlySHpob1U3YVI3Ci1waW9qd0FFK1liM0FjK0h1MWZZNENSTzRaSEw2Wmc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jZXJ0X3NoYTUxMi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfc2hhNTEyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjIyNTRmYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfc2hhNTEyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFqQ0NBaXFnQXdJQkFnSUJDekFOQmdrcWhraUc5dzBCQVEwRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBL01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIVEFiQmdOVkJBTU1GRkJ2YkdGeVUxTk1JRU5sY25RZ1UwaEJOVEV5TUlJQgotSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaAotWG9tL3VPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcQotMVVGRGQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodAotZ1NWZkNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbAotTEdUcmxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdQotcGs5d2JwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJRAotQVFBQm8wMHdTekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5UTFrQwotcGpBZkJnTlZIU01FR0RBV2dCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvekFOQmdrcWhraUc5dzBCQVEwRgotQUFPQ0FRRUFCbnVxN2dNVTZFV3FjbUVjajIvd2lxT0ZVQmVIOXJvMHRuaTlKWnphREFLa0JNd29lSjNSUC81OQotd1k5MlVaQy9Tb1dQbTB5TEsyNUtUd3hKaGQ2NDVhNVplUmsreWkxU0crb1hOZ1pGUzAzRjFPcmF0MGJNNXU5NAotUnR6TFJJbkd6VHhobFZTOEhQUnlhMituRWFQVDlZTk8yNXZPUmN6UERqdHJJODJVbnlzYVdpS3gxT0NQaGRQMwotWnlTQWtYL3pFMVU4VGUwKzk0OEMwdm1nMmFUV0NTazV6dXRyeUZnSEg1VW9qbW1XQWtCSHBYM3RJbThKTVJHOQotdHZwNmZiSURhbjBMbVNzVks4cnE1T1BTd0FLTXNvNkdGNEl1eG91L2pQMmdJK051dGVuWDI2d3JmZlNqbFBpVwotS2tzTE5qOG9MNnZJVWFwMjhPaCtHd3BoMDJiaVNRPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF92MV93aXRoX2V4dC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2NlcnRfdjFfd2l0aF9leHQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjA3MDQ4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2VydF92MV93aXRoX2V4dC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUR6VENDQXJVQ0NRQzk3VVRIMGo3Q3BEQU5CZ2txaGtpRzl3MEJBUVVGQURDQmh6RUxNQWtHQTFVRUJoTUMKLVdGZ3hDekFKQmdOVkJBZ1RBbGhZTVFzd0NRWURWUVFIRXdKWVdERUxNQWtHQTFVRUNoTUNXRmd4Q3pBSkJnTlYKLUJBc1RBbGhZTVNjd0pRWUpLb1pJaHZjTkFRa0JGaGhoWkcxcGJrQnBaR1Z1ZEdsMGVTMWphR1ZqYXk1dmNtY3gKLUd6QVpCZ05WQkFNVEVtbGtaVzUwYVhSNUxXTm9aV05yTG05eVp6QWVGdzB4TXpBM01EUXhOakUzTURKYUZ3MHgKLU5EQTNNRFF4TmpFM01ESmFNSUdITVFzd0NRWURWUVFHRXdKWVdERUxNQWtHQTFVRUNCTUNXRmd4Q3pBSkJnTlYKLUJBY1RBbGhZTVFzd0NRWURWUVFLRXdKWVdERUxNQWtHQTFVRUN4TUNXRmd4SnpBbEJna3Foa2lHOXcwQkNRRVcKLUdHRmtiV2x1UUdsa1pXNTBhWFI1TFdOb1pXTnJMbTl5WnpFYk1Ca0dBMVVFQXhNU2FXUmxiblJwZEhrdFkyaGwKLVkyc3ViM0puTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUExdjhGc3dNdWdoTzgKLW13a0hXQWYrWFJwSzMza1lSMGlmQm5PYnZrMlI5WlRFVWsvVGZGRUVGVmxlbjV4aGlFMGc4bGJDajhZNU16c2cKLXdac0p2NWluL0tucmFZYjdWQzBhaDBqeDRzTWtoS1JjeVVXZmp5SDhyN0ZOSDFqMWpkMDhacFdKR290WXh4YUwKLWV2cW9tMXJ6TE45OUpQT2J3eUNDZ0djUWpsUlY3Y01mSWd3bHdIYi9KUFhPeS9oWUFnanJDanF2QnUzbkw1L2IKLUhGMFB5VkdpS0NFUWlIaE1CS05qQXh6UXJDVUd5N1ZwKzNRbElZcnM2L201QTk2dm9oWC9qK3d6d0lwM1FnaUsKLVloajVFNFpvL2lRTGY2UndsN3BMNFJUZFQrY3JjeTE0M21ZaVNoTlkrYXlsOXNuZlZKTm51SGFNZTE1ZlZFc1AKLVg5bER2ZEJ2WHdJREFRQUJvejh3UFRBN0JnTlZIUkVFTkRBeWdoSnBaR1Z1ZEdsMGVTMWphR1ZqYXk1dmNtZUMKLUZuZDNkeTVwWkdWdWRHbDBlUzFqYUdWamF5NXZjbWVIQkNVNy9qQXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUIKLUFBWFVYb1dsUXhLdlNDVldoZXM4eDAzTUN1ZGUwbkRxREZIMURQR0lLZVZlV093ODduVm5pK2hJdnk4SUk2aGoKLTVaZkdTSHVaY2kyQWdFbEEzdFhrMnFEY1ovdUJYZTJWVjRJd3NnWEtVWVNscHoxeG9VNTVJblQ0ZTdLZHNzRVAKLUhPeXJVMDNEem04SmswUGhnRUpwVjQ4dGtXWW9Kdlp2T2l3RzBlNDNVUER2OXhwOEM4RWJ2Sm1tdVdrVVduTlcKLW8weURub0FPeEdmVUdTVVExZ3VUcFdDb1FFS2ozRFM0djRsSTBrTm1KbStvUkUydnYxWGVhbFdFSFN1TXBSWk8KLVFoeThXSW1YM211dzk5TVA1Nzl0WTQ0RDVaN3Aza3BpQzFid1YzdHprSGRmNW1rckFiRkpJZmxpUHZqTXJQTXcKLTJleVhYaWpEc2VicFQwdzNydU14akhnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jbGktcnNhLXNoYTEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9jbGktcnNhLXNoYTEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDk1MmU2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2xpLXJzYS1zaGExLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFB6Q0NBaWVnQXdJQkFnSUJCREFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRU5zYVdWdWRDQXlNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeUhURXpMbjV0WG5wUmRrVVlMQjl1NVB5YXg2ZgotTTYwTmo0bzhWbVhsM0VUWnpHYUZCOVg0SjdCS05kQmpuZ3B1RzdmYThINnI3Z3dRazRaSkdEVHpxQ3JTVi9VdQotMUM5M0tZUmhUWUpRajZlVlNIRDFiazJ5MVJQRDBocnQ1a1BxUWhUcmRPckE3Ui9VVjA2cDg2anQwdURCTUhFdwotTWpEVjAvWUkwRlpQUm83eVgvazlaNUdJTUM1Q3N0OTkrK1VNZC8vc01jQjRqNy9DZjhxdGJDSFdqZG1MYW81dgotNEp2NEVGYk1zNDRURmVZMEJHYkg3dmsyRG1xVjlnbWFCbWYwWlhINHlxU3hKZUQrUElzMUJHZTY0RTkyaGZ4LwotL0RacnRlbk5MUU5pVHJNOUFNK3ZkcUJwVm9OcTBxalU1MUJ4NXJVMkJYY0ZiWHZJNU1UOVROVWhYd0lEQVFBQgotbzAwd1N6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlJ4b1FCemNrQXZWSFplTS94U2o3engzV3RHSVRBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU5CZ2txaGtpRzl3MEJBUVVGQUFPQwotQVFFQXZoVTFxNWJLcGt1eGNZampBU1JDQVJEVVp6NlgwQkxyL2o1UzFidmRuSEN6eUx0MzB3VmlETm5BeU8rWgotRlc1UzN0K1dNVTgwbnl2WitxK1dRV3g5dTh5SGtQeDFNa2p1OWt4ckJOaUZSU0tLcTRVN252QjBiRXAxQ29pagota2FQa0s2aTRxcFBRNCtDclB4b0VSSWV6NHlxSlVZNXhhVk1hOEpJS0VKUFUzVVgxUDNBSENtSU05N0liWjU1bQoteHFHM2d1czBoTDZJOTNvdTBreE1GMUc1REpQNGtwYS9VSXZYRzk2MkVYWWVLZkJLM01QVi95TC81dFhweWpxWAotOW1IN0RtTDNIYWEyQVZhangvNU5Hci9ES3lMMmFONG1HK0lXTzFORXJVZk9vUjBhSURWZDdxNkx3RDhEdUtsSQotZTZkY1NUZVlKOEN6enpQWFZmd25IakRpL2c9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jbGktcnNhLXNoYTI1Ni5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2NsaS1yc2Etc2hhMjU2LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2IzZDliYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NsaS1yc2Etc2hhMjU2LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFB6Q0NBaWVnQXdJQkFnSUJCREFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRU5zYVdWdWRDQXlNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeUhURXpMbjV0WG5wUmRrVVlMQjl1NVB5YXg2ZgotTTYwTmo0bzhWbVhsM0VUWnpHYUZCOVg0SjdCS05kQmpuZ3B1RzdmYThINnI3Z3dRazRaSkdEVHpxQ3JTVi9VdQotMUM5M0tZUmhUWUpRajZlVlNIRDFiazJ5MVJQRDBocnQ1a1BxUWhUcmRPckE3Ui9VVjA2cDg2anQwdURCTUhFdwotTWpEVjAvWUkwRlpQUm83eVgvazlaNUdJTUM1Q3N0OTkrK1VNZC8vc01jQjRqNy9DZjhxdGJDSFdqZG1MYW81dgotNEp2NEVGYk1zNDRURmVZMEJHYkg3dmsyRG1xVjlnbWFCbWYwWlhINHlxU3hKZUQrUElzMUJHZTY0RTkyaGZ4LwotL0RacnRlbk5MUU5pVHJNOUFNK3ZkcUJwVm9OcTBxalU1MUJ4NXJVMkJYY0ZiWHZJNU1UOVROVWhYd0lEQVFBQgotbzAwd1N6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlJ4b1FCemNrQXZWSFplTS94U2o3engzV3RHSVRBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQwotQVFFQVhpZHYxZDRwTGxCaUtXRUQ5NXJNeWNCZGdEY2d5TnFKeGFrRmtSZlJ5QTJ5MW1seVRuN3VCWFJrTkxZNQotWkZ6SzgyR0NqazJRMk9ENFJaU0NQQUpKcUxwSEhVMzR0NzFjaWZmdnkyS0s4MVl2cnhjelJoTUFFNjRpK3FuYQoteVAzVGQyWHVXSlIwNVBWUG9TZW1zTkVMczlnV3R0ZG5ZeTNjZStFWTJZMG43UnNpNzk4MkVlTElBQTdINmNhNAotMkVzL05VSC8vSlpKVDMyT1AwZG9NeGVEUkErdnBsa0txVExMV2Y3ZFgyNkxJcmlCa0JhUkNnUjVZdjlMQlBGYwotTk90cHp1L0xiclk3UUZYS0pNSStKWER1ZENzT244S0NtaUE0ZDZFbWlzcWZoM1YzNDg1bDdIRVFOY3ZMVHhsRAotNnpEUXlpMC95a1lVWVprd1FUSzFOMk52bHc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jbGktcnNhLXNoYTI1Ni5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9jbGktcnNhLXNoYTI1Ni5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjczOWU5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2xpLXJzYS1zaGEyNTYuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY2xpLXJzYS1zaGEyNTYua2V5LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvY2xpLXJzYS1zaGEyNTYua2V5LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGVmNWEwNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NsaS1yc2Etc2hhMjU2LmtleS5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NsaS1yc2Eua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9jbGktcnNhLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWIxZDNiYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NsaS1yc2Eua2V5CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQotTUlJRXBBSUJBQUtDQVFFQXlIVEV6TG41dFhucFJka1VZTEI5dTVQeWF4NmZNNjBOajRvOFZtWGwzRVRaekdhRgotQjlYNEo3QktOZEJqbmdwdUc3ZmE4SDZyN2d3UWs0WkpHRFR6cUNyU1YvVXUxQzkzS1lSaFRZSlFqNmVWU0hEMQotYmsyeTFSUEQwaHJ0NWtQcVFoVHJkT3JBN1IvVVYwNnA4Nmp0MHVEQk1IRXdNakRWMC9ZSTBGWlBSbzd5WC9rOQotWjVHSU1DNUNzdDk5KytVTWQvL3NNY0I0ajcvQ2Y4cXRiQ0hXamRtTGFvNXY0SnY0RUZiTXM0NFRGZVkwQkdiSAotN3ZrMkRtcVY5Z21hQm1mMFpYSDR5cVN4SmVEK1BJczFCR2U2NEU5MmhmeC8vRFpydGVuTkxRTmlUck05QU0rdgotZHFCcFZvTnEwcWpVNTFCeDVyVTJCWGNGYlh2STVNVDlUTlVoWHdJREFRQUJBb0lCQUdkTnRmWURpYXA2YnpzdAoteWhDaUk4bTlUdHJoWnc0TWlzYUVhTi9sbDNYU2phT0cyZHZWNnhNWkNNVis1VGVYREhPQVpuWTE4WWkxOHZ6egotNFV0MlRuTkZ6aXpDRUNZTmFBMmZTVDNXZ0lubnhVa1YzWVhBeVA2Q054SmFDbXYyYUEweUZyMmtGVlNlYUtHdAoteW12bGpOcDJOVmt2bTdUaDhmQlFCTzdJN0FYaHo0M2swbVI3WG1QZ2V3ZThBcFpPRzNoc3RrT2FNdmJXQXZXQQotekNadXBkRGpaWWpPSnFsQTRlRUE0SDgvdzdGODNyNUN1Z2VCRThMZ0VSRWpMUGl5ZWpyVTVIMWZ1YkVZK2gwZAotbDVIWkJKNjh5YlRYZlE1VTlvL1FLQTNkZDB0b0JFaGhkUlVER3pXdGp2d2tFUWZxRjFyZUdXai90b2QvZ0NwZgotREZpNlgwRUNnWUVBNHdPdi9walNDM3R5NlR1T3ZLWDJyT1VpQnJMWFh2MkpTeFpuTW9NaVdJNWlwTFF0K1JZVAotVlBhZkwvbTdEbjZNYndqYXlPa2NaaEJ3azVDTno1QTZRNGxKNjRNcS9scUh6blJDUVEyTWMxRzhleURGL2ZZTAotWmUycEx2d1A5VkQ1alRjMm1pRGZ3K01udkpoeXdSUkxjZW1ERlA4azRoUVZ0bThQTXAzWm1ORUNnWUVBNGd6Nwotd3pPYlI0Z244aWJlNjE3dVFQWmpXelVqOWRVSFlkK2luMWd3QkNJcnRObmFSbjlJOVUvUTZ0ZWdSWXBpaTR5cwotYzE3Nk5tVSt1bXk2WG11U0tWNXFEOWJTcFpXRzJuTEZuc2xyTjE1TG0zZmhaeG9lTU5oQmFFRFRuTFQyNnlvaQotMzNncDBtU1NXeTk0WkVxaXBtcytVTEY2c1kxWnRGVzZ0cEdGb3k4Q2dZQVFIaG5udkpmbElzMmt5NHExMEI2MAotWmN4RnAzcnREcGtwMEp4aEZMaGlpekZydWpNdFpTallObTVVN0trZ1BWSGhMRUxFVXZDbU9uS1R0NGFwL3ZaMAotQnhKTmUxR1pIM3BXNlNBdkdEUXBsOXNHN3V1L3ZURlArbEN4dWttenhCMERyckRjdm9yRWtLTW9tN1pDQ1J2VwotS1pzWjZZZUgyWjgxQmF1UmoyMThrUUtCZ1FDVVYvRGdLUDI5ODV4RFRUNzlOMDhqVW8zaFRQNU1WWUNDdWovKwotVWVFdzFUdlpjeDNMSmJ5N1A2WGFkNmExL0JxdmVhR3lGS0lmRUZJYUJVQkl0azgwMXNERHBEYVljNGdMMDBYYwotN2xGdUJIT1preEpZbHNzNVFyR3B1T0VsOVp3VXQ1SXJGTEJkWWFLcU5Iek5WQzFwQ1BmYi9KeUg2RHIySFV4cQotZ3hVd0FRS0JnUUNjVTZHMkw4QUc5ZDljMFVwT3lMMXRNdkZlNVR0dzBLamxRVmRzaDFNUDZ5aWdZbzlEWXV3dQotYkhGVlcycjBkQlRxZWdQMi9LVE94S3phSGZDMXFmMFJHRHNVb0pDTkpyZDFjd29DTEc4UDJFRjR3M09CcktxdgotOHU0eXRZMEYrVmxhbmo1bG0zVGFvSFNWRjErTldQeU9UaXdldklFQ0dLd1N4dmxraTRmREFBPT0KLS0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jbGktcnNhLmtleS5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2NsaS1yc2Eua2V5LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGVmNWEwNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NsaS1yc2Eua2V5LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY2xpLm9wZW5zc2xjb25mIGIvdGVzdHMvZGF0YV9maWxlcy9jbGkub3BlbnNzbGNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlOWFiOWQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jbGkub3BlbnNzbGNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVtjbGktcnNhXQotc3ViamVjdEtleUlkZW50aWZpZXI9aGFzaAotYXV0aG9yaXR5S2V5SWRlbnRpZmllcj1rZXlpZDphbHdheXMsaXNzdWVyOmFsd2F5cwotYmFzaWNDb25zdHJhaW50cyA9IENBOmZhbHNlCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NsaTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9jbGkyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjI4N2ExOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NsaTIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCM3pDQ0FXT2dBd0lCQWdJQkRUQU1CZ2dxaGtqT1BRUURBZ1VBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERWNNQm9HQTFVRUF3d1RVRzlzWVhKVFUwd2dWR1Z6ZENCRlF5QkRRVEFlCi1GdzB4T1RBeU1UQXhORFEwTURCYUZ3MHlPVEF5TVRBeE5EUTBNREJhTUVFeEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERWZNQjBHQTFVRUF3d1dVRzlzWVhKVFUwd2dWR1Z6ZENCRGJHbGxiblFnCi1NakJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCRmZscnJGejM5T3N1NU80Z2Y4U3J1N21VNnpPCi1WVlAyTkE3TUx1TmpKUXZmbU9MelhHQTJsc0RWR0JSdzVYK2YxVXRGR09Xd2JOVmMrSmFQaDNDajVNZWpUVEJMCi1NQWtHQTFVZEV3UUNNQUF3SFFZRFZSME9CQllFRkhvQVg0WmsvT0JkNVJFUU83TG1POFFtUDgvaU1COEdBMVVkCi1Jd1FZTUJhQUZKMXRJQ1JKQVQ4cnkzaTFHYngrSk1uYit6WjhNQXdHQ0NxR1NNNDlCQU1DQlFBRGFBQXdaUUl4Ci1BTXFtZTRES01sZFVscGxERVQ5UTZFcHRyZTd1VVdLaHNMT0YrelBrS0RsZnpwSWtKWUVGZ2Nsb0RIR1l3ODB1Ci1JZ0l3TmZ0eVBYc2FiVHFNTTdpRUhnVnBYL0dSb3pLa2xZOXlRSS81ZW9BNmdHVzdZK2ltdUdSL29hbzV5U09iCi1hOVZrCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NsaTIuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvY2xpMi5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmEwYTFiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY2xpMi5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jbGkyLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvY2xpMi5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3NDdkMDkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jbGkyLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGNDQVFFRUlQYjNobVR4WjMvbVpJM3Z5azdwM1Uzd0JmK1dJb3A2aERoa0Z6SmhtTGNxb0FvR0NDcUdTTTQ5Ci1Bd0VIb1VRRFFnQUVWK1d1c1hQZjA2eTdrN2lCL3hLdTd1WlRyTTVWVS9ZMERzd3U0Mk1sQzkrWTR2TmNZRGFXCi13TlVZRkhEbGY1L1ZTMFVZNWJCczFWejRsbytIY0tQa3h3PT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY2xpMi5rZXkuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9jbGkyLmtleS5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjYmE2YTAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jbGkyLmtleS5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mdXp6X3g1MDljcnQtNjY2NjA1MDgzNDY2MTM3Ni5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZnV6el94NTA5Y3J0LTY2NjYwNTA4MzQ2NjEzNzYuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjRhNDkwMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mdXp6X3g1MDljcnQtNjY2NjA1MDgzNDY2MTM3Ni5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjgyZDk0Ni4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQmJqQ0I5Z0lCQVRBSkJnY3Foa2pPUFFRQk1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUQotYjJ4aGNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVJjTk1qTXdOVEUzTURjeAotTkRNNVdoY05Nek13TlRFM01EY3hORE01V2pBVU1CSUNBUW9YRFRJek1EVXhOekEzTVRRek9WcWdjakJ3TUc0RwotQTFVZEl3Um5NR1dBRkoxdElDUkpBVDhyeTNpMUdieCtKTW5iK3paOG9VS2tRREErTVFzd0NRWURWUVFHRXdKTwotVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZwotUTBHQ0NRREJRK0orWWtQTTZEQUpCZ2NxaGtqT1BRUUJBMmdBTUdVQ01RQ1JBdFhkN2tYZ2lqbE1YSFhyNm0wQgotSXpEYnBBQXdEd0NKdGdPemFyRjVoWktHRFplRHA2dnB0R1pLMHk0ME5zb0NNQUN4UnJYSVYrNktVQmlwRmFySQotMzZ5WERvQk5vbDJ4enN0NnA5Zk9nK3BybDZwN3ZPMXNSWXJJR2cxV0pHQTV3UT09Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjlmYWQ1MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCY1RDQjl3SUJBVEFLQmdncWhrak9QUVFEQWpBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJCi1VRzlzWVhKVFUwd3hIREFhQmdOVkJBTU1FMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEVYRFRJek1EVXhOekEzCi1NVFEwTUZvWERUTXpNRFV4TnpBM01UUTBNRm93RkRBU0FnRUtGdzB5TXpBMU1UY3dOekUwTkRCYW9ISXdjREJ1Ci1CZ05WSFNNRVp6QmxnQlNkYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZktGQ3BFQXdQakVMTUFrR0ExVUVCaE1DCi1Ua3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjBJRVZECi1JRU5CZ2drQXdVUGlmbUpEek9nd0NnWUlLb1pJemowRUF3SURhUUF3WmdJeEFPRkNxNHRTN3MyNytLU2htaDRuCi16YXZwTEJRVWJxeWprSDlkSmswamc4NjJZWGppck91OW9DT29XdFpRejYvTGhRSXhBSmJ0T1N3Sk5xMEYvRlRxCi1OWWhQN2liRTFqYWQ5VGJzNmlndFo3WjlOTjdWNXVwbm5MNFNWRVRVOXB2eTl6aCt0dz09Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1mdXR1cmUucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcmwtZnV0dXJlLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTkzODIxOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1mdXR1cmUucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCZ3pDQ0FRb0NBUUV3Q1FZSEtvWkl6ajBFQVRBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hIREFhQmdOVkJBTVRFMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEVYRFRNeU1ETXhNREV4Ci1NRFV4TlZvWERUUXlNRE13T0RFeE1EVXhOVm93S0RBU0FnRUtGdzB4TXpBNU1qUXhOakk0TXpoYU1CSUNBUllYCi1EVEUwTURFeU1ERXpORE13TlZxZ2NqQndNRzRHQTFVZEl3Um5NR1dBRkoxdElDUkpBVDhyeTNpMUdieCtKTW5iCi0relo4b1VLa1FEQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEhEQWFCZ05WCi1CQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBHQ0NRREJRK0orWWtQTTZEQUpCZ2NxaGtqT1BRUUJBMmdBCi1NR1VDTVFDbXN2TnNPUWRiR3BtenBlWmxLVTlsRFA2eXlXZW5ySS84OXN3WllvZ0UzY1NQb2I0dE96ZVlnMzhpCi1vcjkxSVBnQ01EN04vMFF6Nk5xMklnQnRaT1JMZ3NBMGx0SytXNkFPUysvRUlodkd1WFY4dWd1VXlZa25sNHZiCi0rY0UrbFd4aENRPT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLWZ1dHVyZVJldm9jYXRpb25EYXRlLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLWZ1dHVyZVJldm9jYXRpb25EYXRlLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjE0N2E4Zi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1mdXR1cmVSZXZvY2F0aW9uRGF0ZS5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJxekNCbERBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0kKLVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFWERUSTRNVEl6TURJek1EQXcKLU1Gb1hEVEk1TVRJek1ESXpNREF3TUZvd0tEQVNBZ0VCRncweU9UQXhNREV4TWpRME1EZGFNQklDQVFNWERUSTUKLU1ERXdNVEV5TkRRd04xb3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBS2JMMW1EcHpDYkxKbVJaS00yS0hQdksKLWlqUzRVTW5hbnp6WXBMQXdvbTFOSTY5djJmRTEvRWZpWHYwZW1wRTZtRnFuTHdPRzRaUDhmRUNmeGpNWE8yRWUKLVZoeFlpUmpseTZxOWhmSVVrMWUrTjljdDh1bk5uTEVCdmY2U3lmeTkrRlNPM1EvYWhsanBZbFhzWHhnNjJXWGwKLTl4cDViNU9rKy8wc0N2MGVMNXVGUUtYUWE4aFM5ZFpvNnB5N2p2RkRRQyt3VmF1MW1YalFXODVpWE1MbTd2aWsKLTRsUitrZlpsb2VxMWpJYnN4OGNkTWkzMllWdDd1Y2NhcW9GY2p0cmRyV2ZHbWkwd3ZsRGM4SzVKMGw0dEl4WlkKLTlQK1Q0ZnpTZ1FMZHFHWjN4QURoZUVhR1RSVkwvNW9lNUw0elJIMzJCWk9OTUZDaWp2K2oxU3BXTHhIRThjTT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMS1iYWRzaWduLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMS1iYWRzaWduLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDIzNjkxMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTEtYmFkc2lnbi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUNKRENDQVFZQ0FRRXdFd1lKS29aSWh2Y05BUUVLTUFhaUJBSUNBT293T3pFTE1Ba0dBMVVFQmhNQ1Rrd3gKLUVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sa3dGd1lEVlFRRERCQlFiMnhoY2xOVFRDQlVaWE4wSUVOQkZ3MHkKLU16QTFNVGN3T0RBM05EbGFGdzB6TXpBMU1UY3dPREEzTkRsYU1DZ3dFZ0lCQ2hjTk1qTXdOVEUzTURnd056UTUKLVdqQVNBZ0VXRncweU16QTFNVGN3T0RBM05EbGFvR2N3WlRCakJnTlZIU01FWERCYWdCUzBXdVNsczk3U1V2YTUKLTFhYVZEK3Mrdk1mOS82RS9wRDB3T3pFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk0KLU1Sa3dGd1lEVlFRRERCQlFiMnhoY2xOVFRDQlVaWE4wSUVOQmdnRURNQk1HQ1NxR1NJYjNEUUVCQ2pBR29nUUMKLUFnRHFBNElCQVFDTVVlcEVmQVhzMUczaERFN3JjSVBUL0FGdi9vTFFTVndSRThPMkc1cjRqMENnek42Q1NHTmkKLThxZkZWWDZmN2RzK1FNNHB4QVhrNUZINFFKSmtldjBaQlF4bUEvWkRMRUZtbUNFZlBNc0E2OW5HLy9YZXErWHoKLVpPcUpwQWV3bVhvUDJVVXhWNXJScEFJcjlnOU52RGtUVDAxMmVRRXBvR2tKbHB4T2xuMVZXK0RrMjRQQ1pGV2YKLU5mOEdNVXpVc1hmWG03WmRDZXVjOFpEWU5tYTBuV0FNUjlKdzZxYUVoeUg0RmQvc2NGdlhpRi9pNGNwVnA4UmsKLU03MXdTckNDMHBrRnp3NC9iWU1uZjBhSGxlL2xOZzVlNzhTQVQrLzZQQThwWEw3VXJjMEl1Zk9meENHd3FZMjcKLUlYU1RyWkpqNFdlUU1rMjg5cEljY01IajVEVVNvNHUwCi0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTEucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGExLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEyOWMwYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTEucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlDSkRDQ0FRWUNBUUV3RXdZSktvWklodmNOQVFFS01BYWlCQUlDQU9vd096RUxNQWtHQTFVRUJoTUNUa3d4Ci1FVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUmt3RndZRFZRUUREQkJRYjJ4aGNsTlRUQ0JVWlhOMElFTkJGdzB5Ci1NekExTVRjd09EQTNORGxhRncwek16QTFNVGN3T0RBM05EbGFNQ2d3RWdJQkNoY05Nak13TlRFM01EZ3dOelE1Ci1XakFTQWdFV0Z3MHlNekExTVRjd09EQTNORGxhb0djd1pUQmpCZ05WSFNNRVhEQmFnQlMwV3VTbHM5N1NVdmE1Ci0xYWFWRCtzK3ZNZjkvNkUvcEQwd096RUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NCi1NUmt3RndZRFZRUUREQkJRYjJ4aGNsTlRUQ0JVWlhOMElFTkJnZ0VETUJNR0NTcUdTSWIzRFFFQkNqQUdvZ1FDCi1BZ0RxQTRJQkFRQ01VZXBFZkFYczFHM2hERTdyY0lQVC9BRnYvb0xRU1Z3UkU4TzJHNXI0ajBDZ3pONkNTR05pCi04cWZGVlg2ZjdkcytRTTRweEFYazVGSDRRSkprZXYwWkJReG1BL1pETEVGbW1DRWZQTXNBNjluRy8vWGVxK1h6Ci1aT3FKcEFld21Yb1AyVVV4VjVyUnBBSXI5ZzlOdkRrVFQwMTJlUUVwb0drSmxweE9sbjFWVytEazI0UENaRldmCi1OZjhHTVV6VXNYZlhtN1pkQ2V1YzhaRFlObWEwbldBTVI5Snc2cWFFaHlINEZkL3NjRnZYaUYvaTRjcFZwOFJrCi1NNzF3U3JDQzBwa0Z6dzQvYllNbmYwYUhsZS9sTmc1ZTc4U0FUKy82UEE4cFhMN1VyYzBJdWZPZnhDR3dxWTI3Ci1JWFNUclpKajRXZVFNazI4OXBJY2NNSGo1RFVTbzR1TwotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGEyMjQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGEyMjQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTA4YjNkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMjI0LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQ2dqQ0NBVFVDQVFFd1FnWUpLb1pJaHZjTkFRRUtNRFdnRHpBTkJnbGdoa2dCWlFNRUFnUUZBS0VjTUJvRwotQ1NxR1NJYjNEUUVCQ0RBTkJnbGdoa2dCWlFNRUFnUUZBS0lFQWdJQTRqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEVYRFRJegotTURVeE56QTRNRGMwT1ZvWERUTXpNRFV4TnpBNE1EYzBPVm93S0RBU0FnRUtGdzB5TXpBMU1UY3dPREEzTkRsYQotTUJJQ0FSWVhEVEl6TURVeE56QTRNRGMwT1ZxZ1p6QmxNR01HQTFVZEl3UmNNRnFBRkxSYTVLV3ozdEpTOXJuVgotcHBVUDZ6Njh4LzMvb1Qra1BUQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eAotR1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEdDQVFNd1FnWUpLb1pJaHZjTkFRRUtNRFdnRHpBTgotQmdsZ2hrZ0JaUU1FQWdRRkFLRWNNQm9HQ1NxR1NJYjNEUUVCQ0RBTkJnbGdoa2dCWlFNRUFnUUZBS0lFQWdJQQotNGdPQ0FRRUFOc0VsSzVxTWF2Y2dCWHNxZ3lzQ0lJd0VQaitkWGRCT3dYVzE3SFdoMmpjU3dBc3NGTlJ4aGlJYwotUG9VamoyZk5sYk9XWExQb3hYQml0Z2tKMzFVQVlDdGVHU3YzajVQM1dFdXJpVndDRzg4OUpFb01XbjlVNCtmOQotZjVqU1ZOZnlueWlBT2l3cEEwVHJPaFpPQXM5U0VqNzQyUzFwemhzYjl5YU9YZVFYTm5EdjhIWWUzdVg5L0Q5dwoteW5vdCsvRXdDWUV1dks4WFE2cW5WNjU4OE5IRUFkOXgrT2NWOXB4V3JtVUU4TXV6MUtmZkJ3RDUrU09XK1RhagotNGZLUVBjS0pvUlhPS3lMWHBPejd5TWwvNmZDZjZoM1FqL0g0WUkvMmdzV0kwaWR1S29YRHN1UWtNRWRQVFp2awotN1A4OFlLMy80TVJlYVpTM3NEeWhoVXJvakVMUFh3PT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMjU2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMjU2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjZmNzkzNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTI1Ni5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUNnakNDQVRVQ0FRRXdRZ1lKS29aSWh2Y05BUUVLTURXZ0R6QU5CZ2xnaGtnQlpRTUVBZ0VGQUtFY01Cb0cKLUNTcUdTSWIzRFFFQkNEQU5CZ2xnaGtnQlpRTUVBZ0VGQUtJRUFnSUEzakE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFWERUSXoKLU1EVXhOekE0TURjME9Wb1hEVE16TURVeE56QTRNRGMwT1Zvd0tEQVNBZ0VLRncweU16QTFNVGN3T0RBM05EbGEKLU1CSUNBUllYRFRJek1EVXhOekE0TURjME9WcWdaekJsTUdNR0ExVWRJd1JjTUZxQUZMUmE1S1d6M3RKUzlyblYKLXBwVVA2ejY4eC8zL29UK2tQVEE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3gKLUdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBHQ0FRTXdRZ1lKS29aSWh2Y05BUUVLTURXZ0R6QU4KLUJnbGdoa2dCWlFNRUFnRUZBS0VjTUJvR0NTcUdTSWIzRFFFQkNEQU5CZ2xnaGtnQlpRTUVBZ0VGQUtJRUFnSUEKLTNnT0NBUUVBSEx6dlJGMFJWUUw0OFpHVkZuVGsxbnNPSFhWSFMwVVZNSXRzSUx1clhKNFhyT2dOMUk3aVR6dTIKLXdZTnRncitUMTVqd3NQZGdVK0dnMzEyN3ZiMkRqbTBJVVgwZENmWXBTRlJVdjhCamFLOTYyWlBqTTBya1doQzYKLUpVVFdTTE1BTXk0U2NxY29DN2U0dnVOMmg0a1BPemx2REJJaHpXS0EwMyt0YUF0dUlPV2pYWnUyL0N5ZWdneHMKLW9YQVJLSThCRXY0Yjk0eHdpRkpNb011emNZQWt1RElINE1SWUFOVmdPUy96bmNDUlM5RDVaZXJmb0J0NzBMS1gKLW56SnRUNGEwWG94YlVKZVU4TVowZlI1YUFIVVF1bEFQQTlDTW1Cc0hrU3g3cHpBQWhDd3gvdlhibldQeWhBNkcKLVhHNmdDS2NEUjVQWlF2UU5naTI5U0xsaFJUVDVUQT09Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTM4NC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTM4NC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1NDMxZjAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGEzODQucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlDZ2pDQ0FUVUNBUUV3UWdZSktvWklodmNOQVFFS01EV2dEekFOQmdsZ2hrZ0JaUU1FQWdJRkFLRWNNQm9HCi1DU3FHU0liM0RRRUJDREFOQmdsZ2hrZ0JaUU1FQWdJRkFLSUVBZ0lBempBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEl6Ci1NRFV4TnpBNE1EYzFNRm9YRFRNek1EVXhOekE0TURjMU1Gb3dLREFTQWdFS0Z3MHlNekExTVRjd09EQTNOVEJhCi1NQklDQVJZWERUSXpNRFV4TnpBNE1EYzFNRnFnWnpCbE1HTUdBMVVkSXdSY01GcUFGTFJhNUtXejN0SlM5cm5WCi1wcFVQNno2OHgvMy9vVCtrUFRBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4Ci1HVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwR0NBUU13UWdZSktvWklodmNOQVFFS01EV2dEekFOCi1CZ2xnaGtnQlpRTUVBZ0lGQUtFY01Cb0dDU3FHU0liM0RRRUJDREFOQmdsZ2hrZ0JaUU1FQWdJRkFLSUVBZ0lBCi16Z09DQVFFQW5adk1vM25tS1hQVitxNG0xQ2RNQTdqVXRkYW5KQkhEQXYyK0xaTHE0VDFRcHlOK25tTEVCMXlYCi1BUk44LzVQeDQ3em03WHladzZISTFJbDM0TWpibEFLSVBCVlhvc3dqNFlMUmNlaWp3aUcxYnhraDFLejNsY1YwCi1HQ05QTm83dE1QaWk5aUFUV2xWeldCQ3p4MnJMbXQveXMwRHROUkNNSVNPWUdXMUhreXVPMjhkd0E2blVKd1NTCi1EZGpyM2lpbGF2bkJkcHpkZEg5QWlONUZtMHNmckZCQU54NzlReXAwL3I4aHFydjdyVDMzbWFlUktqM1M0ZTlHCi16cE82dUhQQWg5T2JvOTNEeHBLcFhvTXd4RGlIditid0hQTzRKMVlPaXJ5eS9LWm1IaHpVTVBmdlAwOXBHZzlmCi16R08vYk95aUhHSDBMZjRGOUpWTXhwZml0ZGJ0d2c9PQotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGE1MTIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGE1MTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWYyYjdjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhNTEyLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQ2dqQ0NBVFVDQVFFd1FnWUpLb1pJaHZjTkFRRUtNRFdnRHpBTkJnbGdoa2dCWlFNRUFnTUZBS0VjTUJvRwotQ1NxR1NJYjNEUUVCQ0RBTkJnbGdoa2dCWlFNRUFnTUZBS0lFQWdJQXZqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEVYRFRJegotTURVeE56QTRNRGMxTUZvWERUTXpNRFV4TnpBNE1EYzFNRm93S0RBU0FnRUtGdzB5TXpBMU1UY3dPREEzTlRCYQotTUJJQ0FSWVhEVEl6TURVeE56QTRNRGMxTUZxZ1p6QmxNR01HQTFVZEl3UmNNRnFBRkxSYTVLV3ozdEpTOXJuVgotcHBVUDZ6Njh4LzMvb1Qra1BUQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eAotR1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEdDQVFNd1FnWUpLb1pJaHZjTkFRRUtNRFdnRHpBTgotQmdsZ2hrZ0JaUU1FQWdNRkFLRWNNQm9HQ1NxR1NJYjNEUUVCQ0RBTkJnbGdoa2dCWlFNRUFnTUZBS0lFQWdJQQotdmdPQ0FRRUF0TVBwUU1ldDlCZk1STGcwQVc5UWZMM1Fra3RWN3hrKytCcVlGT1l5bkJpcXhqUUg0QUt1M3dVOAotZWlHZDMrMnhOcFFkMi9zRzdVVU5vMVZubDlnQ0hSaVQ0YmplNitDZHZ2cWFaS1NncG1zaXp0YmdCQVlPUnJpRgotZmxLT0tPT1FUeGFpa3FKNHQ3dnA3MjdKbXN0QUR1eWl6VGdPQkUwazNWMWdsYXM4QjBHMTIyWWhlZUhGMDJTNAotKzMzTnNzNGhiZmJUaWxSMFJjY09hcWlYekY5YmtGc1RsRDVLZ3lVRlpiRnRkeSsxekhaTG5SVUFKQTFIbURlUAotcjVwMm1KeEt3WG1aekxudy9GUGE4ZlVINjY1VEtZazA4QXVJcE4rVkhkUHdpQm9ZSEoyWVpKV2dNKzFxSHExeQotdGx5b0FPQzZiZXFzaDlPZnhjUVphRWlXYlVJOXlRPT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvY3JsLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWExYmRkMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJxekNCbERBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0kKLVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFWERUSXpNRFV4TnpBM01UUXoKLU9Gb1hEVE16TURVeE56QTNNVFF6T0Zvd0tEQVNBZ0VCRncweU16QTFNVGN3TnpFME16aGFNQklDQVFNWERUSXoKLU1EVXhOekEzTVRRek9Gb3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBRUtHZi9LWW52M0VwRmlFc1BpaTVmM1MKLUNFZ0QwTkw0NHJZSVU3bjlvQklxZ3F4UDkzdERlcXdxdnYvb0RZQkE0MWZ1Z3hVNjNuTzVxS240eHN6S04vdzAKLWUzR0RnNmloRkZ6MndPNk5FMzdXZm4zbFZJdk1iYm9OeU1HcUgxQ1RxVGJOY3NhbThEaHZJTENNa0c2MGtWNjYKLXBTVkdWSUpmdER6RSszM21VdW5kUU1ZejR3TjRRSkZHUlNmSFc3NDVpb3dGOWVqaVBzZkFuNGdPOWVMRHJSbUEKLUMwb2VkTnlSTGo2amZHUnRhUWRkbENqQ0FHd05sSUpCZS9JaGl4YWZXOWc4ZGVHUEhKdThSU2xKL1E3N3BnangKLTdXY2N3Q3orZFdQK3VxaThmd2dlckhZZFRqaUF2RlZ1MVlkNEtBNVdUbmR6STN3ekp3YmRaWjA4T2ZETG15VT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsX2NhdF9lYy1yc2EucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcmxfY2F0X2VjLXJzYS5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhZmExZDQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jcmxfY2F0X2VjLXJzYS5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJjVENCOXdJQkFUQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0kKLVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRVhEVEl6TURVeE56QTMKLU1UUTBNRm9YRFRNek1EVXhOekEzTVRRME1Gb3dGREFTQWdFS0Z3MHlNekExTVRjd056RTBOREJhb0hJd2NEQnUKLUJnTlZIU01FWnpCbGdCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmS0ZDcEVBd1BqRUxNQWtHQTFVRUJoTUMKLVRrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMElFVkQKLUlFTkJnZ2tBd1VQaWZtSkR6T2d3Q2dZSUtvWkl6ajBFQXdJRGFRQXdaZ0l4QU9GQ3E0dFM3czI3K0tTaG1oNG4KLXphdnBMQlFVYnF5amtIOWRKazBqZzg2MllYamlyT3U5b0NPb1d0WlF6Ni9MaFFJeEFKYnRPU3dKTnEwRi9GVHEKLU5ZaFA3aWJFMWphZDlUYnM2aWd0WjdaOU5ON1Y1dXBubkw0U1ZFVFU5cHZ5OXpoK3R3PT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQnF6Q0JsREFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SQotVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEVYRFRJek1EVXhOekEzTVRRegotT0ZvWERUTXpNRFV4TnpBM01UUXpPRm93S0RBU0FnRUJGdzB5TXpBMU1UY3dOekUwTXpoYU1CSUNBUU1YRFRJegotTURVeE56QTNNVFF6T0Zvd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFFS0dmL0tZbnYzRXBGaUVzUGlpNWYzUwotQ0VnRDBOTDQ0cllJVTduOW9CSXFncXhQOTN0RGVxd3F2di9vRFlCQTQxZnVneFU2M25PNXFLbjR4c3pLTi93MAotZTNHRGc2aWhGRnoyd082TkUzN1dmbjNsVkl2TWJib055TUdxSDFDVHFUYk5jc2FtOERodklMQ01rRzYwa1Y2NgotcFNWR1ZJSmZ0RHpFKzMzbVV1bmRRTVl6NHdONFFKRkdSU2ZIVzc0NWlvd0Y5ZWppUHNmQW40Z085ZUxEclJtQQotQzBvZWROeVJMajZqZkdSdGFRZGRsQ2pDQUd3TmxJSkJlL0loaXhhZlc5ZzhkZUdQSEp1OFJTbEovUTc3cGdqeAotN1djY3dDeitkV1ArdXFpOGZ3Z2VySFlkVGppQXZGVnUxWWQ0S0E1V1RuZHpJM3d6SndiZFpaMDhPZkRMbXlVPQotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jcmxfY2F0X2VjZnV0LXJzYS5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2NybF9jYXRfZWNmdXQtcnNhLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjUwM2E1Yi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybF9jYXRfZWNmdXQtcnNhLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQmd6Q0NBUW9DQVFFd0NRWUhLb1pJemowRUFUQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSQotVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFWERUTXlNRE14TURFeAotTURVeE5Wb1hEVFF5TURNd09ERXhNRFV4TlZvd0tEQVNBZ0VLRncweE16QTVNalF4TmpJNE16aGFNQklDQVJZWAotRFRFME1ERXlNREV6TkRNd05WcWdjakJ3TUc0R0ExVWRJd1JuTUdXQUZKMXRJQ1JKQVQ4cnkzaTFHYngrSk1uYgotK3paOG9VS2tRREErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNoTUlVRzlzWVhKVFUwd3hIREFhQmdOVgotQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwR0NDUURCUStKK1lrUE02REFKQmdjcWhrak9QUVFCQTJnQQotTUdVQ01RQ21zdk5zT1FkYkdwbXpwZVpsS1U5bERQNnl5V2VuckkvODlzd1pZb2dFM2NTUG9iNHRPemVZZzM4aQotb3I5MUlQZ0NNRDdOLzBRejZOcTJJZ0J0Wk9STGdzQTBsdEsrVzZBT1MrL0VJaHZHdVhWOHVndVV5WWtubDR2YgotK2NFK2xXeGhDUT09Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJxekNCbERBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0kKLVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFWERURTVNREl3TmpFMk16UTAKLU5sb1hEVEk1TURJd05qRTJNelEwTmxvd0tEQVNBZ0VCRncweE1UQXlNVEl4TWpRME1EZGFNQklDQVFNWERURXgKLU1ESXhNakV5TkRRd04xb3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBR0hrUkhHRHoySHNvaVh6ZkpEQnBrZmcKLUkreUszNE85em9ITXlHY0RaYkY5Zmo0TlZ5eU5BNlhDZ1kzSWdRWWUzYm9BMWVkTzYrOEltanFpWmpZSytHV3QKLTRuZTdZaGFwUkZBb0ZiS1FZNWhneThtbHBTUmxOZm1SVlZDRERLYW5uTWFjNHRRZmYxTENGSE44bXNrL3VHMWIKLVdIV0FzTDZkekxWb2poYlVGWTZtWlRiNm5xam01WWdxY3NOc3ozN240ZHlyQ0RmdEI5OUZRZEUvYUFlYzJSWFAKLUpneTlEblk1ak1vdFBxSExadE15ZlZORW9pdkRiN1lKQTVWdjZOU3lpWVZUanlXeVRITlJzRkVYUnRIcWpwcXMKLW9aZEJnTFpBQVFzVXZ1VnBNYkRLUTRGclpqT2FPVy94THRLUGxoL0hOQTVwN2hOdHdJaUNBSXZwN3VRdGkwdz0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsX2NhdF9yc2EtZWMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcmxfY2F0X3JzYS1lYy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyZWNjY2MuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jcmxfY2F0X3JzYS1lYy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJxekNCbERBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0kKLVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFWERUSXpNRFV4TnpBM01UUXoKLU9Gb1hEVE16TURVeE56QTNNVFF6T0Zvd0tEQVNBZ0VCRncweU16QTFNVGN3TnpFME16aGFNQklDQVFNWERUSXoKLU1EVXhOekEzTVRRek9Gb3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBRUtHZi9LWW52M0VwRmlFc1BpaTVmM1MKLUNFZ0QwTkw0NHJZSVU3bjlvQklxZ3F4UDkzdERlcXdxdnYvb0RZQkE0MWZ1Z3hVNjNuTzVxS240eHN6S04vdzAKLWUzR0RnNmloRkZ6MndPNk5FMzdXZm4zbFZJdk1iYm9OeU1HcUgxQ1RxVGJOY3NhbThEaHZJTENNa0c2MGtWNjYKLXBTVkdWSUpmdER6RSszM21VdW5kUU1ZejR3TjRRSkZHUlNmSFc3NDVpb3dGOWVqaVBzZkFuNGdPOWVMRHJSbUEKLUMwb2VkTnlSTGo2amZHUnRhUWRkbENqQ0FHd05sSUpCZS9JaGl4YWZXOWc4ZGVHUEhKdThSU2xKL1E3N3BnangKLTdXY2N3Q3orZFdQK3VxaThmd2dlckhZZFRqaUF2RlZ1MVlkNEtBNVdUbmR6STN3ekp3YmRaWjA4T2ZETG15VT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQmNUQ0I5d0lCQVRBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SQotVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFWERUSXpNRFV4TnpBMwotTVRRME1Gb1hEVE16TURVeE56QTNNVFEwTUZvd0ZEQVNBZ0VLRncweU16QTFNVGN3TnpFME5EQmFvSEl3Y0RCdQotQmdOVkhTTUVaekJsZ0JTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZLRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQwotVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wSUVWRAotSUVOQmdna0F3VVBpZm1KRHpPZ3dDZ1lJS29aSXpqMEVBd0lEYVFBd1pnSXhBT0ZDcTR0UzdzMjcrS1NobWg0bgotemF2cExCUVVicXlqa0g5ZEprMGpnODYyWVhqaXJPdTlvQ09vV3RaUXo2L0xoUUl4QUpidE9Td0pOcTBGL0ZUcQotTlloUDdpYkUxamFkOVRiczZpZ3RaN1o5Tk43VjV1cG5uTDRTVkVUVTlwdnk5emgrdHc9PQotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9jcmxfY2F0X3JzYWJhZHBlbS1lYy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2NybF9jYXRfcnNhYmFkcGVtLWVjLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTAzNWUxOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2NybF9jYXRfcnNhYmFkcGVtLWVjLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQnF6Q0JsREFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSQotVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1URUZCdmJHRnlVMU5NSUZSbGMzUWdRMEVYRFRFeE1ESXlNREV3TWpJMQotT1ZvWERURTVNVEV5TlRFd01qSTFPVm93S0RBU0FnRUJGdzB4TVRBeU1USXhORFEwTURkYU1CSUNBUU1YRFRFeAotTURJeE1qRTBORFF3TjFvd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFKWXVXZEtQZGJsTVZXQ254cE1uY2h1TAotZHFXeksyQkEwUmVsQ2FHanB4dXdYM05tTERtKzVoS2phL0RKeGFScVRPZjRSU0Mza2NYOENkSWxkc0xPOTZkegotLy93QVFkRlBEaHk2QUZUNXZLVE84SXRQSERiN3FGT3FGcXBlSmk1WE4xeW9aR1RCMWVpMG1nRDN4QmFLYnA2VQoteUNPWkpTSUZvbXQ3cGlUNEdjZ1dWSExVbXB5SEREZW9kTmhZUHJOMGpmMm1yK0VDZDlmUUpZZHoxcW0wWHgrUQotTmJLWERpUFJtUFgwcVZsZUNaU2VTcDFKQW1VNEdvQ08rOTZxUVVwamdsbCs2eFd5YTNVTmo2MWY5c2gwWnpyNwotNXVnMkxabzV1Qk0vTHBOUjFLM1RMeE5DY2c3dVVQVG45cjE0M2Q3aXZKaFBsM3RFSm40UFhqdjZtbExvT2dVCi0tLS0tLUVORCBYNTA5IENSTC0tLS0tCi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJjVENCOXdJQkFUQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNoTUkKLVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRVhEVEV6TURreU5ERTIKLU16RXdPRm9YRFRJek1Ea3lNakUyTXpFd09Gb3dGREFTQWdFS0Z3MHhNekE1TWpReE5qSTRNemhhb0hJd2NEQnUKLUJnTlZIU01FWnpCbGdCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmS0ZDcEVBd1BqRUxNQWtHQTFVRUJoTUMKLVRrd3hFVEFQQmdOVkJBb1RDRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUURFeE5RYjJ4aGNuTnpiQ0JVWlhOMElFVkQKLUlFTkJnZ2tBd1VQaWZtSkR6T2d3Q2dZSUtvWkl6ajBFQXdJRGFRQXdaZ0l4QUt1UTY4NHM3Z3lodHhLSnI2TG4KLVMyQlEwMmYxampQSHJaVmRYYVp2bTNDNXRHaTJjS2tvSzFhTWl5QzNMc1JDdUFJeEFJTWhqMFRtY3VJWnI1ZlgKLWc1UkJ5RDd6VW5aQnBvRUFkZ3hGeTRKUEoySVZpV09QZWtTR2g4Yi9KWTFWTlM2WmJ3PT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsX2V4cGlyZWQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcmxfZXhwaXJlZC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmNjBhZTQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jcmxfZXhwaXJlZC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJxekNCbERBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNoTUkKLVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNVEVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFWERURXhNREl5TURFd01qUXgKLU9Wb1hEVEV4TURJeU1ERXhNalF4T1Zvd0tEQVNBZ0VCRncweE1UQXlNVEl4TkRRME1EZGFNQklDQVFNWERURXgKLU1ESXhNakUwTkRRd04xb3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBS2dQMVhtQ0lQYmZZMS9VTytTVkZRaXIKLWpBclo5NFFuUWRvYW40dEoyOWQ4RG1UeEorejkvS3lXTm9HZU93YzlQLzJHUVFhWmFoUU9CcjBmNmxZZDY3Q3QKLXdGVmgvUTJ6RjhGZ1JjclFWN3UvdkpNMzNRMnlFc1FrTUdsTTdyRTVsQzk3MnZVS1d1L05LcThiTjlXL3RXeFoKLVNGYnZUWHB2MDI0YUkwSVJ1ZHBPQ0FMbkl5OFNGaFZiMi81MklOMnVSNnFyRml6RGV4TUVkU2NrZ3BIdUp6R1MKLUlpQU5oSU1uNUxkUVlKRmpQZ0J6UVUxMnREZGd6Y3B4dEdoVDEweTR1UXJlK1ViU2p3K2lWeW1sM2lzc3c1OWsKLU9TbWtXRmIwNkxhbVJDMjE1SkFNb2szWVFPNVJueENSOEVqcVBjSnIrNytPOWExTzErK3lpYWl0ZzRiVWpFQT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2NybF9zaGEyNTYucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjM2NhMjU2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJxekNCbERBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNoTUkKLVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNVEVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFWERURXhNREl4TWpFME5EUXcKLU4xb1hEVEV4TURReE16RTBORFF3TjFvd0tEQVNBZ0VCRncweE1UQXlNVEl4TkRRME1EZGFNQklDQVFNWERURXgKLU1ESXhNakUwTkRRd04xb3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBRzRtQkJnd2ZOeW5DWVlMMkNFbnFvcmUKLW1nS3BDMzJ0QjZXaVVCdTlmaWdjdmROM25TWC8xd3JCOHJwaUU4UjA0QzhvU0ZnbHdob3RKQ25sV3N5NDJ0amIKLTBwazBXdWl6bG4wUEZNYy9PeXBxUk5OaHd4MzFTSEg0Mlc0S3pPTmlxdnEzbi9Xa0gzTTFZbmlSMVpuTWx5dmkKLWxKaW9RbjZaQW9jNk82bU1QMUo5ZHVLWVloaU1BT1Y5OTJQRDEvaXFYdytqWU4zMVJ3ZElTOC9tR3pJczRha2UKLUVkdml3aE0zRTQvc1ZiTk9XQ09uWkZZVjRtK3lOQUVlMjlITDFWS3c2VVhpeEJjemN0K2JycVhOVkQzVTZUMEYKLTVvdlI2QlRlZlpPMTdlVDUyRHVrZTVSWkdEVXlRT0d5d3hPWUtJNVcrRmNPWWRwK1U1SWRrMzk5dEF6Mk1kdz0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvY3J0X2NhdF9yc2FleHAtZWMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9jcnRfY2F0X3JzYWV4cC1lYy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmNzRjOWEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9jcnRfY2F0X3JzYWV4cC1lYy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJxekNCbERBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNoTUkKLVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNVEVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFWERURXhNREl5TURFd01qUXgKLU9Wb1hEVEV4TURJeU1ERXhNalF4T1Zvd0tEQVNBZ0VCRncweE1UQXlNVEl4TkRRME1EZGFNQklDQVFNWERURXgKLU1ESXhNakUwTkRRd04xb3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBS2dQMVhtQ0lQYmZZMS9VTytTVkZRaXIKLWpBclo5NFFuUWRvYW40dEoyOWQ4RG1UeEorejkvS3lXTm9HZU93YzlQLzJHUVFhWmFoUU9CcjBmNmxZZDY3Q3QKLXdGVmgvUTJ6RjhGZ1JjclFWN3UvdkpNMzNRMnlFc1FrTUdsTTdyRTVsQzk3MnZVS1d1L05LcThiTjlXL3RXeFoKLVNGYnZUWHB2MDI0YUkwSVJ1ZHBPQ0FMbkl5OFNGaFZiMi81MklOMnVSNnFyRml6RGV4TUVkU2NrZ3BIdUp6R1MKLUlpQU5oSU1uNUxkUVlKRmpQZ0J6UVUxMnREZGd6Y3B4dEdoVDEweTR1UXJlK1ViU2p3K2lWeW1sM2lzc3c1OWsKLU9TbWtXRmIwNkxhbVJDMjE1SkFNb2szWVFPNVJueENSOEVqcVBjSnIrNytPOWExTzErK3lpYWl0ZzRiVWpFQT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQmNUQ0I5d0lCQVRBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSQotVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFWERURXpNRGt5TkRFMgotTXpFd09Gb1hEVEl6TURreU1qRTJNekV3T0Zvd0ZEQVNBZ0VLRncweE16QTVNalF4TmpJNE16aGFvSEl3Y0RCdQotQmdOVkhTTUVaekJsZ0JTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZLRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQwotVGt3eEVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRREV4TlFiMnhoY25OemJDQlVaWE4wSUVWRAotSUVOQmdna0F3VVBpZm1KRHpPZ3dDZ1lJS29aSXpqMEVBd0lEYVFBd1pnSXhBS3VRNjg0czdneWh0eEtKcjZMbgotUzJCUTAyZjFqalBIclpWZFhhWnZtM0M1dEdpMmNLa29LMWFNaXlDM0xzUkN1QUl4QUlNaGowVG1jdUlacjVmWAotZzVSQnlEN3pVblpCcG9FQWRneEZ5NEpQSjJJVmlXT1Bla1NHaDhiL0pZMVZOUzZaYnc9PQotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaC4xMDAwLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGguMTAwMC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3MmYxOWYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaC4xMDAwLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLQotUmVjb21tZW5kZWQga2V5IGxlbmd0aDogMTYwIGJpdHMKLQotZ2VuZXJhdG9yOgotCTIzOjg0OjNjOjBkOjU1OjhjOmI5OjdkOmE5OmQ1OjlhOjgwOjgyOmZiOjUwOgotCTg5OjI5OjcxOjhlOjhlOmExOjI5OjJlOmRmOmRiOjAxOjM0OjQxOmU3OjY2OgotCWZhOjYwOmRjOmJjOjM0OjgzOjQ1OjcwOmUwOjYxOmU5OmE2OjI1OjIzOmMyOgotCTc3OjMzOmE5OjhhOjkwOjk0OjIxOmZmOjg0OmQyOjdiOjM2OjM5OjliOmU1OgotCWYwOjg4OjJiOjM1Ojk4OjY0OjI4OjU4OjI3OmJlOmZhOmJmOmUzOjYwOmNjOgotCWM0OjYxOjYwOjU5Ojc4OmE3OmUxOmEzOmIzOmE3OjNlOjdlOjViOmE4OmQ3OgotCWI3OmJhOjI1OjBlOmIxOjllOjc5OjAzOmI1OjgzOmJhOjQzOjM0OmI2OmMxOgotCWNlOjQ1OjY2OjcyOjA3OjY0OjhhOmFmOjE0OmQ4OmFlOjE4OjE5OmJhOjI1OgotCWE2OmQ5OjM2OmY4OjhjOgotCi1wcmltZToKLQk5ZTphNDphODpjNDoyOTpmZTo3NjoxODowMjo0Zjo3NjpjOToyOTowZTpmMjoKLQliYTowZDo5MjowODo5ZDpkOTpiMzoyODo0MTo1ZDo4ODo0ZTpmZTozYzphZToKLQljMTpkNDozZTo3ZTpmYjpkODoyYzpiZjo3Yjo2Mzo3MDo5OTo5ZTpjNDphYzoKLQlkMDoxZTo3Yzo0ZToyMjowNzpkMjpiNTpmOTo5YTo5ZTo1MjplMjo5Nzo5ZDoKLQljMzpjYjowZDo2NjozMzo3NTo5NTphNzo5Njo2ZTo2OTplYzoxNjpiZDowNjoKLQk0YToxYTpkYzpiMjpkNDoyOToyMzphYjoyZTo4Zjo3Zjo2YTo4NDoxZDo4MjoKLQkyMzo2ZTo0Mjo4YzoxZTo3MDozZDoyMTpiYjpiOTpiOTo4ZjpmOTpmZDo5YzoKLQk1MzowODplNDplODo1YTowNDpjYTo1Zjo4Zjo3Mzo1NTphYzplMTo0MToyMDoKLQljNzo0MzpmYTo4Zjo5OToKLQotCi0tLS0tLUJFR0lOIERIIFBBUkFNRVRFUlMtLS0tLQotTUlJQkF3SitBSjZrcU1RcC9uWVlBazkyeVNrTzhyb05rZ2lkMmJNb1FWMklUdjQ4cnNIVVBuNzcyQ3kvZTJOdwotbVo3RXJOQWVmRTRpQjlLMStacWVVdUtYbmNQTERXWXpkWldubG01cDdCYTlCa29hM0xMVUtTT3JMbzkvYW9RZAotZ2lOdVFvd2VjRDBodTdtNWovbjluRk1JNU9oYUJNcGZqM05Wck9GQklNZEQrbytaQW4wamhEd05WWXk1ZmFuVgotbW9DQysxQ0pLWEdPanFFcEx0L2JBVFJCNTJiNllOeThOSU5GY09CaDZhWWxJOEozTTZtS2tKUWgvNFRTZXpZNQotbStYd2lDczFtR1FvV0NlKytyL2pZTXpFWVdCWmVLZmhvN09uUG41YnFOZTN1aVVPc1o1NUE3V0R1a00wdHNITwotUldaeUIyU0tyeFRZcmhnWnVpV20yVGI0akFJQ0FLQT0KLS0tLS0tRU5EIERIIFBBUkFNRVRFUlMtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaC45OTgucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaC45OTgucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmQ2Y2YyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGguOTk4LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLSAgICBESCBQYXJhbWV0ZXJzOiAoOTk4IGJpdCkKLSAgICAgICAgcHJpbWU6Ci0gICAgICAgICAgICAzOTo1ZjozMDpjMDo3YjowNjpiNzo2YTo0OTpjNjpjMDo4MToxZjozOTo3NzoKLSAgICAgICAgICAgIGIzOjM1OmUyOjhkOjY2OmZjOjZhOjZlOjk0OmYzOmRmOjk3OmYyOjg5OjMxOgotICAgICAgICAgICAgNmM6NzU6Mzk6MDg6MTY6ZDE6YTQ6Yjg6MGM6Njg6YzU6NjM6MjE6NjE6ZWI6Ci0gICAgICAgICAgICA0ODoyZDo3Nzo5OTowODoxZDo2NzozODozNzowYTpjZDpjZjozOTpiNjozYzoKLSAgICAgICAgICAgIDlkOjhhOmU1Ojg1OjNjOjcxOmUzOjRiOjNlOjFlOmI5OjgwOmUzOmNjOjdhOgotICAgICAgICAgICAgZmQ6ODQ6MDU6YjA6ZGY6MzY6MTU6Mjk6NGU6M2U6MjM6M2I6YzM6YWU6NmI6Ci0gICAgICAgICAgICBjNzoxMTpiOTo2NDo0Mzo0MDo3NTpjNzo0YTplZjphNzoyZDowMDplMjo2MjoKLSAgICAgICAgICAgIDhmOjkzOjc4Ojk2OjhmOjJjOjI1OjhkOjdkOjFmOmViOjVjOjNjOmJmOjUxOgotICAgICAgICAgICAgZGU6Zjg6MDg6MjU6ZGIKLSAgICAgICAgZ2VuZXJhdG9yOiAyICgweDIpCi0tLS0tLUJFR0lOIERIIFBBUkFNRVRFUlMtLS0tLQotTUlHQ0FuMDVYekRBZXdhM2Frbkd3SUVmT1hlek5lS05adnhxYnBUejM1ZnlpVEZzZFRrSUZ0R2t1QXhveFdNaAotWWV0SUxYZVpDQjFuT0RjS3pjODV0anlkaXVXRlBISGpTejRldVlEanpIcjloQVd3M3pZVktVNCtJenZEcm12SAotRWJsa1EwQjF4MHJ2cHkwQTRtS1BrM2lXanl3bGpYMGY2MXc4djFIZStBZ2wyd0lCQWc9PQotLS0tLS1FTkQgREggUEFSQU1FVEVSUy0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RoLjk5OS5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2RoLjk5OS5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlM2NlYjMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaC45OTkucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotICAgIERIIFBhcmFtZXRlcnM6ICg5OTkgYml0KQotICAgICAgICBwcmltZToKLSAgICAgICAgICAgIDRmOmI4OmQyOmQ4OjNjOmIzOjAyOmM5OjY0OmY1Ojk5OmZlOjYxOmNjOmIzOgotICAgICAgICAgICAgNjk6MWM6YmE6YmI6YTI6MzM6ZGI6Mzg6MmY6ODU6ODc6Yjc6MTI6ZmI6Njk6Ci0gICAgICAgICAgICA2ZTphNTozMjozZTpmZjoyNDpkZjpjNDo2MTowNzowYzplMTo4ODo3MjpmYToKLSAgICAgICAgICAgIDE0OmQ0OjIyOjY1OjE4OjY2OjA5OjdlOjQzOjM1OmM0OjVhOjYyOmY3OjBhOgotICAgICAgICAgICAgNjk6YmU6NDU6NzE6NmU6YWM6YzU6NTY6ZDg6MjI6OWU6YzQ6OWM6MjM6MmI6Ci0gICAgICAgICAgICBiZDo2ZDozYjpiNjowMjo0Zjo1ZDoxMjphNzphYzo5MDpiODo5ZTpiZTo5MzoKLSAgICAgICAgICAgIDgyOmJjOjA5OjdjOmNkOmUxOjA5OjIxOjFlOjNkOjY5OjJhOjc2OjQxOjAwOgotICAgICAgICAgICAgNjg6NmQ6Yjc6ZTg6ZTg6ZGY6ZDY6MWI6ODI6OTM6ZDk6MjE6NGE6ZWE6NzE6Ci0gICAgICAgICAgICBmMjplNjpjNDo5NDowMwotICAgICAgICBnZW5lcmF0b3I6IDIgKDB4MikKLS0tLS0tQkVHSU4gREggUEFSQU1FVEVSUy0tLS0tCi1NSUdDQW4xUHVOTFlQTE1DeVdUMW1mNWh6TE5wSExxN29qUGJPQytGaDdjUysybHVwVEkrL3lUZnhHRUhET0dJCi1jdm9VMUNKbEdHWUpma00xeEZwaTl3cHB2a1Z4YnF6RlZ0Z2luc1NjSXl1OWJUdTJBazlkRXFlc2tMaWV2cE9DCi12QWw4emVFSklSNDlhU3AyUVFCb2JiZm82Ti9XRzRLVDJTRks2bkh5NXNTVUF3SUJBZz09Ci0tLS0tLUVORCBESCBQQVJBTUVURVJTLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGgub3B0bGVuLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZGgub3B0bGVuLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2MzYmYxNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RoLm9wdGxlbi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RoLm9wdGxlbi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2RoLm9wdGxlbi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMWUyOWIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaC5vcHRsZW4ucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotCi1SZWNvbW1lbmRlZCBrZXkgbGVuZ3RoOiAyNTYgYml0cwotCi1nZW5lcmF0b3I6Ci0JODA6MGE6YmY6ZTc6ZGM6NjY6N2E6YTE6N2I6Y2Q6N2M6MDQ6NjE6NGI6YzI6Ci0JMjE6YTY6NTQ6ODI6Y2M6YzA6NGI6NjA6NDY6MDI6YjA6ZTE6MzE6OTA6OGE6Ci0JOTM6OGU6YTE6MWI6NDg6ZGM6NTE6NWQ6YWI6N2E6YmM6YmI6MWU6MGM6N2Y6Ci0JZDY6NjU6MTE6ZWQ6YzA6ZDg6NjU6NTE6Yjc6NjM6MjQ6OTY6ZTA6M2Q6Zjk6Ci0JNDM6NTc6ZTE6YzQ6ZWE6MDc6YTc6Y2U6MWU6Mzg6MWE6MmY6Y2E6ZmQ6ZmY6Ci0JNWY6NWI6ZjA6MGQ6Zjg6Mjg6ODA6NjA6MjA6ZTg6NzU6YzA6MDk6MjY6ZTQ6Ci0JZDA6MTE6Zjg6ODQ6Nzc6YTE6YjA6MTk6Mjc6ZDc6Mzg6MTM6Y2E6ZDQ6ODQ6Ci0JN2M6NjM6OTY6Yjk6MjQ6NDY6MjE6YmU6MmI6MDA6YjY6M2M6NjU6OTI6NTM6Ci0JMzE6ODQ6MTM6NDQ6M2M6ZDI6NDQ6MjE6NWM6ZDc6ZmQ6NGM6YmU6Nzk6NmU6Ci0JODI6YzY6Y2Y6NzA6Zjg6OWM6YzA6YzU6Mjg6ZmI6OGU6MzQ6NDg6MDk6YjM6Ci0JMTg6NzY6ZTc6ZWY6NzM6OWQ6NTE6NjA6ZDA6OTU6Yzk6Njg6NDE6ODg6YjA6Ci0JYzg6NzU6NWM6N2E6NDY6OGQ6NDc6ZjU6NmQ6NmQ6Yjk6ZWE6MDE6Mjk6MjQ6Ci0JZWM6YjA6NTU6NmY6Yjc6MTM6MTI6YTg6ZDc6Yzk6M2I6YjI6ODk6OGU6YTA6Ci0JOGU6ZTU6NGU6ZWI6NTk6NDU6NDg6Mjg6NWY6MDY6YTk6NzM6Y2I6YmU6MmE6Ci0JMGM6YjA6MmU6OTA6ZjM6MjM6ZmU6MDQ6NTU6MjE6ZjM6NGM6Njg6MzU6NGE6Ci0JNmQ6M2U6OTU6ZGI6ZmY6ZjE6ZWI6NjQ6Njk6MmU6ZGM6MGE6NDQ6ZjM6ZDM6Ci0JZTQ6MDg6ZDA6ZTQ6Nzk6YTU6NDE6ZTc6Nzk6YTY6MDU6NDI6NTk6ZTI6ZDg6Ci0JNTQ6Ci0KLXByaW1lOgotCWIzOjEyOjZhOmVhOmY0OjcxOjUzOmM3OmQ2OjdmOjQwOjMwOjMwOmIyOjkyOgotCWI1OmJkOjVhOjZjOjllOmFlOjFjOjEzOjdhOmYzOjQwOjg3OmZjOmUyOmEzOgotCTZhOjU3OjhkOjcwOmM1OmM1OjYwOmFkOjJiOmRiOjkyOjRjOjRhOjRkOmJlOgotCWUyOjBhOjE2OjcxOmJlOjcxOjAzOmNlOjg3OmRlOmZhOjc2OjkwOjg5OjM2OgotCTgwOjNkOmJlOmNhOjYwOmMzOjNlOjEyOjg5OmMxOmEwOjNhOmMyOmM2OmM0OgotCWU0Ojk0OjA1OmU1OjkwOjJmOmEwOjU5OjZhOjFjOmJhOmE4Ojk1OmNjOjQwOgotCTJkOjUyOjEzOmVkOjRhOjVmOjFmOjViOmE4OmI1OmUxOmVkOjNkOmE5OjUxOgotCWE0OmM0Ojc1OmFmOmViOjBjOmE2OjYwOmI3OjM2OjhjOjM4OmM4OmU4OjA5OgotCWYzOjgyOmQ5OjZhOmUxOjllOjYwOmRjOjk4OjRlOjYxOmNiOjQyOmI1OmRmOgotCWQ3OjIzOjMyOjJhOmNmOjMyOjdmOjllOjQxOjNjOmRhOjY0OjAwOmMxOjVjOgotCTViOjJlOmExOmZhOjM0OjQwOjVkOjgzOjk4OjJmOmJhOjQwOmU2OmQ4OjUyOgotCWRhOjNkOjkxOjAxOjliOmYyOjM1OjExOjMxOjQyOjU0OmRjOjIxOjFhOjkwOgotCTgzOjNlOjViOjE3Ojk4OmVlOjUyOmE3OjgxOjk4OmM1OjU1OjY0OjQ3OjI5OgotCWFkOjkyOmYwOjYwOjM2OjdjOjc0OmRlOmQzOjc3OjA0OmFkOmZjOjI3OjNhOgotCTRhOjMzOmZlOmM4OjIxOmJkOjJlOmJkOjNiOmMwOjUxOjczOjBlOjk3OmE0OgotCWRkOjE0OmQyOmI3OjY2OjA2OjI1OjkyOmY1OmVlOmMwOjlkOjE2OmJiOjUwOgotCWVmOmViOmYyOmNjOjAwOmRkOjNlOjBlOjM0OjE4OmU2OjBlOmM4OjQ4OjcwOgotCWY3OgotCi0KLS0tLS0tQkVHSU4gREggUEFSQU1FVEVSUy0tLS0tCi1NSUlDRGdLQ0FRRUFzeEpxNnZSeFU4ZldmMEF3TUxLU3RiMWFiSjZ1SEJONjgwQ0gvT0tqYWxlTmNNWEZZSzByCi0yNUpNU2syKzRnb1djYjV4QTg2SDN2cDJrSWsyZ0QyK3ltRERQaEtKd2FBNndzYkU1SlFGNVpBdm9GbHFITHFvCi1sY3hBTFZJVDdVcGZIMXVvdGVIdFBhbFJwTVIxcitzTXBtQzNOb3c0eU9nSjg0TFphdUdlWU55WVRtSExRclhmCi0xeU15S3M4eWY1NUJQTnBrQU1GY1d5NmgralJBWFlPWUw3cEE1dGhTMmoyUkFadnlOUkV4UWxUY0lScVFnejViCi1GNWp1VXFlQm1NVlZaRWNwclpMd1lEWjhkTjdUZHdTdC9DYzZTalAreUNHOUxyMDd3RkZ6RHBlazNSVFN0MllHCi1KWkwxN3NDZEZydFE3K3Z5ekFEZFBnNDBHT1lPeUVodzl3S0NBUUVBZ0FxLzU5eG1lcUY3elh3RVlVdkNJYVpVCi1nc3pBUzJCR0FyRGhNWkNLazQ2aEcwamNVVjJyZXJ5N0hneC8xbVVSN2NEWVpWRzNZeVNXNEQzNVExZmh4T29ICi1wODRlT0Jvdnl2My9YMXZ3RGZnb2dHQWc2SFhBQ1NiazBCSDRoSGVoc0JrbjF6Z1R5dFNFZkdPV3VTUkdJYjRyCi1BTFk4WlpKVE1ZUVRSRHpTUkNGYzEvMU12bmx1Z3NiUGNQaWN3TVVvKzQ0MFNBbXpHSGJuNzNPZFVXRFFsY2xvCi1RWWl3eUhWY2VrYU5SL1Z0YmJucUFTa2s3TEJWYjdjVEVxalh5VHV5aVk2Z2p1Vk82MWxGU0NoZkJxbHp5NzRxCi1ETEF1a1BNai9nUlZJZk5NYURWS2JUNlYyLy94NjJScEx0d0tSUFBUNUFqUTVIbWxRZWQ1cGdWQ1dlTFlWQUlDCi1BUUE9Ci0tLS0tLUVORCBESCBQQVJBTUVURVJTLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGhwYXJhbXMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaHBhcmFtcy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdjZTA1ZjAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaHBhcmFtcy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS0tLS0tQkVHSU4gREggUEFSQU1FVEVSUy0tLS0tCi1NSUdIQW9HQkFKNDE5REJFT2dtUVR6bzVxWGw1ZlFjTjlUTjQ1NXdrT0w3MDUySHp4eFJWTXloWW13UWNnSnZoCi0xc2ExOGZ5ZlI5T2lWRU1ZZ2xPcGtxVm9HTE43cWQ1YVFOTmk1VzcvQytWQmRIVEJKY0daSnl5UDVCM3FjejMyCi05bUxKS3VkbFZ1ZFYwUXhrNXFVSmFQWi94dXB6ME55b1Zwdml1aUJPSTFnTmk4b3ZTWFd6QWdFQwotLS0tLS1FTkQgREggUEFSQU1FVEVSUy0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAwLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODA2NjQ4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMC5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAwLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRkMzMxNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAwLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KLUJnZ3Foa2pPUFFNQkJ3PT0KLS0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGNDQVFFRUlBUlBhRUlmUk9Ia0U5WTBaZ0hoN01jM1pVNkxSOWxDT0l3MWtzWVRIcDVFb0FvR0NDcUdTTTQ5Ci1Bd0VIb1VRRFFnQUVWYmpYK29EQUErbkw1UEYxenM4cWJObXlyMEkrSzZNcFRpK2tYVjZSZWNiSFljL2piUkNoCi12QUZWVmFHVE5HWXZCMXVnZmFQcmwxd0lxTkR1YS85M0VnPT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlOTEwN2EuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDEua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkZDA2NDMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMS5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUEFSQU1FVEVSUy0tLS0tCi1CZ2dxaGtqT1BRTUJCdz09Ci0tLS0tLUVORCBFQyBQQVJBTUVURVJTLS0tLS0KLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUhjQ0FRRUVJTlNueFBxVU5NYmE4RjJLV054VTg4aGVTczd2Z2FzNUJPempSd1FzUWU2SW9Bb0dDQ3FHU000OQotQXdFSG9VUURRZ0FFTTU1L2N4eDhDeGp2RlVlRnZWZTd6SmNRbmFLSTh4RG9sK1dPaWJUN1JUcy9PdXJuaDJPcwotNkRkUDVpZWc1NnAwbDRwU1NGRkhsdW5objZwcEd1NThaQT09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDIuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzODdiMDY0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDIua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMi5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1YWM1MTMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMi5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUEFSQU1FVEVSUy0tLS0tCi1CZ2dxaGtqT1BRTUJCdz09Ci0tLS0tLUVORCBFQyBQQVJBTUVURVJTLS0tLS0KLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUhjQ0FRRUVJUFc5ekU4Y2ppWjh3MTdqVEFlYmI0eEFtRWc2aGVFRW5FYUc0bEdDZDM4am9Bb0dDQ3FHU000OQotQXdFSG9VUURRZ0FFRmg2YjlZdXBYOEx6VHpqK1pHdWt0SitlUkw4NkdtQ3VxVzAxeitzakRsditGMlVqeXNlVwotYUt1QlRIdEhDc3hpQ0JTOWE4NDlWZG5NMkFmcXJ5NGNvZz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDkwYTVlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUkRYRE5JaTFwCi1lcmV1ZGhxd2EyTHNsWGdzeG5CNjNIdTV5NWxnKzFXUHJ1SVlQekQvSG8wQVB2ZVZkekZMVmppMTkrYkU0K3RGCi1QWUwxU3BzTjFXZldvNEdKTUlHR01CMEdBMVVkRGdRV0JCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkekJYCi1CZ05WSFNNRVVEQk9nQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZGFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPbmQrN2JBb2ZrSFZhNEtGTmp2M1RDZWd3MWxyaHVNCi04T2Y4d2d2clRFR29BaUVBc1M4aUtNcFNmWEg0RDBlZ2c0Z0xhbUU2YWtkZTk2NXJEdHlTVSt2ZTlsZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDMua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMy5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiZmE0ODMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMy5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUEFSQU1FVEVSUy0tLS0tCi1CZ2dxaGtqT1BRTUJCdz09Ci0tLS0tLUVORCBFQyBQQVJBTUVURVJTLS0tLS0KLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUhjQ0FRRUVJQngyeHdhcEdiSFR5NzlJYnBKa2MvdzlMSlhQS05HN2dHUkxQT0dQUUZJNm9Bb0dDQ3FHU000OQotQXdFSG9VUURRZ0FFRVExd3pTSXRhWHEzcm5ZYXNHdGk3SlY0TE1ad2V0eDd1Y3VaWVB0Vmo2N2lHRDh3L3g2TgotQUQ3M2xYY3hTMVk0dGZmbXhPUHJSVDJDOVVxYkRkVm4xZz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZGRjZjY5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRE13SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRVVhEZ2NVVk5UCi05aG92YlpFNUhMNnJqT2I3QzU1d0V1V0tUaFYvQ2NaNHJXclh4N1ZYSFlkRC9SM2FEQTdKU3ZZcG0yc1RvazRpCi1zYmxEemhaTS9HRE5vNEdKTUlHR01CMEdBMVVkRGdRV0JCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzekJYCi1CZ05WSFNNRVVEQk9nQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZDZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0FraU5ocUZBWlhTVVdFREs5MU9adlFHZGVaT3RkNm1DCi0rV3YzZkdrM3QyOENJRUtPd2lka1VUVWFpUGRaNGVmbUFyK0NFZUd6ZHEyN29iMlMrbnFxSHFnVgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wNC5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA0LmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTgzNmJiZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA0LmtleQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KLUJnZ3Foa2pPUFFNQkJ3PT0KLS0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGNDQVFFRUlEUXZUbTB3ZkVBS295bXY4ZVBCdjdjUnhybk00ZzZMUkVuU2xsNWdoUXNYb0FvR0NDcUdTTTQ5Ci1Bd0VIb1VRRFFnQUVGRnc0SEZGVFUvWWFMMjJST1J5K3E0em0rd3VlY0JMbGlrNFZmd25HZUsxcTE4ZTFWeDJICi1RLzBkMmd3T3lVcjJLWnRyRTZKT0lyRzVRODRXVFB4Z3pRPT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDUuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wNS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZGUzYTMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wNS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EUXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFFZFQwT0ZmNUcKLVVjcmdYMlhsbEN5SnpQOTROWjQ2NEdzZ0I2cHNOTHNEZUwrajdBVStvSnk3Vkx2Vy9sSGgzT0RnbDA4WjliaHEKLUxGQm1Oam5IYm04UW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW56QlgKLUJnTlZIU01FVURCT2dCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlXKyt6cURabExMVWsvZW1lUG9oZE5PcDVKTzN3UzkKLVh2a0JKNld1YTdHQkFpQWR4K0VLbWRqVnJ3bnpyUWx0VGdubVNmR01YaEtOWWlmSzN1RDgzVzNwY1E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wNS5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA1LmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2YzMDk1ZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA1LmtleQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KLUJnZ3Foa2pPUFFNQkJ3PT0KLS0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGNDQVFFRUlQM01UczBtOXNzQUFYUTk0TzZHWUMzcGNrZnBNVXhRaVBURzhoUVlnQTBXb0FvR0NDcUdTTTQ5Ci1Bd0VIb1VRRFFnQUVCSFU5RGhYK1JsSEs0RjlsNVpRc2ljei9lRFdlT3VCcklBZXFiRFM3QTNpL28rd0ZQcUNjCi11MVM3MXY1UjRkemc0SmRQR2ZXNGFpeFFaalk1eDI1dkVBPT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDYuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wNi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2Zjk5ZDIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wNi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EVXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNBOXFXb0FVSHIKLW5uKzNreHlOcmpQSms4MldETGltVzIxUk41MXV4cG9iYWR2OFlnR0VEUmRQK09rK3VScVFTVXNBNlpYZkYzaUcKLXIyR2pmUTN3TURIOG80R0pNSUdHTUIwR0ExVWREZ1FXQkJTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1F6QlgKLUJnTlZIU01FVURCT2dCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnY2paTkZXSnRsRG1vUFpiQXhxc0djelJZSzBsZlBndTYKLWcxSDdwcDBjZSt3Q0lEajlCUlpNMk9COUVGMGUrTURLR2p5WkdmdmZyTDZJcjQ3eC9Lck02SDhUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA2LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDYua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YjBiY2UyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDYua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUVTVWhRZ1hXZDhjVlFuaXRORXBPRDJKTk1xSDl1Zy93WWFZMXhXM1NhU0dvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRWdQYWxxQUZCNjU1L3Q1TWNqYTR6eVpQTmxneTRwbHR0VVRlZGJzYWFHMm5iL0dJQmhBMFgKLVQvanBQcmtha0VsTEFPbVYzeGQ0aHE5aG8zME44REF4L0E9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wNy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA3LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJiNTdmOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA3LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURZd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU05PajRkNE1FQQotN3AvM21paWpxRzRUb0U0b3BLUEFtKzNCVElHckpUWVQxNCsrVFNpVUlDbDBBU1hqK3hlVWNMTUlhWFROMDQycwotTHNIeHBTaHpRYUwwbzRHSk1JR0dNQjBHQTFVZERnUVdCQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRXpCWAotQmdOVkhTTUVVREJPZ0JTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1E2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEExZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBS0djZitjNDQyYy9YaXd1YmJhaVF2c29aN0VvVnh1TQotb0ttaWEwZ1B5Qk5rQWlFQTgzYXNqSjVGRFhRdUx5WnBjenZpWHJibXFnQ1BPZllhZHR2a2MwY3hNaXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA3LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDcua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjIwMTMxLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDcua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUVpMW9LSW5QTGJpSU5qOE94ZEFjdFZUZ0krWVFWU2VmZFFmQ3UxaWhiTFJvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRWpUbytIZURCQU82Zjk1b29vNmh1RTZCT0tLU2p3SnZ0d1V5QnF5VTJFOWVQdmswb2xDQXAKLWRBRWw0L3NYbEhDekNHbDB6ZE9OckM3QjhhVW9jMEdpOUE9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wOC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA4LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmYxZjMzZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA4LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURjd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EZ3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnBRZVEvWUdRagotbmw3U3pvNldTdEoxdTd4dW5UTDVqQmtYSDhhQVZTbTBxaVg0QUQvN1lQeGE1RW5HelpkTFRuMjV2UVZuZlFBRwotcE14OFAxbFlpR1lDbzRHSk1JR0dNQjBHQTFVZERnUVdCQlM0MG1MdDkzVThTaDhaR2lEVkFoUlNpQlBjWGpCWAotQmdOVkhTTUVVREJPZ0JSRXE1SjN0b0pQeFozTytzc0o1dmtrVTBSSkU2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEyZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBTndHZitGNGEra21YV3o4VWpTcFJrYVRvVFY2RUZXdwotL1RqemowdFFoRG9BQWlFQTE5UnhlV09WQkJwTTZMT0hnNnY1TGY1NFlOMXNua0xmK3NFWHlaQ3VXUVE9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA4LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDgua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWVlOWM1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDgua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUM4TTJHN1hjcWVhZ1lndDhTWkpidVRoNHRZY2hHdlgzeURaSktUdUJnRlVvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRWFVSGtQMkJrSTU1ZTBzNk9sa3JTZGJ1OGJwMHkrWXdaRngvR2dGVXB0S29sK0FBLysyRDgKLVd1Ukp4czJYUzA1OXViMEZaMzBBQnFUTWZEOVpXSWhtQWc9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wOS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA5LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY2N2U1NC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA5LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURnd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1Ea3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjdaQjE2K3Q2RQotc2ZhaEd5S1VHSlc1bWV6a3pqZGFZdmM0bGJKYUtOUndGUmZjM0YvZm1OT1NzVUZTZy9GME4rdlVFK2RvS2lQQwotOHdSd0x6dm00cys1bzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ2Z3lYSHpQSVBZYzFWcjFhR2lMTGVNaDRIcGpCWAotQmdOVkhTTUVVREJPZ0JTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEzZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdPNGVsMVpQaGxJbGkvcU5SMlNJRWl1dnM1TW15ODY4aQotTjJSdjVYL1Z4SUVDSUEvOHJVQUxReFczOFhTZEJWWDNlL2p6dTdqdTQ3bjFZd0VxRDlLOVdkVnYKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDkua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wOS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlNmEwNmYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wOS5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUEFSQU1FVEVSUy0tLS0tCi1CZ2dxaGtqT1BRTUJCdz09Ci0tLS0tLUVORCBFQyBQQVJBTUVURVJTLS0tLS0KLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUhjQ0FRRUVJS2tkeGVnUDV5Tjg0MHNCRHhJUHBpTWZ0WnNzMTR1TGFIN3pveE9xcmVQRG9Bb0dDQ3FHU000OQotQXdFSG9VUURRZ0FFZTJRZGV2cmVoTEgyb1JzaWxCaVZ1Wm5zNU00M1dtTDNPSld5V2lqVWNCVVgzTnhmMzVqVAota3JGQlVvUHhkRGZyMUJQbmFDb2p3dk1FY0M4NzV1TFB1UT09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzEwLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTAuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MmU2OTlhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTAuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGt3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSNmpsR0tiSmQ1Ci1oaUR4Tjc4OWdrT2N3cHlISTl3UndDckFEQU93T2tNZVBCUFJsd0dkbTdtdzdaL0VBbXUyNnpSbS9oY3lyczRNCi1xazJMYWJEalBJOVhvNEdKTUlHR01CMEdBMVVkRGdRV0JCUXR4WlNMSkFrRXorMlJLTVFleE02RXRzZmdjakJYCi1CZ05WSFNNRVVEQk9nQlQ2Z3lYSHpQSVBZYzFWcjFhR2lMTGVNaDRIcHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTRnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1A3Uzh2RnN0ZlVCZE5lNnltNUdZRzVRK2FCVkVLcVJzCi1mVlc3SE5Va3RTWUNJUURvNkp1YTZvL0RKYnJwcTRxWVdxNWd2NHlHeXpQVE4rM0lhS3JFSUNkYWF3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTAua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xMC5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1NTU4ZjUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xMC5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUEFSQU1FVEVSUy0tLS0tCi1CZ2dxaGtqT1BRTUJCdz09Ci0tLS0tLUVORCBFQyBQQVJBTUVURVJTLS0tLS0KLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUhjQ0FRRUVJUHVQUE14bzVlMmRvSTdZZkRwNjBxbUVuNFl3WXMyc2I1UWxPcEZRM0JJSm9Bb0dDQ3FHU000OQotQXdFSG9VUURRZ0FFZW81UmlteVhlWVlnOFRlL1BZSkRuTUtjaHlQY0VjQXF3QXdEc0RwREhqd1QwWmNCblp1NQotc08yZnhBSnJ0dXMwWnY0WE1xN09ES3BOaTJtdzR6eVBWdz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzExLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDllNDlmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVEF3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUWndSK1dLNk5CCi1GLzdyaUZkTjYzYzhoallkZFpSUjRscnpWTlB3aUJReG5ueHdwUHlyRDlBNmFQUG1MYzZTcUdPSlc0WkdWQ2NvCi1JQnplOVJKVmVpQjlvNEdKTUlHR01CMEdBMVVkRGdRV0JCU09TdDZlUHlNUlQ2UEdNYUlpN0ZxTlg5TUt0REJYCi1CZ05WSFNNRVVEQk9nQlF0eFpTTEpBa0V6KzJSS01RZXhNNkV0c2ZnY3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTVnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ04vL05xTTBGcmtyTWpteG9lQ1k5RGd4a0gyUjZzUTRkCi1OZ3R3Q1pBSXFFSUNJQnM0dnVwYVZjdXZuaTl0bHRiUDI2d2k3YzBGUitibFp1bzVEUElBM1NWZQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xMS5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzExLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM0YmY4Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzExLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KLUJnZ3Foa2pPUFFNQkJ3PT0KLS0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGNDQVFFRUlIYU1pZUgyL3duNmxuc0ZVR3p3dzQzeW1oTjE2WjBuaEc1VHl2TmVZOFUyb0FvR0NDcUdTTTQ5Ci1Bd0VIb1VRRFFnQUUyY0VmbGl1alFSZis2NGhYVGV0M1BJWTJIWFdVVWVKYTgxVFQ4SWdVTVo1OGNLVDhxdy9RCi1PbWp6NWkzT2txaGppVnVHUmxRbktDQWMzdlVTVlhvZ2ZRPT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxZWY5YjAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xMi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1URXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRERTlMUGxMUGMKLWdaM2IwQmNoUi9Ba2hORVA5SEFhdndZYWRKSXl6b1BvNWVkQ1ZuYm9RSDc4NmpzWndaTlpvQzBnSERBaENtR2MKLUlmUmVuSVNBb1Z1UG80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWlR0YmkrajBTbS9acy8rZ1RrV2RBU3BRemZqQlgKLUJnTlZIU01FVURCT2dCU09TdDZlUHlNUlQ2UEdNYUlpN0ZxTlg5TUt0S0V6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFd2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnWVlGNUFuUlY3ZWgyaExENUR6Ly9wY2VNVEt6OUxzNDYKLUU2RHh2YmZESGlrQ0lGdHRsR3JPQ1pWeVM0b2NzanVLSUVMVlVYNXFmeWdJMHNuNGtVM3FDVHMyCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzEyLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTIua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDZiZGM2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTIua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUF6aEFjYzFZYjJ1NGJzUURhWWVSYVJXOGtKL0h6RlRUZklOVjFrK1R4Wi9vQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRXd4UFN6NVN6M0lHZDI5QVhJVWZ3SklUUkQvUndHcjhHR25TU01zNkQ2T1huUWxaMjZFQisKLS9PbzdHY0dUV2FBdElCd3dJUXBobkNIMFhweUVnS0Zianc9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xMy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzEzLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzIzYzE2NS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzEzLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRJd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVHJrekNKTHpuaAotbGhuc3YxUlhCOWtmZWFEK2NJcnVQUTBjSXRCREdwZHZEOHhiQlZ2UWNpNCtSRzJSVlVDU1dSaGtGWWpTc1VTTQotMFFITVFuQkZsaHcybzRHSk1JR0dNQjBHQTFVZERnUVdCQlRtVm5VU0YyTVl3d3MvbkNNdjdiMXdKVmtEbWpCWAotQmdOVkhTTUVVREJPZ0JUWlR0YmkrajBTbS9acy8rZ1RrV2RBU3BRemZxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV4Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdXc20rckhKZ3dVRXlObThFS2JFZHM1eXVycHA1LzN5NQotUHN2WEpWRHF4b2dDSVFEVVAwSmNsM0E5MDdDRTJ0UFZYU2dENkxRNkNQdTE5bWl4ZW1QdzYweWlqQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzEzLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTMua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGEwNGVmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTMua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUtiOTY2RlhNaDhjRlF0M3NWcG1jcmgyLzN5YUdpTE13eisvWEdLR01KKzJvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRTY1TXdpUzg1NFpZWjdMOVVWd2ZaSDNtZy9uQ0s3ajBOSENMUVF4cVhidy9NV3dWYjBISXUKLVBrUnRrVlZBa2xrWVpCV0kwckZFak5FQnpFSndSWlljTmc9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xNC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWNhMzIzYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE0LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRNd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UUXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVFJNWk4wUkh6UAotZG9uTm1adXE5WFBoenZRNTJUYW9reFQzOXFwUXRsRnl2VXVFR0tyTG9OdmRjcEFSYUEwckdwdXQ2UkxBUU9WVQotaU5WbEozSXBqNzg5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlJOc0pCKytjY1NCbWJDQ0tCeGk0Q2pYUk9Ca3pCWAotQmdOVkhTTUVVREJPZ0JUbVZuVVNGMk1Zd3dzL25DTXY3YjF3SlZrRG1xRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV5Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdWZnVMcGpwMDhBYXhLV2Y2Y3VaVVVDUmQ3Q29qU1MxSQotNzFoemVVeUZTK3NDSVFETkpJNlAvcEJiaUhnVGFHbEJBZ2ZjRWZteG1iWTBuNHhabmR0eElrbXlWQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE0LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTQua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTI2YTE4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTQua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUtFeWNKTkx5WUo1SmdFQ3BDdVppRmVYWklNQytYc01FS29NaFJUeDZ4RCtvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRTBUR1RkRVI4ejNhSnpabWJxdlZ6NGM3ME9kazJxSk1VOS9hcVVMWlJjcjFMaEJpcXk2RGIKLTNYS1FFV2dOS3hxYnJla1N3RURsVklqVlpTZHlLWSsvUFE9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xNS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE1LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmVmOTIzYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE1LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRRd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWxLVWlNb1NzcwotL2hzVGFzZWRxZEIyQkNPR0poVHQwaGdVR2VVbldOWjFzdk80eW4wR2tGSFowOCsrZmwyTUtxanBqK1ZYcTBKUwotRkZ5R1VPZ21naTNIbzRHSk1JR0dNQjBHQTFVZERnUVdCQlIxbVhscmRXNXJ4MVZucU1NblVCWG8wV1dHV2pCWAotQmdOVkhTTUVVREJPZ0JSTnNKQisrY2NTQm1iQ0NLQnhpNENqWFJPQms2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBS1lPSW8rZmRDUVJxcEg0TE44cVVLMWFLekttV0d4UwotZkd6RUVrZy8yOWJNQWlBbDk1Y211Y29DRE1xMkFiOENvYzBkRXF5SjYrckFQTUxCQ2JHYXd5aVc2QT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE1LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTUua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDkzOTA4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTUua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUwxYzB6dmg0Rng4YXlscmxIc09zSzVQY2FtN0JXVkhNMmxEeEdPMjZRSVVvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRUpTbElqS0VyTFA0YkUyckhuYW5RZGdRamhpWVU3ZElZRkJubEoxaldkYkx6dU1wOUJwQlIKLTJkUFB2bjVkakNxbzZZL2xWNnRDVWhSY2hsRG9Kb0l0eHc9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xNi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE2LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDlkOTk4ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE2LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRVd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUTdWc3A3Sm1ETgota2dQaC8rem1JUGtkN28weG90L1dQTUZuM3VBc0d0c1UzODVNRjBmbWhmRkxoUmJiSDloNEpqWUhqOHkwc3BVMwotYnVVWGhmdHZBWlZibzRHSk1JR0dNQjBHQTFVZERnUVdCQlJUdzNLMFBzeTN1LzYrM0tLU29hUXFKblB2UGpCWAotQmdOVkhTTUVVREJPZ0JSMW1YbHJkVzVyeDFWbnFNTW5VQlhvMFdXR1dxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEUwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBTUpuR2pFOXYzU2p1R2ZpMGpOQnlyd3lOZmhsVEhNaAotRmhQUWlkTnJEcFh3QWlFQXFZdE5pVjh0OVJyQWE5R0M2RldEdUpwdklpVTZGc0UrbEZxNnVJcS9KMkU9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE2LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTYua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDQ5MmRlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTYua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSU0wWUNuR2tFRy9UakJ4cnl0UDladHNsbTF5b1FhV3B0QnhlZ1J6ekJSRFZvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRU8xYktleVpnelpJRDRmL3M1aUQ1SGU2Tk1hTGYxanpCWjk3Z0xCcmJGTi9PVEJkSDVvWHgKLVM0VVcyeC9ZZUNZMkI0L010TEtWTjI3bEY0WDdid0dWV3c9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xNy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE3LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWVlNzg0OS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE3LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRZd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnJJU3Eyek85bQotRDI5WUNMSEI1NkZkVS9SSU50UmhmZUx0TSt1NW8zSGFBbm9weTBTOThSenVFR0VManB6cjhaSTZra01NWnNqOAotbkZaUUY4SGZ1RTBnbzRHSk1JR0dNQjBHQTFVZERnUVdCQlNuald2cFd4WmNGbmZRMktHdENnL3U2ZlQvRHpCWAotQmdOVkhTTUVVREJPZ0JSVHczSzBQc3kzdS82KzNLS1NvYVFxSm5QdlBxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEUxZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdEZ1hqb2M2RmZNRjVXME56aVY2dngyQk9QTldhdjAxWgoteW5FUDRoOVVMblVDSVFDMXJVNHNFSWQzVWRqelRLaHBTR1RLdGFPdVBHK2IwWWRFTVBpbUk0am1Wdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE3LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTcua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWUzM2U4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTcua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUFpVVMxZE0zcXJjT3VuOFBqS2Urcnc0MEwySEcvWThEZnhsMEFmenlJVmVvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRWF5RXF0c3p2Wmc5dldBaXh3ZWVoWFZQMFNEYlVZWDNpN1RQcnVhTngyZ0o2S2N0RXZmRWMKLTdoQmhDNDZjNi9HU09wSkRER2JJL0p4V1VCZkIzN2hOSUE9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xOC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE4LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWZkNjgyZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE4LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRjd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UZ3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU3NjL0prTmNZZgotYk1ncE9mckw1a0tPR3hPSmFHUzZTUUllTk8zM1VlQnBUb2UxYlUyYWNONjUyeGp2Y0dvMGZKRXR4ZzJmY1BIUgotaFRuR01CRDF1MU4ybzRHSk1JR0dNQjBHQTFVZERnUVdCQlNEYklwWW50bGhKMEdnSXN5ZDc1WFJobEMxOGpCWAotQmdOVkhTTUVVREJPZ0JTbmpXdnBXeFpjRm5mUTJLR3RDZy91NmZUL0Q2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEUyZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBSm8yTlhmSlUxc0s2U1ZUdTRPVjIxRktJVGxYbnRNaQotb2VuWU1zQmp6TzhvQWlFQWlkU0VMY0xqakFIaTNtZkJBUnZDZ0tsUmhtYk5FTUNIUVQ3SGE3WlFvUnc9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE4LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTgua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTkxZDAzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTgua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUpFVExXcUladG5lakNHekVTRGdNbmtueHFFeDVldk1HWmZ6QlZQS013S0tvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRXJIUHlaRFhHSDJ6SUtUbjZ5K1pDamhzVGlXaGt1a2tDSGpUdDkxSGdhVTZIdFcxTm1uRGUKLXVkc1k3M0JxTkh5UkxjWU5uM0R4MFlVNXhqQVE5YnRUZGc9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xOS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE5LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTIyMjBlNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzE5LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRnd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1Ua3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUp5UkNITkQ3OAotS3haSG9ISGRPVGpQdUQ2SGpIUG5FS1g4YXBibFVwRVRESnVMVzdZUjNWOFEwZFRhYytKSGlSNmUybDREbERiZgotNWJUaXlGb0F6dzl5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlJRTWM5NGtUcVcrelFPM2xvMldNSS84MWszY3pCWAotQmdOVkhTTUVVREJPZ0JTRGJJcFludGxoSjBHZ0lzeWQ3NVhSaGxDMThxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEUzZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdJekdPWnFKUm12eWd6dkxtOHp4WkZ5b05wY1Q3ZTI2SAotblpkNXhGSXpFYWtDSUhHWWNVWHp0K293U1ZsTG1ybFc4Z1FjQjgxRXJRYnh1QlRBc3ZwYWFLU1MKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTkua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xOS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiNjU2MmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xOS5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUEFSQU1FVEVSUy0tLS0tCi1CZ2dxaGtqT1BRTUJCdz09Ci0tLS0tLUVORCBFQyBQQVJBTUVURVJTLS0tLS0KLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUhjQ0FRRUVJREp5SFNLYlhFWlZma05mdFFGNGVIZUpWdVhoR2RhYm9hN3c0UmVqTDV1WW9Bb0dDQ3FHU000OQotQXdFSG9VUURRZ0FFQ2NrUWh6USsvQ3NXUjZCeDNUazR6N2craDR4ejV4Q2wvR3FXNVZLUkV3eWJpMXUyRWQxZgotRU5IVTJuUGlSNGtlbnRwZUE1UTIzK1cwNHNoYUFNOFBjZz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzIwLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMjAuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODJhNTI3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMjAuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVGt3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTWpBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUR2Vick44SnhFCi1oZU9kQ3hEK21oblE0ek1VeEYxV1VrbUFBSElVdzA4OUJZaUg5U0F3WVMvTTV0bmwrUjhmYmp2b0dxU3BSNlRrCi1WOUVVM0NReUlveHdvNEdKTUlHR01CMEdBMVVkRGdRV0JCVFpzNm9DaEwxYzJDU1pYWTJZRlFra3FnK2x6REJYCi1CZ05WSFNNRVVEQk9nQlJRTWM5NGtUcVcrelFPM2xvMldNSS84MWszYzZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURTRnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ1JWR1pSZVhLdmRNSGh3TGJQdmJyVFZMZUFHRHFtcU1ICi0vV3FENHUyM1FCZ0NJRC9RdEZhaWF3anZpTkZFZHRVN0pLNnY0WlkwUFEwYTArSExaSUhMaTlhaAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC8yMC5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzIwLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmVjNjhkZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzIwLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KLUJnZ3Foa2pPUFFNQkJ3PT0KLS0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGNDQVFFRUlKSExjaURoSmNubEU1TWhUck9mRmxuUmJwSlFMT2Y0aDcyRTZWRFh4TU0wb0FvR0NDcUdTTTQ5Ci1Bd0VIb1VRRFFnQUV4bm02emZDY1JJWGpuUXNRL3BvWjBPTXpGTVJkVmxKSmdBQnlGTU5QUFFXSWgvVWdNR0V2Ci16T2JaNWZrZkgyNDc2QnFrcVVlazVGZlJGTndrTWlLTWNBPT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvUmVhZG1lLnR4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvUmVhZG1lLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA2ZWM2Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL1JlYWRtZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UaGVzZSBjZXJ0aWZpY2F0ZXMgZm9ybSBhIHZlcnkgbG9uZyBjaGFpbiwgdXNlZCB0byB0ZXN0IHRoZQotTUJFRFRMU19YNTA5X01BWF9JTlRfQ0EgbGltaXQuCi0KLU5OLmtleSBpcyB0aGUgcHJpdmF0ZSBrZXkgb2YgY2VydGlmaWNhdGUgTk4uY3J0LgotCi1UaGUgcm9vdCBpcyAwMC5jcnQgYW5kIE4rMS5jcnQgaXMgYSBjaGlsZCBvZiBOLmNydC4KLQotRmlsZSBjTk4ucGVtIGNvbnRhaW5zIHRoZSBjaGFpbiBOTi5jcnQgdG8gMDAuY3J0LgotCi1UaG9zZSBjZXJ0aWZpY2F0ZXMgd2VyZSBnZW5lcmF0ZWQgYnkgdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9sb25nLnNoLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDAucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDAucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODA2NjQ4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzAwLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzAxLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzAxLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzAyZmNiZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwMS5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzAyLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzAyLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzdjMjUxOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwMi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ERXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFXSHB2MWk2bGYKLXd2TlBPUDVrYTZTMG41NUV2em9hWUs2cGJUWFA2eU1PVy80WFpTUEt4NVpvcTRGTWUwY0t6R0lJRkwxcnpqMVYKLTJjellCK3F2TGh5aW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNVJDZ1EwQWxaVFFiZkZCMis2K3cwWFJ2eWRUQlgKLUJnTlZIU01FVURCT2dCU2gzdUhrWDVuajg2eUZFRndqc2NTV000MFArcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUk3dW5HVy9ncjl0T2MzaStkRjVOODE1c3JnaCtGclgKLW9qOUV0NzRFY1NwVEFpQnVidit2T0gwREUwZ21ZSTExSGVBSWd1dFdxcU1JQzcyZFpsd1RGL1ZpM2c9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCM2pDQ0FZV2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREF3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRem5uOXpISHdMCi1HTzhWUjRXOVY3dk1seENkb29qekVPaVg1WTZKdFB0Rk96ODY2dWVIWTZ6b04wL21KNkRucW5TWGlsSklVVWVXCi02ZUdmcW1rYTdueGtvNEdSTUlHT01CMEdBMVVkRGdRV0JCU2gzdUhrWDVuajg2eUZFRndqc2NTV000MFArakJmCi1CZ05WSFNNRVdEQldnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhacmFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ2tBL0tDV2hjcVRvSEF3Ci1EQVlEVlIwVEJBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlCYXNidWluUCtwSlRVNG9EQ1ZEOHpRCi0xckpCRFNPS0lFeVd1ODQvRDZIajZ3SWdWTVBVb08wMWJQaHpsbEFhL2dXOFhrL2RhZXkwOVNCZ04zQVQ5cFdVCi1UREE9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJwVENDQVV1Z0F3SUJBZ0lKQVB5Z2xvWEtrNkJ3TUFvR0NDcUdTTTQ5QkFNQ01DOHhDekFKQmdOVkJBWVQKLUFsVkxNUkV3RHdZRFZRUUtEQWh0WW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQWVGdzB4TnpBMk1qSXgKLU1UVXdNekphRncweU56QTJNak14TVRVd016SmFNQzh4Q3pBSkJnTlZCQVlUQWxWTE1SRXdEd1lEVlFRS0RBaHQKLVltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKLUJGVzQxL3FBd0FQcHkrVHhkYzdQS216WnNxOUNQaXVqS1U0dnBGMWVrWG5HeDJIUDQyMFFvYndCVlZXaGt6Um0KLUx3ZGJvSDJqNjVkY0NLalE3bXYvZHhLalVEQk9NQjBHQTFVZERnUVdCQlFsRll2VTVXYm9JNGZjZFBvaVFzOC8KLWZQSFpyVEFmQmdOVkhTTUVHREFXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJUQU1CZ05WSFJNRUJUQUQKLUFRSC9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUM3aVJjVnp3TXlmVks1aW1pcko3TXFKUTA0ZXVINENMT3QKLUlaK1NOZmFFUkFJZ1NVME1XRkRvc1ZFSXBnOFlNcUlIZUY3TWc0WnlINitmR2F6SmdWTHR0VVk9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwMy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwMy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YzFhMjEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUkRYRE5JaTFwCi1lcmV1ZGhxd2EyTHNsWGdzeG5CNjNIdTV5NWxnKzFXUHJ1SVlQekQvSG8wQVB2ZVZkekZMVmppMTkrYkU0K3RGCi1QWUwxU3BzTjFXZldvNEdKTUlHR01CMEdBMVVkRGdRV0JCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkekJYCi1CZ05WSFNNRVVEQk9nQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZGFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPbmQrN2JBb2ZrSFZhNEtGTmp2M1RDZWd3MWxyaHVNCi04T2Y4d2d2clRFR29BaUVBc1M4aUtNcFNmWEg0RDBlZ2c0Z0xhbUU2YWtkZTk2NXJEdHlTVSt2ZTlsZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURFd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ESXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVdIcHYxaTZsZgotd3ZOUE9QNWthNlMwbjU1RXZ6b2FZSzZwYlRYUDZ5TU9XLzRYWlNQS3g1Wm9xNEZNZTBjS3pHSUlGTDFyemoxVgotMmN6WUIrcXZMaHlpbzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZFRCWAotQmdOVkhTTUVVREJPZ0JTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSTd1bkdXL2dyOXRPYzNpK2RGNU44MTVzcmdoK0ZyWAotb2o5RXQ3NEVjU3BUQWlCdWJ2K3ZPSDBERTBnbVlJMTFIZUFJZ3V0V3FxTUlDNzJkWmx3VEYvVmkzZz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA0LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjEzZDdkOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwNC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDUucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDUucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDA5MDQ5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA1LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURRd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUVkVDBPRmY1RwotVWNyZ1gyWGxsQ3lKelA5NE5aNDY0R3NnQjZwc05Mc0RlTCtqN0FVK29KeTdWTHZXL2xIaDNPRGdsMDhaOWJocQotTEZCbU5qbkhibThRbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbnpCWAotQmdOVkhTTUVVREJPZ0JRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjM2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSVcrK3pxRFpsTExVay9lbWVQb2hkTk9wNUpPM3dTOQotWHZrQko2V3VhN0dCQWlBZHgrRUttZGpWcnduenJRbHRUZ25tU2ZHTVhoS05ZaWZLM3VEODNXM3BjUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDYucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDYucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMGZiZjEzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURVd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0E5cVdvQVVIcgotbm4rM2t4eU5yalBKazgyV0RMaW1XMjFSTjUxdXhwb2JhZHY4WWdHRURSZFArT2srdVJxUVNVc0E2WlhmRjNpRwotcjJHamZRM3dNREg4bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UXpCWAotQmdOVkhTTUVVREJPZ0JUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW42RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdjalpORldKdGxEbW9QWmJBeHFzR2N6UllLMGxmUGd1NgotZzFIN3BwMGNlK3dDSURqOUJSWk0yT0I5RUYwZStNREtHanlaR2Z2ZnJMNklyNDd4L0tyTTZIOFQKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURRd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUVkVDBPRmY1RwotVWNyZ1gyWGxsQ3lKelA5NE5aNDY0R3NnQjZwc05Mc0RlTCtqN0FVK29KeTdWTHZXL2xIaDNPRGdsMDhaOWJocQotTEZCbU5qbkhibThRbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbnpCWAotQmdOVkhTTUVVREJPZ0JRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjM2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSVcrK3pxRFpsTExVay9lbWVQb2hkTk9wNUpPM3dTOQotWHZrQko2V3VhN0dCQWlBZHgrRUttZGpWcnduenJRbHRUZ25tU2ZHTVhoS05ZaWZLM3VEODNXM3BjUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDcucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMDcucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTYwZDE5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA3LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURZd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU05PajRkNE1FQQotN3AvM21paWpxRzRUb0U0b3BLUEFtKzNCVElHckpUWVQxNCsrVFNpVUlDbDBBU1hqK3hlVWNMTUlhWFROMDQycwotTHNIeHBTaHpRYUwwbzRHSk1JR0dNQjBHQTFVZERnUVdCQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRXpCWAotQmdOVkhTTUVVREJPZ0JTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1E2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEExZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBS0djZitjNDQyYy9YaXd1YmJhaVF2c29aN0VvVnh1TQotb0ttaWEwZ1B5Qk5rQWlFQTgzYXNqSjVGRFhRdUx5WnBjenZpWHJibXFnQ1BPZllhZHR2a2MwY3hNaXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EVXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNBOXFXb0FVSHIKLW5uKzNreHlOcmpQSms4MldETGltVzIxUk41MXV4cG9iYWR2OFlnR0VEUmRQK09rK3VScVFTVXNBNlpYZkYzaUcKLXIyR2pmUTN3TURIOG80R0pNSUdHTUIwR0ExVWREZ1FXQkJTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1F6QlgKLUJnTlZIU01FVURCT2dCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnY2paTkZXSnRsRG1vUFpiQXhxc0djelJZSzBsZlBndTYKLWcxSDdwcDBjZSt3Q0lEajlCUlpNMk9COUVGMGUrTURLR2p5WkdmdmZyTDZJcjQ3eC9Lck02SDhUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EUXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFFZFQwT0ZmNUcKLVVjcmdYMlhsbEN5SnpQOTROWjQ2NEdzZ0I2cHNOTHNEZUwrajdBVStvSnk3Vkx2Vy9sSGgzT0RnbDA4WjliaHEKLUxGQm1Oam5IYm04UW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW56QlgKLUJnTlZIU01FVURCT2dCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlXKyt6cURabExMVWsvZW1lUG9oZE5PcDVKTzN3UzkKLVh2a0JKNld1YTdHQkFpQWR4K0VLbWRqVnJ3bnpyUWx0VGdubVNmR01YaEtOWWlmSzN1RDgzVzNwY1E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRE13SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRVVhEZ2NVVk5UCi05aG92YlpFNUhMNnJqT2I3QzU1d0V1V0tUaFYvQ2NaNHJXclh4N1ZYSFlkRC9SM2FEQTdKU3ZZcG0yc1RvazRpCi1zYmxEemhaTS9HRE5vNEdKTUlHR01CMEdBMVVkRGdRV0JCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzekJYCi1CZ05WSFNNRVVEQk9nQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZDZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0FraU5ocUZBWlhTVVdFREs5MU9adlFHZGVaT3RkNm1DCi0rV3YzZkdrM3QyOENJRUtPd2lka1VUVWFpUGRaNGVmbUFyK0NFZUd6ZHEyN29iMlMrbnFxSHFnVgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUkRYRE5JaTFwCi1lcmV1ZGhxd2EyTHNsWGdzeG5CNjNIdTV5NWxnKzFXUHJ1SVlQekQvSG8wQVB2ZVZkekZMVmppMTkrYkU0K3RGCi1QWUwxU3BzTjFXZldvNEdKTUlHR01CMEdBMVVkRGdRV0JCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkekJYCi1CZ05WSFNNRVVEQk9nQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZGFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPbmQrN2JBb2ZrSFZhNEtGTmp2M1RDZWd3MWxyaHVNCi04T2Y4d2d2clRFR29BaUVBc1M4aUtNcFNmWEg0RDBlZ2c0Z0xhbUU2YWtkZTk2NXJEdHlTVSt2ZTlsZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURFd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ESXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVdIcHYxaTZsZgotd3ZOUE9QNWthNlMwbjU1RXZ6b2FZSzZwYlRYUDZ5TU9XLzRYWlNQS3g1Wm9xNEZNZTBjS3pHSUlGTDFyemoxVgotMmN6WUIrcXZMaHlpbzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZFRCWAotQmdOVkhTTUVVREJPZ0JTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSTd1bkdXL2dyOXRPYzNpK2RGNU44MTVzcmdoK0ZyWAotb2o5RXQ3NEVjU3BUQWlCdWJ2K3ZPSDBERTBnbVlJMTFIZUFJZ3V0V3FxTUlDNzJkWmx3VEYvVmkzZz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA4LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA4LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzhjMmM0YS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwOC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMDggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGN3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURnd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFScFFlUS9ZR1FqCi1ubDdTem82V1N0SjF1N3h1blRMNWpCa1hIOGFBVlNtMHFpWDRBRC83WVB4YTVFbkd6WmRMVG4yNXZRVm5mUUFHCi1wTXg4UDFsWWlHWUNvNEdKTUlHR01CMEdBMVVkRGdRV0JCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYakJYCi1CZ05WSFNNRVVEQk9nQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTJnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFOd0dmK0Y0YStrbVhXejhValNwUmthVG9UVjZFRld3Ci0vVGp6ajB0UWhEb0FBaUVBMTlSeGVXT1ZCQnBNNkxPSGc2djVMZjU0WU4xc25rTGYrc0VYeVpDdVdRUT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURZd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU05PajRkNE1FQQotN3AvM21paWpxRzRUb0U0b3BLUEFtKzNCVElHckpUWVQxNCsrVFNpVUlDbDBBU1hqK3hlVWNMTUlhWFROMDQycwotTHNIeHBTaHpRYUwwbzRHSk1JR0dNQjBHQTFVZERnUVdCQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRXpCWAotQmdOVkhTTUVVREJPZ0JTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1E2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEExZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBS0djZitjNDQyYy9YaXd1YmJhaVF2c29aN0VvVnh1TQotb0ttaWEwZ1B5Qk5rQWlFQTgzYXNqSjVGRFhRdUx5WnBjenZpWHJibXFnQ1BPZllhZHR2a2MwY3hNaXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EVXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNBOXFXb0FVSHIKLW5uKzNreHlOcmpQSms4MldETGltVzIxUk41MXV4cG9iYWR2OFlnR0VEUmRQK09rK3VScVFTVXNBNlpYZkYzaUcKLXIyR2pmUTN3TURIOG80R0pNSUdHTUIwR0ExVWREZ1FXQkJTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1F6QlgKLUJnTlZIU01FVURCT2dCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnY2paTkZXSnRsRG1vUFpiQXhxc0djelJZSzBsZlBndTYKLWcxSDdwcDBjZSt3Q0lEajlCUlpNMk9COUVGMGUrTURLR2p5WkdmdmZyTDZJcjQ3eC9Lck02SDhUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EUXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFFZFQwT0ZmNUcKLVVjcmdYMlhsbEN5SnpQOTROWjQ2NEdzZ0I2cHNOTHNEZUwrajdBVStvSnk3Vkx2Vy9sSGgzT0RnbDA4WjliaHEKLUxGQm1Oam5IYm04UW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW56QlgKLUJnTlZIU01FVURCT2dCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlXKyt6cURabExMVWsvZW1lUG9oZE5PcDVKTzN3UzkKLVh2a0JKNld1YTdHQkFpQWR4K0VLbWRqVnJ3bnpyUWx0VGdubVNmR01YaEtOWWlmSzN1RDgzVzNwY1E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRE13SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRVVhEZ2NVVk5UCi05aG92YlpFNUhMNnJqT2I3QzU1d0V1V0tUaFYvQ2NaNHJXclh4N1ZYSFlkRC9SM2FEQTdKU3ZZcG0yc1RvazRpCi1zYmxEemhaTS9HRE5vNEdKTUlHR01CMEdBMVVkRGdRV0JCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzekJYCi1CZ05WSFNNRVVEQk9nQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZDZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0FraU5ocUZBWlhTVVdFREs5MU9adlFHZGVaT3RkNm1DCi0rV3YzZkdrM3QyOENJRUtPd2lka1VUVWFpUGRaNGVmbUFyK0NFZUd6ZHEyN29iMlMrbnFxSHFnVgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUkRYRE5JaTFwCi1lcmV1ZGhxd2EyTHNsWGdzeG5CNjNIdTV5NWxnKzFXUHJ1SVlQekQvSG8wQVB2ZVZkekZMVmppMTkrYkU0K3RGCi1QWUwxU3BzTjFXZldvNEdKTUlHR01CMEdBMVVkRGdRV0JCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkekJYCi1CZ05WSFNNRVVEQk9nQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZGFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPbmQrN2JBb2ZrSFZhNEtGTmp2M1RDZWd3MWxyaHVNCi04T2Y4d2d2clRFR29BaUVBc1M4aUtNcFNmWEg0RDBlZ2c0Z0xhbUU2YWtkZTk2NXJEdHlTVSt2ZTlsZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURFd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ESXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVdIcHYxaTZsZgotd3ZOUE9QNWthNlMwbjU1RXZ6b2FZSzZwYlRYUDZ5TU9XLzRYWlNQS3g1Wm9xNEZNZTBjS3pHSUlGTDFyemoxVgotMmN6WUIrcXZMaHlpbzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZFRCWAotQmdOVkhTTUVVREJPZ0JTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSTd1bkdXL2dyOXRPYzNpK2RGNU44MTVzcmdoK0ZyWAotb2o5RXQ3NEVjU3BUQWlCdWJ2K3ZPSDBERTBnbVlJMTFIZUFJZ3V0V3FxTUlDNzJkWmx3VEYvVmkzZz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA5LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA5LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjY5ZjRlMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwOS5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGd3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURrd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSN1pCMTYrdDZFCi1zZmFoR3lLVUdKVzVtZXprempkYVl2YzRsYkphS05Sd0ZSZmMzRi9mbU5PU3NVRlNnL0YwTit2VUUrZG9LaVBDCi04d1J3THp2bTRzKzVvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDZneVhIelBJUFljMVZyMWFHaUxMZU1oNEhwakJYCi1CZ05WSFNNRVVEQk9nQlM0MG1MdDkzVThTaDhaR2lEVkFoUlNpQlBjWHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTNnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ080ZWwxWlBobElsaS9xTlIyU0lFaXV2czVNbXk4NjhpCi1OMlJ2NVgvVnhJRUNJQS84clVBTFF4VzM4WFNkQlZYM2Uvanp1N2p1NDduMVl3RXFEOUs5V2RWdgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGN3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURnd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFScFFlUS9ZR1FqCi1ubDdTem82V1N0SjF1N3h1blRMNWpCa1hIOGFBVlNtMHFpWDRBRC83WVB4YTVFbkd6WmRMVG4yNXZRVm5mUUFHCi1wTXg4UDFsWWlHWUNvNEdKTUlHR01CMEdBMVVkRGdRV0JCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYakJYCi1CZ05WSFNNRVVEQk9nQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTJnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFOd0dmK0Y0YStrbVhXejhValNwUmthVG9UVjZFRld3Ci0vVGp6ajB0UWhEb0FBaUVBMTlSeGVXT1ZCQnBNNkxPSGc2djVMZjU0WU4xc25rTGYrc0VYeVpDdVdRUT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURZd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU05PajRkNE1FQQotN3AvM21paWpxRzRUb0U0b3BLUEFtKzNCVElHckpUWVQxNCsrVFNpVUlDbDBBU1hqK3hlVWNMTUlhWFROMDQycwotTHNIeHBTaHpRYUwwbzRHSk1JR0dNQjBHQTFVZERnUVdCQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRXpCWAotQmdOVkhTTUVVREJPZ0JTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1E2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEExZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBS0djZitjNDQyYy9YaXd1YmJhaVF2c29aN0VvVnh1TQotb0ttaWEwZ1B5Qk5rQWlFQTgzYXNqSjVGRFhRdUx5WnBjenZpWHJibXFnQ1BPZllhZHR2a2MwY3hNaXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EVXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNBOXFXb0FVSHIKLW5uKzNreHlOcmpQSms4MldETGltVzIxUk41MXV4cG9iYWR2OFlnR0VEUmRQK09rK3VScVFTVXNBNlpYZkYzaUcKLXIyR2pmUTN3TURIOG80R0pNSUdHTUIwR0ExVWREZ1FXQkJTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1F6QlgKLUJnTlZIU01FVURCT2dCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnY2paTkZXSnRsRG1vUFpiQXhxc0djelJZSzBsZlBndTYKLWcxSDdwcDBjZSt3Q0lEajlCUlpNMk9COUVGMGUrTURLR2p5WkdmdmZyTDZJcjQ3eC9Lck02SDhUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EUXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFFZFQwT0ZmNUcKLVVjcmdYMlhsbEN5SnpQOTROWjQ2NEdzZ0I2cHNOTHNEZUwrajdBVStvSnk3Vkx2Vy9sSGgzT0RnbDA4WjliaHEKLUxGQm1Oam5IYm04UW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW56QlgKLUJnTlZIU01FVURCT2dCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlXKyt6cURabExMVWsvZW1lUG9oZE5PcDVKTzN3UzkKLVh2a0JKNld1YTdHQkFpQWR4K0VLbWRqVnJ3bnpyUWx0VGdubVNmR01YaEtOWWlmSzN1RDgzVzNwY1E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRE13SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRVVhEZ2NVVk5UCi05aG92YlpFNUhMNnJqT2I3QzU1d0V1V0tUaFYvQ2NaNHJXclh4N1ZYSFlkRC9SM2FEQTdKU3ZZcG0yc1RvazRpCi1zYmxEemhaTS9HRE5vNEdKTUlHR01CMEdBMVVkRGdRV0JCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzekJYCi1CZ05WSFNNRVVEQk9nQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZDZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0FraU5ocUZBWlhTVVdFREs5MU9adlFHZGVaT3RkNm1DCi0rV3YzZkdrM3QyOENJRUtPd2lka1VUVWFpUGRaNGVmbUFyK0NFZUd6ZHEyN29iMlMrbnFxSHFnVgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUkRYRE5JaTFwCi1lcmV1ZGhxd2EyTHNsWGdzeG5CNjNIdTV5NWxnKzFXUHJ1SVlQekQvSG8wQVB2ZVZkekZMVmppMTkrYkU0K3RGCi1QWUwxU3BzTjFXZldvNEdKTUlHR01CMEdBMVVkRGdRV0JCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkekJYCi1CZ05WSFNNRVVEQk9nQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZGFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPbmQrN2JBb2ZrSFZhNEtGTmp2M1RDZWd3MWxyaHVNCi04T2Y4d2d2clRFR29BaUVBc1M4aUtNcFNmWEg0RDBlZ2c0Z0xhbUU2YWtkZTk2NXJEdHlTVSt2ZTlsZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURFd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ESXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVdIcHYxaTZsZgotd3ZOUE9QNWthNlMwbjU1RXZ6b2FZSzZwYlRYUDZ5TU9XLzRYWlNQS3g1Wm9xNEZNZTBjS3pHSUlGTDFyemoxVgotMmN6WUIrcXZMaHlpbzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZFRCWAotQmdOVkhTTUVVREJPZ0JTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSTd1bkdXL2dyOXRPYzNpK2RGNU44MTVzcmdoK0ZyWAotb2o5RXQ3NEVjU3BUQWlCdWJ2K3ZPSDBERTBnbVlJMTFIZUFJZ3V0V3FxTUlDNzJkWmx3VEYvVmkzZz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEwLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEwLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTI5MzMwNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxMC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMzIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGt3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSNmpsR0tiSmQ1Ci1oaUR4Tjc4OWdrT2N3cHlISTl3UndDckFEQU93T2tNZVBCUFJsd0dkbTdtdzdaL0VBbXUyNnpSbS9oY3lyczRNCi1xazJMYWJEalBJOVhvNEdKTUlHR01CMEdBMVVkRGdRV0JCUXR4WlNMSkFrRXorMlJLTVFleE02RXRzZmdjakJYCi1CZ05WSFNNRVVEQk9nQlQ2Z3lYSHpQSVBZYzFWcjFhR2lMTGVNaDRIcHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTRnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1A3Uzh2RnN0ZlVCZE5lNnltNUdZRzVRK2FCVkVLcVJzCi1mVlc3SE5Va3RTWUNJUURvNkp1YTZvL0RKYnJwcTRxWVdxNWd2NHlHeXpQVE4rM0lhS3JFSUNkYWF3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURnd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1Ea3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjdaQjE2K3Q2RQotc2ZhaEd5S1VHSlc1bWV6a3pqZGFZdmM0bGJKYUtOUndGUmZjM0YvZm1OT1NzVUZTZy9GME4rdlVFK2RvS2lQQwotOHdSd0x6dm00cys1bzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ2Z3lYSHpQSVBZYzFWcjFhR2lMTGVNaDRIcGpCWAotQmdOVkhTTUVVREJPZ0JTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEzZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdPNGVsMVpQaGxJbGkvcU5SMlNJRWl1dnM1TW15ODY4aQotTjJSdjVYL1Z4SUVDSUEvOHJVQUxReFczOFhTZEJWWDNlL2p6dTdqdTQ3bjFZd0VxRDlLOVdkVnYKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURjd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EZ3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnBRZVEvWUdRagotbmw3U3pvNldTdEoxdTd4dW5UTDVqQmtYSDhhQVZTbTBxaVg0QUQvN1lQeGE1RW5HelpkTFRuMjV2UVZuZlFBRwotcE14OFAxbFlpR1lDbzRHSk1JR0dNQjBHQTFVZERnUVdCQlM0MG1MdDkzVThTaDhaR2lEVkFoUlNpQlBjWGpCWAotQmdOVkhTTUVVREJPZ0JSRXE1SjN0b0pQeFozTytzc0o1dmtrVTBSSkU2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEyZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBTndHZitGNGEra21YV3o4VWpTcFJrYVRvVFY2RUZXdwotL1RqemowdFFoRG9BQWlFQTE5UnhlV09WQkJwTTZMT0hnNnY1TGY1NFlOMXNua0xmK3NFWHlaQ3VXUVE9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EWXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGN3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNOT2o0ZDRNRUEKLTdwLzNtaWlqcUc0VG9FNG9wS1BBbSszQlRJR3JKVFlUMTQrK1RTaVVJQ2wwQVNYait4ZVVjTE1JYVhUTjA0MnMKLUxzSHhwU2h6UWFMMG80R0pNSUdHTUIwR0ExVWREZ1FXQkJSRXE1SjN0b0pQeFozTytzc0o1dmtrVTBSSkV6QlgKLUJnTlZIU01FVURCT2dCU2pvdllhQy9tNkxpOVRwMFY5aVpSczkyNjdRNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUtHY2YrYzQ0MmMvWGl3dWJiYWlRdnNvWjdFb1Z4dU0KLW9LbWlhMGdQeUJOa0FpRUE4M2Fzako1RkRYUXVMeVpwY3p2aVhyYm1xZ0NQT2ZZYWR0dmtjMGN4TWlzPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURZd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTQTlxV29BVUhyCi1ubisza3h5TnJqUEprODJXRExpbVcyMVJONTF1eHBvYmFkdjhZZ0dFRFJkUCtPayt1UnFRU1VzQTZaWGZGM2lHCi1yMkdqZlEzd01ESDhvNEdKTUlHR01CMEdBMVVkRGdRV0JCU2pvdllhQy9tNkxpOVRwMFY5aVpSczkyNjdRekJYCi1CZ05WSFNNRVVEQk9nQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbjZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTBnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ2NqWk5GV0p0bERtb1BaYkF4cXNHY3pSWUswbGZQZ3U2Ci1nMUg3cHAwY2Urd0NJRGo5QlJaTTJPQjlFRjBlK01ES0dqeVpHZnZmckw2SXI0N3gvS3JNNkg4VAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFF3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURVd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRRWRUME9GZjVHCi1VY3JnWDJYbGxDeUp6UDk0Tlo0NjRHc2dCNnBzTkxzRGVMK2o3QVUrb0p5N1ZMdlcvbEhoM09EZ2wwOFo5YmhxCi1MRkJtTmpuSGJtOFFvNEdKTUlHR01CMEdBMVVkRGdRV0JCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuekJYCi1CZ05WSFNNRVVEQk9nQlFveDRGMU5zWnVubHNkdW9HdnpJZ1JTWWZCMzZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXpnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJVysrenFEWmxMTFVrL2VtZVBvaGROT3A1Sk8zd1M5Ci1YdmtCSjZXdWE3R0JBaUFkeCtFS21kalZyd256clFsdFRnbm1TZkdNWGhLTllpZkszdUQ4M1czcGNRPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURNd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EUXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVVYRGdjVVZOVAotOWhvdmJaRTVITDZyak9iN0M1NXdFdVdLVGhWL0NjWjRyV3JYeDdWWEhZZEQvUjNhREE3SlN2WXBtMnNUb2s0aQotc2JsRHpoWk0vR0RObzRHSk1JR0dNQjBHQTFVZERnUVdCQlFveDRGMU5zWnVubHNkdW9HdnpJZ1JTWWZCM3pCWAotQmdOVkhTTUVVREJPZ0JRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGQ2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF5Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdBa2lOaHFGQVpYU1VXRURLOTFPWnZRR2RlWk90ZDZtQwotK1d2M2ZHazN0MjhDSUVLT3dpZGtVVFVhaVBkWjRlZm1BcitDRWVHemRxMjdvYjJTK25xcUhxZ1YKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURJd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ETXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVJEWEROSWkxcAotZXJldWRocXdhMkxzbFhnc3huQjYzSHU1eTVsZysxV1BydUlZUHpEL0hvMEFQdmVWZHpGTFZqaTE5K2JFNCt0RgotUFlMMVNwc04xV2ZXbzRHSk1JR0dNQjBHQTFVZERnUVdCQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZHpCWAotQmdOVkhTTUVVREJPZ0JUNVJDZ1EwQWxaVFFiZkZCMis2K3cwWFJ2eWRhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF4Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBT25kKzdiQW9ma0hWYTRLRk5qdjNUQ2VndzFscmh1TQotOE9mOHdndnJURUdvQWlFQXNTOGlLTXBTZlhINEQwZWdnNGdMYW1FNmFrZGU5NjVyRHR5U1UrdmU5bGc9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ERXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFXSHB2MWk2bGYKLXd2TlBPUDVrYTZTMG41NUV2em9hWUs2cGJUWFA2eU1PVy80WFpTUEt4NVpvcTRGTWUwY0t6R0lJRkwxcnpqMVYKLTJjellCK3F2TGh5aW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNVJDZ1EwQWxaVFFiZkZCMis2K3cwWFJ2eWRUQlgKLUJnTlZIU01FVURCT2dCU2gzdUhrWDVuajg2eUZFRndqc2NTV000MFArcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUk3dW5HVy9ncjl0T2MzaStkRjVOODE1c3JnaCtGclgKLW9qOUV0NzRFY1NwVEFpQnVidit2T0gwREUwZ21ZSTExSGVBSWd1dFdxcU1JQzcyZFpsd1RGL1ZpM2c9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCM2pDQ0FZV2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREF3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRem5uOXpISHdMCi1HTzhWUjRXOVY3dk1seENkb29qekVPaVg1WTZKdFB0Rk96ODY2dWVIWTZ6b04wL21KNkRucW5TWGlsSklVVWVXCi02ZUdmcW1rYTdueGtvNEdSTUlHT01CMEdBMVVkRGdRV0JCU2gzdUhrWDVuajg2eUZFRndqc2NTV000MFArakJmCi1CZ05WSFNNRVdEQldnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhacmFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ2tBL0tDV2hjcVRvSEF3Ci1EQVlEVlIwVEJBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlCYXNidWluUCtwSlRVNG9EQ1ZEOHpRCi0xckpCRFNPS0lFeVd1ODQvRDZIajZ3SWdWTVBVb08wMWJQaHpsbEFhL2dXOFhrL2RhZXkwOVNCZ04zQVQ5cFdVCi1UREE9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJwVENDQVV1Z0F3SUJBZ0lKQVB5Z2xvWEtrNkJ3TUFvR0NDcUdTTTQ5QkFNQ01DOHhDekFKQmdOVkJBWVQKLUFsVkxNUkV3RHdZRFZRUUtEQWh0WW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQWVGdzB4TnpBMk1qSXgKLU1UVXdNekphRncweU56QTJNak14TVRVd016SmFNQzh4Q3pBSkJnTlZCQVlUQWxWTE1SRXdEd1lEVlFRS0RBaHQKLVltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKLUJGVzQxL3FBd0FQcHkrVHhkYzdQS216WnNxOUNQaXVqS1U0dnBGMWVrWG5HeDJIUDQyMFFvYndCVlZXaGt6Um0KLUx3ZGJvSDJqNjVkY0NLalE3bXYvZHhLalVEQk9NQjBHQTFVZERnUVdCQlFsRll2VTVXYm9JNGZjZFBvaVFzOC8KLWZQSFpyVEFmQmdOVkhTTUVHREFXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJUQU1CZ05WSFJNRUJUQUQKLUFRSC9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUM3aVJjVnp3TXlmVks1aW1pcko3TXFKUTA0ZXVINENMT3QKLUlaK1NOZmFFUkFJZ1NVME1XRkRvc1ZFSXBnOFlNcUlIZUY3TWc0WnlINitmR2F6SmdWTHR0VVk9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxMS5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxMS5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2Y2JjYmYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTEucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTQ0ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRBd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1URXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVFp3UitXSzZOQgotRi83cmlGZE42M2M4aGpZZGRaUlI0bHJ6Vk5Qd2lCUXhubnh3cFB5ckQ5QTZhUFBtTGM2U3FHT0pXNFpHVkNjbwotSUJ6ZTlSSlZlaUI5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNPU3Q2ZVB5TVJUNlBHTWFJaTdGcU5YOU1LdERCWAotQmdOVkhTTUVVREJPZ0JRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE1Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdOLy9OcU0wRnJrck1qbXhvZUNZOURneGtIMlI2c1E0ZAotTmd0d0NaQUlxRUlDSUJzNHZ1cGFWY3V2bmk5dGx0YlAyNndpN2MwRlIrYmxadW81RFBJQTNTVmUKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURrd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjZqbEdLYkpkNQotaGlEeE43ODlna09jd3B5SEk5d1J3Q3JBREFPd09rTWVQQlBSbHdHZG03bXc3Wi9FQW11MjZ6Um0vaGN5cnM0TQotcWsyTGFiRGpQSTlYbzRHSk1JR0dNQjBHQTFVZERnUVdCQlF0eFpTTEpBa0V6KzJSS01RZXhNNkV0c2ZnY2pCWAotQmdOVkhTTUVVREJPZ0JUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE0Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdQN1M4dkZzdGZVQmROZTZ5bTVHWUc1USthQlZFS3FScwotZlZXN0hOVWt0U1lDSVFEbzZKdWE2by9ESmJycHE0cVlXcTVndjR5R3l6UFROKzNJYUtyRUlDZGFhdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EZ3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGt3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI3WkIxNit0NkUKLXNmYWhHeUtVR0pXNW1lemt6amRhWXZjNGxiSmFLTlJ3RlJmYzNGL2ZtTk9Tc1VGU2cvRjBOK3ZVRStkb0tpUEMKLTh3UndMenZtNHMrNW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBqQlgKLUJnTlZIU01FVURCT2dCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBM2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTzRlbDFaUGhsSWxpL3FOUjJTSUVpdXZzNU1teTg2OGkKLU4yUnY1WC9WeElFQ0lBLzhyVUFMUXhXMzhYU2RCVlgzZS9qenU3anU0N24xWXdFcUQ5SzlXZFZ2Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EY3dIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGd3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJwUWVRL1lHUWoKLW5sN1N6bzZXU3RKMXU3eHVuVEw1akJrWEg4YUFWU20wcWlYNEFELzdZUHhhNUVuR3paZExUbjI1dlFWbmZRQUcKLXBNeDhQMWxZaUdZQ280R0pNSUdHTUIwR0ExVWREZ1FXQkJTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hqQlgKLUJnTlZIU01FVURCT2dCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMmdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU53R2YrRjRhK2ttWFd6OFVqU3BSa2FUb1RWNkVGV3cKLS9UanpqMHRRaERvQUFpRUExOVJ4ZVdPVkJCcE02TE9IZzZ2NUxmNTRZTjFzbmtMZitzRVh5WkN1V1FRPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTTk9qNGQ0TUVBCi03cC8zbWlpanFHNFRvRTRvcEtQQW0rM0JUSUdySlRZVDE0KytUU2lVSUNsMEFTWGoreGVVY0xNSWFYVE4wNDJzCi1Mc0h4cFNoelFhTDBvNEdKTUlHR01CMEdBMVVkRGdRV0JCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFekJYCi1CZ05WSFNNRVVEQk9nQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTFnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFLR2NmK2M0NDJjL1hpd3ViYmFpUXZzb1o3RW9WeHVNCi1vS21pYTBnUHlCTmtBaUVBODNhc2pKNUZEWFF1THlacGN6dmlYcmJtcWdDUE9mWWFkdHZrYzBjeE1pcz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURVd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0E5cVdvQVVIcgotbm4rM2t4eU5yalBKazgyV0RMaW1XMjFSTjUxdXhwb2JhZHY4WWdHRURSZFArT2srdVJxUVNVc0E2WlhmRjNpRwotcjJHamZRM3dNREg4bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UXpCWAotQmdOVkhTTUVVREJPZ0JUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW42RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdjalpORldKdGxEbW9QWmJBeHFzR2N6UllLMGxmUGd1NgotZzFIN3BwMGNlK3dDSURqOUJSWk0yT0I5RUYwZStNREtHanlaR2Z2ZnJMNklyNDd4L0tyTTZIOFQKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURRd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUVkVDBPRmY1RwotVWNyZ1gyWGxsQ3lKelA5NE5aNDY0R3NnQjZwc05Mc0RlTCtqN0FVK29KeTdWTHZXL2xIaDNPRGdsMDhaOWJocQotTEZCbU5qbkhibThRbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbnpCWAotQmdOVkhTTUVVREJPZ0JRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjM2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSVcrK3pxRFpsTExVay9lbWVQb2hkTk9wNUpPM3dTOQotWHZrQko2V3VhN0dCQWlBZHgrRUttZGpWcnduenJRbHRUZ25tU2ZHTVhoS05ZaWZLM3VEODNXM3BjUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3N2M4ZjNmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEyLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE1NiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1URXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRERTlMUGxMUGMKLWdaM2IwQmNoUi9Ba2hORVA5SEFhdndZYWRKSXl6b1BvNWVkQ1ZuYm9RSDc4NmpzWndaTlpvQzBnSERBaENtR2MKLUlmUmVuSVNBb1Z1UG80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWlR0YmkrajBTbS9acy8rZ1RrV2RBU3BRemZqQlgKLUJnTlZIU01FVURCT2dCU09TdDZlUHlNUlQ2UEdNYUlpN0ZxTlg5TUt0S0V6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFd2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnWVlGNUFuUlY3ZWgyaExENUR6Ly9wY2VNVEt6OUxzNDYKLUU2RHh2YmZESGlrQ0lGdHRsR3JPQ1pWeVM0b2NzanVLSUVMVlVYNXFmeWdJMHNuNGtVM3FDVHMyCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UQXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRad1IrV0s2TkIKLUYvN3JpRmRONjNjOGhqWWRkWlJSNGxyelZOUHdpQlF4bm54d3BQeXJEOUE2YVBQbUxjNlNxR09KVzRaR1ZDY28KLUlCemU5UkpWZWlCOW80R0pNSUdHTUIwR0ExVWREZ1FXQkJTT1N0NmVQeU1SVDZQR01hSWk3RnFOWDlNS3REQlgKLUJnTlZIU01FVURCT2dCUXR4WlNMSkFrRXorMlJLTVFleE02RXRzZmdjcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBNWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTi8vTnFNMEZya3JNam14b2VDWTlEZ3hrSDJSNnNRNGQKLU5ndHdDWkFJcUVJQ0lCczR2dXBhVmN1dm5pOXRsdGJQMjZ3aTdjMEZSK2JsWnVvNURQSUEzU1ZlCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1Ea3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI2amxHS2JKZDUKLWhpRHhONzg5Z2tPY3dweUhJOXdSd0NyQURBT3dPa01lUEJQUmx3R2RtN213N1ovRUFtdTI2elJtL2hjeXJzNE0KLXFrMkxhYkRqUEk5WG80R0pNSUdHTUIwR0ExVWREZ1FXQkJRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NqQlgKLUJnTlZIU01FVURCT2dCVDZneVhIelBJUFljMVZyMWFHaUxMZU1oNEhwcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBNGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnUDdTOHZGc3RmVUJkTmU2eW01R1lHNVErYUJWRUtxUnMKLWZWVzdITlVrdFNZQ0lRRG82SnVhNm8vREpicnBxNHFZV3E1Z3Y0eUd5elBUTiszSWFLckVJQ2RhYXc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGd3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURrd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSN1pCMTYrdDZFCi1zZmFoR3lLVUdKVzVtZXprempkYVl2YzRsYkphS05Sd0ZSZmMzRi9mbU5PU3NVRlNnL0YwTit2VUUrZG9LaVBDCi04d1J3THp2bTRzKzVvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDZneVhIelBJUFljMVZyMWFHaUxMZU1oNEhwakJYCi1CZ05WSFNNRVVEQk9nQlM0MG1MdDkzVThTaDhaR2lEVkFoUlNpQlBjWHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTNnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ080ZWwxWlBobElsaS9xTlIyU0lFaXV2czVNbXk4NjhpCi1OMlJ2NVgvVnhJRUNJQS84clVBTFF4VzM4WFNkQlZYM2Uvanp1N2p1NDduMVl3RXFEOUs5V2RWdgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGN3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURnd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFScFFlUS9ZR1FqCi1ubDdTem82V1N0SjF1N3h1blRMNWpCa1hIOGFBVlNtMHFpWDRBRC83WVB4YTVFbkd6WmRMVG4yNXZRVm5mUUFHCi1wTXg4UDFsWWlHWUNvNEdKTUlHR01CMEdBMVVkRGdRV0JCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYakJYCi1CZ05WSFNNRVVEQk9nQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTJnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFOd0dmK0Y0YStrbVhXejhValNwUmthVG9UVjZFRld3Ci0vVGp6ajB0UWhEb0FBaUVBMTlSeGVXT1ZCQnBNNkxPSGc2djVMZjU0WU4xc25rTGYrc0VYeVpDdVdRUT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURZd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU05PajRkNE1FQQotN3AvM21paWpxRzRUb0U0b3BLUEFtKzNCVElHckpUWVQxNCsrVFNpVUlDbDBBU1hqK3hlVWNMTUlhWFROMDQycwotTHNIeHBTaHpRYUwwbzRHSk1JR0dNQjBHQTFVZERnUVdCQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRXpCWAotQmdOVkhTTUVVREJPZ0JTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1E2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEExZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBS0djZitjNDQyYy9YaXd1YmJhaVF2c29aN0VvVnh1TQotb0ttaWEwZ1B5Qk5rQWlFQTgzYXNqSjVGRFhRdUx5WnBjenZpWHJibXFnQ1BPZllhZHR2a2MwY3hNaXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EVXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNBOXFXb0FVSHIKLW5uKzNreHlOcmpQSms4MldETGltVzIxUk41MXV4cG9iYWR2OFlnR0VEUmRQK09rK3VScVFTVXNBNlpYZkYzaUcKLXIyR2pmUTN3TURIOG80R0pNSUdHTUIwR0ExVWREZ1FXQkJTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1F6QlgKLUJnTlZIU01FVURCT2dCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnY2paTkZXSnRsRG1vUFpiQXhxc0djelJZSzBsZlBndTYKLWcxSDdwcDBjZSt3Q0lEajlCUlpNMk9COUVGMGUrTURLR2p5WkdmdmZyTDZJcjQ3eC9Lck02SDhUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EUXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFFZFQwT0ZmNUcKLVVjcmdYMlhsbEN5SnpQOTROWjQ2NEdzZ0I2cHNOTHNEZUwrajdBVStvSnk3Vkx2Vy9sSGgzT0RnbDA4WjliaHEKLUxGQm1Oam5IYm04UW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW56QlgKLUJnTlZIU01FVURCT2dCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlXKyt6cURabExMVWsvZW1lUG9oZE5PcDVKTzN3UzkKLVh2a0JKNld1YTdHQkFpQWR4K0VLbWRqVnJ3bnpyUWx0VGdubVNmR01YaEtOWWlmSzN1RDgzVzNwY1E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRE13SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRVVhEZ2NVVk5UCi05aG92YlpFNUhMNnJqT2I3QzU1d0V1V0tUaFYvQ2NaNHJXclh4N1ZYSFlkRC9SM2FEQTdKU3ZZcG0yc1RvazRpCi1zYmxEemhaTS9HRE5vNEdKTUlHR01CMEdBMVVkRGdRV0JCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzekJYCi1CZ05WSFNNRVVEQk9nQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZDZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0FraU5ocUZBWlhTVVdFREs5MU9adlFHZGVaT3RkNm1DCi0rV3YzZkdrM3QyOENJRUtPd2lka1VUVWFpUGRaNGVmbUFyK0NFZUd6ZHEyN29iMlMrbnFxSHFnVgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUkRYRE5JaTFwCi1lcmV1ZGhxd2EyTHNsWGdzeG5CNjNIdTV5NWxnKzFXUHJ1SVlQekQvSG8wQVB2ZVZkekZMVmppMTkrYkU0K3RGCi1QWUwxU3BzTjFXZldvNEdKTUlHR01CMEdBMVVkRGdRV0JCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkekJYCi1CZ05WSFNNRVVEQk9nQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZGFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPbmQrN2JBb2ZrSFZhNEtGTmp2M1RDZWd3MWxyaHVNCi04T2Y4d2d2clRFR29BaUVBc1M4aUtNcFNmWEg0RDBlZ2c0Z0xhbUU2YWtkZTk2NXJEdHlTVSt2ZTlsZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURFd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ESXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVdIcHYxaTZsZgotd3ZOUE9QNWthNlMwbjU1RXZ6b2FZSzZwYlRYUDZ5TU9XLzRYWlNQS3g1Wm9xNEZNZTBjS3pHSUlGTDFyemoxVgotMmN6WUIrcXZMaHlpbzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZFRCWAotQmdOVkhTTUVVREJPZ0JTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSTd1bkdXL2dyOXRPYzNpK2RGNU44MTVzcmdoK0ZyWAotb2o5RXQ3NEVjU3BUQWlCdWJ2K3ZPSDBERTBnbVlJMTFIZUFJZ3V0V3FxTUlDNzJkWmx3VEYvVmkzZz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEzLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDUwMzliYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxMy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNjggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVEl3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUcmt6Q0pMem5oCi1saG5zdjFSWEI5a2ZlYUQrY0lydVBRMGNJdEJER3BkdkQ4eGJCVnZRY2k0K1JHMlJWVUNTV1Joa0ZZalNzVVNNCi0wUUhNUW5CRmxodzJvNEdKTUlHR01CMEdBMVVkRGdRV0JCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtakJYCi1CZ05WSFNNRVVEQk9nQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZnFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1dzbStySEpnd1VFeU5tOEVLYkVkczV5dXJwcDUvM3k1Ci1Qc3ZYSlZEcXhvZ0NJUURVUDBKY2wzQTkwN0NFMnRQVlhTZ0Q2TFE2Q1B1MTltaXhlbVB3NjB5aWpBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRFd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1USXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVERFOUxQbExQYwotZ1ozYjBCY2hSL0FraE5FUDlIQWF2d1lhZEpJeXpvUG81ZWRDVm5ib1FINzg2anNad1pOWm9DMGdIREFoQ21HYwotSWZSZW5JU0FvVnVQbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZmpCWAotQmdOVkhTTUVVREJPZ0JTT1N0NmVQeU1SVDZQR01hSWk3RnFOWDlNS3RLRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdZWUY1QW5SVjdlaDJoTEQ1RHovL3BjZU1US3o5THM0NgotRTZEeHZiZkRIaWtDSUZ0dGxHck9DWlZ5UzRvY3NqdUtJRUxWVVg1cWZ5Z0kwc240a1UzcUNUczIKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRBd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1URXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVFp3UitXSzZOQgotRi83cmlGZE42M2M4aGpZZGRaUlI0bHJ6Vk5Qd2lCUXhubnh3cFB5ckQ5QTZhUFBtTGM2U3FHT0pXNFpHVkNjbwotSUJ6ZTlSSlZlaUI5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNPU3Q2ZVB5TVJUNlBHTWFJaTdGcU5YOU1LdERCWAotQmdOVkhTTUVVREJPZ0JRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE1Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdOLy9OcU0wRnJrck1qbXhvZUNZOURneGtIMlI2c1E0ZAotTmd0d0NaQUlxRUlDSUJzNHZ1cGFWY3V2bmk5dGx0YlAyNndpN2MwRlIrYmxadW81RFBJQTNTVmUKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURrd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjZqbEdLYkpkNQotaGlEeE43ODlna09jd3B5SEk5d1J3Q3JBREFPd09rTWVQQlBSbHdHZG03bXc3Wi9FQW11MjZ6Um0vaGN5cnM0TQotcWsyTGFiRGpQSTlYbzRHSk1JR0dNQjBHQTFVZERnUVdCQlF0eFpTTEpBa0V6KzJSS01RZXhNNkV0c2ZnY2pCWAotQmdOVkhTTUVVREJPZ0JUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE0Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdQN1M4dkZzdGZVQmROZTZ5bTVHWUc1USthQlZFS3FScwotZlZXN0hOVWt0U1lDSVFEbzZKdWE2by9ESmJycHE0cVlXcTVndjR5R3l6UFROKzNJYUtyRUlDZGFhdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EZ3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGt3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI3WkIxNit0NkUKLXNmYWhHeUtVR0pXNW1lemt6amRhWXZjNGxiSmFLTlJ3RlJmYzNGL2ZtTk9Tc1VGU2cvRjBOK3ZVRStkb0tpUEMKLTh3UndMenZtNHMrNW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBqQlgKLUJnTlZIU01FVURCT2dCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBM2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTzRlbDFaUGhsSWxpL3FOUjJTSUVpdXZzNU1teTg2OGkKLU4yUnY1WC9WeElFQ0lBLzhyVUFMUXhXMzhYU2RCVlgzZS9qenU3anU0N24xWXdFcUQ5SzlXZFZ2Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EY3dIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGd3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJwUWVRL1lHUWoKLW5sN1N6bzZXU3RKMXU3eHVuVEw1akJrWEg4YUFWU20wcWlYNEFELzdZUHhhNUVuR3paZExUbjI1dlFWbmZRQUcKLXBNeDhQMWxZaUdZQ280R0pNSUdHTUIwR0ExVWREZ1FXQkJTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hqQlgKLUJnTlZIU01FVURCT2dCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMmdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU53R2YrRjRhK2ttWFd6OFVqU3BSa2FUb1RWNkVGV3cKLS9UanpqMHRRaERvQUFpRUExOVJ4ZVdPVkJCcE02TE9IZzZ2NUxmNTRZTjFzbmtMZitzRVh5WkN1V1FRPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTTk9qNGQ0TUVBCi03cC8zbWlpanFHNFRvRTRvcEtQQW0rM0JUSUdySlRZVDE0KytUU2lVSUNsMEFTWGoreGVVY0xNSWFYVE4wNDJzCi1Mc0h4cFNoelFhTDBvNEdKTUlHR01CMEdBMVVkRGdRV0JCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFekJYCi1CZ05WSFNNRVVEQk9nQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTFnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFLR2NmK2M0NDJjL1hpd3ViYmFpUXZzb1o3RW9WeHVNCi1vS21pYTBnUHlCTmtBaUVBODNhc2pKNUZEWFF1THlacGN6dmlYcmJtcWdDUE9mWWFkdHZrYzBjeE1pcz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURVd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0E5cVdvQVVIcgotbm4rM2t4eU5yalBKazgyV0RMaW1XMjFSTjUxdXhwb2JhZHY4WWdHRURSZFArT2srdVJxUVNVc0E2WlhmRjNpRwotcjJHamZRM3dNREg4bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UXpCWAotQmdOVkhTTUVVREJPZ0JUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW42RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdjalpORldKdGxEbW9QWmJBeHFzR2N6UllLMGxmUGd1NgotZzFIN3BwMGNlK3dDSURqOUJSWk0yT0I5RUYwZStNREtHanlaR2Z2ZnJMNklyNDd4L0tyTTZIOFQKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURRd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUVkVDBPRmY1RwotVWNyZ1gyWGxsQ3lKelA5NE5aNDY0R3NnQjZwc05Mc0RlTCtqN0FVK29KeTdWTHZXL2xIaDNPRGdsMDhaOWJocQotTEZCbU5qbkhibThRbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbnpCWAotQmdOVkhTTUVVREJPZ0JRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjM2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSVcrK3pxRFpsTExVay9lbWVQb2hkTk9wNUpPM3dTOQotWHZrQko2V3VhN0dCQWlBZHgrRUttZGpWcnduenJRbHRUZ25tU2ZHTVhoS05ZaWZLM3VEODNXM3BjUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmVjYTcyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzE0LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE4MCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UTXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRSTVpOMFJIelAKLWRvbk5tWnVxOVhQaHp2UTUyVGFva3hUMzlxcFF0bEZ5dlV1RUdLckxvTnZkY3BBUmFBMHJHcHV0NlJMQVFPVlUKLWlOVmxKM0lwajc4OW80R0pNSUdHTUIwR0ExVWREZ1FXQkJSTnNKQisrY2NTQm1iQ0NLQnhpNENqWFJPQmt6QlgKLUJnTlZIU01FVURCT2dCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnVmZ1THBqcDA4QWF4S1dmNmN1WlVVQ1JkN0NvalNTMUkKLTcxaHplVXlGUytzQ0lRRE5KSTZQL3BCYmlIZ1RhR2xCQWdmY0VmbXhtYlkwbjR4Wm5kdHhJa215VkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVEl3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUcmt6Q0pMem5oCi1saG5zdjFSWEI5a2ZlYUQrY0lydVBRMGNJdEJER3BkdkQ4eGJCVnZRY2k0K1JHMlJWVUNTV1Joa0ZZalNzVVNNCi0wUUhNUW5CRmxodzJvNEdKTUlHR01CMEdBMVVkRGdRV0JCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtakJYCi1CZ05WSFNNRVVEQk9nQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZnFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1dzbStySEpnd1VFeU5tOEVLYkVkczV5dXJwcDUvM3k1Ci1Qc3ZYSlZEcXhvZ0NJUURVUDBKY2wzQTkwN0NFMnRQVlhTZ0Q2TFE2Q1B1MTltaXhlbVB3NjB5aWpBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRFd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1USXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVERFOUxQbExQYwotZ1ozYjBCY2hSL0FraE5FUDlIQWF2d1lhZEpJeXpvUG81ZWRDVm5ib1FINzg2anNad1pOWm9DMGdIREFoQ21HYwotSWZSZW5JU0FvVnVQbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZmpCWAotQmdOVkhTTUVVREJPZ0JTT1N0NmVQeU1SVDZQR01hSWk3RnFOWDlNS3RLRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdZWUY1QW5SVjdlaDJoTEQ1RHovL3BjZU1US3o5THM0NgotRTZEeHZiZkRIaWtDSUZ0dGxHck9DWlZ5UzRvY3NqdUtJRUxWVVg1cWZ5Z0kwc240a1UzcUNUczIKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRBd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1URXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVFp3UitXSzZOQgotRi83cmlGZE42M2M4aGpZZGRaUlI0bHJ6Vk5Qd2lCUXhubnh3cFB5ckQ5QTZhUFBtTGM2U3FHT0pXNFpHVkNjbwotSUJ6ZTlSSlZlaUI5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNPU3Q2ZVB5TVJUNlBHTWFJaTdGcU5YOU1LdERCWAotQmdOVkhTTUVVREJPZ0JRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE1Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdOLy9OcU0wRnJrck1qbXhvZUNZOURneGtIMlI2c1E0ZAotTmd0d0NaQUlxRUlDSUJzNHZ1cGFWY3V2bmk5dGx0YlAyNndpN2MwRlIrYmxadW81RFBJQTNTVmUKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURrd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjZqbEdLYkpkNQotaGlEeE43ODlna09jd3B5SEk5d1J3Q3JBREFPd09rTWVQQlBSbHdHZG03bXc3Wi9FQW11MjZ6Um0vaGN5cnM0TQotcWsyTGFiRGpQSTlYbzRHSk1JR0dNQjBHQTFVZERnUVdCQlF0eFpTTEpBa0V6KzJSS01RZXhNNkV0c2ZnY2pCWAotQmdOVkhTTUVVREJPZ0JUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE0Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdQN1M4dkZzdGZVQmROZTZ5bTVHWUc1USthQlZFS3FScwotZlZXN0hOVWt0U1lDSVFEbzZKdWE2by9ESmJycHE0cVlXcTVndjR5R3l6UFROKzNJYUtyRUlDZGFhdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EZ3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGt3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI3WkIxNit0NkUKLXNmYWhHeUtVR0pXNW1lemt6amRhWXZjNGxiSmFLTlJ3RlJmYzNGL2ZtTk9Tc1VGU2cvRjBOK3ZVRStkb0tpUEMKLTh3UndMenZtNHMrNW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBqQlgKLUJnTlZIU01FVURCT2dCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBM2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTzRlbDFaUGhsSWxpL3FOUjJTSUVpdXZzNU1teTg2OGkKLU4yUnY1WC9WeElFQ0lBLzhyVUFMUXhXMzhYU2RCVlgzZS9qenU3anU0N24xWXdFcUQ5SzlXZFZ2Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EY3dIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGd3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJwUWVRL1lHUWoKLW5sN1N6bzZXU3RKMXU3eHVuVEw1akJrWEg4YUFWU20wcWlYNEFELzdZUHhhNUVuR3paZExUbjI1dlFWbmZRQUcKLXBNeDhQMWxZaUdZQ280R0pNSUdHTUIwR0ExVWREZ1FXQkJTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hqQlgKLUJnTlZIU01FVURCT2dCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMmdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU53R2YrRjRhK2ttWFd6OFVqU3BSa2FUb1RWNkVGV3cKLS9UanpqMHRRaERvQUFpRUExOVJ4ZVdPVkJCcE02TE9IZzZ2NUxmNTRZTjFzbmtMZitzRVh5WkN1V1FRPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTTk9qNGQ0TUVBCi03cC8zbWlpanFHNFRvRTRvcEtQQW0rM0JUSUdySlRZVDE0KytUU2lVSUNsMEFTWGoreGVVY0xNSWFYVE4wNDJzCi1Mc0h4cFNoelFhTDBvNEdKTUlHR01CMEdBMVVkRGdRV0JCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFekJYCi1CZ05WSFNNRVVEQk9nQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTFnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFLR2NmK2M0NDJjL1hpd3ViYmFpUXZzb1o3RW9WeHVNCi1vS21pYTBnUHlCTmtBaUVBODNhc2pKNUZEWFF1THlacGN6dmlYcmJtcWdDUE9mWWFkdHZrYzBjeE1pcz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURVd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0E5cVdvQVVIcgotbm4rM2t4eU5yalBKazgyV0RMaW1XMjFSTjUxdXhwb2JhZHY4WWdHRURSZFArT2srdVJxUVNVc0E2WlhmRjNpRwotcjJHamZRM3dNREg4bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UXpCWAotQmdOVkhTTUVVREJPZ0JUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW42RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdjalpORldKdGxEbW9QWmJBeHFzR2N6UllLMGxmUGd1NgotZzFIN3BwMGNlK3dDSURqOUJSWk0yT0I5RUYwZStNREtHanlaR2Z2ZnJMNklyNDd4L0tyTTZIOFQKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURRd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUVkVDBPRmY1RwotVWNyZ1gyWGxsQ3lKelA5NE5aNDY0R3NnQjZwc05Mc0RlTCtqN0FVK29KeTdWTHZXL2xIaDNPRGdsMDhaOWJocQotTEZCbU5qbkhibThRbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbnpCWAotQmdOVkhTTUVVREJPZ0JRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjM2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSVcrK3pxRFpsTExVay9lbWVQb2hkTk9wNUpPM3dTOQotWHZrQko2V3VhN0dCQWlBZHgrRUttZGpWcnduenJRbHRUZ25tU2ZHTVhoS05ZaWZLM3VEODNXM3BjUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTUucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTUucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMjA0MjBkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzE1LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UUXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFsS1VpTW9Tc3MKLS9oc1Rhc2VkcWRCMkJDT0dKaFR0MGhnVUdlVW5XTloxc3ZPNHluMEdrRkhaMDgrK2ZsMk1LcWpwaitWWHEwSlMKLUZGeUdVT2dtZ2kzSG80R0pNSUdHTUIwR0ExVWREZ1FXQkJSMW1YbHJkVzVyeDFWbnFNTW5VQlhvMFdXR1dqQlgKLUJnTlZIU01FVURCT2dCUk5zSkIrK2NjU0JtYkNDS0J4aTRDalhST0JrNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUtZT0lvK2ZkQ1FScXBINExOOHFVSzFhS3pLbVdHeFMKLWZHekVFa2cvMjliTUFpQWw5NWNtdWNvQ0RNcTJBYjhDb2MwZEVxeUo2K3JBUE1MQkNiR2F3eWlXNkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVE13SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUUk1aTjBSSHpQCi1kb25ObVp1cTlYUGh6dlE1MlRhb2t4VDM5cXBRdGxGeXZVdUVHS3JMb052ZGNwQVJhQTByR3B1dDZSTEFRT1ZVCi1pTlZsSjNJcGo3ODlvNEdKTUlHR01CMEdBMVVkRGdRV0JCUk5zSkIrK2NjU0JtYkNDS0J4aTRDalhST0JrekJYCi1CZ05WSFNNRVVEQk9nQlRtVm5VU0YyTVl3d3MvbkNNdjdiMXdKVmtEbXFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1ZmdUxwanAwOEFheEtXZjZjdVpVVUNSZDdDb2pTUzFJCi03MWh6ZVV5RlMrc0NJUUROSkk2UC9wQmJpSGdUYUdsQkFnZmNFZm14bWJZMG40eFpuZHR4SWtteVZBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRJd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVHJrekNKTHpuaAotbGhuc3YxUlhCOWtmZWFEK2NJcnVQUTBjSXRCREdwZHZEOHhiQlZ2UWNpNCtSRzJSVlVDU1dSaGtGWWpTc1VTTQotMFFITVFuQkZsaHcybzRHSk1JR0dNQjBHQTFVZERnUVdCQlRtVm5VU0YyTVl3d3MvbkNNdjdiMXdKVmtEbWpCWAotQmdOVkhTTUVVREJPZ0JUWlR0YmkrajBTbS9acy8rZ1RrV2RBU3BRemZxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV4Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdXc20rckhKZ3dVRXlObThFS2JFZHM1eXVycHA1LzN5NQotUHN2WEpWRHF4b2dDSVFEVVAwSmNsM0E5MDdDRTJ0UFZYU2dENkxRNkNQdTE5bWl4ZW1QdzYweWlqQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1URXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRERTlMUGxMUGMKLWdaM2IwQmNoUi9Ba2hORVA5SEFhdndZYWRKSXl6b1BvNWVkQ1ZuYm9RSDc4NmpzWndaTlpvQzBnSERBaENtR2MKLUlmUmVuSVNBb1Z1UG80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWlR0YmkrajBTbS9acy8rZ1RrV2RBU3BRemZqQlgKLUJnTlZIU01FVURCT2dCU09TdDZlUHlNUlQ2UEdNYUlpN0ZxTlg5TUt0S0V6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFd2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnWVlGNUFuUlY3ZWgyaExENUR6Ly9wY2VNVEt6OUxzNDYKLUU2RHh2YmZESGlrQ0lGdHRsR3JPQ1pWeVM0b2NzanVLSUVMVlVYNXFmeWdJMHNuNGtVM3FDVHMyCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UQXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRad1IrV0s2TkIKLUYvN3JpRmRONjNjOGhqWWRkWlJSNGxyelZOUHdpQlF4bm54d3BQeXJEOUE2YVBQbUxjNlNxR09KVzRaR1ZDY28KLUlCemU5UkpWZWlCOW80R0pNSUdHTUIwR0ExVWREZ1FXQkJTT1N0NmVQeU1SVDZQR01hSWk3RnFOWDlNS3REQlgKLUJnTlZIU01FVURCT2dCUXR4WlNMSkFrRXorMlJLTVFleE02RXRzZmdjcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBNWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTi8vTnFNMEZya3JNam14b2VDWTlEZ3hrSDJSNnNRNGQKLU5ndHdDWkFJcUVJQ0lCczR2dXBhVmN1dm5pOXRsdGJQMjZ3aTdjMEZSK2JsWnVvNURQSUEzU1ZlCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1Ea3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI2amxHS2JKZDUKLWhpRHhONzg5Z2tPY3dweUhJOXdSd0NyQURBT3dPa01lUEJQUmx3R2RtN213N1ovRUFtdTI2elJtL2hjeXJzNE0KLXFrMkxhYkRqUEk5WG80R0pNSUdHTUIwR0ExVWREZ1FXQkJRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NqQlgKLUJnTlZIU01FVURCT2dCVDZneVhIelBJUFljMVZyMWFHaUxMZU1oNEhwcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBNGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnUDdTOHZGc3RmVUJkTmU2eW01R1lHNVErYUJWRUtxUnMKLWZWVzdITlVrdFNZQ0lRRG82SnVhNm8vREpicnBxNHFZV3E1Z3Y0eUd5elBUTiszSWFLckVJQ2RhYXc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGd3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURrd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSN1pCMTYrdDZFCi1zZmFoR3lLVUdKVzVtZXprempkYVl2YzRsYkphS05Sd0ZSZmMzRi9mbU5PU3NVRlNnL0YwTit2VUUrZG9LaVBDCi04d1J3THp2bTRzKzVvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDZneVhIelBJUFljMVZyMWFHaUxMZU1oNEhwakJYCi1CZ05WSFNNRVVEQk9nQlM0MG1MdDkzVThTaDhaR2lEVkFoUlNpQlBjWHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTNnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ080ZWwxWlBobElsaS9xTlIyU0lFaXV2czVNbXk4NjhpCi1OMlJ2NVgvVnhJRUNJQS84clVBTFF4VzM4WFNkQlZYM2Uvanp1N2p1NDduMVl3RXFEOUs5V2RWdgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGN3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURnd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFScFFlUS9ZR1FqCi1ubDdTem82V1N0SjF1N3h1blRMNWpCa1hIOGFBVlNtMHFpWDRBRC83WVB4YTVFbkd6WmRMVG4yNXZRVm5mUUFHCi1wTXg4UDFsWWlHWUNvNEdKTUlHR01CMEdBMVVkRGdRV0JCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYakJYCi1CZ05WSFNNRVVEQk9nQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTJnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFOd0dmK0Y0YStrbVhXejhValNwUmthVG9UVjZFRld3Ci0vVGp6ajB0UWhEb0FBaUVBMTlSeGVXT1ZCQnBNNkxPSGc2djVMZjU0WU4xc25rTGYrc0VYeVpDdVdRUT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURZd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU05PajRkNE1FQQotN3AvM21paWpxRzRUb0U0b3BLUEFtKzNCVElHckpUWVQxNCsrVFNpVUlDbDBBU1hqK3hlVWNMTUlhWFROMDQycwotTHNIeHBTaHpRYUwwbzRHSk1JR0dNQjBHQTFVZERnUVdCQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRXpCWAotQmdOVkhTTUVVREJPZ0JTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1E2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEExZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBS0djZitjNDQyYy9YaXd1YmJhaVF2c29aN0VvVnh1TQotb0ttaWEwZ1B5Qk5rQWlFQTgzYXNqSjVGRFhRdUx5WnBjenZpWHJibXFnQ1BPZllhZHR2a2MwY3hNaXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EVXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNBOXFXb0FVSHIKLW5uKzNreHlOcmpQSms4MldETGltVzIxUk41MXV4cG9iYWR2OFlnR0VEUmRQK09rK3VScVFTVXNBNlpYZkYzaUcKLXIyR2pmUTN3TURIOG80R0pNSUdHTUIwR0ExVWREZ1FXQkJTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1F6QlgKLUJnTlZIU01FVURCT2dCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnY2paTkZXSnRsRG1vUFpiQXhxc0djelJZSzBsZlBndTYKLWcxSDdwcDBjZSt3Q0lEajlCUlpNMk9COUVGMGUrTURLR2p5WkdmdmZyTDZJcjQ3eC9Lck02SDhUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EUXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFFZFQwT0ZmNUcKLVVjcmdYMlhsbEN5SnpQOTROWjQ2NEdzZ0I2cHNOTHNEZUwrajdBVStvSnk3Vkx2Vy9sSGgzT0RnbDA4WjliaHEKLUxGQm1Oam5IYm04UW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW56QlgKLUJnTlZIU01FVURCT2dCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlXKyt6cURabExMVWsvZW1lUG9oZE5PcDVKTzN3UzkKLVh2a0JKNld1YTdHQkFpQWR4K0VLbWRqVnJ3bnpyUWx0VGdubVNmR01YaEtOWWlmSzN1RDgzVzNwY1E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRE13SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRVVhEZ2NVVk5UCi05aG92YlpFNUhMNnJqT2I3QzU1d0V1V0tUaFYvQ2NaNHJXclh4N1ZYSFlkRC9SM2FEQTdKU3ZZcG0yc1RvazRpCi1zYmxEemhaTS9HRE5vNEdKTUlHR01CMEdBMVVkRGdRV0JCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzekJYCi1CZ05WSFNNRVVEQk9nQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZDZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0FraU5ocUZBWlhTVVdFREs5MU9adlFHZGVaT3RkNm1DCi0rV3YzZkdrM3QyOENJRUtPd2lka1VUVWFpUGRaNGVmbUFyK0NFZUd6ZHEyN29iMlMrbnFxSHFnVgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUkRYRE5JaTFwCi1lcmV1ZGhxd2EyTHNsWGdzeG5CNjNIdTV5NWxnKzFXUHJ1SVlQekQvSG8wQVB2ZVZkekZMVmppMTkrYkU0K3RGCi1QWUwxU3BzTjFXZldvNEdKTUlHR01CMEdBMVVkRGdRV0JCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkekJYCi1CZ05WSFNNRVVEQk9nQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZGFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPbmQrN2JBb2ZrSFZhNEtGTmp2M1RDZWd3MWxyaHVNCi04T2Y4d2d2clRFR29BaUVBc1M4aUtNcFNmWEg0RDBlZ2c0Z0xhbUU2YWtkZTk2NXJEdHlTVSt2ZTlsZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURFd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ESXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVdIcHYxaTZsZgotd3ZOUE9QNWthNlMwbjU1RXZ6b2FZSzZwYlRYUDZ5TU9XLzRYWlNQS3g1Wm9xNEZNZTBjS3pHSUlGTDFyemoxVgotMmN6WUIrcXZMaHlpbzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZFRCWAotQmdOVkhTTUVVREJPZ0JTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSTd1bkdXL2dyOXRPYzNpK2RGNU44MTVzcmdoK0ZyWAotb2o5RXQ3NEVjU3BUQWlCdWJ2K3ZPSDBERTBnbVlJMTFIZUFJZ3V0V3FxTUlDNzJkWmx3VEYvVmkzZz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzE2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzE2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQxYTgzYi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxNi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwyMDQgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVFV3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRZd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRN1ZzcDdKbUROCi1rZ1BoLyt6bUlQa2Q3bzB4b3QvV1BNRm4zdUFzR3RzVTM4NU1GMGZtaGZGTGhSYmJIOWg0SmpZSGo4eTBzcFUzCi1idVVYaGZ0dkFaVmJvNEdKTUlHR01CMEdBMVVkRGdRV0JCUlR3M0swUHN5M3UvNiszS0tTb2FRcUpuUHZQakJYCi1CZ05WSFNNRVVEQk9nQlIxbVhscmRXNXJ4MVZucU1NblVCWG8wV1dHV3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURTBnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFNSm5HakU5djNTanVHZmkwak5CeXJ3eU5maGxUSE1oCi1GaFBRaWROckRwWHdBaUVBcVl0TmlWOHQ5UnJBYTlHQzZGV0R1SnB2SWlVNkZzRStsRnE2dUlxL0oyRT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRRd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWxLVWlNb1NzcwotL2hzVGFzZWRxZEIyQkNPR0poVHQwaGdVR2VVbldOWjFzdk80eW4wR2tGSFowOCsrZmwyTUtxanBqK1ZYcTBKUwotRkZ5R1VPZ21naTNIbzRHSk1JR0dNQjBHQTFVZERnUVdCQlIxbVhscmRXNXJ4MVZucU1NblVCWG8wV1dHV2pCWAotQmdOVkhTTUVVREJPZ0JSTnNKQisrY2NTQm1iQ0NLQnhpNENqWFJPQms2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBS1lPSW8rZmRDUVJxcEg0TE44cVVLMWFLekttV0d4UwotZkd6RUVrZy8yOWJNQWlBbDk1Y211Y29DRE1xMkFiOENvYzBkRXF5SjYrckFQTUxCQ2JHYXd5aVc2QT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UTXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRSTVpOMFJIelAKLWRvbk5tWnVxOVhQaHp2UTUyVGFva3hUMzlxcFF0bEZ5dlV1RUdLckxvTnZkY3BBUmFBMHJHcHV0NlJMQVFPVlUKLWlOVmxKM0lwajc4OW80R0pNSUdHTUIwR0ExVWREZ1FXQkJSTnNKQisrY2NTQm1iQ0NLQnhpNENqWFJPQmt6QlgKLUJnTlZIU01FVURCT2dCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnVmZ1THBqcDA4QWF4S1dmNmN1WlVVQ1JkN0NvalNTMUkKLTcxaHplVXlGUytzQ0lRRE5KSTZQL3BCYmlIZ1RhR2xCQWdmY0VmbXhtYlkwbjR4Wm5kdHhJa215VkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVEl3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUcmt6Q0pMem5oCi1saG5zdjFSWEI5a2ZlYUQrY0lydVBRMGNJdEJER3BkdkQ4eGJCVnZRY2k0K1JHMlJWVUNTV1Joa0ZZalNzVVNNCi0wUUhNUW5CRmxodzJvNEdKTUlHR01CMEdBMVVkRGdRV0JCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtakJYCi1CZ05WSFNNRVVEQk9nQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZnFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1dzbStySEpnd1VFeU5tOEVLYkVkczV5dXJwcDUvM3k1Ci1Qc3ZYSlZEcXhvZ0NJUURVUDBKY2wzQTkwN0NFMnRQVlhTZ0Q2TFE2Q1B1MTltaXhlbVB3NjB5aWpBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRFd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1USXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVERFOUxQbExQYwotZ1ozYjBCY2hSL0FraE5FUDlIQWF2d1lhZEpJeXpvUG81ZWRDVm5ib1FINzg2anNad1pOWm9DMGdIREFoQ21HYwotSWZSZW5JU0FvVnVQbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZmpCWAotQmdOVkhTTUVVREJPZ0JTT1N0NmVQeU1SVDZQR01hSWk3RnFOWDlNS3RLRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdZWUY1QW5SVjdlaDJoTEQ1RHovL3BjZU1US3o5THM0NgotRTZEeHZiZkRIaWtDSUZ0dGxHck9DWlZ5UzRvY3NqdUtJRUxWVVg1cWZ5Z0kwc240a1UzcUNUczIKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRBd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1URXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVFp3UitXSzZOQgotRi83cmlGZE42M2M4aGpZZGRaUlI0bHJ6Vk5Qd2lCUXhubnh3cFB5ckQ5QTZhUFBtTGM2U3FHT0pXNFpHVkNjbwotSUJ6ZTlSSlZlaUI5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNPU3Q2ZVB5TVJUNlBHTWFJaTdGcU5YOU1LdERCWAotQmdOVkhTTUVVREJPZ0JRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE1Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdOLy9OcU0wRnJrck1qbXhvZUNZOURneGtIMlI2c1E0ZAotTmd0d0NaQUlxRUlDSUJzNHZ1cGFWY3V2bmk5dGx0YlAyNndpN2MwRlIrYmxadW81RFBJQTNTVmUKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURrd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjZqbEdLYkpkNQotaGlEeE43ODlna09jd3B5SEk5d1J3Q3JBREFPd09rTWVQQlBSbHdHZG03bXc3Wi9FQW11MjZ6Um0vaGN5cnM0TQotcWsyTGFiRGpQSTlYbzRHSk1JR0dNQjBHQTFVZERnUVdCQlF0eFpTTEpBa0V6KzJSS01RZXhNNkV0c2ZnY2pCWAotQmdOVkhTTUVVREJPZ0JUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE0Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdQN1M4dkZzdGZVQmROZTZ5bTVHWUc1USthQlZFS3FScwotZlZXN0hOVWt0U1lDSVFEbzZKdWE2by9ESmJycHE0cVlXcTVndjR5R3l6UFROKzNJYUtyRUlDZGFhdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EZ3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGt3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI3WkIxNit0NkUKLXNmYWhHeUtVR0pXNW1lemt6amRhWXZjNGxiSmFLTlJ3RlJmYzNGL2ZtTk9Tc1VGU2cvRjBOK3ZVRStkb0tpUEMKLTh3UndMenZtNHMrNW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBqQlgKLUJnTlZIU01FVURCT2dCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBM2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTzRlbDFaUGhsSWxpL3FOUjJTSUVpdXZzNU1teTg2OGkKLU4yUnY1WC9WeElFQ0lBLzhyVUFMUXhXMzhYU2RCVlgzZS9qenU3anU0N24xWXdFcUQ5SzlXZFZ2Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EY3dIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGd3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJwUWVRL1lHUWoKLW5sN1N6bzZXU3RKMXU3eHVuVEw1akJrWEg4YUFWU20wcWlYNEFELzdZUHhhNUVuR3paZExUbjI1dlFWbmZRQUcKLXBNeDhQMWxZaUdZQ280R0pNSUdHTUIwR0ExVWREZ1FXQkJTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hqQlgKLUJnTlZIU01FVURCT2dCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMmdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU53R2YrRjRhK2ttWFd6OFVqU3BSa2FUb1RWNkVGV3cKLS9UanpqMHRRaERvQUFpRUExOVJ4ZVdPVkJCcE02TE9IZzZ2NUxmNTRZTjFzbmtMZitzRVh5WkN1V1FRPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTTk9qNGQ0TUVBCi03cC8zbWlpanFHNFRvRTRvcEtQQW0rM0JUSUdySlRZVDE0KytUU2lVSUNsMEFTWGoreGVVY0xNSWFYVE4wNDJzCi1Mc0h4cFNoelFhTDBvNEdKTUlHR01CMEdBMVVkRGdRV0JCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFekJYCi1CZ05WSFNNRVVEQk9nQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTFnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFLR2NmK2M0NDJjL1hpd3ViYmFpUXZzb1o3RW9WeHVNCi1vS21pYTBnUHlCTmtBaUVBODNhc2pKNUZEWFF1THlacGN6dmlYcmJtcWdDUE9mWWFkdHZrYzBjeE1pcz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURVd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0E5cVdvQVVIcgotbm4rM2t4eU5yalBKazgyV0RMaW1XMjFSTjUxdXhwb2JhZHY4WWdHRURSZFArT2srdVJxUVNVc0E2WlhmRjNpRwotcjJHamZRM3dNREg4bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UXpCWAotQmdOVkhTTUVVREJPZ0JUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW42RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdjalpORldKdGxEbW9QWmJBeHFzR2N6UllLMGxmUGd1NgotZzFIN3BwMGNlK3dDSURqOUJSWk0yT0I5RUYwZStNREtHanlaR2Z2ZnJMNklyNDd4L0tyTTZIOFQKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURRd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUVkVDBPRmY1RwotVWNyZ1gyWGxsQ3lKelA5NE5aNDY0R3NnQjZwc05Mc0RlTCtqN0FVK29KeTdWTHZXL2xIaDNPRGdsMDhaOWJocQotTEZCbU5qbkhibThRbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbnpCWAotQmdOVkhTTUVVREJPZ0JRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjM2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSVcrK3pxRFpsTExVay9lbWVQb2hkTk9wNUpPM3dTOQotWHZrQko2V3VhN0dCQWlBZHgrRUttZGpWcnduenJRbHRUZ25tU2ZHTVhoS05ZaWZLM3VEODNXM3BjUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTcucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTcucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YmRiYWZkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzE3LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDIxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UWXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVGN3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJySVNxMnpPOW0KLUQyOVlDTEhCNTZGZFUvUklOdFJoZmVMdE0rdTVvM0hhQW5vcHkwUzk4Unp1RUdFTGpwenI4Wkk2a2tNTVpzajgKLW5GWlFGOEhmdUUwZ280R0pNSUdHTUIwR0ExVWREZ1FXQkJTbmpXdnBXeFpjRm5mUTJLR3RDZy91NmZUL0R6QlgKLUJnTlZIU01FVURCT2dCUlR3M0swUHN5M3UvNiszS0tTb2FRcUpuUHZQcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFMWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnRGdYam9jNkZmTUY1VzBOemlWNnZ4MkJPUE5XYXYwMVoKLXluRVA0aDlVTG5VQ0lRQzFyVTRzRUlkM1VkanpUS2hwU0dUS3RhT3VQRytiMFlkRU1QaW1JNGptVnc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVFV3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRZd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRN1ZzcDdKbUROCi1rZ1BoLyt6bUlQa2Q3bzB4b3QvV1BNRm4zdUFzR3RzVTM4NU1GMGZtaGZGTGhSYmJIOWg0SmpZSGo4eTBzcFUzCi1idVVYaGZ0dkFaVmJvNEdKTUlHR01CMEdBMVVkRGdRV0JCUlR3M0swUHN5M3UvNiszS0tTb2FRcUpuUHZQakJYCi1CZ05WSFNNRVVEQk9nQlIxbVhscmRXNXJ4MVZucU1NblVCWG8wV1dHV3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURTBnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFNSm5HakU5djNTanVHZmkwak5CeXJ3eU5maGxUSE1oCi1GaFBRaWROckRwWHdBaUVBcVl0TmlWOHQ5UnJBYTlHQzZGV0R1SnB2SWlVNkZzRStsRnE2dUlxL0oyRT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRRd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWxLVWlNb1NzcwotL2hzVGFzZWRxZEIyQkNPR0poVHQwaGdVR2VVbldOWjFzdk80eW4wR2tGSFowOCsrZmwyTUtxanBqK1ZYcTBKUwotRkZ5R1VPZ21naTNIbzRHSk1JR0dNQjBHQTFVZERnUVdCQlIxbVhscmRXNXJ4MVZucU1NblVCWG8wV1dHV2pCWAotQmdOVkhTTUVVREJPZ0JSTnNKQisrY2NTQm1iQ0NLQnhpNENqWFJPQms2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBS1lPSW8rZmRDUVJxcEg0TE44cVVLMWFLekttV0d4UwotZkd6RUVrZy8yOWJNQWlBbDk1Y211Y29DRE1xMkFiOENvYzBkRXF5SjYrckFQTUxCQ2JHYXd5aVc2QT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UTXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRSTVpOMFJIelAKLWRvbk5tWnVxOVhQaHp2UTUyVGFva3hUMzlxcFF0bEZ5dlV1RUdLckxvTnZkY3BBUmFBMHJHcHV0NlJMQVFPVlUKLWlOVmxKM0lwajc4OW80R0pNSUdHTUIwR0ExVWREZ1FXQkJSTnNKQisrY2NTQm1iQ0NLQnhpNENqWFJPQmt6QlgKLUJnTlZIU01FVURCT2dCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnVmZ1THBqcDA4QWF4S1dmNmN1WlVVQ1JkN0NvalNTMUkKLTcxaHplVXlGUytzQ0lRRE5KSTZQL3BCYmlIZ1RhR2xCQWdmY0VmbXhtYlkwbjR4Wm5kdHhJa215VkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVEl3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUcmt6Q0pMem5oCi1saG5zdjFSWEI5a2ZlYUQrY0lydVBRMGNJdEJER3BkdkQ4eGJCVnZRY2k0K1JHMlJWVUNTV1Joa0ZZalNzVVNNCi0wUUhNUW5CRmxodzJvNEdKTUlHR01CMEdBMVVkRGdRV0JCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtakJYCi1CZ05WSFNNRVVEQk9nQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZnFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1dzbStySEpnd1VFeU5tOEVLYkVkczV5dXJwcDUvM3k1Ci1Qc3ZYSlZEcXhvZ0NJUURVUDBKY2wzQTkwN0NFMnRQVlhTZ0Q2TFE2Q1B1MTltaXhlbVB3NjB5aWpBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRFd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1USXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVERFOUxQbExQYwotZ1ozYjBCY2hSL0FraE5FUDlIQWF2d1lhZEpJeXpvUG81ZWRDVm5ib1FINzg2anNad1pOWm9DMGdIREFoQ21HYwotSWZSZW5JU0FvVnVQbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZmpCWAotQmdOVkhTTUVVREJPZ0JTT1N0NmVQeU1SVDZQR01hSWk3RnFOWDlNS3RLRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdZWUY1QW5SVjdlaDJoTEQ1RHovL3BjZU1US3o5THM0NgotRTZEeHZiZkRIaWtDSUZ0dGxHck9DWlZ5UzRvY3NqdUtJRUxWVVg1cWZ5Z0kwc240a1UzcUNUczIKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRBd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1URXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVFp3UitXSzZOQgotRi83cmlGZE42M2M4aGpZZGRaUlI0bHJ6Vk5Qd2lCUXhubnh3cFB5ckQ5QTZhUFBtTGM2U3FHT0pXNFpHVkNjbwotSUJ6ZTlSSlZlaUI5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNPU3Q2ZVB5TVJUNlBHTWFJaTdGcU5YOU1LdERCWAotQmdOVkhTTUVVREJPZ0JRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE1Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdOLy9OcU0wRnJrck1qbXhvZUNZOURneGtIMlI2c1E0ZAotTmd0d0NaQUlxRUlDSUJzNHZ1cGFWY3V2bmk5dGx0YlAyNndpN2MwRlIrYmxadW81RFBJQTNTVmUKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURrd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjZqbEdLYkpkNQotaGlEeE43ODlna09jd3B5SEk5d1J3Q3JBREFPd09rTWVQQlBSbHdHZG03bXc3Wi9FQW11MjZ6Um0vaGN5cnM0TQotcWsyTGFiRGpQSTlYbzRHSk1JR0dNQjBHQTFVZERnUVdCQlF0eFpTTEpBa0V6KzJSS01RZXhNNkV0c2ZnY2pCWAotQmdOVkhTTUVVREJPZ0JUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE0Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdQN1M4dkZzdGZVQmROZTZ5bTVHWUc1USthQlZFS3FScwotZlZXN0hOVWt0U1lDSVFEbzZKdWE2by9ESmJycHE0cVlXcTVndjR5R3l6UFROKzNJYUtyRUlDZGFhdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EZ3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGt3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI3WkIxNit0NkUKLXNmYWhHeUtVR0pXNW1lemt6amRhWXZjNGxiSmFLTlJ3RlJmYzNGL2ZtTk9Tc1VGU2cvRjBOK3ZVRStkb0tpUEMKLTh3UndMenZtNHMrNW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBqQlgKLUJnTlZIU01FVURCT2dCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBM2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTzRlbDFaUGhsSWxpL3FOUjJTSUVpdXZzNU1teTg2OGkKLU4yUnY1WC9WeElFQ0lBLzhyVUFMUXhXMzhYU2RCVlgzZS9qenU3anU0N24xWXdFcUQ5SzlXZFZ2Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EY3dIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGd3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJwUWVRL1lHUWoKLW5sN1N6bzZXU3RKMXU3eHVuVEw1akJrWEg4YUFWU20wcWlYNEFELzdZUHhhNUVuR3paZExUbjI1dlFWbmZRQUcKLXBNeDhQMWxZaUdZQ280R0pNSUdHTUIwR0ExVWREZ1FXQkJTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hqQlgKLUJnTlZIU01FVURCT2dCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMmdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU53R2YrRjRhK2ttWFd6OFVqU3BSa2FUb1RWNkVGV3cKLS9UanpqMHRRaERvQUFpRUExOVJ4ZVdPVkJCcE02TE9IZzZ2NUxmNTRZTjFzbmtMZitzRVh5WkN1V1FRPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTTk9qNGQ0TUVBCi03cC8zbWlpanFHNFRvRTRvcEtQQW0rM0JUSUdySlRZVDE0KytUU2lVSUNsMEFTWGoreGVVY0xNSWFYVE4wNDJzCi1Mc0h4cFNoelFhTDBvNEdKTUlHR01CMEdBMVVkRGdRV0JCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFekJYCi1CZ05WSFNNRVVEQk9nQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTFnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFLR2NmK2M0NDJjL1hpd3ViYmFpUXZzb1o3RW9WeHVNCi1vS21pYTBnUHlCTmtBaUVBODNhc2pKNUZEWFF1THlacGN6dmlYcmJtcWdDUE9mWWFkdHZrYzBjeE1pcz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURVd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0E5cVdvQVVIcgotbm4rM2t4eU5yalBKazgyV0RMaW1XMjFSTjUxdXhwb2JhZHY4WWdHRURSZFArT2srdVJxUVNVc0E2WlhmRjNpRwotcjJHamZRM3dNREg4bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UXpCWAotQmdOVkhTTUVVREJPZ0JUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW42RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdjalpORldKdGxEbW9QWmJBeHFzR2N6UllLMGxmUGd1NgotZzFIN3BwMGNlK3dDSURqOUJSWk0yT0I5RUYwZStNREtHanlaR2Z2ZnJMNklyNDd4L0tyTTZIOFQKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURRd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUVkVDBPRmY1RwotVWNyZ1gyWGxsQ3lKelA5NE5aNDY0R3NnQjZwc05Mc0RlTCtqN0FVK29KeTdWTHZXL2xIaDNPRGdsMDhaOWJocQotTEZCbU5qbkhibThRbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbnpCWAotQmdOVkhTTUVVREJPZ0JRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjM2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSVcrK3pxRFpsTExVay9lbWVQb2hkTk9wNUpPM3dTOQotWHZrQko2V3VhN0dCQWlBZHgrRUttZGpWcnduenJRbHRUZ25tU2ZHTVhoS05ZaWZLM3VEODNXM3BjUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTgucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTgucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODYzMTg5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzE4LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDIyOCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UY3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVGd3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNzYy9Ka05jWWYKLWJNZ3BPZnJMNWtLT0d4T0phR1M2U1FJZU5PMzNVZUJwVG9lMWJVMmFjTjY1MnhqdmNHbzBmSkV0eGcyZmNQSFIKLWhUbkdNQkQxdTFOMm80R0pNSUdHTUIwR0ExVWREZ1FXQkJTRGJJcFludGxoSjBHZ0lzeWQ3NVhSaGxDMThqQlgKLUJnTlZIU01FVURCT2dCU25qV3ZwV3haY0ZuZlEyS0d0Q2cvdTZmVC9ENkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFMmdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUpvMk5YZkpVMXNLNlNWVHU0T1YyMUZLSVRsWG50TWkKLW9lbllNc0Jqek84b0FpRUFpZFNFTGNMampBSGkzbWZCQVJ2Q2dLbFJobWJORU1DSFFUN0hhN1pRb1J3PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVFl3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFScklTcTJ6TzltCi1EMjlZQ0xIQjU2RmRVL1JJTnRSaGZlTHRNK3U1bzNIYUFub3B5MFM5OFJ6dUVHRUxqcHpyOFpJNmtrTU1ac2o4Ci1uRlpRRjhIZnVFMGdvNEdKTUlHR01CMEdBMVVkRGdRV0JCU25qV3ZwV3haY0ZuZlEyS0d0Q2cvdTZmVC9EekJYCi1CZ05WSFNNRVVEQk9nQlJUdzNLMFBzeTN1LzYrM0tLU29hUXFKblB2UHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURTFnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ0RnWGpvYzZGZk1GNVcwTnppVjZ2eDJCT1BOV2F2MDFaCi15bkVQNGg5VUxuVUNJUUMxclU0c0VJZDNVZGp6VEtocFNHVEt0YU91UEcrYjBZZEVNUGltSTRqbVZ3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRVd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUTdWc3A3Sm1ETgota2dQaC8rem1JUGtkN28weG90L1dQTUZuM3VBc0d0c1UzODVNRjBmbWhmRkxoUmJiSDloNEpqWUhqOHkwc3BVMwotYnVVWGhmdHZBWlZibzRHSk1JR0dNQjBHQTFVZERnUVdCQlJUdzNLMFBzeTN1LzYrM0tLU29hUXFKblB2UGpCWAotQmdOVkhTTUVVREJPZ0JSMW1YbHJkVzVyeDFWbnFNTW5VQlhvMFdXR1dxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEUwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBTUpuR2pFOXYzU2p1R2ZpMGpOQnlyd3lOZmhsVEhNaAotRmhQUWlkTnJEcFh3QWlFQXFZdE5pVjh0OVJyQWE5R0M2RldEdUpwdklpVTZGc0UrbEZxNnVJcS9KMkU9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UUXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFsS1VpTW9Tc3MKLS9oc1Rhc2VkcWRCMkJDT0dKaFR0MGhnVUdlVW5XTloxc3ZPNHluMEdrRkhaMDgrK2ZsMk1LcWpwaitWWHEwSlMKLUZGeUdVT2dtZ2kzSG80R0pNSUdHTUIwR0ExVWREZ1FXQkJSMW1YbHJkVzVyeDFWbnFNTW5VQlhvMFdXR1dqQlgKLUJnTlZIU01FVURCT2dCUk5zSkIrK2NjU0JtYkNDS0J4aTRDalhST0JrNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUtZT0lvK2ZkQ1FScXBINExOOHFVSzFhS3pLbVdHeFMKLWZHekVFa2cvMjliTUFpQWw5NWNtdWNvQ0RNcTJBYjhDb2MwZEVxeUo2K3JBUE1MQkNiR2F3eWlXNkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVE13SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUUk1aTjBSSHpQCi1kb25ObVp1cTlYUGh6dlE1MlRhb2t4VDM5cXBRdGxGeXZVdUVHS3JMb052ZGNwQVJhQTByR3B1dDZSTEFRT1ZVCi1pTlZsSjNJcGo3ODlvNEdKTUlHR01CMEdBMVVkRGdRV0JCUk5zSkIrK2NjU0JtYkNDS0J4aTRDalhST0JrekJYCi1CZ05WSFNNRVVEQk9nQlRtVm5VU0YyTVl3d3MvbkNNdjdiMXdKVmtEbXFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1ZmdUxwanAwOEFheEtXZjZjdVpVVUNSZDdDb2pTUzFJCi03MWh6ZVV5RlMrc0NJUUROSkk2UC9wQmJpSGdUYUdsQkFnZmNFZm14bWJZMG40eFpuZHR4SWtteVZBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRJd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVHJrekNKTHpuaAotbGhuc3YxUlhCOWtmZWFEK2NJcnVQUTBjSXRCREdwZHZEOHhiQlZ2UWNpNCtSRzJSVlVDU1dSaGtGWWpTc1VTTQotMFFITVFuQkZsaHcybzRHSk1JR0dNQjBHQTFVZERnUVdCQlRtVm5VU0YyTVl3d3MvbkNNdjdiMXdKVmtEbWpCWAotQmdOVkhTTUVVREJPZ0JUWlR0YmkrajBTbS9acy8rZ1RrV2RBU3BRemZxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV4Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdXc20rckhKZ3dVRXlObThFS2JFZHM1eXVycHA1LzN5NQotUHN2WEpWRHF4b2dDSVFEVVAwSmNsM0E5MDdDRTJ0UFZYU2dENkxRNkNQdTE5bWl4ZW1QdzYweWlqQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1URXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRERTlMUGxMUGMKLWdaM2IwQmNoUi9Ba2hORVA5SEFhdndZYWRKSXl6b1BvNWVkQ1ZuYm9RSDc4NmpzWndaTlpvQzBnSERBaENtR2MKLUlmUmVuSVNBb1Z1UG80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWlR0YmkrajBTbS9acy8rZ1RrV2RBU3BRemZqQlgKLUJnTlZIU01FVURCT2dCU09TdDZlUHlNUlQ2UEdNYUlpN0ZxTlg5TUt0S0V6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFd2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnWVlGNUFuUlY3ZWgyaExENUR6Ly9wY2VNVEt6OUxzNDYKLUU2RHh2YmZESGlrQ0lGdHRsR3JPQ1pWeVM0b2NzanVLSUVMVlVYNXFmeWdJMHNuNGtVM3FDVHMyCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UQXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRad1IrV0s2TkIKLUYvN3JpRmRONjNjOGhqWWRkWlJSNGxyelZOUHdpQlF4bm54d3BQeXJEOUE2YVBQbUxjNlNxR09KVzRaR1ZDY28KLUlCemU5UkpWZWlCOW80R0pNSUdHTUIwR0ExVWREZ1FXQkJTT1N0NmVQeU1SVDZQR01hSWk3RnFOWDlNS3REQlgKLUJnTlZIU01FVURCT2dCUXR4WlNMSkFrRXorMlJLTVFleE02RXRzZmdjcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBNWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTi8vTnFNMEZya3JNam14b2VDWTlEZ3hrSDJSNnNRNGQKLU5ndHdDWkFJcUVJQ0lCczR2dXBhVmN1dm5pOXRsdGJQMjZ3aTdjMEZSK2JsWnVvNURQSUEzU1ZlCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1Ea3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVEF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI2amxHS2JKZDUKLWhpRHhONzg5Z2tPY3dweUhJOXdSd0NyQURBT3dPa01lUEJQUmx3R2RtN213N1ovRUFtdTI2elJtL2hjeXJzNE0KLXFrMkxhYkRqUEk5WG80R0pNSUdHTUIwR0ExVWREZ1FXQkJRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NqQlgKLUJnTlZIU01FVURCT2dCVDZneVhIelBJUFljMVZyMWFHaUxMZU1oNEhwcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBNGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnUDdTOHZGc3RmVUJkTmU2eW01R1lHNVErYUJWRUtxUnMKLWZWVzdITlVrdFNZQ0lRRG82SnVhNm8vREpicnBxNHFZV3E1Z3Y0eUd5elBUTiszSWFLckVJQ2RhYXc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGd3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURrd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSN1pCMTYrdDZFCi1zZmFoR3lLVUdKVzVtZXprempkYVl2YzRsYkphS05Sd0ZSZmMzRi9mbU5PU3NVRlNnL0YwTit2VUUrZG9LaVBDCi04d1J3THp2bTRzKzVvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDZneVhIelBJUFljMVZyMWFHaUxMZU1oNEhwakJYCi1CZ05WSFNNRVVEQk9nQlM0MG1MdDkzVThTaDhaR2lEVkFoUlNpQlBjWHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTNnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ080ZWwxWlBobElsaS9xTlIyU0lFaXV2czVNbXk4NjhpCi1OMlJ2NVgvVnhJRUNJQS84clVBTFF4VzM4WFNkQlZYM2Uvanp1N2p1NDduMVl3RXFEOUs5V2RWdgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGN3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURnd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFScFFlUS9ZR1FqCi1ubDdTem82V1N0SjF1N3h1blRMNWpCa1hIOGFBVlNtMHFpWDRBRC83WVB4YTVFbkd6WmRMVG4yNXZRVm5mUUFHCi1wTXg4UDFsWWlHWUNvNEdKTUlHR01CMEdBMVVkRGdRV0JCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYakJYCi1CZ05WSFNNRVVEQk9nQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTJnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFOd0dmK0Y0YStrbVhXejhValNwUmthVG9UVjZFRld3Ci0vVGp6ajB0UWhEb0FBaUVBMTlSeGVXT1ZCQnBNNkxPSGc2djVMZjU0WU4xc25rTGYrc0VYeVpDdVdRUT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURZd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU05PajRkNE1FQQotN3AvM21paWpxRzRUb0U0b3BLUEFtKzNCVElHckpUWVQxNCsrVFNpVUlDbDBBU1hqK3hlVWNMTUlhWFROMDQycwotTHNIeHBTaHpRYUwwbzRHSk1JR0dNQjBHQTFVZERnUVdCQlJFcTVKM3RvSlB4WjNPK3NzSjV2a2tVMFJKRXpCWAotQmdOVkhTTUVVREJPZ0JTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1E2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEExZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBS0djZitjNDQyYy9YaXd1YmJhaVF2c29aN0VvVnh1TQotb0ttaWEwZ1B5Qk5rQWlFQTgzYXNqSjVGRFhRdUx5WnBjenZpWHJibXFnQ1BPZllhZHR2a2MwY3hNaXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EVXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNBOXFXb0FVSHIKLW5uKzNreHlOcmpQSms4MldETGltVzIxUk41MXV4cG9iYWR2OFlnR0VEUmRQK09rK3VScVFTVXNBNlpYZkYzaUcKLXIyR2pmUTN3TURIOG80R0pNSUdHTUIwR0ExVWREZ1FXQkJTam92WWFDL202TGk5VHAwVjlpWlJzOTI2N1F6QlgKLUJnTlZIU01FVURCT2dCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnY2paTkZXSnRsRG1vUFpiQXhxc0djelJZSzBsZlBndTYKLWcxSDdwcDBjZSt3Q0lEajlCUlpNMk9COUVGMGUrTURLR2p5WkdmdmZyTDZJcjQ3eC9Lck02SDhUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EUXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFFZFQwT0ZmNUcKLVVjcmdYMlhsbEN5SnpQOTROWjQ2NEdzZ0I2cHNOTHNEZUwrajdBVStvSnk3Vkx2Vy9sSGgzT0RnbDA4WjliaHEKLUxGQm1Oam5IYm04UW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW56QlgKLUJnTlZIU01FVURCT2dCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBemdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlXKyt6cURabExMVWsvZW1lUG9oZE5PcDVKTzN3UzkKLVh2a0JKNld1YTdHQkFpQWR4K0VLbWRqVnJ3bnpyUWx0VGdubVNmR01YaEtOWWlmSzN1RDgzVzNwY1E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRE13SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURRd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRVVhEZ2NVVk5UCi05aG92YlpFNUhMNnJqT2I3QzU1d0V1V0tUaFYvQ2NaNHJXclh4N1ZYSFlkRC9SM2FEQTdKU3ZZcG0yc1RvazRpCi1zYmxEemhaTS9HRE5vNEdKTUlHR01CMEdBMVVkRGdRV0JCUW94NEYxTnNadW5sc2R1b0d2eklnUlNZZkIzekJYCi1CZ05WSFNNRVVEQk9nQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZDZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXlnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0FraU5ocUZBWlhTVVdFREs5MU9adlFHZGVaT3RkNm1DCi0rV3YzZkdrM3QyOENJRUtPd2lka1VUVWFpUGRaNGVmbUFyK0NFZUd6ZHEyN29iMlMrbnFxSHFnVgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRUkRYRE5JaTFwCi1lcmV1ZGhxd2EyTHNsWGdzeG5CNjNIdTV5NWxnKzFXUHJ1SVlQekQvSG8wQVB2ZVZkekZMVmppMTkrYkU0K3RGCi1QWUwxU3BzTjFXZldvNEdKTUlHR01CMEdBMVVkRGdRV0JCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkekJYCi1CZ05WSFNNRVVEQk9nQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZGFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFPbmQrN2JBb2ZrSFZhNEtGTmp2M1RDZWd3MWxyaHVNCi04T2Y4d2d2clRFR29BaUVBc1M4aUtNcFNmWEg0RDBlZ2c0Z0xhbUU2YWtkZTk2NXJEdHlTVSt2ZTlsZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURFd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ESXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVdIcHYxaTZsZgotd3ZOUE9QNWthNlMwbjU1RXZ6b2FZSzZwYlRYUDZ5TU9XLzRYWlNQS3g1Wm9xNEZNZTBjS3pHSUlGTDFyemoxVgotMmN6WUIrcXZMaHlpbzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ1UkNnUTBBbFpUUWJmRkIyKzYrdzBYUnZ5ZFRCWAotQmdOVkhTTUVVREJPZ0JTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSTd1bkdXL2dyOXRPYzNpK2RGNU44MTVzcmdoK0ZyWAotb2o5RXQ3NEVjU3BUQWlCdWJ2K3ZPSDBERTBnbVlJMTFIZUFJZ3V0V3FxTUlDNzJkWmx3VEYvVmkzZz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIzakNDQVlXZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EQXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVF6bm45ekhId0wKLUdPOFZSNFc5Vjd2TWx4Q2Rvb2p6RU9pWDVZNkp0UHRGT3o4NjZ1ZUhZNnpvTjAvbUo2RG5xblNYaWxKSVVVZVcKLTZlR2ZxbWthN254a280R1JNSUdPTUIwR0ExVWREZ1FXQkJTaDN1SGtYNW5qODZ5RkVGd2pzY1NXTTQwUCtqQmYKLUJnTlZIU01FV0RCV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dna0EvS0NXaGNxVG9IQXcKLURBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdOSEFEQkVBaUJhc2J1aW5QK3BKVFU0b0RDVkQ4elEKLTFySkJEU09LSUV5V3U4NC9ENkhqNndJZ1ZNUFVvTzAxYlBoemxsQWEvZ1c4WGsvZGFleTA5U0JnTjNBVDlwV1UKLVREQT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVXVnQXdJQkFnSUpBUHlnbG9YS2s2QndNQW9HQ0NxR1NNNDlCQU1DTUM4eEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURBZUZ3MHhOekEyTWpJeAotTVRVd016SmFGdzB5TnpBMk1qTXhNVFV3TXpKYU1DOHhDekFKQmdOVkJBWVRBbFZMTVJFd0R3WURWUVFLREFodAotWW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQotQkZXNDEvcUF3QVBweStUeGRjN1BLbXpac3E5Q1BpdWpLVTR2cEYxZWtYbkd4MkhQNDIwUW9id0JWVldoa3pSbQotTHdkYm9IMmo2NWRjQ0tqUTdtdi9keEtqVURCT01CMEdBMVVkRGdRV0JCUWxGWXZVNVdib0k0ZmNkUG9pUXM4LwotZlBIWnJUQWZCZ05WSFNNRUdEQVdnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhaclRBTUJnTlZIUk1FQlRBRAotQVFIL01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRQzdpUmNWendNeWZWSzVpbWlySjdNcUpRMDRldUg0Q0xPdAotSVorU05mYUVSQUlnU1UwTVdGRG9zVkVJcGc4WU1xSUhlRjdNZzRaeUg2K2ZHYXpKZ1ZMdHRVWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzE5LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzE5LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjFlMjRlNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxOS5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwyNDAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVGd3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRrd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRSnlSQ0hORDc4Ci1LeFpIb0hIZE9UalB1RDZIakhQbkVLWDhhcGJsVXBFVERKdUxXN1lSM1Y4UTBkVGFjK0pIaVI2ZTJsNERsRGJmCi01YlRpeUZvQXp3OXlvNEdKTUlHR01CMEdBMVVkRGdRV0JCUlFNYzk0a1RxVyt6UU8zbG8yV01JLzgxazNjekJYCi1CZ05WSFNNRVVEQk9nQlNEYklwWW50bGhKMEdnSXN5ZDc1WFJobEMxOHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURTNnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0l6R09acUpSbXZ5Z3p2TG04enhaRnlvTnBjVDdlMjZICi1uWmQ1eEZJekVha0NJSEdZY1VYenQrb3dTVmxMbXJsVzhnUWNCODFFclFieHVCVEFzdnBhYUtTUwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVGN3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRnd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTc2MvSmtOY1lmCi1iTWdwT2ZyTDVrS09HeE9KYUdTNlNRSWVOTzMzVWVCcFRvZTFiVTJhY042NTJ4anZjR28wZkpFdHhnMmZjUEhSCi1oVG5HTUJEMXUxTjJvNEdKTUlHR01CMEdBMVVkRGdRV0JCU0RiSXBZbnRsaEowR2dJc3lkNzVYUmhsQzE4akJYCi1CZ05WSFNNRVVEQk9nQlNuald2cFd4WmNGbmZRMktHdENnL3U2ZlQvRDZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURTJnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFKbzJOWGZKVTFzSzZTVlR1NE9WMjFGS0lUbFhudE1pCi1vZW5ZTXNCanpPOG9BaUVBaWRTRUxjTGpqQUhpM21mQkFSdkNnS2xSaG1iTkVNQ0hRVDdIYTdaUW9Sdz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRZd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UY3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnJJU3Eyek85bQotRDI5WUNMSEI1NkZkVS9SSU50UmhmZUx0TSt1NW8zSGFBbm9weTBTOThSenVFR0VManB6cjhaSTZra01NWnNqOAotbkZaUUY4SGZ1RTBnbzRHSk1JR0dNQjBHQTFVZERnUVdCQlNuald2cFd4WmNGbmZRMktHdENnL3U2ZlQvRHpCWAotQmdOVkhTTUVVREJPZ0JSVHczSzBQc3kzdS82KzNLS1NvYVFxSm5QdlBxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEUxZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdEZ1hqb2M2RmZNRjVXME56aVY2dngyQk9QTldhdjAxWgoteW5FUDRoOVVMblVDSVFDMXJVNHNFSWQzVWRqelRLaHBTR1RLdGFPdVBHK2IwWWRFTVBpbUk0am1Wdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UVXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVFl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVE3VnNwN0ptRE4KLWtnUGgvK3ptSVBrZDdvMHhvdC9XUE1GbjN1QXNHdHNVMzg1TUYwZm1oZkZMaFJiYkg5aDRKallIajh5MHNwVTMKLWJ1VVhoZnR2QVpWYm80R0pNSUdHTUIwR0ExVWREZ1FXQkJSVHczSzBQc3kzdS82KzNLS1NvYVFxSm5QdlBqQlgKLUJnTlZIU01FVURCT2dCUjFtWGxyZFc1cngxVm5xTU1uVUJYbzBXV0dXcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFMGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU1KbkdqRTl2M1NqdUdmaTBqTkJ5cnd5TmZobFRITWgKLUZoUFFpZE5yRHBYd0FpRUFxWXROaVY4dDlSckFhOUdDNkZXRHVKcHZJaVU2RnNFK2xGcTZ1SXEvSjJFPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVFF3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRVd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRbEtVaU1vU3NzCi0vaHNUYXNlZHFkQjJCQ09HSmhUdDBoZ1VHZVVuV05aMXN2TzR5bjBHa0ZIWjA4KytmbDJNS3FqcGorVlhxMEpTCi1GRnlHVU9nbWdpM0hvNEdKTUlHR01CMEdBMVVkRGdRV0JCUjFtWGxyZFc1cngxVm5xTU1uVUJYbzBXV0dXakJYCi1CZ05WSFNNRVVEQk9nQlJOc0pCKytjY1NCbWJDQ0tCeGk0Q2pYUk9CazZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXpnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFLWU9JbytmZENRUnFwSDRMTjhxVUsxYUt6S21XR3hTCi1mR3pFRWtnLzI5Yk1BaUFsOTVjbXVjb0NETXEyQWI4Q29jMGRFcXlKNityQVBNTEJDYkdhd3lpVzZBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRNd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UUXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVFJNWk4wUkh6UAotZG9uTm1adXE5WFBoenZRNTJUYW9reFQzOXFwUXRsRnl2VXVFR0tyTG9OdmRjcEFSYUEwckdwdXQ2UkxBUU9WVQotaU5WbEozSXBqNzg5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlJOc0pCKytjY1NCbWJDQ0tCeGk0Q2pYUk9Ca3pCWAotQmdOVkhTTUVVREJPZ0JUbVZuVVNGMk1Zd3dzL25DTXY3YjF3SlZrRG1xRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV5Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdWZnVMcGpwMDhBYXhLV2Y2Y3VaVVVDUmQ3Q29qU1MxSQotNzFoemVVeUZTK3NDSVFETkpJNlAvcEJiaUhnVGFHbEJBZ2ZjRWZteG1iWTBuNHhabmR0eElrbXlWQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1USXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRya3pDSkx6bmgKLWxobnN2MVJYQjlrZmVhRCtjSXJ1UFEwY0l0QkRHcGR2RDh4YkJWdlFjaTQrUkcyUlZVQ1NXUmhrRllqU3NVU00KLTBRSE1RbkJGbGh3Mm80R0pNSUdHTUIwR0ExVWREZ1FXQkJUbVZuVVNGMk1Zd3dzL25DTXY3YjF3SlZrRG1qQlgKLUJnTlZIU01FVURCT2dCVFpUdGJpK2owU20vWnMvK2dUa1dkQVNwUXpmcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnV3NtK3JISmd3VUV5Tm04RUtiRWRzNXl1cnBwNS8zeTUKLVBzdlhKVkRxeG9nQ0lRRFVQMEpjbDNBOTA3Q0UydFBWWFNnRDZMUTZDUHUxOW1peGVtUHc2MHlpakE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVEV3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUREU5TFBsTFBjCi1nWjNiMEJjaFIvQWtoTkVQOUhBYXZ3WWFkSkl5em9QbzVlZENWbmJvUUg3ODZqc1p3Wk5ab0MwZ0hEQWhDbUdjCi1JZlJlbklTQW9WdVBvNEdKTUlHR01CMEdBMVVkRGdRV0JCVFpUdGJpK2owU20vWnMvK2dUa1dkQVNwUXpmakJYCi1CZ05WSFNNRVVEQk9nQlNPU3Q2ZVB5TVJUNlBHTWFJaTdGcU5YOU1LdEtFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ1lZRjVBblJWN2VoMmhMRDVEei8vcGNlTVRLejlMczQ2Ci1FNkR4dmJmREhpa0NJRnR0bEdyT0NaVnlTNG9jc2p1S0lFTFZVWDVxZnlnSTBzbjRrVTNxQ1RzMgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVEF3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUWndSK1dLNk5CCi1GLzdyaUZkTjYzYzhoallkZFpSUjRscnpWTlB3aUJReG5ueHdwUHlyRDlBNmFQUG1MYzZTcUdPSlc0WkdWQ2NvCi1JQnplOVJKVmVpQjlvNEdKTUlHR01CMEdBMVVkRGdRV0JCU09TdDZlUHlNUlQ2UEdNYUlpN0ZxTlg5TUt0REJYCi1CZ05WSFNNRVVEQk9nQlF0eFpTTEpBa0V6KzJSS01RZXhNNkV0c2ZnY3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTVnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ04vL05xTTBGcmtyTWpteG9lQ1k5RGd4a0gyUjZzUTRkCi1OZ3R3Q1pBSXFFSUNJQnM0dnVwYVZjdXZuaTl0bHRiUDI2d2k3YzBGUitibFp1bzVEUElBM1NWZQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRGt3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSNmpsR0tiSmQ1Ci1oaUR4Tjc4OWdrT2N3cHlISTl3UndDckFEQU93T2tNZVBCUFJsd0dkbTdtdzdaL0VBbXUyNnpSbS9oY3lyczRNCi1xazJMYWJEalBJOVhvNEdKTUlHR01CMEdBMVVkRGdRV0JCUXR4WlNMSkFrRXorMlJLTVFleE02RXRzZmdjakJYCi1CZ05WSFNNRVVEQk9nQlQ2Z3lYSHpQSVBZYzFWcjFhR2lMTGVNaDRIcHFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTRnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1A3Uzh2RnN0ZlVCZE5lNnltNUdZRzVRK2FCVkVLcVJzCi1mVlc3SE5Va3RTWUNJUURvNkp1YTZvL0RKYnJwcTRxWVdxNWd2NHlHeXpQVE4rM0lhS3JFSUNkYWF3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURnd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1Ea3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjdaQjE2K3Q2RQotc2ZhaEd5S1VHSlc1bWV6a3pqZGFZdmM0bGJKYUtOUndGUmZjM0YvZm1OT1NzVUZTZy9GME4rdlVFK2RvS2lQQwotOHdSd0x6dm00cys1bzRHSk1JR0dNQjBHQTFVZERnUVdCQlQ2Z3lYSHpQSVBZYzFWcjFhR2lMTGVNaDRIcGpCWAotQmdOVkhTTUVVREJPZ0JTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEzZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdPNGVsMVpQaGxJbGkvcU5SMlNJRWl1dnM1TW15ODY4aQotTjJSdjVYL1Z4SUVDSUEvOHJVQUxReFczOFhTZEJWWDNlL2p6dTdqdTQ3bjFZd0VxRDlLOVdkVnYKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURjd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EZ3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUnBRZVEvWUdRagotbmw3U3pvNldTdEoxdTd4dW5UTDVqQmtYSDhhQVZTbTBxaVg0QUQvN1lQeGE1RW5HelpkTFRuMjV2UVZuZlFBRwotcE14OFAxbFlpR1lDbzRHSk1JR0dNQjBHQTFVZERnUVdCQlM0MG1MdDkzVThTaDhaR2lEVkFoUlNpQlBjWGpCWAotQmdOVkhTTUVVREJPZ0JSRXE1SjN0b0pQeFozTytzc0o1dmtrVTBSSkU2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEyZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBTndHZitGNGEra21YV3o4VWpTcFJrYVRvVFY2RUZXdwotL1RqemowdFFoRG9BQWlFQTE5UnhlV09WQkJwTTZMT0hnNnY1TGY1NFlOMXNua0xmK3NFWHlaQ3VXUVE9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EWXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGN3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNOT2o0ZDRNRUEKLTdwLzNtaWlqcUc0VG9FNG9wS1BBbSszQlRJR3JKVFlUMTQrK1RTaVVJQ2wwQVNYait4ZVVjTE1JYVhUTjA0MnMKLUxzSHhwU2h6UWFMMG80R0pNSUdHTUIwR0ExVWREZ1FXQkJSRXE1SjN0b0pQeFozTytzc0o1dmtrVTBSSkV6QlgKLUJnTlZIU01FVURCT2dCU2pvdllhQy9tNkxpOVRwMFY5aVpSczkyNjdRNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUtHY2YrYzQ0MmMvWGl3dWJiYWlRdnNvWjdFb1Z4dU0KLW9LbWlhMGdQeUJOa0FpRUE4M2Fzako1RkRYUXVMeVpwY3p2aVhyYm1xZ0NQT2ZZYWR0dmtjMGN4TWlzPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMWpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURZd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTQTlxV29BVUhyCi1ubisza3h5TnJqUEprODJXRExpbVcyMVJONTF1eHBvYmFkdjhZZ0dFRFJkUCtPayt1UnFRU1VzQTZaWGZGM2lHCi1yMkdqZlEzd01ESDhvNEdKTUlHR01CMEdBMVVkRGdRV0JCU2pvdllhQy9tNkxpOVRwMFY5aVpSczkyNjdRekJYCi1CZ05WSFNNRVVEQk9nQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbjZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTBnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ2NqWk5GV0p0bERtb1BaYkF4cXNHY3pSWUswbGZQZ3U2Ci1nMUg3cHAwY2Urd0NJRGo5QlJaTTJPQjlFRjBlK01ES0dqeVpHZnZmckw2SXI0N3gvS3JNNkg4VAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFF3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURVd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRRWRUME9GZjVHCi1VY3JnWDJYbGxDeUp6UDk0Tlo0NjRHc2dCNnBzTkxzRGVMK2o3QVUrb0p5N1ZMdlcvbEhoM09EZ2wwOFo5YmhxCi1MRkJtTmpuSGJtOFFvNEdKTUlHR01CMEdBMVVkRGdRV0JCVFhoMDZNQVY5UzRsNGxHMVRLT3JLUkJoNHFuekJYCi1CZ05WSFNNRVVEQk9nQlFveDRGMU5zWnVubHNkdW9HdnpJZ1JTWWZCMzZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXpnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJVysrenFEWmxMTFVrL2VtZVBvaGROT3A1Sk8zd1M5Ci1YdmtCSjZXdWE3R0JBaUFkeCtFS21kalZyd256clFsdFRnbm1TZkdNWGhLTllpZkszdUQ4M1czcGNRPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURNd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EUXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVVYRGdjVVZOVAotOWhvdmJaRTVITDZyak9iN0M1NXdFdVdLVGhWL0NjWjRyV3JYeDdWWEhZZEQvUjNhREE3SlN2WXBtMnNUb2s0aQotc2JsRHpoWk0vR0RObzRHSk1JR0dNQjBHQTFVZERnUVdCQlFveDRGMU5zWnVubHNkdW9HdnpJZ1JTWWZCM3pCWAotQmdOVkhTTUVVREJPZ0JRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGQ2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF5Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdBa2lOaHFGQVpYU1VXRURLOTFPWnZRR2RlWk90ZDZtQwotK1d2M2ZHazN0MjhDSUVLT3dpZGtVVFVhaVBkWjRlZm1BcitDRWVHemRxMjdvYjJTK25xcUhxZ1YKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURJd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ETXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUVJEWEROSWkxcAotZXJldWRocXdhMkxzbFhnc3huQjYzSHU1eTVsZysxV1BydUlZUHpEL0hvMEFQdmVWZHpGTFZqaTE5K2JFNCt0RgotUFlMMVNwc04xV2ZXbzRHSk1JR0dNQjBHQTFVZERnUVdCQlFBcHpaZHRCZEQzZEx4b3VRcHIvYURpVnR0ZHpCWAotQmdOVkhTTUVVREJPZ0JUNVJDZ1EwQWxaVFFiZkZCMis2K3cwWFJ2eWRhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF4Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBT25kKzdiQW9ma0hWYTRLRk5qdjNUQ2VndzFscmh1TQotOE9mOHdndnJURUdvQWlFQXNTOGlLTXBTZlhINEQwZWdnNGdMYW1FNmFrZGU5NjVyRHR5U1UrdmU5bGc9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ERXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNREl3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFXSHB2MWk2bGYKLXd2TlBPUDVrYTZTMG41NUV2em9hWUs2cGJUWFA2eU1PVy80WFpTUEt4NVpvcTRGTWUwY0t6R0lJRkwxcnpqMVYKLTJjellCK3F2TGh5aW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNVJDZ1EwQWxaVFFiZkZCMis2K3cwWFJ2eWRUQlgKLUJnTlZIU01FVURCT2dCU2gzdUhrWDVuajg2eUZFRndqc2NTV000MFArcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBd2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUk3dW5HVy9ncjl0T2MzaStkRjVOODE1c3JnaCtGclgKLW9qOUV0NzRFY1NwVEFpQnVidit2T0gwREUwZ21ZSTExSGVBSWd1dFdxcU1JQzcyZFpsd1RGL1ZpM2c9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCM2pDQ0FZV2dBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREF3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRem5uOXpISHdMCi1HTzhWUjRXOVY3dk1seENkb29qekVPaVg1WTZKdFB0Rk96ODY2dWVIWTZ6b04wL21KNkRucW5TWGlsSklVVWVXCi02ZUdmcW1rYTdueGtvNEdSTUlHT01CMEdBMVVkRGdRV0JCU2gzdUhrWDVuajg2eUZFRndqc2NTV000MFArakJmCi1CZ05WSFNNRVdEQldnQlFsRll2VTVXYm9JNGZjZFBvaVFzOC9mUEhacmFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ2tBL0tDV2hjcVRvSEF3Ci1EQVlEVlIwVEJBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREFnTkhBREJFQWlCYXNidWluUCtwSlRVNG9EQ1ZEOHpRCi0xckpCRFNPS0lFeVd1ODQvRDZIajZ3SWdWTVBVb08wMWJQaHpsbEFhL2dXOFhrL2RhZXkwOVNCZ04zQVQ5cFdVCi1UREE9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJwVENDQVV1Z0F3SUJBZ0lKQVB5Z2xvWEtrNkJ3TUFvR0NDcUdTTTQ5QkFNQ01DOHhDekFKQmdOVkJBWVQKLUFsVkxNUkV3RHdZRFZRUUtEQWh0WW1Wa0lGUk1VekVOTUFzR0ExVUVBd3dFUTBFd01EQWVGdzB4TnpBMk1qSXgKLU1UVXdNekphRncweU56QTJNak14TVRVd016SmFNQzh4Q3pBSkJnTlZCQVlUQWxWTE1SRXdEd1lEVlFRS0RBaHQKLVltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUEKLUJGVzQxL3FBd0FQcHkrVHhkYzdQS216WnNxOUNQaXVqS1U0dnBGMWVrWG5HeDJIUDQyMFFvYndCVlZXaGt6Um0KLUx3ZGJvSDJqNjVkY0NLalE3bXYvZHhLalVEQk9NQjBHQTFVZERnUVdCQlFsRll2VTVXYm9JNGZjZFBvaVFzOC8KLWZQSFpyVEFmQmdOVkhTTUVHREFXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJUQU1CZ05WSFJNRUJUQUQKLUFRSC9NQW9HQ0NxR1NNNDlCQU1DQTBnQU1FVUNJUUM3aVJjVnp3TXlmVks1aW1pcko3TXFKUTA0ZXVINENMT3QKLUlaK1NOZmFFUkFJZ1NVME1XRkRvc1ZFSXBnOFlNcUlIZUY3TWc0WnlINitmR2F6SmdWTHR0VVk9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MyMC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MyMC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmOTc0NzIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMjAucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMjUyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRrd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1qQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVEdlYnJOOEp4RQotaGVPZEN4RCttaG5RNHpNVXhGMVdVa21BQUhJVXcwODlCWWlIOVNBd1lTL001dG5sK1I4ZmJqdm9HcVNwUjZUawotVjlFVTNDUXlJb3h3bzRHSk1JR0dNQjBHQTFVZERnUVdCQlRaczZvQ2hMMWMyQ1NaWFkyWUZRa2txZytsekRCWAotQmdOVkhTTUVVREJPZ0JSUU1jOTRrVHFXK3pRTzNsbzJXTUkvODFrM2M2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEU0Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdSVkdaUmVYS3ZkTUhod0xiUHZiclRWTGVBR0RxbXFNSAotL1dxRDR1MjNRQmdDSUQvUXRGYWlhd2p2aU5GRWR0VTdKSzZ2NFpZMFBRMGEwK0hMWklITGk5YWgKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRnd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1Ua3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUp5UkNITkQ3OAotS3haSG9ISGRPVGpQdUQ2SGpIUG5FS1g4YXBibFVwRVRESnVMVzdZUjNWOFEwZFRhYytKSGlSNmUybDREbERiZgotNWJUaXlGb0F6dzl5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlJRTWM5NGtUcVcrelFPM2xvMldNSS84MWszY3pCWAotQmdOVkhTTUVVREJPZ0JTRGJJcFludGxoSjBHZ0lzeWQ3NVhSaGxDMThxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEUzZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdJekdPWnFKUm12eWd6dkxtOHp4WkZ5b05wY1Q3ZTI2SAotblpkNXhGSXpFYWtDSUhHWWNVWHp0K293U1ZsTG1ybFc4Z1FjQjgxRXJRYnh1QlRBc3ZwYWFLU1MKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRjd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UZ3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU3NjL0prTmNZZgotYk1ncE9mckw1a0tPR3hPSmFHUzZTUUllTk8zM1VlQnBUb2UxYlUyYWNONjUyeGp2Y0dvMGZKRXR4ZzJmY1BIUgotaFRuR01CRDF1MU4ybzRHSk1JR0dNQjBHQTFVZERnUVdCQlNEYklwWW50bGhKMEdnSXN5ZDc1WFJobEMxOGpCWAotQmdOVkhTTUVVREJPZ0JTbmpXdnBXeFpjRm5mUTJLR3RDZy91NmZUL0Q2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEUyZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBSm8yTlhmSlUxc0s2U1ZUdTRPVjIxRktJVGxYbnRNaQotb2VuWU1zQmp6TzhvQWlFQWlkU0VMY0xqakFIaTNtZkJBUnZDZ0tsUmhtYk5FTUNIUVQ3SGE3WlFvUnc9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UWXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVGN3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJySVNxMnpPOW0KLUQyOVlDTEhCNTZGZFUvUklOdFJoZmVMdE0rdTVvM0hhQW5vcHkwUzk4Unp1RUdFTGpwenI4Wkk2a2tNTVpzajgKLW5GWlFGOEhmdUUwZ280R0pNSUdHTUIwR0ExVWREZ1FXQkJTbmpXdnBXeFpjRm5mUTJLR3RDZy91NmZUL0R6QlgKLUJnTlZIU01FVURCT2dCUlR3M0swUHN5M3UvNiszS0tTb2FRcUpuUHZQcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFMWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnRGdYam9jNkZmTUY1VzBOemlWNnZ4MkJPUE5XYXYwMVoKLXluRVA0aDlVTG5VQ0lRQzFyVTRzRUlkM1VkanpUS2hwU0dUS3RhT3VQRytiMFlkRU1QaW1JNGptVnc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVFV3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRZd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRN1ZzcDdKbUROCi1rZ1BoLyt6bUlQa2Q3bzB4b3QvV1BNRm4zdUFzR3RzVTM4NU1GMGZtaGZGTGhSYmJIOWg0SmpZSGo4eTBzcFUzCi1idVVYaGZ0dkFaVmJvNEdKTUlHR01CMEdBMVVkRGdRV0JCUlR3M0swUHN5M3UvNiszS0tTb2FRcUpuUHZQakJYCi1CZ05WSFNNRVVEQk9nQlIxbVhscmRXNXJ4MVZucU1NblVCWG8wV1dHV3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURTBnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFNSm5HakU5djNTanVHZmkwak5CeXJ3eU5maGxUSE1oCi1GaFBRaWROckRwWHdBaUVBcVl0TmlWOHQ5UnJBYTlHQzZGV0R1SnB2SWlVNkZzRStsRnE2dUlxL0oyRT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRRd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWxLVWlNb1NzcwotL2hzVGFzZWRxZEIyQkNPR0poVHQwaGdVR2VVbldOWjFzdk80eW4wR2tGSFowOCsrZmwyTUtxanBqK1ZYcTBKUwotRkZ5R1VPZ21naTNIbzRHSk1JR0dNQjBHQTFVZERnUVdCQlIxbVhscmRXNXJ4MVZucU1NblVCWG8wV1dHV2pCWAotQmdOVkhTTUVVREJPZ0JSTnNKQisrY2NTQm1iQ0NLQnhpNENqWFJPQms2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBS1lPSW8rZmRDUVJxcEg0TE44cVVLMWFLekttV0d4UwotZkd6RUVrZy8yOWJNQWlBbDk1Y211Y29DRE1xMkFiOENvYzBkRXF5SjYrckFQTUxCQ2JHYXd5aVc2QT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxekNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1UTXdIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNVFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRSTVpOMFJIelAKLWRvbk5tWnVxOVhQaHp2UTUyVGFva3hUMzlxcFF0bEZ5dlV1RUdLckxvTnZkY3BBUmFBMHJHcHV0NlJMQVFPVlUKLWlOVmxKM0lwajc4OW80R0pNSUdHTUIwR0ExVWREZ1FXQkJSTnNKQisrY2NTQm1iQ0NLQnhpNENqWFJPQmt6QlgKLUJnTlZIU01FVURCT2dCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRFeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnVmZ1THBqcDA4QWF4S1dmNmN1WlVVQ1JkN0NvalNTMUkKLTcxaHplVXlGUytzQ0lRRE5KSTZQL3BCYmlIZ1RhR2xCQWdmY0VmbXhtYlkwbjR4Wm5kdHhJa215VkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNVEl3SGhjTk1UY3dOakl5TVRFMU1ETXpXaGNOCi1NamN3TmpJek1URTFNRE16V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTVRNd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUcmt6Q0pMem5oCi1saG5zdjFSWEI5a2ZlYUQrY0lydVBRMGNJdEJER3BkdkQ4eGJCVnZRY2k0K1JHMlJWVUNTV1Joa0ZZalNzVVNNCi0wUUhNUW5CRmxodzJvNEdKTUlHR01CMEdBMVVkRGdRV0JCVG1WblVTRjJNWXd3cy9uQ012N2Ixd0pWa0RtakJYCi1CZ05WSFNNRVVEQk9nQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZnFFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFURXhnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1dzbStySEpnd1VFeU5tOEVLYkVkczV5dXJwcDUvM3k1Ci1Qc3ZYSlZEcXhvZ0NJUURVUDBKY2wzQTkwN0NFMnRQVlhTZ0Q2TFE2Q1B1MTltaXhlbVB3NjB5aWpBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRFd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1USXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVERFOUxQbExQYwotZ1ozYjBCY2hSL0FraE5FUDlIQWF2d1lhZEpJeXpvUG81ZWRDVm5ib1FINzg2anNad1pOWm9DMGdIREFoQ21HYwotSWZSZW5JU0FvVnVQbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRaVHRiaStqMFNtL1pzLytnVGtXZEFTcFF6ZmpCWAotQmdOVkhTTUVVREJPZ0JTT1N0NmVQeU1SVDZQR01hSWk3RnFOWDlNS3RLRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEV3Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdZWUY1QW5SVjdlaDJoTEQ1RHovL3BjZU1US3o5THM0NgotRTZEeHZiZkRIaWtDSUZ0dGxHck9DWlZ5UzRvY3NqdUtJRUxWVVg1cWZ5Z0kwc240a1UzcUNUczIKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTVRBd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1URXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBVFp3UitXSzZOQgotRi83cmlGZE42M2M4aGpZZGRaUlI0bHJ6Vk5Qd2lCUXhubnh3cFB5ckQ5QTZhUFBtTGM2U3FHT0pXNFpHVkNjbwotSUJ6ZTlSSlZlaUI5bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNPU3Q2ZVB5TVJUNlBHTWFJaTdGcU5YOU1LdERCWAotQmdOVkhTTUVVREJPZ0JRdHhaU0xKQWtFeisyUktNUWV4TTZFdHNmZ2NxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE1Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdOLy9OcU0wRnJrck1qbXhvZUNZOURneGtIMlI2c1E0ZAotTmd0d0NaQUlxRUlDSUJzNHZ1cGFWY3V2bmk5dGx0YlAyNndpN2MwRlIrYmxadW81RFBJQTNTVmUKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURrd0hoY05NVGN3TmpJeU1URTFNRE16V2hjTgotTWpjd05qSXpNVEUxTURNeldqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1UQXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUjZqbEdLYkpkNQotaGlEeE43ODlna09jd3B5SEk5d1J3Q3JBREFPd09rTWVQQlBSbHdHZG03bXc3Wi9FQW11MjZ6Um0vaGN5cnM0TQotcWsyTGFiRGpQSTlYbzRHSk1JR0dNQjBHQTFVZERnUVdCQlF0eFpTTEpBa0V6KzJSS01RZXhNNkV0c2ZnY2pCWAotQmdOVkhTTUVVREJPZ0JUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBxRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEE0Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdQN1M4dkZzdGZVQmROZTZ5bTVHWUc1USthQlZFS3FScwotZlZXN0hOVWt0U1lDSVFEbzZKdWE2by9ESmJycHE0cVlXcTVndjR5R3l6UFROKzNJYUtyRUlDZGFhdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EZ3dIaGNOTVRjd05qSXlNVEUxTURNeldoY04KLU1qY3dOakl6TVRFMU1ETXpXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGt3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVI3WkIxNit0NkUKLXNmYWhHeUtVR0pXNW1lemt6amRhWXZjNGxiSmFLTlJ3RlJmYzNGL2ZtTk9Tc1VGU2cvRjBOK3ZVRStkb0tpUEMKLTh3UndMenZtNHMrNW80R0pNSUdHTUIwR0ExVWREZ1FXQkJUNmd5WEh6UElQWWMxVnIxYUdpTExlTWg0SHBqQlgKLUJnTlZIU01FVURCT2dCUzQwbUx0OTNVOFNoOFpHaURWQWhSU2lCUGNYcUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBM2dnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnTzRlbDFaUGhsSWxpL3FOUjJTSUVpdXZzNU1teTg2OGkKLU4yUnY1WC9WeElFQ0lBLzhyVUFMUXhXMzhYU2RCVlgzZS9qenU3anU0N24xWXdFcUQ5SzlXZFZ2Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1EY3dIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRGd3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVJwUWVRL1lHUWoKLW5sN1N6bzZXU3RKMXU3eHVuVEw1akJrWEg4YUFWU20wcWlYNEFELzdZUHhhNUVuR3paZExUbjI1dlFWbmZRQUcKLXBNeDhQMWxZaUdZQ280R0pNSUdHTUIwR0ExVWREZ1FXQkJTNDBtTHQ5M1U4U2g4WkdpRFZBaFJTaUJQY1hqQlgKLUJnTlZIU01FVURCT2dCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBMmdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU53R2YrRjRhK2ttWFd6OFVqU3BSa2FUb1RWNkVGV3cKLS9UanpqMHRRaERvQUFpRUExOVJ4ZVdPVkJCcE02TE9IZzZ2NUxmNTRZTjFzbmtMZitzRVh5WkN1V1FRPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMkRDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNRFl3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTTk9qNGQ0TUVBCi03cC8zbWlpanFHNFRvRTRvcEtQQW0rM0JUSUdySlRZVDE0KytUU2lVSUNsMEFTWGoreGVVY0xNSWFYVE4wNDJzCi1Mc0h4cFNoelFhTDBvNEdKTUlHR01CMEdBMVVkRGdRV0JCUkVxNUozdG9KUHhaM08rc3NKNXZra1UwUkpFekJYCi1CZ05WSFNNRVVEQk9nQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UTZFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQTFnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFLR2NmK2M0NDJjL1hpd3ViYmFpUXZzb1o3RW9WeHVNCi1vS21pYTBnUHlCTmtBaUVBODNhc2pKNUZEWFF1THlacGN6dmlYcmJtcWdDUE9mWWFkdHZrYzBjeE1pcz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURVd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EWXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBU0E5cVdvQVVIcgotbm4rM2t4eU5yalBKazgyV0RMaW1XMjFSTjUxdXhwb2JhZHY4WWdHRURSZFArT2srdVJxUVNVc0E2WlhmRjNpRwotcjJHamZRM3dNREg4bzRHSk1JR0dNQjBHQTFVZERnUVdCQlNqb3ZZYUMvbTZMaTlUcDBWOWlaUnM5MjY3UXpCWAotQmdOVkhTTUVVREJPZ0JUWGgwNk1BVjlTNGw0bEcxVEtPcktSQmg0cW42RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEEwZ2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdjalpORldKdGxEbW9QWmJBeHFzR2N6UllLMGxmUGd1NgotZzFIN3BwMGNlK3dDSURqOUJSWk0yT0I5RUYwZStNREtHanlaR2Z2ZnJMNklyNDd4L0tyTTZIOFQKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjF6Q0NBWDJnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURRd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1EVXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUUVkVDBPRmY1RwotVWNyZ1gyWGxsQ3lKelA5NE5aNDY0R3NnQjZwc05Mc0RlTCtqN0FVK29KeTdWTHZXL2xIaDNPRGdsMDhaOWJocQotTEZCbU5qbkhibThRbzRHSk1JR0dNQjBHQTFVZERnUVdCQlRYaDA2TUFWOVM0bDRsRzFUS09yS1JCaDRxbnpCWAotQmdOVkhTTUVVREJPZ0JRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjM2RXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF6Z2dFQk1Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSVcrK3pxRFpsTExVay9lbWVQb2hkTk9wNUpPM3dTOQotWHZrQko2V3VhN0dCQWlBZHgrRUttZGpWcnduenJRbHRUZ25tU2ZHTVhoS05ZaWZLM3VEODNXM3BjUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIxakNDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ETXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRFF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFVWERnY1VWTlQKLTlob3ZiWkU1SEw2cmpPYjdDNTV3RXVXS1RoVi9DY1o0cldyWHg3VlhIWWREL1IzYURBN0pTdllwbTJzVG9rNGkKLXNibER6aFpNL0dETm80R0pNSUdHTUIwR0ExVWREZ1FXQkJRb3g0RjFOc1p1bmxzZHVvR3Z6SWdSU1lmQjN6QlgKLUJnTlZIU01FVURCT2dCUUFwelpkdEJkRDNkTHhvdVFwci9hRGlWdHRkNkV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeWdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnQWtpTmhxRkFaWFNVV0VESzkxT1p2UUdkZVpPdGQ2bUMKLStXdjNmR2szdDI4Q0lFS093aWRrVVRVYWlQZFo0ZWZtQXIrQ0VlR3pkcTI3b2IyUytucXFIcWdWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVgyZ0F3SUJBZ0lCQVRBS0JnZ3Foa2pPUFFRREFqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14RFRBTEJnTlZCQU1NQkVOQk1ESXdIaGNOTVRjd05qSXlNVEUxTURNeVdoY04KLU1qY3dOakl6TVRFMU1ETXlXakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXgKLURUQUxCZ05WQkFNTUJFTkJNRE13V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFSRFhETklpMXAKLWVyZXVkaHF3YTJMc2xYZ3N4bkI2M0h1NXk1bGcrMVdQcnVJWVB6RC9IbzBBUHZlVmR6RkxWamkxOStiRTQrdEYKLVBZTDFTcHNOMVdmV280R0pNSUdHTUIwR0ExVWREZ1FXQkJRQXB6WmR0QmREM2RMeG91UXByL2FEaVZ0dGR6QlgKLUJnTlZIU01FVURCT2dCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkYUV6cERFd0x6RUxNQWtHQTFVRUJoTUMKLVZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNUTB3Q3dZRFZRUUREQVJEUVRBeGdnRUJNQXdHQTFVZEV3UUYKLU1BTUJBZjh3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU9uZCs3YkFvZmtIVmE0S0ZOanYzVENlZ3cxbHJodU0KLThPZjh3Z3ZyVEVHb0FpRUFzUzhpS01wU2ZYSDREMGVnZzRnTGFtRTZha2RlOTY1ckR0eVNVK3ZlOWxnPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMXpDQ0FYMmdBd0lCQWdJQkFUQUtCZ2dxaGtqT1BRUURBakF2TVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SWJXSmxaQ0JVVEZNeERUQUxCZ05WQkFNTUJFTkJNREV3SGhjTk1UY3dOakl5TVRFMU1ETXlXaGNOCi1NamN3TmpJek1URTFNRE15V2pBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4R0ExVUVDZ3dJYldKbFpDQlVURk14Ci1EVEFMQmdOVkJBTU1CRU5CTURJd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRV0hwdjFpNmxmCi13dk5QT1A1a2E2UzBuNTVFdnpvYVlLNnBiVFhQNnlNT1cvNFhaU1BLeDVab3E0Rk1lMGNLekdJSUZMMXJ6ajFWCi0yY3pZQitxdkxoeWlvNEdKTUlHR01CMEdBMVVkRGdRV0JCVDVSQ2dRMEFsWlRRYmZGQjIrNit3MFhSdnlkVEJYCi1CZ05WSFNNRVVEQk9nQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK3FFenBERXdMekVMTUFrR0ExVUVCaE1DCi1WVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVEwd0N3WURWUVFEREFSRFFUQXdnZ0VCTUF3R0ExVWRFd1FGCi1NQU1CQWY4d0NnWUlLb1pJemowRUF3SURTQUF3UlFJaEFJN3VuR1cvZ3I5dE9jM2krZEY1TjgxNXNyZ2grRnJYCi1vajlFdDc0RWNTcFRBaUJ1YnYrdk9IMERFMGdtWUkxMUhlQUlndXRXcXFNSUM3MmRabHdURi9WaTNnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjNqQ0NBWVdnQXdJQkFnSUJBVEFLQmdncWhrak9QUVFEQWpBdk1Rc3dDUVlEVlFRR0V3SlZTekVSTUE4RwotQTFVRUNnd0liV0psWkNCVVRGTXhEVEFMQmdOVkJBTU1CRU5CTURBd0hoY05NVGN3TmpJeU1URTFNRE15V2hjTgotTWpjd05qSXpNVEUxTURNeVdqQXZNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeAotRFRBTEJnTlZCQU1NQkVOQk1ERXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUXpubjl6SEh3TAotR084VlI0VzlWN3ZNbHhDZG9vanpFT2lYNVk2SnRQdEZPejg2NnVlSFk2em9OMC9tSjZEbnFuU1hpbEpJVVVlVwotNmVHZnFta2E3bnhrbzRHUk1JR09NQjBHQTFVZERnUVdCQlNoM3VIa1g1bmo4NnlGRUZ3anNjU1dNNDBQK2pCZgotQmdOVkhTTUVXREJXZ0JRbEZZdlU1V2JvSTRmY2RQb2lRczgvZlBIWnJhRXpwREV3THpFTE1Ba0dBMVVFQmhNQwotVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1RMHdDd1lEVlFRRERBUkRRVEF3Z2drQS9LQ1doY3FUb0hBdwotREFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmFzYnVpblArcEpUVTRvRENWRDh6UQotMXJKQkRTT0tJRXlXdTg0L0Q2SGo2d0lnVk1QVW9PMDFiUGh6bGxBYS9nVzhYay9kYWV5MDlTQmdOM0FUOXBXVQotVERBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcFRDQ0FVdWdBd0lCQWdJSkFQeWdsb1hLazZCd01Bb0dDQ3FHU000OUJBTUNNQzh4Q3pBSkJnTlZCQVlUCi1BbFZMTVJFd0R3WURWUVFLREFodFltVmtJRlJNVXpFTk1Bc0dBMVVFQXd3RVEwRXdNREFlRncweE56QTJNakl4Ci1NVFV3TXpKYUZ3MHlOekEyTWpNeE1UVXdNekphTUM4eEN6QUpCZ05WQkFZVEFsVkxNUkV3RHdZRFZRUUtEQWh0Ci1ZbVZrSUZSTVV6RU5NQXNHQTFVRUF3d0VRMEV3TURCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBCi1CRlc0MS9xQXdBUHB5K1R4ZGM3UEttelpzcTlDUGl1aktVNHZwRjFla1huR3gySFA0MjBRb2J3QlZWV2hrelJtCi1Md2Rib0gyajY1ZGNDS2pRN212L2R4S2pVREJPTUIwR0ExVWREZ1FXQkJRbEZZdlU1V2JvSTRmY2RQb2lRczgvCi1mUEhaclRBZkJnTlZIU01FR0RBV2dCUWxGWXZVNVdib0k0ZmNkUG9pUXM4L2ZQSFpyVEFNQmdOVkhSTUVCVEFECi1BUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFDN2lSY1Z6d015ZlZLNWltaXJKN01xSlEwNGV1SDRDTE90Ci1JWitTTmZhRVJBSWdTVTBNV0ZEb3NWRUlwZzhZTXFJSGVGN01nNFp5SDYrZkdhekpnVkx0dFVZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9pbnQub3BlbnNzbGNvbmYgYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2ludC5vcGVuc3NsY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGYyOGNhYi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2ludC5vcGVuc3NsY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotW2ludF0KLXN1YmplY3RLZXlJZGVudGlmaWVyPWhhc2gKLWF1dGhvcml0eUtleUlkZW50aWZpZXI9a2V5aWQ6YWx3YXlzLGlzc3VlcjphbHdheXMKLWJhc2ljQ29uc3RyYWludHMgPSBDQTp0cnVlCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2xvbmcuc2ggYi90ZXN0cy9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2xvbmcuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDRlMWZkNDguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4cGF0aC9sb25nLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotIyEvYmluL3NoCi0jCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLQotc2V0IC1ldQotCi06ICR7T1BFTlNTTDo9b3BlbnNzbH0KLU5CPTIwCi0KLU9QVD0iLWRheXMgMzY1MyAtc2hhMjU2IgotCi0jIGdlbmVyYXRlIHNlbGYtc2lnbmVkIHJvb3QKLSRPUEVOU1NMIGVjcGFyYW0gLW5hbWUgcHJpbWUyNTZ2MSAtZ2Vua2V5IC1vdXQgMDAua2V5Ci0kT1BFTlNTTCByZXEgLW5ldyAteDUwOSAtc3ViaiAiL0M9VUsvTz1tYmVkIFRMUy9DTj1DQTAwIiAkT1BUIFwKLSAgICAgICAgICAgICAta2V5IDAwLmtleSAtb3V0IDAwLmNydAotCi0jIGNYWC5wZW0gaXMgdGhlIGNoYWluIHN0YXJ0aW5nIGF0IFhYCi1jcCAwMC5jcnQgYzAwLnBlbQotCi0jIGdlbmVyYXRlIGxvbmcgY2hhaW4KLWk9MQotd2hpbGUgWyAkaSAtbGUgJE5CIF07IGRvCi0gICAgVVA9JCggcHJpbnRmICIlMDJkIiAkKChpLTEpKSApCi0gICAgTUU9JCggcHJpbnRmICIlMDJkIiAkaSApCi0KLSAgICAkT1BFTlNTTCBlY3BhcmFtIC1uYW1lIHByaW1lMjU2djEgLWdlbmtleSAtb3V0ICR7TUV9LmtleQotICAgICRPUEVOU1NMIHJlcSAtbmV3IC1zdWJqICIvQz1VSy9PPW1iZWQgVExTL0NOPUNBJHtNRX0iIFwKLSAgICAgICAgICAgICAgICAgLWtleSAke01FfS5rZXkgLW91dCAke01FfS5jc3IKLSAgICAkT1BFTlNTTCB4NTA5IC1yZXEgLUNBICR7VVB9LmNydCAtQ0FrZXkgJHtVUH0ua2V5IC1zZXRfc2VyaWFsIDEgJE9QVCBcCi0gICAgICAgICAgICAgICAgICAtZXh0ZmlsZSBpbnQub3BlbnNzbGNvbmYgLWV4dGVuc2lvbnMgaW50IFwKLSAgICAgICAgICAgICAgICAgIC1pbiAke01FfS5jc3IgLW91dCAke01FfS5jcnQKLQotICAgIGNhdCAke01FfS5jcnQgYyR7VVB9LnBlbSA+IGMke01FfS5wZW0KLQotICAgIHJtICR7TUV9LmNzcgotICAgIGk9JCgoaSsxKSkKLWRvbmUKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyMS90ZXN0LWNhLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyMS90ZXN0LWNhLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2MxZDE0Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjEvdGVzdC1jYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi1DZXJ0aWZpY2F0ZToKLSAgICBEYXRhOgotICAgICAgICBWZXJzaW9uOiAzICgweDIpCi0gICAgICAgIFNlcmlhbCBOdW1iZXI6IDAgKDB4MCkKLSAgICAgICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMVdpdGhSU0FFbmNyeXB0aW9uCi0gICAgICAgIElzc3VlcjogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQQotICAgICAgICBWYWxpZGl0eQotICAgICAgICAgICAgTm90IEJlZm9yZTogRmViIDEyIDE0OjQ0OjAwIDIwMTEgR01UCi0gICAgICAgICAgICBOb3QgQWZ0ZXIgOiBGZWIgMTIgMTQ6NDQ6MDAgMjAyMSBHTVQKLSAgICAgICAgU3ViamVjdDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQQotICAgICAgICBTdWJqZWN0IFB1YmxpYyBLZXkgSW5mbzoKLSAgICAgICAgICAgIFB1YmxpYyBLZXkgQWxnb3JpdGhtOiByc2FFbmNyeXB0aW9uCi0gICAgICAgICAgICBSU0EgUHVibGljIEtleTogKDIwNDggYml0KQotICAgICAgICAgICAgICAgIE1vZHVsdXMgKDIwNDggYml0KToKLSAgICAgICAgICAgICAgICAgICAgMDA6YzA6ZGY6Mzc6ZmM6MTc6YmI6ZTA6OTY6OWQ6M2Y6ODY6ZGU6OTY6MzI6Ci0gICAgICAgICAgICAgICAgICAgIDdkOjQ0OmE1OjE2OmEwOmNkOjIxOmYxOjk5OmQ0OmVjOmVhOmNiOjdjOjE4OgotICAgICAgICAgICAgICAgICAgICA1ODowODo5NDphNTplYzo5YjpjNTo4YjpkZjoxYToxZTo5OTozODo5OTo4NzoKLSAgICAgICAgICAgICAgICAgICAgMWU6N2I6YzA6OGQ6Mzk6ZGY6Mzg6NWQ6NzA6Nzg6MDc6ZDM6OWU6ZDk6OTM6Ci0gICAgICAgICAgICAgICAgICAgIGU4OmI5OjcyOjUxOmM1OmNlOmEzOjMwOjUyOmE5OmYyOmU3OjQwOjcwOjE0OgotICAgICAgICAgICAgICAgICAgICBjYjo0NDphMjo3MjowYjpjMjplNTo0MDpmOTozZTplNTphNjowZTpiMzpmOToKLSAgICAgICAgICAgICAgICAgICAgZWM6NGE6NjM6YzA6Yjg6Mjk6MDA6NzQ6OWM6NTc6M2I6YTg6YTU6MDQ6OTA6Ci0gICAgICAgICAgICAgICAgICAgIDcxOmYxOmJkOjgzOmQ5OjNmOmQ2OmE1OmUyOjNjOjJhOjhmOmVmOjI3OjYwOgotICAgICAgICAgICAgICAgICAgICBjMzpjNjo5ZjpjYjpiYTplYzo2MDo3ZDpiNzplNjo4NDozMjpiZTo0ZjpmYjoKLSAgICAgICAgICAgICAgICAgICAgNTg6MjY6MjI6MDM6NWI6ZDQ6YjQ6ZDU6ZmI6ZjU6ZTM6OTY6MmU6NzA6YzA6Ci0gICAgICAgICAgICAgICAgICAgIGU0OjJlOmJkOmZjOjJlOmVlOmUyOjQxOjU1OmMwOjM0OjJlOjdkOjI0OjcyOgotICAgICAgICAgICAgICAgICAgICA2OTpjYjo0NzpiMToxNDo0MDo4Mzo3ZDo2NzpmNDo4NjpmNjozMTphYjpmMToKLSAgICAgICAgICAgICAgICAgICAgNzk6YTQ6YjI6YjU6MmU6MTI6Zjk6ODQ6MTc6ZjA6NjI6NmY6Mjc6M2U6MTM6Ci0gICAgICAgICAgICAgICAgICAgIDU4OmIxOjU0OjBkOjIxOjlhOjczOjM3OmExOjMwOmNmOjZmOjkyOmRjOmY2OgotICAgICAgICAgICAgICAgICAgICBlOTpmYzphYzpkYjoyZToyODpkMTo3ZTowMjo0YjoyMzphMDoxNTpmMjozODoKLSAgICAgICAgICAgICAgICAgICAgNjU6NjQ6MDk6ZWE6MGM6NmU6OGU6MWI6MTc6YTA6NzE6Yzg6YjM6OWI6Yzk6Ci0gICAgICAgICAgICAgICAgICAgIGFiOmU5OmMzOmYyOmNmOjg3Ojk2OjhmOjgwOjAyOjMyOjllOjk5OjU4OjZmOgotICAgICAgICAgICAgICAgICAgICBhMjpkNQotICAgICAgICAgICAgICAgIEV4cG9uZW50OiA2NTUzNyAoMHgxMDAwMSkKLSAgICAgICAgWDUwOXYzIGV4dGVuc2lvbnM6Ci0gICAgICAgICAgICBYNTA5djMgQmFzaWMgQ29uc3RyYWludHM6Ci0gICAgICAgICAgICAgICAgQ0E6VFJVRQotICAgICAgICAgICAgWDUwOXYzIFN1YmplY3QgS2V5IElkZW50aWZpZXI6Ci0gICAgICAgICAgICAgICAgQjQ6NUE6RTQ6QTU6QjM6REU6RDI6NTI6RjY6Qjk6RDU6QTY6OTU6MEY6RUI6M0U6QkM6Qzc6RkQ6RkYKLSAgICAgICAgICAgIFg1MDl2MyBBdXRob3JpdHkgS2V5IElkZW50aWZpZXI6Ci0gICAgICAgICAgICAgICAga2V5aWQ6QjQ6NUE6RTQ6QTU6QjM6REU6RDI6NTI6RjY6Qjk6RDU6QTY6OTU6MEY6RUI6M0U6QkM6Qzc6RkQ6RkYKLSAgICAgICAgICAgICAgICBEaXJOYW1lOi9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgVGVzdCBDQQotICAgICAgICAgICAgICAgIHNlcmlhbDowMAotCi0gICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMVdpdGhSU0FFbmNyeXB0aW9uCi0gICAgICAgIGI4OmZkOjU0OmQ4OjAwOjU0OjkwOjhiOjI1OmIwOjI3OmRkOjk1OmNkOmEyOmY3Ojg0OjA3OgotICAgICAgICAxZDo4Nzo4OTo0YTpjNDo3ODoxMTpkODowNzpiNTpkNzoyMjo1MDo4ZTo0ODplYjo2Mjo3YToKLSAgICAgICAgMzI6ODk6YmU6NjM6NDc6NTM6ZmY6YjY6YmU6ZjE6MmU6OGM6NTQ6YzA6OTk6M2Y6YTA6Yjk6Ci0gICAgICAgIDM3OjIzOjcyOjVmOjBkOjQ2OjU5OjhmOmQ4OjQ3OmNkOjk3OjRjOjlmOjA3OjBjOjEyOjYyOgotICAgICAgICAwOTozYToyNDplNDozNjpkOTplOToyYzpkYTozODpkMDo3Mzo3NTo2MTpkNzpjMTo2YzoyNjoKLSAgICAgICAgOGI6OWI6ZTA6ZDU6ZGM6Njc6ZWQ6OGM6NmI6MzM6ZDc6NzQ6MjI6M2M6NGM6ZGI6YjU6OGQ6Ci0gICAgICAgIDJhOmNlOjJjOjBkOjA4OjU5OjA1OjA5OjA1OmE2OjM5OjlmOmIzOjY3OjFiOmUyOjgzOmU1OgotICAgICAgICBlMTo4Zjo1MzpmNjo2Nzo5MzpjNzpmOTo2Zjo3Njo0NDo1ODoxMjplODozYTpkNDo5NzplNzoKLSAgICAgICAgZTk6YzA6M2U6YTg6N2E6NzI6M2Q6ODc6NTM6MWY6ZTU6MmM6ODQ6ODQ6ZTc6OWE6OWU6N2Y6Ci0gICAgICAgIDY2OmQ5OjFmOjliOmY1OjEzOjQ4OmIwOjRkOjE0OmQxOmRlOmIyOjI0OmQ5Ojc4OjdkOmY1OgotICAgICAgICAzNTpjYzo1ODoxOTpkMTpkMjo5OTplZjo0ZDo3MzpmODoxZjo4OTpkNDo1YTpkMDo1MjpjZToKLSAgICAgICAgMDk6ZjU6YjE6NDY6NTE6NmE6MDA6OGU6M2I6Y2M6NmY6NjM6MDE6MDA6OTk6ZWQ6OWQ6YTY6Ci0gICAgICAgIDA4OjYwOmNkOjMyOjE4OmQwOjczOmUwOjU4OjcxOmQ5OmU1OmQyOjUzOmQ3OjhkOmQwOmNhOgotICAgICAgICBlOTo1ZDoyYTowYTowZDo1ZDo1NTplYzoyMTo1MDoxNzoxNjplNjowNjo0YTpjZDo1ZTpkZToKLSAgICAgICAgZjc6ZTA6ZTk6NTQKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRGh6Q0NBbStnQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDaE1JVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1URUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRFd01qRXlNVFEwTkRBd1doY05NakV3TWpFeU1UUTBOREF3V2pBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNoTUlVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdnZ0VpTUEwRwotQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURBM3pmOEY3dmdscDAvaHQ2V01uMUVwUmFnelNIeAotbWRUczZzdDhHRmdJbEtYc204V0wzeG9lbVRpWmh4NTd3STA1M3poZGNIZ0gwNTdaaytpNWNsSEZ6cU13VXFueQotNTBCd0ZNdEVvbklMd3VWQStUN2xwZzZ6K2V4S1k4QzRLUUIwbkZjN3FLVUVrSEh4dllQWlA5YWw0andxais4bgotWU1QR244dTY3R0I5dCthRU1yNVArMWdtSWdOYjFMVFYrL1hqbGk1d3dPUXV2Znd1N3VKQlZjQTBMbjBrY21uTAotUjdFVVFJTjlaL1NHOWpHcjhYbWtzclV1RXZtRUYvQmlieWMrRTFpeFZBMGhtbk0zb1REUGI1TGM5dW44ck5zdQotS05GK0Frc2pvQlh5T0dWa0Nlb01ibzRiRjZCeHlMT2J5YXZwdy9MUGg1YVBnQUl5bnBsWWI2TFZBZ01CQUFHagotZ1pVd2daSXdEQVlEVlIwVEJBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SAotL2Y4d1l3WURWUjBqQkZ3d1dvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZitoUDZROU1Ec3hDekFKQmdOVgotQkFZVEFrNU1NUkV3RHdZRFZRUUtFd2hRYjJ4aGNsTlRUREVaTUJjR0ExVUVBeE1RVUc5c1lYSlRVMHdnVkdWegotZENCRFFZSUJBREFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBdVAxVTJBQlVrSXNsc0NmZGxjMmk5NFFISFllSgotU3NSNEVkZ0h0ZGNpVUk1STYySjZNb20rWTBkVC83YSs4UzZNVk1DWlA2QzVOeU55WHcxR1dZL1lSODJYVEo4SAotREJKaUNUb2s1RGJaNlN6YU9OQnpkV0hYd1d3bWk1dmcxZHhuN1l4ck05ZDBJanhNMjdXTktzNHNEUWhaQlFrRgotcGptZnMyY2I0b1BsNFk5VDltZVR4L2x2ZGtSWUV1ZzYxSmZuNmNBK3FIcHlQWWRUSCtVc2hJVG5tcDUvWnRrZgotbS9VVFNMQk5GTkhlc2lUWmVIMzFOY3hZR2RIU21lOU5jL2dmaWRSYTBGTE9DZld4UmxGcUFJNDd6RzlqQVFDWgotN1oybUNHRE5NaGpRYytCWWNkbmwwbFBYamRESzZWMHFDZzFkVmV3aFVCY1c1Z1pLelY3ZTkrRHBWQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjIvdGVzdC1jYS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjIvdGVzdC1jYS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjMWQxNGMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXIyL3Rlc3QtY2EuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotQ2VydGlmaWNhdGU6Ci0gICAgRGF0YToKLSAgICAgICAgVmVyc2lvbjogMyAoMHgyKQotICAgICAgICBTZXJpYWwgTnVtYmVyOiAwICgweDApCi0gICAgICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTFXaXRoUlNBRW5jcnlwdGlvbgotICAgICAgICBJc3N1ZXI6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EKLSAgICAgICAgVmFsaWRpdHkKLSAgICAgICAgICAgIE5vdCBCZWZvcmU6IEZlYiAxMiAxNDo0NDowMCAyMDExIEdNVAotICAgICAgICAgICAgTm90IEFmdGVyIDogRmViIDEyIDE0OjQ0OjAwIDIwMjEgR01UCi0gICAgICAgIFN1YmplY3Q6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EKLSAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86Ci0gICAgICAgICAgICBQdWJsaWMgS2V5IEFsZ29yaXRobTogcnNhRW5jcnlwdGlvbgotICAgICAgICAgICAgUlNBIFB1YmxpYyBLZXk6ICgyMDQ4IGJpdCkKLSAgICAgICAgICAgICAgICBNb2R1bHVzICgyMDQ4IGJpdCk6Ci0gICAgICAgICAgICAgICAgICAgIDAwOmMwOmRmOjM3OmZjOjE3OmJiOmUwOjk2OjlkOjNmOjg2OmRlOjk2OjMyOgotICAgICAgICAgICAgICAgICAgICA3ZDo0NDphNToxNjphMDpjZDoyMTpmMTo5OTpkNDplYzplYTpjYjo3YzoxODoKLSAgICAgICAgICAgICAgICAgICAgNTg6MDg6OTQ6YTU6ZWM6OWI6YzU6OGI6ZGY6MWE6MWU6OTk6Mzg6OTk6ODc6Ci0gICAgICAgICAgICAgICAgICAgIDFlOjdiOmMwOjhkOjM5OmRmOjM4OjVkOjcwOjc4OjA3OmQzOjllOmQ5OjkzOgotICAgICAgICAgICAgICAgICAgICBlODpiOTo3Mjo1MTpjNTpjZTphMzozMDo1MjphOTpmMjplNzo0MDo3MDoxNDoKLSAgICAgICAgICAgICAgICAgICAgY2I6NDQ6YTI6NzI6MGI6YzI6ZTU6NDA6Zjk6M2U6ZTU6YTY6MGU6YjM6Zjk6Ci0gICAgICAgICAgICAgICAgICAgIGVjOjRhOjYzOmMwOmI4OjI5OjAwOjc0OjljOjU3OjNiOmE4OmE1OjA0OjkwOgotICAgICAgICAgICAgICAgICAgICA3MTpmMTpiZDo4MzpkOTozZjpkNjphNTplMjozYzoyYTo4ZjplZjoyNzo2MDoKLSAgICAgICAgICAgICAgICAgICAgYzM6YzY6OWY6Y2I6YmE6ZWM6NjA6N2Q6Yjc6ZTY6ODQ6MzI6YmU6NGY6ZmI6Ci0gICAgICAgICAgICAgICAgICAgIDU4OjI2OjIyOjAzOjViOmQ0OmI0OmQ1OmZiOmY1OmUzOjk2OjJlOjcwOmMwOgotICAgICAgICAgICAgICAgICAgICBlNDoyZTpiZDpmYzoyZTplZTplMjo0MTo1NTpjMDozNDoyZTo3ZDoyNDo3MjoKLSAgICAgICAgICAgICAgICAgICAgNjk6Y2I6NDc6YjE6MTQ6NDA6ODM6N2Q6Njc6ZjQ6ODY6ZjY6MzE6YWI6ZjE6Ci0gICAgICAgICAgICAgICAgICAgIDc5OmE0OmIyOmI1OjJlOjEyOmY5Ojg0OjE3OmYwOjYyOjZmOjI3OjNlOjEzOgotICAgICAgICAgICAgICAgICAgICA1ODpiMTo1NDowZDoyMTo5YTo3MzozNzphMTozMDpjZjo2Zjo5MjpkYzpmNjoKLSAgICAgICAgICAgICAgICAgICAgZTk6ZmM6YWM6ZGI6MmU6Mjg6ZDE6N2U6MDI6NGI6MjM6YTA6MTU6ZjI6Mzg6Ci0gICAgICAgICAgICAgICAgICAgIDY1OjY0OjA5OmVhOjBjOjZlOjhlOjFiOjE3OmEwOjcxOmM4OmIzOjliOmM5OgotICAgICAgICAgICAgICAgICAgICBhYjplOTpjMzpmMjpjZjo4Nzo5Njo4Zjo4MDowMjozMjo5ZTo5OTo1ODo2ZjoKLSAgICAgICAgICAgICAgICAgICAgYTI6ZDUKLSAgICAgICAgICAgICAgICBFeHBvbmVudDogNjU1MzcgKDB4MTAwMDEpCi0gICAgICAgIFg1MDl2MyBleHRlbnNpb25zOgotICAgICAgICAgICAgWDUwOXYzIEJhc2ljIENvbnN0cmFpbnRzOgotICAgICAgICAgICAgICAgIENBOlRSVUUKLSAgICAgICAgICAgIFg1MDl2MyBTdWJqZWN0IEtleSBJZGVudGlmaWVyOgotICAgICAgICAgICAgICAgIEI0OjVBOkU0OkE1OkIzOkRFOkQyOjUyOkY2OkI5OkQ1OkE2Ojk1OjBGOkVCOjNFOkJDOkM3OkZEOkZGCi0gICAgICAgICAgICBYNTA5djMgQXV0aG9yaXR5IEtleSBJZGVudGlmaWVyOgotICAgICAgICAgICAgICAgIGtleWlkOkI0OjVBOkU0OkE1OkIzOkRFOkQyOjUyOkY2OkI5OkQ1OkE2Ojk1OjBGOkVCOjNFOkJDOkM3OkZEOkZGCi0gICAgICAgICAgICAgICAgRGlyTmFtZTovQz1OTC9PPVBvbGFyU1NML0NOPVBvbGFyU1NMIFRlc3QgQ0EKLSAgICAgICAgICAgICAgICBzZXJpYWw6MDAKLQotICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTFXaXRoUlNBRW5jcnlwdGlvbgotICAgICAgICBiODpmZDo1NDpkODowMDo1NDo5MDo4YjoyNTpiMDoyNzpkZDo5NTpjZDphMjpmNzo4NDowNzoKLSAgICAgICAgMWQ6ODc6ODk6NGE6YzQ6Nzg6MTE6ZDg6MDc6YjU6ZDc6MjI6NTA6OGU6NDg6ZWI6NjI6N2E6Ci0gICAgICAgIDMyOjg5OmJlOjYzOjQ3OjUzOmZmOmI2OmJlOmYxOjJlOjhjOjU0OmMwOjk5OjNmOmEwOmI5OgotICAgICAgICAzNzoyMzo3Mjo1ZjowZDo0Njo1OTo4ZjpkODo0NzpjZDo5Nzo0Yzo5ZjowNzowYzoxMjo2MjoKLSAgICAgICAgMDk6M2E6MjQ6ZTQ6MzY6ZDk6ZTk6MmM6ZGE6Mzg6ZDA6NzM6NzU6NjE6ZDc6YzE6NmM6MjY6Ci0gICAgICAgIDhiOjliOmUwOmQ1OmRjOjY3OmVkOjhjOjZiOjMzOmQ3Ojc0OjIyOjNjOjRjOmRiOmI1OjhkOgotICAgICAgICAyYTpjZToyYzowZDowODo1OTowNTowOTowNTphNjozOTo5ZjpiMzo2NzoxYjplMjo4MzplNToKLSAgICAgICAgZTE6OGY6NTM6ZjY6Njc6OTM6Yzc6Zjk6NmY6NzY6NDQ6NTg6MTI6ZTg6M2E6ZDQ6OTc6ZTc6Ci0gICAgICAgIGU5OmMwOjNlOmE4OjdhOjcyOjNkOjg3OjUzOjFmOmU1OjJjOjg0Ojg0OmU3OjlhOjllOjdmOgotICAgICAgICA2NjpkOToxZjo5YjpmNToxMzo0ODpiMDo0ZDoxNDpkMTpkZTpiMjoyNDpkOTo3ODo3ZDpmNToKLSAgICAgICAgMzU6Y2M6NTg6MTk6ZDE6ZDI6OTk6ZWY6NGQ6NzM6Zjg6MWY6ODk6ZDQ6NWE6ZDA6NTI6Y2U6Ci0gICAgICAgIDA5OmY1OmIxOjQ2OjUxOjZhOjAwOjhlOjNiOmNjOjZmOjYzOjAxOjAwOjk5OmVkOjlkOmE2OgotICAgICAgICAwODo2MDpjZDozMjoxODpkMDo3MzplMDo1ODo3MTpkOTplNTpkMjo1MzpkNzo4ZDpkMDpjYToKLSAgICAgICAgZTk6NWQ6MmE6MGE6MGQ6NWQ6NTU6ZWM6MjE6NTA6MTc6MTY6ZTY6MDY6NGE6Y2Q6NWU6ZGU6Ci0gICAgICAgIGY3OmUwOmU5OjU0Ci0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURoekNDQW0rZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNVEVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1URXdNakV5TVRRME5EQXdXaGNOTWpFd01qRXlNVFEwTkRBd1dqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1URUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEcKLUNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQTN6ZjhGN3ZnbHAwL2h0NldNbjFFcFJhZ3pTSHgKLW1kVHM2c3Q4R0ZnSWxLWHNtOFdMM3hvZW1UaVpoeDU3d0kwNTN6aGRjSGdIMDU3WmsraTVjbEhGenFNd1VxbnkKLTUwQndGTXRFb25JTHd1VkErVDdscGc2eitleEtZOEM0S1FCMG5GYzdxS1VFa0hIeHZZUFpQOWFsNGp3cWorOG4KLVlNUEduOHU2N0dCOXQrYUVNcjVQKzFnbUlnTmIxTFRWKy9YamxpNXd3T1F1dmZ3dTd1SkJWY0EwTG4wa2NtbkwKLVI3RVVRSU45Wi9TRzlqR3I4WG1rc3JVdUV2bUVGL0JpYnljK0UxaXhWQTBobW5NM29URFBiNUxjOXVuOHJOc3UKLUtORitBa3Nqb0JYeU9HVmtDZW9NYm80YkY2Qnh5TE9ieWF2cHcvTFBoNWFQZ0FJeW5wbFliNkxWQWdNQkFBR2oKLWdaVXdnWkl3REFZRFZSMFRCQVV3QXdFQi96QWRCZ05WSFE0RUZnUVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgKLS9mOHdZd1lEVlIwakJGd3dXb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2YraFA2UTlNRHN4Q3pBSkJnTlYKLUJBWVRBazVNTVJFd0R3WURWUVFLRXdoUWIyeGhjbE5UVERFWk1CY0dBMVVFQXhNUVVHOXNZWEpUVTB3Z1ZHVnoKLWRDQkRRWUlCQURBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQXVQMVUyQUJVa0lzbHNDZmRsYzJpOTRRSEhZZUoKLVNzUjRFZGdIdGRjaVVJNUk2Mko2TW9tK1kwZFQvN2ErOFM2TVZNQ1pQNkM1TnlOeVh3MUdXWS9ZUjgyWFRKOEgKLURCSmlDVG9rNURiWjZTemFPTkJ6ZFdIWHdXd21pNXZnMWR4bjdZeHJNOWQwSWp4TTI3V05LczRzRFFoWkJRa0YKLXBqbWZzMmNiNG9QbDRZOVQ5bWVUeC9sdmRrUllFdWc2MUpmbjZjQStxSHB5UFlkVEgrVXNoSVRubXA1L1p0a2YKLW0vVVRTTEJORk5IZXNpVFplSDMxTmN4WUdkSFNtZTlOYy9nZmlkUmEwRkxPQ2ZXeFJsRnFBSTQ3ekc5akFRQ1oKLTdaMm1DR0ROTWhqUWMrQlljZG5sMGxQWGpkREs2VjBxQ2cxZFZld2hVQmNXNWdaS3pWN2U5K0RwVkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXIyL3Rlc3QtY2EyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyMi90ZXN0LWNhMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0MWE0MjAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXIyL3Rlc3QtY2EyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ1VqQ0NBZGVnQXdJQkFnSUpBTUZENG41aVE4em9NQW9HQ0NxR1NNNDlCQU1DTUQ0eEN6QUpCZ05WQkFZVAotQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRgotUXlCRFFUQWVGdzB4TXpBNU1qUXhOVFE1TkRoYUZ3MHlNekE1TWpJeE5UUTVORGhhTUQ0eEN6QUpCZ05WQkFZVAotQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRgotUXlCRFFUQjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQk1QYUt6UkJOMWd2aDFiKy9JbTZLVU5MVHVCdQotd3c1WFV6TTVXTlJTdEpHVk9Rc2ozMThYSkdKSS9CcVZLYzRzTFlmQ2lGS0FyOVpxcXlIZHVOTWNibGk0eXVpeQotYVk3elFhMHB3N1JmZGFkSGI5VVpLVlZwbWxNN0lMUm1GbUF6SHFPQm9EQ0JuVEFkQmdOVkhRNEVGZ1FVblcwZwotSkVrQlB5dkxlTFVadkg0a3lkdjdObnd3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCUHl2TGVMVVp2SDRreWR2NwotTm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRQotQXhNVFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQXdHQTFVZEV3UUZNQU1CQWY4dwotQ2dZSUtvWkl6ajBFQXdJRGFRQXdaZ0l4QU1PMFluTldLSlVBZlhnU0p0SnhleG40aXBnK2t2NHpudVI1MHY1NgotdDRkMFBDdTQxMm1VQzZObmQ3aXp2dEUyTWdJeEFQMW5uSlFqWjhCV3Vrc3pGUURHNDh3eENDeWNpOXFwZFNNdgotdUNqbjhwd1VPa0FCWEs4TXNzOTBmekNmQ0VPdElBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyMy9SZWFkbWUgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjMvUmVhZG1lCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODlkYWRjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyMy9SZWFkbWUKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1UaGlzIGlzIGp1c3QgdG8gbWFrZSBzdXJlIGZpbGVzIHRoYXQgZG9uJ3QgcGFyc2UgYXMgY2VydHMgYXJlIGlnbm9yZWQuCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjMvdGVzdC1jYS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjMvdGVzdC1jYS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjMWQxNGMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXIzL3Rlc3QtY2EuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotQ2VydGlmaWNhdGU6Ci0gICAgRGF0YToKLSAgICAgICAgVmVyc2lvbjogMyAoMHgyKQotICAgICAgICBTZXJpYWwgTnVtYmVyOiAwICgweDApCi0gICAgICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTFXaXRoUlNBRW5jcnlwdGlvbgotICAgICAgICBJc3N1ZXI6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EKLSAgICAgICAgVmFsaWRpdHkKLSAgICAgICAgICAgIE5vdCBCZWZvcmU6IEZlYiAxMiAxNDo0NDowMCAyMDExIEdNVAotICAgICAgICAgICAgTm90IEFmdGVyIDogRmViIDEyIDE0OjQ0OjAwIDIwMjEgR01UCi0gICAgICAgIFN1YmplY3Q6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EKLSAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86Ci0gICAgICAgICAgICBQdWJsaWMgS2V5IEFsZ29yaXRobTogcnNhRW5jcnlwdGlvbgotICAgICAgICAgICAgUlNBIFB1YmxpYyBLZXk6ICgyMDQ4IGJpdCkKLSAgICAgICAgICAgICAgICBNb2R1bHVzICgyMDQ4IGJpdCk6Ci0gICAgICAgICAgICAgICAgICAgIDAwOmMwOmRmOjM3OmZjOjE3OmJiOmUwOjk2OjlkOjNmOjg2OmRlOjk2OjMyOgotICAgICAgICAgICAgICAgICAgICA3ZDo0NDphNToxNjphMDpjZDoyMTpmMTo5OTpkNDplYzplYTpjYjo3YzoxODoKLSAgICAgICAgICAgICAgICAgICAgNTg6MDg6OTQ6YTU6ZWM6OWI6YzU6OGI6ZGY6MWE6MWU6OTk6Mzg6OTk6ODc6Ci0gICAgICAgICAgICAgICAgICAgIDFlOjdiOmMwOjhkOjM5OmRmOjM4OjVkOjcwOjc4OjA3OmQzOjllOmQ5OjkzOgotICAgICAgICAgICAgICAgICAgICBlODpiOTo3Mjo1MTpjNTpjZTphMzozMDo1MjphOTpmMjplNzo0MDo3MDoxNDoKLSAgICAgICAgICAgICAgICAgICAgY2I6NDQ6YTI6NzI6MGI6YzI6ZTU6NDA6Zjk6M2U6ZTU6YTY6MGU6YjM6Zjk6Ci0gICAgICAgICAgICAgICAgICAgIGVjOjRhOjYzOmMwOmI4OjI5OjAwOjc0OjljOjU3OjNiOmE4OmE1OjA0OjkwOgotICAgICAgICAgICAgICAgICAgICA3MTpmMTpiZDo4MzpkOTozZjpkNjphNTplMjozYzoyYTo4ZjplZjoyNzo2MDoKLSAgICAgICAgICAgICAgICAgICAgYzM6YzY6OWY6Y2I6YmE6ZWM6NjA6N2Q6Yjc6ZTY6ODQ6MzI6YmU6NGY6ZmI6Ci0gICAgICAgICAgICAgICAgICAgIDU4OjI2OjIyOjAzOjViOmQ0OmI0OmQ1OmZiOmY1OmUzOjk2OjJlOjcwOmMwOgotICAgICAgICAgICAgICAgICAgICBlNDoyZTpiZDpmYzoyZTplZTplMjo0MTo1NTpjMDozNDoyZTo3ZDoyNDo3MjoKLSAgICAgICAgICAgICAgICAgICAgNjk6Y2I6NDc6YjE6MTQ6NDA6ODM6N2Q6Njc6ZjQ6ODY6ZjY6MzE6YWI6ZjE6Ci0gICAgICAgICAgICAgICAgICAgIDc5OmE0OmIyOmI1OjJlOjEyOmY5Ojg0OjE3OmYwOjYyOjZmOjI3OjNlOjEzOgotICAgICAgICAgICAgICAgICAgICA1ODpiMTo1NDowZDoyMTo5YTo3MzozNzphMTozMDpjZjo2Zjo5MjpkYzpmNjoKLSAgICAgICAgICAgICAgICAgICAgZTk6ZmM6YWM6ZGI6MmU6Mjg6ZDE6N2U6MDI6NGI6MjM6YTA6MTU6ZjI6Mzg6Ci0gICAgICAgICAgICAgICAgICAgIDY1OjY0OjA5OmVhOjBjOjZlOjhlOjFiOjE3OmEwOjcxOmM4OmIzOjliOmM5OgotICAgICAgICAgICAgICAgICAgICBhYjplOTpjMzpmMjpjZjo4Nzo5Njo4Zjo4MDowMjozMjo5ZTo5OTo1ODo2ZjoKLSAgICAgICAgICAgICAgICAgICAgYTI6ZDUKLSAgICAgICAgICAgICAgICBFeHBvbmVudDogNjU1MzcgKDB4MTAwMDEpCi0gICAgICAgIFg1MDl2MyBleHRlbnNpb25zOgotICAgICAgICAgICAgWDUwOXYzIEJhc2ljIENvbnN0cmFpbnRzOgotICAgICAgICAgICAgICAgIENBOlRSVUUKLSAgICAgICAgICAgIFg1MDl2MyBTdWJqZWN0IEtleSBJZGVudGlmaWVyOgotICAgICAgICAgICAgICAgIEI0OjVBOkU0OkE1OkIzOkRFOkQyOjUyOkY2OkI5OkQ1OkE2Ojk1OjBGOkVCOjNFOkJDOkM3OkZEOkZGCi0gICAgICAgICAgICBYNTA5djMgQXV0aG9yaXR5IEtleSBJZGVudGlmaWVyOgotICAgICAgICAgICAgICAgIGtleWlkOkI0OjVBOkU0OkE1OkIzOkRFOkQyOjUyOkY2OkI5OkQ1OkE2Ojk1OjBGOkVCOjNFOkJDOkM3OkZEOkZGCi0gICAgICAgICAgICAgICAgRGlyTmFtZTovQz1OTC9PPVBvbGFyU1NML0NOPVBvbGFyU1NMIFRlc3QgQ0EKLSAgICAgICAgICAgICAgICBzZXJpYWw6MDAKLQotICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTFXaXRoUlNBRW5jcnlwdGlvbgotICAgICAgICBiODpmZDo1NDpkODowMDo1NDo5MDo4YjoyNTpiMDoyNzpkZDo5NTpjZDphMjpmNzo4NDowNzoKLSAgICAgICAgMWQ6ODc6ODk6NGE6YzQ6Nzg6MTE6ZDg6MDc6YjU6ZDc6MjI6NTA6OGU6NDg6ZWI6NjI6N2E6Ci0gICAgICAgIDMyOjg5OmJlOjYzOjQ3OjUzOmZmOmI2OmJlOmYxOjJlOjhjOjU0OmMwOjk5OjNmOmEwOmI5OgotICAgICAgICAzNzoyMzo3Mjo1ZjowZDo0Njo1OTo4ZjpkODo0NzpjZDo5Nzo0Yzo5ZjowNzowYzoxMjo2MjoKLSAgICAgICAgMDk6M2E6MjQ6ZTQ6MzY6ZDk6ZTk6MmM6ZGE6Mzg6ZDA6NzM6NzU6NjE6ZDc6YzE6NmM6MjY6Ci0gICAgICAgIDhiOjliOmUwOmQ1OmRjOjY3OmVkOjhjOjZiOjMzOmQ3Ojc0OjIyOjNjOjRjOmRiOmI1OjhkOgotICAgICAgICAyYTpjZToyYzowZDowODo1OTowNTowOTowNTphNjozOTo5ZjpiMzo2NzoxYjplMjo4MzplNToKLSAgICAgICAgZTE6OGY6NTM6ZjY6Njc6OTM6Yzc6Zjk6NmY6NzY6NDQ6NTg6MTI6ZTg6M2E6ZDQ6OTc6ZTc6Ci0gICAgICAgIGU5OmMwOjNlOmE4OjdhOjcyOjNkOjg3OjUzOjFmOmU1OjJjOjg0Ojg0OmU3OjlhOjllOjdmOgotICAgICAgICA2NjpkOToxZjo5YjpmNToxMzo0ODpiMDo0ZDoxNDpkMTpkZTpiMjoyNDpkOTo3ODo3ZDpmNToKLSAgICAgICAgMzU6Y2M6NTg6MTk6ZDE6ZDI6OTk6ZWY6NGQ6NzM6Zjg6MWY6ODk6ZDQ6NWE6ZDA6NTI6Y2U6Ci0gICAgICAgIDA5OmY1OmIxOjQ2OjUxOjZhOjAwOjhlOjNiOmNjOjZmOjYzOjAxOjAwOjk5OmVkOjlkOmE2OgotICAgICAgICAwODo2MDpjZDozMjoxODpkMDo3MzplMDo1ODo3MTpkOTplNTpkMjo1MzpkNzo4ZDpkMDpjYToKLSAgICAgICAgZTk6NWQ6MmE6MGE6MGQ6NWQ6NTU6ZWM6MjE6NTA6MTc6MTY6ZTY6MDY6NGE6Y2Q6NWU6ZGU6Ci0gICAgICAgIGY3OmUwOmU5OjU0Ci0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURoekNDQW0rZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNVEVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1URXdNakV5TVRRME5EQXdXaGNOTWpFd01qRXlNVFEwTkRBd1dqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1URUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEcKLUNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQTN6ZjhGN3ZnbHAwL2h0NldNbjFFcFJhZ3pTSHgKLW1kVHM2c3Q4R0ZnSWxLWHNtOFdMM3hvZW1UaVpoeDU3d0kwNTN6aGRjSGdIMDU3WmsraTVjbEhGenFNd1VxbnkKLTUwQndGTXRFb25JTHd1VkErVDdscGc2eitleEtZOEM0S1FCMG5GYzdxS1VFa0hIeHZZUFpQOWFsNGp3cWorOG4KLVlNUEduOHU2N0dCOXQrYUVNcjVQKzFnbUlnTmIxTFRWKy9YamxpNXd3T1F1dmZ3dTd1SkJWY0EwTG4wa2NtbkwKLVI3RVVRSU45Wi9TRzlqR3I4WG1rc3JVdUV2bUVGL0JpYnljK0UxaXhWQTBobW5NM29URFBiNUxjOXVuOHJOc3UKLUtORitBa3Nqb0JYeU9HVmtDZW9NYm80YkY2Qnh5TE9ieWF2cHcvTFBoNWFQZ0FJeW5wbFliNkxWQWdNQkFBR2oKLWdaVXdnWkl3REFZRFZSMFRCQVV3QXdFQi96QWRCZ05WSFE0RUZnUVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgKLS9mOHdZd1lEVlIwakJGd3dXb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2YraFA2UTlNRHN4Q3pBSkJnTlYKLUJBWVRBazVNTVJFd0R3WURWUVFLRXdoUWIyeGhjbE5UVERFWk1CY0dBMVVFQXhNUVVHOXNZWEpUVTB3Z1ZHVnoKLWRDQkRRWUlCQURBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQXVQMVUyQUJVa0lzbHNDZmRsYzJpOTRRSEhZZUoKLVNzUjRFZGdIdGRjaVVJNUk2Mko2TW9tK1kwZFQvN2ErOFM2TVZNQ1pQNkM1TnlOeVh3MUdXWS9ZUjgyWFRKOEgKLURCSmlDVG9rNURiWjZTemFPTkJ6ZFdIWHdXd21pNXZnMWR4bjdZeHJNOWQwSWp4TTI3V05LczRzRFFoWkJRa0YKLXBqbWZzMmNiNG9QbDRZOVQ5bWVUeC9sdmRrUllFdWc2MUpmbjZjQStxSHB5UFlkVEgrVXNoSVRubXA1L1p0a2YKLW0vVVRTTEJORk5IZXNpVFplSDMxTmN4WUdkSFNtZTlOYy9nZmlkUmEwRkxPQ2ZXeFJsRnFBSTQ3ekc5akFRQ1oKLTdaMm1DR0ROTWhqUWMrQlljZG5sMGxQWGpkREs2VjBxQ2cxZFZld2hVQmNXNWdaS3pWN2U5K0RwVkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXIzL3Rlc3QtY2EyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyMy90ZXN0LWNhMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0MWE0MjAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXIzL3Rlc3QtY2EyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ1VqQ0NBZGVnQXdJQkFnSUpBTUZENG41aVE4em9NQW9HQ0NxR1NNNDlCQU1DTUQ0eEN6QUpCZ05WQkFZVAotQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRgotUXlCRFFUQWVGdzB4TXpBNU1qUXhOVFE1TkRoYUZ3MHlNekE1TWpJeE5UUTVORGhhTUQ0eEN6QUpCZ05WQkFZVAotQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRgotUXlCRFFUQjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQk1QYUt6UkJOMWd2aDFiKy9JbTZLVU5MVHVCdQotd3c1WFV6TTVXTlJTdEpHVk9Rc2ozMThYSkdKSS9CcVZLYzRzTFlmQ2lGS0FyOVpxcXlIZHVOTWNibGk0eXVpeQotYVk3elFhMHB3N1JmZGFkSGI5VVpLVlZwbWxNN0lMUm1GbUF6SHFPQm9EQ0JuVEFkQmdOVkhRNEVGZ1FVblcwZwotSkVrQlB5dkxlTFVadkg0a3lkdjdObnd3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCUHl2TGVMVVp2SDRreWR2NwotTm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRQotQXhNVFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQXdHQTFVZEV3UUZNQU1CQWY4dwotQ2dZSUtvWkl6ajBFQXdJRGFRQXdaZ0l4QU1PMFluTldLSlVBZlhnU0p0SnhleG40aXBnK2t2NHpudVI1MHY1NgotdDRkMFBDdTQxMm1VQzZObmQ3aXp2dEUyTWdJeEFQMW5uSlFqWjhCV3Vrc3pGUURHNDh3eENDeWNpOXFwZFNNdgotdUNqbjhwd1VPa0FCWEs4TXNzOTBmekNmQ0VPdElBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9SZWFkbWUgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvUmVhZG1lCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjFmNjEwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9SZWFkbWUKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1UaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgY2VydGlmaWNhdGVzIGZvciB0aGUgdGVzdHMgdGFyZ2V0aW5nIHRoZSBlbmZvcmNlbWVudCBvZiB0aGUgcG9saWN5IGluZGljYXRlZCBieSB0aGUgKnBhdGhMZW5Db25zdHJhaW50KiBmaWVsZC4gQWxsIGxlYWYgZWxlbWVudHMgd2VyZSBnZW5lcmF0ZWQgd2l0aCAqaXNfY2EqIHVuc2V0IGFuZCBhbGwgcm9vdHMgd2l0aCB0aGUgKnNlbGZzaWduPTEqIG9wdGlvbi4gCi0KLTEuIHplcm8gcGF0aGxlbiBjb25zdHJhaW50IG9uIGFuIGludGVybWVkaWF0ZSBDQSAoaW52YWxpZCkKLWBgYAotY2VydDExLmNydCAtPiBjZXJ0MTIuY3J0IChtYXhfcGF0aGxlbj0wKSAtPiBjZXJ0MTMuY3J0IC0+IGNlcnQxNC5jcnQKLWBgYAotCi0yLiB6ZXJvIHBhdGhsZW4gY29uc3RyYWludCBvbiB0aGUgcm9vdCBDQSAoaW52YWxpZCkKLWBgYAotY2VydDIxLmNydCAobWF4X3BhdGhsZW49MCkgLT4gY2VydDIyLmNydCAtPiBjZXJ0MjMuY3J0Ci1gYGAKLQotMy4gbm9uemVybyBwYXRobGVuIGNvbnN0cmFpbnQgb24gdGhlIHJvb3QgQ0EgKGludmFsaWQpCi1gYGAKLWNlcnQzMS5jcnQgKG1heF9wYXRobGVuPTEpIC0+IGNlcnQzMi5jcnQgLT4gY2VydDMzLmNydCAtPiBjZXJ0MzQuY3J0Ci1gYGAKLQotNC4gbm9uemVybyBwYXRobGVuIGNvbnN0cmFpbnQgb24gYW4gaW50ZXJtZWRpYXRlIENBIChpbnZhbGlkKQotYGBgCi1jZXJ0NDEuY3J0IC0+IGNlcnQ0Mi5jcnQgKG1heF9wYXRobGVuPTEpIC0+IGNlcnQ0My5jcnQgLT4gY2VydDQ0LmNydCAtPiBjZXJ0NDUuY3J0IAotYGBgCi0KLTUuIG5vbnplcm8gcGF0aGxlbiBjb25zdHJhaW50IG9uIGFuIGludGVybWVkaWF0ZSBDQSB3aXRoIG1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBjaGFpbiAodmFsaWQpCi1gYGAKLWNlcnQ1MS5jcnQgLT4gY2VydDUyLmNydCAobWF4X3BhdGhsZW49MSkgLT4gY2VydDUzLmNydCAtPiBjZXJ0NTQuY3J0Ci1gYGAKLQotNi4gbm9uemVybyBwYXRobGVuIGNvbnN0cmFpbnQgb24gdGhlIHJvb3QgQ0Egd2l0aCBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgY2hhaW4gKHZhbGlkKQotYGBgCi1jZXJ0NjEuY3J0IChtYXhfcGF0aGxlbj0xKSAtPiBjZXJ0NjIuY3J0IC0+IGNlcnQ2My5jcnQKLWBgYAotCi03LiBwYXRobGVuIGNvbnN0cmFpbnQgb24gdGhlIHJvb3QgQ0Egd2l0aCBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBhbmQgYSBzZWxmIHNpZ25lZCBjZXJ0aWZpY2F0ZSBpbiB0aGUgY2hhaW4gKHZhbGlkKSAKLShUaGlzIHNpdHVhdGlvbiBoYXBwZW5zIGZvciBleGFtcGxlIHdoZW4gYSByb290IG9mIHNvbWUgaGllcmFyY2h5IGdldHMgaW50ZWdyYXRlZCBpbnRvIGFub3RoZXIgaGllcmFyY2h5LiBJbiB0aGlzIGNhc2UgdGhlIGNlcnRpZmljYXRlcyBpc3N1ZWQgYmVmb3JlIHRoZSBpbnRlZ3JhdGlvbiB3aWxsIGhhdmUgYW4gaW50ZXJtYWRpYXRlIHNlbGYgc2lnbmVkIGNlcnRpZmljYXRlIGluIHRoZWlyIGNoYWluKQotYGBgCi1jZXJ0NzEuY3J0IChtYXhfcGF0aGxlbj0xKSAtPiBjZXJ0NzIuY3J0IC0+IGNlcnQ3My5jcnQgKHNlbGYgc2lnbmVkKSAtPiBjZXJ0NzQuY3J0IC0+IGNlcnQ3NC5jcnQKLWBgYAotCi04LiB6ZXJvIHBhdGhsZW4gY29uc3RyYWludCBvbiBmaXJzdCBpbnRlcm1lZGlhdGUgQ0EgKHZhbGlkKQotYGBgCi1jZXJ0ODEuY3J0IC0+IGNlcnQ4Mi5jcnQgKG1heF9wYXRobGVuPTApIC0+IGNlcnQ4My5jcnQKLWBgYAotCi05LiB6ZXJvIHBhdGhsZW4gY29uc3RyYWludCBvbiB0cnVzdGVkIHJvb3QgKHZhbGlkKQotYGBgCi1jZXJ0OTEuY3J0IChtYXhfcGF0aGxlbj0wKSAtPiBjZXJ0OTIuY3J0Ci1gYGAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MTEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQxMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwNzdjM2QuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQxMS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUM5ekNDQWQrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFXTVJRd0VnWURWUVFERXd0VVpYTjAKLUlISnZiM1FnTWpBZUZ3MHdNVEF4TURFd01EQXdNREJhRncwek1ERXlNekV5TXpVNU5UbGFNQll4RkRBU0JnTlYKLUJBTVRDMVJsYzNRZ2NtOXZkQ0F5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEKLWhxTHcrS0RIOCt0a1g5aHBobnlkT1pGb3VlR1RZNXY4V2RZSTZLWlhvSWxuOUlBdTRSbWI2TTU5dUx6aVh1cmcKLVZLdXdCcU9rYlVac0lZME5PQTZDOEZwZGpaTDFkaThWaXE2Njl2QkJzOWMreDloS3B4OC9WVmNaZlRhR2dxbmkKLWg1WGlpdlF5bkJRNEUyS094RVErVmpVTURxSUJIWUcxVlhXczRLTWtBZUpzcURZSHRtUzRYc0M5VFhUSXJpNVMKLTlJWDRtRTVBOStuZ1NUbzAvNlNqd2NkMjd1TzJJUUhYREM3amt4WDVPSDVqRlBBcXNWS1RZRGVXbENVN2J2YnIKLWl5MUg5Wjl1Q2wrTTd1bmJBbDhCS1E4bGVPbm5vM0tPM2xRUUFQR1AyRUZSVDBYTXVVWEpuZnlkUGJ6TWE5RlkKLXVmQjFJOHpDQlp2aVB2Ty9PZjN5cndJREFRQUJvMUF3VGpBTUJnTlZIUk1FQlRBREFRRUJNQjBHQTFVZERnUVcKLUJCU1VIU0g2Z2pyWUZablMxZ0R2azdCcGZ3VEt3REFmQmdOVkhTTUVHREFXZ0JTVUhTSDZnanJZRlpuUzFnRHYKLWs3QnBmd1RLd0RBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQVRMcVpHRkVCTysySWlIamtuN3BCa0F1a3RtSG0KLWpra3VGTE9Od2Uwdmx4WkZhYWJhRnFTZ2tvUzVlWjUwRDBkbXVVa3BKUk5NbkdLMUIvamE1UmV3dEFkeEQ2dXMKLVZUOEpwZVdZa2h4YVNJSGpVVzk1akpMTVZyMTdpdDhqSGF3STA1dEQyNm5xRGpUcTNDMnJNNEV4cEFhSy9EZ3YKLTgzWkhlNElkdmVua1hja0RNSWptU3NLMEdmb21abUt2bW5meGhnNEZuUXZaR0k0OEpKVXFQQTJkSHhSaFV5cjQKLW9oQm1INVhpNW9MSUNkODVHUmk4WXFEMDBhZ0tMOTlFakd1bGFLTkVkc1FrckM0WnZZNlFEVjBFRW5idThiNFIKLUdmaUE0MlVXTjJkS05TcU5oQk9yUDlnNXlUY0lXWGgxRHdwZDFaOXZoQkN3bUJlZ1BxcU01SU0xZFE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQxMi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDEyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQ4OGMyZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDEyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRENqQ0NBZktnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQVdNUlF3RWdZRFZRUURFd3RVWlhOMAotSUhKdmIzUWdNakFlRncwd01UQXhNREV3TURBd01EQmFGdzB6TURFeU16RXlNelU1TlRsYU1DWXhKREFpQmdOVgotQkFNVEcxUmxjM1FnYVc1MFpYSnRaV1JwWVhSbElHMWhlSEJoZEdnZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQgotQlFBRGdnRVBBRENDQVFvQ2dnRUJBTkpyUDcvWStLanVwdmxnYU9tUVlBcmZHdW9oM0N6Y2RQZS9tbGhxK2Z4RAotOFU5cXpnU1Z1VlIrRnBOWmk5RHlNbGpNQnJXVjFPblpJK2NWQ0RZWWtOTWEzSWtWK0FrekpHcXdjU0JLRSs2TgotUlhadnYrSTR4Ykd5bWRTU2FUNktoMVBnUFZrL0VZTmZMRkYzMHBCc3ljak04MWFNdFpnVzZhQTl4Q1NwMHI4VwotWGtab2RzckpVUWVyRGgvN1ZtRFZFZUthblpvZzhhdXZydnMvRU5pQThkNHAvNzVsT0lFUjRuTHo2U1NuNUVxeQotdVh6TkN3bVQ1UFZ3V1N0WGJERDdFQnMzck90UjJWTldROW82UWRmS1FPZS9Ta0lkZFpyMUlXR0VKOEpIanRObwotanhjWU82N0ErSmdwMUp3amsrODNlUklDczBobFd5ZUhXZkJsYk9WSUtMY0NBd0VBQWFOVE1GRXdEd1lEVlIwVAotQkFnd0JnRUJBUUlCQURBZEJnTlZIUTRFRmdRVXl3OFBoeS9GQXZpZkdRK0c2SFdrTWlXenlxVXdId1lEVlIwagotQkJnd0ZvQVVsQjBoK29JNjJCV1owdFlBNzVPd2FYOEV5c0F3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUNGUwotNnRGeTlUcFZNVWZoMW1rcjNyRkVWdGhvME5Ka1JoSlc4ejJQVG1LUWEwNjlTOWdTK1U2K0NzcXd2TTF5M3l5aAotUHQycTM0ZmhoaGJRK2dTOGlBbSt6dlF0QnN5czNmcmZWa2VLbVJ6eFdEaDJMblQrdEppL3h0cWRsVUx1YTVOQgotMjFTbzQ2SGRsY2VEVHV2MnZVYnJIZ3hVUy9JRWpJTDZPWlowU2M2UzZZeWJ2R1Npb0dzUlVITzJrMklpT25VYQotQytocEJ2T2tYU2NuSXRmZE1LQUFjZTcxQ3NaZU45N3NieGVOSU1CRGlYOWJTeStkWkxzY0VoUndCVUFCaU5yLwotc1lkWXZJcGJyRlhvd2pNdEJkYWMrdnZoY2VtN2RrQ3JDZHNHeWxHSU5XaEUydEM5aEttRmtGWG80bXUvQUdEUwotTTQvNTlUbE1lSzhYK1daOXpCcz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MTMuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQxMy5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMDFhMjIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQxMy5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURGekNDQWYrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFtTVNRd0lnWURWUVFERXh0VVpYTjAKLUlHbHVkR1Z5YldWa2FXRjBaU0J0WVhod1lYUm9JREV3SGhjTk1ERXdNVEF4TURBd01EQXdXaGNOTXpBeE1qTXgKLU1qTTFPVFU1V2pBbU1TUXdJZ1lEVlFRREV4dFVaWE4wSUdsdWRHVnliV1ZrYVdGMFpTQnRZWGh3WVhSb0lESXcKLWdnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNzMHFkS1h5dHUvR1RLcGEySDBDRTMKLU9QU0lNTTJoaVliYXZ6VXJveUwraEZ2OVhWb3hoNUNHblZVeEs3QjlpZlZ2enlFbHJjVjd0anVJbEd3cDFoTEgKLXR4L1lVMjJ4a3NJL241L05TL3FyeGtLNXhqd0VXQjlseDkzcndMSzBRbmZqWVJacmlyN3l5U29CS2k2SWxIT3YKLUdPd2wwVi9KQXNsTVd3VVpsRm12WXZvQ1dTV0dyREFreFdWbkhxK0hvWjdZb00vYmRKZHNJSUpZZTN0dDdMOEQKLWNKVlA1ZFE4alNzOC9FaG04QmJHMzM5cjNCN3YvS2RLOHp1b01pZzlhZy9ZT3U5ak9iMFF2WUMySGRab0w0V1YKLU4rN2Fhc1RRbURHV0dPdDdmazdBRWwwRUk4bER2cjJPLzVxNmFkOWpSQ2t4eXEzbEp3UnkrTTNNZFZLZ0ExT24KLUFnTUJBQUdqVURCT01Bd0dBMVVkRXdRRk1BTUJBUUV3SFFZRFZSME9CQllFRk02dTVHa2preGI4UERkUUlHS0QKLUQ4dDFadi85TUI4R0ExVWRJd1FZTUJhQUZNc1BENGN2eFFMNG54a1BodWgxcERJbHM4cWxNQTBHQ1NxR1NJYjMKLURRRUJDd1VBQTRJQkFRQ0xwS0FUdDAxRFVNOHdDaURGVlNwbXBpQ0JxeG5MUmZRdVkrdGExcCtmMTVMTUUrY1QKLTk0bHdhWUNmQ0J0WFFZd2l1VkZZZEs4enRXRVN0UGc2QmVjTUxQQjJLOWdPL3RhbHhVb1ZEdW1zbVI4M3ArMnkKLThZSm1GSHlqcitCU2hzalA5cGFDalVRa0ppTU9pV1JwTkZOcFNjdjBJT0htYjhOTEVSM3ZYL3RDbXh5VkhQZy8KLTd0QnBEWFJENmpPeWFqWUg0S1V4NndkZGNZV2I2M045c0FwVnBSSE5hcXBVS2p1aVF3ZlVGWmpBN0F5Sy9GVVMKLS9jTzMrK3VxK0NrWmhCdTh2dXBhem5YRDRoMEUyOEdiWmd2dS9GMGVkQjdmMFE1RHBudURKNkhGTVlsM0EybU0KLW04cHFLTm5SWUdDdFF3cHBCWVZzb0Jpc2dhMnltdE51ZDdLKwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQxNC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDE0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDllMWNiYi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDE0LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJREREQ0NBZlNnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQW1NU1F3SWdZRFZRUURFeHRVWlhOMAotSUdsdWRHVnliV1ZrYVdGMFpTQnRZWGh3WVhSb0lESXdIaGNOTURFd01UQXhNREF3TURBd1doY05NekF4TWpNeAotTWpNMU9UVTVXakFlTVJ3d0dnWURWUVFERXhOVVpYTjBJR3hsWVdZZ2FXNTJZV3hwWkNBek1JSUJJakFOQmdrcQotaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF3NlZjL1QyR1lUV2o3bkdaY3kydm9aeWVXa0Z5ZkRJeQotb2V4eUplOGV5dVdYK1lxYVNDcmExSk1jd3cwSnk4ZTkvNi9hSTllemQxZDczZVpEY1c1aDYxdGFnQ3BCa2krVwotZFloK0ZKZkNkRGRQblNraXRXT0JMS0JLMjFBUTlkeGVQdmtRQkVhbkRkQWsySXdhc3lkQ29IRWlTQ3F3WE5FegotalZKUEwzOGliYkxmOXNOTzNrazZ6T0ZBM1FxVlNUSjRCZGROaDliSEw3eTEwNmVrZk1ocmZ5VHpTcG8zV2owVgotMjBUaG1KWjFOdXdZUmwzajFYSEFMUDB0OENwMlpMYlh1RnNUV3FURk56WGorZ1dNOGIySWZacW1xY2V3NXBvWgotNGFEa2pYWE9pelJ4RFB4Q0hwN3JMejl4djFwSUlCeGFkeTBZV3Ardzl2eEx4RkY2cllCTHRRSURBUUFCbzAwdwotU3pBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCUW9GL3FybjlXbktWM3pPbkN3TWw5OVVobXg4REFmQmdOVgotSFNNRUdEQVdnQlRPcnVScEk1TVcvRHczVUNCaWd3L0xkV2IvL1RBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQQotVlVubFgvL2gzVDVBamM4NVdOa3lUdWlyaFNadElyNitYL0F4SDRrUi9RRzVOaWFEeFA5SDBGek1zNUZjTW5pOAotM1JzNGQySDNDQnMrUUI3bG0vYit4eTI2dnBPUndsVkZYU2NIZVRFYW51WFNWc21HUGtuN1RBUXJQb3laZ1ZVTgotdXk0VEdpOE1sa3NvNGdtZ2VodmdUa2xJVitFbXh5MzJBYmQxbFJmSTgvdk9RMXhUZEE3ZjNYOThBZldTdFR5YQotREdSc1FMWkUvUTQvR2g1N3hOcUYwZnRCSVJ3dDlUYkdsdThBeVppSWlsVkVDR3ZFL2d0VHd1cXBRUE9oSlFtaQotTmRZVEVyZ0QyV2t3OW9oaWZRRm80NkFNTVUxc2VlaHRxaWpXMnBDMlVqbVY1bmJvUHMwZUdRbVdyZk5DakRPcgotc1pmaDk4QmFmY2FGR2p6NjA1VjM2Zz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDIxLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MjEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MDFjNWQ3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MjEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDK2pDQ0FlS2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBV01SUXdFZ1lEVlFRREV3dFVaWE4wCi1JSEp2YjNRZ01qQWVGdzB3TVRBeE1ERXdNREF3TURCYUZ3MHpNREV5TXpFeU16VTVOVGxhTUJZeEZEQVNCZ05WCi1CQU1UQzFSbGMzUWdjbTl2ZENBeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCi1tVFgyc0hZNDJPcmQ5Z1d5QjZHY2RsTGpqRSs0ekJKMUJvRHBNbnZKODluaU1UdVpUcTFWaU1wL0I2UnVUSCsyCi1ZRjMrcmlaWVFESDl5TS84cmd2QVVJdks5U1RhcTE5WnJtMG1uZlFVbzl5S2RrZm9KK1h2V3V2SzZmK05rQU1nCi14ZmhBRDZlU3VwaWdUdm92L3cySVQ4clMwZHhvNEtGNmhLQkwyYVlsWGhpRXlpL05tc0VQWld2VmgrcWszTC9RCi1HU3dwZ0MrRGhWb1F6RlJvZlVkSzlPOU1rZ1I2NzVpZnRhRkR2eWk3RjBmeHJTTGZCL1d5NGNnUll6SVc2cHlOCi0yc1hXaXZLZExJM2JnQjAxZmZkYk8xN1pBR0lMSzF3aE8yOS9iWDZoYkgwOVkvSDdqUjJ2ankrS1A5TjBQRWEzCi03U0J5bWxva0IzQTh3cS9MV1BZUGVRSURBUUFCbzFNd1VUQVBCZ05WSFJNRUNEQUdBUUVCQWdFQU1CMEdBMVVkCi1EZ1FXQkJTT0JkMWZIMDBZOXI1UzhjRUxqLzlJVDRCR2xEQWZCZ05WSFNNRUdEQVdnQlNPQmQxZkgwMFk5cjVTCi04Y0VMai85SVQ0QkdsREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBRkVZMlN0cHBhUHpPZ0c2dkV2UEpyLy8rCi1OV1kxaktjQkIzY1QreldKVzU0K0JleERqeWFCUm5CSVB2UkxERzhQQWxobFlyOXYvUDZKQ2pCU3VoWW9yRkxHCi1QNFpoRCtha3VNdm42eUY3bnN5RzIwTEhQd3ZFNy9qeWU3K3pTTzNoaHlxQ2c3TjdNN08xN2V4by9hZ3cvaVVJCi1EWVV1VXYxWkpsWnZQQjJrbVpNWWE3OGcwUDJ5bnlLcHU0aGRic3RKenh3QTRhUURYR1F4Y1FOdHYrM1pDZEMyCi1USTR3MGpvZGtqcWRxLzR5ME1jcGtFdllMMy9MYVFFbExhSHI4Q1FvN3hZRXpzanYrY256b2pDTy9pbFhVK1JsCi1zejk0MFE0bmpBSnFscGZpSjQ0YUZ5dGpwOTZ1TjRZVnBWaUZDdlJ6Ly85dXlRWTlrdUEvOGtLd0p1TzNxdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDIyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MjIuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGNkNjVkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MjIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEQnpDQ0FlK2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBV01SUXdFZ1lEVlFRREV3dFVaWE4wCi1JSEp2YjNRZ01qQWVGdzB3TVRBeE1ERXdNREF3TURCYUZ3MHpNREV5TXpFeU16VTVOVGxhTUNZeEpEQWlCZ05WCi1CQU1URzFSbGMzUWdhVzUwWlhKdFpXUnBZWFJsSUcxaGVIQmhkR2dnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCCi1CUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFOcEdsQk1YZG84Y085b3FVdy9iNlBNd2lNTlY4TENlNndCOVZLSFBhNk9HCi1RMG84WHFrdGd3bmgxcm9qZ3BNaGJDQXBFN1VYZU1yNlpHcS9OdHFtTzFoTzVhZFY1SmVoV1p5dmc3ajRFQnBHCi1nOGlXbzBqTnBLTUowWXgxdUJra2xqRWRaTFRIYTRiSy96eTJOS3FETlMyeVdzOS9NNSt4dzVYRTJlY0FnN0ZUCi1jWGhmM3E1MFYrTTZUMklhUTlCeG50VHlDVDhJSUYyZVJNL3Q5WTk0NHM5UmZ6bS9LUVZLUllQdWRYN1loVHQ5Ci1pcUNKQjRKb3FZaHMzSEVPMHdQa0p4WTRLQlRVQ045NHMrN2pVRmRScll4ZSs4WWE2dElZV3FEMzhpNXFkR2hZCi14clZleTFMYXRzREpRMkVnTllvYk0vTGpvQ0xLMVdVc3NFcWYwT1UyYmkwQ0F3RUFBYU5RTUU0d0RBWURWUjBUCi1CQVV3QXdFQkFUQWRCZ05WSFE0RUZnUVVPQmw4ZWRWbS9INXhkUzJFR0VlTHpmdFovRFV3SHdZRFZSMGpCQmd3Ci1Gb0FVamdYZFh4OU5HUGErVXZIQkM0Ly9TRStBUnBRd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFGd1pyaVR1Ci1ES2tpREhGZnozVVg0Zkl4WVRIQ2k0VHZlWVpHUGVUYnhoQmIzWFpDNXFERjRUNUh2Q1RTa0c5K29GZlp6STFhCi1sUE4yeVpCN1FubUhKb3lXYTVmdW92d1VMMGlJM2lJWk1xVTU2dGRWUFc4Z2tKZSsrVTVrSE1TcHoyVkYwZW84Ci03WGtLV3hab3ZSd2N6Z2ZERlJQOXpNOUN5bHl6UWpxeHg2a2J4Sm96V253YzVVclZiSk1hUElxb25YcDFuRG9aCi1pODc4K2hYNHJKVUVqZ082U2E5R1ZaUXBtdUNyUUYwcUtzVGlVQnpaTjY3aG9EM3hvVEFZaTVJWFFFMnRSRDFOCi1qM3p3bmc5bGlDc3h1ckdNbnVWMEJQV3YvSURZUnUvc3lqZWUxUXYxVkZlUnRvNUQ0UmxkbWkycDFmNWlXSkNrCi01bTVZcFJza25hSUNqWXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDIzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MjMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YzU0NzI1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MjMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlERERDQ0FmU2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBbU1TUXdJZ1lEVlFRREV4dFVaWE4wCi1JR2x1ZEdWeWJXVmthV0YwWlNCdFlYaHdZWFJvSURFd0hoY05NREV3TVRBeE1EQXdNREF3V2hjTk16QXhNak14Ci1Nak0xT1RVNVdqQWVNUnd3R2dZRFZRUURFeE5VWlhOMElHeGxZV1lnYVc1MllXeHBaQ0F5TUlJQklqQU5CZ2txCi1oa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQWlnR2dIR05XTmtFV1dGbjdlYVU0a0MyV2pSM1J0Y0JzCi1vVzFNbFFuZFV2d1dVSGdjYmZJZzduaDY2T2k2WGwzSXFBTWpIajFKMEVQR2N3VGZtTGRhUnZOMzhLalRNaDMvCi1GaUZyclVMME1OZ2lHeGprVHRoV2dzZlY0Qy9pM3ZSRFRDVysyVU1GZGQ2K3o3aHdGZitsZFRzQ1A5UXArOTNHCi1kcnNscnZBUjJXMHFqSExVTEFKR2svNld6eEZHNnhlQ2dkaGtvb0RQcHJzZmxaSi9jTjFTdXFUWU9hVk1BajlKCi1hb3ZTdFVUVmhGOG91RFVMcHEwZmlCSW1vbGRPYmNHZGFBV2xnUmwwazhOZG9TTHBXZC83K2hpNHNINVBTT1pxCi0rOGcxbFEzY2dyRTd0YTRYM3AvaTZlQXBjbjFoeUVrVHk5WnBLT0Z2WlhuTTREMWo4K0tTS1FJREFRQUJvMDB3Ci1TekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJUQ04ydkRMWTF0Y2VuVHp5Um1sUzRUQmUyeGlqQWZCZ05WCi1IU01FR0RBV2dCUTRHWHg1MVdiOGZuRjFMWVFZUjR2TisxbjhOVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBCi1lYi90Z3RTYnJ6N2o3SFFheEdnSTVMVmVkUnJvM2EyZk5MaE8wd05ib0dJNmdBQ0lQYWl0MWVQa1V3dU1mTGZsCi1Ga3kyLzJWWjhJZTRwUXF4Rm1kU1VxZjFOU214Z2lXTFJobzRvVGlGdjF6MDhMWVFnU2RLVDQ5ZmZLTzY3VERHCi1EMW5JOHJFdVQxTnVwcThXSTVqY0tnV3FrdE1KamdLemZOKzluQ2dGR1FNR3FUQm50N3VZWkhobnVaZktTSlB2Ci1nSG1TNGdqNzJPUTJOdTZ4T1JHaGQ2SjhWanpjRzZCWDFwTGViTlFSemxIVDNFNUlWTkYvOWNDcmMrRTg3V25zCi1iREd0emh5eDdTSVA3LzJUaUplQlpzN3A4eFhwYURGMmNOeDJGK2paSCtQOGZlVDdjK0pvWTdBNzJ1VkRTbFlmCi1XVmYwMnB5bEtSZ3FheU91akgzUFdBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MzEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQzMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMmFmNGMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQzMS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUMrakNDQWVLZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFXTVJRd0VnWURWUVFERXd0VVpYTjAKLUlISnZiM1FnTWpBZUZ3MHdNVEF4TURFd01EQXdNREJhRncwek1ERXlNekV5TXpVNU5UbGFNQll4RkRBU0JnTlYKLUJBTVRDMVJsYzNRZ2NtOXZkQ0F5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEKLW1UWDJzSFk0Mk9yZDlnV3lCNkdjZGxMampFKzR6QkoxQm9EcE1udko4OW5pTVR1WlRxMVZpTXAvQjZSdVRIKzIKLVlGMytyaVpZUURIOXlNLzhyZ3ZBVUl2SzlTVGFxMTlacm0wbW5mUVVvOXlLZGtmb0orWHZXdXZLNmYrTmtBTWcKLXhmaEFENmVTdXBpZ1R2b3YvdzJJVDhyUzBkeG80S0Y2aEtCTDJhWWxYaGlFeWkvTm1zRVBaV3ZWaCtxazNML1EKLUdTd3BnQytEaFZvUXpGUm9mVWRLOU85TWtnUjY3NWlmdGFGRHZ5aTdGMGZ4clNMZkIvV3k0Y2dSWXpJVzZweU4KLTJzWFdpdktkTEkzYmdCMDFmZmRiTzE3WkFHSUxLMXdoTzI5L2JYNmhiSDA5WS9IN2pSMnZqeStLUDlOMFBFYTMKLTdTQnltbG9rQjNBOHdxL0xXUFlQZVFJREFRQUJvMU13VVRBUEJnTlZIUk1FQ0RBR0FRRUJBZ0VCTUIwR0ExVWQKLURnUVdCQlNPQmQxZkgwMFk5cjVTOGNFTGovOUlUNEJHbERBZkJnTlZIU01FR0RBV2dCU09CZDFmSDAwWTlyNVMKLThjRUxqLzlJVDRCR2xEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFCOW5MYXF4c0JXMGlzRGFCR05KeXpIOU8KLVdxWVkwaGV4OXRtM1VxeWdmRTliOWFhaHlrcGtvd1FJemg0RDlYcGJkMGhaR1ZsSy9zdzJxc0tqNmdET2lNdEwKLXVXczRnYUZOV0lRcWhWc1R6TDg4YzdYYVc1NW4rVFJRZFZaeXkzOERaVldwaHRlMU11bWM5V0I4TjE1clpURGgKLWlYandHbDBtclYxZWdxNGhKWkxweTE0ZjZpaHFVN0tHZm1jOW9ueHZndld4WUxpKzV2ODg3NGM0b3BoU0tzSTIKLXFWRThpWjZ1cTJvUTY2UGQ1UzUwY1lrNk1FVzVsaWZBaExNNVdGWm1XN2RSS215a0JHWjlyRnJKckl2aGttaDkKLUhlN3E2VEVRUDFXY29jMTQ3bklnMEJUa0hHdGRyRXYzaklYNlVLS1VFd1VVazlBUkIxbVNvZFpRSEJodXd3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MzIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQzMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkY2Q2NWQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQzMi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURCekNDQWUrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFXTVJRd0VnWURWUVFERXd0VVpYTjAKLUlISnZiM1FnTWpBZUZ3MHdNVEF4TURFd01EQXdNREJhRncwek1ERXlNekV5TXpVNU5UbGFNQ1l4SkRBaUJnTlYKLUJBTVRHMVJsYzNRZ2FXNTBaWEp0WldScFlYUmxJRzFoZUhCaGRHZ2dNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUIKLUJRQURnZ0VQQURDQ0FRb0NnZ0VCQU5wR2xCTVhkbzhjTzlvcVV3L2I2UE13aU1OVjhMQ2U2d0I5VktIUGE2T0cKLVEwbzhYcWt0Z3duaDFyb2pncE1oYkNBcEU3VVhlTXI2WkdxL050cW1PMWhPNWFkVjVKZWhXWnl2ZzdqNEVCcEcKLWc4aVdvMGpOcEtNSjBZeDF1QmtrbGpFZFpMVEhhNGJLL3p5Mk5LcUROUzJ5V3M5L001K3h3NVhFMmVjQWc3RlQKLWNYaGYzcTUwVitNNlQySWFROUJ4bnRUeUNUOElJRjJlUk0vdDlZOTQ0czlSZnptL0tRVktSWVB1ZFg3WWhUdDkKLWlxQ0pCNEpvcVloczNIRU8wd1BrSnhZNEtCVFVDTjk0cys3alVGZFJyWXhlKzhZYTZ0SVlXcUQzOGk1cWRHaFkKLXhyVmV5MUxhdHNESlEyRWdOWW9iTS9Mam9DTEsxV1Vzc0VxZjBPVTJiaTBDQXdFQUFhTlFNRTR3REFZRFZSMFQKLUJBVXdBd0VCQVRBZEJnTlZIUTRFRmdRVU9CbDhlZFZtL0g1eGRTMkVHRWVMemZ0Wi9EVXdId1lEVlIwakJCZ3cKLUZvQVVqZ1hkWHg5TkdQYStVdkhCQzQvL1NFK0FScFF3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUZ3WnJpVHUKLURLa2lESEZmejNVWDRmSXhZVEhDaTRUdmVZWkdQZVRieGhCYjNYWkM1cURGNFQ1SHZDVFNrRzkrb0ZmWnpJMWEKLWxQTjJ5WkI3UW5tSEpveVdhNWZ1b3Z3VUwwaUkzaUlaTXFVNTZ0ZFZQVzhna0plKytVNWtITVNwejJWRjBlbzgKLTdYa0tXeFpvdlJ3Y3pnZkRGUlA5ek05Q3lseXpRanF4eDZrYnhKb3pXbndjNVVyVmJKTWFQSXFvblhwMW5Eb1oKLWk4NzgraFg0ckpVRWpnTzZTYTlHVlpRcG11Q3JRRjBxS3NUaVVCelpONjdob0QzeG9UQVlpNUlYUUUydFJEMU4KLWozenduZzlsaUNzeHVyR01udVYwQlBXdi9JRFlSdS9zeWplZTFRdjFWRmVSdG81RDRSbGRtaTJwMWY1aVdKQ2sKLTVtNVlwUnNrbmFJQ2pZcz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MzMuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQzMy5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNWQxOTIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQzMy5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURGekNDQWYrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFtTVNRd0lnWURWUVFERXh0VVpYTjAKLUlHbHVkR1Z5YldWa2FXRjBaU0J0WVhod1lYUm9JREV3SGhjTk1ERXdNVEF4TURBd01EQXdXaGNOTXpBeE1qTXgKLU1qTTFPVFU1V2pBbU1TUXdJZ1lEVlFRREV4dFVaWE4wSUdsdWRHVnliV1ZrYVdGMFpTQnRZWGh3WVhSb0lESXcKLWdnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNLQWFBY1kxWTJRUlpZV2Z0NXBUaVEKLUxaYU5IZEcxd0d5aGJVeVZDZDFTL0JaUWVCeHQ4aUR1ZUhybzZMcGVYY2lvQXlNZVBVblFROFp6Qk4rWXQxcEcKLTgzZndxTk15SGY4V0lXdXRRdlF3MkNJYkdPUk8yRmFDeDlYZ0wrTGU5RU5NSmI3WlF3VjEzcjdQdUhBVi82VjEKLU93SS8xQ243M2NaMnV5V3U4QkhaYlNxTWN0UXNBa2FUL3BiUEVVYnJGNEtCMkdTaWdNK211eCtWa245dzNWSzYKLXBOZzVwVXdDUDBscWk5SzFSTldFWHlpNE5RdW1yUitJRWlhaVYwNXR3WjFvQmFXQkdYU1R3MTJoSXVsWjMvdjYKLUdMaXdmazlJNW1yN3lEV1ZEZHlDc1R1MXJoZmVuK0xwNENseWZXSElTUlBMMW1rbzRXOWxlY3pnUFdQejRwSXAKLUFnTUJBQUdqVURCT01Bd0dBMVVkRXdRRk1BTUJBUUV3SFFZRFZSME9CQllFRk1JM2E4TXRqVzF4NmRQUEpHYVYKLUxoTUY3YkdLTUI4R0ExVWRJd1FZTUJhQUZEZ1pmSG5WWnZ4K2NYVXRoQmhIaTgzN1dmdzFNQTBHQ1NxR1NJYjMKLURRRUJDd1VBQTRJQkFRQ3ByenBvajZVYUVHNGVxTGcyTDNIcXN2WTczL1hFOHl0dVo5d0RDM0hvZG5tcGV6VVgKLTQ4WHdKUEhGTzdPR1BHV1pnc1UycVgvWnA3eVVYa1ZGU0s0Vm5tblN6VXRYTlZsVTBvV0VFT3pRTHJwcGhrc0gKLWRjRjhZTk4vWTY1S25oeklVNzg0dUhlRmVmVXBQYUU2eVM1T1NaYm9wdFpXVkY5eTFMb1UzRjdnTjBVR3ZWRzkKLWhmbHo1TzAvS3ZtWWQrNitZcmplKzJsYkhpSkhOWExtT1BpWnlrOVRCRGtueWdCdVUxNElPV2doUWltM3lrczkKLXRLazhEMzhWbDg1VjVhRzluTzRTVGp4NUo4QnRTbDB4NndXM3Q5V3dVNVVDOWdlQ1JPaFpJMVhSQmFmSW9La24KLVZTZ0hMcExUQVJ0TGlrYmJnLzNTeHBuVzEybXNIdmdMVmFzZgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQzNC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDM0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmViY2I2NS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDM0LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJREREQ0NBZlNnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQW1NU1F3SWdZRFZRUURFeHRVWlhOMAotSUdsdWRHVnliV1ZrYVdGMFpTQnRZWGh3WVhSb0lESXdIaGNOTURFd01UQXhNREF3TURBd1doY05NekF4TWpNeAotTWpNMU9UVTVXakFlTVJ3d0dnWURWUVFERXhOVVpYTjBJR3hsWVdZZ2FXNTJZV3hwWkNBek1JSUJJakFOQmdrcQotaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFrU3JnV0ZENGxZUTBSRi96M21KWmpuMWxnTkJraG5DUAotMGhjaUp2L2V0b01OM2JDQit1YzhmbzB3eERRMlpjYnpUQVEwcUJObmpKdkFKMXFzbFpBOWJvSUJLbVQ4SlNpeAotaWkvMVhURFdJM0U1YU92WDFoNmxXNjZwVnNJekxtME5BZjBWSm4yeEx3MFl2OGhmS2J3amNOZUFmbTdHQ3dKQgotOHNramVrTUtKOCtlNnBQNFpIeG1ybk9vMGtVbENnOHc4Ukt6WjZzWUp4WDFFVGVrV1BFVVNYcnNjUS9ZU2pwTwotempMRHBoMWxPNGdWRXJCaGRKZ0pwSnpucWtyUkJpUjdmL2hJcnBBVjN3T1VidGZyeHJJYjVGWE9NOXJ0L3N2VwotUlJyeklVR25Cdm8wNFdaK0tRSFBzTW4rOXg4aSsvdHVlT2cxS0xmczEwaFcwUldzVFFqbU9RSURBUUFCbzAwdwotU3pBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCU09CcjFVNGg1UFl5T3FHZS9nSmd3V2s3RmZlekFmQmdOVgotSFNNRUdEQVdnQlRDTjJ2RExZMXRjZW5UenlSbWxTNFRCZTJ4aWpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQQotYUJMdXdOTjV2T2gyZExibjhsTU5zYy9vVEZTSW56dSt5bHpDL0tMVGtqb3lNWVkrUzJJU1V1ZXc5cHpVbzRHcwotQUFFL3JxVlllZG5heXlBMTNlTlJCbndJdys4a1BURVNhSk1HbDZ1UVFkOER6QWFsenF4YkZoYndGWTJUMHBkaQotTE5Ga0dqbUdkcFJOeS9WU1R5NkpFRUJNaElLWGpNcGFjdG1waVY2bXdLM2JmbkZhWFo2bzcwK0pack5laVNlMAotZzhzY2k2Z0JWRXQyN2JHdmhMYWx1dDhXWGM3VkNreFFoUUNTQmR2Lzk0RW1SeHpQeWU2aUFLMEw5amFUSGx0KwotcVI1TVdKeFpOMzJtdUk3bnNLbmV0VU1aYklZd3ZPMUxQbjhmKzBoZFlrY2s4a0U3Z2ExVU05OG9UZ1FlSU9tagotM0pOQ0RrTlkrWjM4N3VqYWFPQVZ4dz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDQxLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NDEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDY1Yzk0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NDEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDOXpDQ0FkK2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBV01SUXdFZ1lEVlFRREV3dFVaWE4wCi1JSEp2YjNRZ05EQWVGdzB3TVRBeE1ERXdNREF3TURCYUZ3MHpNREV5TXpFeU16VTVOVGxhTUJZeEZEQVNCZ05WCi1CQU1UQzFSbGMzUWdjbTl2ZENBME1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCi1tVFgyc0hZNDJPcmQ5Z1d5QjZHY2RsTGpqRSs0ekJKMUJvRHBNbnZKODluaU1UdVpUcTFWaU1wL0I2UnVUSCsyCi1ZRjMrcmlaWVFESDl5TS84cmd2QVVJdks5U1RhcTE5WnJtMG1uZlFVbzl5S2RrZm9KK1h2V3V2SzZmK05rQU1nCi14ZmhBRDZlU3VwaWdUdm92L3cySVQ4clMwZHhvNEtGNmhLQkwyYVlsWGhpRXlpL05tc0VQWld2VmgrcWszTC9RCi1HU3dwZ0MrRGhWb1F6RlJvZlVkSzlPOU1rZ1I2NzVpZnRhRkR2eWk3RjBmeHJTTGZCL1d5NGNnUll6SVc2cHlOCi0yc1hXaXZLZExJM2JnQjAxZmZkYk8xN1pBR0lMSzF3aE8yOS9iWDZoYkgwOVkvSDdqUjJ2ankrS1A5TjBQRWEzCi03U0J5bWxva0IzQTh3cS9MV1BZUGVRSURBUUFCbzFBd1RqQU1CZ05WSFJNRUJUQURBUUVCTUIwR0ExVWREZ1FXCi1CQlNPQmQxZkgwMFk5cjVTOGNFTGovOUlUNEJHbERBZkJnTlZIU01FR0RBV2dCU09CZDFmSDAwWTlyNVM4Y0VMCi1qLzlJVDRCR2xEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFXaHJIR0lNY0VHMlVKZnY5MjBoZnR4aStKdmovCi1pdnJoRXNjcWxWQTBRTkxxWlY4di9haS9BaXlwRExrN3V3S3RzeEYyaStzbDgxNDczYVNGUzloaDNGODMvb2ZtCi14OEVVOFgxRkJRSE4xenlBRXBaeVBYcjdNaWFUWG40dzVzQ2VaTG1wV3l4R2srY1JpUFZSRTBRVWJYREdmVlJwCi0zdjk4NG9DVU1VemJiK3p2NlFsa0hhNm0va1pxMHFybk5WVnAwWDRjNy9QYjVlbEpPVmxLbklzbE5nZC9lTHJ6Ci16U2FiVG9BWDlPUDZ0YkpkU1JreS9MbUlZVytDWEgvWTRZVndwRXU3TmlzWm1EbzZsbkNCb1JRQjNRZ3hvTUxwCi1tTStSVVkrQXlIcjBac1NVU2I2aWljSk1SWjNtaHhDTHZuSy9Ob2UvM2hxNHBVazRTaXQ3czdKTDdBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NDIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ0Mi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwNzEzMTguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ0Mi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURDakNDQWZLZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFXTVJRd0VnWURWUVFERXd0VVpYTjAKLUlISnZiM1FnTkRBZUZ3MHdNVEF4TURFd01EQXdNREJhRncwek1ERXlNekV5TXpVNU5UbGFNQ1l4SkRBaUJnTlYKLUJBTVRHMVJsYzNRZ2FXNTBaWEp0WldScFlYUmxJRzFoZUhCaGRHZ2dNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUIKLUJRQURnZ0VQQURDQ0FRb0NnZ0VCQU5wR2xCTVhkbzhjTzlvcVV3L2I2UE13aU1OVjhMQ2U2d0I5VktIUGE2T0cKLVEwbzhYcWt0Z3duaDFyb2pncE1oYkNBcEU3VVhlTXI2WkdxL050cW1PMWhPNWFkVjVKZWhXWnl2ZzdqNEVCcEcKLWc4aVdvMGpOcEtNSjBZeDF1QmtrbGpFZFpMVEhhNGJLL3p5Mk5LcUROUzJ5V3M5L001K3h3NVhFMmVjQWc3RlQKLWNYaGYzcTUwVitNNlQySWFROUJ4bnRUeUNUOElJRjJlUk0vdDlZOTQ0czlSZnptL0tRVktSWVB1ZFg3WWhUdDkKLWlxQ0pCNEpvcVloczNIRU8wd1BrSnhZNEtCVFVDTjk0cys3alVGZFJyWXhlKzhZYTZ0SVlXcUQzOGk1cWRHaFkKLXhyVmV5MUxhdHNESlEyRWdOWW9iTS9Mam9DTEsxV1Vzc0VxZjBPVTJiaTBDQXdFQUFhTlRNRkV3RHdZRFZSMFQKLUJBZ3dCZ0VCQVFJQkFUQWRCZ05WSFE0RUZnUVVPQmw4ZWRWbS9INXhkUzJFR0VlTHpmdFovRFV3SHdZRFZSMGoKLUJCZ3dGb0FVamdYZFh4OU5HUGErVXZIQkM0Ly9TRStBUnBRd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHS2gKLXBCaFlTR04wS0dXSUc0R0c0bVZvVGl3ODgwZWhldER1VHBsM3ltWk5xa29VdVRhQXRVM1BKV09jdGNKdmE3aDYKLTRQU2d5YWJpL1dRbWhudFIxR3hDVXQwR1R1aEhteUpZc1N3YWtYVWdNZ0Y2VzZUS2N4ZzZtNHZqTWtrcmYrWlQKLTFsTy9NaXd4aFRUbHVIUEdrbC9uQkcrdXh5U0ludVFNRHZkeVFEWHAyZTE3cXhvcHMrRysxVW5SSmlucUx0c2QKLUxNa0NPVDRweWg2QjV5c25KOGdQMVoyRUtXamhLSmNJSFJNVW03QXAvcGY4WmdoNUxJcWRSdERTdU51VG1QTFAKLWxrZ29lYk9DTzNjL21XQ2NpUjB4R0Njejg2RzNmWXpudkdwNFhxSG5Sa2czU3BBY0hRYlEvblNIQSsxTGRmRmkKLW5xWlFQbkpQVnNKY3REUjkzNWM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDQzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NDMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTVkMTkyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NDMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlERnpDQ0FmK2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBbU1TUXdJZ1lEVlFRREV4dFVaWE4wCi1JR2x1ZEdWeWJXVmthV0YwWlNCdFlYaHdZWFJvSURFd0hoY05NREV3TVRBeE1EQXdNREF3V2hjTk16QXhNak14Ci1Nak0xT1RVNVdqQW1NU1F3SWdZRFZRUURFeHRVWlhOMElHbHVkR1Z5YldWa2FXRjBaU0J0WVhod1lYUm9JREl3Ci1nZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDS0FhQWNZMVkyUVJaWVdmdDVwVGlRCi1MWmFOSGRHMXdHeWhiVXlWQ2QxUy9CWlFlQnh0OGlEdWVIcm82THBlWGNpb0F5TWVQVW5RUThaekJOK1l0MXBHCi04M2Z3cU5NeUhmOFdJV3V0UXZRdzJDSWJHT1JPMkZhQ3g5WGdMK0xlOUVOTUpiN1pRd1YxM3I3UHVIQVYvNlYxCi1Pd0kvMUNuNzNjWjJ1eVd1OEJIWmJTcU1jdFFzQWthVC9wYlBFVWJyRjRLQjJHU2lnTSttdXgrVmtuOXczVks2Ci1wTmc1cFV3Q1AwbHFpOUsxUk5XRVh5aTROUXVtclIrSUVpYWlWMDV0d1oxb0JhV0JHWFNUdzEyaEl1bFozL3Y2Ci1HTGl3Zms5STVtcjd5RFdWRGR5Q3NUdTFyaGZlbitMcDRDbHlmV0hJU1JQTDFta280VzlsZWN6Z1BXUHo0cElwCi1BZ01CQUFHalVEQk9NQXdHQTFVZEV3UUZNQU1CQVFFd0hRWURWUjBPQkJZRUZNSTNhOE10alcxeDZkUFBKR2FWCi1MaE1GN2JHS01COEdBMVVkSXdRWU1CYUFGRGdaZkhuVlp2eCtjWFV0aEJoSGk4MzdXZncxTUEwR0NTcUdTSWIzCi1EUUVCQ3dVQUE0SUJBUUNwcnpwb2o2VWFFRzRlcUxnMkwzSHFzdlk3My9YRTh5dHVaOXdEQzNIb2RubXBlelVYCi00OFh3SlBIRk83T0dQR1daZ3NVMnFYL1pwN3lVWGtWRlNLNFZubW5TelV0WE5WbFUwb1dFRU96UUxycHBoa3NICi1kY0Y4WU5OL1k2NUtuaHpJVTc4NHVIZUZlZlVwUGFFNnlTNU9TWmJvcHRaV1ZGOXkxTG9VM0Y3Z04wVUd2Vkc5Ci1oZmx6NU8wL0t2bVlkKzYrWXJqZSsybGJIaUpITlhMbU9QaVp5azlUQkRrbnlnQnVVMTRJT1dnaFFpbTN5a3M5Ci10S2s4RDM4Vmw4NVY1YUc5bk80U1RqeDVKOEJ0U2wweDZ3VzN0OVd3VTVVQzlnZUNST2haSTFYUkJhZklvS2tuCi1WU2dITHBMVEFSdExpa2JiZy8zU3hwblcxMm1zSHZnTFZhc2YKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NDQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ0NC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4NGZiMmQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ0NC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURGekNDQWYrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFtTVNRd0lnWURWUVFERXh0VVpYTjAKLUlHbHVkR1Z5YldWa2FXRjBaU0J0WVhod1lYUm9JREl3SGhjTk1ERXdNVEF4TURBd01EQXdXaGNOTXpBeE1qTXgKLU1qTTFPVFU1V2pBbU1TUXdJZ1lEVlFRREV4dFVaWE4wSUdsdWRHVnliV1ZrYVdGMFpTQnRZWGh3WVhSb0lETXcKLWdnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNSS3VCWVVQaVZoRFJFWC9QZVlsbU8KLWZXV0EwR1NHY0kvU0Z5SW0vOTYyZ3czZHNJSDY1engralRERU5EWmx4dk5NQkRTb0UyZU1tOEFuV3F5VmtEMXUKLWdnRXFaUHdsS0xHS0wvVmRNTllqY1RsbzY5ZldIcVZicnFsV3dqTXViUTBCL1JVbWZiRXZEUmkveUY4cHZDTncKLTE0Qitic1lMQWtIeXlTTjZRd29uejU3cWsvaGtmR2F1YzZqU1JTVUtEekR4RXJObnF4Z25GZlVSTjZSWThSUkoKLWV1eHhEOWhLT2s3T01zT21IV1U3aUJVU3NHRjBtQW1rbk9lcVN0RUdKSHQvK0VpdWtCWGZBNVJ1MSt2R3NodmsKLVZjNHoydTMreTlaRkd2TWhRYWNHK2pUaFpuNHBBYyt3eWY3M0h5TDcrMjU0NkRVb3QrelhTRmJSRmF4TkNPWTUKLUFnTUJBQUdqVURCT01Bd0dBMVVkRXdRRk1BTUJBUUV3SFFZRFZSME9CQllFRkk0R3ZWVGlIazlqSTZvWjcrQW0KLURCYVRzVjk3TUI4R0ExVWRJd1FZTUJhQUZNSTNhOE10alcxeDZkUFBKR2FWTGhNRjdiR0tNQTBHQ1NxR1NJYjMKLURRRUJDd1VBQTRJQkFRQ0IzZHRzb1Zkc2NoVnlDV1NJMTZTZTQ2UlpKdExXMWJNMDE5S2R5Wmo5RGRJWjJWUG0KLUlwK0JRRmNWSnl6YmZtaG41UUJiaE5ES2t3c2ZsZEk5WThJcVoxMzJqNDQyL1hJRlpJaWxhUGkzY0UvV0xGVVkKLU54dTJvcHVOMytLRHdEWU8zMkNVcDNmcnI5T2pBdEI1YW1abmtYYXUrQzFFa0psU3VXYVQrL2dJbFl3bHI0L0gKLXVBRGN5cUZTbXkyOFA5am1rSzhBelpIaEtubFJhZEFuMmNEQjhNRlhENVZ4bkxKZmVqa3ByUVZMZHhUWFJvdlAKLWNFLzZjN1BVR0lLMjJXY1NYOEtUZnV2aUttamRHVmhnZUtwczJuUk5LYVNJbHFZQ3p0eWM4SWpjWndKQ25oNmMKLVpXOFY5Ymk3V3hESytJOVBQZ3JnTEs4VytWVGtTMFJ0alA1YQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ0NS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDQ1LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTVkNWIzZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDQ1LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJREREQ0NBZlNnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQW1NU1F3SWdZRFZRUURFeHRVWlhOMAotSUdsdWRHVnliV1ZrYVdGMFpTQnRZWGh3WVhSb0lETXdIaGNOTURFd01UQXhNREF3TURBd1doY05NekF4TWpNeAotTWpNMU9UVTVXakFlTVJ3d0dnWURWUVFERXhOVVpYTjBJR3hsWVdZZ2FXNTJZV3hwWkNBME1JSUJJakFOQmdrcQotaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFrY05zRS9zNG5hdUE1dlNHLzIzem5IVDVaakZBUWlSYQotODN4bzgzTUQyak1yQmpnQkJ6T1cwSUtlZGs5bG1xY1Jtb01zV3QzUGJZZUgyQW0rRXF0T2poOXZiSHcvd1hFdwotZVhnN0R0WmFZVGplUk5rcndaMHo1QnovVFR2aWE3WWtjZmFVODNPRzRKeUw4R21tYnRpR05PSFp5SHFUdjJLeQotajZZcXlCSmFERTdkd0JOQkpkNURFbEV1dnI2VHUvWTNLM1o2ejhiWlVBWC81b0lJMnNxOHJnNzZaUStEZms4aQotdXBqcDRNVlB2b3doLyt5cytXTk1XNU1BNWsxZHdZeVUxTVoyME8vYWE5VlRNa2I0RFB5djRwWFpnaTFkQkNNYwotWXNrUFJWb1BQc0U1eGwzRFozaDRxWjAzOU1iY2FsWEZZZTY1Njg5K1JhMU80L2RzWFI1cmFRSURBUUFCbzAwdwotU3pBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCVEt0WGRRWkE4Y1prUy84OWVpaWg0R1RKWCtmREFmQmdOVgotSFNNRUdEQVdnQlNPQnIxVTRoNVBZeU9xR2UvZ0pnd1drN0ZmZXpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQQotSVd5bnlvOGV6dCtTbyt3MjloN3oyWlMzL0VjckVyblNpRERKMERhRS92Y3ZmbHJUL3RFUGVESFR4eTYxcVF1WAotS29zZU84NGZvRnFMUHUxWXFnU2pSZ21iazc2Z3Q4YUF1MGxyNi90MFJIV2RIS1pHM1F0Szg2OTZwR29NQWhWZwotSGEzZi9ZWWFFa3FTbkh3VSsvdnhFWEVrR0hNMjJVSHdiN2R0SDJMZkJIdG9RdGpFNk0rVWx2NlFka0xqMkxGRAotWE1LSkl5QWxpYlRSTVc4WU9QNEcvRGVrQ3ExRHN0VU9jVG43QkZxZUFqanpZd3YzTkhwT0pIZFpyVWd5R2I3QgotUXFEWGYyck0zczdMRXB3RE12ZmRyYUFFV2xkNC9MUkxrZmF1L1BmS0Q1WXdHWWczTmI0NXh5WEZTRWlqVmpBcgotMjNHOEhBSWNKSnUyalVJV0dyOU90UT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDUxLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NTEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDY1Yzk0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NTEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDOXpDQ0FkK2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBV01SUXdFZ1lEVlFRREV3dFVaWE4wCi1JSEp2YjNRZ05EQWVGdzB3TVRBeE1ERXdNREF3TURCYUZ3MHpNREV5TXpFeU16VTVOVGxhTUJZeEZEQVNCZ05WCi1CQU1UQzFSbGMzUWdjbTl2ZENBME1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCi1tVFgyc0hZNDJPcmQ5Z1d5QjZHY2RsTGpqRSs0ekJKMUJvRHBNbnZKODluaU1UdVpUcTFWaU1wL0I2UnVUSCsyCi1ZRjMrcmlaWVFESDl5TS84cmd2QVVJdks5U1RhcTE5WnJtMG1uZlFVbzl5S2RrZm9KK1h2V3V2SzZmK05rQU1nCi14ZmhBRDZlU3VwaWdUdm92L3cySVQ4clMwZHhvNEtGNmhLQkwyYVlsWGhpRXlpL05tc0VQWld2VmgrcWszTC9RCi1HU3dwZ0MrRGhWb1F6RlJvZlVkSzlPOU1rZ1I2NzVpZnRhRkR2eWk3RjBmeHJTTGZCL1d5NGNnUll6SVc2cHlOCi0yc1hXaXZLZExJM2JnQjAxZmZkYk8xN1pBR0lMSzF3aE8yOS9iWDZoYkgwOVkvSDdqUjJ2ankrS1A5TjBQRWEzCi03U0J5bWxva0IzQTh3cS9MV1BZUGVRSURBUUFCbzFBd1RqQU1CZ05WSFJNRUJUQURBUUVCTUIwR0ExVWREZ1FXCi1CQlNPQmQxZkgwMFk5cjVTOGNFTGovOUlUNEJHbERBZkJnTlZIU01FR0RBV2dCU09CZDFmSDAwWTlyNVM4Y0VMCi1qLzlJVDRCR2xEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFXaHJIR0lNY0VHMlVKZnY5MjBoZnR4aStKdmovCi1pdnJoRXNjcWxWQTBRTkxxWlY4di9haS9BaXlwRExrN3V3S3RzeEYyaStzbDgxNDczYVNGUzloaDNGODMvb2ZtCi14OEVVOFgxRkJRSE4xenlBRXBaeVBYcjdNaWFUWG40dzVzQ2VaTG1wV3l4R2srY1JpUFZSRTBRVWJYREdmVlJwCi0zdjk4NG9DVU1VemJiK3p2NlFsa0hhNm0va1pxMHFybk5WVnAwWDRjNy9QYjVlbEpPVmxLbklzbE5nZC9lTHJ6Ci16U2FiVG9BWDlPUDZ0YkpkU1JreS9MbUlZVytDWEgvWTRZVndwRXU3TmlzWm1EbzZsbkNCb1JRQjNRZ3hvTUxwCi1tTStSVVkrQXlIcjBac1NVU2I2aWljSk1SWjNtaHhDTHZuSy9Ob2UvM2hxNHBVazRTaXQ3czdKTDdBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ1Mi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwNzEzMTguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ1Mi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURDakNDQWZLZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFXTVJRd0VnWURWUVFERXd0VVpYTjAKLUlISnZiM1FnTkRBZUZ3MHdNVEF4TURFd01EQXdNREJhRncwek1ERXlNekV5TXpVNU5UbGFNQ1l4SkRBaUJnTlYKLUJBTVRHMVJsYzNRZ2FXNTBaWEp0WldScFlYUmxJRzFoZUhCaGRHZ2dNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUIKLUJRQURnZ0VQQURDQ0FRb0NnZ0VCQU5wR2xCTVhkbzhjTzlvcVV3L2I2UE13aU1OVjhMQ2U2d0I5VktIUGE2T0cKLVEwbzhYcWt0Z3duaDFyb2pncE1oYkNBcEU3VVhlTXI2WkdxL050cW1PMWhPNWFkVjVKZWhXWnl2ZzdqNEVCcEcKLWc4aVdvMGpOcEtNSjBZeDF1QmtrbGpFZFpMVEhhNGJLL3p5Mk5LcUROUzJ5V3M5L001K3h3NVhFMmVjQWc3RlQKLWNYaGYzcTUwVitNNlQySWFROUJ4bnRUeUNUOElJRjJlUk0vdDlZOTQ0czlSZnptL0tRVktSWVB1ZFg3WWhUdDkKLWlxQ0pCNEpvcVloczNIRU8wd1BrSnhZNEtCVFVDTjk0cys3alVGZFJyWXhlKzhZYTZ0SVlXcUQzOGk1cWRHaFkKLXhyVmV5MUxhdHNESlEyRWdOWW9iTS9Mam9DTEsxV1Vzc0VxZjBPVTJiaTBDQXdFQUFhTlRNRkV3RHdZRFZSMFQKLUJBZ3dCZ0VCQVFJQkFUQWRCZ05WSFE0RUZnUVVPQmw4ZWRWbS9INXhkUzJFR0VlTHpmdFovRFV3SHdZRFZSMGoKLUJCZ3dGb0FVamdYZFh4OU5HUGErVXZIQkM0Ly9TRStBUnBRd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHS2gKLXBCaFlTR04wS0dXSUc0R0c0bVZvVGl3ODgwZWhldER1VHBsM3ltWk5xa29VdVRhQXRVM1BKV09jdGNKdmE3aDYKLTRQU2d5YWJpL1dRbWhudFIxR3hDVXQwR1R1aEhteUpZc1N3YWtYVWdNZ0Y2VzZUS2N4ZzZtNHZqTWtrcmYrWlQKLTFsTy9NaXd4aFRUbHVIUEdrbC9uQkcrdXh5U0ludVFNRHZkeVFEWHAyZTE3cXhvcHMrRysxVW5SSmlucUx0c2QKLUxNa0NPVDRweWg2QjV5c25KOGdQMVoyRUtXamhLSmNJSFJNVW03QXAvcGY4WmdoNUxJcWRSdERTdU51VG1QTFAKLWxrZ29lYk9DTzNjL21XQ2NpUjB4R0Njejg2RzNmWXpudkdwNFhxSG5Sa2czU3BBY0hRYlEvblNIQSsxTGRmRmkKLW5xWlFQbkpQVnNKY3REUjkzNWM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDUzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NTMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTVkMTkyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NTMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlERnpDQ0FmK2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBbU1TUXdJZ1lEVlFRREV4dFVaWE4wCi1JR2x1ZEdWeWJXVmthV0YwWlNCdFlYaHdZWFJvSURFd0hoY05NREV3TVRBeE1EQXdNREF3V2hjTk16QXhNak14Ci1Nak0xT1RVNVdqQW1NU1F3SWdZRFZRUURFeHRVWlhOMElHbHVkR1Z5YldWa2FXRjBaU0J0WVhod1lYUm9JREl3Ci1nZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDS0FhQWNZMVkyUVJaWVdmdDVwVGlRCi1MWmFOSGRHMXdHeWhiVXlWQ2QxUy9CWlFlQnh0OGlEdWVIcm82THBlWGNpb0F5TWVQVW5RUThaekJOK1l0MXBHCi04M2Z3cU5NeUhmOFdJV3V0UXZRdzJDSWJHT1JPMkZhQ3g5WGdMK0xlOUVOTUpiN1pRd1YxM3I3UHVIQVYvNlYxCi1Pd0kvMUNuNzNjWjJ1eVd1OEJIWmJTcU1jdFFzQWthVC9wYlBFVWJyRjRLQjJHU2lnTSttdXgrVmtuOXczVks2Ci1wTmc1cFV3Q1AwbHFpOUsxUk5XRVh5aTROUXVtclIrSUVpYWlWMDV0d1oxb0JhV0JHWFNUdzEyaEl1bFozL3Y2Ci1HTGl3Zms5STVtcjd5RFdWRGR5Q3NUdTFyaGZlbitMcDRDbHlmV0hJU1JQTDFta280VzlsZWN6Z1BXUHo0cElwCi1BZ01CQUFHalVEQk9NQXdHQTFVZEV3UUZNQU1CQVFFd0hRWURWUjBPQkJZRUZNSTNhOE10alcxeDZkUFBKR2FWCi1MaE1GN2JHS01COEdBMVVkSXdRWU1CYUFGRGdaZkhuVlp2eCtjWFV0aEJoSGk4MzdXZncxTUEwR0NTcUdTSWIzCi1EUUVCQ3dVQUE0SUJBUUNwcnpwb2o2VWFFRzRlcUxnMkwzSHFzdlk3My9YRTh5dHVaOXdEQzNIb2RubXBlelVYCi00OFh3SlBIRk83T0dQR1daZ3NVMnFYL1pwN3lVWGtWRlNLNFZubW5TelV0WE5WbFUwb1dFRU96UUxycHBoa3NICi1kY0Y4WU5OL1k2NUtuaHpJVTc4NHVIZUZlZlVwUGFFNnlTNU9TWmJvcHRaV1ZGOXkxTG9VM0Y3Z04wVUd2Vkc5Ci1oZmx6NU8wL0t2bVlkKzYrWXJqZSsybGJIaUpITlhMbU9QaVp5azlUQkRrbnlnQnVVMTRJT1dnaFFpbTN5a3M5Ci10S2s4RDM4Vmw4NVY1YUc5bk80U1RqeDVKOEJ0U2wweDZ3VzN0OVd3VTVVQzlnZUNST2haSTFYUkJhZklvS2tuCi1WU2dITHBMVEFSdExpa2JiZy8zU3hwblcxMm1zSHZnTFZhc2YKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NTQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ1NC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0MmUxNGYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ1NC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURDakNDQWZLZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFtTVNRd0lnWURWUVFERXh0VVpYTjAKLUlHbHVkR1Z5YldWa2FXRjBaU0J0WVhod1lYUm9JREl3SGhjTk1ERXdNVEF4TURBd01EQXdXaGNOTXpBeE1qTXgKLU1qTTFPVFU1V2pBY01Sb3dHQVlEVlFRREV4RlVaWE4wSUV4bFlXWWdOQ0IyWVd4cFpEQ0NBU0l3RFFZSktvWkkKLWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSkVxNEZoUStKV0VORVJmODk1aVdZNTlaWURRWklad2o5SVgKLUlpYi8zcmFERGQyd2dmcm5QSDZOTU1RME5tWEc4MHdFTktnVFo0eWJ3Q2RhckpXUVBXNkNBU3BrL0NVb3NZb3YKLTlWMHcxaU54T1dqcjE5WWVwVnV1cVZiQ015NXREUUg5RlNaOXNTOE5HTC9JWHltOEkzRFhnSDV1eGdzQ1FmTEoKLUkzcERDaWZQbnVxVCtHUjhacTV6cU5KRkpRb1BNUEVTczJlckdDY1Y5UkUzcEZqeEZFbDY3SEVQMkVvNlRzNHkKLXc2WWRaVHVJRlJLd1lYU1lDYVNjNTZwSzBRWWtlMy80U0s2UUZkOERsRzdYNjhheUcrUlZ6alBhN2Y3TDFrVWEKLTh5RkJwd2I2Tk9GbWZpa0J6N0RKL3ZjZkl2djdibmpvTlNpMzdOZElWdEVWckUwSTVqa0NBd0VBQWFOTk1Fc3cKLUNRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVqZ2E5Vk9JZVQyTWpxaG52NENZTUZwT3hYM3N3SHdZRFZSMGoKLUJCZ3dGb0FVd2pkcnd5Mk5iWEhwMDg4a1pwVXVFd1h0c1lvd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFEZHAKLVZwUHI0QXpFN2VjcmhjbFFLR2pQYTdsZWFvcll1ZXZqVExXc2llWTE3bVZRaGxNWDFpdFROWGxQQlVmUEFzT2QKLU83TFVnWTB5Wk9uVjdsOFRiZkdhbDhwSUYrYWNnRkxncU01QTZ6OG5nQ2hNaTZpS0VaQ2hEVmZmQVZISnMzZS8KLVdVbTdWZUZZOE12d25heTNpSGoydHJDN1hRWDJTWkNvdlhZZk5QM2JWeXFJYUROcXQ2U1BZMXNrb3VXcG1tVW4KLUlTemN5SDZFVS9DZWdGakhKeVh4cnNJVzlOdjJtRGVqcm1jUjBFSk9tRUFmV1Vnb25mZW1lWDkzeGt3WkhXMnMKLWxaOC9lNnJUUFBTR2RoWS9iNFZSdTZvMUZwTGNQTEdaU2dQd1lCTlZZdGdUNFdzb1QweFV2bTZZMVdpcGlaZGEKLUIvYnBpTDhsNEdTVnRUdzFKa289Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDYxLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzJhZjRjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDK2pDQ0FlS2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBV01SUXdFZ1lEVlFRREV3dFVaWE4wCi1JSEp2YjNRZ01qQWVGdzB3TVRBeE1ERXdNREF3TURCYUZ3MHpNREV5TXpFeU16VTVOVGxhTUJZeEZEQVNCZ05WCi1CQU1UQzFSbGMzUWdjbTl2ZENBeU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCi1tVFgyc0hZNDJPcmQ5Z1d5QjZHY2RsTGpqRSs0ekJKMUJvRHBNbnZKODluaU1UdVpUcTFWaU1wL0I2UnVUSCsyCi1ZRjMrcmlaWVFESDl5TS84cmd2QVVJdks5U1RhcTE5WnJtMG1uZlFVbzl5S2RrZm9KK1h2V3V2SzZmK05rQU1nCi14ZmhBRDZlU3VwaWdUdm92L3cySVQ4clMwZHhvNEtGNmhLQkwyYVlsWGhpRXlpL05tc0VQWld2VmgrcWszTC9RCi1HU3dwZ0MrRGhWb1F6RlJvZlVkSzlPOU1rZ1I2NzVpZnRhRkR2eWk3RjBmeHJTTGZCL1d5NGNnUll6SVc2cHlOCi0yc1hXaXZLZExJM2JnQjAxZmZkYk8xN1pBR0lMSzF3aE8yOS9iWDZoYkgwOVkvSDdqUjJ2ankrS1A5TjBQRWEzCi03U0J5bWxva0IzQTh3cS9MV1BZUGVRSURBUUFCbzFNd1VUQVBCZ05WSFJNRUNEQUdBUUVCQWdFQk1CMEdBMVVkCi1EZ1FXQkJTT0JkMWZIMDBZOXI1UzhjRUxqLzlJVDRCR2xEQWZCZ05WSFNNRUdEQVdnQlNPQmQxZkgwMFk5cjVTCi04Y0VMai85SVQ0QkdsREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBQjluTGFxeHNCVzBpc0RhQkdOSnl6SDlPCi1XcVlZMGhleDl0bTNVcXlnZkU5YjlhYWh5a3Brb3dRSXpoNEQ5WHBiZDBoWkdWbEsvc3cycXNLajZnRE9pTXRMCi11V3M0Z2FGTldJUXFoVnNUekw4OGM3WGFXNTVuK1RSUWRWWnl5MzhEWlZXcGh0ZTFNdW1jOVdCOE4xNXJaVERoCi1pWGp3R2wwbXJWMWVncTRoSlpMcHkxNGY2aWhxVTdLR2ZtYzlvbnh2Z3ZXeFlMaSs1djg4NzRjNG9waFNLc0kyCi1xVkU4aVo2dXEyb1E2NlBkNVM1MGNZazZNRVc1bGlmQWhMTTVXRlptVzdkUktteWtCR1o5ckZySnJJdmhrbWg5Ci1IZTdxNlRFUVAxV2NvYzE0N25JZzBCVGtIR3RkckV2M2pJWDZVS0tVRXdVVWs5QVJCMW1Tb2RaUUhCaHV3dz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDYyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjIuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGNkNjVkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEQnpDQ0FlK2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBV01SUXdFZ1lEVlFRREV3dFVaWE4wCi1JSEp2YjNRZ01qQWVGdzB3TVRBeE1ERXdNREF3TURCYUZ3MHpNREV5TXpFeU16VTVOVGxhTUNZeEpEQWlCZ05WCi1CQU1URzFSbGMzUWdhVzUwWlhKdFpXUnBZWFJsSUcxaGVIQmhkR2dnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCCi1CUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFOcEdsQk1YZG84Y085b3FVdy9iNlBNd2lNTlY4TENlNndCOVZLSFBhNk9HCi1RMG84WHFrdGd3bmgxcm9qZ3BNaGJDQXBFN1VYZU1yNlpHcS9OdHFtTzFoTzVhZFY1SmVoV1p5dmc3ajRFQnBHCi1nOGlXbzBqTnBLTUowWXgxdUJra2xqRWRaTFRIYTRiSy96eTJOS3FETlMyeVdzOS9NNSt4dzVYRTJlY0FnN0ZUCi1jWGhmM3E1MFYrTTZUMklhUTlCeG50VHlDVDhJSUYyZVJNL3Q5WTk0NHM5UmZ6bS9LUVZLUllQdWRYN1loVHQ5Ci1pcUNKQjRKb3FZaHMzSEVPMHdQa0p4WTRLQlRVQ045NHMrN2pVRmRScll4ZSs4WWE2dElZV3FEMzhpNXFkR2hZCi14clZleTFMYXRzREpRMkVnTllvYk0vTGpvQ0xLMVdVc3NFcWYwT1UyYmkwQ0F3RUFBYU5RTUU0d0RBWURWUjBUCi1CQVV3QXdFQkFUQWRCZ05WSFE0RUZnUVVPQmw4ZWRWbS9INXhkUzJFR0VlTHpmdFovRFV3SHdZRFZSMGpCQmd3Ci1Gb0FVamdYZFh4OU5HUGErVXZIQkM0Ly9TRStBUnBRd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFGd1pyaVR1Ci1ES2tpREhGZnozVVg0Zkl4WVRIQ2k0VHZlWVpHUGVUYnhoQmIzWFpDNXFERjRUNUh2Q1RTa0c5K29GZlp6STFhCi1sUE4yeVpCN1FubUhKb3lXYTVmdW92d1VMMGlJM2lJWk1xVTU2dGRWUFc4Z2tKZSsrVTVrSE1TcHoyVkYwZW84Ci03WGtLV3hab3ZSd2N6Z2ZERlJQOXpNOUN5bHl6UWpxeHg2a2J4Sm96V253YzVVclZiSk1hUElxb25YcDFuRG9aCi1pODc4K2hYNHJKVUVqZ082U2E5R1ZaUXBtdUNyUUYwcUtzVGlVQnpaTjY3aG9EM3hvVEFZaTVJWFFFMnRSRDFOCi1qM3p3bmc5bGlDc3h1ckdNbnVWMEJQV3YvSURZUnUvc3lqZWUxUXYxVkZlUnRvNUQ0UmxkbWkycDFmNWlXSkNrCi01bTVZcFJza25hSUNqWXM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDYzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmE5MGU0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEQ2pDQ0FmS2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBbU1TUXdJZ1lEVlFRREV4dFVaWE4wCi1JR2x1ZEdWeWJXVmthV0YwWlNCdFlYaHdZWFJvSURFd0hoY05NREV3TVRBeE1EQXdNREF3V2hjTk16QXhNak14Ci1Nak0xT1RVNVdqQWNNUm93R0FZRFZRUURFeEZVWlhOMElFeGxZV1lnZG1Gc2FXUWdNakNDQVNJd0RRWUpLb1pJCi1odmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUlvQm9CeGpWalpCRmxoWiszbWxPSkF0bG8wZDBiWEFiS0Z0Ci1USlVKM1ZMOEZsQjRIRzN5SU81NGV1am91bDVkeUtnREl4NDlTZEJEeG5NRTM1aTNXa2J6ZC9DbzB6SWQveFloCi1hNjFDOUREWUloc1k1RTdZVm9MSDFlQXY0dDcwUTB3bHZ0bERCWFhldnMrNGNCWC9wWFU3QWovVUtmdmR4bmE3Ci1KYTd3RWRsdEtveHkxQ3dDUnBQK2xzOFJSdXNYZ29IWVpLS0F6NmE3SDVXU2YzRGRVcnFrMkRtbFRBSS9TV3FMCi0wclZFMVlSZktMZzFDNmF0SDRnU0pxSlhUbTNCbldnRnBZRVpkSlBEWGFFaTZWbmYrL29ZdUxCK1Qwam1hdnZJCi1OWlVOM0lLeE83V3VGOTZmNHVuZ0tYSjlZY2hKRTh2V2FTamhiMlY1ek9BOVkvUGlraWtDQXdFQUFhTk5NRXN3Ci1DUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVd2pkcnd5Mk5iWEhwMDg4a1pwVXVFd1h0c1lvd0h3WURWUjBqCi1CQmd3Rm9BVU9CbDhlZFZtL0g1eGRTMkVHRWVMemZ0Wi9EVXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQnJ0Ci0yZktPVXdBYjVFRkQvZWJYTU00UXpnNnNGWXBxL21jblBsbUdtcXdOem11bWxnWVVCUzE1bGlUbkE0bkJnUjA5Ci1iMnNlamx3bnpjbnJzRkIxOFlDbUUvVElQdWgzWE1KWG1VeGpjbkN5M3FQdVN3cHV3RzNiclVHUVBpSVpoUlp6Ci0xK2lTYzd1YmEvSkdhVHFMQkl0YVJQbEI2ZEQzanFZM1Vvd0ZhV3ZuWWlWbUNYZzE0N0VCQzVNbjJFRGl1a2cwCi14c3FNMDN5ZnBVa3A0L1c5K1dwSnVHTnloaWNTSmJOeGxoM3pFanJnV2VNdmhuRm1yVHI3c3M2UDJab0tHUzMvCi1RclpCTFV6a2syNWhDRjNkVE5mVERWU1FVdDByT05KdngzeW0rS3ArelFXYy9vSHNEczBTVHM1RGIySjBkR3A4Ci1WRXl4eWV2ZndpdkY0RVE3MEp3PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ3MS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDcxLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMyYWY0Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDcxLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQytqQ0NBZUtnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQVdNUlF3RWdZRFZRUURFd3RVWlhOMAotSUhKdmIzUWdNakFlRncwd01UQXhNREV3TURBd01EQmFGdzB6TURFeU16RXlNelU1TlRsYU1CWXhGREFTQmdOVgotQkFNVEMxUmxjM1FnY205dmRDQXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQQotbVRYMnNIWTQyT3JkOWdXeUI2R2NkbExqakUrNHpCSjFCb0RwTW52Sjg5bmlNVHVaVHExVmlNcC9CNlJ1VEgrMgotWUYzK3JpWllRREg5eU0vOHJndkFVSXZLOVNUYXExOVpybTBtbmZRVW85eUtka2ZvSitYdld1dks2ZitOa0FNZwoteGZoQUQ2ZVN1cGlnVHZvdi93MklUOHJTMGR4bzRLRjZoS0JMMmFZbFhoaUV5aS9ObXNFUFpXdlZoK3FrM0wvUQotR1N3cGdDK0RoVm9RekZSb2ZVZEs5TzlNa2dSNjc1aWZ0YUZEdnlpN0YwZnhyU0xmQi9XeTRjZ1JZeklXNnB5TgotMnNYV2l2S2RMSTNiZ0IwMWZmZGJPMTdaQUdJTEsxd2hPMjkvYlg2aGJIMDlZL0g3alIydmp5K0tQOU4wUEVhMwotN1NCeW1sb2tCM0E4d3EvTFdQWVBlUUlEQVFBQm8xTXdVVEFQQmdOVkhSTUVDREFHQVFFQkFnRUJNQjBHQTFVZAotRGdRV0JCU09CZDFmSDAwWTlyNVM4Y0VMai85SVQ0QkdsREFmQmdOVkhTTUVHREFXZ0JTT0JkMWZIMDBZOXI1UwotOGNFTGovOUlUNEJHbERBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUI5bkxhcXhzQlcwaXNEYUJHTkp5ekg5TwotV3FZWTBoZXg5dG0zVXF5Z2ZFOWI5YWFoeWtwa293UUl6aDREOVhwYmQwaFpHVmxLL3N3MnFzS2o2Z0RPaU10TAotdVdzNGdhRk5XSVFxaFZzVHpMODhjN1hhVzU1bitUUlFkVlp5eTM4RFpWV3BodGUxTXVtYzlXQjhOMTVyWlREaAotaVhqd0dsMG1yVjFlZ3E0aEpaTHB5MTRmNmlocVU3S0dmbWM5b254dmd2V3hZTGkrNXY4ODc0YzRvcGhTS3NJMgotcVZFOGlaNnVxMm9RNjZQZDVTNTBjWWs2TUVXNWxpZkFoTE01V0ZabVc3ZFJLbXlrQkdaOXJGckpySXZoa21oOQotSGU3cTZURVFQMVdjb2MxNDduSWcwQlRrSEd0ZHJFdjNqSVg2VUtLVUV3VVVrOUFSQjFtU29kWlFIQmh1d3c9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ3Mi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDcyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRjZDY1ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDcyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJREJ6Q0NBZStnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQVdNUlF3RWdZRFZRUURFd3RVWlhOMAotSUhKdmIzUWdNakFlRncwd01UQXhNREV3TURBd01EQmFGdzB6TURFeU16RXlNelU1TlRsYU1DWXhKREFpQmdOVgotQkFNVEcxUmxjM1FnYVc1MFpYSnRaV1JwWVhSbElHMWhlSEJoZEdnZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQgotQlFBRGdnRVBBRENDQVFvQ2dnRUJBTnBHbEJNWGRvOGNPOW9xVXcvYjZQTXdpTU5WOExDZTZ3QjlWS0hQYTZPRwotUTBvOFhxa3Rnd25oMXJvamdwTWhiQ0FwRTdVWGVNcjZaR3EvTnRxbU8xaE81YWRWNUplaFdaeXZnN2o0RUJwRwotZzhpV28wak5wS01KMFl4MXVCa2tsakVkWkxUSGE0YksvenkyTktxRE5TMnlXczkvTTUreHc1WEUyZWNBZzdGVAotY1hoZjNxNTBWK002VDJJYVE5QnhudFR5Q1Q4SUlGMmVSTS90OVk5NDRzOVJmem0vS1FWS1JZUHVkWDdZaFR0OQotaXFDSkI0Sm9xWWhzM0hFTzB3UGtKeFk0S0JUVUNOOTRzKzdqVUZkUnJZeGUrOFlhNnRJWVdxRDM4aTVxZEdoWQoteHJWZXkxTGF0c0RKUTJFZ05Zb2JNL0xqb0NMSzFXVXNzRXFmME9VMmJpMENBd0VBQWFOUU1FNHdEQVlEVlIwVAotQkFVd0F3RUJBVEFkQmdOVkhRNEVGZ1FVT0JsOGVkVm0vSDV4ZFMyRUdFZUx6ZnRaL0RVd0h3WURWUjBqQkJndwotRm9BVWpnWGRYeDlOR1BhK1V2SEJDNC8vU0UrQVJwUXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBRndacmlUdQotREtraURIRmZ6M1VYNGZJeFlUSENpNFR2ZVlaR1BlVGJ4aEJiM1haQzVxREY0VDVIdkNUU2tHOStvRmZaekkxYQotbFBOMnlaQjdRbm1ISm95V2E1ZnVvdndVTDBpSTNpSVpNcVU1NnRkVlBXOGdrSmUrK1U1a0hNU3B6MlZGMGVvOAotN1hrS1d4Wm92UndjemdmREZSUDl6TTlDeWx5elFqcXh4NmtieEpveldud2M1VXJWYkpNYVBJcW9uWHAxbkRvWgotaTg3OCtoWDRySlVFamdPNlNhOUdWWlFwbXVDclFGMHFLc1RpVUJ6Wk42N2hvRDN4b1RBWWk1SVhRRTJ0UkQxTgotajN6d25nOWxpQ3N4dXJHTW51VjBCUFd2L0lEWVJ1L3N5amVlMVF2MVZGZVJ0bzVENFJsZG1pMnAxZjVpV0pDawotNW01WXBSc2tuYUlDallzPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ3My5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDczLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjg1NGM3NC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDczLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJREZ6Q0NBZitnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQW1NU1F3SWdZRFZRUURFeHRVWlhOMAotSUdsdWRHVnliV1ZrYVdGMFpTQnRZWGh3WVhSb0lERXdIaGNOTURFd01UQXhNREF3TURBd1doY05NekF4TWpNeAotTWpNMU9UVTVXakFtTVNRd0lnWURWUVFERXh0VVpYTjBJR2x1ZEdWeWJXVmthV0YwWlNCdFlYaHdZWFJvSURFdwotZ2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRGFScFFURjNhUEhEdmFLbE1QMitqegotTUlqRFZmQ3dudXNBZlZTaHoydWpoa05LUEY2cExZTUo0ZGE2STRLVElXd2dLUk8xRjNqSyttUnF2emJhcGp0WQotVHVXblZlU1hvVm1jcjRPNCtCQWFSb1BJbHFOSXphU2pDZEdNZGJnWkpKWXhIV1MweDJ1R3l2ODh0alNxZ3pVdAotc2xyUGZ6T2ZzY09WeE5ubkFJT3hVM0Y0WDk2dWRGZmpPazlpR2tQUWNaN1U4Z2svQ0NCZG5rVFA3ZldQZU9MUAotVVg4NXZ5a0ZTa1dEN25WKzJJVTdmWXFnaVFlQ2FLbUliTnh4RHRNRDVDY1dPQ2dVMUFqZmVMUHU0MUJYVWEyTQotWHZ2R0d1clNHRnFnOS9JdWFuUm9XTWExWHN0UzJyYkF5VU5oSURXS0d6UHk0NkFpeXRWbExMQktuOURsTm00dAotQWdNQkFBR2pVREJPTUF3R0ExVWRFd1FGTUFNQkFRRXdIUVlEVlIwT0JCWUVGRGdaZkhuVlp2eCtjWFV0aEJoSAotaTgzN1dmdzFNQjhHQTFVZEl3UVlNQmFBRkRnWmZIblZadngrY1hVdGhCaEhpODM3V2Z3MU1BMEdDU3FHU0liMwotRFFFQkN3VUFBNElCQVFEUFFDOXZZSmVnQmdWWkh1MFN0b1JUN0w2U2hXY1pjNVovVGV5cnFKQmRvaWd1U1JxNQota01pRlhacGtzeGVGbElVWXJ5MjFNaWdZcXhPWEdaMkdaWU5xaExwWVZoN2h6QVk4dVl2ZjRVNzBxODh6ajdtdwotZ0ljZ0VhTWQ3MUdIcWJiMk81eDNmQ043dkxlVTVERllCV2ZxTGxrTDU3VXFyMmFSREhsdWNyeXlSTm9yZGljTgotV2JDeFBvem1xdGJOTUFCRVViakxNQ0N1ekplTlJTWmJTME9Pb2Q2WGQzTjAwRUs3UHFhUmhiaWhicTNMNmdVRwotTWpVSTJrZVN4VzR2WGNEZkk1SHFlbTZTSHBDYzNyZXR4MlZVZ3dJREFvVHJ3N0U0ZHdteUM0VHA3VERKTC8rZAotR1U4cWhSbW9RZXI3bUxVenBiM3M4bXEvNHJaeCthbFRRM2d1Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDc0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NzQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MjBjNGMyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NzQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEQ2pDQ0FmS2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBbU1TUXdJZ1lEVlFRREV4dFVaWE4wCi1JR2x1ZEdWeWJXVmthV0YwWlNCdFlYaHdZWFJvSURFd0hoY05NREV3TVRBeE1EQXdNREF3V2hjTk16QXhNak14Ci1Nak0xT1RVNVdqQWNNUm93R0FZRFZRUURFeEZVWlhOMElFeGxZV1lnZG1Gc2FXUWdNekNDQVNJd0RRWUpLb1pJCi1odmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUlvQm9CeGpWalpCRmxoWiszbWxPSkF0bG8wZDBiWEFiS0Z0Ci1USlVKM1ZMOEZsQjRIRzN5SU81NGV1am91bDVkeUtnREl4NDlTZEJEeG5NRTM1aTNXa2J6ZC9DbzB6SWQveFloCi1hNjFDOUREWUloc1k1RTdZVm9MSDFlQXY0dDcwUTB3bHZ0bERCWFhldnMrNGNCWC9wWFU3QWovVUtmdmR4bmE3Ci1KYTd3RWRsdEtveHkxQ3dDUnBQK2xzOFJSdXNYZ29IWVpLS0F6NmE3SDVXU2YzRGRVcnFrMkRtbFRBSS9TV3FMCi0wclZFMVlSZktMZzFDNmF0SDRnU0pxSlhUbTNCbldnRnBZRVpkSlBEWGFFaTZWbmYrL29ZdUxCK1Qwam1hdnZJCi1OWlVOM0lLeE83V3VGOTZmNHVuZ0tYSjlZY2hKRTh2V2FTamhiMlY1ek9BOVkvUGlraWtDQXdFQUFhTk5NRXN3Ci1DUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVd2pkcnd5Mk5iWEhwMDg4a1pwVXVFd1h0c1lvd0h3WURWUjBqCi1CQmd3Rm9BVU9CbDhlZFZtL0g1eGRTMkVHRWVMemZ0Wi9EVXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSzlSCi1KN0g4ZXBHMk5hZ1ozR3BsNlIxalNpSWl4V2xQSmNpMkJ6MU5yOE5JRVI2NFRKQ0tIZWg5a3U2dHpTZHJWTDNCCi0ycmo1R21wdWJEWEVXQUtmTXR0MGNjRjJVSXZhOXJETU56YUFuQ1NldldIWGY5SHR0cjg0WDZSbWh0WGI5L1JtCi1mcDNXK0wwR2xEZkhmSG44dW9WZFFlNWU2eGttR3h0Y0hEVXN5Ty9DSk1rcndVeW9COHpzN1V0bE50T2Y0NUg0Ci1QUGcwOWx6VjdSUTl2RklINDhGLzRnWlcrdzNBcU45Wnd2WWtHY0pVWTh0eUhwYjloRHJSNEY2bG9WSW5ybENFCi0wcFFpUVhOQ2RlZTF6YTlRc1NjU2pZTnhHZlIyRGt6b3RlNDFIMDk4anZMYWxMVFRnNUZxeC9BeWxuWDI4NUZJCi1FVEdPdW1OUTUxSUpMVXBxK2hjPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ4MS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDgxLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjZiMmJkNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDgxLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnBUQ0NBVW1nQXdJQkFnSUJVVEFNQmdncWhrak9QUVFEQWdVQU1ERXhEekFOQmdOVkJBTVRCbEp2YjNRZwotT0RFUk1BOEdBMVVFQ2hNSWJXSmxaQ0JVVEZNeEN6QUpCZ05WQkFZVEFsVkxNQjRYRFRBeE1ERXdNVEF3TURBdwotTUZvWERUTXdNVEl6TVRJek5UazFPVm93TVRFUE1BMEdBMVVFQXhNR1VtOXZkQ0E0TVJFd0R3WURWUVFLRXdodAotWW1Wa0lGUk1VekVMTUFrR0ExVUVCaE1DVlVzd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUMQotR3VUUTl2Z2YybDNvTE0yNXI3OGN2SUFRcUUwMkd6UUdqcC9XV3czQ3lzRXdUd05FdVpHaFJpRDVsRG1rYlVHVwotVU54di83dUpqeTdrM0szZkROZGtvMUF3VGpBTUJnTlZIUk1FQlRBREFRSC9NQjBHQTFVZERnUVdCQlRIRkEyaAotQXUwdFBuemVZbkxjbWxUUWo0RkFhakFmQmdOVkhTTUVHREFXZ0JUSEZBMmhBdTB0UG56ZVluTGNtbFRRajRGQQotYWpBTUJnZ3Foa2pPUFFRREFnVUFBMGdBTUVVQ0lIN1ovSE5iL1B3YnM0MGlObGwxYTlnbWdBYllPZ2RsVlBXbwotblNkY2I3Y1pBaUVBbGhWYjZDZEJYc2pPZkFXV0VFVC9RUDc0ejYwOFBLRmNjQ0lGUENETGt4bz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0ODIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ4Mi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0OWVjYzkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ4Mi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJxRENDQVV5Z0F3SUJBZ0lCVWpBTUJnZ3Foa2pPUFFRREFnVUFNREV4RHpBTkJnTlZCQU1UQmxKdmIzUWcKLU9ERVJNQThHQTFVRUNoTUliV0psWkNCVVRGTXhDekFKQmdOVkJBWVRBbFZMTUI0WERUQXhNREV3TVRBd01EQXcKLU1Gb1hEVE13TVRJek1USXpOVGsxT1Zvd01URVBNQTBHQTFVRUF4TUdTVzUwSURneU1SRXdEd1lEVlFRS0V3aHQKLVltVmtJRlJNVXpFTE1Ba0dBMVVFQmhNQ1ZVc3dXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUzIKLWdpWVF0NEhWZlEydDhlVFMwYnZJU3dwN29sMngxN3VtYmxsQnh3ekdERkVVUTAwSkwxL1NTdGV6ZWNLMGxOaEUKLTBBdlk4RXoyc29RRXRkU2VRR2tDbzFNd1VUQVBCZ05WSFJNRUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUzMKLStuc3YzblFrblNnNGFEamxUaVJwQ1BvN1h6QWZCZ05WSFNNRUdEQVdnQlRIRkEyaEF1MHRQbnplWW5MY21sVFEKLWo0RkFhakFNQmdncWhrak9QUVFEQWdVQUEwZ0FNRVVDSVFEdXMyTHZ4M3l5dmFWaVkxczMzNHVNbTZnZTQ4NFgKLW9rdE15eExWamtBTWlBSWdlaFRIaUpKYVQ5UG5sVmEraFVweHNJZlZBdU1leHJtNWZ3L2JERjVOeHp3PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ4My5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDgzLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFhNzQ4ZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDgzLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQm9EQ0NBVVdnQXdJQkFnSUJVekFNQmdncWhrak9QUVFEQWdVQU1ERXhEekFOQmdOVkJBTVRCa2x1ZENBNAotTWpFUk1BOEdBMVVFQ2hNSWJXSmxaQ0JVVEZNeEN6QUpCZ05WQkFZVEFsVkxNQjRYRFRBeE1ERXdNVEF3TURBdwotTUZvWERUTXdNVEl6TVRJek5UazFPVm93TURFT01Bd0dBMVVFQXhNRlJVVWdPRE14RVRBUEJnTlZCQW9UQ0cxaQotWldRZ1ZFeFRNUXN3Q1FZRFZRUUdFd0pWU3pCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQk1TeQotNlg1aUJZcmR4eE9NZmRjQTIzcExCb0pDZXlFamlXZkFMeFRtODBNSkdCZFJOVmRuVDUweE5VM1NERHdIV1BkYQotL0VRcUhxK2l0c3FrVWV5QUdBeWpUVEJMTUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZHc0ZIL0tzdk00bgotcitpMWdJMmlDVlhpM0t0Rk1COEdBMVVkSXdRWU1CYUFGTGY2ZXkvZWRDU2RLRGhvT09WT0pHa0kranRmTUF3RwotQ0NxR1NNNDlCQU1DQlFBRFJ3QXdSQUlnUVVSSDhESFdGSFZLMzgrem5XYzg1RzFQK2c0b2Nka0E1R3QwTGJPZwotU0pNQ0lCc2FjT0xGeXd4WllGOGF0aXp3NnpNUncrUWVIUjI1MTRKSWhKVWNrMmtkCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2RpcjQvY2VydDkxLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0OTEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDQ2MDVhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0OTEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCcVRDQ0FVeWdBd0lCQWdJQld6QU1CZ2dxaGtqT1BRUURBZ1VBTURFeER6QU5CZ05WQkFNVEJsSnZiM1FnCi1PVEVSTUE4R0ExVUVDaE1JYldKbFpDQlVURk14Q3pBSkJnTlZCQVlUQWxWTE1CNFhEVEF4TURFd01UQXdNREF3Ci1NRm9YRFRNd01USXpNVEl6TlRrMU9Wb3dNVEVQTUEwR0ExVUVBeE1HVW05dmRDQTVNUkV3RHdZRFZRUUtFd2h0Ci1ZbVZrSUZSTVV6RUxNQWtHQTFVRUJoTUNWVXN3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRoCi1EMlNtZFM2RDdjWWkydkdNeXVDZG9sL09PVU4yZGkycFMyd2ZTSS9Nc1kvWjRPOWlOSHFiWFFQNmwraGNUNWFwCi1kYXljczdyNlpQTnFtV003YjE2Z28xTXdVVEFQQmdOVkhSTUVDREFHQVFIL0FnRUFNQjBHQTFVZERnUVdCQlJiCi16VnJjQXhkZGowaTBERXF2VEdUOEYzN2JpekFmQmdOVkhTTUVHREFXZ0JSYnpWcmNBeGRkajBpMERFcXZUR1Q4Ci1GMzdiaXpBTUJnZ3Foa2pPUFFRREFnVUFBMGtBTUVZQ0lRRGJyU1Y0bmRIMHZBUjNIcUpmQm44TlQ4emR2TWpCCi1xU0plczZRd2E0MmIyd0loQUt5b0gwSCtiMVN2dzhwTWt2VVlGNEVsSDVDbm43Z3hiN1dsM2FyYzAraFEKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZGlyNC9jZXJ0OTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ5Mi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5YjUzYTUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9kaXI0L2NlcnQ5Mi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJvVENDQVVXZ0F3SUJBZ0lCWERBTUJnZ3Foa2pPUFFRREFnVUFNREV4RHpBTkJnTlZCQU1UQmxKdmIzUWcKLU9URVJNQThHQTFVRUNoTUliV0psWkNCVVRGTXhDekFKQmdOVkJBWVRBbFZMTUI0WERUQXhNREV3TVRBd01EQXcKLU1Gb1hEVE13TVRJek1USXpOVGsxT1Zvd01ERU9NQXdHQTFVRUF4TUZSVVVnT1RJeEVUQVBCZ05WQkFvVENHMWkKLVpXUWdWRXhUTVFzd0NRWURWUVFHRXdKVlN6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJDOUUKLXRLMXBFOEVpOHZnU2N1bnlqeDUwQytxRHNRUzhEMlJoR0hDNFZrRTJ5eWlGeEpBL3luaG9lWFRLWnNIdUVXSTkKLUNmT1N2azBSclRXZjlucjBwVEdqVFRCTE1Ba0dBMVVkRXdRQ01BQXdIUVlEVlIwT0JCWUVGTHFzTjUydEFmMWsKLVhsenhRbWRENXFHNlN5NlBNQjhHQTFVZEl3UVlNQmFBRkZ2Tld0d0RGMTJQU0xRTVNxOU1aUHdYZnR1TE1Bd0cKLUNDcUdTTTQ5QkFNQ0JRQURTQUF3UlFJZ1hsZktxaGtoWGdLMTEyRXljbCtaNU5ITSs2YXFYRTdpOWo3SXlHZmsKLWlrSUNJUURCWU5HYnBTeDgyWEcrSVMvaDRBV05UYTRIczZybVd2UURXSnVtN05yek1RPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjI0X3Bydi5jb21wLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjI0X3Bydi5jb21wLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTdlZDUzOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzIyNF9wcnYuY29tcC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUV3Q0FRRUVIR2hKK1gwUVp2YVpkMWxqZkg0NG1VWk03ajdIckpjR1U2QytCMEtnQndZRks0RUVBQ0doSUFNZQotQUFNV2s2S1E5L0MxY2Y0clFkWFlTd0V5ZGpIMHFHRDVsZm96TEFsLwotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY18yMjRfcHJ2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjI0X3Bydi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViYjgzYTAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY18yMjRfcHJ2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NR2dDQVFFRUhHaEorWDBRWnZhWmQxbGpmSDQ0bVVaTTdqN0hySmNHVTZDK0IwS2dCd1lGSzRFRUFDR2hQQU02Ci1BQVFXazZLUTkvQzFjZjRyUWRYWVN3RXlkakgwcUdENWxmb3pMQWwvVkJrcnNROEFFVDhxLzdFOEdpVE9SSkZGCi1jYWxVUUs0QlNnREw5dz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzIyNF9wdWIuY29tcC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjXzIyNF9wdWIuY29tcC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1OTM2NmMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY18yMjRfcHViLmNvbXAucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0tLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQotTURJd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNFREhnQURGcE9pa1Bmd3RYSCtLMEhWMkVzQk1uWXg5S2hnK1pYNgotTXl3SmZ3PT0KLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY18yMjRfcHViLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjI0X3B1Yi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyZGE1NGEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY18yMjRfcHViLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KLU1FNHdFQVlIS29aSXpqMENBUVlGSzRFRUFDRURPZ0FFRnBPaWtQZnd0WEgrSzBIVjJFc0JNbll4OUtoZytaWDYKLU15d0pmMVFaSzdFUEFCRS9Ldit4UEJva3prU1JSWEdwVkVDdUFVb0F5L2M9Ci0tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjU2X2xvbmdfcHJ2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjU2X2xvbmdfcHJ2LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZlMzI5ZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzI1Nl9sb25nX3Bydi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzI1Nl9sb25nX3Bydi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjXzI1Nl9sb25nX3Bydi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxNDFlMzAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY18yNTZfbG9uZ19wcnYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUljZXg0bXFYc1FhbVVLVFZmOHZYbVRBSnJRdkdqaDVtWEc4cDkrT1I0eEFvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRXFKMkhRalBwYzZmRHdFL3ZTYTZVMzVVU1hhd2tUbzk4eTRVNk5zQWwrck9HdXFNUEVGWGYKLVAxU3JtL0pyendhL1J1cHBSTDVrZ3lBc0dKVFVtd1pFelE9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY18yNTZfcHJ2LmNvbXAucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY18yNTZfcHJ2LmNvbXAucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWY4Yzk3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjU2X3Bydi5jb21wLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NRmNDQVFFRUlFbkpxTUdNUzRoV09NUXh6eDN4eVpRVEZnbTFnTlQ5UTZES3NYMnk4VDd1b0FvR0NDcUdTTTQ5Ci1Bd0VIb1NRRElnQURkM0psYjRGTE9aSjUxZUh4ZUIrc2J3bWFQRnloc09OVFVZTkxDTFplQzFjPQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY18yNTZfcHJ2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjU2X3Bydi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0MmRkNGEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY18yNTZfcHJ2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGNDQVFFRUlFbkpxTUdNUzRoV09NUXh6eDN4eVpRVEZnbTFnTlQ5UTZES3NYMnk4VDd1b0FvR0NDcUdTTTQ5Ci1Bd0VIb1VRRFFnQUVkM0psYjRGTE9aSjUxZUh4ZUIrc2J3bWFQRnloc09OVFVZTkxDTFplQzFjbGtNMnZqM2FUCi1ZYnp6U3MvQkhsNEhUb1FtdmQ0RXZtNWxPVVZFbGhmZVJRPT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjU2X3B1Yi5jb21wLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjU2X3B1Yi5jb21wLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY5NjU1ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzI1Nl9wdWIuY29tcC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NRGt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRElnQURkM0psYjRGTE9aSjUxZUh4ZUIrc2J3bWFQRnloCi1zT05UVVlOTENMWmVDMWM9Ci0tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjU2X3B1Yi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjXzI1Nl9wdWIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDFkYTAyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMjU2X3B1Yi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVkM0psYjRGTE9aSjUxZUh4ZUIrc2J3bWFQRnloCi1zT05UVVlOTENMWmVDMWNsa00ydmozYVRZYnp6U3MvQkhsNEhUb1FtdmQ0RXZtNWxPVVZFbGhmZVJRPT0KLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY18zODRfcHJ2LmNvbXAucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY18zODRfcHJ2LmNvbXAucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTI1YjQxLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMzg0X3Bydi5jb21wLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSFFDQVFFRU1EOWRqWnZpZ0xWcGJNWE1uNVRQaXZmbXRoM1dXU3Nxc3JPa3hnZEZCQmZzTW4zTnl1MThFQVU5Ci1jWm9GZFBDbmFxQUhCZ1VyZ1FRQUlxRTBBeklBQTluR1lyVUxvcHlrZVpCRkRnUTY2dlR3eHBzVloyMFJMMklxCi1jY2t3V2ErWmxwSEZhQTByUk5FUlY1MnhMMHBCT2c9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY18zODRfcHJ2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMzg0X3Bydi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4OTA3NTkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY18zODRfcHJ2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSUdrQWdFQkJEQS9YWTJiNG9DMWFXekZ6SitVejRyMzVyWWQxbGtyS3JLenBNWUhSUVFYN0RKOXpjcnRmQkFGCi1QWEdhQlhUd3AycWdCd1lGSzRFRUFDS2haQU5pQUFUWnhtSzFDNktjcEhtUVJRNEVPdXIwOE1hYkZXZHRFUzlpCi1LbkhKTUZtdm1aYVJ4V2dOSzBUUkVWZWRzUzlLUVRvdTFjUmZ6N1o3VzJQZ0M1SHI1WjBKcHJHc0xBeENncW9TCi1NWDdWa1UrWm04U0l1eE11ZzBMTU52TEtYak41eDBjPQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY18zODRfcHViLmNvbXAucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY18zODRfcHViLmNvbXAucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2I2NzAyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMzg0X3B1Yi5jb21wLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KLU1FWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURNZ0FEMmNaaXRRdWluS1I1a0VVT0JEcnE5UERHbXhWbmJSRXYKLVlpcHh5VEJacjVtV2tjVm9EU3RFMFJGWG5iRXZTa0U2Ci0tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMzg0X3B1Yi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjXzM4NF9wdWIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTk1MzgyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfMzg0X3B1Yi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRTJjWml0UXVpbktSNWtFVU9CRHJxOVBER214Vm5iUkV2Ci1ZaXB4eVRCWnI1bVdrY1ZvRFN0RTBSRlhuYkV2U2tFNkx0WEVYOCsyZTF0ajRBdVI2K1dkQ2FheHJDd01Rb0txCi1FakYrMVpGUG1adkVpTHNUTG9OQ3pEYnl5bDR6ZWNkSAotLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9wcnYuY29tcC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9wcnYuY29tcC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxNGMzOTMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY181MjFfcHJ2LmNvbXAucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1JR1lBZ0VCQkVJQnNiYXRCN3Q1NXpJTnBaaGc2aWpnVlNoUFlGanllZDVtYmdiVU5kS3ZlOW9vMlora2UzM1EKLWxqNFdzQWN3ZU82TGlqalpacVdDOUcwWi81WGZPdGxvV3E2Z0J3WUZLNEVFQUNPaFJnTkVBQU1BSGVGQzFVOXAKLTZ3T081TGV2blR5Z2R6YjluUGNaNnpWTmFZZWU1L1BCTnZzUHY1OEkrR3ZsK2hLT3dhQlIwK2JHUStoYTJvLzYKLXp6Wmp3bUM5TElSTGIxWT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfNTIxX3Bydi5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9wcnYuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzQ3MTRhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfNTIxX3Bydi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9wcnYucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY181MjFfcHJ2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTQ0YmI0NC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9wcnYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1JSGNBZ0VCQkVJQnNiYXRCN3Q1NXpJTnBaaGc2aWpnVlNoUFlGanllZDVtYmdiVU5kS3ZlOW9vMlora2UzM1EKLWxqNFdzQWN3ZU82TGlqalpacVdDOUcwWi81WGZPdGxvV3E2Z0J3WUZLNEVFQUNPaGdZa0RnWVlBQkFBZDRVTFYKLVQybnJBNDdrdDYrZFBLQjNOdjJjOXhuck5VMXBoNTduODhFMit3Ky9ud2o0YStYNkVvN0JvRkhUNXNaRDZGcmEKLWovclBObVBDWUwwc2hFdHZWZ0RPNk9TS25tWFFuSzNZbnlOZDdnWHp1S1pHdm5GZkgyZlZ0RFRnL3lPaC9BZnYKLWQwQVpQa0R1LzI4N3pmMTJXcWtWVUROU1QrVHlCZlZFVGlrc1RDOXF3UT09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9wdWIuY29tcC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9wdWIuY29tcC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiYjhjMmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY181MjFfcHViLmNvbXAucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0tLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQotTUZnd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNNRFJBQURBQjNoUXRWUGFlc0RqdVMzcjUwOG9IYzIvWnozR2VzMQotVFdtSG51Znp3VGI3RDcrZkNQaHI1Zm9TanNHZ1VkUG14a1BvV3RxUCtzODJZOEpndlN5RVMyOVcKLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY181MjFfcHViLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfNTIxX3B1Yi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViNjg1ZGUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY181MjFfcHViLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfNTIxX3B1Yi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9wdWIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmJjNWM1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfNTIxX3B1Yi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NSUdiTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFqQTRHR0FBUUFIZUZDMVU5cDZ3T081TGV2blR5Z2R6YjluUGNaCi02elZOYVllZTUvUEJOdnNQdjU4SStHdmwraEtPd2FCUjArYkdRK2hhMm8vNnp6Wmp3bUM5TElSTGIxWUF6dWprCi1pcDVsMEp5dDJKOGpYZTRGODdpbVJyNXhYeDluMWJRMDRQOGpvZndINzNkQUdUNUE3djl2TzgzOWRscXBGVkF6Ci1Vay9rOGdYMVJFNHBMRXd2YXNFPQotLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9zaG9ydF9wcnYuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9lY181MjFfc2hvcnRfcHJ2LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGExZjE4Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjXzUyMV9zaG9ydF9wcnYuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY181MjFfc2hvcnRfcHJ2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfNTIxX3Nob3J0X3Bydi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyN2I3YWQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY181MjFfc2hvcnRfcHJ2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSUhjQWdFQkJFSUFPWGRrN1crSGY1TDdIYzlmS2U0NHdtcGFSTnM1RVJGVGt2NUNybFh2L0J1M3kyOE02NzNxCi12Qk5vN2EvVUUvNk5OUUh1MnBRT0RFWUZwTWc2UjM0YjVTaWdCd1lGSzRFRUFDT2hnWWtEZ1lZQUJBRlVNSFhWCi1LUEE0dmtNZ3ErcEZnRG9IOTZYb001MTdnRjJHSkZWNmgyZ0xoeWt6SUhML290QXlFcEFTdHc3TUJ2YlUwVjIxCi1peEIraGpxek83U254YWo5bXdCOGc4N09LeG01ZUdmc3F2Sk5QZEowUlovRUt5MDZVa2c2S1RobGhRZXlydElrCi1nNVBUQ3JQbk5zemxmZkF5Ni9qQ09lM01vaTU5ZzE1SDEzc1N6d2ZYNmc9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19icDI1Nl9wcnYuY29tcC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMjU2X3Bydi5jb21wLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk4ZDIxZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMjU2X3Bydi5jb21wLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NRmdDQVFFRUlDRmgxdkxiZGxKdnBpd1c4MWFvRHdIekwzZG5oTE5xcVplWnFMZG1JSUQvb0FzR0NTc2tBd01DCi1DQUVCQjZFa0F5SUFBM2FNaks1S3ZLWXdiYkR0Z2JERXBpRmNONEJtN0cxaGJCUnVFL0hIMzRDYgotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19icDI1Nl9wcnYucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY19icDI1Nl9wcnYucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDZhODY3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnAyNTZfcHJ2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGdDQVFFRUlDRmgxdkxiZGxKdnBpd1c4MWFvRHdIekwzZG5oTE5xcVplWnFMZG1JSUQvb0FzR0NTc2tBd01DCi1DQUVCQjZGRUEwSUFCSGFNaks1S3ZLWXdiYkR0Z2JERXBpRmNONEJtN0cxaGJCUnVFL0hIMzRDYmxxdHBFY0o5Ci1pZ0l6bndrbWhBNVZJMjA5SHZ2aVpwMEpEa3hNWmcrdHFSMD0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnAyNTZfcHViLmNvbXAucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY19icDI1Nl9wdWIuY29tcC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZDA3YmMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY19icDI1Nl9wdWIuY29tcC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NRG93RkFZSEtvWkl6ajBDQVFZSkt5UURBd0lJQVFFSEF5SUFBM2FNaks1S3ZLWXdiYkR0Z2JERXBpRmNONEJtCi03RzFoYkJSdUUvSEgzNENiCi0tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnAyNTZfcHViLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnAyNTZfcHViLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjczODYyMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMjU2X3B1Yi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NRm93RkFZSEtvWkl6ajBDQVFZSkt5UURBd0lJQVFFSEEwSUFCSGFNaks1S3ZLWXdiYkR0Z2JERXBpRmNONEJtCi03RzFoYkJSdUUvSEgzNENibHF0cEVjSjlpZ0l6bndrbWhBNVZJMjA5SHZ2aVpwMEpEa3hNWmcrdHFSMD0KLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19icDM4NF9wcnYuY29tcC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMzg0X3Bydi5jb21wLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBlMjM5My4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMzg0X3Bydi5jb21wLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGdDQVFFRU1EM1pMblVOa05mVG44R0lYTml0RXVxVVFmSXJrelMwMldVZ0t0c1VTTTRreFlDS2hkMmEvQ0thCi04S01TVDNWYnk2QUxCZ2tySkFNREFnZ0JBUXVoTkFNeUFBSnhuNTBKT21KK0RUVURoY1poenI4QXhoa2pWbS9wCi1BR294QjY4ZGh4dkd1MmlZWDljaTZqSytNVytPZUR0ODBaVT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnAzODRfcHJ2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnAzODRfcHJ2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRlODJkYi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMzg0X3Bydi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUlHb0FnRUJCREE5MlM1MURaRFgwNS9CaUZ6WXJSTHFsRUh5SzVNMHRObGxJQ3JiRkVqT0pNV0Fpb1hkbXZ3aQotbXZDakVrOTFXOHVnQ3dZSkt5UURBd0lJQVFFTG9XUURZZ0FFY1orZENUcGlmZzAxQTRYR1ljNi9BTVlaSTFadgotNlFCcU1RZXZIWWNieHJ0b21GL1hJdW95dmpGdmpuZzdmTkdWZDRYMmJQd01zWlhkWEptbzU2dXFoSVZUcFlUZgotMHJTT2R0UkYvZ0RkaStXUWx0aDMxR2x0STdTOGpiRkhKT1pxCi0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMzg0X3B1Yi5jb21wLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnAzODRfcHViLmNvbXAucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Mzg2NjZkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnAzODRfcHViLmNvbXAucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0tLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQotTUVvd0ZBWUhLb1pJemowQ0FRWUpLeVFEQXdJSUFRRUxBeklBQW5HZm5RazZZbjROTlFPRnhtSE92d0RHR1NOVwotYitrQWFqRUhyeDJIRzhhN2FKaGYxeUxxTXI0eGI0NTRPM3pSbFE9PQotLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMzg0X3B1Yi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwMzg0X3B1Yi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViMjAyZTIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY19icDM4NF9wdWIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0tLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQotTUhvd0ZBWUhLb1pJemowQ0FRWUpLeVFEQXdJSUFRRUxBMklBQkhHZm5RazZZbjROTlFPRnhtSE92d0RHR1NOVwotYitrQWFqRUhyeDJIRzhhN2FKaGYxeUxxTXI0eGI0NTRPM3pSbFhlRjltejhETEdWM1Z5WnFPZXJxb1NGVTZXRQotMzlLMGpuYlVSZjRBM1l2bGtKYllkOVJwYlNPMHZJMnhSeVRtYWc9PQotLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5jb21wLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHJ2LmNvbXAucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3M2IxYzA3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHJ2LmNvbXAucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1JR1lBZ0VCQkVBM0xKZDQ5cDl5Ykx5ajlLSm84V3ROWVgwUUtBMTVwcUFwelZHSG4rRUJLVFRmNVRsVVZUTjkKLTlwQnR4OWJTN3FUYnNnWmNBaWozT3o3WEZrZ09mWEhTb0FzR0NTc2tBd01DQ0FFQkRhRkVBMElBQWppMzdKSzIKLUhGeHNmN3dvcE94MW5VajgxT0xqZE43OVhFbG9wVTIrOTFFT1VYaUcrL3c0NmptcVVwTloxd3B4VnNOZFBMckgKLXpuZHIyeVVkMWt2T2NTTT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHJ2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHJ2LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQ5YTNkZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzMGM2MjIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY19icDUxMl9wcnYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1JSGFBZ0VCQkVBM0xKZDQ5cDl5Ykx5ajlLSm84V3ROWVgwUUtBMTVwcUFwelZHSG4rRUJLVFRmNVRsVVZUTjkKLTlwQnR4OWJTN3FUYnNnWmNBaWozT3o3WEZrZ09mWEhTb0FzR0NTc2tBd01DQ0FFQkRhR0JoUU9CZ2dBRU9MZnMKLWtyWWNYR3gvdkNpazdIV2RTUHpVNHVOMDN2MWNTV2lsVGI3M1VRNVJlSWI3L0RqcU9hcFNrMW5YQ25GV3cxMDgKLXVzZk9kMnZiSlIzV1M4NXhJMFFrN25CSjd0Qnk4TnZFMTVtVzRYWFZWK0pqZGpycGNKWEFnZWMrZmJMaml0dzkKLVRKb0VoN0h0NkhiY0g4cGh5UUxwb2RoeUs0WVNrbzhZb2toRldSbz0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHViLmNvbXAucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY19icDUxMl9wdWIuY29tcC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyZmJkY2EuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY19icDUxMl9wdWIuY29tcC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NRm93RkFZSEtvWkl6ajBDQVFZSkt5UURBd0lJQVFFTkEwSUFBamkzN0pLMkhGeHNmN3dvcE94MW5VajgxT0xqCi1kTjc5WEVsb3BVMis5MUVPVVhpRysvdzQ2am1xVXBOWjF3cHhWc05kUExySHpuZHIyeVVkMWt2T2NTTT0KLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19icDUxMl9wdWIuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9lY19icDUxMl9wdWIuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YThjNGM3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHViLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHViLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHViLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY1ZDA3Mi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX2JwNTEyX3B1Yi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NSUdiTUJRR0J5cUdTTTQ5QWdFR0NTc2tBd01DQ0FFQkRRT0JnZ0FFT0xmc2tyWWNYR3gvdkNpazdIV2RTUHpVCi00dU4wM3YxY1NXaWxUYjczVVE1UmVJYjcvRGpxT2FwU2sxblhDbkZXdzEwOHVzZk9kMnZiSlIzV1M4NXhJMFFrCi03bkJKN3RCeThOdkUxNW1XNFhYVlYrSmpkanJwY0pYQWdlYytmYkxqaXR3OVRKb0VoN0h0NkhiY0g4cGh5UUxwCi1vZGh5SzRZU2tvOFlva2hGV1JvPQotLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazguZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjJiZDJhOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazguZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiZWFiN2MuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi1NRzhDQVFBd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRRUVWVEJUQWdFQkJCZ3pqb2FvZ2VJNDlVbTlid1ZUCi1TVXR6NDlZUk1QM0d5VzJoTkFNeUFBUlJkYnpmTUtOdzg1MVRrK1lTY29qWUFXZTE5TFMzZHNaMDk4YnpWTGZTCi1KQVlzSDJoVXRhZXZEK1Y0NnZKWThDYz0KLS0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOC5wdy5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazgucHcuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjBiNWJkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOC5wdy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazgucHcucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4LnB3LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQxM2QxZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazgucHcucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUdSTUJ3R0NpcUdTSWIzRFFFTUFRRXdEZ1FJSXJsbUNDU3BKemNDQWdnQUJIR20yTHlKNjBvamZpbFJScDhoCi1YZitzV0wzbEpxNndsajROazQxU0hWbloyUmlWdFA1TlZLOTA4L1d4blhrcmlkZDZRcGpucS8xNHdvV1ZtUXhUCi1JemhLRlZpMjJZbVF5QnNOaitiRUdEQUU0YzlxYWJ5OHU2emJ6czdRajI5RjkwZi9QaVlzYUlFR2NObi9XODhlCi1YYXJORHc9PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHViLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHViLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmRlMTZhMS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazhub3B1Yi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazhub3B1Yi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazhub3B1Yi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlYzUyNzIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4bm9wdWIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KLU1FRUNBUUF3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRUp6QWxBZ0VCQkNESDc4WFVYK2N4bVRQUTFoVmtZYnUzVnZCYzljODIKLUV5R0thR3ZrQW8xUGt3PT0KLS0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHVicGFyYW0uZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4bm9wdWJwYXJhbS5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwZDMwZmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4bm9wdWJwYXJhbS5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazhub3B1YnBhcmFtLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHVicGFyYW0ucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YzkxMGM5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHVicGFyYW0ucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KLU1FMENBUUF3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRU16QXhBZ0VCQkNESDc4WFVYK2N4bVRQUTFoVmtZYnUzVnZCYzljODIKLUV5R0thR3ZrQW8xUGs2QUtCZ2dxaGtqT1BRTUJCdz09Ci0tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazhwYXJhbS5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5wazhwYXJhbS5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiYmFhM2EuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4cGFyYW0uZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4cGFyYW0ucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYucGs4cGFyYW0ucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NzhiZWNhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOHBhcmFtLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi1NSUdUQWdFQU1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhCSGt3ZHdJQkFRUWd4Ky9GMUYvbk1aa3owTllWWkdHN3QxYndYUFhQCi1OaE1oaW1ocjVBS05UNU9nQ2dZSUtvWkl6ajBEQVFlaFJBTkNBQVJrSlhIMUxvZkhlc1lKd0prb1pRMGlqQ1ZyeERGRWk4ZS9mYzFkCi02RFMySHNrNTVUV3BMOTUzUUVJRE44Um1XMDFsZWpjZUszalFXczB1R0RlbkdDY00KLS0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnNlYzEuY29tcC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLmNvbXAucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZGExNGMyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnNlYzEuY29tcC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUVjQ0FRRUVHRE9PaHFpQjRqajFTYjF2QlZOSlMzUGoxaEV3L2NiSmJhQUtCZ2dxaGtqT1BRTUJBYUVjQXhvQQotQTFGMXZOOHdvM0R6blZPVDVoSnlpTmdCWjdYMHRMZDJ4Zz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnNlYzEuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTMzNmI3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnNlYzEuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19wcnYuc2VjMS5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYThhNzk5MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NRjhDQVFFRUdET09ocWlCNGpqMVNiMXZCVk5KUzNQajFoRXcvY2JKYmFBS0JnZ3Foa2pPUFFNQkFhRTBBeklBCi1CRkYxdk44d28zRHpuVk9UNWhKeWlOZ0JaN1gwdExkMnhuVDN4dk5VdDlJa0Jpd2ZhRlMxcDY4UDVYanE4bGp3Ci1Kdz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLnB3LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnNlYzEucHcucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MmEwODYwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnNlYzEucHcucGVtCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBERVMtQ0JDLEFBOTQ4OTJBMTY5RkE0MjYKLQotZ1NrRnVVRU5Oa2U1TXZrV0hjMTEvdzFOUVdCeGFJeEdUK2Q1b1JjcXM0NEQzdGx0Vk93dGRuWWV4b0Q5dVNJTAotd01GRlJMTDZJNWlpMU5hYTM4blBPTWFhN2tMVTJKM2pZOFNlSUgxclE0M1g2dGxwdjlXRkdxRG4vbTZYN29LbwotUk1NZkdkaWNQWmc9Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3Bydi5zcGVjZG9tLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnNwZWNkb20uZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODBhMmUzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHJ2LnNwZWNkb20uZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19wdWIuY29tcC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3B1Yi5jb21wLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTVmYWMwOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3B1Yi5jb21wLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KLU1ERXdFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUUVER2dBRFVYVzgzekNqY1BPZFU1UG1FbktJMkFGbnRmUzAKLXQzYkcKLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY19wdWIuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9lY19wdWIuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNGU1OTE1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHViLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHViLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfcHViLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDU0ZGM5NC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3B1Yi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NRWt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFFRE1nQUVVWFc4M3pDamNQT2RVNVBtRW5LSTJBRm50ZlMwCi10M2JHZFBmRzgxUzMwaVFHTEI5b1ZMV25ydy9sZU9yeVdQQW4KLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY194MjU1MTlfcHJ2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3Bydi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhMjM3MzMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY194MjU1MTlfcHJ2LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3Bydi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3gyNTUxOV9wcnYucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDcyMjQwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3Bydi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLS0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLQotTUM0Q0FRQXdCUVlESzJWdUJDSUVJTEJ0Z3BaVlZEcFJ5Nk51VTFJcndLejlZSzlaUm1WVit6NGVlV2h5cXhwWgotLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY194MjU1MTlfcHViLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3B1Yi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyMmNiNzYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY194MjU1MTlfcHViLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3B1Yi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3gyNTUxOV9wdWIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTM2YjViLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3B1Yi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NQ293QlFZREsyVnVBeUVBbThPdzZUMkNNLzVxaTZZVGlVak1FcWtUWXRYQzdZRllUYkJhdFVHY25SRT0KLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY194NDQ4X3Bydi5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL2VjX3g0NDhfcHJ2LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjZkNTJmNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3g0NDhfcHJ2LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDQ0OF9wcnYucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9lY194NDQ4X3Bydi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiY2E2NjEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY194NDQ4X3Bydi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLQotTUVZQ0FRQXdCUVlESzJWdkJEb0VPR1RwQ0RZRDlhdExETVl3RG5qZHdVVGtqTzRaTUIvdWFjWEt3KzRpVWlFRAotb2U1MHRYc0l4aTVSRXFXZTJZT29MN2VEN25wT0dSUHQKLS0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDQ0OF9wdWIuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9lY194NDQ4X3B1Yi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdjNDRjOTEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY194NDQ4X3B1Yi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjX3g0NDhfcHViLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDQ0OF9wdWIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDZlMTBjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNfeDQ0OF9wdWIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0tLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQotTUVJd0JRWURLMlZ2QXprQWxyVmhuNUtETkJ0M25MMzhCOW1xR0txclB3bmFoM3luSmdhV1E1SWNMenY2elpUKwotVElqaEdRMU5GR1d3Z3RPVjhVcVUydE80cFlRPQotLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzNGQyNGMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCZWpDQ0FRQUNBVTB3Q2dZSUtvWkl6ajBFQXdNd1BqRUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NCi1DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMElFVkRJRU5CTUI0WERUSXhNVEV6Ci1NREF6TURnd01Wb1hEVE14TVRJd01UQXpNRGd3TVZvd05ERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NCi1DRkJ2YkdGeVUxTk1NUkl3RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPCi1QUU1CQndOQ0FBUjNjbVZ2Z1VzNWtublY0ZkY0SDZ4dkNabzhYS0d3NDFOUmcwc0l0bDRMVnlXUXphK1BkcE5oCi12UE5LejhFZVhnZE9oQ2E5M2dTK2JtVTVSVVNXRjk1Rk1Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01BMDZ0VHdECi1NMXQ4Q2hrYTQxaDFKS3U0ZDBSc0drME1vaW5UOU14VEFFLzYxU2NaaDVsS3NwT0tyY2F2SjBtYVVRSXhBSXVqCi1yYXJtZDgrT3lmdFRScDZXcHd3ZnBza2RiN25tNDRZWDZlWnUvT2RqZnEvUkFkaEljbjRQOVFYdE9nVnJidz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0MmRkNGEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUVuSnFNR01TNGhXT01ReHp4M3h5WlFURmdtMWdOVDlRNkRLc1gyeThUN3VvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRWQzSmxiNEZMT1pKNTFlSHhlQitzYndtYVBGeWhzT05UVVlOTENMWmVDMWNsa00ydmozYVQKLVlienpTcy9CSGw0SFRvUW12ZDRFdm01bE9VVkVsaGZlUlE9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZjk4NmE3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQmx6Q0NBUjBDQVUwd0NnWUlLb1pJemowRUF3TXdQakVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTQotQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjBJRVZESUVOQk1CNFhEVEl4TVRFegotTURBek1EZ3dNVm9YRFRNeE1USXdNVEF6TURnd01Wb3dOREVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTQotQ0ZCdmJHRnlVMU5NTVJJd0VBWURWUVFEREFsc2IyTmhiR2h2YzNRd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQQotSWdOaUFBVFp4bUsxQzZLY3BIbVFSUTRFT3VyMDhNYWJGV2R0RVM5aUtuSEpNRm12bVphUnhXZ05LMFRSRVZlZAotc1M5S1FUb3UxY1JmejdaN1cyUGdDNUhyNVowSnByR3NMQXhDZ3FvU01YN1ZrVStabThTSXV4TXVnMExNTnZMSwotWGpONXgwY3dDZ1lJS29aSXpqMEVBd01EYUFBd1pRSXdOeXBzcTBhaHdNTTdhRlNTK1JTVGxvSDFEMStnSXp0egotWXE1NFJldGg2Z2RoMUlPNVI1YU5aaS9ZUDN1VmNJMW1BakVBaXNqano3dkNlS3dvcitIQ3E5Y0JjMnJ6SWxrWQotNU82cTRTQ1Nna3FpQ1RueUZJcUNhc3NFRDlOUHFobzNLWU0xCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4OTA3NTkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1JR2tBZ0VCQkRBL1hZMmI0b0MxYVd6RnpKK1V6NHIzNXJZZDFsa3JLckt6cE1ZSFJRUVg3REo5emNydGZCQUYKLVBYR2FCWFR3cDJxZ0J3WUZLNEVFQUNLaFpBTmlBQVRaeG1LMUM2S2NwSG1RUlE0RU91cjA4TWFiRldkdEVTOWkKLUtuSEpNRm12bVphUnhXZ05LMFRSRVZlZHNTOUtRVG91MWNSZno3WjdXMlBnQzVIcjVaMEpwckdzTEF4Q2dxb1MKLU1YN1ZrVStabThTSXV4TXVnMExNTnZMS1hqTjV4MGM9Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwODg1MGMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCdmpDQ0FVTUNBVTB3Q2dZSUtvWkl6ajBFQXdNd1BqRUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NCi1DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMElFVkRJRU5CTUI0WERUSXhNVEV6Ci1NREF6TURnd01Wb1hEVE14TVRJd01UQXpNRGd3TVZvd05ERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NCi1DRkJ2YkdGeVUxTk1NUkl3RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3Z1pzd0VBWUhLb1pJemowQ0FRWUZLNEVFCi1BQ01EZ1lZQUJBQWQ0VUxWVDJuckE0N2t0NitkUEtCM052MmM5eG5yTlUxcGg1N244OEUyK3crL253ajRhK1g2Ci1FbzdCb0ZIVDVzWkQ2RnJhai9yUE5tUENZTDBzaEV0dlZnRE82T1NLbm1YUW5LM1lueU5kN2dYenVLWkd2bkZmCi1IMmZWdERUZy95T2gvQWZ2ZDBBWlBrRHUvMjg3emYxMldxa1ZVRE5TVCtUeUJmVkVUaWtzVEM5cXdUQUtCZ2dxCi1oa2pPUFFRREF3TnBBREJtQWpFQWxDNzAzOWdEU2dtOUJhOGNDblpMV3VjWGJ0Q2JoUkdTdlZjb0VsWWtlL3B1Ci1pd0hrRDFyVmxuVW1XM1VLRzU4N0FqRUFrSW5nYXBDOUh5YzZNZVBteWFmTFlvTG1iaERKTWRSMkRNNG8reDhlCi0yWlhVdTd1TFBUZFdCRHhtdTZwbFJOaXMKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTQ0YmI0NC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUlIY0FnRUJCRUlCc2JhdEI3dDU1eklOcFpoZzZpamdWU2hQWUZqeWVkNW1iZ2JVTmRLdmU5b28yWitrZTMzUQotbGo0V3NBY3dlTzZMaWpqWlpxV0M5RzBaLzVYZk90bG9XcTZnQndZRks0RUVBQ09oZ1lrRGdZWUFCQUFkNFVMVgotVDJuckE0N2t0NitkUEtCM052MmM5eG5yTlUxcGg1N244OEUyK3crL253ajRhK1g2RW83Qm9GSFQ1c1pENkZyYQotai9yUE5tUENZTDBzaEV0dlZnRE82T1NLbm1YUW5LM1lueU5kN2dYenVLWkd2bkZmSDJmVnREVGcveU9oL0FmdgotZDBBWlBrRHUvMjg3emYxMldxa1ZVRE5TVCtUeUJmVkVUaWtzVEM5cXdRPT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZW5jby1jYS1wcnN0ci5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL2VuY28tY2EtcHJzdHIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MGUyYWViLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZW5jby1jYS1wcnN0ci5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNTakNDQWJPZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJDTVVBd1BnWURWUVFERXpkUGNHVnUKLVZsQk9JRmRsWWlCRFFTQXlNREV4TGpBMExqQTFJREl3T2pNek9qSTNJRlZVUXlCaGMyUmxiVzh1ZVc5dVlXNHUKLWJtVjBNQjRYRFRFNU1ESXhNREUwTkRRd05sb1hEVEk1TURJeE1ERTBORFF3Tmxvd1FqRkFNRDRHQTFVRUF4TTMKLVQzQmxibFpRVGlCWFpXSWdRMEVnTWpBeE1TNHdOQzR3TlNBeU1Eb3pNem95TnlCVlZFTWdZWE5rWlcxdkxubHYKLWJtRnVMbTVsZERDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQXh6aVN4Y1AwY0JBSWEvZ1QKLU5lenpBUnlLSlErVmdqWWVxaDZXRWxVYXJQaDdkVE1MY0Zjem5ObVY4VTFNUkRmSXZzU2dQK1JrUE5QenlRSkQKLVBjTjhXNDU1cWdtRXJvSVROd3EvaFdtOUtqVmliTEgrNUt6Z1FySkJmSHZrblNjVW15d0hhNDVEUFQ5c2RqcEcKLW1oeHdEU1dkdkFqSFFQellBamRpLzMzci9DMENBd0VBQWFOUU1FNHdEQVlEVlIwVEJBVXdBd0VCL3pBZEJnTlYKLUhRNEVGZ1FVSUxQYWpvQTBmc012Zmw3TTZFbWlrRUp6UEVRd0h3WURWUjBqQkJnd0ZvQVVJTFBham9BMGZzTXYKLWZsN002RW1pa0VKelBFUXdEUVlKS29aSWh2Y05BUUVGQlFBRGdZRUFHU0loU2JlY0dVZ0tjN0V1aGtNTWNBaWoKLWNsclo4bmlLK1VQdko1alNNNVRuYmZ3S1hGbG1lUzZNSHVyanpNL0Q2OTN3TzZlTWp4THB0OC8rOS81YXlnR20KLVdBT0FhNU1aKzVCOFB1bjhjTnBwU1NQQjFMMUd0WHpSV0VDQ2FHa283M1AvcjkyaVFjM1lkNjR0SjNpUjZXWVoKLXdLMm5mMjNqTGdiV0xDWEh6b0E9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2VuY28tY2VydC11dGY4c3RyLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvZW5jby1jZXJ0LXV0ZjhzdHIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjQ5NDdhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZW5jby1jZXJ0LXV0ZjhzdHIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDSERDQ0FZV2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURCQ01VQXdQZ1lEVlFRREREZFBjR1Z1Ci1WbEJPSUZkbFlpQkRRU0F5TURFeExqQTBMakExSURJd09qTXpPakkzSUZWVVF5QmhjMlJsYlc4dWVXOXVZVzR1Ci1ibVYwTUI0WERURTVNREl4TURFME5EUXdObG9YRFRJNU1ESXhNREUwTkRRd05sb3dGekVWTUJNR0ExVUVBd3dNCi1aSGN1ZVc5dVlXNHVibVYwTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FESE9KTEZ3L1J3Ci1FQWhyK0JNMTdQTUJISW9sRDVXQ05oNnFIcFlTVlJxcytIdDFNd3R3VnpPYzJaWHhUVXhFTjhpK3hLQS81R1E4Ci0wL1BKQWtNOXczeGJqbm1xQ1lTdWdoTTNDcitGYWIwcU5XSnNzZjdrck9CQ3NrRjhlK1NkSnhTYkxBZHJqa005Ci1QMngyT2thYUhIQU5KWjI4Q01kQS9OZ0NOMkwvZmV2OExRSURBUUFCbzAwd1N6QUpCZ05WSFJNRUFqQUFNQjBHCi1BMVVkRGdRV0JCUWdzOXFPZ0RSK3d5OStYc3pvU2FLUVFuTThSREFmQmdOVkhTTUVHREFXZ0JRZ3M5cU9nRFIrCi13eTkrWHN6b1NhS1FRbk04UkRBTkJna3Foa2lHOXcwQkFRVUZBQU9CZ1FDU3FXUDhXZk00dER6a3FBZTU5NXc0Ci1lckd0NjRBbk1PL1pLWk5YTk1qTW51VHRUNUdSajJtTWp0RHVvOHZDTjNrMWhOdGIyS0k2NkZjOXdhc2lRTmtJCi0ydndyZThGbmxjdGFCL3JpR1V4NmY2dGFWM2xWYWFrQjZ3WEtyTzF4MmVqVDR2V08rMUdRWDJiV1EwTWcyem5PCi16dTFHaDNkK3dyY3FCQXNGR252Y2RBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvZm9ybWF0X2dlbi5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL2Zvcm1hdF9nZW4ua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDQ3MjMyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvZm9ybWF0X2dlbi5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUNkUUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQWw4d2dnSmJBZ0VBQW9HQkFNRFJTek9ORVNYNG1TVlQKLUo2OW8zeDl2UWFuWGNQTnZpbGpjd0tna3JYa0ZhaDZoUVVBaFcrNGpRTHh0R2IrTFU0N2dFMzIxSkd0R05iNUwKLXoxaHRqTFVMdmM5U0FwbEo2T09jUVVEaHlGeEk0bzZGbVV6b3J2NDl5dHpINngySU83VU9GNDRNeUpJV0dqRzMKLTRmb2hTOEVRYVFqa0JZVzdrd00vdkNWVDhCbDlBZ01CQUFFQ2dZQlRxajBjU0VpNWxpNDFrT2gyWjJYeGlPQVEKLUowaCtpTmFhQ21lYVRoZnJuRnJZb1pYamt0WUY5Y3dBTnNMbVp6bEJsSjlBZTVvcTVoTXAyRkZIQ0huMXoxVS8KLUJpRTN5RjJBWE5zbEwwcDhsTU80cUd4bXQyaVlkRTNaOGNvbWZreXR0VUo1azl0aExRelUvTldBVFA4RVpHbmcKLWlUZEVERk9XMzVjRzI2Y2NEUUpCQVBQb2FpdmVBVk4wSll4ZTJ0WVI4eGI1cXRhODlRR1U2SERkVFJpQ2xhcDEKLTVyZnBoNWQzME1RZ2dxZjF0QlRpRFJLT1NrN3VOMzl4d0diTXp6MTErTmNDUVFES1lIWFdBc04zUWxtRlFLVFgKLW5tNEc1eHBsNTdQOVUyNXdTQytOWU9tRkVpZW9tRDdZbGJhQktCYzBWNUpOajJJcVV0MEV2WE5oM0xBNWN6ZDkKLTNwSExBa0Fpb1ZnWnZGNmgwN2JWRkU2cjRFYU1kNHhiQ3Q4YWgyTHRTMjU3MFdhZ21qYlUyL0psZmh5RkREeWcKLXpsRHdPaHd6QzBMZnJCRHpKbHB6L2haYW1wcG5Ba0Jzd2pJUmRTSytzTFdUV3c0N29qVFhHTk9pK0VaT1djdjgKLUk0OEtsNDVucVQ0TzZPSzlXcGZlQ1VHUEs1REFoZEhubE9pYVo0WGVqYzlXMEloOTZHTEpBa0JPekpFOG5VVTUKLWdpVWpMQXhKb1llcEtsV2g1dFpzTkRvR0ZnNDYrYkhuOWwxTzZmWDd0YXUwK2pFejR0QzZhQThSM0h0VU9yWXYKLWhKNjFnSDh4M1U1SgotLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9mb3JtYXRfZ2VuLnB1YiBiL3Rlc3RzL2RhdGFfZmlsZXMvZm9ybWF0X2dlbi5wdWIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxYTdhYjMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9mb3JtYXRfZ2VuLnB1YgorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KLU1JR2ZNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0R05BRENCaVFLQmdRREEwVXN6alJFbCtKa2xVeWV2YU44ZmIwR3AKLTEzRHpiNHBZM01Db0pLMTVCV29lb1VGQUlWdnVJMEM4YlJtL2kxT080Qk45dFNSclJqVytTODlZYll5MUM3M1AKLVVnS1pTZWpqbkVGQTRjaGNTT0tPaFpsTTZLNytQY3JjeCtzZGlEdTFEaGVPRE1pU0Zob3h0K0g2SVV2QkVHa0kKLTVBV0Z1NU1EUDd3bFUvQVpmUUlEQVFBQgotLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2Zvcm1hdF9wa2NzMTIuZm10IGIvdGVzdHMvZGF0YV9maWxlcy9mb3JtYXRfcGtjczEyLmZtdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjk2ZDU5OS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2Zvcm1hdF9wa2NzMTIuZm10CisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9mb3JtYXRfcnNhLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvZm9ybWF0X3JzYS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjOGNiNTcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9mb3JtYXRfcnNhLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUNXd0lCQUFLQmdRREEwVXN6alJFbCtKa2xVeWV2YU44ZmIwR3AxM0R6YjRwWTNNQ29KSzE1QldvZW9VRkEKLUlWdnVJMEM4YlJtL2kxT080Qk45dFNSclJqVytTODlZYll5MUM3M1BVZ0taU2Vqam5FRkE0Y2hjU09LT2habE0KLTZLNytQY3JjeCtzZGlEdTFEaGVPRE1pU0Zob3h0K0g2SVV2QkVHa0k1QVdGdTVNRFA3d2xVL0FaZlFJREFRQUIKLUFvR0FVNm85SEVoSXVaWXVOWkRvZG1kbDhZamdFQ2RJZm9qV21ncG5tazRYNjV4YTJLR1Y0NUxXQmZYTUFEYkMKLTVtYzVRWlNmUUh1YUt1WVRLZGhSUndoNTljOVZQd1loTjhoZGdGemJKUzlLZkpURHVLaHNacmRvbUhSTjJmSEsKLUpuNU1yYlZDZVpQYllTME0xUHpWZ0V6L0JHUnA0SWszUkF4VGx0K1hCdHVuSEEwQ1FRRHo2R29yM2dGVGRDV00KLVh0cldFZk1XK2FyV3ZQVUJsT2h3M1UwWWdwV3FkZWEzNlllWGQ5REVJSUtuOWJRVTRnMFNqa3BPN2pkL2NjQm0KLXpNODlkZmpYQWtFQXltQjExZ0xEZDBKWmhVQ2sxNTV1QnVjYVplZXovVk51Y0VndmpXRHBoUklucUpnKzJKVzIKLWdTZ1hORmVTVFk5aUtsTGRCTDF6WWR5d09YTTNmZDZSeXdKQUlxRllHYnhlb2RPMjFSUk9xK0JHakhlTVd3cmYKLUdvZGk3VXR1ZTlGbW9KbzIxTnZ5Wlg0Y2hRdzhvTTVROERvY013dEMzNndROHlaYWMvNFdXcHFhWndKQWJNSXkKLUVYVWl2ckMxazFzT082STAxeGpUb3ZoR1RsbkwvQ09QQ3BlT1o2aytEdWppdlZxWDNnbEJqeXVRd0lYUjU1VG8KLW1tZUYzbzNQVnRDSWZlaGl5UUpBVHN5UlBKMUZPWUlsSXl3TVNhR0hxU3BWb2ViV2JEUTZCaFlPT3ZteDUvWmQKLVR1bjErN1dydFBveE0rTFF1bWdQRWR4N1ZEcTJMNFNldFlCL01kMU9TUT09Ci0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMSBiL3Rlc3RzL2RhdGFfZmlsZXMvaGFzaF9maWxlXzEKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MWZhZDIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMQorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvaGFzaF9maWxlXzIgYi90ZXN0cy9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8yCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzQ0ZWFjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvaGFzaF9maWxlXzIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIGIvdGVzdHMvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThiYjBiYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCBiL3Rlc3RzL2RhdGFfZmlsZXMvaGFzaF9maWxlXzQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2OWRlMjkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9oYXNoX2ZpbGVfNAorKysgL2Rldi9udWxsCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2hhc2hfZmlsZV81IGIvdGVzdHMvZGF0YV9maWxlcy9oYXNoX2ZpbGVfNQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGUxZmJmMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2hhc2hfZmlsZV81CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMva2V5VXNhZ2UuZGVjaXBoZXJPbmx5LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMva2V5VXNhZ2UuZGVjaXBoZXJPbmx5LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2MzNzk3OC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2tleVVzYWdlLmRlY2lwaGVyT25seS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNGekNDQVlDZ0F3SUJBZ0lKQUpzVHpreWxiOTVTTUEwR0NTcUdTSWIzRFFFQkJRVUFNRDh4Q3pBSkJnTlYKLUJBWVRBa2RDTVJJd0VBWURWUVFIREFsRFlXMWljbWxrWjJVeEhEQWFCZ05WQkFvTUUwUmxabUYxYkhRZ1EyOXQKLWNHRnVlU0JNZEdRd0hoY05NVFV3TlRFeU1UQXpOalUxV2hjTk1UZ3dOVEV4TVRBek5qVTFXakEvTVFzd0NRWUQKLVZRUUdFd0pIUWpFU01CQUdBMVVFQnd3SlEyRnRZbkpwWkdkbE1Sd3dHZ1lEVlFRS0RCTkVaV1poZFd4MElFTnYKLWJYQmhibmtnVEhSa01JR2ZNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0R05BRENCaVFLQmdRQzlueFlPU2JoYS9BcDQKLTZyQUNyT01IN3pmREQrMFpFSGhiTzBiZ0dSamM1RWx2T2FOdUQzMjF5OVRueUF4K0pycVBwL2xGckFnTmlWbzEKLUhQdXJQSGZjSit0TkJVZ0JIYm9XR05FTk5hZjlvdndGUGF3c0J6RVpyYUduRGFxVlBFRmNJc1VRUFZxTzFsclEKLUNITFVqdHFvMWhNWkRxZS9XZWIwTXc5Y1pycU9hUUlEQVFBQm94c3dHVEFKQmdOVkhSTUVBakFBTUF3R0ExVWQKLUR3UUZBd01INElBd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ1lFQUowTlMyd1ViZ1JlbEswcUt4clIyVHM2alZZRUgKLWJteWt4M0dIakZ5S3BzY0RJbjJ2Tnl5Qjd5Z2ZGZ2xaUGN3KzJtbjN4dVZJd09WL21XeEZ2S0hrK2oyV3JUUUwKLXREcVNDNUJoRm9SMDF2ZUZ1MDdKZEVZdnorSStOQ0w1ejBJR1dYa1VyazIzNVdsNHc0V01aRG5YVHFuY01ORWsKLWZMdHBvOXk3OVhEMDBRWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfYXV4IGIvdGVzdHMvZGF0YV9maWxlcy9sbXNfaGFzaC1zaWdzX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9hdXgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2N2Y4ZjUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9sbXNfaGFzaC1zaWdzX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9hdXgKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydiBiL3Rlc3RzL2RhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYjFiMjNmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2CisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9sbXNfaGFzaC1zaWdzX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wdWIgYi90ZXN0cy9kYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3B1YgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTM5N2Q2MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3B1YgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvbG1zX2hzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2IGIvdGVzdHMvZGF0YV9maWxlcy9sbXNfaHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiODVlMDEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9sbXNfaHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL2xtc19weWhzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2IGIvdGVzdHMvZGF0YV9maWxlcy9sbXNfcHloc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU4MjdjZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL2xtc19weWhzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2CisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9sbXNfcHloc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3B1YiBiL3Rlc3RzL2RhdGFfZmlsZXMvbG1zX3B5aHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wdWIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1MmMwODkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9sbXNfcHloc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3B1YgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvbXBpXzE2IGIvdGVzdHMvZGF0YV9maWxlcy9tcGlfMTYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0MzM1ZDkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9tcGlfMTYKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1sYWJlbF8xMjM0NTY3ODkwPTFmNTUzMzJjM2E0OGI5MTBmOTk0MmY2YzkxNGU1OGJlZjM3YTQ3ZWU0NWNiMTY0YTViNmI4ZDEwMDZiZjU5YTA1OWMyMTQ0OTkzOWViZWJmZGY1MTdkMmUxZGJhYzg4MDEwZDdiMWYxNDFlOTk3YmQ2ODAxZGRhZWM5ZDA1OTEwZjRmMmRlMmIyYzRkNzE0ZTJjMTRhNzJmYzdmMTdhYTQyOGQ1OWM1MzE2MjdmMDkKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvbXBpX3Rvb19iaWcgYi90ZXN0cy9kYXRhX2ZpbGVzL21waV90b29fYmlnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTYyMzUyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvbXBpX3Rvb19iaWcKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1sYWJlbF8xMjM0NTY3ODkwPTEwOTA3NDgxMzU2MTk0MTU5Mjk0NjI5ODQyNDQ3MzM3ODI4NjI0NDgyNjQxNjE5OTYyMzI2OTI0MzE4MzI3ODYxODk3MjEzMzE4NDkxMTkyOTUyMTYyNjQyMzQ1MjUyMDE5ODcyMjM5NTcyOTE3OTYxNTcwMjUyNzMxMDk4NzA4MjAxNzcxODQwNjM2MTA5Nzk3NjUwNzc1NTQ3OTkwNzg5MDYyOTg4NDIxOTI5ODk1Mzg2MDk4MjUyMjgwNDgyMDUxNTk2OTY4NTE2MTM1OTE2MzgxOTY3NzE4ODY1NDI2MDkzMjQ1NjAxMjEyOTA1NTM5MDE4ODYzMDEwMTc5MDAyNTI1MzU3OTk5MTcyMDAwMTAwNzk2MDAwMjY1MzU4MzY4MDA5MDUyOTc4MDU4ODA5NTIzNTA1MDE2MzAxOTU0NzU2NTM5MTEwMDUzMTIzNjQ1NjAwMTQ4NDc0MjYwMzUyOTM1NTEyNDU4NDM5Mjg5MTg3NTI3Njg2OTYyNzkzNDQwODgwNTU2MTc1MTU2OTQzNDk5NDU0MDY2Nzc4MjUxNDA4MTQ5MDA2MTYxMDU5MjAyNTY0Mzg1MDQ1NzgwMTMzMjY0OTM1NjU4MzYwNDcyNDI0MDczODI0NDI4MTIyNDUxMzE1MTc3NTc1MTkxNjQ4OTkyMjYzNjU3NDM3MjI0MzIyNzczNjgwNzUwMjc2Mjc4ODMwNDUyMDY1MDE3OTI3NjE3MDA5NDU2OTkxNjg0OTcyNTc4Nzk2ODM4NTE3MzcwNDk5OTY5MDA5NjExMjA1MTU2NTUwNTAxMTU1NjEyNzE0OTE0OTI1MTUzNDIxMDU3NDg5NjY2Mjk1NDcwMzI3ODYzMjE1MDU3MzA4Mjg0MzAyMjE2NjQ5NzAzMjQzOTYxMzg2MzUyNTE2MjY0MDk1MTYxNjgwMDU0Mjc2MjM0MzU5OTYzMDg5MjE2OTE0NDYxODExODc0MDYzOTUzMTA2NjU0MDQ4ODU3Mzk0MzQ4MzI4Nzc0MjgxNjc0MDc0OTUzNzA5OTM1MTE4Njg3NTYzNTk5NzAzOTAxMTcwMjE4MjM2MTY3NDk0NTg2MjA5Njk4NTcwMDYyNjM2MTIwODI3MDY3MTU0MDgxNTcwNjY1NzUxMzcyODEwMjcwMjIzMTA5Mjc1NjQ5MTAyNzY3NTkxNjA1MjA4NzgzMDQ2MzI0MTEwNDkzNjQ1Njg3NTQ5MjA5NjczMjI5ODI0NTkxODQ3NjM0MjczODM3OTAyNzI0NDg0MzgwMTg1MjY5Nzc3NjQ5NDEwNzI3MTU2MTE1ODA0MzQ2OTA4Mjc0NTkzMzk5OTE5NjE0MTQyNDI3NDE0MTA1OTkxMTc0MjYwNjA1NTY0ODM3NjM3NTYzMTQ1Mjc2MTEzNjI2NTg2MjgzODMzNjg2MjExNTc5OTM2MzgwMjA4Nzg1Mzc2NzU1NDUzMzY3ODk5MTU2OTQyMzQ0MzM5NTU2NjYzMTUwNzAwODcyMTM1MzU0NzAyNTU2NzAzMTIwMDQxMzA3MjU0OTU4MzQ1MDgzNTc0Mzk2NTM4Mjg5MzYwNzcwODA5Nzg1NTA1Nzg5MTI5Njc5MDczNTI3ODAwNTQ5MzU2MjE1NjEwOTA3OTU4NDUxNzI5NTQxMTU5NzI5Mjc0Nzk4Nzc1Mjc3Mzg1NjAwMDgyMDQxMTg1NTg5MzAwMDQ3Nzc3NDg3Mjc3NjE4NTM4MTM1MTA0OTM4NDA1ODE4NjE1OTg2NTIyMTE2MDU5NjAzMDgzNTY0MDU5NDE4MjExODk3MTQwMzc4Njg3MjYyMTk0ODE0OTg3Mjc2MDM2NTM2MTYyOTg4NTYxNzQ4MjI0MTMwMzM0ODU0Mzg3ODUzMjQwMjQ3NTE0MTk0MTcxODMwMTIyODEwNzgyMDk3MjkzMDM1MzczNzI4MDQ1NzQzNzIwOTUyMjg3MDM2MjI3NzYzNjM5NDUyOTA4Njk4MDYyNTg0MjIzNTUxNDg1MDc1NzEwMzk2MTkzODc0NDk2Mjk4NjY4MDgxODg3Njk2NjI4MTU3NzgxNTMwNzkzOTMxNzkwOTMxNDM2NDgzNDA3NjE3Mzg1ODE4MTk1NjMwMDI5OTQ0MjI3OTA3NTQ5NTUwNjEyODg4MTgzMDg0MzAwNzk2NDg2OTMyMzIxNzkxNTg3NjU5MTgwMzU1NjUyMTYxNTcxMTU0MDI5OTIxMjAyNzYxNTU2MDc4NzMxMDc5Mzc0Nzc0NjY4NDE1MjgzNjI5ODc3MDg2OTk0NTAxNTIwMzEyMzE4NjI1OTQyMDMwODU2OTM4Mzg5NDQ2NTcwNjEzNDYyMzY3MDQyMzQwMjY4MjExMDI5NTg5NTQ5NTExOTcwODcwNzY1NDYxODY2MjI3OTYyOTQ1MzY0NTE2MjA3NTY1MDkzNTEwMTg5MDYwMjM3NzM4MjE1Mzk1MzI3NzYyMDg2NzY5Nzg1ODk3MzE5NjYzMzAzMDg4OTMzMDQ2NjUxNjk0MzYxODUwNzgzNTA2NDE1NjgzMzY5NDQ1MzAwNTE0Mzc0OTEzMTEyOTg4MzQzNjcyNjUyMzg1OTU0MDQ5MDQyNzM0NTU5Mjg3MjM5NDk1MjUyMjcxODQ2MTc0MDQzNjc4NTQ3NTQ2MTA0NzQzNzcwMTk3NjgwMjU1NzY2MDU4ODEwMzgwNzcyNzA3MDc3MTc5NDIyMjE5NzcwOTAzODU0Mzg1ODU4NDQwOTU0OTIxMTYwOTk4NTI1Mzg5MDM5NzQ2NTU3MDM5NDM5NzMwODYwOTA5MzA1OTY5NjMzNjA3Njc1Mjk5NjQ5Mzg0MTQ1OTgxODU3MDU5NjM3NTQ1NjE0OTczNTU4Mjc4MTM2MjM4MzMyODg5MDYzMDkwMDQyODgwMTczMjE0MjQ4MDg2NjM5NjI2NzEzMzM1MjgwMDkyMzI3NTgzNTA4NzMwNTk2MTQxMTg3MjM3ODE0MjIxMDE0NjAxOTg2MTU3NDczODY4NTUwOTY4OTYwODkxODkxODA0NDEzMzk1NTg1MjQ4MjI4Njc1NDExMTMyMTI2Mzg3OTM2NzU1Njc2NTAzNDAzNjI5NzAwMzE5MzAwMjMzOTc4Mjg0NjUzMTg1NDcyMzgyNDQyMzIwMjgwMTUxODk2ODk2NjA0MTg4MjI5NzYwMDA4MTU0Mzc2MTA2NTIyNTQyNzAxNjM1OTU2NTA4NzU0MzM4NTExNDcxMjMyMTQyMjcyNjY2MDU0MDM1ODE3ODE0NjkwOTA4MDY1NzY0Njg5NTA1ODc2NjE5OTcxODY1MDU2NjU0NzU3MTU3OTI4OTYKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvb3BlbnNzbGNuZi9zZXJ2ZXI5LmNydC52M19leHQgYi90ZXN0cy9kYXRhX2ZpbGVzL29wZW5zc2xjbmYvc2VydmVyOS5jcnQudjNfZXh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGQyMDFiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvb3BlbnNzbGNuZi9zZXJ2ZXI5LmNydC52M19leHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLWJhc2ljQ29uc3RyYWludHMgPSBDQTpmYWxzZQotc3ViamVjdEtleUlkZW50aWZpZXI9aGFzaAotYXV0aG9yaXR5S2V5SWRlbnRpZmllcj1rZXlpZDphbHdheXMsaXNzdWVyOmFsd2F5cwotCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2JpdHN0cmluZy1pbi1kbi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2JpdHN0cmluZy1pbi1kbi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1MGJkNjYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9iaXRzdHJpbmctaW4tZG4ucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlFQVRDQ0F1bWdBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUVVGQURCeE1STXdFUVlEVlFRRERBcFVaWE4wCi1JRU5CSURBeE1SRXdEd1lEVlFRSURBaEZZMjVwZG05eWNERUxNQWtHQTFVRUJoTUNXRmd4SGpBY0Jna3Foa2lHCi05dzBCQ1FFV0QzUmpZVUJsZUdGdGNHeGxMbU52YlRFYU1CZ0dBMVVFQ2d3UlZHVnpkQ0JEUVNCQmRYUm9iM0pwCi1kSGt3SGhjTk1UVXdNekV4TVRJd05qVXhXaGNOTWpVd016QTRNVEl3TmpVeFdqQ0JtekVMTUFrR0ExVUVCaE1DCi1XRmd4RERBS0JnTlZCQW9NQTNSallURVJNQThHQTFVRUNBd0lSV051YVhadmNuQXhEREFLQmdOVkJBc01BMVJECi1RVEVQTUEwR0ExVUVBd3dHUTJ4cFpXNTBNU0V3SHdZSktvWklodmNOQVFrQkZoSmpiR2xsYm5SQVpYaGhiWEJzCi1aUzVqYjIweEV6QVJCZ05WQkFVVENqY3hNREV3TVRJeU5UVXhGREFTQmdOVkJDMERDd0EzTVRBeE1ERXlNalUxCi1NSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW5RUzBKTGI4RHF5OFYybXN6a1drCi1WOGMvTlBRY0czaXZ1ZVhaSHFPVDlKVGlQcXJpZ0djTEh0bG1sYUowYVVVeGl4N3E2MGFPZHMwNDFURnlla25UCi1TVUZZWTRwcE9oaVArZk9wV0tQdjRaTXdoU0kyWHpjZ1loUVNOSFYwbElHMXdlOVJBQWZ1bW9tRE1xN29NSmhiCi1FR2YwaWhpYmJ3WlhQVXdCbG0xMEdhQjRLOTNQTlk4Qno0ZWtCeHpRMVdKa1E1TEdzUW5WWlN1TG52cDVkV1NlCi1KMmF4eHlZNGhQWFIzMGp6RXladnk0a3Y0bnpBdTVscVo1WEtMclJPNFRLd1pydHIrQ0NQVmtQSlJFMzZyV1l0Ci10UWFKRUVwTk9vMFpQcFR0RzZGOC90R2g1cjhqRngvZjZ3RytueUFOSko5OGtFUDhpNlRQalJyZys2OTdtTGNkCi1pUUlEQVFBQm8za3dkekFKQmdOVkhSTUVBakFBTURZR0ExVWRId1F2TUMwd0s2QXBvQ2VHSldoMGRIQTZMeTlqCi1jbXd1WlhoaGJYQnNaUzVqYjIwdmRHVnpkRjlqWVY4d01TNWpjbXd3RXdZRFZSMGxCQXd3Q2dZSUt3WUJCUVVICi1Bd0l3SFFZRFZSMFJCQll3RklFU1kyeHBaVzUwUUdWNFlXMXdiR1V1WTI5dE1BMEdDU3FHU0liM0RRRUJCUVVBCi1BNElCQVFCeVNFTENuVTgvUHRHSUczZHdoSkVOT1NVNVI3dzhqcFJYeEhDdVNCUitXNm51VUNJU3oreitFZEYvCi1BN0FPSkRBU3VTKzRna3JTU21RaEdGcGY3RTVWYkY4dHJWWmhMQVpyWHFLTWNVcmVLSDZ2MEk4TUFVWG1JczNHCi10cWlCR2Y3cFNZSk45RHZWT09nQU5qZHk2VEh1VXpZdjVxU3ZCWjRwTllFZkhTbE1OclY3bml5bmQ4ZGdQT01MCi1wQTdHVWZ2NWsybU1rTWJTRDE1cFRNZ2NhdnJCS1lneXFjdkYxQzNxZ2hmb0w1K2kzOEg4c0t6RjhoeTd3SHRFCi1FU0h0QnEyMFJZQTNtMFVjQTBlNjRHY2FuTzJQcy9BUVZCYzdxTWVIYnFucWozdVVodFRrUWNNVVduTWd5MU5SCi01UmJ6b0xNT3hxN2hvT0N5SWFRZU0vd2d4ZUdFCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1NSUlFcEFJQkFBS0NBUUVBblFTMEpMYjhEcXk4VjJtc3prV2tWOGMvTlBRY0czaXZ1ZVhaSHFPVDlKVGlQcXJpCi1nR2NMSHRsbWxhSjBhVVV4aXg3cTYwYU9kczA0MVRGeWVrblRTVUZZWTRwcE9oaVArZk9wV0tQdjRaTXdoU0kyCi1YemNnWWhRU05IVjBsSUcxd2U5UkFBZnVtb21ETXE3b01KaGJFR2YwaWhpYmJ3WlhQVXdCbG0xMEdhQjRLOTNQCi1OWThCejRla0J4elExV0prUTVMR3NRblZaU3VMbnZwNWRXU2VKMmF4eHlZNGhQWFIzMGp6RXladnk0a3Y0bnpBCi11NWxxWjVYS0xyUk80VEt3WnJ0citDQ1BWa1BKUkUzNnJXWXR0UWFKRUVwTk9vMFpQcFR0RzZGOC90R2g1cjhqCi1GeC9mNndHK255QU5KSjk4a0VQOGk2VFBqUnJnKzY5N21MY2RpUUlEQVFBQkFvSUJBRjdpM01uakdtYnowODB2Ci1PeEpiMjNpQUc1NHdkbHZUanIzVVBHVGJqU21jWHl4bnNBRFFSRlFjSkhZQWVrQ3pZOEVpcWV3TDgwT3Z1TXg4Ci0yU1UxUDgxaEE3MERnNXRzQkhXVDNaNkhVd3NLRzZRWWpLcjFjVWhUd0x5YXpoeUFWZ29nU042djdHek85TTNJCi1ET0J3OFhiMG16NW9xR1ZyZTRTN1RhcE44bjhaRzVvV20wWEtHQUNYeTBLYnpZMEt2V2RrVXp1bUZROFgvQVJFCi1Gc1d5dStPNjlFYk1xWlJVS3U0NVNyY3Vic2RWR2pPd3NlWkhrbXA1VjZwYzZRL09yVEhacVhKdER2YTVVSVJxCi0rTG9mNXNjeTlqaXd3Um5NL2tsdmgyM216MHlTVTRZQTM2NDVtNUtxeVdSNFlKQ1IxTW5NQU5tWFVTZVlXZll6Ci0xOStSMWdFQ2dZRUF6bTgzbEk3ZUloVEgzOEgwL2pGcGYzUjd2TmpQWDNUUjV3YWE0RVhzQ3hoVE9wb0w4OW1SCi1pTm16SDBhT0M0T1I4cnovOVBDbndtdEgxbHlRNHIvUm9rQm1DcDNwQnhlV1NsZW5GZlYzckxDZUVEbzBRL09MCi1TWDVETDRJYlpEMFZtTkR0NjA2V1M3QUV2OTNHaHBOMDNBbnc2a2dIUVVtMWwwMzBQUjlEWVpFQ2dZRUF3cmdPCi0vUnlCL0VodzdzbWx5c1piMnNuMWx2ZDZ6OGZnK3BjdThaTlJLT0RhWUNDT2I4cDFsbkhybklRZEVtamhsbVZwCi1IQUV1SjVqeENiK2x5cnVWK2RseCswVy9wNmxIdEtyMGlCSEc4RUZrSG5qTjZZKzU5UXUwSGZTbTBwWnc3RnRyCi1RY1VEUHVESmtUVlVBdnJacWNpV2x3elRXQ0M5S1lYdGFzVCtBSGtDZ1lFQW5QODBkQVVicHl2S3ZyL1J4U2hyCi1KWVcvUFdaZWdDaG1JcCtCVmlPWFd2RExDM3h3cnFtKzV5YzU5UVZCcmp3SDJXWW4rMjZ6QjBkendQRnhOeUhQCi1HdWlETW52WjU0em12ZTlmb1hHbjdHditLalU1M3B2d1NKcUFHamVIQVhyN1c5YzV1b1Z3Qkd2L2tMUG44aDFlCi0rS0dPMlg2aUZlTXErY0ZOaU5hbjlpRUNnWUJqK29HbnNLV0ZWZVMybHM4THlNR05Hem1BWkYyb3BpWjhSSGdVCi1EZUlVTFMrelA4UWkzajkyR2RReUx4dUdRbGZpRXZ2Zkp6UDluT2ZXYTVMQy80SklJVUFIRm84TGxUMStKSEVlCi1GSktpOWRCa1hQN05OOER4Y3lydVhwbnhjdEZVYXJRdHR1eXRzbG1NdDJjRmlLdU9JN0krcUpVem9NdS9zRVp4Ci1GZWlkY1FLQmdRQ3VyYWxtdGJsNG54am4zYVIvWmdGVEFLQ0w5V2FKUGg1aEZKOXE0VXVXeEpkQlg1ejNFeTMvCi03MGVoTEtZUHVtam1adFh5bnp6NEJUV2oxVzlYK3Rnai80OTl1elY2TGRRRVJHalQ2V1Z5OHhSOVJFTFdXMGFuCi1OOU4xSUFjNHFUU2piSTRFSU13TUJTQW9GZkN1eC9qZkRrRzRnK1JEbnBWOTJzcXh6MkN0S2c9PQotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9leGFtcGxlX211bHRpLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9leGFtcGxlX211bHRpLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUzMjk1ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfZXhhbXBsZV9tdWx0aS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNvakNDQVlxZ0F3SUJBZ0lCRVRBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dOekV3TVRFeU56VXlXaGNOTWprd056RXdNVEV5TnpVeVdqQTZNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R0RBV0JnTlZCQU1NRDNkM2R5NWxlR0Z0Y0d4bExtTnZiVENCbnpBTkJna3EKLWhraUc5dzBCQVFFRkFBT0JqUUF3Z1lrQ2dZRUF4emlTeGNQMGNCQUlhL2dUTmV6ekFSeUtKUStWZ2pZZXFoNlcKLUVsVWFyUGg3ZFRNTGNGY3puTm1WOFUxTVJEZkl2c1NnUCtSa1BOUHp5UUpEUGNOOFc0NTVxZ21Fcm9JVE53cS8KLWhXbTlLalZpYkxIKzVLemdRckpCZkh2a25TY1VteXdIYTQ1RFBUOXNkanBHbWh4d0RTV2R2QWpIUVB6WUFqZGkKLS8zM3IvQzBDQXdFQUFhTTJNRFF3TWdZRFZSMFJCQ3N3S1lJTFpYaGhiWEJzWlM1amIyMkNDMlY0WVcxd2JHVXUKLWJtVjBnZzBxTG1WNFlXMXdiR1V1YjNKbk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ0piRml6dXJIejgwNHgKLTZOYnN2c1BQZ0xjRVNxME9jR09FWE9DT2U4c2VacW9taFNZVFh0SEJ6ckZ0UnAyL2dtdE9ScTJvYXBvRERpcSsKLUkreFJMSllzVUJ1dDJOZGtabUVJUlNXNG40c1hKd3FiMGZYVFRrZDdFQVhCdkdOV2JFUmFiNVNiZjg0b3FkNHQKLXlqanoydStIdng4aFpDSEpHMlY5cWczemF3NXpKVDFBZkFzTWJqWHFpOENmVTdVK0Zjb3IrTzNHZXVVVmdwSkMKLVFDWGIyUWpqM1ptckN2R1pBOXg1OVh0bkVONm0yTzRwV2ttcVIvWjdNbFFyWnpRODB2Y1FNazkrcW9LSXIyRUoKLVJjSmhBdEUrZExWMTlJbGNjd3NEbEd4NWtUNU41elNZTEs5bkFSVjEvQWpLNDhiVXhHSDM1M0ExWTJNQ2Z5MEUKLWRYRFJlSmExCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfZXhhbXBsZV9tdWx0aV9ub2NuLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9leGFtcGxlX211bHRpX25vY24uY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjM0ODQ2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9leGFtcGxlX211bHRpX25vY24uY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCL1RDQ0FXYWdBd0lCQWdJSkFQZkdmL2pwcVdQNU1BMEdDU3FHU0liM0RRRUJCUVVBTUEweEN6QUpCZ05WCi1CQVlUQWs1TU1CNFhEVEUwTURFeU1qRXdNRFF6TTFvWERUSTBNREV5TWpFd01EUXpNMW93RFRFTE1Ba0dBMVVFCi1CaE1DVGt3d2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOMFJpcCtadXJCb3lpcnFPMnB0Ci1XWmZ0VHNsVTVBM3V6cUI5b0I2cTZBN0N1eE5BMjRvU2pva1RKS1hGOWZyWTlaRFh5TXJMeGY2VEhhL2FFaU56Ci1VbmxHR3JxZ1Z5dDJGakd6cUsvbk9Kc0lpMk9aT2dvbDdrWFNHRmk2dVpNYTdkUlltbU1iTi96M0ZBaWZoV1ZKCi04MWt5YmRIZzZHM2VVdTFtdEtrTDJrQ1ZBZ01CQUFHalpUQmpNQWtHQTFVZEV3UUNNQUF3Q3dZRFZSMFBCQVFECi1BZ1hnTUVrR0ExVWRFUVJDTUVDQ0hIZDNkeTV6YUc5MGIydGhiaTFpY21GMWJuTmphSGRsYVdjdVpHV0NGSGQzCi1keTV0WVhOemFXMXZMV0ZpWVhSbExtVjFod1RBcUFFQmh3VEFxRVdRTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCCi1BQmp4MXl0cnFDeUZDNS8wY2pXbmJMSzl2c3ZMbnkyWmlrRGV3ZlJ4cUo1ekF4R1dMcUhPcjFTbVVtdTJEcnZCCi1ia1Q5ZzV6MTkraU1oUG56SnoxeDdRMm03V1RJSlR1VVBLK2hLWkpBVERMTmhaODZoNU5rdzhrOVl6S2NPclBtCi1FSXFzeTU1Q1NnTFUwbnRsanFTQnZTYjRpZnJGMU5uSVdlajJsU2ZONnIrMwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X21kNS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfbWQ1LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTUxNGZkNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfbWQ1LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFB6Q0NBaWVnQXdJQkFnSUJCakFOQmdrcWhraUc5dzBCQVFRRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTURBd01UQXhNVEl4TWpFeVdoY05NekF3TVRBeE1USXhNakV5V2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRU5sY25RZ1RVUTFNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeUhURXpMbjV0WG5wUmRrVVlMQjl1NVB5YXg2ZgotTTYwTmo0bzhWbVhsM0VUWnpHYUZCOVg0SjdCS05kQmpuZ3B1RzdmYThINnI3Z3dRazRaSkdEVHpxQ3JTVi9VdQotMUM5M0tZUmhUWUpRajZlVlNIRDFiazJ5MVJQRDBocnQ1a1BxUWhUcmRPckE3Ui9VVjA2cDg2anQwdURCTUhFdwotTWpEVjAvWUkwRlpQUm83eVgvazlaNUdJTUM1Q3N0OTkrK1VNZC8vc01jQjRqNy9DZjhxdGJDSFdqZG1MYW81dgotNEp2NEVGYk1zNDRURmVZMEJHYkg3dmsyRG1xVjlnbWFCbWYwWlhINHlxU3hKZUQrUElzMUJHZTY0RTkyaGZ4LwotL0RacnRlbk5MUU5pVHJNOUFNK3ZkcUJwVm9OcTBxalU1MUJ4NXJVMkJYY0ZiWHZJNU1UOVROVWhYd0lEQVFBQgotbzAwd1N6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlJ4b1FCemNrQXZWSFplTS94U2o3engzV3RHSVRBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU5CZ2txaGtpRzl3MEJBUVFGQUFPQwotQVFFQUY0UWNNc2hWdFZiWWd2dlU3ZjJsV2FrdWJiQUlTTS9rK0ZXL2Y3dTYzbTBNU1NvU0ZlWWZsQk9DMVdmNAotaW1nREVuV2NXVEg1VjdzeHNMTm9neGZwZlR1RlVhS2ZIZVFtUmhBSzRVZ3FiREVzNGRadmdvM3daL3c5MkcwLwotUU5udEplZm5xYUZpSVRYWlRuNko4aHhlb0VxNFFidWNiV2dlWTZmVEF3WHRJdjQwQnZNT1Nha2t1SUZBeUl2VgotOTBWWTFqNHZueDAveHY1bElCQXhhaDFIZHRYaHF0RHUvc1VmZEN0V1g1U0NjVlV3d00zZ1o0UTFaZFdRbWx2RgotNzM3Wkc3WGFJTnhzRGFJMDRzSnhjN3F2dVJZaExkQ3dVUG5aTDVUR0VRSjhqTmEvMzllRWJua3ZzN2hiVFU5OAotNnFHOFVBWXNTSTdhTWUxajdEWnBrb1BMOXc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTIzNTg1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9zaGExLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFEQ0NBaWlnQXdJQkFnSUJCekFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOU1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHekFaQmdOVkJBTU1FbEJ2YkdGeVUxTk1JRU5sY25RZ1UwaEJNVENDQVNJdwotRFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2Sgotdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQgotUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbAotWHdxeFU4WXdmaFU1clBsYTduK1NucVlGVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4awotNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUAotY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQQotQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVSDNUV1B5bkJkSFJGT3dVU0xEMm92VU5aQXFZdwotSHdZRFZSMGpCQmd3Rm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEUVlKS29aSWh2Y05BUUVGQlFBRAotZ2dFQkFGQUh1V2ZqT3ArR2FNNWRQM05CYVVheVhtamJyc1k1Zm8veXNmT1ZWOXhpcHpiUFd2RTJCdTY3OWlVMQotRWcrNWhNRTlWbE1tUWVqR3pHMDlSZVhFKzMwZ3lodE8zdldBOFUyMVlyc0wzeWJ2UzZFUkVIR0trMjM4YklCaAoteURQL2IwVnVvTnNTM3hSbjlXeUgzVFJ1NXJlMHZLNjhPU2tMSVdQZDAxZmd2Y2ZsNll5VVkrV3V1U3JwWWNEdgotbnJnS3ZGWndzL0VFNFJObGR0UkMxQmx3eTQ5N0F0bVdCUVdzNjV6ajVKa05kTm5tNEpKcVhaQUFyTmgyR1NabwotODNDLzFaU0ZyTm85R09Oc0NKMEdWR0V0N0lLN0ZQcVhZVzdyWGkzMEJSc2UzM3ppVTdSUFdHRFQxM2JoOVJkegotUnFzb1o1aDVWanRIT25NVVVEOTlnSVdpbkJFPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTIyNC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfc2hhMjI0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzhhMjA5ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfc2hhMjI0LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFqQ0NBaXFnQXdJQkFnSUJDREFOQmdrcWhraUc5dzBCQVE0RkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBL01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIVEFiQmdOVkJBTU1GRkJ2YkdGeVUxTk1JRU5sY25RZ1UwaEJNakkwTUlJQgotSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaAotWG9tL3VPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcQotMVVGRGQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodAotZ1NWZkNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbAotTEdUcmxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdQotcGs5d2JwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJRAotQVFBQm8wMHdTekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5UTFrQwotcGpBZkJnTlZIU01FR0RBV2dCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvekFOQmdrcWhraUc5dzBCQVE0RgotQUFPQ0FRRUFUZG83cDdkb2s4Z2N4UzBkWUdsdVhNT3NBRUFMeUhBZ3ZBSlNaVXQweDhSeGVtSmZwcXV2NFhHLwotcnBwUW10QTVhUGY1OUZvMHo1R2NTMHp6WUZMVFFJY0xIS251dUcwVzZ5amh4M2UrNUoxaGpMYnYvLy92dktHTgotanE1NXorQ0FOa3JhZ01rNlhRL3QraVhraC9GcTAwRlMremJmMUpMYU1YT0xzdDVkZnYzdVBRYUpId3pYL0VhRQotVmRvZ25YeFd1ZE5RZ0l2ZW1pbmRrOVRUUW9uMjd6QlMvejZud2NCQ0lYTURmZXNBamNIdUJDZnhsNnBvZks2RQotMjhxczR1cC9KYXlwdEcyQ1g5OExHc0V5QWdlZ3dUTVNZR0xKb1djSGhyVWNiRjBmTk9jWFBnUUtHVGNaTzRUZwoteVBZR2JrRzlGamdhQVNjMmdUcllWUFJaNm1ZMTlnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9zaGEyNTYuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTI1Ni5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1NmQ0MjguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTI1Ni5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURRakNDQWlxZ0F3SUJBZ0lCQ1RBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQS9NUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SFRBYkJnTlZCQU1NRkZCdmJHRnlVMU5NSUVObGNuUWdVMGhCTWpVMk1JSUIKLUlqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxUUlmUFVCcTFWVlRpLzAyN29KbExoVmgKLVhvbS91T2hGa052dWlCWlMwL0ZEVUVlV0VsbGtoMnY5SytCRytYTyszYytTNFpGYjdXYWdiNGtwZVVXQTBJTnEKLTFVRkRkMTg1ZkFrRVI0S3dWemx3N2FQc0ZSa2VxRE1JUjhFRlFxbjlUTU8wMzkwR0gwMFFVVUJuY3hNUFFQaHQKLWdTVmZDckZUeGpCK0ZUbXMrVnJ1ZjVLZXBnVmI1eE9YaGJVamt0blVKQWJWQ1NXSmRRZmRwaHFQUHdrWnZxMWwKLUxHVHJsWnZjL2tGZUY2YmFiRnRwekFLNkZDd1dKSnhLM00zUTkxSm5jL0V0b0NQOWZ2UXh5aTF3eW9rTEJOc3UKLXBrOXdicDdPdlZpSjRsTlpubTVha21YaWlEOE1sQm1qM2VYb25aVVQ3U25icTNBUzNGcktheGVyVW9KVXNRSUQKLUFRQUJvMDB3U3pBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCUWZkTlkvS2NGMGRFVTdCUklzUGFpOVExa0MKLXBqQWZCZ05WSFNNRUdEQVdnQlMwV3VTbHM5N1NVdmE1MWFhVkQrcyt2TWY5L3pBTkJna3Foa2lHOXcwQkFRc0YKLUFBT0NBUUVBdW84a1JEZFFqMytyZ3FiejdiUzNaZkJWQ3FnYlFmcnVSWm5jUDBzM0lRSjZnN2s2Qk5mQ1RPK04KLXRJZ25DRGhuaGpLOURTNGwxTFRrUUpLZmNkNnNmdXdCeGpIS1dHWlVxVHFIV0ZtL081TUp3Zk1weEkzMDV4WEUKLWV2RHpoOExLMVczbW9YNU9jVDRieDNRc1k5STRucVhRa096akdpZHhoT1hZQTJ2K1g1T2hSdDNJSjJkem1RUXUKLUJWWG5EYnp1Y2hVZlA1YWVDd1c2bDdWWCtSSk9FMnpscU81eXQwZWpUMDJFNDRxdEM1c0JmMjRWOWtvNUxPUncKLTFKN1prMzRRd3NLclNQU0d4T3VvV053SDNmSnBnWlFJbUtnSklRQ3Nrc0orQTQ1Q0s2aXowa204b1RpSTNIb28KLTJMcEU2VU54Mk04amlaV1Z6SDFMNHRrZzRmY0NvUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfc2hhMzg0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9zaGEzODQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGVjMTBiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9zaGEzODQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUWpDQ0FpcWdBd0lCQWdJQkNqQU5CZ2txaGtpRzl3MEJBUXdGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEvTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhUQWJCZ05WQkFNTUZGQnZiR0Z5VTFOTUlFTmxjblFnVTBoQk16ZzBNSUlCCi1JakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoCi1Yb20vdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xCi0xVUZEZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Ci1nU1ZmQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsCi1MR1RybFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1Ci1wazl3YnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlECi1BUUFCbzAwd1N6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDCi1wakFmQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU5CZ2txaGtpRzl3MEJBUXdGCi1BQU9DQVFFQWV5SG0rZW1vNC9RSHFFVktqL01ZUE9zUHJyY3I1TXVwTkU3V21vVUE3U2lsVlVsY2VJeThBcFdSCi1NVWR3bmg3VVBrQ2E2SzF5dmF5a25FYkh6RDJMdjlCTEVmNUExL2ErRi9MbUZYaVYwa1hJRnVlMTN1K3o3bGFWCi1OL3MvanBoUFZnalB3WmlDMVp0T29EN1d2U2tJSW5CNTNqNFEzVkNINkVwWnhadURPL3U4Q0dCUTBnKzlFcWhuCi1XMys0R0ZueFVQWWVOMTd1L29wdDE2bUVQeDZXRmJSbDloczV3VXZORC9GQ0RFSi85dVZOaVZZbFBZeUhLenpxCi1lM1dYQ0hMWVVLR0VTUVgrODVJcm5tbHdiQWIzM2JNK3NBTTZuYUZhZlhUWkVpbWVFcFgzaVlySHpob1U3YVI3Ci1waW9qd0FFK1liM0FjK0h1MWZZNENSTzRaSEw2Wmc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTUxMi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfc2hhNTEyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjIyNTRmYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfc2hhNTEyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFqQ0NBaXFnQXdJQkFnSUJDekFOQmdrcWhraUc5dzBCQVEwRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBL01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIVEFiQmdOVkJBTU1GRkJ2YkdGeVUxTk1JRU5sY25RZ1UwaEJOVEV5TUlJQgotSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaAotWG9tL3VPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcQotMVVGRGQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodAotZ1NWZkNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbAotTEdUcmxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdQotcGs5d2JwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJRAotQVFBQm8wMHdTekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5UTFrQwotcGpBZkJnTlZIU01FR0RBV2dCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvekFOQmdrcWhraUc5dzBCQVEwRgotQUFPQ0FRRUFCbnVxN2dNVTZFV3FjbUVjajIvd2lxT0ZVQmVIOXJvMHRuaTlKWnphREFLa0JNd29lSjNSUC81OQotd1k5MlVaQy9Tb1dQbTB5TEsyNUtUd3hKaGQ2NDVhNVplUmsreWkxU0crb1hOZ1pGUzAzRjFPcmF0MGJNNXU5NAotUnR6TFJJbkd6VHhobFZTOEhQUnlhMituRWFQVDlZTk8yNXZPUmN6UERqdHJJODJVbnlzYVdpS3gxT0NQaGRQMwotWnlTQWtYL3pFMVU4VGUwKzk0OEMwdm1nMmFUV0NTazV6dXRyeUZnSEg1VW9qbW1XQWtCSHBYM3RJbThKTVJHOQotdHZwNmZiSURhbjBMbVNzVks4cnE1T1BTd0FLTXNvNkdGNEl1eG91L2pQMmdJK051dGVuWDI2d3JmZlNqbFBpVwotS2tzTE5qOG9MNnZJVWFwMjhPaCtHd3BoMDJiaVNRPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2xpLXJzYS1zaGEyNTYtYmFkYWxnLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NsaS1yc2Etc2hhMjU2LWJhZGFsZy5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDBiYTJhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2xpLXJzYS1zaGEyNTYtYmFkYWxnLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1lYy1zaGExLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTEucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzU4NjQwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTEucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCYnpDQjlnSUJBVEFKQmdjcWhrak9QUVFCTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtFd2hRCi1iMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRUmNOTVRNd09USTBNVFl6Ci1NVEE0V2hjTk1qTXdPVEl5TVRZek1UQTRXakFVTUJJQ0FRb1hEVEV6TURreU5ERTJNamd6T0ZxZ2NqQndNRzRHCi1BMVVkSXdSbk1HV0FGSjF0SUNSSkFUOHJ5M2kxR2J4K0pNbmIrelo4b1VLa1FEQStNUXN3Q1FZRFZRUUdFd0pPCi1UREVSTUE4R0ExVUVDaE1JVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nCi1RMEdDQ1FEQlErSitZa1BNNkRBSkJnY3Foa2pPUFFRQkEya0FNR1lDTVFEVkc5NXJyU1NsNGRKZ2JKNXZSMUdXCi1zdkV1RXNBaDM1RWhGMVdyY2FkTXVDZU1RVlg5Y1VQdXBGZlFVcEh5TWZvQ01RQ0tmMHl2OHBOOUJBb2kzRlZtCi01Nm1lV1BoVWVrZ0xLS01Bb2J0Mm9KSlk2ZmV1aUZVMllGR3MxYUYwclY2QmorVT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTIyNC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1lYy1zaGEyMjQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MTMxZjEwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTIyNC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJjRENCOXdJQkFUQUtCZ2dxaGtqT1BRUURBVEErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNoTUkKLVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRVhEVEV6TURreU5ERTIKLU16RXdPRm9YRFRJek1Ea3lNakUyTXpFd09Gb3dGREFTQWdFS0Z3MHhNekE1TWpReE5qSTRNemhhb0hJd2NEQnUKLUJnTlZIU01FWnpCbGdCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmS0ZDcEVBd1BqRUxNQWtHQTFVRUJoTUMKLVRrd3hFVEFQQmdOVkJBb1RDRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUURFeE5RYjJ4aGNuTnpiQ0JVWlhOMElFVkQKLUlFTkJnZ2tBd1VQaWZtSkR6T2d3Q2dZSUtvWkl6ajBFQXdFRGFBQXdaUUl3Ym4raTBkT2VzdDBJSkd6dXFCTEEKLVY1bnNjWlB2SGpEVjZsV3NTd3VyUzRMQy9Vdi9xV3RldU1DcDNPcVFSSkhjQWpFQTZLQTBkaWJvdmZMMVdLRm8KLUM4alVHeGxNZkhlV0RSa3FNZmNqamdJcGt5N3Y1MHNLdERPZm1GSm4zSEZVYmlLcAotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtZWMtc2hhMjU2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTI1Ni5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkZmQ1ZjguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtZWMtc2hhMjU2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQmNUQ0I5d0lCQVRBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSQotVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFWERURXpNRGt5TkRFMgotTXpFd09Gb1hEVEl6TURreU1qRTJNekV3T0Zvd0ZEQVNBZ0VLRncweE16QTVNalF4TmpJNE16aGFvSEl3Y0RCdQotQmdOVkhTTUVaekJsZ0JTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZLRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQwotVGt3eEVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRREV4TlFiMnhoY25OemJDQlVaWE4wSUVWRAotSUVOQmdna0F3VVBpZm1KRHpPZ3dDZ1lJS29aSXpqMEVBd0lEYVFBd1pnSXhBS3VRNjg0czdneWh0eEtKcjZMbgotUzJCUTAyZjFqalBIclpWZFhhWnZtM0M1dEdpMmNLa29LMWFNaXlDM0xzUkN1QUl4QUlNaGowVG1jdUlacjVmWAotZzVSQnlEN3pVblpCcG9FQWRneEZ5NEpQSjJJVmlXT1Bla1NHaDhiL0pZMVZOUzZaYnc9PQotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtZWMtc2hhMzg0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTM4NC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3NTdhYmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtZWMtc2hhMzg0LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQmNEQ0I5d0lCQVRBS0JnZ3Foa2pPUFFRREF6QStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSQotVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFWERURXpNRGt5TkRFMgotTXpFd09Gb1hEVEl6TURreU1qRTJNekV3T0Zvd0ZEQVNBZ0VLRncweE16QTVNalF4TmpJNE16aGFvSEl3Y0RCdQotQmdOVkhTTUVaekJsZ0JTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZLRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQwotVGt3eEVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRREV4TlFiMnhoY25OemJDQlVaWE4wSUVWRAotSUVOQmdna0F3VVBpZm1KRHpPZ3dDZ1lJS29aSXpqMEVBd01EYUFBd1pRSXdhdGVKYUQxMytZaTRIV0JJbE9vdgotOFpEc3ZuZlFmVy9SMEExczJaY2NBaStieXVyU2h1TkdpU3ZzRlNoNWQvNlFBakVBNDI3RjhiTmsvZmRqNVlYdQotT28xcUVkN1dwRDJkTlViMGRyYUdTSWNKR0JSR3ppNWl0MTRVWHI5Y1I0UzVlSjZRCi0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1lYy1zaGE1MTIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtZWMtc2hhNTEyLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdjOTQwMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1lYy1zaGE1MTIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCY1RDQjl3SUJBVEFLQmdncWhrak9QUVFEQkRBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hIREFhQmdOVkJBTVRFMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEVYRFRFek1Ea3lOREUyCi1NekV3T0ZvWERUSXpNRGt5TWpFMk16RXdPRm93RkRBU0FnRUtGdzB4TXpBNU1qUXhOakk0TXpoYW9ISXdjREJ1Ci1CZ05WSFNNRVp6QmxnQlNkYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZktGQ3BFQXdQakVMTUFrR0ExVUVCaE1DCi1Ua3d4RVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFERXhOUWIyeGhjbk56YkNCVVpYTjBJRVZECi1JRU5CZ2drQXdVUGlmbUpEek9nd0NnWUlLb1pJemowRUF3UURhUUF3WmdJeEFML1ZGckRJWVVFQ3NTMHJWcEF5Ci02enQvQ3FlQVoxc2EvbDVMVGFHMVhXMjg2bjJLaWJpcHI2RXBrWVpOWUlRSUxnSXhBSTB3YjNQeTFESFBXcFlmCi0vQkZCSDdDM0tZcStuV1RyTGVFbmhyalUxTHpHL0NpUThsbnVza3lhNmx3L1AzbEovQT09Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1pZHAucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtaWRwLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTIyOWU3ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1pZHAucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCc3pDQm5BSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFCi1DaE1JVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1URUZCdmJHRnlVMU5NSUZSbGMzUWdRMEVYRFRFNE1ETXhOREEzCi1NekUwT0ZvWERUSTRNRE14TkRBM016RTBPRnFnTFRBck1Da0dBMVVkSEFFQi93UWZNQjJnRzZBWmhoZG9kSFJ3Ci1PaTh2Y0d0cExtVjRZVzF3YkdVdVkyOXRMekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBcy92cDFZYnE5TGovCi1ZTStPMnVCcWhSTmR0NDk0R1lTWWNaY2x0YlFEd0xnRHdzRlE5UytxNXpCdGFuaHhpRjNDNmR5RG9XUzZ4eVkzCi1ka2RPOWtLMllBUUxOYUZCQ3NLUnJJOXZHS3VGNS8xdUlyMGE4Y1FjcVZ6eVJJOXVLMEtnR0VrOS9BUEd0cW9iCi1uai9udDJyeUdDK3lFaDIwRm12d0ZuMXZONXhhV0szdVVJSkNORFRaZStLUW4xNTBpQVUvbVdaRzJ4RGRTWGdtCi1KdHBUclk2dG9CZ1R3REd5dXMyd0lEdkFGNnJCYzFsUm9SMEJQdVRSMWZjVVBNdnI4amNlWnFHK3h1SCt2bWtVCi1qMUI0VHUrSzI3Wm1aTWxobHRmZ3dMemNnSDlFZTFUZ1dQTjJRcU16ZVpXL3ZOTXlJSXZXQVdrMmNGeUNKajZyCi0xNi85dXBMNjR3PT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWlkcG5jLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWlkcG5jLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGViZTQ4MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1pZHBuYy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUJzRENCbVFJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUUKLUNoTUlVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEU0TURNeE5ERXgKLU1UUXpObG9YRFRJNE1ETXhOREV4TVRRek5scWdLakFvTUNZR0ExVWRIQVFmTUIyZ0c2QVpoaGRvZEhSd09pOHYKLWNHdHBMbVY0WVcxd2JHVXVZMjl0THpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUNzc3pzTndBTWttVXJidGkKLUgxd3BXTjNMSWIzMk1UWmtCV1plRldXUTFNeXpTRnNsZ25PY3U2dGVzSnVUUUpWSk1HQ1NYWnY3amtWSGVlaUsKLXgrQkFvSENyUjJhUlZQYm1pYVA0M1FwL2RGT09mSFZNTS9WVldtdUVZdUNRYUNBZVZMUWdHYmdBWUhFOWFIUU4KLXZCZzhtN05KOTVhdjJzdkxITUZJaGlyWmxLV3NBWE0rYUN5em91ZEVJaHJQNFBwd3QwMVNDdERsNWd5ZzFHa2QKLUIzd3VPY2tqVGsweHdYZGxPU01IOW8wU0QyZmtjNDFBRkRxT1pUSzJOVFF6TkNoRE5GYktYbDhzcjlTYXZKQ20KLWs3Mmw3d05KczZVT0VoUU15Z3lYRXZxcDhKYklpOUpJKzNURDR6NHdVdDBFblBrdzBVNDhnckxYRmhqd0JMV2kKLWN4eWpRUT09Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1tYWxmb3JtZWQtdHJhaWxpbmctc3BhY2VzLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLW1hbGZvcm1lZC10cmFpbGluZy1zcGFjZXMucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWFlM2RhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLW1hbGZvcm1lZC10cmFpbGluZy1zcGFjZXMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCYnpDQjlnSUJBVEFKQmdjcWhrak9QUVFCTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtFd2hRCi1iMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRUmNOTVRNd09USTBNVFl6Ci1NVEE0V2hjTk1qTXdPVEl5TVRZek1UQTRXakFVTUJJQ0FRb1hEVEV6TURreU5ERTJNamd6T0ZxZ2NqQndNRzRHCi1BMVVkSXdSbk1HV0FGSjF0SUNSSkFUOHJ5M2kxR2J4K0pNbmIrelo4b1VLa1FEQStNUXN3Q1FZRFZRUUdFd0pPCi1UREVSTUE4R0ExVUVDaE1JVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nCi1RMEdDQ1FEQlErSitZa1BNNkRBSkJnY3Foa2pPUFFRQkEya0FNR1lDTVFEVkc5NXJyU1NsNGRKZ2JKNXZSMUdXCi1zdkV1RXNBaDM1RWhGMVdyY2FkTXVDZU1RVlg5Y1VQdXBGZlFVcEh5TWZvQ01RQ0tmMHl2OHBOOUJBb2kzRlZtCi01Nm1lV1BoVWVrZ0xLS01Bb2J0Mm9KSlk2ZmV1aUZVMllGR3MxYUYwclY2QmorVT0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQmNUQ0I5d0lCQVRBS0JnZ3Foa2pPUFFRREJEQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSQotVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFWERURXpNRGt5TkRFMgotTXpFd09Gb1hEVEl6TURreU1qRTJNekV3T0Zvd0ZEQVNBZ0VLRncweE16QTVNalF4TmpJNE16aGFvSEl3Y0RCdQotQmdOVkhTTUVaekJsZ0JTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZLRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQwotVGt3eEVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRREV4TlFiMnhoY25OemJDQlVaWE4wSUVWRAotSUVOQmdna0F3VVBpZm1KRHpPZ3dDZ1lJS29aSXpqMEVBd1FEYVFBd1pnSXhBTC9WRnJESVlVRUNzUzByVnBBeQotNnp0L0NxZUFaMXNhL2w1TFRhRzFYVzI4Nm4yS2liaXByNkVwa1laTllJUUlMZ0l4QUkwd2IzUHkxREhQV3BZZgotL0JGQkg3QzNLWXErbldUckxlRW5ocmpVMUx6Ry9DaVE4bG51c2t5YTZsdy9QM2xKL0E9PQotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLSAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtcnNhLXBzcy1zaGExLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhMS5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5Y2E0ZjcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtcnNhLXBzcy1zaGExLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQ0pEQ0NBUVlDQVFFd0V3WUpLb1pJaHZjTkFRRUtNQWFpQkFJQ0FPb3dPekVMTUFrR0ExVUVCaE1DVGt3eAotRVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJrd0Z3WURWUVFERXhCUWIyeGhjbE5UVENCVVpYTjBJRU5CRncweAotTkRBeE1qQXhNelEyTXpWYUZ3MHlOREF4TVRneE16UTJNelZhTUNnd0VnSUJDaGNOTVRNd09USTBNVFl5T0RNNAotV2pBU0FnRVdGdzB4TkRBeE1qQXhNelF6TURWYW9HY3daVEJqQmdOVkhTTUVYREJhZ0JTMFd1U2xzOTdTVXZhNQotMWFhVkQrcyt2TWY5LzZFL3BEMHdPekVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTQotTVJrd0Z3WURWUVFERXhCUWIyeGhjbE5UVENCVVpYTjBJRU5CZ2dFQU1CTUdDU3FHU0liM0RRRUJDakFHb2dRQwotQWdEcUE0SUJBUUI4WkJYMEJFZ1JjeDBsZmsxY3RFTFJ1MUFZb0o1Qm5zbVFwcTIzQ2E0WUlQMnliMmtUTjFaUwotNGZSNFNnWWNOY3RnbzJKSmlOaVVrQ3UxWm5SVU9KVXk4VWxFaW8wK2FldW1UTno2Q2JlSkVEaHI1TkMzb2lWMAotTXp2TG45ckpWTFBldE9UOVVydnZJeThpejVQbjFkOG11NXJrdDlCS1FScTlOUXg4cmlLblNJb1RjOTFOTENNbwotbWtDQ0I1NURWYmF6T0RTV0sxOWU2eVEwSlM0NTRSZ2xPc3FSdExKL0VEYmk2bENzTFhvdEZ0M0dFR01yb2IxTwotN1FjazFaNTlib2FIeEdZRkVWbng5MCs0TTMvcWlrVnR3WmRjQmpMRW1mdXdZdnN6Rnc4SjJ5Nlh3bWcvSHRVYQoteTZsaTBKeldOSHRrS1VsQ3YyK1NFU1piRDNOVThHUVoKLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhMjI0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhMjI0LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTUxZDVkOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1yc2EtcHNzLXNoYTIyNC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUNlakNDQVRFQ0FRRXdQZ1lKS29aSWh2Y05BUUVLTURHZ0RUQUxCZ2xnaGtnQlpRTUVBZ1NoR2pBWUJna3EKLWhraUc5dzBCQVFnd0N3WUpZSVpJQVdVREJBSUVvZ1FDQWdEaU1Ec3hDekFKQmdOVkJBWVRBazVNTVJFd0R3WUQKLVZRUUtFd2hRYjJ4aGNsTlRUREVaTUJjR0ExVUVBeE1RVUc5c1lYSlRVMHdnVkdWemRDQkRRUmNOTVRRd01USXcKLU1UTTFOakEyV2hjTk1qUXdNVEU0TVRNMU5qQTJXakFvTUJJQ0FRb1hEVEV6TURreU5ERTJNamd6T0Zvd0VnSUIKLUZoY05NVFF3TVRJd01UTTBNekExV3FCbk1HVXdZd1lEVlIwakJGd3dXb0FVdEZya3BiUGUwbEwydWRXbWxRL3IKLVByekgvZitoUDZROU1Ec3hDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLRXdoUWIyeGhjbE5UVERFWk1CY0cKLUExVUVBeE1RVUc5c1lYSlRVMHdnVkdWemRDQkRRWUlCQURBK0Jna3Foa2lHOXcwQkFRb3dNYUFOTUFzR0NXQ0cKLVNBRmxBd1FDQktFYU1CZ0dDU3FHU0liM0RRRUJDREFMQmdsZ2hrZ0JaUU1FQWdTaUJBSUNBT0lEZ2dFQkFFSkkKLWk5c1FPek12dk9Ua3NONDgrWCtray93a0xNS1JHSTIyMmxxVTZ5NnRQMUxYM09FLytLTjhnUFhSK2xDQytlMHYKLVRzUlRKa3BLRWNtSFpvUC84a090Wm5MYjlQZElUS0dNUW5aK2RtbjVNRkV6WkkvenlyWVd1SlR1SzFRODN3MGUKLU1jODhjQWh1OGk0UFRrL1duc1dEcGhLMVEyWVJ1cG1td1dTVXBwMVoycnBSK1lTQ2VkQzAxVFZydFNVSlVCdzkKLU5TcUtEaHlXWUpJYlM2L2JGYUVSc3dDOHhsTVJoeUxIVXZpa2ptQUszNlRiSWRoVG5FZmZIT1BXNzVzRU9FRUIKLWYwQTNWdGxaN3k1eXQyL2E2dk9hdUpDaXZ4S3QvUHV0ZEhmQnFINDNRUW1vVkxXQzJGbVQ5QURUSndjc1pCM0QKLWE2SlNxQ0lNUkNRWTJKT1VuMEE9Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1yc2EtcHNzLXNoYTI1Ni5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1yc2EtcHNzLXNoYTI1Ni5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxNmE0OTEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtcnNhLXBzcy1zaGEyNTYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlDZWpDQ0FURUNBUUV3UGdZSktvWklodmNOQVFFS01ER2dEVEFMQmdsZ2hrZ0JaUU1FQWdHaEdqQVlCZ2txCi1oa2lHOXcwQkFRZ3dDd1lKWUlaSUFXVURCQUlCb2dRQ0FnRGVNRHN4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lECi1WUVFLRXdoUWIyeGhjbE5UVERFWk1CY0dBMVVFQXhNUVVHOXNZWEpUVTB3Z1ZHVnpkQ0JEUVJjTk1UUXdNVEl3Ci1NVE0xTmpFMldoY05NalF3TVRFNE1UTTFOakUyV2pBb01CSUNBUW9YRFRFek1Ea3lOREUyTWpnek9Gb3dFZ0lCCi1GaGNOTVRRd01USXdNVE0wTXpBMVdxQm5NR1V3WXdZRFZSMGpCRnd3V29BVXRGcmtwYlBlMGxMMnVkV21sUS9yCi1QcnpIL2YraFA2UTlNRHN4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERVpNQmNHCi1BMVVFQXhNUVVHOXNZWEpUVTB3Z1ZHVnpkQ0JEUVlJQkFEQStCZ2txaGtpRzl3MEJBUW93TWFBTk1Bc0dDV0NHCi1TQUZsQXdRQ0FhRWFNQmdHQ1NxR1NJYjNEUUVCQ0RBTEJnbGdoa2dCWlFNRUFnR2lCQUlDQU40RGdnRUJBRVo0Ci1vcXA5aTVlWHJONmFDU1RhVTFqMDdNVlRGVy9VMWpRQXE2R3NlQjZiRXZvRVhGTVVISnNnQU9icUNLOWZsZkVDCi1GRXFYcVdTbzMzaGhQVTdBS0t0dGJETGpVWVJOblFBUFJVblJJbDEvYTErVWpxZ0tjaFdXRDlpdHllVzhJQ3hvCi1JZEFUWDlyZVltUERMSU1xVEM3enVmbFlrdnJ2ZEVPdUJPUlFQNW1uNGo4dDg0TVNRRi9wNHF6YVUwWHhMbzRYCi1ja3paQ2NIcGE0NUFBcENEakpNZDlvbmhGVkNZc3lraVlyRjlOUUZPOFRJNGxRNWp2NzlHb3VmRXp2aFkxU1BCCi1yMXh6NHNNcGZ5YW9QYWEzU00yL25ENjVFNWp6WGVsbDJ1MlZXTkdLdjR6QVFQMEU1eUdlbCsxcmtsQmx0YWRiCi1YTGRKeXlhazMzQ0xCS3UrbkpjPQotLS0tLS1FTkQgWDUwOSBDUkwtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtcnNhLXBzcy1zaGEzODQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtcnNhLXBzcy1zaGEzODQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MGY3ZTRjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhMzg0LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLQotTUlJQ2VqQ0NBVEVDQVFFd1BnWUpLb1pJaHZjTkFRRUtNREdnRFRBTEJnbGdoa2dCWlFNRUFnS2hHakFZQmdrcQotaGtpRzl3MEJBUWd3Q3dZSllJWklBV1VEQkFJQ29nUUNBZ0RPTURzeEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRAotVlFRS0V3aFFiMnhoY2xOVFRERVpNQmNHQTFVRUF4TVFVRzlzWVhKVFUwd2dWR1Z6ZENCRFFSY05NVFF3TVRJdwotTVRNMU5qSTRXaGNOTWpRd01URTRNVE0xTmpJNFdqQW9NQklDQVFvWERURXpNRGt5TkRFMk1qZ3pPRm93RWdJQgotRmhjTk1UUXdNVEl3TVRNME16QTFXcUJuTUdVd1l3WURWUjBqQkZ3d1dvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvcgotUHJ6SC9mK2hQNlE5TURzeEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtFd2hRYjJ4aGNsTlRUREVaTUJjRwotQTFVRUF4TVFVRzlzWVhKVFUwd2dWR1Z6ZENCRFFZSUJBREErQmdrcWhraUc5dzBCQVFvd01hQU5NQXNHQ1dDRwotU0FGbEF3UUNBcUVhTUJnR0NTcUdTSWIzRFFFQkNEQUxCZ2xnaGtnQlpRTUVBZ0tpQkFJQ0FNNERnZ0VCQUFjbwotU250VUdETEJPQXUwSUlaYVZlYTVOdDFOTXNNY3BwQzBoV1B1SDFMS0F3eVVPREJxcFQrMCtBdUFMSzBlSWRZUgotYTdtQUIrY3YyZkZ3bXd4blFXSjFGdng0ZnQvTjJBQWZCODNWUktwU28zeFI4Ynhsb0hmVFdLbXl4SkhtSDlqMQotRVltTFM4NnJqM05oamY0bS9ZbFFRM0ltNUh3T2dTZ0JPRThnbHE1RCswV21zaTlMc05FWlhFek13N1RNVWdicwoteTlvL2doWUYvc2hLVTRtZXdLM0RlTTlnUWlUY0g1QTRJU1hSODdoQlEwOEFLSlJBRzFDTHZUeXpxV2lVVVkrawotcThpWkRZRjE3c0hyUGkyeW44cTljNHpkeGlhV0RHRGRMMExoOTB3WEdUQWFnZW9HRXEyNVRNdUw1RnBYK3UxdQotS1VIL3hmMWpFbk56YllOR2ladz0KLS0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhNTEyLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhNTEyLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGYxZDY1MS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1yc2EtcHNzLXNoYTUxMi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIFg1MDkgQ1JMLS0tLS0KLU1JSUNlakNDQVRFQ0FRRXdQZ1lKS29aSWh2Y05BUUVLTURHZ0RUQUxCZ2xnaGtnQlpRTUVBZ09oR2pBWUJna3EKLWhraUc5dzBCQVFnd0N3WUpZSVpJQVdVREJBSURvZ1FDQWdDK01Ec3hDekFKQmdOVkJBWVRBazVNTVJFd0R3WUQKLVZRUUtFd2hRYjJ4aGNsTlRUREVaTUJjR0ExVUVBeE1RVUc5c1lYSlRVMHdnVkdWemRDQkRRUmNOTVRRd01USXcKLU1UTTFOak00V2hjTk1qUXdNVEU0TVRNMU5qTTRXakFvTUJJQ0FRb1hEVEV6TURreU5ERTJNamd6T0Zvd0VnSUIKLUZoY05NVFF3TVRJd01UTTBNekExV3FCbk1HVXdZd1lEVlIwakJGd3dXb0FVdEZya3BiUGUwbEwydWRXbWxRL3IKLVByekgvZitoUDZROU1Ec3hDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLRXdoUWIyeGhjbE5UVERFWk1CY0cKLUExVUVBeE1RVUc5c1lYSlRVMHdnVkdWemRDQkRRWUlCQURBK0Jna3Foa2lHOXcwQkFRb3dNYUFOTUFzR0NXQ0cKLVNBRmxBd1FDQTZFYU1CZ0dDU3FHU0liM0RRRUJDREFMQmdsZ2hrZ0JaUU1FQWdPaUJBSUNBTDREZ2dFQkFCOUYKLXl3QmZ4T2pldHhOYkNGaE9Zb1BZMmp2RkNGVmRsb3dNR3V4RWhYL0xrdHFpQlhxUmMycjVuYVFTenVIcU84SXEKLTF6QUN0aURMcmkwQ3ZnU0hscmF2Qk5lWTRjMndqLy91ZUZFODl0WTVwSzlFNnZacDdjVitSZk14MllmR1BBQTIKLXQ3dFdaMnJKV3pFTGc4Y1o4aHBqU3dGSDdKbWdKempFNWdpMmdBRGhCWU82VnY1UzNTT2dxTmppTjFPTTMxQVUKLXA2R0hLNVkxanVyRjVad3pzK3czd1hvWGdwT3h4d0VDNGVpUzg2YzlrTlN1ZHdUTHZEVFUwYllFUUUxY0YrSzAKLXNCOFFXQUJGSmZ1TzVrakQydzNyV2dtQWlPS3Nab3hkMXhyZGErV0QzSmhEWG5vVnEzb1ZCSVZsV1Z6NllJRDgKLWVuTWZNdndTY0E1QUltenU5eEE9Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9leHBpcmVkLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX2V4cGlyZWQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZjYwYWU0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX2V4cGlyZWQucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCcXpDQmxEQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEV4TURJeU1ERXdNalF4Ci1PVm9YRFRFeE1ESXlNREV4TWpReE9Wb3dLREFTQWdFQkZ3MHhNVEF5TVRJeE5EUTBNRGRhTUJJQ0FRTVhEVEV4Ci1NREl4TWpFME5EUXdOMW93RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUtnUDFYbUNJUGJmWTEvVU8rU1ZGUWlyCi1qQXJaOTRRblFkb2FuNHRKMjlkOERtVHhKK3o5L0t5V05vR2VPd2M5UC8yR1FRYVphaFFPQnIwZjZsWWQ2N0N0Ci13RlZoL1EyekY4RmdSY3JRVjd1L3ZKTTMzUTJ5RXNRa01HbE03ckU1bEM5NzJ2VUtXdS9OS3E4Yk45Vy90V3haCi1TRmJ2VFhwdjAyNGFJMElSdWRwT0NBTG5JeThTRmhWYjIvNTJJTjJ1UjZxckZpekRleE1FZFNja2dwSHVKekdTCi1JaUFOaElNbjVMZFFZSkZqUGdCelFVMTJ0RGRnemNweHRHaFQxMHk0dVFyZStVYlNqdytpVnltbDNpc3N3NTlrCi1PU21rV0ZiMDZMYW1SQzIxNUpBTW9rM1lRTzVSbnhDUjhFanFQY0pyKzcrTzlhMU8xKyt5aWFpdGc0YlVqRUE9Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9tZDUucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfbWQ1LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWIxNzk2Ny4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9tZDUucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCcXpDQmxEQU5CZ2txaGtpRzl3MEJBUVFGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEV4TURJeE1qRTBORFF3Ci1OMW9YRFRFeE1EUXhNekUwTkRRd04xb3dLREFTQWdFQkZ3MHhNVEF5TVRJeE5EUTBNRGRhTUJJQ0FRTVhEVEV4Ci1NREl4TWpFME5EUXdOMW93RFFZSktvWklodmNOQVFFRUJRQURnZ0VCQUtLQ0paMU13TCtnS0F3M1JWNHFFbWI5Ci1nTURkU0xKMVZka245RmdEeDJpak5uWUR0dmFXK0kzc09YcnE3TzZnVk4xS0VhbUpKYnVmVkpBNStPRTJvVmJDCi1odXNFZGdRbThENVRickdjalBJUFd4Z1l5dXVSc2w3WG92WmhYbnFUSVVyQytKOG9IOVh6S2FNYytIWmI1VWhSCi1oOGJ6Y3lwKzlqYkJqZTdsV3dLVHprdXZkL0k3VmJTMDJUVWtXRkpUcllCMExhajhXTWNnY1ppeVgwaVp1ajhqCi00aE91cHUwbFBvU3paNGg3dDBWbWF5NndPKzhuOExKb2h5aXdZUzdMZGRwT2pJZFAwTVdpZk43dS9BcnFOTmxoCi0ya2c4ZUFjMXBZT1UvcEpGVEFBYk9tQy9rUXBhOXNrZCtQUElQUGg5VDUzbzN5ZURRQTB2RnFOOTJKcnlDQ1U9Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGExLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX3NoYTEucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNDliZWJmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX3NoYTEucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCcXpDQmxEQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEV4TURJeE1qRTBORFF3Ci1OMW9YRFRFeE1EUXhNekUwTkRRd04xb3dLREFTQWdFQkZ3MHhNVEF5TVRJeE5EUTBNRGRhTUJJQ0FRTVhEVEV4Ci1NREl4TWpFME5EUXdOMW93RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUc2NGpxbjdWTGR2bktST3NiQ1BSOHc5Ci14bm94OXZqdU0ybEdXZW1hOXNUdXB0dzlFaEFyVlNiaWJYWjFJUFB5ckV5MVFPcTNOdWtCcVVXM0t6T3pZVjVNCi1CeFpTYTI4RlRReHRWQ2hXa0RVSU1DSzhCU3h5MDd5aWVGZi8zQThtYmZjVzNaek40YWtMeE93ZXVGcDZsMkg3Ci05b2EyamVVaTFCbEhDWlM2SllJMnBIWmw4cWlNUmlxcU1sZVNNMmsxdzdUcmFLTE5CRk04VUs3MmJyWGVaalBpCi1uTk96ZFlzUUR6V28xSFc3ZHNMV0xmWktvSmV5cXZvZlZEUXBDNWRPNTZrdHkvZG84OXoxT25FWGZ6TU5lVlZUCi1KQ2VBT3p1dTZrZHJmKzlrZVJvV2hjSW9Cb3MvWHRUVjU3dTBwZ3I4MWJMZ2pqNVBZaXZldktML2tLYnl2S0k9Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGEyMjQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfc2hhMjI0LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDY2ZjViZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGEyMjQucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCcXpDQmxEQU5CZ2txaGtpRzl3MEJBUTRGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEV4TURJeE1qRTBORFF3Ci1OMW9YRFRFeE1EUXhNekUwTkRRd04xb3dLREFTQWdFQkZ3MHhNVEF5TVRJeE5EUTBNRGRhTUJJQ0FRTVhEVEV4Ci1NREl4TWpFME5EUXdOMW93RFFZSktvWklodmNOQVFFT0JRQURnZ0VCQUwyc0lseTJPd2dCdTlVZkVJbWR1VEcvCi1SdEdFTzhSa1hiQ1JKUExaYVZHUWg5YjhyQ1JWSEw5dElXbTM3MkZWa0t5WUVtM21JcmwycnkxNlJ6blJ0NXl4Ci1EZDgvREtVR1VsSWUxS3d6akRjOU83YnYxRkRTWEhkMVVTbUdUaGVLREhOdHVKWFlFTk1IZG95UjJrMkJWR09aCi1pZTR6VWNTcHF5TWpCbFVqZ05tWE42Z1FJY3JSSW11bVZVak1rNzQrcldUYTBoUTBwaUYycWxSdUUxZERxY1pQCi1Ma0UvOTJyYm5GZVJBTzkxWFVlRWoxM2RpZjJVamxBckZXZDYyQUZwMHd0SW4yc2I3d2FoaFVqOS9yRXM2V2d4Ci1rZGlOc1JNdG82L2l4THJQdTN2eHM4MFpQV0hleTU4N1QxWlo5YlMvd0RrcDlXK1cwckd5Um9QVm1xaUt0dk09Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGEyNTYucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfc2hhMjU2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzNjYTI1Ni4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGEyNTYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCcXpDQmxEQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEV4TURJeE1qRTBORFF3Ci1OMW9YRFRFeE1EUXhNekUwTkRRd04xb3dLREFTQWdFQkZ3MHhNVEF5TVRJeE5EUTBNRGRhTUJJQ0FRTVhEVEV4Ci1NREl4TWpFME5EUXdOMW93RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUc0bUJCZ3dmTnluQ1lZTDJDRW5xb3JlCi1tZ0twQzMydEI2V2lVQnU5ZmlnY3ZkTjNuU1gvMXdyQjhycGlFOFIwNEM4b1NGZ2x3aG90SkNubFdzeTQydGpiCi0wcGswV3VpemxuMFBGTWMvT3lwcVJOTmh3eDMxU0hINDJXNEt6T05pcXZxM24vV2tIM00xWW5pUjFabk1seXZpCi1sSmlvUW42WkFvYzZPNm1NUDFKOWR1S1lZaGlNQU9WOTkyUEQxL2lxWHcrallOMzFSd2RJUzgvbUd6SXM0YWtlCi1FZHZpd2hNM0U0L3NWYk5PV0NPblpGWVY0bSt5TkFFZTI5SEwxVkt3NlVYaXhCY3pjdCticnFYTlZEM1U2VDBGCi01b3ZSNkJUZWZaTzE3ZVQ1MkR1a2U1UlpHRFV5UU9HeXd4T1lLSTVXK0ZjT1lkcCtVNUlkazM5OXRBejJNZHc9Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGEzODQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfc2hhMzg0LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNiYWEyYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGEzODQucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCcXpDQmxEQU5CZ2txaGtpRzl3MEJBUXdGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEV4TURJeE1qRTBORFF3Ci1OMW9YRFRFeE1EUXhNekUwTkRRd04xb3dLREFTQWdFQkZ3MHhNVEF5TVRJeE5EUTBNRGRhTUJJQ0FRTVhEVEV4Ci1NREl4TWpFME5EUXdOMW93RFFZSktvWklodmNOQVFFTUJRQURnZ0VCQUMwR3BtUnZzcnZzaHAxcS9TWGs4MEhBCi1tMjhadkV1eXM5elk1L0FucnRZSFFmc1g5UVJKazVsaTdQbG56SHRWR3A4STVRaTRtSlZQYUorSm1ocUFjL29vCi1OUG14RHg4bTlYRjl2MFhIenFRWklXbFBYSDhRTTlXTHpUYXpiUUZYaHV3blo2TFBocG8rbThjYk45MW1VRmlsCi05ZytTR2ttYStWWVYreVBSTm1LeWxkY1JWdlBaVUlraFRDTVdrWm9ZcmJEWFVta1ZRcHNnejJjNWtzSWVNSS83Ci00UWo5SjM4STlBT3QwRGxRM2V0RmhOYzBPTW5SN3pZOHRuOUI0ZGVqb05rbEVaZml5RHhzRFpWUHVzWnJ4bldNCi1XeHVlaE9HSFpmM1lFU2pMTXRSN0JXMjZRUkhJRi9uaEdESHNiTGl1bnhYSTZlSmxiWUZvWk1md2M2VE1xbmM9Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGE1MTIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfc2hhNTEyLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ3MTJlNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGE1MTIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCi1NSUlCcXpDQmxEQU5CZ2txaGtpRzl3MEJBUTBGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JCi1VRzlzWVhKVFUwd3hHVEFYQmdOVkJBTVRFRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRVhEVEV4TURJeE1qRTBORFF3Ci1OMW9YRFRFeE1EUXhNekUwTkRRd04xb3dLREFTQWdFQkZ3MHhNVEF5TVRJeE5EUTBNRGRhTUJJQ0FRTVhEVEV4Ci1NREl4TWpFME5EUXdOMW93RFFZSktvWklodmNOQVFFTkJRQURnZ0VCQUg2R1UyNGhkNmQvNVBtRHVzVCtoMktsCi1lN3NjbWhrWkRQVStWSlNuekhkRVJFWVRQYW9GcXlWQnVKT0U5NWxaRUxFcWRPYXVoTzNsRzJXRVFWR2NnRWN2Ci00alMyRXpSM0JZZXgxYzF1cHFHdGRJdklvQTlUT0x1a2R5NktlYXVvbWlXaG8yS2Q3YlNhWEh5MjBqd2RrTGtvCi0vdDNsVmhUdEJ2S2JoOFhIVll3Q2F3MWFDajNMeWR3TmNTK3pQblJnc01WSHN6RnhtTU5uNUhDUlc4bGJZd2NmCi1VQTk4T214SVpzMmhwQktScHZsZkE1eTZzWEV4Mit0U01nK01KcnppR0JnRzZPUi9tK0tUYUs1WWxlOW5yQys3Ci1oektJZTgzaHBrdHZmQjFDWTVBazRVa2U5LzFGUnFBanM1S0NSeFlTR1E3WmRTN0RnQWVHd1Qzc2xMYmwvdFk9Ci0tLS0tLUVORCBYNTA5IENSTC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2tleVVzYWdlLmRlY2lwaGVyT25seS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2tleVVzYWdlLmRlY2lwaGVyT25seS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdjMzc5NzguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9rZXlVc2FnZS5kZWNpcGhlck9ubHkuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDRnpDQ0FZQ2dBd0lCQWdJSkFKc1R6a3lsYjk1U01BMEdDU3FHU0liM0RRRUJCUVVBTUQ4eEN6QUpCZ05WCi1CQVlUQWtkQ01SSXdFQVlEVlFRSERBbERZVzFpY21sa1oyVXhIREFhQmdOVkJBb01FMFJsWm1GMWJIUWdRMjl0Ci1jR0Z1ZVNCTWRHUXdIaGNOTVRVd05URXlNVEF6TmpVMVdoY05NVGd3TlRFeE1UQXpOalUxV2pBL01Rc3dDUVlECi1WUVFHRXdKSFFqRVNNQkFHQTFVRUJ3d0pRMkZ0WW5KcFpHZGxNUnd3R2dZRFZRUUtEQk5FWldaaGRXeDBJRU52Ci1iWEJoYm5rZ1RIUmtNSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUFBNEdOQURDQmlRS0JnUUM5bnhZT1NiaGEvQXA0Ci02ckFDck9NSDd6ZkREKzBaRUhoYk8wYmdHUmpjNUVsdk9hTnVEMzIxeTlUbnlBeCtKcnFQcC9sRnJBZ05pVm8xCi1IUHVyUEhmY0ordE5CVWdCSGJvV0dORU5OYWY5b3Z3RlBhd3NCekVacmFHbkRhcVZQRUZjSXNVUVBWcU8xbHJRCi1DSExVanRxbzFoTVpEcWUvV2ViME13OWNacnFPYVFJREFRQUJveHN3R1RBSkJnTlZIUk1FQWpBQU1Bd0dBMVVkCi1Ed1FGQXdNSDRJQXdEUVlKS29aSWh2Y05BUUVGQlFBRGdZRUFKME5TMndVYmdSZWxLMHFLeHJSMlRzNmpWWUVICi1ibXlreDNHSGpGeUtwc2NESW4ydk55eUI3eWdmRmdsWlBjdysybW4zeHVWSXdPVi9tV3hGdktIaytqMldyVFFMCi10RHFTQzVCaEZvUjAxdmVGdTA3SmRFWXZ6K0krTkNMNXowSUdXWGtVcmsyMzVXbDR3NFdNWkRuWFRxbmNNTkVrCi1mTHRwbzl5NzlYRDAwUVk9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L211bHRpcGxlX3Nhbi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L211bHRpcGxlX3Nhbi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjZGM3MzAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9tdWx0aXBsZV9zYW4uY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMmpDQ0FZQ2dBd0lCQWdJQkJEQUtCZ2dxaGtqT1BRUURBakJLTVFzd0NRWURWUVFHRXdKVlN6RVJNQThHCi1BMVVFQ2d3SVRXSmxaQ0JVVEZNeEtEQW1CZ05WQkFNTUgwMWlaV1FnVkV4VElHMTFiSFJwY0d4bElHOTBhR1Z5Ci1ibUZ0WlNCVFFVNHdIaGNOTVRrd05ESXlNVFl4TURRNFdoY05Namt3TkRFNU1UWXhNRFE0V2pCS01Rc3dDUVlECi1WUVFHRXdKVlN6RVJNQThHQTFVRUNnd0lUV0psWkNCVVRGTXhLREFtQmdOVkJBTU1IMDFpWldRZ1ZFeFRJRzExCi1iSFJwY0d4bElHOTBhR1Z5Ym1GdFpTQlRRVTR3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVEzCi16RmJaZGdrZVduSSt4MWt0L3lCdTduejVCcEYwMEswVXRmZG9JbGxpa2s3bEFOZ2pFZi9xTDlJMFhWMFd2WXFJCi13bXQzRFZYTmlpb08rZ0hJdE8zL28xY3dWVEJUQmdOVkhSRUVUREJLZ2d0bGVHRnRjR3hsTG1OdmJhQWZCZ2dyCi1CZ0VGQlFjSUJLQVRNQkVHQnlzR0FRUUJFUU1FQmpFeU16UTFOb0lMWlhoaGJYQnNaUzV1WlhTQ0RTb3VaWGhoCi1iWEJzWlM1dmNtY3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBTVpVa3ArcGN1RlEzV1dkZ3ZWNFkrdElYT3lTCi1MNnAwUnRFQU9pL0dnaWdWQWlCNTBuM3JJVUtqYXBZc3RQcDN5T3BHWkd5UnhuYzZ1UmRTaU1INXdMQTR5dz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L25vbi1hc2NpaS1zdHJpbmctaW4taXNzdWVyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvbm9uLWFzY2lpLXN0cmluZy1pbi1pc3N1ZXIuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWRiODcxLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvbm9uLWFzY2lpLXN0cmluZy1pbi1pc3N1ZXIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEblRDQ0FvV2dBd0lCQWdJVUJlWlQ1eHQwOExYVGhHME1iZHo2UDZSYUsrQXdEUVlKS29aSWh2Y05BUUVMCi1CUUF3WGpFTE1Ba0dBMVVFQmhNQ1NsQXhEakFNQmdOVkJBZ01CVlJ2YTNsdk1SOHdIUVlEVlFRS0RCYkRvOEtECi13b2JEbzhLQ3dybkRvOEtEd29nZ1RIUmtNUjR3SEFZRFZRUUREQlhEbzhLRHdvYkRvOEtDd3JuRG84S0R3b2dnCi1RMEV3SGhjTk1qQXdOVEl3TVRZeE56SXpXaGNOTWpBd05qRTVNVFl4TnpJeldqQmVNUXN3Q1FZRFZRUUdFd0pLCi1VREVPTUF3R0ExVUVDQXdGVkc5cmVXOHhIekFkQmdOVkJBb01Gc09qd29QQ2hzT2p3b0xDdWNPandvUENpQ0JNCi1kR1F4SGpBY0JnTlZCQU1NRmNPandvUENoc09qd29MQ3VjT2p3b1BDaUNCRFFUQ0NBU0l3RFFZSktvWklodmNOCi1BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTWtoOFlzelhxeUtzRXptNVhNcG1MZDlXTDZiYTNRREswdXVlUFRqCi1VcXQ2UllqVEhNRGR1MVQvZ1JVaTE1Kys2VkFsMnZVRWNVS0k0THhhcmI5VHV5cHNIZldMR0RsaW9DNHhvLzVYCi02M2ZidklFSzZxZWx1WTQzdjMvZFhWTG9hazRFNUMzaTloR3BjQ1ZVcmF3bEZLUWV1RW9OZ3B4dEF5NGNBMEhWCi1SaEdLNmNFZGRJbzlsUmtzdk8xakQyWG1pOTArN1NUUllteVRWa0h5ajk2NmYzeEVyKzgvVktjejJtRzFQWmd3Ci14MmtZd3Y3SlowRit2YmpVMlMxT0FUQ1M0bHFFUEpUMGdnb3RJSkNteGR2MVhvclBiWW4zdU5qVDhMcC9VSGdXCi0rNCtLME94ZGxEMEdTN0F4ZmZDY3EwbHRWZVV5SHE5czJjRzJBaVA4NjAzYWVBVUNBd0VBQWFOVE1GRXdIUVlECi1WUjBPQkJZRUZLVDhxVmh2TWFwdHloSk1jdnorYzNRMGZrekRNQjhHQTFVZEl3UVlNQmFBRktUOHFWaHZNYXB0Ci15aEpNY3Z6K2MzUTBma3pETUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCCi1BSFI2VTNwMkRkaHdkcWhZNzN2QXh0ZG1BTUwxNTdjWW9aU1FpRWZwcC9LcjNNV29Cb2RzNlZLSFM2Zmx2K1QzCi1URWY0RzBveUVxS29KazNsaUl5VHZVTzVDaXdYbWlpSmxZaFFtV2tFYjN6Y1lWU1NGWEt2eUVRWUtMUjNnZ0QvCi1DNHNDVG9oZllHQjkyNHZJNjE5dTZtam5ORUJYN3lpeVpiZkowdUhkN0JwT2ltRlZlQW9zOGhKOFo1VCtnRVNhCi1UaXY2RUpQSyttM3ZLVEsydzQ1TS94TEVtR01yd3hFQjFJWm5SejE5aW4vSXFlNS9zZk1mRVZYSlNRMDUydHVPCi1HTGw2cmVlTWFIbGJmbEIvSHlvQlJvMXhNN0F2Nnp5M1RJTTU1WjNDNnJ5M3BjVEg2WStVN1N6OUx3OU15WUNYCi1iMVFBUHFnMVUwbFpaYVNOVU1zaUFqST0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvcnNhX211bHRpcGxlX3Nhbl91cmkuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvcnNhX211bHRpcGxlX3Nhbl91cmkuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWM1ZmFiMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3JzYV9tdWx0aXBsZV9zYW5fdXJpLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjIzMDhjNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLW1zLnJlcS5zaGEyNTYgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEtbXMucmVxLnNoYTI1NgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjBkOTQxNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEtbXMucmVxLnNoYTI1NgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS0tLS0tQkVHSU4gTkVXIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dUQ0NBV2tDQVFBd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJvdwotR0FZRFZRUURFeEZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUAotQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiN29nV1V0UHhRMUJIbGhKWgotWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKQkVlQ3NGYzVjTzJqN0JVWgotSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3ZmhVNXJQbGE3bitTbnFZRgotVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCWGhlbTJteGJhY3dDdWhRcwotRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZaWVKVFdaNXVXcEpsNG9nLwotREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFhQUFNQTBHQ1NxR1NJYjNEUUVCQ3dVQQotQTRJQkFRQlkvMW5uWVEzVGhWeWVaYjFaMndMWW9IWjVyZmVKQ2VkeVA3Ti9nakpaamhyTWJ3aW9VZnQydUhwYgotK09aUWZ4UlhKVGJ0ai8xd3BSTUNvVU1MV3phcFM3L3hHeDNJam9QdGw0MmFNNE0reFZZdmJMakV4TDEza1VBcgotZUU0SldjTUliVEVQb2wyelNkWC9MdUIrbTI3akVwNVZzdk0ydHk5cU93L1Q0aUt3akZTZTZwY1laMnNwa3MxOQotM2x0Z2puYWFtd3FLY045elVBM0lFUlRzV2pyNWV4S1lnZlhtMk9lZXVTUDB0SHI3RGgrdy8yWEE5ZEdjTGhybQotVEE0UDhRaklnU0RseXptaFlZbXNyaW9GUHVDZmRpMXV6czhieG1iTFhiaUNHWjhURE15NW9McUxvMUsrajJwRgotb3grQVRIS3hRL1hwUlFQKzJPVGI5c3cxa001OQotLS0tLS1FTkQgTkVXIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNlcnRfdHlwZS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEuY2VydF90eXBlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRmZTRmNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEuY2VydF90eXBlLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFVqQ0NBanFnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzJBd1hqQUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDcGpBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QVJCZ2xnaGtnQmh2aENBUUVFQkFNQwotQmtBd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFFbEpQYUNHNmFGSG95bW9Dcnpja1BmakVOeGdYVzJjemg1dAotVHNNUHNoa3pYNXAyQVU4OUdCR2R5MGdRd29QdU10Y3puc0RlNGFkTTZOYThmMzBZRGZmQVRzZ0RFQ01JV3RWMQotWFZZS1FJd0ZtWnpFdDRCKzVzVW15TU9MdFR1dVpCVGhPTFB3T3c4ZTRSbklMS09ZUEhuUU5SZjZFYXA0bEZEeAotbHAycEFhaVhNRFdIODhnbVdvVTVYckdUcHBsbFlWMElvcnpKNHhWOVNnM2l0dE53Tk80MGVoVlFEQXNlRndaSAotaXloOWlIejRCcXRXakVsbVEzaEw4Ti9DYnFwM2lOMTVoMnBVZ0lqOEpJdDlyQ3NJWnJzRzNLNDJpU2xQekVuMgotREN6V1FTajljUU5DUlZKbndnSkFXbkMxSHgwWVlGUU1nUXF1VnhuSzE1VEhUR1FBZUI4PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1OGRhNWUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFB6Q0NBaWVnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzAwd1N6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDcGpBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU5CZ2txaGtpRzl3MEJBUVVGQUFPQwotQVFFQWYyazVPaU9ScDYwZ0JOcWlvQzJtSXFTWEEwQ1UvcXpsbHQ4SXZsY012MVYwUEFQOWY0SUVtNW1ka0VScgotVVhqbkIxVHIzZWRyc3ZYTGdaOXZFb3NiRnBOTXNLZnNtQmtwamdXRzJ1aThwZG44Y0ppd3M0azRoNWZ1dWVTdwotUHMxRkxLNVRmcGkrR0p5UHFrNGhhOU9qcDJwOW9wdUEwYUlmTHV4SSswVXpYSDR3Z3JFVy9ZeWRvd3Y5NTlnZgotZ0dTbDc2NkNSZFV2SmJYT2VWcnlGakZUUmZMRkZOZlR2cmZ0WmsxZGw4dGFzMW5pbTh4ZldldCtCWlZ2cTJ6WQotQzdMZUNJOW5yZnVBeGZNSlRyV0ZwMTd5NzIraENEazdORWFCMlpMVnVBTS9yaTdMV3JyMlYyaExGZElBaGZDMgotblVhdWxSUnBHdC9aVElTdzZ1U0l1bU5vTkE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjlmNThhMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5leHRfa3UuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmV4dF9rdS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjNGY4NTQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmV4dF9rdS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURwekNDQW8rZ0F3SUJBZ0lCSVRBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNVEVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1UUXdOREF4TVRRME5EUXpXaGNOTWpRd016STVNVFEwTkRReldqQThNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4R2pBWUJnTlZCQU1URVZCdmJHRnlVMU5NSUZObGNuWmxjaUF4TUlJQklqQU4KLUJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaFhvbS8KLXVPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcTFVRkQKLWQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodGdTVmYKLUNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbExHVHIKLWxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdXBrOXcKLWJwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJREFRQUIKLW80RzBNSUd4TUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZCOTAxajhwd1hSMFJUc0ZFaXc5cUwxRFdRS20KLU1HTUdBMVVkSXdSY01GcUFGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvb1Qra1BUQTdNUXN3Q1FZRFZRUUcKLUV3Sk9UREVSTUE4R0ExVUVDaE1JVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1URUZCdmJHRnlVMU5NSUZSbGMzUWcKLVEwR0NBUUF3Q3dZRFZSMFBCQVFEQWdYZ01CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRkJ3TUJNQTBHQ1NxR1NJYjMKLURRRUJDd1VBQTRJQkFRQU50aVlSMlA2K2E3ckV0SkFSSWdwdXJ3MVVSWWVqQVRiYnAzWmhhSEJXNjAzV3liMisKLUtKdG0xS1BDem9qdS9xVFJ0NjVZWWt0K3R1MXdUemFteXJrUHh0OGJCS214aVdudTVqMUhMeGRqT3o4Vlc5bGYKLXZUYjVlZ1I0ZFU5ZU5YbmkvNVFrenJka01PK29iNHB1RFhZN3l0UHVHWDZZZk5WaENrcmhCbFlESk5FNTdDa0sKLXZwQ05qMytUZThQRWtXUEFFYVVocUNuUWs2cXZQdnBCZmMvaHFnd3psUk10M3U1TmtpVk91SDcyZHRyNGZPSTEKLW5sQVU4RDJ3dXZEVnIzWDUyODFPTk5FdEhVNnJYZTk4dmxVelM5UVY5bEJEZHNPOW5SWUp6djJOYjFjalJJTTUKLUpabDBJTExSMnRjNkUvVzVZWGFsTnAzN2pmckZpaTFVOVdySgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmtleV91c2FnZS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEua2V5X3VzYWdlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQ3MGIwMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEua2V5X3VzYWdlLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFR6Q0NBamVnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzEwd1d6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDcGpBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU9CZ05WSFE4QkFmOEVCQU1DQmVBdwotRFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUhNOGVFU21FOENRdnVDdzIvdzFKU1dLYVU5Y0pJdnJ0cEpYYXZSQwoteU1FdjZTUUwwaHhyTlpCaEZQTTh2QWlxNnpCZGljMkh3dWlaOU4vaUVYdUNmOTJTT2NLNGIvMi9GbG9zMEpJNQotcXV1NGVHa3dvTnJPdmZaVWNPN1NCOEpIVXZtSnRUUCthdkYzUWVSZkhvOWJIUnRueU9zOUdYcXErQ01aaU5nTwotQncrL3RBT21sM3RWMVVmK3lqcDZYcm9XTFJOTWJ2WTFTb3I0VVc2RkZNcE9paS92bEo0NDUwT2xwY0pkUlU3MAotTHBIZnhqbVBOdmM5WU9QV3ZlNzUvK0NORjlsTWkyOVVvRVVZc2x4TVB5bFovTDB2WXhpK3h1dlFCVGFMaVplUAotQ0o1OU1jNjNMRW1KTlNBd25uVjhzMktYTC9Pa20zMmxmNnN5MGZqc3J2QWRvQ2M9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLmNvbW1hcy5zaGEyNTYgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLmNvbW1hcy5zaGEyNTYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyODdhMzEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5jb21tYXMuc2hhMjU2CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUNpVENDQVhFQ0FRQXdSREVMTUFrR0ExVUVCaE1DVGt3eEdUQVhCZ05WQkFvTUVGQnZiR0Z5VTFOTUxDQkQKLWIyMXRZWE14R2pBWUJnTlZCQU1NRVZCdmJHRnlVMU5NSUZObGNuWmxjaUF4TUlJQklqQU5CZ2txaGtpRzl3MEIKLUFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaFhvbS91T2hGa052dWlCWlMKLTAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcTFVRkRkMTg1ZkFrRVI0S3cKLVZ6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodGdTVmZDckZUeGpCK0ZUbXMKLStWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbExHVHJsWnZjL2tGZUY2YmEKLWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdXBrOXdicDdPdlZpSjRsTloKLW5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJREFRQUJvQUF3RFFZSktvWkkKLWh2Y05BUUVMQlFBRGdnRUJBSTdadFJKWVg2Y011d1Zod1hPaXpQVitXRDE3d2J5KzI3M1Y0UjhlOS82UUE0blkKLVJyU2NpQXNlK25XWno5WTZ0b0J6TFdyMEsvOVNDendCWDRPek12THF1NEExRy93QXBPRENEbmJHYVVQTlV4UnQKLTZxYmc4eTdmYUJXdkRHams0K09wUTBzdVIvcGRiTS9MN3BJbXFXUk53WWRTUGJKdW1OcUlkQi9Fd3RzbzBUbEEKLVFWWjk5MlJQZTFMb3ZYcERDZlBQMnAxMjNMNy9VSGV6TkN0dTVRbXpMc0RmUW1OL3JMaENKMk5aelRzbklkblAKLWpwNlhZVTRrUlYyQlBETDY1azM4azhDU1ZXYjZmdzlYd1BOVWl5TzNxMVpzNmpwR0pSWU1MajlxVEVvUk4xbnAKLVJNRTA5Q04yc2lNY2drdjhVcURlREo0T2E5cXlYUzZWWHNEbVNOST0KLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5tZDUgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLm1kNQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc3MTRlZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLm1kNQorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlDZ1RDQ0FXa0NBUUF3UERFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUm93Ci1HQVlEVlFRRERCRlFiMnhoY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQCi1BRENDQVFvQ2dnRUJBS2tDSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaCi1aSWRyL1N2Z1J2bHp2dDNQa3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaCi1IcWd6Q0VmQkJVS3AvVXpEdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsWHdxeFU4WXdmaFU1clBsYTduK1NucVlGCi1XK2NUbDRXMUk1TFoxQ1FHMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzCi1GaVNjU3R6TjBQZFNaM1B4TGFBai9YNzBNY290Y01xSkN3VGJMcVpQY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvCi1ESlFabzkzbDZKMlZFKzBwMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBQWFBQU1BMEdDU3FHU0liM0RRRUJCQVVBCi1BNElCQVFDRWl2M1FNNHh5S2hZVHNvT2p5elFkWE1oc1hLM0twdytSaDg3NEhmNnBYSHhVYVl5N3hMVVpVeDZLCi14NUJ2ZW0xSE1IQWRtT3FZVHpzRTlaYmxBTVpOUnd2L0NLR1MzcHZNa3gvVlp3WFFoRkdsSExGRy8vZlByZ2wzCi1qNGR0MjBRc1dQOExuTDRMd2VZU1lJMXd0MXJqZ1lSSGVGNmJHL1ZJY2s2QklZUWhLT0dsekl3V1VtZkFHeW02Ci1xNFNZcmQrT2JadWxsU2FyR0dTZk5LaklVRXBZdGZRQnozMWY1dFJzeXpTcHM3b0c0dWM3WGJhNHFubDJvOUZOCi1sV09NRUVSNzlRR3dyNytUNDFGVEhGenRGZGRmSjA2Q0Nqb1JDZkVuMFRjc2cxMXRTTVMwODUxb0xrTW04UnlZCi1hb3pJek84MlIzRW03YVBoWkJpQkR5M3daQzJsCi0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhMSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc4ZWM3Zi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTEKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dUQ0NBV2tDQVFBd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJvdwotR0FZRFZRUUREQkZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUAotQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiN29nV1V0UHhRMUJIbGhKWgotWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKQkVlQ3NGYzVjTzJqN0JVWgotSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3ZmhVNXJQbGE3bitTbnFZRgotVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCWGhlbTJteGJhY3dDdWhRcwotRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZaWVKVFdaNXVXcEpsNG9nLwotREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFhQUFNQTBHQ1NxR1NJYjNEUUVCQlFVQQotQTRJQkFRQ2lZUU1PdjJBTFBVZWc4d0hLbjlMNVNkRGJOeE96dU13aFlzQ1lUdzJUSk1RTzdOTFVxNmljRXp4WQotcFVJSUZ0NjBKVVFqWkh4UVNZM3k5Y1NpdndLWFFBN3BQZmFQYUZDL2FNQTJHeEcyM3QyZWFJV05RWDhNZmNXZgotWEFhOGJsL3ZtQzFNVG92K21QMkRHb1hSaUtZT1JyRUlueURTMlJhVGF0aHZIY2tjQXYyNW5DSXg3d1lPOXRDOQotTFV3eW9FOWJoaVE3Zm8zS0ZsejRkSzFIdWt5Q00vRm9QYkp1TDdOZ2R6bUtWUHlZQ0xoNUFoK1RURDYrc2x0egotZEZjNGZqMjh3MXYzanNCWHordExyZ0ZRaWR6dVVJMnBveHQ1VXdVOVRLWTBkQUphVEN0ZklSY1hXM2g2REdHNwotRURSNnJpbTZzYklRa0d6WXZHcXM0VE5vSk9SKwotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTIyNCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhMjI0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGYyYWY0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhMjI0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUNnVENDQVdrQ0FRQXdQREVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sb3cKLUdBWURWUVFEREJGUWIyeGhjbE5UVENCVFpYSjJaWElnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVAKLUFEQ0NBUW9DZ2dFQkFLa0NIejFBYXRWVlU0djlOdTZDWlM0VllWNkp2N2pvUlpEYjdvZ1dVdFB4UTFCSGxoSloKLVpJZHIvU3ZnUnZsenZ0M1BrdUdSVysxbW9HK0pLWGxGZ05DRGF0VkJRM2RmT1h3SkJFZUNzRmM1Y08yajdCVVoKLUhxZ3pDRWZCQlVLcC9VekR0Ti9kQmg5TkVGRkFaM01URDBENGJZRWxYd3F4VThZd2ZoVTVyUGxhN24rU25xWUYKLVcrY1RsNFcxSTVMWjFDUUcxUWtsaVhVSDNhWWFqejhKR2I2dFpTeGs2NVdiM1A1QlhoZW0ybXhiYWN3Q3VoUXMKLUZpU2NTdHpOMFBkU1ozUHhMYUFqL1g3ME1jb3RjTXFKQ3dUYkxxWlBjRzZlenIxWWllSlRXWjV1V3BKbDRvZy8KLURKUVpvOTNsNkoyVkUrMHAyNnR3RXR4YXltc1hxMUtDVkxFQ0F3RUFBYUFBTUEwR0NTcUdTSWIzRFFFQkRnVUEKLUE0SUJBUUFyWVIybUxLVTVsc0h5QXlHSHI0UGxtQy9jZmVQbUNSeUMvbWoxcmlHVGpEbE5DMlgzSjFWWkRxS2IKLVUvdVV4THVkUDdzYnV0dFJrc0lBUkVBVFQ3NFBhNDBiTVdpUFVsQmZBL00ybUZUbUtiLzkxdVhlSUlTVzhETDMKLXhNLzVCQ0RyaG5aL2NqUDIzZ0tEZ0pSaytJR0JOaFlaREd6NTBUSUJiREoyZTRHRGtGanpBTm5nVVc2NFVjQ1EKLTdoWk9ZdG5ZTEJub1J2UHd0YWw1alpxSHdzZ2FQUGVQWHUrU1E4bWZ1QUp3Sjc4TU9DQWFLdzBJUDFoMU9uUEcKLWl1YmRsMzRsU0lhWVd3YkhUZGphcVVTUUczU1NzNG94RXZsdVl5bXJwWjZYR0tYdHBoSlhFUGRUUmlMdTlkOWwKLUE1TllWZ3ZxSEZRUG11WFM5MnpyR3pCNzg4cFYKLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGEyNTYgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTI1NgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQyMWRjNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTI1NgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlDZ1RDQ0FXa0NBUUF3UERFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUm93Ci1HQVlEVlFRRERCRlFiMnhoY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQCi1BRENDQVFvQ2dnRUJBS2tDSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaCi1aSWRyL1N2Z1J2bHp2dDNQa3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaCi1IcWd6Q0VmQkJVS3AvVXpEdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsWHdxeFU4WXdmaFU1clBsYTduK1NucVlGCi1XK2NUbDRXMUk1TFoxQ1FHMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzCi1GaVNjU3R6TjBQZFNaM1B4TGFBai9YNzBNY290Y01xSkN3VGJMcVpQY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvCi1ESlFabzkzbDZKMlZFKzBwMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBQWFBQU1BMEdDU3FHU0liM0RRRUJDd1VBCi1BNElCQVFDVmxTVTdxZUtyaTdFM3U4SkNaYkN5anNHSlRIOWlIWXllRFovbkRMaWc3aUtHWXZ5Tm15eko3NlF1Ci0rRW50U21MMk90TDk1WXFvb2M2aDFBUUh6b0NzK1NPMndQb1RVczNZcGk5cjd2Tk5WTzNabm54VnRHZ3FDUlZBCi1XK3o5VzRwMm1IWFFoZ1cxSGt1TGE1SkQxU3ZKVml5WmJ4OXozaWUxQlE5TlZLZnYrK0FyUEl2NzB6QnRBN08zCi1QWk5HMUpZTjMwRXN6N1JzQ0RSSGJ6Nk5wdnU5Z2dVUUwvVTNtdlFRK1lvK3hod3UxeUZWK2RSSDdQZWJCZVF2Ci12amNEMmZYRGFiZW9mSzN6enRJcFVJeVVVTFgwR0dDbE05anNsZ0ovWkhVbEFyV0twTFpwaDBBZ0YxRHp0cy8vCi1NNmMvc1J3N2d0alhtVjB6cTJ0ZjJmTDQrZTJiCi0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhMzg0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGEzODQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4NTdhZjcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGEzODQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dUQ0NBV2tDQVFBd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJvdwotR0FZRFZRUUREQkZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUAotQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiN29nV1V0UHhRMUJIbGhKWgotWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKQkVlQ3NGYzVjTzJqN0JVWgotSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3ZmhVNXJQbGE3bitTbnFZRgotVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCWGhlbTJteGJhY3dDdWhRcwotRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZaWVKVFdaNXVXcEpsNG9nLwotREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFhQUFNQTBHQ1NxR1NJYjNEUUVCREFVQQotQTRJQkFRQnkzNXpIWUxpWWFTY3ExbmlRa3pRL0JTY1ViZGlXZDJWOTBpc0JzQjVRM05qVm9KbC95Q2FNcmxhMwotMlhmcnV0cEZwZHF3ZW5sNWpNMG82K2VuS0NtZnVyK3oyL2lqZTY5RGp1MmFCZDZBNjJjeDFBRXZGaU1xN2x5RgotNERZSjMyKzJ0eTZLQThFaHpFM05Gczd6S1h4bUQ1eWJwK29YTkV2WG9lVTNXOGErTGQ1YzFLL24rSXBhMFRVeQotY0ZCczZkQ3NiWU85d0k2bnB3V3FDNUhjOXIvMHp6aU1GTys0TjVWT1JkWVVGcU9icTR2Q1lPTVhFVHBsOHJ5dQotbEdab3JOVW9KN3ZWNTVUMzFDRHFFdGIwRUUrbk8rblQ0YWdmRG9ibmNZanZjM1dwUXVMdFVCNFV3UjVncFpsNgotWkkrajR1d2lrT2dHTzlnY3g0SWphUlAzcTYzRgotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTUxMiBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhNTEyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NWQ1MjQ2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5yZXEuc2hhNTEyCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUNnVENDQVdrQ0FRQXdQREVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sb3cKLUdBWURWUVFEREJGUWIyeGhjbE5UVENCVFpYSjJaWElnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVAKLUFEQ0NBUW9DZ2dFQkFLa0NIejFBYXRWVlU0djlOdTZDWlM0VllWNkp2N2pvUlpEYjdvZ1dVdFB4UTFCSGxoSloKLVpJZHIvU3ZnUnZsenZ0M1BrdUdSVysxbW9HK0pLWGxGZ05DRGF0VkJRM2RmT1h3SkJFZUNzRmM1Y08yajdCVVoKLUhxZ3pDRWZCQlVLcC9VekR0Ti9kQmg5TkVGRkFaM01URDBENGJZRWxYd3F4VThZd2ZoVTVyUGxhN24rU25xWUYKLVcrY1RsNFcxSTVMWjFDUUcxUWtsaVhVSDNhWWFqejhKR2I2dFpTeGs2NVdiM1A1QlhoZW0ybXhiYWN3Q3VoUXMKLUZpU2NTdHpOMFBkU1ozUHhMYUFqL1g3ME1jb3RjTXFKQ3dUYkxxWlBjRzZlenIxWWllSlRXWjV1V3BKbDRvZy8KLURKUVpvOTNsNkoyVkUrMHAyNnR3RXR4YXltc1hxMUtDVkxFQ0F3RUFBYUFBTUEwR0NTcUdTSWIzRFFFQkRRVUEKLUE0SUJBUUJiOGpOcHQwbmtOVldzdFZvT0NlcFFTRjVSMVI5aEYweUVyN21rM0hCOW9PL25LMDdSMU9hbWdqdysKLUNIUVJlVFNqSUtVWDUzbzdad05aQjVFK2pCRHNHei8yWXlqL3Z4TkhKRmsyZXhFTHRXMzBoZThLMm9tVkhFMUYKLVhFU2JmdENzc1dMTnBUU0RxNk1FMTIrbGxrRUR0Z0N0a3Y2OW9SVWt1dUY1RVNVU1pSR0laTjRWbGVkbThTTTEKLXVHRnRhRy9QWGJCYnRVYU53TklTRGVJV0RLUnRidWNhNXdlYitRRWkxZGppVUgyMVpXSUdFcE95N210a1ltUnMKLVF0MUQzMkZvYXFGTmhhZmlheE5JWE8xMXlkNGxncGFERGxtck9TQnNFTGNUSUY5OTE2bzNEd01lVlh5MEdPTlcKLUJyd2FPOHE4cmcrQyt4dk1ZNzg1OEtrOGt3amIKLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxX3BhdGhsZW5faW50X21heC0xLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMV9wYXRobGVuX2ludF9tYXgtMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5NDQ4NDQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxX3BhdGhsZW5faW50X21heC0xLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFNEQ0NBakNnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzFZd1ZEQVNCZ05WSFJNRUN6QUpBUUgvQWdSLy8vLytNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJcwotUGFpOVExa0NwakFmQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU5CZ2txaGtpRwotOXcwQkFRVUZBQU9DQVFFQWZ1dnE3Rm9tUVRTSm1HSW5Wd1FqUWRkZ29YcG5tQ1o5N1RwVnE3akhMQ0ZBRG93UQotamVpQXN4bUQ4bXdBUXF3L0J5MFUyUFNtUWNTN1ZybjdMZTBuRktOUllZcnRweDVyc1RGSnpTL3RRc2dDZTBQZgotemhpQmdEMURodzZQV0FQbXkrSmx2aEpGN1JFbUZzTThLSFFkMHhTdkp6QjFnTE45RlZsbmQ4N0M3M2JkREpaUQotWmRuOTc3K1NuNWFuQUZHSERXZUtvOEdZYVlHblBCUXFrWDBRMkVLV1I3eXJ3Y0tNb2dPZXZ4RUxvZ0IwalJqMwotTCtuQnB6N21PMko2WFE4NWlwK3RMV0FHQ0VIbzBvbUFJUW9yQW9DU3F0TGlhejQ3SHhPZE5LMGhuTTdWNWs4UAotMDVBVmh4RGEzV3FaOUZtTWFEYzhqOFhxbU9nS1lWTUM0L1dTMGc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxX3BhdGhsZW5faW50X21heC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjFfcGF0aGxlbl9pbnRfbWF4LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE3ZTBkNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjFfcGF0aGxlbl9pbnRfbWF4LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFNEQ0NBakNnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzFZd1ZEQVNCZ05WSFJNRUN6QUpBUUgvQWdSLy8vLy9NQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJcwotUGFpOVExa0NwakFmQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU5CZ2txaGtpRwotOXcwQkFRVUZBQU9DQVFFQWU1alBQTXlXcktZR2xqSkgydWgxZ0VoN0tvWWhtR0lVZll1NUE4WjJvdTA0eUZaaAotTER5V0pua0UvcXBOYUl3M2tQdW95R0JUdEFEWXp0dFB2eHJldFVtYU15dGVPUWU4REsvbW1yOHZsK2diNTRaUAotMmpVRStSMjdKcDVHU0dmbDIwTE5WVEJrS0psb1N5RGFWelBJM296amUybEFzWHNpbDhOVEtiVkp0ZmpaOXVuKwotbUdycHl3U1Y3UnBaQzJQem5HRmRxUWVod3duT3NjejBjVmVNUXFHY01SSDNENUJrMlNqVmV4Q2FQdTQ3UVN5RQotZk5tNmNBVGlOSGp3LzJkZzVBdWU3ZTRLK1I2bGUreFkzUXk4NUZxL2xLRGVNbWJySlJyTnlKOWxibENlaWhVZAotcWhrQUVQZWxwYXE1WlJNNmNZSlFvbzBBazY0ajRzdmpPWmVGMGc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3NDUxOTYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRE56Q0NBaCtnQXdJQkFnSUJBakFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBME1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkRENDQVNJd0RRWUpLb1pJaHZjTgotQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTgotb3dDSXArNGVhNWFuVXJTUTd5MXllajRrbXZ5Mk5Ld2s5WGZnSm1TTW5MQW9mYUhhNm96bXlSeVd2UDdCQkZLegotTnRTait1R3hkdGlRd1dHMFpsSTJvaVpUcXF0MFhnZDlHWUxiS3RnZm9Oa05IQzFKWnZkYkpYTkc2QXVLVDJrTQotdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UAotaFl2YWkwUmU0aGpHWWkvSFpvMzZYZGg5OHllSktRSEZrQTQvSi9Fd3lFb083OWJleDhjbmE4Y0ZQWHJFQWp5YQotSFQ0UDZEU1lXOHR6UzFLVzJCR2lMSUNJYVRsYTB3K3czbGt2RWNmMzZoSUJNSmNDQXdFQUFhTk5NRXN3Q1FZRAotVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJndwotRm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBSmtsZzNRNAotY0I3djdCenN4TS92THlLY2NPNm9wMC9nWnpNNGdodUxxMlkzMmtsMHNNNmtTTlVVbWR1dXEzdS8rR21VWk4yQQotTy83YytIdzdoREZFSXZaazk4YUJHakNMcW4zRG1nSEl2OFRvUTY3bmVsbFF4eDJVajMwOVBkZ2pOaS9yOUhPYwotS05BWVBiQmNnNk1KR1dXajJUSTZ2TmFjZWlvcy9EaE9ZeDVWMGo1bmZxU0ovcG5VMGc5SWduMkxBaGdZcEdKRQotaUVNOXdXN2hFTWt3bWswaC9zcVpzckpzR0g1WXNGL1ZUaFNxL0pWTzFlMm1aSDJ2cnV5WktKVkJxKzh0RE5ZcAotSGtLNnRTeVZZUWh6SXQzU3RNSldLTWwvbzVrMkFZejZ0U0MxNjQrMW9HK01MM0xXZzhYckdLYTkxSDRVT0thcAotQXdnazArNG0wVDI1Y05zPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIyLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjIuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWNmYTlhYi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjIuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDBkNjk2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMy5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNvakNDQVlxZ0F3SUJBZ0lCRFRBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNVEVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1UTXdPREE1TURreE56QXpXaGNOTWpNd09EQTNNRGt4TnpBeldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1UQ1d4dlkyRnNhRzl6ZERCSk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFQkF6SUFCSDBBb1F5VWhQQUJTMzh5Njd1RVZzNE8zUlhtS0tyQmRVUjcvTDJRUEI4RUMycDUKLWZRY3NlajZFRmFzdmxUZEovNk9Ca2pDQmp6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlRrRjJzMnNnYUoKLU90bGVRN2JnWkgySHEzM2VOekJqQmdOVkhTTUVYREJhZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS82RS8KLXBEMHdPekVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sa3dGd1lEVlFRREV4QlEKLWIyeGhjbE5UVENCVVpYTjBJRU5CZ2dFQU1BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQmptU0lqR0tEMWVINVcKLTRibDJNWGZOSXNUd2MydnYvTUFBaEJ6QkViVFhkM1QzNyt6QUdQR2pLbmN2VEIrb3VmVVZSR2tvS2Jmb0M2Sm0KLURZU0VVdXh0blVaT2tvL0MvL1hsQ0V0SzBUdVMyYUxFcUYzZ0pqQkpUQ2Z0aEVkQWhKQ3RtUEFRREN6ZUtzZHgKLUNvT3RIME5ReDZYbDY0b0R0MndZU1FOV1VUR0xQZlJwZHNWRXZCSGhIWUFUUWlqa2wyWkg4QkRqc1ljQmljclMKLXFtQ2VOKzBUMUI5dnJPUVZFWmUrZndnelZMMzhuOGxrSlpOUEliZG92QTlXTEh3WEFFelB2NGxhM3cwcWg0VGIKLWtTYjhIdElMbDRJNDc0UXhyRnl3eWx5WFIvcDJ6blBsZVJJUmdCNUh0VXA5dExTV2tCMGJ3TWxxUWxnMkVIWHUKLUNBUTFzWG1RCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZiMWFhNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDNmpDQ0FuQ2dBd0lCQWdJQkNEQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1NVE13T1RJME1UVTFNakEwV2hjTk1qTXdPVEl5TVRVMU1qQTBXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNVENXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOCi1BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3ZYakw1VmZZYzdEL3RydXFFcFljWmN2bFVobnVDTkRKY3RZREpMCi12Z1lZajV1eER4TEhCWHZuRUhMZ081SytscHM0MnArci9kZDRvRTY0dHRSb2VaWlV2cis3ZUJuVzM1bjBFcFBBCi1JazlHd3Urdmc3R2Z4bWlmZ0lSOGhabk9Ra3QyT2p2dnBDaFBDeHZVYWlsdEI0NTBJemgrbUVLL2hZRnIrN0psCi1ObnhSMVhRbGJieURNN0VjdDFId1ljdVMzTUJsQnFxMDQ4SiswS0VrUVhJQ1NqS2VIRmdhOWVEQ3ErSnlmcWU1Ci1idDBLMzBobDFOMDE2NEI3YW9oMDhFb21tZSthU3VBc3orTXNKM203QU8yRFVZZHJEeGxya3kxUXJ2UldXZlgwCi1kOGRqVE0rdUhUbzFEdmlSTTZvOStQOURmb0ZkNTMvWjBLbTAzc1ZMUVd2VXJoRUNBd0VBQWFPQm5UQ0JtakFKCi1CZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlRBbEFtMSswTDQxbWhxWVdqRmllanNSVnJHZVRCdUJnTlZIU01FCi1aekJsZ0JTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZLRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQCi1CZ05WQkFvVENGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRREV4TlFiMnhoY25OemJDQlVaWE4wSUVWRElFTkJnZ2tBCi13VVBpZm1KRHpPZ3dDZ1lJS29aSXpqMEVBd0lEYUFBd1pRSXhBUFdseG5NY2pCYXhhVmllUVlTTEJxeml6UzMvCi1POE5hNm93UkdQazAvVUsrajVPOU5UQkhrK3VYVy9mUWJsS2FtUUl3VVFsNGRsNmdrUkRFNHJCUi95R2paWjFaCi0zZEVwdkwyV2ltdDNrZUQ3QWNMcFlCMkZKMW1WY1kxWFFVZUsxVmZjCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtZGlyZWN0b3J5bmFtZS1zZXEtbWFsZm9ybWVkLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtZGlyZWN0b3J5bmFtZS1zZXEtbWFsZm9ybWVkLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiMGMzMjUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LWRpcmVjdG9yeW5hbWUtc2VxLW1hbGZvcm1lZC5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LWRpcmVjdG9yeW5hbWUuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1kaXJlY3RvcnluYW1lLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiYWRlYTEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LWRpcmVjdG9yeW5hbWUuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1mYW4uY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1mYW4uY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI0ZTViZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtZmFuLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtbm9uLWNvbXBsaWFudC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtbm9uLWNvbXBsaWFudC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFiZWExN2QuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LW5vbi1jb21wbGlhbnQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCd2pDQ0FVYWdBd0lCQWdJQkFUQU1CZ2dxaGtqT1BRUURBZ1VBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERWNNQm9HQTFVRUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEFlCi1GdzB3TVRBeE1ERXdNREF3TURCYUZ3MHpNREV5TXpFeU16VTVOVGxhTUNReElqQWdCZ05WQkFNTUdWUmxjM1FnCi1SVU1nVWtaRElHNXZiaTFqYjIxd2JHbGhiblF3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVEzCi16RmJaZGdrZVduSSt4MWt0L3lCdTduejVCcEYwMEswVXRmZG9JbGxpa2s3bEFOZ2pFZi9xTDlJMFhWMFd2WXFJCi13bXQzRFZYTmlpb08rZ0hJdE8zL28wMHdTekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJSUVlhV1AxQWZaCi0xNElCRE9WbGY0eGpScWNUdmpBZkJnTlZIU01FR0RBV2dCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFNCi1CZ2dxaGtqT1BRUURBZ1VBQTJnQU1HVUNNQUozSi9Eb29GU2FCRzJPaHp5V2FpMzJxNklORFpmb1MyYlRvU0tmCi1neTZoYkppSVgvRzllRnRzNStCSlEzUXBqZ0l4QUxSbUlnZFI5MUJEZHFwZUY1SkNtaGdqYmZiZ01RN21yTWVTCi1aR2ZOeUZ5alM3NVFuSUE2bktyeVFtZ1BYbytzQ1E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LW5vbnByaW50YWJsZV9vdGhlcm5hbWUuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1ub25wcmludGFibGVfb3RoZXJuYW1lLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMGZjN2UuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LW5vbnByaW50YWJsZV9vdGhlcm5hbWUuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1vdGhlcm5hbWUuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1vdGhlcm5hbWUuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGVmMzFjZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtb3RoZXJuYW1lLmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtc2Vjb25kLWRpcmVjdG9yeW5hbWUtb2lkLW1hbGZvcm1lZC5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXNlY29uZC1kaXJlY3RvcnluYW1lLW9pZC1tYWxmb3JtZWQuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzA3NGZkOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtc2Vjb25kLWRpcmVjdG9yeW5hbWUtb2lkLW1hbGZvcm1lZC5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXNoYTEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXNoYTEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3M2UyZDE3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGExLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ0hUQ0NBYVNnQXdJQkFnSUJFakFKQmdjcWhrak9QUVFCTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRAotVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEFlRncweAotTXpBNU1qUXhOakl4TWpkYUZ3MHlNekE1TWpJeE5qSXhNamRhTURReEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRAotVlFRS0V3aFFiMnhoY2xOVFRERVNNQkFHQTFVRUF4TUpiRzlqWVd4b2IzTjBNRmt3RXdZSEtvWkl6ajBDQVFZSQotS29aSXpqMERBUWNEUWdBRU44eFcyWFlKSGxweVBzZFpMZjhnYnU1OCtRYVJkTkN0RkxYM2FDSlpZcEpPNVFEWQotSXhILzZpL1NORjFkRnIyS2lNSnJkdzFWellvcUR2b0J5TFR0LzZPQm5UQ0JtakFKQmdOVkhSTUVBakFBTUIwRwotQTFVZERnUVdCQlJRWWFXUDFBZloxNElCRE9WbGY0eGpScWNUdmpCdUJnTlZIU01FWnpCbGdCU2RiU0FrU1FFLwotSzh0NHRSbThmaVRKMi9zMmZLRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb1RDRkJ2YkdGeQotVTFOTU1Sd3dHZ1lEVlFRREV4TlFiMnhoY25OemJDQlVaWE4wSUVWRElFTkJnZ2tBd1VQaWZtSkR6T2d3Q1FZSAotS29aSXpqMEVBUU5vQURCbEFqRUF5anZ6Uld0eGJYdmtvWVRZU1FZOWdGQnBQNy93VFoycTZGYlJpQXVaVUxGdAotbGMwUE1QRGZWWkNoZ0E2aURIK0JBakJka09iNzNmMnBPd1pwTVJxck9ncVN5bmJ0MnVXWTg3bUM1bFJsTkVvUgotV1hFdjFBekllQkN2KzgxRE4xSXV1NHc9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtc2hhMjI0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGEyMjQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0N2IxMTY4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGEyMjQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDSURDQ0FhV2dBd0lCQWdJQkV6QUtCZ2dxaGtqT1BRUURBVEErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1NVE13T1RJME1UWXlNVEkzV2hjTk1qTXdPVEl5TVRZeU1USTNXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNVENXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHCi1DQ3FHU000OUF3RUhBMElBQkRmTVZ0bDJDUjVhY2o3SFdTMy9JRzd1ZlBrR2tYVFFyUlMxOTJnaVdXS1NUdVVBCi0yQ01SLytvdjBqUmRYUmE5aW9qQ2EzY05WYzJLS2c3NkFjaTA3ZitqZ1owd2dab3dDUVlEVlIwVEJBSXdBREFkCi1CZ05WSFE0RUZnUVVVR0dsajlRSDJkZUNBUXpsWlgrTVkwYW5FNzR3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCCi1QeXZMZUxVWnZINGt5ZHY3Tm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoCi1jbE5UVERFY01Cb0dBMVVFQXhNVFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQW9HCi1DQ3FHU000OUJBTUJBMmtBTUdZQ01RQ2owRXlGVXpEUm1mb2tXekxWRVdOMGVwUjQvc1p5dGZJZW96cDZCcVdICi1xYVRCZEFSMnZ0aElLQzdkS3VVa2czNENNUUQ2WXRCMk85VnNvNzlnYnpTZW4ycWg3Z0s3VnZHRSszMUVWUGJSCi1DZS9vTkcvM09maFJTZG4zRk92QkJnMlVFck09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtc2hhMzg0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGEzODQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDZhNzliLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGEzODQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDSHpDQ0FhV2dBd0lCQWdJQkZEQUtCZ2dxaGtqT1BRUURBekErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1NVE13T1RJME1UWXlNVEkzV2hjTk1qTXdPVEl5TVRZeU1USTNXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNVENXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHCi1DQ3FHU000OUF3RUhBMElBQkRmTVZ0bDJDUjVhY2o3SFdTMy9JRzd1ZlBrR2tYVFFyUlMxOTJnaVdXS1NUdVVBCi0yQ01SLytvdjBqUmRYUmE5aW9qQ2EzY05WYzJLS2c3NkFjaTA3ZitqZ1owd2dab3dDUVlEVlIwVEJBSXdBREFkCi1CZ05WSFE0RUZnUVVVR0dsajlRSDJkZUNBUXpsWlgrTVkwYW5FNzR3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCCi1QeXZMZUxVWnZINGt5ZHY3Tm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoCi1jbE5UVERFY01Cb0dBMVVFQXhNVFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQW9HCi1DQ3FHU000OUJBTURBMmdBTUdVQ01RQ25zZC82VkIya0xJcU1Sc1dka0p2UmFRUk95QWc3OENRRXhGRVkzQ012Ci05dDBrV1JYUGM0bkNNSDY5UmpRVnZDNENNQjRsazlBN2huWDJ6UXkzYmJVaE9DT3ZYY3NRZEVlOEFNZ0pCdml6Ci01Tm9iMndUaFJxc20xd2pDRjYwZnl6WFd1QT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtc2hhNTEyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGE1MTIuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjExMmFjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGE1MTIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDSHpDQ0FhV2dBd0lCQWdJQkZUQUtCZ2dxaGtqT1BRUURCREErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1NVE13T1RJME1UWXlNVEkzV2hjTk1qTXdPVEl5TVRZeU1USTNXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNVENXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHCi1DQ3FHU000OUF3RUhBMElBQkRmTVZ0bDJDUjVhY2o3SFdTMy9JRzd1ZlBrR2tYVFFyUlMxOTJnaVdXS1NUdVVBCi0yQ01SLytvdjBqUmRYUmE5aW9qQ2EzY05WYzJLS2c3NkFjaTA3ZitqZ1owd2dab3dDUVlEVlIwVEJBSXdBREFkCi1CZ05WSFE0RUZnUVVVR0dsajlRSDJkZUNBUXpsWlgrTVkwYW5FNzR3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCCi1QeXZMZUxVWnZINGt5ZHY3Tm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoCi1jbE5UVERFY01Cb0dBMVVFQXhNVFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQW9HCi1DQ3FHU000OUJBTUVBMmdBTUdVQ01GUEwyT0k4YXJjYlJsS0FiUmIvWWZHaWJvNE13dHM4S1gzZk91UkNiWEVuCi1wRFdlYjgya0JxZlh3elBKd2FtRk93SXhBUEd6eWhXcnhuMHFFeW5XVjVuekZLMDJQWUJuWUZnQ2xJU3l5dWRICi1ISkdIdGJFVlJjNUpBOEFMbmdnYUxWcHV2Zz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtdHdvLWRpcmVjdG9yeW5hbWVzLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtdHdvLWRpcmVjdG9yeW5hbWVzLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5OGEwMTguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXR3by1kaXJlY3RvcnluYW1lcy5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXVuc3VwcG9ydGVkX290aGVybmFtZS5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXVuc3VwcG9ydGVkX290aGVybmFtZS5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDljMjA1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS11bnN1cHBvcnRlZF9vdGhlcm5hbWUuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTk3NDI4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNIekNDQWFXZ0F3SUJBZ0lCQ1RBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1UTXdPVEkwTVRVMU1qQTBXaGNOTWpNd09USXlNVFUxTWpBMFdqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1UQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMkNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEKLTJDTVIvK292MGpSZFhSYTlpb2pDYTNjTlZjMktLZzc2QWNpMDdmK2pnWjB3Z1pvd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLRXdoUWIyeGgKLWNsTlRUREVjTUJvR0ExVUVBeE1UVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bb0cKLUNDcUdTTTQ5QkFNQ0EyZ0FNR1VDTVFDYUxGelhwdHVpNVdRTjhMbE8zZGRoMWhNeHg2dHpnTHZUMDNNVFZLMlMKLUMxMnIwTHozcmkvbW9TRXBOWldxUGprQ01DRTJmNTNHWGNZTHF5ZnlKUjA3OGMveE5TVVU1K1h4bDdWWjQxNFYKLWZHYTVrSHZIQVJCUGM4WUFJVklxRHZISDFRPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5yZXEuc2hhMSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5yZXEuc2hhMQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWExNGExNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTEKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlCR0RDQnZ3SUJBREEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNoTUlVRzlzWVhKVFUwd3hFakFRCi1CZ05WQkFNVENXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEZk1WdGwyCi1DUjVhY2o3SFdTMy9JRzd1ZlBrR2tYVFFyUlMxOTJnaVdXS1NUdVVBMkNNUi8rb3YwalJkWFJhOWlvakNhM2NOCi1WYzJLS2c3NkFjaTA3ZitnS1RBbkJna3Foa2lHOXcwQkNRNHhHakFZTUFrR0ExVWRFd1FDTUFBd0N3WURWUjBQCi1CQVFEQWdYZ01Ba0dCeXFHU000OUJBRURTUUF3UmdJaEFMU2YyTWozZXIrb2NaQ04rK2FFb0lwNVBROUpDa1BZCi1iODhnaHVUeVM3RENBaUVBK0NuVnpOTjBJMmtwbm1LVU9VY1h4TGNqb1BhTFJPZ3h0dWJEdkt2NWNrTT0KLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LnJlcS5zaGEyMjQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTIyNApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc2NjgzNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTIyNAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUJHRENCdndJQkFEQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEVqQVEKLUJnTlZCQU1UQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkRmTVZ0bDIKLUNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEyQ01SLytvdjBqUmRYUmE5aW9qQ2EzY04KLVZjMktLZzc2QWNpMDdmK2dLVEFuQmdrcWhraUc5dzBCQ1E0eEdqQVlNQWtHQTFVZEV3UUNNQUF3Q3dZRFZSMFAKLUJBUURBZ1hnTUFvR0NDcUdTTTQ5QkFNQkEwZ0FNRVVDSURZYU4xbTlNUms1bWhYMVU4YVpLZDBhbHlHS1dxY1IKLW9nbEYyTXNJaWkvMkFpRUFqRkhzOFhRMFE0eURGOG9MenRDeGxxM25BdnFtUGRRejlUK1RrRWZoK1BBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTI1NiBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5yZXEuc2hhMjU2CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTllMTVmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5yZXEuc2hhMjU2CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQkZ6Q0J2d0lCQURBME1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDaE1JVUc5c1lYSlRVMHd4RWpBUQotQmdOVkJBTVRDV3h2WTJGc2FHOXpkREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMgotQ1I1YWNqN0hXUzMvSUc3dWZQa0drWFRRclJTMTkyZ2lXV0tTVHVVQTJDTVIvK292MGpSZFhSYTlpb2pDYTNjTgotVmMyS0tnNzZBY2kwN2YrZ0tUQW5CZ2txaGtpRzl3MEJDUTR4R2pBWU1Ba0dBMVVkRXdRQ01BQXdDd1lEVlIwUAotQkFRREFnWGdNQW9HQ0NxR1NNNDlCQU1DQTBjQU1FUUNJR21SRmRqamQ1M29NMlpwdDNFNXZmcXVqbkErREhXawotczlPdWRjU1dCZGptQWlBN0JBWWpHblh5TDZBVFBxTTdxbkxWR1RmM0pNVCsxclhsN2VzQm0vMEFQQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5yZXEuc2hhMzg0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LnJlcS5zaGEzODQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3NTU2YzYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LnJlcS5zaGEzODQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlCRnpDQnZ3SUJBREEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNoTUlVRzlzWVhKVFUwd3hFakFRCi1CZ05WQkFNVENXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJEZk1WdGwyCi1DUjVhY2o3SFdTMy9JRzd1ZlBrR2tYVFFyUlMxOTJnaVdXS1NUdVVBMkNNUi8rb3YwalJkWFJhOWlvakNhM2NOCi1WYzJLS2c3NkFjaTA3ZitnS1RBbkJna3Foa2lHOXcwQkNRNHhHakFZTUFrR0ExVWRFd1FDTUFBd0N3WURWUjBQCi1CQVFEQWdYZ01Bb0dDQ3FHU000OUJBTURBMGNBTUVRQ0lEbk8rUElQWkpHcWlreTl1bnZxMTN1WHhhaHcxYnBrCi1aYjVOUlYwYzA2UTVBaUFvNUI0OXRwM2tETi9uMEJETnQxQkJHTFVmaGNVK1FuMlNRZW5DeWZ1R0xnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LnJlcS5zaGE1MTIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTUxMgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA3NzQxZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTUxMgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUJHRENCdndJQkFEQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEVqQVEKLUJnTlZCQU1UQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkRmTVZ0bDIKLUNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEyQ01SLytvdjBqUmRYUmE5aW9qQ2EzY04KLVZjMktLZzc2QWNpMDdmK2dLVEFuQmdrcWhraUc5dzBCQ1E0eEdqQVlNQWtHQTFVZEV3UUNNQUF3Q3dZRFZSMFAKLUJBUURBZ1hnTUFvR0NDcUdTTTQ5QkFNRUEwZ0FNRVVDSVFEOHhkdGx1VGlCSk01MGQvV3ZEZVV2UGJYT1VNbEwKLTh4RUpYVTJXT0srUkxBSWdTOFU2Wjh0bEpwWExFaXN6L2o0Z2RBQkczWTNoNFBCSmpscHN6RmlzVE5vPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjdfYWxsX3NwYWNlLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyN19hbGxfc3BhY2UuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTc5ODMwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyN19hbGxfc3BhY2UuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEd2pDQ0FhcWdBd0lCQWdJQkVEQU5CZ2txaGtpRzl3MEJBUXNGQURCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNoTUlVRzlzWVhKVFUwd3hKakFrQmdOVkJBTVRIVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0Ci1aV1JwWVhSbElFTkJNQjRYRFRFek1Ea3lOREUyTVRJeU5Gb1hEVEl6TURreU1qRTJNVEl5TkZvd05ERUxNQWsgRwotQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJJd0VBWURWUVFERXdsc2IyTmhiR2h2YzNRdwotV1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVFjYmZmcDJxWHFvWnl5Y2htb0NSeHpyZDRWdTk2bQotNDdOUEJlaHRFQzQ2YVRlWGdEbkJkZisrem5BQnJBdGZYQlJOUXo4QVJJZVlCbXNrcjIycmxLanlvNEdWTUlHUwotTUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZOSUswNlYzSDg1VnNGeEdvbzV6YkwraFlDYTdNR1lHQTFVZAotSXdSZk1GMkFGRGgzMkd0M25DaDNnb3RPMkJ1cEh2ZVVGcmNPb1VLa1FEQStNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDaE1JVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBHQwotQVE0d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFEUm9RNWZIS3crdmtsMEQzYXFMWDFYclppZGIrMjVBV2JocgotRllYZGFza04yMTlQclhCTDNjVjh4NXRLNnFzUEtTeXl3MWx1ZTgwT21oWHMvdzdQSmtPSEhVU1dSbm1UdjdscgotOFVzM1pyL3lPRi9WVnF6ZEdzN0RsT1RweXpFQmR1Z0k5dWFyL2FDcUhEb2x0Tjh3T2R1T29RQjlhb2pZcFJPagotK2dqbEVPMG1ndC84N1hwallPaWcxbzBqdjQ0UVlEUVpRenBqMXplSW42V01lNnhrOVlEd0NMTWpSSXBnKytjNwotUXl4dmNFSlRuODB3WDFTYUVCTTJnYXU5N0c3Yk9STE13QlZrTVQ0b1NZK2lLWWdwUHBhd09uTUpicVVQNzNEbQoteWZKRXhEZHJXL0JiV1ovdktJY1NxU1pJYmtIZGtOalVEVkhjenlWd1F4Wnh6dkxGdy9CMWs5czdqWUZzaTVlSwotVE5BZFhGYTRldDFIMnNkK3VodTI0R3hzam1KaW9EcmZ0aXhjZ3pQVkJqRENqSDhRV2tCRVgyOTJXSjU4b24wZQotZGVXTHBaVW56UGRFMUI0cnNpUHcxVmcyOG1HZ3IyTzF4Z0JRci9meDZBKzhJdE5UekFYYlpmRWN1bHQ5eXB3TQotMGI2WUROZTVJdmRLazhpd3ozbW9mMFZOeTQ3SzZ4b0NhRS9meHhXa2pvWEs4eDJ3ZnN3R2VQMlFnVXpRRTkzYgotT3RqZEhwc0cxYzdnSVZGUW1LQVR5QVBVejR2cW1lemdOUmxlWFUwb0wwUFl0b0NtS1E1MVVqTk1VZm1POXhDagotVkphTmEyaVRRNURnaWMrQ1c0VFlBZ2o1LzlnOVgzV2Z3bkROeHJaMFV4eGF3R0VsY3pIWHFick5sZVR0UGFLcAotYThTaTZVSzUKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRUFUQ0NBNGVnQXdJQkFnSUJEakFLQmdncWhrak9QUVFEQWpBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNoTUlVRzlzWVhKVFUwd3hIREFhQmdOVkJBTVRFMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEV3SGhjTgotTVRNd09USTBNVFUxTlRFMFdoY05Nak13T1RJeU1UVTFOVEUwV2pCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNoTUlVRzlzWVhKVFUwd3hKakFrQmdOVkJBTVRIVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0WldScAotWVhSbElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQW8xT2M4bnI2Zk1UcQotdm93VitDcEM1NWk1QlpHRkdjNTBFYjRSTEJTUlRIMWU3SmVwZEZqQVZiQnR5UVJKU2lZMWphMHRnTFFEREtaUgotd2ZFSStiNGF6c2U0NjBJblBIdjdDMVROMHVwWGx4dWo2bTlCMUlsUCtzQmFNN1dCQzZkVmZQTytqVk1JeGdrRgotQ2FCQ0xoaGRLMUZqZjhIamtUL1BrY3RXbmhvOE5Ud2l2YzkrbnFSWmpYZS9lSWNxbTVId2pERGh1K2d6K28wZwotVno5TWZaTmkxSnlDck95TlpjeStjcjJRZU5uTlZHbkZxOHhUeHR1NmRMdW5ocG1MRmoybW0wVmp3YTdZcGo1cQotQWpwcVRNdER2cWJSdVRveW95emFqaE1OY0NBZjdnd3pJdXBKSkZWZGpkdGdZQWNRd3ppa3dGNUhvSVRKenpKMgotcWd4RjdDbXZHWk5iN0c5OW1MZExkaHRjbEgzd0FRS0hZd0VHSm83WEt5TkV1SFBRZ0IrZTBjZzFTRDFIcWxBTQotdUNmR0dUV1E2bWU3QmphbjN0ME56b1RkRHE2SXBLVGVzYmFZKy85ZTJ4bjhEQ3JoQktMWFFNWkZEWnFVb0xZQQota0dQT0VHZ3ZsUG5JSVhBYXdvdXhDYU5ZRWg1VXc4NzFZTVNQVDI4ckxkRnI0OWR3WU90RGc5Zm9BOGhESVcyUAotZDZLWGJyWnRlZXN2QTFuWXpFT3MrM0FqcmJUNzlNZDJXOEJ6OWJxQlZObE5PRVNTcW00a2lDSkZtc2xtLzZicgotTnAwTVNRZCtvMjJQUTR4UnRtUDZVc1RmVTB1ZWlNcFljOFRZWWhNYmZuZkZ5bzRtNzA3ZWJjZmxQYkJFTjJkZwotdXBkUTY2Y3ZmQ0pCMFFKdDl1cGFmWTBscGRWMXFVa0NBd0VBQWFPQm9EQ0JuVEFkQmdOVkhRNEVGZ1FVT0hmIFkKLWEzZWNLSGVDaTA3WUc2a2U5NVFXdHc0d2JnWURWUjBqQkdjd1pZQVVuVzBnSkVrQlB5dkxlTFVadkg0a3lkdjcKLU5ueWhRcVJBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtFd2hRYjJ4aGNsTlRUREVjTUJvR0ExVUUKLUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRWUlKQU1GRDRuNWlROHpvTUF3R0ExVWRFd1FGTUFNQkFmOHcKLUNnWUlLb1pJemowRUF3SURhQUF3WlFJeEFQeUUrdStlUDdnUnJTRmpRaWNtcFlnOGppRlVDWUVvd1dZMnp1T0cKLWkxSFhZd21wREhmYXNRM3JOU3VmL2dIdmp3SXdiU1NqdW1Eayt1WU5jaS9LTUVMRHNEME1GSHhaaGhCYzlIcDkKLUFmNWNOUjhLaHplZ3puTDZhbVJPYkdHS21YMUYKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyN19pbnQtY2EuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI3X2ludC1jYS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzZGRjNDYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI3X2ludC1jYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUR3akNDQWFxZ0F3SUJBZ0lCRURBTkJna3Foa2lHOXcwQkFRc0ZBREJJTVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNVEhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnQKLVpXUnBZWFJsSUVOQk1CNFhEVEV6TURreU5ERTJNVEl5TkZvWERUSXpNRGt5TWpFMk1USXlORm93TkRFTE1Ba0cKLUExVUVCaE1DVGt3eEVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1SSXdFQVlEVlFRREV3bHNiMk5oYkdodmMzUXcKLVdUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRY2JmZnAycVhxb1p5eWNobW9DUnh6cmQ0VnU5Nm0KLTQ3TlBCZWh0RUM0NmFUZVhnRG5CZGYrK3puQUJyQXRmWEJSTlF6OEFSSWVZQm1za3IyMnJsS2p5bzRHVk1JR1MKLU1Ba0dBMVVkRXdRQ01BQXdIUVlEVlIwT0JCWUVGTklLMDZWM0g4NVZzRnhHb281emJMK2hZQ2E3TUdZR0ExVWQKLUl3UmZNRjJBRkRoMzJHdDNuQ2gzZ290TzJCdXBIdmVVRnJjT29VS2tRREErTVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwR0MKLUFRNHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBRFJvUTVmSEt3K3ZrbDBEM2FxTFgxWHJaaWRiKzI1QVdiaHIKLUZZWGRhc2tOMjE5UHJYQkwzY1Y4eDV0SzZxc1BLU3l5dzFsdWU4ME9taFhzL3c3UEprT0hIVVNXUm5tVHY3bHIKLThVczNaci95T0YvVlZxemRHczdEbE9UcHl6RUJkdWdJOXVhci9hQ3FIRG9sdE44d09kdU9vUUI5YW9qWXBST2oKLStnamxFTzBtZ3QvODdYcGpZT2lnMW8wanY0NFFZRFFaUXpwajF6ZUluNldNZTZ4azlZRHdDTE1qUklwZysrYzcKLVF5eHZjRUpUbjgwd1gxU2FFQk0yZ2F1OTdHN2JPUkxNd0JWa01UNG9TWStpS1lncFBwYXdPbk1KYnFVUDczRG0KLXlmSkV4RGRyVy9CYldaL3ZLSWNTcVNaSWJrSGRrTmpVRFZIY3p5VndReFp4enZMRncvQjFrOXM3allGc2k1ZUsKLVROQWRYRmE0ZXQxSDJzZCt1aHUyNEd4c2ptSmlvRHJmdGl4Y2d6UFZCakRDakg4UVdrQkVYMjkyV0o1OG9uMGUKLWRlV0xwWlVuelBkRTFCNHJzaVB3MVZnMjhtR2dyMk8xeGdCUXIvZng2QSs4SXROVHpBWGJaZkVjdWx0OXlwd00KLTBiNllETmU1SXZkS2s4aXd6M21vZjBWTnk0N0s2eG9DYUUvZnh4V2tqb1hLOHgyd2Zzd0dlUDJRZ1V6UUU5M2IKLU90amRIcHNHMWM3Z0lWRlFtS0FUeUFQVXo0dnFtZXpnTlJsZVhVMG9MMFBZdG9DbUtRNTFVak5NVWZtTzl4Q2oKLVZKYU5hMmlUUTVEZ2ljK0NXNFRZQWdqNS85ZzlYM1dmd25ETnhyWjBVeHhhd0dFbGN6SFhxYnJObGVUdFBhS3AKLWE4U2k2VUs1Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUVBVENDQTRlZ0F3SUJBZ0lCRGpBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1UTXdPVEkwTVRVMU5URTBXaGNOTWpNd09USXlNVFUxTlRFMFdqQklNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4SmpBa0JnTlZCQU1USFZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvMU9jOG5yNmZNVHEKLXZvd1YrQ3BDNTVpNUJaR0ZHYzUwRWI0UkxCU1JUSDFlN0plcGRGakFWYkJ0eVFSSlNpWTFqYTB0Z0xRRERLWlIKLXdmRUkrYjRhenNlNDYwSW5QSHY3QzFUTjB1cFhseHVqNm05QjFJbFArc0JhTTdXQkM2ZFZmUE8ralZNSXhna0YKLUNhQkNMaGhkSzFGamY4SGprVC9Qa2N0V25obzhOVHdpdmM5K25xUlpqWGUvZUljcW01SHdqRERodStneitvMGcKLVZ6OU1mWk5pMUp5Q3JPeU5aY3krY3IyUWVObk5WR25GcTh4VHh0dTZkTHVuaHBtTEZqMm1tMFZqd2E3WXBqNXEKLUFqcHFUTXREdnFiUnVUb3lveXphamhNTmNDQWY3Z3d6SXVwSkpGVmRqZHRnWUFjUXd6aWt3RjVIb0lUSnp6SjIKLXFneEY3Q212R1pOYjdHOTltTGRMZGh0Y2xIM3dBUUtIWXdFR0pvN1hLeU5FdUhQUWdCK2UwY2cxU0QxSHFsQU0KLXVDZkdHVFdRNm1lN0JqYW4zdDBOem9UZERxNklwS1Rlc2JhWSsvOWUyeG44RENyaEJLTFhRTVpGRFpxVW9MWUEKLWtHUE9FR2d2bFBuSUlYQWF3b3V4Q2FOWUVoNVV3ODcxWU1TUFQyOHJMZEZyNDlkd1lPdERnOWZvQThoRElXMlAKLWQ2S1hiclp0ZWVzdkExbll6RU9zKzNBanJiVDc5TWQyVzhCejlicUJWTmxOT0VTU3FtNGtpQ0pGbXNsbS82YnIKLU5wME1TUWQrbzIyUFE0eFJ0bVA2VXNUZlUwdWVpTXBZYzhUWVloTWJmbmZGeW80bTcwN2ViY2ZsUGJCRU4yZGcKLXVwZFE2NmN2ZkNKQjBRSnQ5dXBhZlkwbHBkVjFxVWtDQXdFQUFhT0JvRENCblRBZEJnTlZIUTRFRmdRVU9IZlkKLWEzZWNLSGVDaTA3WUc2a2U5NVFXdHc0d2JnWURWUjBqQkdjd1pZQVVuVzBnSkVrQlB5dkxlTFVadkg0a3lkdjcKLU5ueWhRcVJBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtFd2hRYjJ4aGNsTlRUREVjTUJvR0ExVUUKLUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRWUlKQU1GRDRuNWlROHpvTUF3R0ExVWRFd1FGTUFNQkFmOHcKLUNnWUlLb1pJemowRUF3SURhQUF3WlFJeEFQeUUrdStlUDdnUnJTRmpRaWNtcFlnOGppRlVDWUVvd1dZMnp1T0cKLWkxSFhZd21wREhmYXNRM3JOU3VmL2dIdmp3SXdiU1NqdW1Eayt1WU5jaS9LTUVMRHNEME1GSHhaaGhCYzlIcDkKLUFmNWNOUjhLaHplZ3puTDZhbVJPYkdHS21YMUYKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyN19wZW1fc3BhY2UuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI3X3BlbV9zcGFjZS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlZjBmYzcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI3X3BlbV9zcGFjZS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUR3akNDQWFxZ0F3SUJBZ0lCRURBTkJna3Foa2lHOXcwQkFRc0ZBREJJTVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNVEhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnQKLVpXUnBZWFJsSUVOQk1CNFhEVEV6TURreU5ERTJNVEl5TkZvWERUSXpNRGt5TWpFMk1USXlORm93TkRFTE1BayBHCi1BMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb1RDRkJ2YkdGeVUxTk1NUkl3RUFZRFZRUURFd2xzYjJOaGJHaHZjM1F3Ci1XVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWNiZmZwMnFYcW9aeXljaG1vQ1J4enJkNFZ1OTZtCi00N05QQmVodEVDNDZhVGVYZ0RuQmRmKyt6bkFCckF0ZlhCUk5RejhBUkllWUJtc2tyMjJybEtqeW80R1ZNSUdTCi1NQWtHQTFVZEV3UUNNQUF3SFFZRFZSME9CQllFRk5JSzA2VjNIODVWc0Z4R29vNXpiTCtoWUNhN01HWUdBMVVkCi1Jd1JmTUYyQUZEaDMyR3QzbkNoM2dvdE8yQnVwSHZlVUZyY09vVUtrUURBK01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNoTUlVRzlzWVhKVFUwd3hIREFhQmdOVkJBTVRFMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEdDCi1BUTR3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQURSb1E1ZkhLdyt2a2wwRDNhcUxYMVhyWmlkYisyNUFXYmhyCi1GWVhkYXNrTjIxOVByWEJMM2NWOHg1dEs2cXNQS1N5eXcxbHVlODBPbWhYcy93N1BKa09ISFVTV1JubVR2N2xyCi04VXMzWnIveU9GL1ZWcXpkR3M3RGxPVHB5ekVCZHVnSTl1YXIvYUNxSERvbHROOHdPZHVPb1FCOWFvallwUk9qCi0rZ2psRU8wbWd0Lzg3WHBqWU9pZzFvMGp2NDRRWURRWlF6cGoxemVJbjZXTWU2eGs5WUR3Q0xNalJJcGcrK2M3Ci1ReXh2Y0VKVG44MHdYMVNhRUJNMmdhdTk3RzdiT1JMTXdCVmtNVDRvU1kraUtZZ3BQcGF3T25NSmJxVVA3M0RtCi15ZkpFeERkclcvQmJXWi92S0ljU3FTWklia0hka05qVURWSGN6eVZ3UXhaeHp2TEZ3L0IxazlzN2pZRnNpNWVLCi1UTkFkWEZhNGV0MUgyc2QrdWh1MjRHeHNqbUppb0RyZnRpeGNnelBWQmpEQ2pIOFFXa0JFWDI5MldKNThvbjBlCi1kZVdMcFpVbnpQZEUxQjRyc2lQdzFWZzI4bUdncjJPMXhnQlFyL2Z4NkErOEl0TlR6QVhiWmZFY3VsdDl5cHdNCi0wYjZZRE5lNUl2ZEtrOGl3ejNtb2YwVk55NDdLNnhvQ2FFL2Z4eFdram9YSzh4Mndmc3dHZVAyUWdVelFFOTNiCi1PdGpkSHBzRzFjN2dJVkZRbUtBVHlBUFV6NHZxbWV6Z05SbGVYVTBvTDBQWXRvQ21LUTUxVWpOTVVmbU85eENqCi1WSmFOYTJpVFE1RGdpYytDVzRUWUFnajUvOWc5WDNXZnduRE54clowVXh4YXdHRWxjekhYcWJyTmxlVHRQYUtwCi1hOFNpNlVLNQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlFQVRDQ0E0ZWdBd0lCQWdJQkRqQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1NVE13T1RJME1UVTFOVEUwV2hjTk1qTXdPVEl5TVRVMU5URTBXakJJTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNVEhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnRaV1JwCi1ZWFJsSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBbzFPYzhucjZmTVRxCi12b3dWK0NwQzU1aTVCWkdGR2M1MEViNFJMQlNSVEgxZTdKZXBkRmpBVmJCdHlRUkpTaVkxamEwdGdMUURES1pSCi13ZkVJK2I0YXpzZTQ2MEluUEh2N0MxVE4wdXBYbHh1ajZtOUIxSWxQK3NCYU03V0JDNmRWZlBPK2pWTUl4Z2tGCi1DYUJDTGhoZEsxRmpmOEhqa1QvUGtjdFduaG84TlR3aXZjOStucVJaalhlL2VJY3FtNUh3akREaHUrZ3orbzBnCi1WejlNZlpOaTFKeUNyT3lOWmN5K2NyMlFlTm5OVkduRnE4eFR4dHU2ZEx1bmhwbUxGajJtbTBWandhN1lwajVxCi1BanBxVE10RHZxYlJ1VG95b3l6YWpoTU5jQ0FmN2d3ekl1cEpKRlZkamR0Z1lBY1F3emlrd0Y1SG9JVEp6ekoyCi1xZ3hGN0NtdkdaTmI3Rzk5bUxkTGRodGNsSDN3QVFLSFl3RUdKbzdYS3lORXVIUFFnQitlMGNnMVNEMUhxbEFNCi11Q2ZHR1RXUTZtZTdCamFuM3QwTnpvVGREcTZJcEtUZXNiYVkrLzllMnhuOERDcmhCS0xYUU1aRkRacVVvTFlBCi1rR1BPRUdndmxQbklJWEFhd291eENhTllFaDVVdzg3MVlNU1BUMjhyTGRGcjQ5ZHdZT3REZzlmb0E4aERJVzJQCi1kNktYYnJadGVlc3ZBMW5ZekVPcyszQWpyYlQ3OU1kMlc4Qno5YnFCVk5sTk9FU1NxbTRraUNKRm1zbG0vNmJyCi1OcDBNU1FkK28yMlBRNHhSdG1QNlVzVGZVMHVlaU1wWWM4VFlZaE1iZm5mRnlvNG03MDdlYmNmbFBiQkVOMmRnCi11cGRRNjZjdmZDSkIwUUp0OXVwYWZZMGxwZFYxcVVrQ0F3RUFBYU9Cb0RDQm5UQWRCZ05WSFE0RUZnUVVPSGZZCi1hM2VjS0hlQ2kwN1lHNmtlOTVRV3R3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0JQeXZMZUxVWnZINGt5ZHY3Ci1ObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLRXdoUWIyeGhjbE5UVERFY01Cb0dBMVVFCi1BeE1UVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bd0dBMVVkRXdRRk1BTUJBZjh3Ci1DZ1lJS29aSXpqMEVBd0lEYUFBd1pRSXhBUHlFK3UrZVA3Z1JyU0ZqUWljbXBZZzhqaUZVQ1lFb3dXWTJ6dU9HCi1pMUhYWXdtcERIZmFzUTNyTlN1Zi9nSHZqd0l3YlNTanVtRGsrdVlOY2kvS01FTERzRDBNRkh4WmhoQmM5SHA5Ci1BZjVjTlI4S2h6ZWd6bkw2YW1ST2JHR0ttWDFGCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjdfdHJhaWxpbmdfc3BhY2UuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI3X3RyYWlsaW5nX3NwYWNlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZhZjhjZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjdfdHJhaWxpbmdfc3BhY2UuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tIAotTUlJRHdqQ0NBYXFnQXdJQkFnSUJFREFOQmdrcWhraUc5dzBCQVFzRkFEQklNUXN3Q1FZRFZRUUdFd0pPVERFUiAKLU1BOEdBMVVFQ2hNSVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNVEhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnQgCi1aV1JwWVhSbElFTkJNQjRYRFRFek1Ea3lOREUyTVRJeU5Gb1hEVEl6TURreU1qRTJNVEl5TkZvd05ERUxNQWtHIAotQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJJd0VBWURWUVFERXdsc2IyTmhiR2h2YzNRdyAKLVdUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRY2JmZnAycVhxb1p5eWNobW9DUnh6cmQ0VnU5Nm0gCi00N05QQmVodEVDNDZhVGVYZ0RuQmRmKyt6bkFCckF0ZlhCUk5RejhBUkllWUJtc2tyMjJybEtqeW80R1ZNSUdTIAotTUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZOSUswNlYzSDg1VnNGeEdvbzV6YkwraFlDYTdNR1lHQTFVZCAKLUl3UmZNRjJBRkRoMzJHdDNuQ2gzZ290TzJCdXBIdmVVRnJjT29VS2tRREErTVFzd0NRWURWUVFHRXdKT1RERVIgCi1NQThHQTFVRUNoTUlVRzlzWVhKVFUwd3hIREFhQmdOVkJBTVRFMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEdDIAotQVE0d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFEUm9RNWZIS3crdmtsMEQzYXFMWDFYclppZGIrMjVBV2JociAKLUZZWGRhc2tOMjE5UHJYQkwzY1Y4eDV0SzZxc1BLU3l5dzFsdWU4ME9taFhzL3c3UEprT0hIVVNXUm5tVHY3bHIgCi04VXMzWnIveU9GL1ZWcXpkR3M3RGxPVHB5ekVCZHVnSTl1YXIvYUNxSERvbHROOHdPZHVPb1FCOWFvallwUk9qIAotK2dqbEVPMG1ndC84N1hwallPaWcxbzBqdjQ0UVlEUVpRenBqMXplSW42V01lNnhrOVlEd0NMTWpSSXBnKytjNyAKLVF5eHZjRUpUbjgwd1gxU2FFQk0yZ2F1OTdHN2JPUkxNd0JWa01UNG9TWStpS1lncFBwYXdPbk1KYnFVUDczRG0gCi15ZkpFeERkclcvQmJXWi92S0ljU3FTWklia0hka05qVURWSGN6eVZ3UXhaeHp2TEZ3L0IxazlzN2pZRnNpNWVLIAotVE5BZFhGYTRldDFIMnNkK3VodTI0R3hzam1KaW9EcmZ0aXhjZ3pQVkJqRENqSDhRV2tCRVgyOTJXSjU4b24wZSAKLWRlV0xwWlVuelBkRTFCNHJzaVB3MVZnMjhtR2dyMk8xeGdCUXIvZng2QSs4SXROVHpBWGJaZkVjdWx0OXlwd00gCi0wYjZZRE5lNUl2ZEtrOGl3ejNtb2YwVk55NDdLNnhvQ2FFL2Z4eFdram9YSzh4Mndmc3dHZVAyUWdVelFFOTNiIAotT3RqZEhwc0cxYzdnSVZGUW1LQVR5QVBVejR2cW1lemdOUmxlWFUwb0wwUFl0b0NtS1E1MVVqTk1VZm1POXhDaiAKLVZKYU5hMmlUUTVEZ2ljK0NXNFRZQWdqNS85ZzlYM1dmd25ETnhyWjBVeHhhd0dFbGN6SFhxYnJObGVUdFBhS3AgCi1hOFNpNlVLNSAKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0gCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0gCi1NSUlFQVRDQ0E0ZWdBd0lCQWdJQkRqQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHIAotQTFVRUNoTUlVRzlzWVhKVFUwd3hIREFhQmdOVkJBTVRFMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEV3SGhjTiAKLU1UTXdPVEkwTVRVMU5URTBXaGNOTWpNd09USXlNVFUxTlRFMFdqQklNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcgCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNVEhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnRaV1JwIAotWVhSbElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQW8xT2M4bnI2Zk1UcSAKLXZvd1YrQ3BDNTVpNUJaR0ZHYzUwRWI0UkxCU1JUSDFlN0plcGRGakFWYkJ0eVFSSlNpWTFqYTB0Z0xRRERLWlIgCi13ZkVJK2I0YXpzZTQ2MEluUEh2N0MxVE4wdXBYbHh1ajZtOUIxSWxQK3NCYU03V0JDNmRWZlBPK2pWTUl4Z2tGIAotQ2FCQ0xoaGRLMUZqZjhIamtUL1BrY3RXbmhvOE5Ud2l2YzkrbnFSWmpYZS9lSWNxbTVId2pERGh1K2d6K28wZyAKLVZ6OU1mWk5pMUp5Q3JPeU5aY3krY3IyUWVObk5WR25GcTh4VHh0dTZkTHVuaHBtTEZqMm1tMFZqd2E3WXBqNXEgCi1BanBxVE10RHZxYlJ1VG95b3l6YWpoTU5jQ0FmN2d3ekl1cEpKRlZkamR0Z1lBY1F3emlrd0Y1SG9JVEp6ekoyIAotcWd4RjdDbXZHWk5iN0c5OW1MZExkaHRjbEgzd0FRS0hZd0VHSm83WEt5TkV1SFBRZ0IrZTBjZzFTRDFIcWxBTSAKLXVDZkdHVFdRNm1lN0JqYW4zdDBOem9UZERxNklwS1Rlc2JhWSsvOWUyeG44RENyaEJLTFhRTVpGRFpxVW9MWUEgCi1rR1BPRUdndmxQbklJWEFhd291eENhTllFaDVVdzg3MVlNU1BUMjhyTGRGcjQ5ZHdZT3REZzlmb0E4aERJVzJQIAotZDZLWGJyWnRlZXN2QTFuWXpFT3MrM0FqcmJUNzlNZDJXOEJ6OWJxQlZObE5PRVNTcW00a2lDSkZtc2xtLzZiciAKLU5wME1TUWQrbzIyUFE0eFJ0bVA2VXNUZlUwdWVpTXBZYzhUWVloTWJmbmZGeW80bTcwN2ViY2ZsUGJCRU4yZGcgCi11cGRRNjZjdmZDSkIwUUp0OXVwYWZZMGxwZFYxcVVrQ0F3RUFBYU9Cb0RDQm5UQWRCZ05WSFE0RUZnUVVPSGZZIAotYTNlY0tIZUNpMDdZRzZrZTk1UVd0dzR3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCUHl2TGVMVVp2SDRreWR2NyAKLU5ueWhRcVJBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtFd2hRYjJ4aGNsTlRUREVjTUJvR0ExVUUgCi1BeE1UVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bd0dBMVVkRXdRRk1BTUJBZjh3IAotQ2dZSUtvWkl6ajBFQXdJRGFBQXdaUUl4QVB5RSt1K2VQN2dSclNGalFpY21wWWc4amlGVUNZRW93V1kyenVPRyAKLWkxSFhZd21wREhmYXNRM3JOU3VmL2dIdmp3SXdiU1NqdW1Eayt1WU5jaS9LTUVMRHNEME1GSHhaaGhCYzlIcDkgCi1BZjVjTlI4S2h6ZWd6bkw2YW1ST2JHR0ttWDFGIAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLSAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS1zaGEyMjQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTIyNC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiMDVmMzEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTIyNC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURXekNDQWhLZ0F3SUJBZ0lCRnpBK0Jna3Foa2lHOXcwQkFRb3dNYUFOTUFzR0NXQ0dTQUZsQXdRQ0JLRWEKLU1CZ0dDU3FHU0liM0RRRUJDREFMQmdsZ2hrZ0JaUU1FQWdTaUJBSUNBT0l3T3pFTE1Ba0dBMVVFQmhNQ1Rrd3gKLUVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sa3dGd1lEVlFRREV4QlFiMnhoY2xOVFRDQlVaWE4wSUVOQk1CNFgKLURURTBNREV5TURFek5UY3pObG9YRFRJME1ERXhPREV6TlRjek5sb3dOREVMTUFrR0ExVUVCaE1DVGt3eEVUQVAKLUJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJJd0VBWURWUVFERXdsc2IyTmhiR2h2YzNRd2daOHdEUVlKS29aSWh2Y04KLUFRRUJCUUFEZ1kwQU1JR0pBb0dCQU4wUmlwK1p1ckJveWlycU8ycHRXWmZ0VHNsVTVBM3V6cUI5b0I2cTZBN0MKLXV4TkEyNG9Tam9rVEpLWEY5ZnJZOVpEWHlNckx4ZjZUSGEvYUVpTnpVbmxHR3JxZ1Z5dDJGakd6cUsvbk9Kc0kKLWkyT1pPZ29sN2tYU0dGaTZ1Wk1hN2RSWW1tTWJOL3ozRkFpZmhXVko4MWt5YmRIZzZHM2VVdTFtdEtrTDJrQ1YKLUFnTUJBQUdqZ1pJd2dZOHdDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVN3ZQSDlSOFZwVTFIaWNIVEltT3kKLTM2Zk92VkV3WXdZRFZSMGpCRnd3V29BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mK2hQNlE5TURzeEN6QUoKLUJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERVpNQmNHQTFVRUF4TVFVRzlzWVhKVFUwd2cKLVZHVnpkQ0JEUVlJQkFEQStCZ2txaGtpRzl3MEJBUW93TWFBTk1Bc0dDV0NHU0FGbEF3UUNCS0VhTUJnR0NTcUcKLVNJYjNEUUVCQ0RBTEJnbGdoa2dCWlFNRUFnU2lCQUlDQU9JRGdnRUJBREpFeGpmV1d2TDI4bGdqK0dHZ3ZpcW8KLVBIWkx4STBwTFFVbkZKUTlLcHU2anhmSUNzZUJGMDBaNkJKRS9SY1lEcElpZTVHRHQvOHUvaTZ4QjZMaTI5UG0KLWc1bkFOZ2QvWTNmRm5XN2QweWRWamlTbmV0bFB1Zi9qVGxXUWw2bVFUSDJ4cVl1OEo4ZDNKUnhRZFJpRFliVm0KLXV5d1cyZDZya3NpcW02ZFBENWw0QTVEY2VtY1lvOGYvMUlmajVXTkRDVjgvT0hleCtBblcyY2NEdldBblZnU1IKLUIyVnBPWEp6VkZ1QnN1ZjR0R1ZtLzJUVU1TQjZOY3ZGYzZUZUprMWt6Ylp4aWk0UWpLWHRIMVNmclZQNTlpRWUKLWwxN05ZQUVXQVJqQnBRV0JpdXRSRytRTTJldDBzTmlVQnVXeFRrdmQwZVNnZW5jTnlzVkFPc1pxcnFhWDNDWT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS1zaGEyNTYuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTI1Ni5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkMGFhMzkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTI1Ni5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURXekNDQWhLZ0F3SUJBZ0lCR0RBK0Jna3Foa2lHOXcwQkFRb3dNYUFOTUFzR0NXQ0dTQUZsQXdRQ0FhRWEKLU1CZ0dDU3FHU0liM0RRRUJDREFMQmdsZ2hrZ0JaUU1FQWdHaUJBSUNBTjR3T3pFTE1Ba0dBMVVFQmhNQ1Rrd3gKLUVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sa3dGd1lEVlFRREV4QlFiMnhoY2xOVFRDQlVaWE4wSUVOQk1CNFgKLURURTBNREV5TURFek5UYzBOVm9YRFRJME1ERXhPREV6TlRjME5Wb3dOREVMTUFrR0ExVUVCaE1DVGt3eEVUQVAKLUJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJJd0VBWURWUVFERXdsc2IyTmhiR2h2YzNRd2daOHdEUVlKS29aSWh2Y04KLUFRRUJCUUFEZ1kwQU1JR0pBb0dCQU4wUmlwK1p1ckJveWlycU8ycHRXWmZ0VHNsVTVBM3V6cUI5b0I2cTZBN0MKLXV4TkEyNG9Tam9rVEpLWEY5ZnJZOVpEWHlNckx4ZjZUSGEvYUVpTnpVbmxHR3JxZ1Z5dDJGakd6cUsvbk9Kc0kKLWkyT1pPZ29sN2tYU0dGaTZ1Wk1hN2RSWW1tTWJOL3ozRkFpZmhXVko4MWt5YmRIZzZHM2VVdTFtdEtrTDJrQ1YKLUFnTUJBQUdqZ1pJd2dZOHdDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVN3ZQSDlSOFZwVTFIaWNIVEltT3kKLTM2Zk92VkV3WXdZRFZSMGpCRnd3V29BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mK2hQNlE5TURzeEN6QUoKLUJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERVpNQmNHQTFVRUF4TVFVRzlzWVhKVFUwd2cKLVZHVnpkQ0JEUVlJQkFEQStCZ2txaGtpRzl3MEJBUW93TWFBTk1Bc0dDV0NHU0FGbEF3UUNBYUVhTUJnR0NTcUcKLVNJYjNEUUVCQ0RBTEJnbGdoa2dCWlFNRUFnR2lCQUlDQU40RGdnRUJBSDAra25xa2NMYXhlRGtlbkJRZ2Q0UWcKLTNaeUFodHBpTFU2ODltdyszY1hCL3V6RnJDSXhFTDVhR2gxZVNqK0RzekIrRnRzWjA2dXg3SlZRcVZPQTJXbTkKLXlMeEM2d0Y4T09ZajBuQmE5MUJXTGhSQUhMaG1JZFdzVms3SGw5S29qWmQ0VHdWMk4rWkVWL0JMeHlvUnZLNEgKLVY0eENwemdEU2lUUGU4RXRrNHIrMGFrYnI2YnNPVUJheVBiN01HTEh1YlpLcThOc0ZBbW15bnArZlBtSGQzU0UKLTBvb0pkaVoxTW1LUEtMRTVPZy9oWENJOHFlaVhRVVI2b1E3YjJYT05zckkySElqMlNBOWRBNXFtSHdFNVBiTXUKLXpxeFEzUjgzYm9xTFhia0ZPUm4rVWlZTG1mZnFkb1d1TnkwMEJITUNyeFJBOURVditXeU40bnBMTUY4ck9Kdz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS1zaGEzODQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTM4NC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhYTYzZTYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTM4NC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURXekNDQWhLZ0F3SUJBZ0lCR1RBK0Jna3Foa2lHOXcwQkFRb3dNYUFOTUFzR0NXQ0dTQUZsQXdRQ0FxRWEKLU1CZ0dDU3FHU0liM0RRRUJDREFMQmdsZ2hrZ0JaUU1FQWdLaUJBSUNBTTR3T3pFTE1Ba0dBMVVFQmhNQ1Rrd3gKLUVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sa3dGd1lEVlFRREV4QlFiMnhoY2xOVFRDQlVaWE4wSUVOQk1CNFgKLURURTBNREV5TURFek5UYzFPRm9YRFRJME1ERXhPREV6TlRjMU9Gb3dOREVMTUFrR0ExVUVCaE1DVGt3eEVUQVAKLUJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJJd0VBWURWUVFERXdsc2IyTmhiR2h2YzNRd2daOHdEUVlKS29aSWh2Y04KLUFRRUJCUUFEZ1kwQU1JR0pBb0dCQU4wUmlwK1p1ckJveWlycU8ycHRXWmZ0VHNsVTVBM3V6cUI5b0I2cTZBN0MKLXV4TkEyNG9Tam9rVEpLWEY5ZnJZOVpEWHlNckx4ZjZUSGEvYUVpTnpVbmxHR3JxZ1Z5dDJGakd6cUsvbk9Kc0kKLWkyT1pPZ29sN2tYU0dGaTZ1Wk1hN2RSWW1tTWJOL3ozRkFpZmhXVko4MWt5YmRIZzZHM2VVdTFtdEtrTDJrQ1YKLUFnTUJBQUdqZ1pJd2dZOHdDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVN3ZQSDlSOFZwVTFIaWNIVEltT3kKLTM2Zk92VkV3WXdZRFZSMGpCRnd3V29BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mK2hQNlE5TURzeEN6QUoKLUJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERVpNQmNHQTFVRUF4TVFVRzlzWVhKVFUwd2cKLVZHVnpkQ0JEUVlJQkFEQStCZ2txaGtpRzl3MEJBUW93TWFBTk1Bc0dDV0NHU0FGbEF3UUNBcUVhTUJnR0NTcUcKLVNJYjNEUUVCQ0RBTEJnbGdoa2dCWlFNRUFnS2lCQUlDQU00RGdnRUJBQmY4R3lxMlZZdU4xRUJXMW5PYXBEUXAKLUIvS3VhZk5XMkdFSjdGbVFLTnlBN01JajFZcW8yTXRKNi9PUW9qUlEzRjVybk80eWptdklQc1hlUWFNeEpCaUkKLWFhb0FsTHBIKytGK29YTXEvMGFTMFdTWnJTTHJzaDJGcGF5OWNCREd3ZWsyckRPWDlrTStaY1B6R2l0VndXS1gKLVRuT1cyMmhwY2w3dTk1Q3BaSCtKWlRjdG81bkwzdFR5VjlwSXkrdFNLUVFmalBCK0cwVEFaQ3NPa2JDR1BMdWcKLXFkanZxRlF3T2YxNVZ4UU1qN05SaVhqbHFKdnN4K0k3QjJBSWhyczREelFNRXlpV3E5Uy9QenBRdUZVNXYvS2cKLXMyaU1MSjV5Z3Y1YU4zUFlxR2xFMVptdmd5UnA1aC9MYVRHSTJMNmx6UlRuZWNPaHRQdjMwTjJ0eWFEQUVmbz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS1zaGE1MTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTUxMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyMTFiOTIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTUxMi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURXekNDQWhLZ0F3SUJBZ0lCR2pBK0Jna3Foa2lHOXcwQkFRb3dNYUFOTUFzR0NXQ0dTQUZsQXdRQ0E2RWEKLU1CZ0dDU3FHU0liM0RRRUJDREFMQmdsZ2hrZ0JaUU1FQWdPaUJBSUNBTDR3T3pFTE1Ba0dBMVVFQmhNQ1Rrd3gKLUVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1Sa3dGd1lEVlFRREV4QlFiMnhoY2xOVFRDQlVaWE4wSUVOQk1CNFgKLURURTBNREV5TURFek5UZ3hNbG9YRFRJME1ERXhPREV6TlRneE1sb3dOREVMTUFrR0ExVUVCaE1DVGt3eEVUQVAKLUJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJJd0VBWURWUVFERXdsc2IyTmhiR2h2YzNRd2daOHdEUVlKS29aSWh2Y04KLUFRRUJCUUFEZ1kwQU1JR0pBb0dCQU4wUmlwK1p1ckJveWlycU8ycHRXWmZ0VHNsVTVBM3V6cUI5b0I2cTZBN0MKLXV4TkEyNG9Tam9rVEpLWEY5ZnJZOVpEWHlNckx4ZjZUSGEvYUVpTnpVbmxHR3JxZ1Z5dDJGakd6cUsvbk9Kc0kKLWkyT1pPZ29sN2tYU0dGaTZ1Wk1hN2RSWW1tTWJOL3ozRkFpZmhXVko4MWt5YmRIZzZHM2VVdTFtdEtrTDJrQ1YKLUFnTUJBQUdqZ1pJd2dZOHdDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVN3ZQSDlSOFZwVTFIaWNIVEltT3kKLTM2Zk92VkV3WXdZRFZSMGpCRnd3V29BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mK2hQNlE5TURzeEN6QUoKLUJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoY2xOVFRERVpNQmNHQTFVRUF4TVFVRzlzWVhKVFUwd2cKLVZHVnpkQ0JEUVlJQkFEQStCZ2txaGtpRzl3MEJBUW93TWFBTk1Bc0dDV0NHU0FGbEF3UUNBNkVhTUJnR0NTcUcKLVNJYjNEUUVCQ0RBTEJnbGdoa2dCWlFNRUFnT2lCQUlDQUw0RGdnRUJBQ2RWb3pGcTZyVWlYbytpYjVZMm9Qc1IKLTZ4eGw0WWRuM0xwVW9ZclBwVE9yaGNYSldXL3RPTEhHdUNGL21TUmZVekthTUlmTDQxOGNaSFludnVtdnV0dHUKLTZ6M3RwNUUxVnNpWkNVMk1XSm56aktTeEZCT3NzNDNBbXBKSEhvYXBHRlp1MnB4T2JCUHFlZ0FLSFlrS1dPTGsKLXRKRGo0N1B1cldnRWVrOWoxbkw3UGMxdFZmNTlmbS95U3A0ZldrWExMdlFpS2lkMTUxNlZpb0x5YWNVdkszelUKLTZFZ3o4ak10N0Q1YzlLcGFFeExSVEFOVnNUaHFPNS9kbVIzNmJPd20zSHBiZGU3RE5kZ3hydTQxdGlMTXFKcy8KLTVwWDNjZWFKMVhRL2wwaWRqNS85aXB2cUhIVWd1eWs3SDIySHdRSFFkU0Q5b0loYThrRU0zUDZDanBmRTd5WT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNmY5ZmJjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURCVENDQWVlZ0F3SUJBZ0lCRmpBVEJna3Foa2lHOXcwQkFRb3dCcUlFQWdJQTZqQTdNUXN3Q1FZRFZRUUcKLUV3Sk9UREVSTUE4R0ExVUVDaE1JVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1URUZCdmJHRnlVMU5NSUZSbGMzUWcKLVEwRXdIaGNOTVRRd01USXdNVE16T0RFMldoY05NalF3TVRFNE1UTXpPREUyV2pBME1Rc3dDUVlEVlFRR0V3Sk8KLVRERVJNQThHQTFVRUNoTUlVRzlzWVhKVFUwd3hFakFRQmdOVkJBTVRDV3h2WTJGc2FHOXpkRENCbnpBTkJna3EKLWhraUc5dzBCQVFFRkFBT0JqUUF3Z1lrQ2dZRUEzUkdLbjVtNnNHaktLdW83YW0xWmwrMU95VlRrRGU3T29IMmcKLUhxcm9Ec0s3RTBEYmloS09pUk1rcGNYMSt0ajFrTmZJeXN2Ri9wTWRyOW9TSTNOU2VVWWF1cUJYSzNZV01iT28KLXIrYzRtd2lMWTVrNkNpWHVSZElZV0xxNWt4cnQxRmlhWXhzMy9QY1VDSitGWlVueldUSnQwZURvYmQ1UzdXYTAKLXFRdmFRSlVDQXdFQUFhT0JrakNCanpBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCVHU4OGYxSHhXbFRVZUoKLXdkTWlZN0xmcDg2OVVUQmpCZ05WSFNNRVhEQmFnQlMwV3VTbHM5N1NVdmE1MWFhVkQrcyt2TWY5LzZFL3BEMHcKLU96RUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJrd0Z3WURWUVFERXhCUWIyeGgKLWNsTlRUQ0JVWlhOMElFTkJnZ0VBTUJNR0NTcUdTSWIzRFFFQkNqQUdvZ1FDQWdEcUE0SUJBUURBb2cvalh5ZFIKLXZESXVnVHpCWHRmVkswQ0VYOGl5UTRjVnpRbVhXU25lODIwNHY5NDNLNUQyaGt0U0JramRRVWRjblZ2VmdMUjYKLXRlNTBqVjg5cHROL05vZlgrZm85ZmhTUk45dkdnUVZXek9PRmlPMHpjVGh5NzQ5cGlySnUxS3E1T0pkdGhJeVcKLVB1MFVDejVHMGsza1RwMEpQZXZHbHNOYzhTOUFrMXRGdUIwSVBKanJiZk9EV0hTMkxEdU8rZEI2Z3BrTlRkcmoKLTg4b2dZdEJzTjRENWdzWEJSVWZvYlhva1V3ZWpCd0xyRDZYd3lReCswYk13U0N4Z0hFaHh2dVVreDF2ZGxYR3cKLUpHM2FGOTJ1OG1JeG9LU0FQYVBkcXk5MzBtUXZtcFVXY041WTFJTWJ0RUdvUUNLTVlnb3NGY2F6SnBKY2puWDEKLW80SGwvbHFqd0NFRwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LnJlcS5zaGExIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LnJlcS5zaGExCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWQwMDUzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhMQorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlCb2pDQ0FRWUNBUUF3TkRFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb1RDRkJ2YkdGeVUxTk1NUkl3Ci1FQVlEVlFRREV3bHNiMk5oYkdodmMzUXdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTjBSCi1pcCtadXJCb3lpcnFPMnB0V1pmdFRzbFU1QTN1enFCOW9CNnE2QTdDdXhOQTI0b1Nqb2tUSktYRjlmclk5WkRYCi15TXJMeGY2VEhhL2FFaU56VW5sR0dycWdWeXQyRmpHenFLL25PSnNJaTJPWk9nb2w3a1hTR0ZpNnVaTWE3ZFJZCi1tbU1iTi96M0ZBaWZoV1ZKODFreWJkSGc2RzNlVXUxbXRLa0wya0NWQWdNQkFBR2dLVEFuQmdrcWhraUc5dzBCCi1DUTR4R2pBWU1Ba0dBMVVkRXdRQ01BQXdDd1lEVlIwUEJBUURBZ1hnTUJJR0NTcUdTSWIzRFFFQkNqQUZvZ01DCi1BV29EZ1lFQTJuOFNPb2lKQ3MrWXlIMlZYb1VWeGh1dGRYR1A0KzdjRUNha2wybW1WRUtoeFhETUVHN2hFRmtCCi1ta2s0YjFrUk5PUUhLcVVxM2NyZmkwT2tNY1BHa1BpTGxZTEtnVDUxQ2dzQmh1SmFNc2RDWW8vNVBPZ1RaRDR1Ci1GSTVnZnlPNzBYcHE5UW1yV0VxcVRkYWxSRzcrVW1HYTNWRVVWeVhURG5RWmZVMU4yUUU9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhMjI0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LnJlcS5zaGEyMjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlMWM3OTcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LnJlcS5zaGEyMjQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQnpUQ0NBUVlDQVFBd05ERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJJdwotRUFZRFZRUURFd2xzYjJOaGJHaHZjM1F3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU4wUgotaXArWnVyQm95aXJxTzJwdFdaZnRUc2xVNUEzdXpxQjlvQjZxNkE3Q3V4TkEyNG9Tam9rVEpLWEY5ZnJZOVpEWAoteU1yTHhmNlRIYS9hRWlOelVubEdHcnFnVnl0MkZqR3pxSy9uT0pzSWkyT1pPZ29sN2tYU0dGaTZ1Wk1hN2RSWQotbW1NYk4vejNGQWlmaFdWSjgxa3liZEhnNkczZVV1MW10S2tMMmtDVkFnTUJBQUdnS1RBbkJna3Foa2lHOXcwQgotQ1E0eEdqQVlNQWtHQTFVZEV3UUNNQUF3Q3dZRFZSMFBCQVFEQWdYZ01EMEdDU3FHU0liM0RRRUJDakF3b0EwdwotQ3dZSllJWklBV1VEQkFJRW9Sb3dHQVlKS29aSWh2Y05BUUVJTUFzR0NXQ0dTQUZsQXdRQ0JLSURBZ0ZpQTRHQgotQU1sWVlaS3FwRHFnNVVaWnEzTkIzUVVSOXFmdFkvNTIvMGdQZnJ1dzVzMmdOdEZtRzF1eUVCSlgvb2M3Qy9mVQotbHhvNzRIRHJhV0p5dlA3YzNNTWhPdXdyL1JmUE5RaEEySGd3ejlSdUpJQmhRckpmaVp1SHNDZmlLVm9mTXVNZgotYXIvNEVLZnlvRUxEZGlsaGc2aSthYmFoR09rcXlYc2phdkZ0eURTZUNwWEgKLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LnJlcS5zaGEyNTYgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkucmVxLnNoYTI1NgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGVmOWVmMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkucmVxLnNoYTI1NgorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlCelRDQ0FRWUNBUUF3TkRFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb1RDRkJ2YkdGeVUxTk1NUkl3Ci1FQVlEVlFRREV3bHNiMk5oYkdodmMzUXdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTjBSCi1pcCtadXJCb3lpcnFPMnB0V1pmdFRzbFU1QTN1enFCOW9CNnE2QTdDdXhOQTI0b1Nqb2tUSktYRjlmclk5WkRYCi15TXJMeGY2VEhhL2FFaU56VW5sR0dycWdWeXQyRmpHenFLL25PSnNJaTJPWk9nb2w3a1hTR0ZpNnVaTWE3ZFJZCi1tbU1iTi96M0ZBaWZoV1ZKODFreWJkSGc2RzNlVXUxbXRLa0wya0NWQWdNQkFBR2dLVEFuQmdrcWhraUc5dzBCCi1DUTR4R2pBWU1Ba0dBMVVkRXdRQ01BQXdDd1lEVlIwUEJBUURBZ1hnTUQwR0NTcUdTSWIzRFFFQkNqQXdvQTB3Ci1Dd1lKWUlaSUFXVURCQUlCb1Jvd0dBWUpLb1pJaHZjTkFRRUlNQXNHQ1dDR1NBRmxBd1FDQWFJREFnRmVBNEdCCi1BQ1VhQ1RpZHZ6V1ZKTkttUnJyaXVmVGhHVWZ3NVhnZHNjM0dhOEN4K3ZSZitiUFptUjNOVmtjMFpxOXVjMCs4Ci1kMVdYYUx6Ym1nZTZJYmN2VFBXQ0xOREFXSTlVem9RNldTOW15TTNlREVHZHJ1Q2xZd2I1QlZMeDNNdmh2b29LCi1ML0g2c25FMWRITlBYeUNOVkZUSklsbDNiUmxWTVJzZlpwRGhtejgvSW1KNAotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkucmVxLnNoYTM4NCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhMzg0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTAzNDUwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhMzg0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUJ6VENDQVFZQ0FRQXdOREVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvVENGQnZiR0Z5VTFOTU1SSXcKLUVBWURWUVFERXdsc2IyTmhiR2h2YzNRd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOMFIKLWlwK1p1ckJveWlycU8ycHRXWmZ0VHNsVTVBM3V6cUI5b0I2cTZBN0N1eE5BMjRvU2pva1RKS1hGOWZyWTlaRFgKLXlNckx4ZjZUSGEvYUVpTnpVbmxHR3JxZ1Z5dDJGakd6cUsvbk9Kc0lpMk9aT2dvbDdrWFNHRmk2dVpNYTdkUlkKLW1tTWJOL3ozRkFpZmhXVko4MWt5YmRIZzZHM2VVdTFtdEtrTDJrQ1ZBZ01CQUFHZ0tUQW5CZ2txaGtpRzl3MEIKLUNRNHhHakFZTUFrR0ExVWRFd1FDTUFBd0N3WURWUjBQQkFRREFnWGdNRDBHQ1NxR1NJYjNEUUVCQ2pBd29BMHcKLUN3WUpZSVpJQVdVREJBSUNvUm93R0FZSktvWklodmNOQVFFSU1Bc0dDV0NHU0FGbEF3UUNBcUlEQWdGT0E0R0IKLUFOZlpHSzZuRS9DUDlQdUFMRnpiQS9tdk9uWWxJNjBwTW93c2NSZkNZcHZSMjVpUUpWaEFKZllWWEFEUk4zcWQKLU5BaUZXTlZjakZNSWtSbHE3cWlmQk45N1ZIR2VZb1dJdXc5Z1lFYjNPcURHek9zWVAwS0lnTU50OC9BNHFDa2oKLTVNem9sT1l5VCtOK1FGR1YwcGRDTnBYN1FwcGZOZEZ5RkFtV1hhMTcxUnpHCi0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhNTEyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LnJlcS5zaGE1MTIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3NmI1YzkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LnJlcS5zaGE1MTIKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQnpUQ0NBUVlDQVFBd05ERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJJdwotRUFZRFZRUURFd2xzYjJOaGJHaHZjM1F3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU4wUgotaXArWnVyQm95aXJxTzJwdFdaZnRUc2xVNUEzdXpxQjlvQjZxNkE3Q3V4TkEyNG9Tam9rVEpLWEY5ZnJZOVpEWAoteU1yTHhmNlRIYS9hRWlOelVubEdHcnFnVnl0MkZqR3pxSy9uT0pzSWkyT1pPZ29sN2tYU0dGaTZ1Wk1hN2RSWQotbW1NYk4vejNGQWlmaFdWSjgxa3liZEhnNkczZVV1MW10S2tMMmtDVkFnTUJBQUdnS1RBbkJna3Foa2lHOXcwQgotQ1E0eEdqQVlNQWtHQTFVZEV3UUNNQUF3Q3dZRFZSMFBCQVFEQWdYZ01EMEdDU3FHU0liM0RRRUJDakF3b0EwdwotQ3dZSllJWklBV1VEQkFJRG9Sb3dHQVlKS29aSWh2Y05BUUVJTUFzR0NXQ0dTQUZsQXdRQ0E2SURBZ0UrQTRHQgotQUN4V0JoUGtoeVZsQlkvbXdrclc3T2pZc2FOMi9abEZTdjc2dzYzYjYxQnBpZ1JlSnNnZ011dDVFUE9nZkdZSgotcnp5Z0tEbEYvTnRtTU4yMmpXckZ1cDlMc1pKQVgwZ1liTG1saWlhRzlIY2graS84YjQyb2FRVERXR0ZaOUxpWQotVzdGN1gwZjlscHpOS090UThpeDBzK25ZUzJPTnl6ZnU1NStSbHpmOC82M00KLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3kuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3kuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjg3NDM5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJREZEQ0NBZnlnQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd016SXhNVFkwTURVNVdoY05Namt3TXpJeE1UWTBNRFU1V2pBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdnZ0VpTUEwRwotQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURBM3pmOEY3dmdscDAvaHQ2V01uMUVwUmFnelNIeAotbWRUczZzdDhHRmdJbEtYc204V0wzeG9lbVRpWmh4NTd3STA1M3poZGNIZ0gwNTdaaytpNWNsSEZ6cU13VXFueQotNTBCd0ZNdEVvbklMd3VWQStUN2xwZzZ6K2V4S1k4QzRLUUIwbkZjN3FLVUVrSEh4dllQWlA5YWw0andxais4bgotWU1QR244dTY3R0I5dCthRU1yNVArMWdtSWdOYjFMVFYrL1hqbGk1d3dPUXV2Znd1N3VKQlZjQTBMbjBrY21uTAotUjdFVVFJTjlaL1NHOWpHcjhYbWtzclV1RXZtRUYvQmlieWMrRTFpeFZBMGhtbk0zb1REUGI1TGM5dW44ck5zdQotS05GK0Frc2pvQlh5T0dWa0Nlb01ibzRiRjZCeHlMT2J5YXZwdy9MUGg1YVBnQUl5bnBsWWI2TFZBZ01CQUFHagotSXpBaE1Bd0dBMVVkRXdRRk1BTUJBZjh3RVFZRFZSMGdCQW93Q0RBR0JnUlZIU0FBTUEwR0NTcUdTSWIzRFFFQgotQ3dVQUE0SUJBUUNIYWRVRFppSWpKaGNyRytyWXJwT1ZnTXU1NDhyYzVrSExDN3pWU1Zmc3pmZE9KcS9UZFhRVAotTGJuOWkrQUFWUllKVTJrSFdLRDJmdmdPWUlJQmVFR0ZKS29obEtaODJpcld4dDBMdHBoMzFjdXlnTGNwcU5xOQotS1JRL2RoM1Mwdzl2bjFBMXViWUdLVHpUblpHRUxUVnpNbFhaR1RSYkFPeWxNdTRlV2FjNkxIeW1FMkVCcW1PcQotZlBDdVdkRkI2MmV3UVdSYStkUk85MkFwaGg4NzB1NDMvaUxidzdoczRzOGhva1pQN0V3ZzZBSGI0cWpWZVBkRgotamp4QU82eDVWQ2ovV1FSbnc3bXVBeTBQM2w1QWhZWEFJVWRua2RZY2E1SmE2TGZkRUppVmVUZEUzSVU2VUpnKwotZ0F1OXN3RGhVbEV1SWxDck9kQzN0T1BEc2xzT0lnVFYKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5X2VjLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5X2VjLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODIxYTkyYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtYW55X3BvbGljeV9lYy5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJ6RENDQVZHZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1Ua3dNekkxTURrd01qUTFXaGNOTWprd016STFNRGt3TWpRMVdqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd2RqQVEKLUJnY3Foa2pPUFFJQkJnVXJnUVFBSWdOaUFBVEQyaXMwUVRkWUw0ZFcvdnlKdWlsRFMwN2dic01PVjFNek9WalUKLVVyU1JsVGtMSTk5ZkZ5UmlTUHdhbFNuT0xDMkh3b2hTZ0svV2Fxc2gzYmpUSEc1WXVNcm9zbW1PODBHdEtjTzAKLVgzV25SMi9WR1NsVmFacFRPeUMwWmhaZ014NmpJekFoTUF3R0ExVWRFd1FGTUFNQkFmOHdFUVlEVlIwZ0JBb3cKLUNEQUdCZ1JWSFNBQU1Bb0dDQ3FHU000OUJBTUNBMmtBTUdZQ01RRFdIZ21XTWNrYkdMZDdYUkVuSlZBditYUnAKLVhBTk9DYldMRHUrRmlrNmMyOFMrcVI2ekdFS0tHaVBIWWVEcGpSQUNNUURuWWNGQndsZnVBQjZ0ZDNmdGVHMFAKLUFXbmdPYUdIbVVGRUE2aDI0YjVaNi9HU0ZEOUZLOXJWUmR4UWM0T2x6N1U9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtYW55X3BvbGljeV93aXRoX3F1YWxpZmllci5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtYW55X3BvbGljeV93aXRoX3F1YWxpZmllci5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwNTJiYzYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3lfd2l0aF9xdWFsaWZpZXIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlETWpDQ0FocWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TkRJNE1UTXhORE14V2hjTk1qa3dOREk0TVRNeE5ETXhXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUdqCi1RVEEvTUF3R0ExVWRFd1FGTUFNQkFmOHdMd1lEVlIwZ0JDZ3dKakFrQmdSVkhTQUFNQnd3R2dZSUt3WUJCUVVICi1BZ0VXRGtOUVV5QjFjbWtnYzNSeWFXNW5NQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJvM0NMd3ZUYWtWRFdzCi1YVVp6M2VoR2drMzlLem1ZT2IzbTliQmZNcE9wbERmRThaYWo4VERaWnN4WHBOQ1hUODVHZ2JyQWRyNnBPTlFKCi1NcWQzVHpUWENzNnRtbUlPVkRUb09qNm5LdG0ybk5TZisxVFV1TFJnZWF2Z0NvaWNvUVpPdFc1dEFlaHcvUlRFCi00VlFYU20rWldvdFl3SzFqdmxIUzBMYWVoVXk1M0dzTnhXQkpIQ2MzZXhEK2l5dXRYVFo4OWpjeklLdVdwRUlOCi1wVGRJL0VZVkQycjZyL0lJVFJuSnBHak5YT2hHQjR6dmdGbHd2ODhHZUY1bEc2U2k5WUQrc3dPOEp1SlAzNXE2Ci03Y1BBL3Z0cmpvaXlNM2tYbW1OMUxaR0lmRU1LTndFY3lWaHZsK2Q2c1Jlb21JM0hBS09qOUlJRzd1bUZLaTZ0Ci1heE13ekszWQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3lfd2l0aF9xdWFsaWZpZXJfZWMuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3lfd2l0aF9xdWFsaWZpZXJfZWMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTE0OTFkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5X3dpdGhfcXVhbGlmaWVyX2VjLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjZEQ0NBVytnQXdJQkFnSUJBREFLQmdncWhrak9QUVFEQWpBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIREFhQmdOVkJBTU1FMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEV3SGhjTgotTVRrd05ESTRNVEF4TmpBMVdoY05Namt3TkRJNE1UQXhOakExV2pBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIREFhQmdOVkJBTU1FMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEV3ZGpBUQotQmdjcWhrak9QUUlCQmdVcmdRUUFJZ05pQUFURDJpczBRVGRZTDRkVy92eUp1aWxEUzA3Z2JzTU9WMU16T1ZqVQotVXJTUmxUa0xJOTlmRnlSaVNQd2FsU25PTEMySHdvaFNnSy9XYXFzaDNialRIRzVZdU1yb3NtbU84MEd0S2NPMAotWDNXblIyL1ZHU2xWYVpwVE95QzBaaFpnTXg2alFUQS9NQXdHQTFVZEV3UUZNQU1CQWY4d0x3WURWUjBnQkNndwotSmpBa0JnUlZIU0FBTUJ3d0dnWUlLd1lCQlFVSEFnRVdEa05RVXlCMWNta2djM1J5YVc1bk1Bb0dDQ3FHU000OQotQkFNQ0EyY0FNR1FDTUR2aTViQlZwbFUzR2N0K2lZUm1SVzlld3R5NWIrMU9YMGdnekErRXhYcEwxT2JvNkExNgotYTJoMWtiN095NCtCU0FJd1haSFliNk9FV2tPbmdJU2Z3U1p4RGlpTlhPVHd2Q3UyL29GR0M4eFRFTm4wQjg4bQotMld3UHpoNGpudlhoTmgwdwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLW11bHRpX3BvbGljeS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtbXVsdGlfcG9saWN5LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY4ZTk5Zi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtbXVsdGlfcG9saWN5LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJREd6Q0NBZ09nQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd05ESTRNVEkxT1RFNVdoY05Namt3TkRJNE1USTFPVEU1V2pBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdnZ0VpTUEwRwotQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURBM3pmOEY3dmdscDAvaHQ2V01uMUVwUmFnelNIeAotbWRUczZzdDhHRmdJbEtYc204V0wzeG9lbVRpWmh4NTd3STA1M3poZGNIZ0gwNTdaaytpNWNsSEZ6cU13VXFueQotNTBCd0ZNdEVvbklMd3VWQStUN2xwZzZ6K2V4S1k4QzRLUUIwbkZjN3FLVUVrSEh4dllQWlA5YWw0andxais4bgotWU1QR244dTY3R0I5dCthRU1yNVArMWdtSWdOYjFMVFYrL1hqbGk1d3dPUXV2Znd1N3VKQlZjQTBMbjBrY21uTAotUjdFVVFJTjlaL1NHOWpHcjhYbWtzclV1RXZtRUYvQmlieWMrRTFpeFZBMGhtbk0zb1REUGI1TGM5dW44ck5zdQotS05GK0Frc2pvQlh5T0dWa0Nlb01ibzRiRjZCeHlMT2J5YXZwdy9MUGg1YVBnQUl5bnBsWWI2TFZBZ01CQUFHagotS2pBb01Bd0dBMVVkRXdRRk1BTUJBZjh3R0FZRFZSMGdCQkV3RHpBRkJnTXFBd1F3QmdZRVZSMGdBREFOQmdrcQotaGtpRzl3MEJBUXNGQUFPQ0FRRUFQd09VbWpucmNCQTdkdDVkckNha0V6OUhPcGo4Z1pRZDFmeVZHdjIyMUxDTAotaDJXMU5nZDJXbGNBRGhQUWNUZHFOeDREaytLUGlCalBFb29FOU03ZDNLMzNRbi9kVmttT1lpVzZFLzR3VTJ0TQotY3FGajdyZzhOb3c0bEJhRXFFbUJQK2NwdittWXFhdlBjS3kzdHo0d24xU25BM01wVDFoRWF6aE5lNHlJbk5BWQotNFlxUkJiV3VCR2tlUGpiY2U2TGYrclRmYUE3a0pueXVDOVNIZ3VRUm1XdFYzeHpOekxVRm4rVi9qWVNxWXZZVQotMk1qREZnQ1lDbVcweGw1V284d01XV0F2TWJPMm1SSjM3T0xVa1NPa3hnZUVMNk9paFkxR1BrYmZ4QzJxVjZtUgotNFZqbWZjbHdYdW1pREF2VkxoVzhoV2pDeGc4Z2M2OUc3a0NrVmJsakxBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1tdWx0aV9wb2xpY3lfZWMuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLW11bHRpX3BvbGljeV9lYy5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwZWEyZWIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLW11bHRpX3BvbGljeV9lYy5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIwekNDQVZpZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1Ua3dOREk0TVRJMU9UVXhXaGNOTWprd05ESTRNVEkxT1RVeFdqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd2RqQVEKLUJnY3Foa2pPUFFJQkJnVXJnUVFBSWdOaUFBVEQyaXMwUVRkWUw0ZFcvdnlKdWlsRFMwN2dic01PVjFNek9WalUKLVVyU1JsVGtMSTk5ZkZ5UmlTUHdhbFNuT0xDMkh3b2hTZ0svV2Fxc2gzYmpUSEc1WXVNcm9zbW1PODBHdEtjTzAKLVgzV25SMi9WR1NsVmFacFRPeUMwWmhaZ014NmpLakFvTUF3R0ExVWRFd1FGTUFNQkFmOHdHQVlEVlIwZ0JCRXcKLUR6QUZCZ01xQXdRd0JnWUVWUjBnQURBS0JnZ3Foa2pPUFFRREFnTnBBREJtQWpFQXF5ejJ2KzZpM3hYRjRxbHIKLW84OXF4d2xwSW45c1IweFUrcW85dGdjTTZGYTdJRGRBVTFsaHdlTjhNcGtKVHRyR0FqRUFtZ05JLzA4TThuNi8KLXNNTTBYdXR0NXU5RVVIYis0eTB1eU9mWU1jRVByK3BDVU00R1B4QlA2UmRxSThXdTlPUWYKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS11bnN1cHBvcnRlZF9wb2xpY3kuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLXVuc3VwcG9ydGVkX3BvbGljeS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNDdkOTUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLXVuc3VwcG9ydGVkX3BvbGljeS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURFekNDQWZ1Z0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dOREk0TVRNd01ERXpXaGNOTWprd05ESTRNVE13TURFeldqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEcKLUNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQTN6ZjhGN3ZnbHAwL2h0NldNbjFFcFJhZ3pTSHgKLW1kVHM2c3Q4R0ZnSWxLWHNtOFdMM3hvZW1UaVpoeDU3d0kwNTN6aGRjSGdIMDU3WmsraTVjbEhGenFNd1VxbnkKLTUwQndGTXRFb25JTHd1VkErVDdscGc2eitleEtZOEM0S1FCMG5GYzdxS1VFa0hIeHZZUFpQOWFsNGp3cWorOG4KLVlNUEduOHU2N0dCOXQrYUVNcjVQKzFnbUlnTmIxTFRWKy9YamxpNXd3T1F1dmZ3dTd1SkJWY0EwTG4wa2NtbkwKLVI3RVVRSU45Wi9TRzlqR3I4WG1rc3JVdUV2bUVGL0JpYnljK0UxaXhWQTBobW5NM29URFBiNUxjOXVuOHJOc3UKLUtORitBa3Nqb0JYeU9HVmtDZW9NYm80YkY2Qnh5TE9ieWF2cHcvTFBoNWFQZ0FJeW5wbFliNkxWQWdNQkFBR2oKLUlqQWdNQXdHQTFVZEV3UUZNQU1CQWY4d0VBWURWUjBnQkFrd0J6QUZCZ01xQXdRd0RRWUpLb1pJaHZjTkFRRUwKLUJRQURnZ0VCQUd2QVJYMm9yUlhEbWMyYTduU3JiUkZrZHcvN3FiTDhZK3dMZU05NFNzWlZnekdjeHpSeDFLdkcKLTJINW5CdlBLZ0F6QnFXVlBVN2VEUGpyRVRJZnNDeFN1K3lrbEJJZzVRWVJ1T2Nwckx0UVBrRlZmbCtXTGQzMUYKLWxTMXVNZ1prYWhJcjU3YUhvSkxZUHJFalc0Q0JIb2xpVDh4ZnJ2VlppNCt5bTdpL3ZGcVhMN0lKK1BJa2xORjgKLTIvYjRTQUI5aFJJNW9QdzFUVjlRMHYyUHFNWEwvMGNwLzlSb2UrSDI4VGNyb2R5NmpUdEVkc1Uyd2JheGh4TWQKLVlLNEFrMUZraEtJdHVtSU5idEFVbkhnQlZ3TzJJaXZHWmdzWXVsQy85eTF1aDVOVTFIeE16cWgwNFVFTWdyZSsKLTlTZUVqaHdGa3ExNk5qYzVDZHQvN2lGTGVpYUhjTlU9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtdW5zdXBwb3J0ZWRfcG9saWN5X2VjLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS11bnN1cHBvcnRlZF9wb2xpY3lfZWMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjFlODNjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS11bnN1cHBvcnRlZF9wb2xpY3lfZWMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCeWpDQ0FWQ2dBd0lCQWdJQkFEQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1NVGt3TkRJNE1UTXdNREU1V2hjTk1qa3dOREk0TVRNd01ERTVXakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdkakFRCi1CZ2NxaGtqT1BRSUJCZ1VyZ1FRQUlnTmlBQVREMmlzMFFUZFlMNGRXL3Z5SnVpbERTMDdnYnNNT1YxTXpPVmpVCi1VclNSbFRrTEk5OWZGeVJpU1B3YWxTbk9MQzJId29oU2dLL1dhcXNoM2JqVEhHNVl1TXJvc21tTzgwR3RLY08wCi1YM1duUjIvVkdTbFZhWnBUT3lDMFpoWmdNeDZqSWpBZ01Bd0dBMVVkRXdRRk1BTUJBZjh3RUFZRFZSMGdCQWt3Ci1CekFGQmdNcUF3UXdDZ1lJS29aSXpqMEVBd0lEYUFBd1pRSXdLVVkzYVRMNlVSMkgxUTFPeklKdzd2eFVzbzRQCi0yUGtzQ1diNjJrUWVBbmhZSzg1dDFWR1FpQTQ5aUhDWFZLdVhBakVBcSsxcXZsbXdIWDFFOTloYS9ydnhjQVlwCi1VbXhYTG1TYjUzUlQwTnZoRUtuVVZHR1VwMnBCTkFWVkpPSCtHME5JCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzE3OTBiNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUVRDQ0FpbWdBd0lCQWdJQkF6QU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREF3V2hjTk1qa3dNakV3TVRRME5EQXdXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUdqCi1VREJPTUF3R0ExVWRFd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvCi1NQjhHQTFVZEl3UVlNQmFBRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL01BMEdDU3FHU0liM0RRRUJCUVVBCi1BNElCQVFCMFppTlJGZGlhNmtza2FQbmhycWVqSVJxOFlNRUdBZjJvSVBueVo3OHhveUVSZ2MzNWxIR3lNdHNMCi1oV2ljTmpQNGQvaFM5QXM0ajVLQTJnZE5HaTVFVEExWDdTb3dXT0dzcnlpdlNwTVNIVnkxK0hkZldsc1lRT3ptCi04bytmYVFOVW04WHpQVm10dGZBVnNweGVIU3hKWjM2T28rUVdaNXdabENJRXlqRWRMVUlkK1RtNEJ6M0I1alJECi16WmEvU2FxRG9rcTY2TjJ6cGJnS0tBbDNHVTJPKytmQnFQMmRTa2RReWttVHhoTExXUk44RkpxaFlBVHlRbnRaCi0wUVNpM1c5SGZTWlBuRlRjUElYZW9pUGQycExseHQxaFp1OGR3czJMVFhFNjN1UDZNTTRMSHZXeGl1SmFXa1AvCi1tdHh5VUFMajJwUXhSaXRvcE9SRlFkbjdBT1k1Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDk0ODEwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2NlcnRfcmZjODIybmFtZS5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2NlcnRfcmZjODIybmFtZS5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZGM4MTg5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jZXJ0X3JmYzgyMm5hbWUuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTcxN2YzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdC5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3QuY3NyLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZhMTFlOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdC5jc3IuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2VxdWVuY2VfbGVuMS5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2VxdWVuY2VfbGVuMS5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNjFjN2M4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0X3NlcXVlbmNlX2xlbjEuY3NyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0X3NlcXVlbmNlX2xlbjIuY3NyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0X3NlcXVlbmNlX2xlbjIuY3NyLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTZkYjJjYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdF9zZXF1ZW5jZV9sZW4yLmNzci5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdF9zZXF1ZW5jZV90YWcuY3NyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0X3NlcXVlbmNlX3RhZy5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjBmYTdkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0X3NlcXVlbmNlX3RhZy5jc3IuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2V0X3RhZy5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2V0X3RhZy5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDM1OGU1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0X3NldF90YWcuY3NyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2lkX3RhZy5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfaWRfdGFnLmNzci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4ZDA2ODkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfaWRfdGFnLmNzci5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19sZW4xLmNzci5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19sZW4xLmNzci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxZWFiZmYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfbGVuMS5jc3IuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfbGVuMi5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfbGVuMi5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzVkYjc2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2xlbjIuY3NyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX3NlcXVlbmNlX3RhZy5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfc2VxdWVuY2VfdGFnLmNzci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4MjczY2EuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfc2VxdWVuY2VfdGFnLmNzci5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZHVwbGljYXRlZF9leHRlbnNpb24uY3NyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9kdXBsaWNhdGVkX2V4dGVuc2lvbi5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTJhMjIxLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9kdXBsaWNhdGVkX2V4dGVuc2lvbi5jc3IuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9kYXRhX2xlbjEuY3NyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fZGF0YV9sZW4xLmNzci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxMTYxMTguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9kYXRhX2xlbjEuY3NyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fZGF0YV9sZW4yLmNzci5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX2RhdGFfbGVuMi5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDkyMDlhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fZGF0YV9sZW4yLmNzci5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX2RhdGFfdGFnLmNzci5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX2RhdGFfdGFnLmNzci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYWU3MjMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9kYXRhX3RhZy5jc3IuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9pZF90YWcuY3NyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25faWRfdGFnLmNzci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4OWU0MDQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9pZF90YWcuY3NyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fa2V5X3VzYWdlX2JpdHN0cmVhbV90YWcuY3NyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fa2V5X3VzYWdlX2JpdHN0cmVhbV90YWcuY3NyLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTZmZDJkNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX2tleV91c2FnZV9iaXRzdHJlYW1fdGFnLmNzci5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX25zX2NlcnRfYml0c3RyZWFtX3RhZy5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9uc19jZXJ0X2JpdHN0cmVhbV90YWcuY3NyLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZkY2ZjOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX25zX2NlcnRfYml0c3RyZWFtX3RhZy5jc3IuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9zdWJqZWN0X2FsdF9uYW1lX3NlcXVlbmNlX3RhZy5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9zdWJqZWN0X2FsdF9uYW1lX3NlcXVlbmNlX3RhZy5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTA5MGY5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fc3ViamVjdF9hbHRfbmFtZV9zZXF1ZW5jZV90YWcuY3NyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fdHlwZV9vaWQuY3NyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fdHlwZV9vaWQuY3NyLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZiYzYxZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX3R5cGVfb2lkLmNzci5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uc19zZXF1ZW5jZV90YWcuY3NyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25zX3NlcXVlbmNlX3RhZy5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZWNiMTVlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25zX3NlcXVlbmNlX3RhZy5jc3IuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19rZXlVc2FnZS5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19rZXlVc2FnZS5jc3IuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGJlMDIwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfa2V5VXNhZ2UuY3NyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfbnNDZXJ0VHlwZS5jc3IuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19uc0NlcnRUeXBlLmNzci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmOTU4OGQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19uc0NlcnRUeXBlLmNzci5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX3N1YmplY3RBbHROYW1lLmNzci5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX3N1YmplY3RBbHROYW1lLmNzci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjY2IzYmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19zdWJqZWN0QWx0TmFtZS5jc3IuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wYXNzd2QucHNrIGIvdGVzdHMvZGF0YV9maWxlcy9wYXNzd2QucHNrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2ZlZTM3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGFzc3dkLnBzaworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUNsaWVudF9pZGVudGl0eTo2MTYyNjM2NDY1NjY2NzY4Njk2YTZiNmM2ZDZlNmY3MApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2EtZXhwaXJlZC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1leHBpcmVkLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2VkMTgxZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1leHBpcmVkLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFZUQ0NBajJnQXdJQkFnSVVPcldTMlByaitZZkUwMTE2Ym00WHZ4cWZSbGt3RFFZSktvWklodmNOQVFFTAotQlFBd09qRUxNQWtHQTFVRUJoTUNUa3d4RGpBTUJnTlZCQW9NQlZCTFExTTNNUnN3R1FZRFZRUUREQkpRUzBOVAotTnlCRFpYSjBJRVY0Y0dseVpXUXdIaGNOTVRJeE1qRTNNVGt5TnpFNFdoY05NVE14TWpFM01Ua3lOekU0V2pBNgotTVFzd0NRWURWUVFHRXdKT1RERU9NQXdHQTFVRUNnd0ZVRXREVXpjeEd6QVpCZ05WQkFNTUVsQkxRMU0zSUVObAotY25RZ1JYaHdhWEpsWkRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3dkVmdvRgotT0NjYjh3Q3hMWGJpaVJ1Z2xUYTRpUU0vTDJwR3ZRUWdKM0hlQXBBenJiTDB6ZzBTc1QwMks5WXFBc3RhN3ovVQotZmhWRlBhd3RZM1FaVTRsZzVPdWtQTUpLMEpacFl5bmpEa3g0QjltcDhmUGx6endhbHpYREZuckdhUzg0ejBzdAotamliTERHUHM5TEw4b1J5UVNGc3VtM0ZTTTJDRFR3NmdGQ05ZVllCN2Z6OURMdFdoOGlnT21XMVptRGd4b05ZQQotWnlXRUVjWm16V09HNU1TWXQ4Tng0UjVETXV4RGE4cTUwTTQ2c0ZRLzhrRmVybEFjdkF6N25aUXExMEY2NXdkeQotSkFCL1dLWmtuYmRONzJudGxIZHZiVVZpYXgyVTRESk5kenR1T0pZYzJHQWxMcldtWWswOXlOb3JsTnNFWGpRcAotOHc1anNqUGhsUWNuTWlFQ0F3RUFBYU5UTUZFd0hRWURWUjBPQkJZRUZET1hGaUhDZEdVNUViYW11aGo4dEVvVQotYkdBM01COEdBMVVkSXdRWU1CYUFGRE9YRmlIQ2RHVTVFYmFtdWhqOHRFb1ViR0EzTUE4R0ExVWRFd0VCL3dRRgotTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQTBEOHNYdkVUNVhVR3MzRndodUJtNDN5ZHI4VzF1NwotMDd6eFJOdk1ZTzZRcnNmeGg0VUF3OUlsSGJMaEwybXJkUFJuMUlGOUR0cGYveEEyQThRT2ZEajUvckFVRm1uWAotQytHTzBZYjcvZ1N1eW82dTJvOElDU0ZEc1RrT0tDWWxkbmVhRHQyTElQTGlkbG1UbmRycVdWM256T0NRcWJ0egotMERPYlRWVkswWC9oWHZTeDJrMlI3MXNmMWZSTFdTSE1RQnh3ZTRNVGN5WGZYcXJqcTNlUlAyeFJ6R1dyVlhodQotMFUvUFlCVlBTVzBCZmthNHRvVGY4VnBaTGt3d1ZiZys5UU9JcHZHYTBrTk1zV1dneWV6TEVPa1pCMUcxSlhZRgotM0ZXNkxURFAwaDY0Lzh4QjhZY250dGFHc3R3Z0VKam9TMVc0Q2phUkwwdE5LbVJZUzVNdTUrRT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLWV4cGlyZWQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2EtZXhwaXJlZC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUwOGVjNWMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2EtZXhwaXJlZC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1leHBpcmVkLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLWV4cGlyZWQua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTk0MWQzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLWV4cGlyZWQua2V5CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi1NSUlFdndJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0JLa3dnZ1NsQWdFQUFvSUJBUUNzSFZZS0JUZ25HL01BCi1zUzEyNG9rYm9KVTJ1SWtEUHk5cVJyMEVJQ2R4M2dLUU02Mnk5TTRORXJFOU5pdldLZ0xMV3U4LzFINFZSVDJzCi1MV04wR1ZPSllPVHJwRHpDU3RDV2FXTXA0dzVNZUFmWnFmSHo1Yzg4R3BjMXd4WjZ4bWt2T005TExZNG15d3hqCi03UFN5L0tFY2tFaGJMcHR4VWpOZ2cwOE9vQlFqV0ZXQWUzOC9ReTdWb2ZJb0RwbHRXWmc0TWFEV0FHY2xoQkhHCi1aczFqaHVURW1MZkRjZUVlUXpMc1Eydkt1ZERPT3JCVVAvSkJYcTVRSEx3TSs1MlVLdGRCZXVjSGNpUUFmMWltCi1aSjIzVGU5cDdaUjNiMjFGWW1zZGxPQXlUWGM3YmppV0hOaGdKUzYxcG1KTlBjamFLNVRiQkY0MEtmTU9ZN0l6Ci00WlVISnpJaEFnTUJBQUVDZ2dFQWI4cFNJd29HMGVnbWFyR3A3UWp3c3dBWFNzYUxQNCtmdFhDaXZuWkFDSWFCCi10YlhMUVd3ZUZZR3BteTkvUTRoZjdrTnZHRTlsWVYxcTFGVmF2b0xncmw4LzhRbm82TzE5RStUNW9yQTJqbFo4Ci1DdFdHTUx0NFlmcUhja1QzYWVGTFduK1VyS2kzSnQxRmUvWGhiZ3dHZlMzOXdUUEJoTlkyUnA2akQ4WExyclJWCi1qRUJ3Q0daeFJhb1F4dmYxaGRkeVJvYjlJTlFpWXhpcWhrcWtac0ZSdXVLaG0yOHR2LzZucmIzVU9GRWQ2aDFyCi05Q2cybTBCR0Y3dW5tRlJxM1pNL3hKdmhNU1psUUU4VU1weWlMQXZzNnZUVUJsTjhPS29UR1FRZ1c4SmVGd2k4Ci1EaDFvVW13MEpPbndpTEEvMUtQR1NjN082aSs1NG9nTmlLNE4xVTlYMFFLQmdRRFR1QjhwSGRUeVVmWEtJbTNSCi1uOS94Q0FKL05XSkFYamNwVUV3b0kyQktzWmt6aExNbFB0VDVGODZDVE9uOFAyY3had1ppeGZnbzg0ejNNeDJBCi0yRDAzejRXOUZzRnNCQTdiT1k2bXBkY3VwWDZJb2dNN1RnZ3VvK1JoL0R3ekk3S1ZnVnFpby80WVkxencza291Ci1GY2ZJSXo1d2I3OVVpRkxzMTJnUVVjUVFCUUtCZ1FEUUhMT29vZDBnR09wQ3dSVGQ0Qm5VbmxYNDN3M1dTb2JSCi0wWmE2clI3NnFKbjEzTE1GL3JCc3E1Z2N6dmFnSTFqWjFOOTZPMHFia0wyeVBtRmVIL2loNnZOT2d1NHVDeXYrCi1Mb2dCbk41eWl4WFlrYXBSSjNnWFpmQWRCbDJiOWloWEpndldWMVlGLzZRdUxLMlYvSlRiVVFROGFib084Vmd2Ci05OFdjYm9qZ2JRS0JnUUNZSUNvenJ2MjloK3FsN1FzZm5sS1lxL3F2VUxwaUtkQlUzUjk3ajcrMnE5bTZ6TlMwCi1KR3QrOS80b1hmK2FnaXd4c1NkRGZhQU1QTVBETTNVMWlTcWptWGN0SU5hbU9GdzhaU1Q4MVJqQ3FhTTdwYjNRCi10UWJvREZjam1NdmdxdnU4dFE5YzRaeklCVTFZdlVCcjBMYVdOY3k5bVczTzNZMUlKSmJmY3dEL3lRS0JnUUNvCi1RQXdmc1gwTWpoZ1dqL05HemY4VUhrNXpQaUg1dFpiNTJ2QjVTNjFZQ1NjdjFwWUZxcnNIb0ZNQ04zQzhWdGRtCi1oT3VIN3BlSzNhSC9rTjgzTWJIWmRoSHV6M3V3VGVmclA4TkZTb1d0SlRVc09kZndkSEJxdWtjOXIvL09MMXk5Ci0yRXlKcFdJdXgxYjgzYklaS0hOUVBGZW9YL0hFVXVweEhXZnQ2STlRb1FLQmdRQ0RzYlJUalUzYmVQK0VHdjlTCi1PQjdiNEVuZlR0Ly9KR0xqVVdRRWVadFpiQ09DcnZ0TWlabVZmV0ZtRWs5Y3dCaXBCNU5jemNiem81NzJqVTRYCi1jamZ1b0JtdlYrSVZPa2k1TmZBMk93T3dmc3hHWTZEWmROd0lBSlNPeXIxeHFVZXRXOUtFNkJKRVZyb01pNWVPCi1zQmF4cmlQQzdQWU1yQkxHbldYNFlzaDFpZz09Ci0tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlMjgyYWIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEU1RDQ0FqR2dBd0lCQWdJVUkyTE5FcTBWVHJDRFpwbUp5dlNHMjByS1YrTXdEUVlKS29aSWh2Y05BUUVMCi1CUUF3TkRFTE1Ba0dBMVVFQmhNQ1Rrd3hEakFNQmdOVkJBb01CVkJMUTFNM01SVXdFd1lEVlFRRERBeFFTME5UCi1OeUJEWlhKMElERXdIaGNOTWpNd05UQTRNVEF4T1RFeFdoY05Nek13TlRBNE1UQXhPVEV4V2pBME1Rc3dDUVlECi1WUVFHRXdKT1RERU9NQXdHQTFVRUNnd0ZVRXREVXpjeEZUQVRCZ05WQkFNTURGQkxRMU0zSUVObGNuUWdNVENDCi1BU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUpxaVZjMW0wNndZbktzaHFYU29PRkRsCi1pRlc2Ri8zSS92Vm1ENi9reVRtc1o0MjV0aUNpdW5tU1IycmxKYzcvMmFXYlRIMFAzdXQzZGlubm9vVXNTd3M4Ci1Fd1JUalNkRUNEekY5NlFUQ0lVdmhNSElOUWZwUXV4U3I5bGVLM0F2b2lDUGkzWFVlZktoVHVvRjFBL2JUUXgyCi1RY056Smx1UVBBemR2VURGQlpMZExJbWpKN2dpZDFqN0tTUlpIalZ4bkZQbm9scjFFRUxYREpzMjlSVnVwMWluCi04Zk9hQklsSEVBcld1U2dWMmFRN3VWTHVCSE04TnowWTgxMFBFbGdVYU9DTXhHdm8vRXc0VHBCSmZEaXBTRDJsCi1XRlBpc3huQnpqbXEzYnlpK21BUnByK0JIeEVUdmJyWjF1UmJhSUE2YnpHTDFQWmx3L3ZNY3Z1VEh1M3lLTWtDCi1Bd0VBQWFOVE1GRXdIUVlEVlIwT0JCWUVGQnZQYytZV2J4UHRQM01Gam15ckw2bFFrSkp2TUI4R0ExVWRJd1FZCi1NQmFBRkJ2UGMrWVdieFB0UDNNRmpteXJMNmxRa0pKdk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJCi1odmNOQVFFTEJRQURnZ0VCQUpLN2h1TkpSK1Rsa1pCSGlDdGIwS01mbGpIUldQdUFMNmZXMG1HdkJEZVp5UlRICi1PekdkcWdqbll6Z1laNTM4cEc3VHNNR29tclNRd2xBVGZJQ0tzZjhkTlNsblBxT2lJUG8yZmRkOGdyL3RPN3lsCi1GRy9LdlhrMHY1RGZzNFJHVXM3VVlkbXpuY0VZQzJKc1RvRnNENGpqYSs1dG5ZLy9OSlJ4a0pkc3dmbit3QnFICi13Tit5NHFFTGRxK0FFQkt5bWJRc0l3T0J0M1VkZVZVd0JCanRxSlhGdEVUOXlocWtxVnhuYi9pMGpIcmhqeWlTCi1RL1krVDlzMzUrQTZYbEk2blNpSkxEeE1mZ0pWQ1dhMk90R0kvL2FBbHpsdys2ZEhpaUpWVkJIcFpiVzBZVFk0Ci1xRTdramhQcmRkSllsQjZrNFMzdWI5ajRlODdrMFAwSXlGcHR4dzg9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkMjllNDAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjM2N2ZiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLQotTUlJRXZBSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS1l3Z2dTaUFnRUFBb0lCQVFDYW9sWE5adE9zR0p5cgotSWFsMHFEaFE1WWhWdWhmOXlQNzFaZyt2NU1rNXJHZU51Yllnb3JwNWtrZHE1U1hPLzltbG0weDlEOTdyZDNZcAotNTZLRkxFc0xQQk1FVTQwblJBZzh4ZmVrRXdpRkw0VEJ5RFVINlVMc1VxL1pYaXR3TDZJZ2o0dDExSG55b1U3cQotQmRRUDIwME1ka0hEY3laYmtEd00zYjFBeFFXUzNTeUpveWU0SW5kWSt5a2tXUjQxY1p4VDU2SmE5UkJDMXd5YgotTnZVVmJxZFlwL0h6bWdTSlJ4QUsxcmtvRmRta083bFM3Z1J6UERjOUdQTmREeEpZRkdqZ2pNUnI2UHhNT0U2UQotU1h3NHFVZzlwVmhUNHJNWndjNDVxdDI4b3ZwZ0VhYS9nUjhSRTcyNjJkYmtXMmlBT204eGk5VDJaY1A3ekhMNwota3g3dDhpakpBZ01CQUFFQ2dnRUFDaXJYbDYxMXlFUm5nN2lQUk81OUluT1BLT3pYSUQ2WHBnREhrZ1lKNVpjRQotaVl6dkVOc0dSaEZVVFE3alV5YWZNOHgvNVY2MlpuYll3QVZkR2lMSkRlUnRyeXlEdE5QY00wdkVma2NxbWFBLwotMjBKNzJ5anZGNjBScHlvU0V0cXM3elZsQXZLOU1ITURCbS9xNno1OUJNOWZRRmZKU3o2eTloa2IxUjhIUUdwYwota3RJQnhxQU52UTNYWXpQd3hCZEVDQjZZSDEydDFVa0NFRk5tT1Z1cDdNL1RwTUJ1NzloNGNkNjlRNzA5aU9xUAotOWtJT3hBQnJSRTdldldwd1lIRkNJN1FmYlJwRmVZN0k5Yjk0TlFVTG1PTEtKbThRZllmWHVtemZJUTNncVVXMgotV3lJT0pjNXpBZnRRLzdEZHU1Q0ticXNMN3lCaU1HeEk0SUhRWi9nRWNRS0JnUURCRTNGbDhYVzdKcFA5SjB2dwotVnZDQkdKZ1BPVTd0bjlKRzA4MlJVcjBwaTdIUmlFbzIzekwzN1B2d1B3am44MVNrV21oOVdjSVFGbThJcDRPeQotOXNVTVIwb0lualUzUGFBSTJvUlFDT1B5bm9kMjN3QzR0Vm1qTHJOQmVrOFQyQW5UdGt2U1phbG9vQUNOdW1nRAotRWYvaHBNWURhMk85ZFRianRxTk9wMkFPdVFLQmdRRE5CNlVHendZK0hERzQ0NElyL1EyczJYak9EMWN2RzNxOAotM05hU25JSHV4SmVVaFlsQlhtV3N5Z3BHTHJxNGk1aDRFV1B6OHFLV1F3QkR3c1pJQkdpc0pGUWNRenNYUzkvWgotK0Y4bDU1NWlrYi9Bc2JaSHJXdyttaVRhdVhUMHhlMWRiamtxcXBBaWlZZkpGZURzczMyV3FnYUFVRDI4SUs5UAotZGpSODVwOWlrUUtCZ0h1UkRQY1laS2VsRmZ0anBmY29QUDN5Rm9kUHZ4TFhRVVZ4RWxRYVp0UHJBcCsrSVBragotT2NSd1dBRTI1bVZFVnZ4a25CRDFXL3pkenF2MFFaWk0xbWw0U29wZmJtRnZRRGZLV2ZtNjV1QUUwMStoY3gzRAotZXAyMEtxY1NOdi9WT056VkE0dWc0cDRDSUxpVC96TlAxcnE3c0xySmhPamcxb05BQlI0MmdvU0pBb0dBY3MxTgotQWpyNWE5MnRtYkVLT2tjL1dRR01PeFVyNUJ5bTVRbGl2RVVXRy9QSVRFbFpTVmpwNVk1Ym9tQ1gvSzF0ZWcyQwotd2gyaUhERDMvUGthdlVoNnM2akR6KzkxTHQ0MVFYOXBCM2hobngrdEZ1QnJDRWQ2ekxMUzRBWG9Ed2FrbWlRVgotcm1aQ3ZwUHpqQXpNSEwyRUhOQ25RMEdxejZRZGhZalNhdjFYVVlFQ2dZQml2OHQ3V1pGTElzaTdCYWExb29jdgotVlU5V3NvaGNxVEdQOC9pK0o0ZnVSUlZHRExsL2pjQkZtNWRZekdWU2JwQmFNMHFoZkdJeWFBbUluSG96eG9vUgotK2l6YkxNNW5TQU8zZlhFc1BST0V4OVJ3THhRbXJzMkVlNVc0cURhalRtM1ZPaGZRWEhRZi96NW8zeHNkblFKdAotbWJIQ1hQaG1NbjlPNmptckRsR2VNZz09Ci0tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlZWU0YjIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEU1RDQ0FqR2dBd0lCQWdJVUkyTE5FcTBWVHJDRFpwbUp5dlNHMjByS1YrTXdEUVlKS29aSWh2Y05BUUVMCi1CUUF3TkRFTE1Ba0dBMVVFQmhNQ1Rrd3hEakFNQmdOVkJBb01CVkJMUTFNM01SVXdFd1lEVlFRRERBeFFTME5UCi1OeUJEWlhKMElERXdIaGNOTWpNd05UQTRNVEF4T1RFeFdoY05Nek13TlRBNE1UQXhPVEV4V2pBME1Rc3dDUVlECi1WUVFHRXdKT1RERU9NQXdHQTFVRUNnd0ZVRXREVXpjeEZUQVRCZ05WQkFNTURGQkxRMU0zSUVObGNuUWdNVENDCi1BU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUpxaVZjMW0wNndZbktzaHFYU29PRkRsCi1pRlc2Ri8zSS92Vm1ENi9reVRtc1o0MjV0aUNpdW5tU1IycmxKYzcvMmFXYlRIMFAzdXQzZGlubm9vVXNTd3M4Ci1Fd1JUalNkRUNEekY5NlFUQ0lVdmhNSElOUWZwUXV4U3I5bGVLM0F2b2lDUGkzWFVlZktoVHVvRjFBL2JUUXgyCi1RY056Smx1UVBBemR2VURGQlpMZExJbWpKN2dpZDFqN0tTUlpIalZ4bkZQbm9scjFFRUxYREpzMjlSVnVwMWluCi04Zk9hQklsSEVBcld1U2dWMmFRN3VWTHVCSE04TnowWTgxMFBFbGdVYU9DTXhHdm8vRXc0VHBCSmZEaXBTRDJsCi1XRlBpc3huQnpqbXEzYnlpK21BUnByK0JIeEVUdmJyWjF1UmJhSUE2YnpHTDFQWmx3L3ZNY3Z1VEh1M3lLTWtDCi1Bd0VBQWFOVE1GRXdIUVlEVlIwT0JCWUVGQnZQYytZV2J4UHRQM01Gam15ckw2bFFrSkp2TUI4R0ExVWRJd1FZCi1NQmFBRkJ2UGMrWVdieFB0UDNNRmpteXJMNmxRa0pKdk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJCi1odmNOQVFFTEJRQURnZ0VCQUpLN2h1TkpSK1Rsa1pCSGlDdGIwS01mbGpIUldQdUFMNmZXMG1HdkJEZVp5UlRICi1PekdkcWdqbll6Z1laNTM4cEc3VHNNR29tclNRd2xBVGZJQ0tzZjhkTlNsblBxT2lJUG8yZmRkOGdyL3RPN3lsCi1GRy9LdlhrMHY1RGZzNFJHVXM3VVlkbXpuY0VZQzJKc1RvRnNENGpqYSs1dG5ZLy9OSlJ4a0pkc3dmbit3QnFICi13Tit5NHFFTGRxK0FFQkt5bWJRc0l3T0J0M1VkZVZVd0JCanRxSlhGdEVUOXlocWtxVnhuYi9pMGpIcmhqeWlTCi1RL1krVDlzMzUrQTZYbEk2blNpSkxEeE1mZ0pWQ1dhMk90R0kvL2FBbHpsdys2ZEhpaUpWVkJIcFpiVzBZVFk0Ci1xRTdramhQcmRkSllsQjZrNFMzdWI5ajRlODdrMFAwSXlGcHR4dzg9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUV2QUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktZd2dnU2lBZ0VBQW9JQkFRQ2FvbFhOWnRPc0dKeXIKLUlhbDBxRGhRNVloVnVoZjl5UDcxWmcrdjVNazVyR2VOdWJZZ29ycDVra2RxNVNYTy85bWxtMHg5RDk3cmQzWXAKLTU2S0ZMRXNMUEJNRVU0MG5SQWc4eGZla0V3aUZMNFRCeURVSDZVTHNVcS9aWGl0d0w2SWdqNHQxMUhueW9VN3EKLUJkUVAyMDBNZGtIRGN5WmJrRHdNM2IxQXhRV1MzU3lKb3llNEluZFkreWtrV1I0MWNaeFQ1NkphOVJCQzF3eWIKLU52VVZicWRZcC9Iem1nU0pSeEFLMXJrb0ZkbWtPN2xTN2dSelBEYzlHUE5kRHhKWUZHamdqTVJyNlB4TU9FNlEKLVNYdzRxVWc5cFZoVDRyTVp3YzQ1cXQyOG92cGdFYWEvZ1I4UkU3MjYyZGJrVzJpQU9tOHhpOVQyWmNQN3pITDcKLWt4N3Q4aWpKQWdNQkFBRUNnZ0VBQ2lyWGw2MTF5RVJuZzdpUFJPNTlJbk9QS096WElENlhwZ0RIa2dZSjVaY0UKLWlZenZFTnNHUmhGVVRRN2pVeWFmTTh4LzVWNjJabmJZd0FWZEdpTEpEZVJ0cnl5RHROUGNNMHZFZmtjcW1hQS8KLTIwSjcyeWp2RjYwUnB5b1NFdHFzN3pWbEF2SzlNSE1EQm0vcTZ6NTlCTTlmUUZmSlN6Nnk5aGtiMVI4SFFHcGMKLWt0SUJ4cUFOdlEzWFl6UHd4QmRFQ0I2WUgxMnQxVWtDRUZObU9WdXA3TS9UcE1CdTc5aDRjZDY5UTcwOWlPcVAKLTlrSU94QUJyUkU3ZXZXcHdZSEZDSTdRZmJScEZlWTdJOWI5NE5RVUxtT0xLSm04UWZZZlh1bXpmSVEzZ3FVVzIKLVd5SU9KYzV6QWZ0US83RGR1NUNLYnFzTDd5QmlNR3hJNElIUVovZ0VjUUtCZ1FEQkUzRmw4WFc3SnBQOUowdncKLVZ2Q0JHSmdQT1U3dG45SkcwODJSVXIwcGk3SFJpRW8yM3pMMzdQdndQd2puODFTa1dtaDlXY0lRRm04SXA0T3kKLTlzVU1SMG9JbmpVM1BhQUkyb1JRQ09QeW5vZDIzd0M0dFZtakxyTkJlazhUMkFuVHRrdlNaYWxvb0FDTnVtZ0QKLUVmL2hwTVlEYTJPOWRUYmp0cU5PcDJBT3VRS0JnUUROQjZVR3p3WStIREc0NDRJci9RMnMyWGpPRDFjdkczcTgKLTNOYVNuSUh1eEplVWhZbEJYbVdzeWdwR0xycTRpNWg0RVdQejhxS1dRd0JEd3NaSUJHaXNKRlFjUXpzWFM5L1oKLStGOGw1NTVpa2IvQXNiWkhyV3crbWlUYXVYVDB4ZTFkYmprcXFwQWlpWWZKRmVEc3MzMldxZ2FBVUQyOElLOVAKLWRqUjg1cDlpa1FLQmdIdVJEUGNZWktlbEZmdGpwZmNvUFAzeUZvZFB2eExYUVVWeEVsUWFadFByQXArK0lQa2oKLU9jUndXQUUyNW1WRVZ2eGtuQkQxVy96ZHpxdjBRWlpNMW1sNFNvcGZibUZ2UURmS1dmbTY1dUFFMDEraGN4M0QKLWVwMjBLcWNTTnYvVk9OelZBNHVnNHA0Q0lMaVQvek5QMXJxN3NMckpoT2pnMW9OQUJSNDJnb1NKQW9HQWNzMU4KLUFqcjVhOTJ0bWJFS09rYy9XUUdNT3hVcjVCeW01UWxpdkVVV0cvUElURWxaU1ZqcDVZNWJvbUNYL0sxdGVnMkMKLXdoMmlIREQzL1BrYXZVaDZzNmpEeis5MUx0NDFRWDlwQjNoaG54K3RGdUJyQ0VkNnpMTFM0QVhvRHdha21pUVYKLXJtWkN2cFB6akF6TUhMMkVITkNuUTBHcXo2UWRoWWpTYXYxWFVZRUNnWUJpdjh0N1daRkxJc2k3QmFhMW9vY3YKLVZVOVdzb2hjcVRHUDgvaStKNGZ1UlJWR0RMbC9qY0JGbTVkWXpHVlNicEJhTTBxaGZHSXlhQW1Jbkhvenhvb1IKLStpemJMTTVuU0FPM2ZYRXNQUk9FeDlSd0x4UW1yczJFZTVXNHFEYWpUbTNWT2hmUVhIUWYvejVvM3hzZG5RSnQKLW1iSENYUGhtTW45TzZqbXJEbEdlTWc9PQotLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjBiZWNiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0yLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFNUQ0NBakdnQXdJQkFnSVVMUWlpeEVNRS9UT2Q4Q3pmRmdwL0h4V1FPajR3RFFZSktvWklodmNOQVFFTAotQlFBd05ERUxNQWtHQTFVRUJoTUNUa3d4RGpBTUJnTlZCQW9NQlZCTFExTTNNUlV3RXdZRFZRUUREQXhRUzBOVAotTnlCRFpYSjBJREl3SGhjTk1qTXdOVEE0TVRBeE9URXhXaGNOTXpNd05UQTRNVEF4T1RFeFdqQTBNUXN3Q1FZRAotVlFRR0V3Sk9UREVPTUF3R0ExVUVDZ3dGVUV0RFV6Y3hGVEFUQmdOVkJBTU1ERkJMUTFNM0lFTmxjblFnTWpDQwotQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFOYXJiQ2U0TmtJYmVCakFFS1d1SGhBNwotaGF6MDgwaXk4TjFYYmRyMFhhNmxsT0xLZ3NEVk54a3pXK1dIUmdKTlpBdE44WGdUN0l1Yklybm85eWdjQks1QgotYjFFNC9CdXRwZm53NWFTSmhXMnVJOFdsNy94Q3ZvbkVEZDNqQlFVQTRjTzh4M2llKzdXY0dKQzJtVVhsZ1V1SgotamR2WDcvcHg1RFF1Snd5MFIzVnVsMElPU0J2elhWbzlVT1RZa21vUUkyZTJVY0FrNmFVM3pRS0s4RGI1ZG1sUgotY0Erc1ZDYjlqMXRFbVNYUUFqMFhmWHYwU3FpandyN01VWUI5dlV0MndZZXhDM2IwU29zcU5xZzdNWXg2ZURVSgotYWRWdlB3SFc0VlFoNVJ2OVRWWXI5UnBjMXB5ZmdqdHZsbm91UFUreVJPSjlWTzBpcmJNWTVMSTJyQUlwUWtzQwotQXdFQUFhTlRNRkV3SFFZRFZSME9CQllFRk9vellCZDdweEFtc1ZVdEp3U1F2UkdOdktPOU1COEdBMVVkSXdRWQotTUJhQUZPb3pZQmQ3cHhBbXNWVXRKd1NRdlJHTnZLTzlNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEUVlKS29aSQotaHZjTkFRRUxCUUFEZ2dFQkFKbU9NUDNnVnFQMC92RnFQZE1qSWE1UGp0d3kwMno0WjR1THBsby80SzhDUXA2VAotK1hNZnorcC9VRG9nbHlBdVozNFRRL2RuR01NOUVGRUJnbS9PNWRKSGw0NDIrRnJvcnRJRWh6R28wUUFmK1hZSwotOUhRS1ZrMGE1ZWNWTzlDWncybWR1eE1KLy9yOUd5RkcwWFNxcE5xdDJ5aTdVZ2NQc3JxKzJPcWh6WW5nWW15cgotVjVIdFF6d0JhSXF3b1h6aEhJT1gxcEpnNEdVeHJoc2FxSW5yaFVNMFZUZGZwS2NSbHpGc2ltUTYwTFo2R01jbQotclB5M29MczFpb1ZmWVM3ZXQwTW5HaGdTSElqQmVvY3FZS2NoemZCay9ObkYwZUsrbEpvK2hyR2s2RjJyREo0RwotVmlOS1A2TWhNQnpsWjczeVRSVFdaY1l1Nk8rc2c1Y0h3amxIaFJjPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTAxNDM1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0yLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0yLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0yLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmU3OGIxMS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMi5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUV1d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktVd2dnU2hBZ0VBQW9JQkFRRFdxMndudURaQ0czZ1kKLXdCQ2xyaDRRTzRXczlQTklzdkRkVjIzYTlGMnVwWlRpeW9MQTFUY1pNMXZsaDBZQ1RXUUxUZkY0RSt5TG15SzUKLTZQY29IQVN1UVc5Uk9Qd2JyYVg1OE9Xa2lZVnRyaVBGcGUvOFFyNkp4QTNkNHdVRkFPSER2TWQ0bnZ1MW5CaVEKLXRwbEY1WUZMaVkzYjErLzZjZVEwTGljTXRFZDFicGRDRGtnYjgxMWFQVkRrMkpKcUVDTm50bEhBSk9tbE44MEMKLWl2QTIrWFpwVVhBUHJGUW0vWTliUkprbDBBSTlGMzE3OUVxb284Syt6RkdBZmIxTGRzR0hzUXQyOUVxTEtqYW8KLU96R01lbmcxQ1duVmJ6OEIxdUZVSWVVYi9VMVdLL1VhWE5hY240STdiNVo2TGoxUHNrVGlmVlR0SXEyekdPU3kKLU5xd0NLVUpMQWdNQkFBRUNnZjhUdEtpNC9LLytZWWNrdm56SXVMTUp5bXo2ODRGaHF3dHhSaFZQaEI4VmFSM0IKLXM5Vk0za1d3aW9abEM0WGhzRGorMEtqWjNQcFoxbVBaclFrREpZOUliN2xJTzNMcEY0ZWs2Zmdxb25VZEhGOHMKLVJZOUNHTjVreHhwK3c5Z3lIV0tjRlRnNldsM0F6aE56TlUvY21yVER1bHpMVVljMTlqNThpOEFKNm9La3hOY1QKLWdpZTljMzh3RGpacjY3Y3luQVJrUzlOOTRXa01zT1F6TTU5VHpPZnVrbGRzYndZSVNaYWhSL0w5aGdRcXpjRkwKLWh4c3JRYlowTTVYRnppT2p1REd6Slpzd2JiVHZrdXBxdDBFd0VYY0kxam52T3RLUEM1MFJhSVk5eTlzUVlSUFgKLVJYRnpVYUJHS0hqTFd0RVlRZC9iWFdUdENMeDZDNEZEUmtPc1ZRVUNnWUVBNjl6OHhxOGxwNzdsRDJnTnNoM3gKLW84Y25ueDN4Y3duais5YkVEREtYZ0ExUkJ3blhwUS9HcTVKbWU3em05NTUyeEpYRFF3Y2t1SlE5L0ZkNEw4WnkKLVpqeU91WUM2TWRjNG5jd28xeVQ5UnY2aXBTcS9kc1ZLUWJNWWFPeHRRNkxjZTF3UHlGMzJzbHUybVBsd09nSW8KLXcwQWRsM01xQytHazNBTmNQV3lKaGE4Q2dZRUE2UDg2anc4TWZhQTRxVG42WnkxWUVxMTcrOENoZDE1UEEyRTcKLU5XZEVMNzVKcitJbTlrVFkrbmlXY1pvNnEvSkthNUZva3hyU0I5ODhOTUs2UWQyMGQyZ1ppamMxeUhwckMxZnEKLVczUlA5QzJxdkVPcys0K3czOEY2M0prQlhPeXFoNiticWNsc0VEazVDT29lMkVkSWV2RjRQUWhlV3VRdGJOSHYKLTdHNXlFQ1VDZ1lFQXBOVERNbmFrY2g1T0pmNHAxQmhwRG5QWGxMTndVVnpRSHVkd0NyWXdlaVRVUTM3MVhUMHgKLU1pWVZ5Tk95OWNtZ1pySGl5NnpxVkxRRXZaekRPV0FPQXJTL2FaUTBpekJGT01HOHFONEl3dHlnL1p4cVFhNk8KLXZtdFMyOENlZTI0TmQ0aFczMGdMWjRvQWlkZUlQb0hUeXQrN3ptT0ZOdGh5UmU5elB0bmpJYkVDZ1lBZm5yT1YKLXdwY1JYWE1URkRrMVUyUUdkT0RFazZuV0IwaDF6dlk0RXlHZjBSVXk5MkFPUDkycWNEOEtmOEhDb0FrVmZCQlQKLUZtcTJnc2NxNmRwWklmdGgwUkRXUHhQZmR5MmJ4bnlabUxsWkMvR0Z4ekZzbWwySW9EdEtRTUY4bU9tenJGTlYKLXdXNFc3WTBkOXBmbEJoZUNCODhuaVVFMDJJNkpuQndSWEJQQ3VRS0JnRDAxVkpzR3FnRnZsdmpLMEtWcFBWQ0IKLUtLMEdQSTVURk5TRGpZU0lHMjVWbTRsWW1pV3dyNTRpYXFXdmxLOVNGWEgwQzlSMVZBdVUrdWFZKzh0R000bzUKLVJPOW1rMEF2SUo0QkMwRlpIUzJmSERsZC8zN1dPM3JoNjZReW02emdwMDJaUFlEU0xYVDE4c2YwU1ZNQXpVN2gKLTJqNjBGTU1FSlByN2NseCtuNnhVCi0tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMi5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxMDA0YjUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEU1RDQ0FqR2dBd0lCQWdJVUxRaWl4RU1FL1RPZDhDemZGZ3AvSHhXUU9qNHdEUVlKS29aSWh2Y05BUUVMCi1CUUF3TkRFTE1Ba0dBMVVFQmhNQ1Rrd3hEakFNQmdOVkJBb01CVkJMUTFNM01SVXdFd1lEVlFRRERBeFFTME5UCi1OeUJEWlhKMElESXdIaGNOTWpNd05UQTRNVEF4T1RFeFdoY05Nek13TlRBNE1UQXhPVEV4V2pBME1Rc3dDUVlECi1WUVFHRXdKT1RERU9NQXdHQTFVRUNnd0ZVRXREVXpjeEZUQVRCZ05WQkFNTURGQkxRMU0zSUVObGNuUWdNakNDCi1BU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU5hcmJDZTROa0liZUJqQUVLV3VIaEE3Ci1oYXowODBpeThOMVhiZHIwWGE2bGxPTEtnc0RWTnhrelcrV0hSZ0pOWkF0TjhYZ1Q3SXViSXJubzl5Z2NCSzVCCi1iMUU0L0J1dHBmbnc1YVNKaFcydUk4V2w3L3hDdm9uRURkM2pCUVVBNGNPOHgzaWUrN1djR0pDMm1VWGxnVXVKCi1qZHZYNy9weDVEUXVKd3kwUjNWdWwwSU9TQnZ6WFZvOVVPVFlrbW9RSTJlMlVjQWs2YVUzelFLSzhEYjVkbWxSCi1jQStzVkNiOWoxdEVtU1hRQWowWGZYdjBTcWlqd3I3TVVZQjl2VXQyd1lleEMzYjBTb3NxTnFnN01ZeDZlRFVKCi1hZFZ2UHdIVzRWUWg1UnY5VFZZcjlScGMxcHlmZ2p0dmxub3VQVSt5Uk9KOVZPMGlyYk1ZNUxJMnJBSXBRa3NDCi1Bd0VBQWFOVE1GRXdIUVlEVlIwT0JCWUVGT296WUJkN3B4QW1zVlV0SndTUXZSR052S085TUI4R0ExVWRJd1FZCi1NQmFBRk9vellCZDdweEFtc1ZVdEp3U1F2UkdOdktPOU1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJCi1odmNOQVFFTEJRQURnZ0VCQUptT01QM2dWcVAwL3ZGcVBkTWpJYTVQanR3eTAyejRaNHVMcGxvLzRLOENRcDZUCi0rWE1meitwL1VEb2dseUF1WjM0VFEvZG5HTU05RUZFQmdtL081ZEpIbDQ0MitGcm9ydElFaHpHbzBRQWYrWFlLCi05SFFLVmswYTVlY1ZPOUNadzJtZHV4TUovL3I5R3lGRzBYU3FwTnF0MnlpN1VnY1BzcnErMk9xaHpZbmdZbXlyCi1WNUh0UXp3QmFJcXdvWHpoSElPWDFwSmc0R1V4cmhzYXFJbnJoVU0wVlRkZnBLY1JsekZzaW1RNjBMWjZHTWNtCi1yUHkzb0xzMWlvVmZZUzdldDBNbkdoZ1NISWpCZW9jcVlLY2h6ZkJrL05uRjBlSytsSm8raHJHazZGMnJESjRHCi1WaU5LUDZNaE1CemxaNzN5VFJUV1pjWXU2TytzZzVjSHdqbEhoUmM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUV1d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktVd2dnU2hBZ0VBQW9JQkFRRFdxMndudURaQ0czZ1kKLXdCQ2xyaDRRTzRXczlQTklzdkRkVjIzYTlGMnVwWlRpeW9MQTFUY1pNMXZsaDBZQ1RXUUxUZkY0RSt5TG15SzUKLTZQY29IQVN1UVc5Uk9Qd2JyYVg1OE9Xa2lZVnRyaVBGcGUvOFFyNkp4QTNkNHdVRkFPSER2TWQ0bnZ1MW5CaVEKLXRwbEY1WUZMaVkzYjErLzZjZVEwTGljTXRFZDFicGRDRGtnYjgxMWFQVkRrMkpKcUVDTm50bEhBSk9tbE44MEMKLWl2QTIrWFpwVVhBUHJGUW0vWTliUkprbDBBSTlGMzE3OUVxb284Syt6RkdBZmIxTGRzR0hzUXQyOUVxTEtqYW8KLU96R01lbmcxQ1duVmJ6OEIxdUZVSWVVYi9VMVdLL1VhWE5hY240STdiNVo2TGoxUHNrVGlmVlR0SXEyekdPU3kKLU5xd0NLVUpMQWdNQkFBRUNnZjhUdEtpNC9LLytZWWNrdm56SXVMTUp5bXo2ODRGaHF3dHhSaFZQaEI4VmFSM0IKLXM5Vk0za1d3aW9abEM0WGhzRGorMEtqWjNQcFoxbVBaclFrREpZOUliN2xJTzNMcEY0ZWs2Zmdxb25VZEhGOHMKLVJZOUNHTjVreHhwK3c5Z3lIV0tjRlRnNldsM0F6aE56TlUvY21yVER1bHpMVVljMTlqNThpOEFKNm9La3hOY1QKLWdpZTljMzh3RGpacjY3Y3luQVJrUzlOOTRXa01zT1F6TTU5VHpPZnVrbGRzYndZSVNaYWhSL0w5aGdRcXpjRkwKLWh4c3JRYlowTTVYRnppT2p1REd6Slpzd2JiVHZrdXBxdDBFd0VYY0kxam52T3RLUEM1MFJhSVk5eTlzUVlSUFgKLVJYRnpVYUJHS0hqTFd0RVlRZC9iWFdUdENMeDZDNEZEUmtPc1ZRVUNnWUVBNjl6OHhxOGxwNzdsRDJnTnNoM3gKLW84Y25ueDN4Y3duais5YkVEREtYZ0ExUkJ3blhwUS9HcTVKbWU3em05NTUyeEpYRFF3Y2t1SlE5L0ZkNEw4WnkKLVpqeU91WUM2TWRjNG5jd28xeVQ5UnY2aXBTcS9kc1ZLUWJNWWFPeHRRNkxjZTF3UHlGMzJzbHUybVBsd09nSW8KLXcwQWRsM01xQytHazNBTmNQV3lKaGE4Q2dZRUE2UDg2anc4TWZhQTRxVG42WnkxWUVxMTcrOENoZDE1UEEyRTcKLU5XZEVMNzVKcitJbTlrVFkrbmlXY1pvNnEvSkthNUZva3hyU0I5ODhOTUs2UWQyMGQyZ1ppamMxeUhwckMxZnEKLVczUlA5QzJxdkVPcys0K3czOEY2M0prQlhPeXFoNiticWNsc0VEazVDT29lMkVkSWV2RjRQUWhlV3VRdGJOSHYKLTdHNXlFQ1VDZ1lFQXBOVERNbmFrY2g1T0pmNHAxQmhwRG5QWGxMTndVVnpRSHVkd0NyWXdlaVRVUTM3MVhUMHgKLU1pWVZ5Tk95OWNtZ1pySGl5NnpxVkxRRXZaekRPV0FPQXJTL2FaUTBpekJGT01HOHFONEl3dHlnL1p4cVFhNk8KLXZtdFMyOENlZTI0TmQ0aFczMGdMWjRvQWlkZUlQb0hUeXQrN3ptT0ZOdGh5UmU5elB0bmpJYkVDZ1lBZm5yT1YKLXdwY1JYWE1URkRrMVUyUUdkT0RFazZuV0IwaDF6dlk0RXlHZjBSVXk5MkFPUDkycWNEOEtmOEhDb0FrVmZCQlQKLUZtcTJnc2NxNmRwWklmdGgwUkRXUHhQZmR5MmJ4bnlabUxsWkMvR0Z4ekZzbWwySW9EdEtRTUY4bU9tenJGTlYKLXdXNFc3WTBkOXBmbEJoZUNCODhuaVVFMDJJNkpuQndSWEJQQ3VRS0JnRDAxVkpzR3FnRnZsdmpLMEtWcFBWQ0IKLUtLMEdQSTVURk5TRGpZU0lHMjVWbTRsWW1pV3dyNTRpYXFXdmxLOVNGWEgwQzlSMVZBdVUrdWFZKzh0R000bzUKLVJPOW1rMEF2SUo0QkMwRlpIUzJmSERsZC8zN1dPM3JoNjZReW02emdwMDJaUFlEU0xYVDE4c2YwU1ZNQXpVN2gKLTJqNjBGTU1FSlByN2NseCtuNnhVCi0tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMy5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzY2U1YjM1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0zLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFNUQ0NBakdnQXdJQkFnSVVUMXRwcEFiUXB4NnZMYlZ6UngvNTRiaTBlaG93RFFZSktvWklodmNOQVFFTAotQlFBd05ERUxNQWtHQTFVRUJoTUNUa3d4RGpBTUJnTlZCQW9NQlZCTFExTTNNUlV3RXdZRFZRUUREQXhRUzBOVAotTnlCRFpYSjBJRE13SGhjTk1qTXdOVEE0TVRBeE9URXhXaGNOTXpNd05UQTRNVEF4T1RFeFdqQTBNUXN3Q1FZRAotVlFRR0V3Sk9UREVPTUF3R0ExVUVDZ3dGVUV0RFV6Y3hGVEFUQmdOVkJBTU1ERkJMUTFNM0lFTmxjblFnTXpDQwotQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFPMVNPMU9VcVdWTXFJTmorTVpQZ0U1cwotOHNkRnJWeVhsdC8zRXFYTnM2elVCcjEyS2o0VVN0NXRtVnlGMUZ4WXN3NzZVMVpwZVVVQklyUTYyQ3lRZ1p0RAotbDk2dGlwSGJ4Rm5lV1hWMENPcnArMnJqV1VEejNiWTBsTTM5SkNyT3hsQkR4L1FZT0pIbTRIQWVXUGtnMEYxUgotMjZrS0xOVVl4ZzU0Z3RqbmF1bGVXZWZyTWNWM1M2OVJUSkdsZjNoVkoxZmx0ei95dzhOOVhHOFh4QU5aVDBDegotSlYzMXl6TE14Q1RtMmlCWFhBTFNrdzVRRFZUK1NEMG1ia1lUMjZid3RBdlhwdFBqYkM3WnJPeFl5cm1uaGsyVQotYVBWZXdwNW5jckRoWnBmS0NYVkc2cXRTUTN6SHU2V3dCQ2szaGRaOVJwQk1ETU9tK1ZGbCtyR2dENDZwMm9zQwotQXdFQUFhTlRNRkV3SFFZRFZSME9CQllFRkdOem85d3dFazkvdDZ4eHhwYnkvTlJtTkpSbE1COEdBMVVkSXdRWQotTUJhQUZHTnpvOXd3RWs5L3Q2eHh4cGJ5L05SbU5KUmxNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEUVlKS29aSQotaHZjTkFRRUxCUUFEZ2dFQkFLSkVtRHlFbXc4UTZtYmFxUkV2bU5TY0dyQTYwd09OVFFkbFgzbG55NFZ6cUF6aQotTXhJZUNJZndTdlI5TGhvMGxQbUZNRXJkRFBUVUt6V21sQVhVU2xzeWpuR3JxUDV1Q2l4VFVCWjlJYzFnYXhEegotTWVyZThucjd5b3crSTlldVlOTjEvZE5KWlA5bWNyUDI2OUZHeVR1TS84V29pK3phSkhyMFk4SzlUUlJYdWRxUAotd3U2WC9xWitPZVFyVzRXTWViMStlWjU5RnRSYWRhbXNRYWJ4dnRna1JKaG1xTnNHUS9pK1MwU3FHdDJ0Mnh2cQotbFR4c2hBNXAxN2JMUW1USnNOS1hiUWVWUEg5OU0rZWNYdndOMGhqM2ZEblFlRE1UamRLT3N5RnVweVordnhOKwotcEZ2VDdsUDBock91VTA3RkZxdDM2QjB4T2JCMVF3WmIyRFBjRUl3PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTMua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTMua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2M0ZWVkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0zLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLQotTUlJRXZRSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2N3Z2dTakFnRUFBb0lCQVFEdFVqdFRsS2xsVEtpRAotWS9qR1Q0Qk9iUExIUmExY2w1YmY5eEtsemJPczFBYTlkaW8rRkVyZWJabGNoZFJjV0xNTytsTldhWGxGQVNLMAotT3Rnc2tJR2JRNWZlcllxUjI4UlozbGwxZEFqcTZmdHE0MWxBODkyMk5KVE4vU1FxenNaUVE4ZjBHRGlSNXVCdwotSGxqNUlOQmRVZHVwQ2l6VkdNWU9lSUxZNTJycFhsbm42ekhGZDB1dlVVeVJwWDk0VlNkWDViYy84c1BEZlZ4dgotRjhRRFdVOUFzeVZkOWNzeXpNUWs1dG9nVjF3QzBwTU9VQTFVL2tnOUptNUdFOXVtOExRTDE2YlQ0Mnd1MmF6cwotV01xNXA0Wk5sR2oxWHNLZVozS3c0V2FYeWdsMVJ1cXJVa044eDd1bHNBUXBONFhXZlVhUVRBekRwdmxSWmZxeAotb0ErT3FkcUxBZ01CQUFFQ2dnRUFVNTFsOXJCSnNMMitIN0R3L1ZvVWNFMVZpcDFEay94NjlZVVZSbUsvMi9SRwotUGFtcy8zdGgxNVdRODdiWldBSU9jSWdGSmN4NnBEUGV1TmFFeE1yVFIxT2M1aUdKMFpNM1RweVhNMWxETFJWcwotZGtBTStlUVNLVGpFZHdFcUpZVDkvVmlzVWhYWWxKdGVWMUp4OGJDOGlTeW1zcHU1cVFrVit4STlzOU54YVRBZAotMTlVNU5vb3paUkJTMzdsVTNXeE1oUENIQ3JibDZ2d2NmdnRzWkNsRUlDQThZVUt5Uyt3VWgwd2p6Z2tRck9SVAota2FUeFk4WXlRL3VmU0lrQTNYS0pYMWZsTzFVZE5GSmNIaHNlaVhXdXVVVEtVTXZXTklMVW9GcGJreTV1WWI1egotVk03dTU3WkJGM3VWSG12Sk5ZUzA0aVFkTmtWMVprcFdIOG9wdVExa3lRS0JnUUQyamw2WTBxVHkvcytnOWFRNwoteXBaMHppL2xoSUphVEJEcXh3SkExOGU4KzRrcTNXRUVCREQxWC9lVDQ0blZQaEd5NzhjY0paQ253MlBCSHkxawotNnhWQ2ZHQVpWVjg1MG05SkdmNEwvVkVONkQ1cWRCMm93SlBWQ0VoN2ZhNmhWdkxLWUZOQ3V2czBvc0tDVm55eQotUEdxOGl4QVA1c0pwOHlvRW5sVWkwSUkzVXdLQmdRRDJhVTd4ZFFnYmE3dU11MnJKbzBiekRLZnh2NHE1blVZTwotWExCbTdsK016NlV6NjhBL3NjTHNLV21kdm1kUEt5ODNwbVIvMlJKMXBwMEhOVmZhOHJMKzBESENxZjFQQXBFKwotakZnY1FJZG55endSRkhQREgvOXptckhVeTMyTDVNZGlRRVd3cWc5d1AySFlidXY5VmJOMFJuM0hURmRSVmFyRAotaGczNi9oU0E2UUtCZ0JhSCtpTVRGTm5UNlZ0M056UHpsbjVFSFdKbkVwWjMzdy9sY2RKRkpjNmlXZTJkMzNERAotaFVuWEpFUFNobFVEWUJDdkVzNENyTTUzNzVURmFadVFWQmdJVDZ2Zy9sdkZYRUFjN1BkaGhkZTBnb2V0NXN2MgotRlV4aGZtWXluUlBIWTFhVktPYXZPYWVjdkJPM0had1lJMVRwakdVM25FcWNXeG1pOG5yRS9URmJBb0dBTEdhRAotWEF6TGZpMW1hUkJvU0pjTU5NVm1DYkNLN2JGQ0sxcFdTdVhPLzg5MnBDbHB4ZEJoSUM3Q0lqTnA2Q0VPN0FjbQotZXNjQmhZT1ZMZlJWdFZVZ0hid2tDMENZTFVGNExINGJibFBPVWt5VHNUd3ZNOHl6T2dCNDVMQWFHamdLR1ZFZAotZlp6WEZWSEdicnBsK1lzVXYvSG52aDZxYVRSM2hhM0ZIU0hsVGVrQ2dZRUE4ODlFemxFT3dtdTY5ejA2UkpzWgotbWxZb1IwLzF4eGlZbVNOeStoWFdvTTY0Rzk5Ujk0YmMvYngvUVNKQVh1OTNIWDROMEdIUG1qanBadmsxSWpITAotelFHaWtkYjJqdmJLblJjUi80RGlYUTFqZ2drNTliQ1VEYVFrcEViQnZ0Q0xqL0xqTW53eEFKQW9DT0dqdUl4RwotaG1TeW9BbE5RbTQ3dEdEM2krMmVydjA9Ci0tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkYzJmZTkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEU1RDQ0FqR2dBd0lCQWdJVVQxdHBwQWJRcHg2dkxiVnpSeC81NGJpMGVob3dEUVlKS29aSWh2Y05BUUVMCi1CUUF3TkRFTE1Ba0dBMVVFQmhNQ1Rrd3hEakFNQmdOVkJBb01CVkJMUTFNM01SVXdFd1lEVlFRRERBeFFTME5UCi1OeUJEWlhKMElETXdIaGNOTWpNd05UQTRNVEF4T1RFeFdoY05Nek13TlRBNE1UQXhPVEV4V2pBME1Rc3dDUVlECi1WUVFHRXdKT1RERU9NQXdHQTFVRUNnd0ZVRXREVXpjeEZUQVRCZ05WQkFNTURGQkxRMU0zSUVObGNuUWdNekNDCi1BU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU8xU08xT1VxV1ZNcUlOaitNWlBnRTVzCi04c2RGclZ5WGx0LzNFcVhOczZ6VUJyMTJLajRVU3Q1dG1WeUYxRnhZc3c3NlUxWnBlVVVCSXJRNjJDeVFnWnRECi1sOTZ0aXBIYnhGbmVXWFYwQ09ycCsycmpXVUR6M2JZMGxNMzlKQ3JPeGxCRHgvUVlPSkhtNEhBZVdQa2cwRjFSCi0yNmtLTE5VWXhnNTRndGpuYXVsZVdlZnJNY1YzUzY5UlRKR2xmM2hWSjFmbHR6L3l3OE45WEc4WHhBTlpUMEN6Ci1KVjMxeXpMTXhDVG0yaUJYWEFMU2t3NVFEVlQrU0QwbWJrWVQyNmJ3dEF2WHB0UGpiQzdack94WXlybW5oazJVCi1hUFZld3A1bmNyRGhacGZLQ1hWRzZxdFNRM3pIdTZXd0JDazNoZFo5UnBCTURNT20rVkZsK3JHZ0Q0NnAyb3NDCi1Bd0VBQWFOVE1GRXdIUVlEVlIwT0JCWUVGR056bzl3d0VrOS90Nnh4eHBieS9OUm1OSlJsTUI4R0ExVWRJd1FZCi1NQmFBRkdOem85d3dFazkvdDZ4eHhwYnkvTlJtTkpSbE1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJCi1odmNOQVFFTEJRQURnZ0VCQUtKRW1EeUVtdzhRNm1iYXFSRXZtTlNjR3JBNjB3T05UUWRsWDNsbnk0VnpxQXppCi1NeEllQ0lmd1N2UjlMaG8wbFBtRk1FcmREUFRVS3pXbWxBWFVTbHN5am5HcnFQNXVDaXhUVUJaOUljMWdheER6Ci1NZXJlOG5yN3lvdytJOWV1WU5OMS9kTkpaUDltY3JQMjY5Rkd5VHVNLzhXb2kremFKSHIwWThLOVRSUlh1ZHFQCi13dTZYL3FaK09lUXJXNFdNZWIxK2VaNTlGdFJhZGFtc1FhYnh2dGdrUkpobXFOc0dRL2krUzBTcUd0MnQyeHZxCi1sVHhzaEE1cDE3YkxRbVRKc05LWGJRZVZQSDk5TStlY1h2d04waGozZkRuUWVETVRqZEtPc3lGdXB5Wit2eE4rCi1wRnZUN2xQMGhyT3VVMDdGRnF0MzZCMHhPYkIxUXdaYjJEUGNFSXc9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRRHRVanRUbEtsbFRLaUQKLVkvakdUNEJPYlBMSFJhMWNsNWJmOXhLbHpiT3MxQWE5ZGlvK0ZFcmViWmxjaGRSY1dMTU8rbE5XYVhsRkFTSzAKLU90Z3NrSUdiUTVmZXJZcVIyOFJaM2xsMWRBanE2ZnRxNDFsQTg5MjJOSlROL1NRcXpzWlFROGYwR0RpUjV1QncKLUhsajVJTkJkVWR1cENpelZHTVlPZUlMWTUycnBYbG5uNnpIRmQwdXZVVXlScFg5NFZTZFg1YmMvOHNQRGZWeHYKLUY4UURXVTlBc3lWZDljc3l6TVFrNXRvZ1Yxd0MwcE1PVUExVS9rZzlKbTVHRTl1bThMUUwxNmJUNDJ3dTJhenMKLVdNcTVwNFpObEdqMVhzS2VaM0t3NFdhWHlnbDFSdXFyVWtOOHg3dWxzQVFwTjRYV2ZVYVFUQXpEcHZsUlpmcXgKLW9BK09xZHFMQWdNQkFBRUNnZ0VBVTUxbDlyQkpzTDIrSDdEdy9Wb1VjRTFWaXAxRGsveDY5WVVWUm1LLzIvUkcKLVBhbXMvM3RoMTVXUTg3YlpXQUlPY0lnRkpjeDZwRFBldU5hRXhNclRSMU9jNWlHSjBaTTNUcHlYTTFsRExSVnMKLWRrQU0rZVFTS1RqRWR3RXFKWVQ5L1Zpc1VoWFlsSnRlVjFKeDhiQzhpU3ltc3B1NXFRa1YreEk5czlOeGFUQWQKLTE5VTVOb296WlJCUzM3bFUzV3hNaFBDSENyYmw2dndjZnZ0c1pDbEVJQ0E4WVVLeVMrd1VoMHdqemdrUXJPUlQKLWthVHhZOFl5US91ZlNJa0EzWEtKWDFmbE8xVWRORkpjSGhzZWlYV3V1VVRLVU12V05JTFVvRnBia3k1dVliNXoKLVZNN3U1N1pCRjN1VkhtdkpOWVMwNGlRZE5rVjFaa3BXSDhvcHVRMWt5UUtCZ1FEMmpsNlkwcVR5L3MrZzlhUTcKLXlwWjB6aS9saElKYVRCRHF4d0pBMThlOCs0a3EzV0VFQkREMVgvZVQ0NG5WUGhHeTc4Y2NKWkNudzJQQkh5MWsKLTZ4VkNmR0FaVlY4NTBtOUpHZjRML1ZFTjZENXFkQjJvd0pQVkNFaDdmYTZoVnZMS1lGTkN1dnMwb3NLQ1ZueXkKLVBHcThpeEFQNXNKcDh5b0VubFVpMElJM1V3S0JnUUQyYVU3eGRRZ2JhN3VNdTJySm8wYnpES2Z4djRxNW5VWU8KLVhMQm03bCtNejZVejY4QS9zY0xzS1dtZHZtZFBLeTgzcG1SLzJSSjFwcDBITlZmYThyTCswREhDcWYxUEFwRSsKLWpGZ2NRSWRueXp3UkZIUERILzl6bXJIVXkzMkw1TWRpUUVXd3FnOXdQMkhZYnV2OVZiTjBSbjNIVEZkUlZhckQKLWhnMzYvaFNBNlFLQmdCYUgraU1URk5uVDZWdDNOelB6bG41RUhXSm5FcFozM3cvbGNkSkZKYzZpV2UyZDMzREQKLWhVblhKRVBTaGxVRFlCQ3ZFczRDck01Mzc1VEZhWnVRVkJnSVQ2dmcvbHZGWEVBYzdQZGhoZGUwZ29ldDVzdjIKLUZVeGhmbVl5blJQSFkxYVZLT2F2T2FlY3ZCTzNIWndZSTFUcGpHVTNuRXFjV3htaThuckUvVEZiQW9HQUxHYUQKLVhBekxmaTFtYVJCb1NKY01OTVZtQ2JDSzdiRkNLMXBXU3VYTy84OTJwQ2xweGRCaElDN0NJak5wNkNFTzdBY20KLWVzY0JoWU9WTGZSVnRWVWdIYndrQzBDWUxVRjRMSDRiYmxQT1VreVRzVHd2TTh5ek9nQjQ1TEFhR2pnS0dWRWQKLWZaelhGVkhHYnJwbCtZc1V2L0hudmg2cWFUUjNoYTNGSFNIbFRla0NnWUVBODg5RXpsRU93bXU2OXowNlJKc1oKLW1sWW9SMC8xeHhpWW1TTnkraFhXb002NEc5OVI5NGJjL2J4L1FTSkFYdTkzSFg0TjBHSFBtampwWnZrMUlqSEwKLXpRR2lrZGIyanZiS25SY1IvNERpWFExamdnazU5YkNVRGFRa3BFYkJ2dENMai9Mak1ud3hBSkFvQ09HanVJeEcKLWhtU3lvQWxOUW00N3RHRDNpKzJlcnYwPQotLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwZWUyNjQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbgorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUhlbGxvDQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhXzEuYmluIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhXzEuYmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGM2YmFlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV8xLmJpbgorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTINCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfM19zaWduZWQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhXzNfc2lnbmVkLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjMxODFhZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfM19zaWduZWQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfZW5jcnlwdGVkLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X2VuY3J5cHRlZC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzZDg2NDIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfZW5jcnlwdGVkLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGExLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGExLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODc4ZTllYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMS5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGEyNTYuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzQ4MTIzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGEyNTYuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTUxMi5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhNTEyLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzViZGYwZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhNTEyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF92Mi5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfdjIuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTBkYjIwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF92Mi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRkYXRhX3NoYTI1Ni5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRkYXRhX3NoYTI1Ni5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiOTdiOWIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkZGF0YV9zaGEyNTYuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX211bHRpcGxlX2NlcnRzX3NpZ25lZC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfbXVsdGlwbGVfY2VydHNfc2lnbmVkLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNkNzE5NC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfbXVsdGlwbGVfY2VydHNfc2lnbmVkLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9tdWx0aXBsZV9zaWduZWQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX211bHRpcGxlX3NpZ25lZC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjNDQxZmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX211bHRpcGxlX3NpZ25lZC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfbm9fc2lnbmVycy5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfbm9fc2lnbmVycy5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3NWM5OTEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX25vX3NpZ25lcnMuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3JzYV9leHBpcmVkLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9yc2FfZXhwaXJlZC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzYWY0OWQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3JzYV9leHBpcmVkLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkY2VydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZGNlcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzRkNjlkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkY2VydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lci5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lci5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhNjI5ZGMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2JhZHNpemUuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2JhZHNpemUuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYmU5MzIwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMV9iYWRzaXplLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMV9iYWR0YWcuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2JhZHRhZy5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5OGI5MjkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2JhZHRhZy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjFfZnV6emJhZC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjFfZnV6emJhZC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2MTNlM2QuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2Z1enpiYWQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIyX2JhZHNpemUuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIyX2JhZHNpemUuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTY0NzY3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMl9iYWRzaXplLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMl9iYWR0YWcuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIyX2JhZHRhZy5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhYWEzMDUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIyX2JhZHRhZy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjJfZnV6emJhZC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjJfZnV6emJhZC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3ZTBkZjQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIyX2Z1enpiYWQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3dpdGhfc2lnbmF0dXJlLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV93aXRoX3NpZ25hdHVyZS5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5OGNhYjYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19kYXRhX3dpdGhfc2lnbmF0dXJlLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV93aXRob3V0X2NlcnRfc2lnbmVkLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfZGF0YV93aXRob3V0X2NlcnRfc2lnbmVkLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkwMzYxZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfd2l0aG91dF9jZXJ0X3NpZ25lZC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X3NpZ25lckluZm9fMV9zZXJpYWxfaW52YWxpZF90YWdfYWZ0ZXJfbG9uZ19uYW1lLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb18xX3NlcmlhbF9pbnZhbGlkX3RhZ19hZnRlcl9sb25nX25hbWUuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZmJjNjViLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb18xX3NlcmlhbF9pbnZhbGlkX3RhZ19hZnRlcl9sb25nX25hbWUuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19zaWduZXJJbmZvXzJfaW52YWxpZF90YWcuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19zaWduZXJJbmZvXzJfaW52YWxpZF90YWcuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjA1OWMyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb18yX2ludmFsaWRfdGFnLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb19pc3N1ZXJfaW52YWxpZF9zaXplLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb19pc3N1ZXJfaW52YWxpZF9zaXplLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q3NzU0NS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X3NpZ25lckluZm9faXNzdWVyX2ludmFsaWRfc2l6ZS5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X3NpZ25lckluZm9fc2VyaWFsX2ludmFsaWRfc2l6ZS5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X3NpZ25lckluZm9fc2VyaWFsX2ludmFsaWRfc2l6ZS5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZmEzYTkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN19zaWduZXJJbmZvX3NlcmlhbF9pbnZhbGlkX3NpemUuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wa2NzN196ZXJvbGVuZGF0YS5iaW4gYi90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X3plcm9sZW5kYXRhLmJpbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTY5ZGUyOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X3plcm9sZW5kYXRhLmJpbgorKysgL2Rldi9udWxsCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3BrY3M3X3plcm9sZW5kYXRhX2RldGFjaGVkLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfemVyb2xlbmRhdGFfZGV0YWNoZWQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjliNjJlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcGtjczdfemVyb2xlbmRhdGFfZGV0YWNoZWQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9wcmludF9jLnBsIGIvdGVzdHMvZGF0YV9maWxlcy9wcmludF9jLnBsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA1ZjRiM2QwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcHJpbnRfYy5wbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHBlcmwKLSMKLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotCi11c2Ugc3RyaWN0OwotdXNlIHdhcm5pbmdzOwotCi1pZiAoIUBBUkdWIHx8ICRBUkdWWzBdID09ICctLWhlbHAnKSB7Ci0gICAgcHJpbnQgPDxFT0Y7Ci1Vc2FnZTogJDAgbWJlZHRsc190ZXN0X2ZvbyA8ZmlsZS5wZW0KLSAgICAgICAkMCBURVNUX0ZPTyBtYmVkdGxzX3Rlc3RfZm9vIDxmaWxlLnBlbQotUHJpbnQgb3V0IGEgUEVNIGZpbGUgYXMgQyBjb2RlIGRlZmluaW5nIGEgc3RyaW5nIGNvbnN0YW50LgotCi1Vc2VkIHRvIGluY2x1ZGUgc29tZSBvZiB0aGUgdGVzdCBkYXRhIGluIC9saWJyYXJ5L2NlcnRzLmMgZm9yCi1zZWxmLXRlc3RzIGFuZCBzYW1wbGUgcHJvZ3JhbXMuCi1FT0YKLSAgICBleGl0OwotfQotCi1teSAkcHBfbmFtZSA9IEBBUkdWID4gMSA/IHNoaWZ0IEBBUkdWIDogdW5kZWY7Ci1teSAkbmFtZSA9IHNoaWZ0IEBBUkdWOwotCi1teSBAbGluZXMgPSBtYXAge2Nob21wOyBzLyhbXFwiXSkvXFwkMS9nOyAiXCIkX1xcclxcblwiIn0gPFNURElOPjsKLQotaWYgKGRlZmluZWQgJHBwX25hbWUpIHsKLSAgICBmb3JlYWNoICgiI2RlZmluZSAkcHBfbmFtZSIsIEBsaW5lc1swLi5AbGluZXMtMl0pIHsKLSAgICAgICAgcHJpbnRmICIlLTcyc1xcXG4iLCAkXzsKLSAgICB9Ci0gICAgcHJpbnQgIiRsaW5lc1tAbGluZXMtMV1cbiI7Ci0gICAgcHJpbnQgImNvbnN0IGNoYXIgJG5hbWVcW1xdID0gJHBwX25hbWU7XG4iOwotfSBlbHNlIHsKLSAgICBwcmludCAiY29uc3QgY2hhciAkbmFtZVxbXF0gPSI7Ci0gICAgZm9yZWFjaCAoQGxpbmVzKSB7Ci0gICAgICAgIHByaW50ICJcbiRfIjsKLSAgICB9Ci0gICAgcHJpbnQgIjtcbiI7Ci19CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYTQwOTZfcHJ2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhNDA5Nl9wcnYuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NmVhODE4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhNDA5Nl9wcnYuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2E0MDk2X3Bydi5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYTQwOTZfcHJ2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY3NGFhMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYTQwOTZfcHJ2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUpLUUlCQUFLQ0FnRUE1RjJtcUVzZG50UEFFaWo2SGZDWW5LaUxNR25tNlBjZnNhRlllRllPMUV1Zk9qTjUKLVpKUDkwY3IzQ3JDbk45Sk9BZHBCYlRwekEwUmNJY0FkV0J6dk5OQXRJTXZTZmkyMldKWVZqekQwQnZzMnJDWUgKLTc2WWM2dmZ4N3k5elhaY2FuaDhTLzJ0N0I2NHhteE9XTDRSRStmOEhXVGlqQVdseVVGRGsrRHVKV3BRSzJvMGIKLWhFNFM4bVgrdVVsM2FmTlc1Q2lQc1JreTFOMXY0YTcvSjJiN2NHKzdwRFdVY2pudm1OQ044NHYrZ1N1Y1hmS2cKLS9MaUFuWmdZN3hpaDJlUEVoa2tJcW42a1UwY1ZCUWoxY1o3aFhHUmFaL01ucVoyeStLaml1Rm90MnNhTmsvdjAKLXZqalcreE94NzZxSlY5OUx0Ti8xcXZDWW5PMVJxTXYyRU04V2hFckxjZ2lScmloemF6M2EyR2F1bUwzMENjTmkKLXhyRVhSeUVqRmFPL2tscWtwdVpSSFR0eVVua3ZoVWtQVUh1SG40NVhQeFo3YTJYUnlyU2JGeXlTMGFtVGpRd1EKLUN2ZVNSaUpGaks1VFo1NkNWR0tGL0RtdUxTSGVUWTN2d2krV1hWZEtNWVE2Wmk5andGSm8vUzRUUnB6cCtEVFMKLUg2OEZyRlJxRTErcUlWeVdRam1oV3h1dlBocVZrRzBJVDdDWjBNOGxXZXN5c3lJNzU5ZjVEOERoRXAvS2JXTEQKLWVYV0N6Y05TYmdXR0hXNUpBK2ZDVjcrOG0wUHFvZEl5NUQ4TGh3bTJ0STVkQTZRY3JvOFgxMjdSV1ZhVnNOOEwKLUl6ZGYxVEhYZm5aSW0xZkRCTlVmaFhhcEtmbkZWOEV2QUxGWDJHeThNM2taUTNzbGFHZWdJTGZxUktjQ0F3RUEKLUFRS0NBZ0JnOHoxZ3Ixc281YjdpTnRGUXlxY1B3eUlzY0psZWlDUEZkcmtuaFdtUVNYYVU3K3QyZnJuQVNrbXQKLUdTZzBzNno0Ymw5ZWJ2VUxDd2VPTUpDRXF1d0c0T1ozeVBCWkx6RDkxT0hjUTYwbUZacTFaUVB6Z3ZNOThmdWQKLVR1ak1iKzBWK2gxSG9LcS9yUDFVVi9GbnhPQy92Ynl4N1RDTzFlUjVJbzdDc0F2MUQycTRORFhkYW9QeXNzaDgKLWd5c1dLUC9YcHp5eHMvLzNqUGNGdWhTSzl0YUNlbjBRRHNzeDMxVFA3S0tISmdUcmM4ZFR2MEVIYVpENDF1eW0KLS9TOGhZT2c3Rm1CK2VYdHIrMzU1Lzc2citRYTJBY2k3M3VnVXcyV0syYkEvRWRIcjBtV2kwTkdydkZmUWlpRDkKLW5jbm5LMTVwc0xjTVZrNkVPT0IxSi9vVVVzYThuNi9sUWlUSllSZkZsZjBocittYk1FZ2RmSW1NMlhuNHdGOFkKLU92YXBwOEdqL1hPN0ZWVmFXVzhkSVZVcmd5ckN1T3o1U1cxMVBiMC9LRmViek9ReXRTVDBTM3oxajU1YlVsNUwKLW1EeFIwckpVK2ZNdmJkSnZNZ0hnaTZZWUkxTUJiU0ZtSzcvVWU5SFphR3hmVVBCcVhKZXRPZ0FKbnVvV1VxTzQKLUF0cFliTGFJaXF2ZElEaTF4RjRqRE1HSW9PbDdDbkZ6VTlCM1BqQ2tYNGFHZEFScFhxUkFCd0ZUOWJwZjFsV2UKLURzRWhiSWc0L3FUV0tjQTZEeElYYURoZ1A5ZUg2TkRXUzZXS2I4TDFTWjNtTXl0amFDeEtzVjZwN3A5RGpKUjEKLWR3T21ZMEh2N2VCWWhqVllVajN5YlpzNmRmRmxJZytNNVJ0YXJsT3NGaFpKOW5WaEVRS0NBUUVBL2wwRkhvczYKLWs1YzE3MjZibHg3emxSbTltT3QrclYxbmJFT1NaVW55KytvWEd5WHJVWXZYNU5YK3A4c29GMEltOWRDdWlndVEKLXNkS05LNkRaQ0lheWVubnd3RW5jaktXSCtPOVZhaFh4TVM5Und0YVJETldKUngzU1A2YjJzNFQxVzZQVlpkVGQKLUs3TWxNQjE4MmNrdnM2N1dRMmhNSE5jS3JUSHVUZGRwQVlTRDVMaC9RWUQ2SWRXcXM2bHdMQXRtTDcvV1RrTjcKLVhkUGh6VmZDWExqZUJCcXI3UGFrTk05cUk3ZHV3MjlRcFNmbkFyc2hEbXZ3aXVWT0dWR0NjbTRxQjFSVjBzUWcKLUtRSjVudDlYNVZvSzJTTURSMkl6WWJxNUkvd2V4aUhJYnI0a1RoYUdvazU1bEdpQ05SamthbmUrL3JTT2lyWlgKLVlvMHNKM1JUVXJCTHlRS0NBUUVBNWRYUEFZRjdsQW8zWHB3bzBRb3U5SUZjMHF0aUZLOXBBcDBxODFEU2JESkMKLWxrWk9NbS9vZnpFNnZGNmp4amEyc2tYY2NiRWhJRHU4NzZtOTM3MHVSVUFBbWZpbUFkbVJoVWsrSnpybEhYeE8KLXRGU3hieUcwaUNtd3RDU1ptaUJjTWZ2RkovNUhlcEJoeGJVREJJYzZQaThFT2dqY1FkbkpZcjYwS0p4Ym92SzAKLXdyOW1ud3dhSzdTckUrbVg1dk4yYU93R3BHOW42MWliVVQxYUVMUjlhbE9aOEg0U2xoTHRadmdQMDJZb09DU1cKLUJLS2U0NGZiT2svcVVsWkcxRDZPNi9IL09NVDRUTXlZZ2Fzd3kwUXVNSFRqT0JYcmtBbVZTY2g1ZHdvMGVveHgKLWRGaG4zMW5GOVM1ckJadC9QZEJQUjNpbXo3VTZNb0JoNi84b2xIRms3d0tDQVFFQXhiT1RHUXhxT1BEY2NQN3QKLVcrWW91UWpLdnFLN1VSQTZKSUhZdFhWbXNMcGZ2ekFYMk1meXcrQTRFRDd0S0RhNGhYTHZWa2hxN0d1VVlnYWcKLTZlbVhxMjQvMjVVTklSdy90UktBdHZYYkE3bWR1T3lBelJMam9pemhqNnU4TUFmMWxJYWdoSWVRYURqVGZMUk8KLXFBK2hUZTFraC92MnZLdS9scUlxY01JdTBZa240b3dzRE1Pc3BzT2w3QUtVTndlZEl4dmQrL0tqWG1nakp6RkEKLTFrU3grMHFudW9SeFdNS2w0cURlTEhUR243ZUY3Qzk2SC9WeGZ1Ti9jbHBTSTVMUWcrWGUxdlN0Y25LRUNTSGEKLTlWNm84K0FzMmp6UFp2UjBsaTJOMWIzSVJacndLT21GTjMzN0xZaVZPNlBmVllsQklFTkNUem91YldFQW9xSGQKLWFYV3hVUUtDQVFFQXVNRFl1TE1uYmVlUWZ1TTFCR1VWUGNOSHBLblVIQ0N0WDBhTUlpK1VGeG1INFZqK3Z4aXEKLVlxUm1QTW92Q01VdXM3dm82eE9pTjFFT0hmSHJDaEgvUWZlakJDS1cvK0d2VXQ5L3NQVnMrL2pUSTY3NU93WnoKLUl3bXdXLzhYNG9lazFTRTRhVi9FZ2NmU2NLV0RtWDVDMlgzZC9mRGxiYUh1ZXd3bHNvZU9PankwQmVEcVUydmQKLUZja1R4TndBR2MwWUlGdXJNei9DMzdMSWw5T2p0TTRDQ3hqTkpEK1VIVU4xeDFJZEZxaUdLQ3R3MUtVTTZJWnIKLU9rTEhjQXlldnpyU2xPUmhiM2NXeWxXbE9vY3NvQmxjcitNbVRBMkM0TFJ6WjI1YUJkRVVRbmJuTk1sa0ptejUKLTdvK3p4RHd0V3JrN0lZN2hPUkxMaDVFZ0poOWt0WDg1elFLQ0FRQVpJTFNwMjFhelMzS3pLZEF2cTV1MktWQVYKLUd1bURmMWRvdU81bys1SGpWMktjZjV0a3pqNEExZmZWWkt0N2F1WkNOVVJBRzRqYU5JY2NTY1pCejMzRXRDdUIKLXd2UlFwNWY4RE45RVFINHlqYU5JYlBrRnJLemd6NUFZMDhuMTBQQm0rWDNjWTQ4UDI3b1IvSURmcjJ3VnRDQUUKLVV1ZmpMWkNrdVVqZENGRDF3SlNDajdMTndqWlVSdUNUb2N2dGFhN0hFcW5qVzlWQjRhQWJkdGY1M1dSc2JZd3QKLVpGRVdWcDhzWWM5MTdJNk9VSkZRY1Q3anhidjRrYlVBWElDTGFMdGFMVzJiV2ZkUnRGUVNvMDhwbVpBS3h4Q3YKLTZWdTVWTFo4TEdMVmtwaWU4RkVhWWQvODlnRXNIaDZIZ1k5THNKTjdXeG9hSm4xc0xtRXRteXc5eFJTVwotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhNDA5Nl9wdWIuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2E0MDk2X3B1Yi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3MGJmM2EuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2E0MDk2X3B1Yi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYTQwOTZfcHViLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhNDA5Nl9wdWIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNWQxM2QzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhNDA5Nl9wdWIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KLU1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBNUYybXFFc2RudFBBRWlqNkhmQ1kKLW5LaUxNR25tNlBjZnNhRlllRllPMUV1Zk9qTjVaSlA5MGNyM0NyQ25OOUpPQWRwQmJUcHpBMFJjSWNBZFdCenYKLU5OQXRJTXZTZmkyMldKWVZqekQwQnZzMnJDWUg3NlljNnZmeDd5OXpYWmNhbmg4Uy8ydDdCNjR4bXhPV0w0UkUKLStmOEhXVGlqQVdseVVGRGsrRHVKV3BRSzJvMGJoRTRTOG1YK3VVbDNhZk5XNUNpUHNSa3kxTjF2NGE3L0oyYjcKLWNHKzdwRFdVY2pudm1OQ044NHYrZ1N1Y1hmS2cvTGlBblpnWTd4aWgyZVBFaGtrSXFuNmtVMGNWQlFqMWNaN2gKLVhHUmFaL01ucVoyeStLaml1Rm90MnNhTmsvdjB2ampXK3hPeDc2cUpWOTlMdE4vMXF2Q1luTzFScU12MkVNOFcKLWhFckxjZ2lScmloemF6M2EyR2F1bUwzMENjTml4ckVYUnlFakZhTy9rbHFrcHVaUkhUdHlVbmt2aFVrUFVIdUgKLW40NVhQeFo3YTJYUnlyU2JGeXlTMGFtVGpRd1FDdmVTUmlKRmpLNVRaNTZDVkdLRi9EbXVMU0hlVFkzdndpK1cKLVhWZEtNWVE2Wmk5andGSm8vUzRUUnB6cCtEVFNINjhGckZScUUxK3FJVnlXUWptaFd4dXZQaHFWa0cwSVQ3Q1oKLTBNOGxXZXN5c3lJNzU5ZjVEOERoRXAvS2JXTERlWFdDemNOU2JnV0dIVzVKQStmQ1Y3KzhtMFBxb2RJeTVEOEwKLWh3bTJ0STVkQTZRY3JvOFgxMjdSV1ZhVnNOOExJemRmMVRIWGZuWkltMWZEQk5VZmhYYXBLZm5GVjhFdkFMRlgKLTJHeThNM2taUTNzbGFHZWdJTGZxUktjQ0F3RUFBUT09Ci0tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhNTEyLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhNTEyLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZkNzk4Ny4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYTUxMi5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUJPd0lCQUFKQkFMQjIwakpRZ1crYXF3SXdma1VybC9ESzUxbURhYlFXSk9pdng1Y2FXYUU0a3ZaTEIrcW0KLTdKS01GZ3N0YnNqNTBOMWJZOGl6ckFkbnRQWmNpUzlXd1E4Q0F3RUFBUUpBS1lmTmNJb0I3SUk2UFFtc3JoclUKLVo1ZFpXM2ZTS05BTlg3WC9BMUR3UjBEbEY4dVpucFdzV2JZY1JvWFg3UWp2ZXBacWM1NHdyeWhXNTVXbG02eUkKLUFRSWhBT0pJYUxqU3BiSGp6emNKUTdteWx4bjJXR0lsYkpQUHpKOU9hRlpDWlF2eEFpRUF4Nk9FQXZsNkpLYTYKLTZhK04yV3ZodGNnYjRxcVI2VUhRR0pRWUdKejVuUDhDSUF2Z29SNlNjQUFXWlJvT2NtK2M0REdNckxiNkgramkKLVQydE5Ra3pFejJrQkFpRUFtdzM0R1N0VTM2U1RwYTZSR0o0K3R5Wk42aldha0RWcWY3eCtIcGZGRTFjQ0lRRGMKLUt6WEl4ZWMydGF5ZTRPZUlhMXY0Vy9NaWdNbVlFOXc5M1V3L1FpM2F6QT09Ci0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2E1MjEua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9yc2E1MjEua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjk0MGFhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhNTIxLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQotTUlJQlBRSUJBQUpDQVRHMm1HRHp5NXY0WHFOWS9mSzlLWkR4dDNxQTFxVDkrQmVrUGRpV3ZmZmRKcStLd0NOLwotVW00Tk03RUZ5WEg5dlUvNm5zNlovRWFmTWV6MEtlajFZc0hEQWdNQkFBRUNRQ2RvWWp3ZE1TSHA0a2tzTDVBYQotMGtEYzU4bmkwY2h5OUlnWG8rRkhqVFZtUjlEa2FaQU5yd2ZWdllNSnhxWUNabzBpbTFEdzdaSkJVREpRTlhubAotWm9rQ0lSaVNrNjZJMjRBV2E3WEdVRnZhdFZ3WFdpMkFDRTRRRUtxeldRZTFtUTI0L3dJaERIRDFUQ0twcXVjQQotWERJKzFON0VIcytmTjRDZlRTV2U4RlBHaUs2cTNWTTlBaUVTcktLTGkvcTAxMVU0S2VTOFNmUjJibERjTDJjZwotWEZrdVFXcXh6ekxvR09VQ0lRbWdsNUUwK1lwd2UwemM3TllaRkRhcmY0K1pqcXhLUW5YQ3ZrMGlyTUhjR1FJaAotRVZQbGk2UlFiM0djeDd2WEpIbHR6U1RubzdORWx6QkRSTUJWVWxCbVZ4QUoKLS0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYTUyMi5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYTUyMi5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4ZmJlNzAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2E1MjIua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1NSUlCUGdJQkFBSkNBdE1DZFQ0OTJpajBMMDJma3Noa2RDRHFiN3lYd1ErRW1MbG1xVlB6VjJtTlpZRUdEZjR5Ci15S3VZMjB2Rnppck44TUhtNUFTbldoTW9KVkRCcWpmVHpjaS9BZ01CQUFFQ1FVMDVmZnhmN3VWZzc0eUM5dEtnCi1xQ2E3NDZOcE1oM09NK0haclV4aU9YdjBzSk1SWE5FUEQ1SE5MdGdjTlk2TUk1TlliVXZrT1hrdG5GWnB4V1lQCi1USDdCQWlFZUZKR3M1WjZnUmQydi9JYllMTUZESGdqcWhvMDRJTkdUT3ZueUk3bEdWS1VDSVJnSk03bW9GdW9NCi1VcktUbUpLMXVPemF1V0V5a0NLZ2M2QkdINlRHWm9FV2t3SWhCelFuMnY4MnFPMXlkT1lHS1JrMncyc2ErWWQxCi1wSDUva2tIcWYrbThRaktkQWlFUTllVlcrNEozMHd4RDBKeVg0YjFFL1M1VXBONUtZTmhXWDBVUys2RDNOQnNDCi1JUnhlUHpkUWx1dFpXZzBDbmt1M1FFMXRPTEJDRmxQN1FWVmw1RmJLY1k1SDV3PT0KLS0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYTUyOC5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYTUyOC5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkNDYzYjUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2E1Mjgua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1NSUlCUlFJQkFBSkRBT01jSkcxR1NGbUVKaC9SZE1xejFEVnpSR0F1elhrOFI5dmxRbExUZTdOUXZHTkRXYkdWCi1GVlFnZ09SeVNrdG5JcEcrVjhka2oxRmlucTd5Tk9oSDJaekdYd0lEQVFBQkFrTUFzV1l5TGdsUVNsd25TNE5aCi1MMXo0emllVHFXM2xvbVdyMitCZ3hrSGJ4bDJ3MFJ4NEwrRXpwK1lLNm1odElRV05rb3l0UHZXSkpNUzdKcmtnCi1hZ01BSFFKQkFpSUErRjF5NUdPMEJ2K2lnc05MWHd3dGJDcXM4aEFrYXZVOVc4ZWd0L29EYmh6YkFpSUE2aGRzCi1QWnAvczFYN243ZHdmbWViU3MrM3ZMWkZ1UWZpZk44WFpMdzBDWEhOQWlFdUV6Z0RRclBkTUlOM2VyOTZ6SW1JCi1yWW9VQmdhYmlROXUvV1BGZmE0eE9VMENJZ0REWUMwODlUZmp5NzJwUGdjcjJQa3BaVmhxcm81ZXNnLzhQSTVmCi15eHg3VFhrQ0lnQ1lvRThZNUl4b210TDF1YjFBUXpQZTlVeXlVR3pRQjF5V2VpbG9KaDZManhBPQotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX211bHRpcGxlX3Nhbl91cmkua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfbXVsdGlwbGVfc2FuX3VyaS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4YzM0OTIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfbXVsdGlwbGVfc2FuX3VyaS5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ3hjNXE4ejhYUjZ2SDIKLTFLbzI5TWszZE9LcFNPclg5VGI1SHRtQ1FNb0tJeG5UVVFyTmtWZU9RdGlRdDZYWm8wNWNiQTZaODdrV0RnR0oKLVAvNUx4b2ZyeDEzUnAxeFp6WiswQUFQZnZVQ1k1dHpad21pY1FXdnU5c3Q2SndUeWFMVEN6U3QwY1BUVXM1SGkKLWhKdDlSelNXNkdUazVBTmpqZ29ld09NaHdoNWY4NEpSVVJKMklOWmp6NG5hbUJHZS85ZjE0Wkh4S1d1eGw1aW4KLSt6NTgyclNFaExYclBMYmFLalQzSnBoZmY1MXhzdXNDK3BQMHhOcWtBY3JHSisvSmswVms2Q2xSQ2Q0MFpjVEIKLTRTa09xc1o4L3VHV25yYWRrck43NFBvTU1uU0tLT3V4bHNWTVBmek1rcmxNYnVhek80bksvb3NUQW5vU3FNVXYKLUNPQmRYa1R0QWdNQkFBRUNnZ0VBTlZsVElRYTZLM1VlRDU0NkdsR1htUU9jRFZidHU4VnVKSkZneFNjalZzN2MKLXVjbzRuRHJnL3RVYjlNNHhuMi9ZWkRMY1pPNkFLNkJFVi9ZVVJzWEdJVjJMMkRjZnJhUURLb09DcHFab0lFL3YKLS84dlIxWUJacWJzcXkydWxzaGRHbVBaRDVUcjhjR0lZTHVpOU1ublExcm5CYzRzVmRiM0RUeUdnWjRyTHhQNlgKLTBCb0h3K0xRQTB3d1NiRS9OVzcxcW1lRFNFRGtTa1VRSVNWZzZScDA2VTBQWmFKQVd0WW9CTktHQXNER0FoamMKLXZWVFhFNUI5ZCszeU9NMEluQ1dGc00vYlV2YVV2L3l4eFRjWm5WcTlMamkzS3dEaHk2M0Y5OXBVYUZuVjZSZjIKLTNDS08zVkhlZ1dTd01jbllhQmJ1ZkRxV1BIdUVEU2xaMG5SaHJicktSUUtCZ1FENmRRZDB4UEhmeEl6NWwrQUMKLTFrUEhJc1VLUEVpcnJKS1RWSGx4UXdUMHlWcEQreVVrRjk1SFk2TmdIVkhLblJQOXFpY3FyM3JhSWZBMDFWUWMKLXkrbGhYbzZ4VUFxWXNLdkI5bTRuakVSRldNVENWU1ZVMzBLbGhpYy9zNFIvMWFiS2x2a2F4MVNpUUZJUlN0cUMKLW9uc1owTTFJc3c2OS9JOFloYTNtenYvZ3Z3S0JnUUMxWVBYbmQ1ZFptZGJlMFVpYkJXalU1WDZBUUd0K294TCsKLSs2RVAzRWZ1Um1ZSTNpM3IyYmRiQjNFTGQ5NWY4dGdWMFVhZ21qUWZGb2lnQnN1UmZiaHJRRVBTSE1CV1lwQVYKLStUWkt4VXZtcEpYd0xFZ3hjUHY3VlRUdnh3MHFMMXUxcy9kWDZXQmZFT1VnVnpQZ2NwK0lKR0VyMU1aZWtUcXQKLVA2NWNvRHBaVXdLQmdBbXJMdWlCR2QxTGx5MmpnVkJhdVM4YzFvSjRwVTJMVWZWQ0U1WWR3ams0OUxVZkl1WHIKLXpmYnZqOFVNSExZM3JpZml3N1JRSmV2NTEyNFN0amFPWUtvVG5tcVY3bkxLanpianJvajBUMFptRU9KM3F3TkYKLXd5cmtyT3Myb096V2NLUHRoQnhXaVp2aDQ4a3JISmhpY1dJanYya0pFSTZoQzEwaysvdW5EaFc5QW9HQVp5UmcKLU1lUmIrT1Ayd0hhYXB5MElWQ2k5S3dsM0YyaDhvT3RPeDhvb1RXTlRHcS9keFVUbGM2cGpxblhieXd3NXZRNW8KLTcyTkJTSHh6N1N4d0RxaERleG5zZDB0S1JOVi93ajhabEtObGFoOGw5Skg1NjhPb1IyQkkzaUYvWndIUFVTQ3EKLUF4Ly9ZWkFsKzZJYktnT0VuTkt6UDAyY0VLTGRqeStyWTVqcUZXa0NnWUVBbUVsNG1nMUlHb1ZETTZkM2lJUFAKLUpMejVEZ2hWOGtQKys5OXZGckp4MDdENmUvdWh6b2pSNzNZZStmcTY5VnkweWpHWHBhUlB3d0hmdlB6REExaG0KLWlyN3JKV3NiYnNrUitpVG4yeUt2SXBCMXdCSTF1MFNRNGxuSjFaSVZKUFZsaDR5QTI5SnZQVDcvNy8yblEvczYKLXYwTjJvS3JmYWlLYzdCakN6M2VZVzRRPQotLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMTAyNF8zZGVzLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfM2Rlcy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiYzg3YzkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMTAyNF8zZGVzLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBERVMtRURFMy1DQkMsNEEwMDRBODVBMkQyRDYyNwotCi1MczN2TXNsdW14U2VCUjRvK29uY3EzNTlxMGswckRUTzVGSUZ4Y3c3cHN5NmdnZDlWcHIzQWRJcTlxdmV2bXVCCi0ydDFLdGxjSG9JK1dpK1BrcHVrSENwQ3ZNMEtqdTE5UFF1TlN2bjZlRnRSOVZPd2drNngrajl4OVplWnAwUWtzCi1CZ3NHekd1YnFkTjN6ZTdDRXdZR002Q3ZWcG9QM3FOQzloUjZJb2daOVZQVGpaMHZNOTJjbTRmb1NEU0FCeEd0Ci1RMzdiTEUxT0tPZmNDVHZxeDcvcis0VTVaNDdva2VYdk9TL0hmN3l6YXlGOVpIdVMwaENyK2pHV2w3cUJXTnlFCi1aZTdJVFExOVJBN1lTMm5sdkN2cS84cmZkdVFzSnlaVFYwZ0l1bHRNM3RaOXFOd3IxaTV5cDdJcTRVNk84U0dDCi1jUi85NVIwWjhQTU4yRFNYb01KQnNTUmJLMzJyMkdYSm9HanZnKzRSMFVvVGJjMU1oVVR0c29jbEl6OThsc0hrCi16VnhnUE16azRtRW1RR2FLVnAvd2ExamkrOWpvVGtjdjNjQUxIeFR0TmNFL2RFbEFIQllqako3cjlWNHVBdjN0Ci1qYXk3UjhTSVBQaDdpeXVZNE5UdERBNW04eXlCS3Q3djZLNWhiMldoVDRhdWNXWEhZVGl6ZStUeFNUcGVraHJHCi1KMEVFejV6aFdzckxoWEhWMUtjR0RJSFZYbE1udTdMQ0d5Vk5GQ1dLUkJYSWJaYXVqZWQweHdXZ2pmWEtia1lkCi1NS2VQWDc2ZzVPeUtGR0djdjVLVWtubFFKaG9SRWxyU3o2cHl3YnB3a2wwWHFjMWR1c3kxc1o5YjVVaDZ6ak5jCi1yNXNCdmoxazdpSzI3YnpkRXVMMUkzREVjVWRtWExORjNkZWhObzR2NVdRTDVpQmVQTG9GU3h5TDhFSmtNUU94Ci1mcHdvdXRQekU3bDcxVG8xem1FM3BtRmRaYkVYVGZqY2Zxa1J5OWI0dDU3Z1V1bzFVRWhZWXhvQjBEMGkrQmtICi1UMFptSmw0UXAyZXVhYU1xWVlOMkU5RkpBeXJtcHdCTXZ0Z3M1b3ByWFJSNmdlWndlVCtKOWc9PQotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfYWVzMTI4LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfYWVzMTI4LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjc2MjkwZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8xMDI0X2FlczEyOC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1Qcm9jLVR5cGU6IDQsRU5DUllQVEVECi1ERUstSW5mbzogQUVTLTEyOC1DQkMsQkYxNzZDMEYyODRFMkU1RjNENTBGOUM4MkQ5Q0Y5NTAKLQotQVMvMDNydlROWVNzUHpxdExyMTNqd3JTT1ZhVFVZbmlNemo0Mi80cHNLVlRtckk3S2FpdWpzYTJiakk1QWU3UwotSERBdW1WRGRSQ0RPL0FWNXFMN2lKMGlKK1BxT2g2YUw4OVBrdGNZamtneDZYSzhGRE9xMXdsK2RQTGptcnNZbgotb1J5UmNFbGxaaWdCWlJiWXBudUtaT1EyNXZuSHhHZVo1QTRkTG0zelVYb01uTlhzMWgwclBEaXgvWWQyQWJUaAotcDM3MUFjNkxDOGkzS2xPSXZqbHpDRmFPV1FOd0NrZmZ1dFhEYitUTjg2eEY5K0RrSjBieEhoV2hIdmY5K2ZJNwotWEpGZ0xBZUNwSVVNQ2RoZHF3VnFyNFk1WDBOQkEzc3BtZnRLNGlJTG4zMitSSGZMQnNoUndvbXBNRDFtbzRKZAotdWVFWTJQNTd6N2ZOeGVDYUh3dzdyK09VZFpieVNhdXVBbXdXSEVvQTROeERYQVg3Yy8xL1BvUEtPSThZMU9QQgotMDBiS1F0ekdFK0ZTSlFqUnpLL245bUlaUUZTMEErSDU0RVoxSXUvb2pUcEV6bXp6RTBUUis3NWxaeWZxYWY5RAotQmhRY3lqZ2t3bkpwSjJTK3Uvc3NKbDB2cEM0YktHcXMvcjNlV21MSlFZdlp1UEtQcW9yQ0FVYWIvdGErZFlmaQotZ3hEMURqQkNkb3NiVU9vbElzakpmc2VqU3VoRVF1bHBhSTYxRFdlTU1hcDVVdnpmWkxMclE1a0p1aWJpOFhxTQotb1Fpb2VuWGY4Z1BjL0ZPRmlMQUF6TEt0TmptQWdENHROZEEzZXhta0h3S2o4ZHMrSEhTLzJGbUYrb0oyTFIzTwotdG1PK2NvdjNaUmVPVnA3d3pSNmxjdEcxYjJXb1ZSdTNrend6b09paytTRkJuUjF2NXozdUVnZ0pWNi9jeWZLbQotVTNLemhPa3JnaE9qb25BcXc5K0grUTloTE84ZDc2Y0RBd3lEQjNLeExPOXl6ZHB1a0IzZit3UytSZ2FUZHJ4Ywotb01TaVhrbHNPOVJvOU5JWXpZS0FCalExdERMZVk4U09PaWRvTEpyclhsdEpOREtaU1ZMUjNlZHlrMXJaRUZYZgotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfYWVzMTkyLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfYWVzMTkyLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzgxOWMwMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8xMDI0X2FlczE5Mi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1Qcm9jLVR5cGU6IDQsRU5DUllQVEVECi1ERUstSW5mbzogQUVTLTE5Mi1DQkMsQjgzRDZBNUQwOUUxOTIwNDQyOTlCOUQwNkM0MUJEQTcKLQotRFF2TnZBUWZsbVNoSC82YVJvcGZLcGRLQ2VyUUJBZjRSWUM3K01aTFlhVXhYVXVVekZ1SXVVeUVtTmJnc3ZueQotQVJmRnRqQ0wwN2UrU0dKMzFoZFIvQk04d1dndjN2NVA1K1Z5QW5kNjR2VVAwUjJtRmw5MkNaVnh6Y1h3MlRBZgotUGJ4RHJnbWlGeHY5V2ZVc2EyYURrRGhRaktZYjRxbEx2MVdGYzFVTTY4akxpTDhXNVVCV0tLUUZuQ2l2Y09SRAotR2xzR1RTeE1xM1lYVzBRUVE1eDQ3LzR1V2FYUk9Mbkl1Ulc3WlNlQ2kwd2dHK1JrQlcxeVVINnBsaGhTYi9BYQotRW5IcXNBbENNWkRMd3JrZ2VTbm1zTVNUcGJVY0NLZmlabUpCNXNKZUpYM1JWd1o2bDA0TUhNQnRXaDliNWZJWgotNGllU2VESmZIcXRVZ0o5aWU4SmNMSHVOc1V4dTVDcnpqdjZ5dVo1c3U2UCtZU01zTmhIdE9CVVhBYVN1blJoMQotMWJydzFlRzdFNnFDblJZcjdZeXZ0S2hwcERYTEhmNHNCOHRkdW1UQ0hoQmR4eFVkNDkrU3JtWThwem5rTmpBegotWmhma3kwL0dLZStmVFRNekhOanR3OS9xaGowTmxsVXBBNlN5cHRNTTF2V2U2Mk9rY1FZU1llSDgxYnRkUjIySAotS3VieDFpWU14MmhyNmRzdk0xK0JXUDhDbXRENndGRWhJTUJOS1ljZy9BV0hBL05NcGQ3RTJIVG12aVhCZEVWQQotNHhNaDlmVHgwY0o5WW5OQnVWZ05OUEdTSkpMYTdKR1dkZmRDVXBUWTZTMFlFdlRRdysxbGV0clZiVzN4dW1XMgotVGsvRy9kUzB0NDFRSnVhVzFzdjlEa0pKY2wxNjk2UFNJNHlzREp4OVk4THRWMStEenZkbHhTeUpkZzNtSkhFTAotcUM2YkN2ajlJaGpMc3JURFdQdXdYaklQbDJ5Y0c1Rkd0QW43OXBKaGxESnpLSlpLc2J6bVFKQXZENWpqOTlsNQotWmlKMVVrbVZkc0ZlUUx4VTloc0tEMkN2cGw5L3RkaFV2TGFaMFVQbDQzYzVYYUJTd2NUOWV6dGlMVVhHaXZ6YwotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfYWVzMjU2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfYWVzMjU2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQ1MGVjMS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8xMDI0X2FlczI1Ni5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1Qcm9jLVR5cGU6IDQsRU5DUllQVEVECi1ERUstSW5mbzogQUVTLTI1Ni1DQkMsMjhBNTZFQjEwMkNBRkY0OTRCRjRBRkI1NUM0RUQ1MkEKLQotNXlPWGJ4RERnb21KdFJGQzlpQkw4MTlkVS92Q09lMEpsd2R5UU9RYmFnZDFFZmo3b0Vyck11VlpKT2wxOGQvbwotMkc2T3RqcWx5bnpvZXFrVHdFMHlKRXlSTUx6NkNJWnAwd0hHb0RNeVQ0T2U4NnVHaDNraTlacUlXbGd4dCttQQotN2UxUkFwRm5aT0N6bUhDR1pOQ3FkU05VVjVHL2NzN29yNkdkOUh2ZEtTQ2R4ZmZQcHRFNkZhYVk4T1g0NzM3UAotcHI3c3Z5bHA1NjlTZWN6Nk1PMVJkczdlT1BFakFaQkp5RFNhaDJBTUlpRU1KeEdyWjY2MmlGby8zUzFNdURPWQotL3hvREh0UC9WbzNlcDZEOEZwMjRQZUo0L2lvY3U2aG1oQUlPNGorekxONnVvdy9XdStEOGtCS01odHJVdG5ITwotQW9QNnNqa05Pc01nN2ZiVEVxVHJYSGtPdzkyUGJaU0Jid3NnQjV6NmtLZVRDWVZEQkhVYUREbE9UYkN4dyt0OAotUEg2SU9yUVhVSVBsN2R0MmlsZkxqcWd6cHc0VCtSQ1lwMXhnTTFaSXNvQ3NwVXBpem1NVFB3dG43ZnVJalVIYgotY29wQmpMT1Q0dFV4N2l0VmkydFRBTXZ0aVc5bXJIVkk4eGdwcVNpVHoySGc0dU1DRmx4a2dscndwMXlJVUNsWQotQnRNR0w3cUEvbC9nbWhIUllEcGt6Zitld3VUZU9JbXl5ZkVuQWF3VlQzK0c2cDN0Zi9DczlSVmdVQ25DckZIYQotL0J1WWhHVHRUVitSNkY3KzN5UmsvWE9ScDlSM0s0QmJnV0hIbWEyZEIwellJRkRYWXRsck9EVXlRMzYyVHYxcQotSk5GaXMyUGJ0TkI3RFJLckIvS3R0ZVd0ZzMybVNhVEw0NDZhMEhDRjBWcEZCL25xMHdFUEN2Z2hlZDVLWUhTUgotUHpvZWdtbmprRGlrZ2lkNE8vUmhjT0M1K3FFeWtOYWxkZGhRT1k2Q3hKRXdWVEF2aUhiUUF5VzNlUDFBbklhKwotK0lmYzJvNjdpNTdia0xMbGcwcHFISVRsejErZzdTV0RqN0FpeDJZNjh6V1pWTDNuK2Uvd3pxYmRZcU1WeGlHegotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfY2xlYXIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyNmVhYzMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMTAyNF9jbGVhci5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1NSUlDWEFJQkFBS0JnUURIT0pMRncvUndFQWhyK0JNMTdQTUJISW9sRDVXQ05oNnFIcFlTVlJxcytIdDFNd3R3Ci1Wek9jMlpYeFRVeEVOOGkreEtBLzVHUTgwL1BKQWtNOXczeGJqbm1xQ1lTdWdoTTNDcitGYWIwcU5XSnNzZjdrCi1yT0JDc2tGOGUrU2RKeFNiTEFkcmprTTlQMngyT2thYUhIQU5KWjI4Q01kQS9OZ0NOMkwvZmV2OExRSURBUUFCCi1Bb0dCQUwyL3Q2UWY2UERYaEgzNTBhcGFIbllmamNDUTRGRWVaUVNaajB5MHZHeWxXMG1jcmJkNWh4Sk0rQkRXCi1FOThoMXRWRWlIRnlncnFoRWlDUlJDUk96bURoamxQVnlteEJYUCtKZXY0eGVWNW12ZjJQemd3T1I4TVRkYkZvCi1kT1NJNnQ5YmhwQ3lwMExuOGVRekdYdHVXc0g2YXJKc3lKSjlKekNyemVJNDhzak5Ba0VBK2xnR1NQTnlXSFpXCi1FMHpkdHpudkdwaFlLUE11RFVUR3ptMWdUWjBvZXM2cWpyNE9BOXJEM05UR0hWVzFGVkxxNjNsZVRpcUs4c09TCi11SmR1SWF1VzR3SkJBTXU0MjE0dHloQjcyMEJ1TEg3dkQwbUNLaXB6RDBjRXVBZGYzTkVlbDNLWnhuSEQ0QUsrCi14ZWlFZkZDc3RNZzV1TUNOTGtTaEdqTVo1ek5mUklxeGZhOENRREpqVzBoOXI2czhqbEN1TFFZL0kvQS9iNmMyCi1Zek9LZjFWM1VHWHUxd0g0N1AxMEpaQUREVjg2ZUhIWkdXeWtWdUowZUZYVlhFaEdzeFp5YkZsY2x5OENRRGV0Ci1LczdmWnNVQWhKaGtRK2JoQU9XUEhHVURreDVPck5qZkd5TlA0QVlpL3JnaTF6c0kxbC9JclkwQzFsbU9aTzdDCi01dTA4dGtOWEJmZmxSbjg5S09NQ1FBd0NGZ2JacWQvVkRGeWVtcXdNWkFYcCtZMUh2R2VaSTBwcjN2Qkp6TzNXCi1PdklhMEtja0o3OTNValM2SWlqZm55eTlwV21LSkxkS0VNZS9BdFNSRGkwPQotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfZGVzLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfZGVzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVhZmJiNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8xMDI0X2Rlcy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1Qcm9jLVR5cGU6IDQsRU5DUllQVEVECi1ERUstSW5mbzogREVTLUNCQyxCMjNFQjg3MTEyOUREOTJBCi0KLUY2UzF4TEpuK3FjL0JWdjcvMFJqeWtVVXF2TFIxMk9jQ2htT0ZvM2hib0M1b21Xcm1QemhoeTFJUzlYdVZadXkKLTFnRmlxTVF3d0xjdnA1anRNdldUdzJrVzl6S1ZjblJpdXpsYy93VjA3YnBZUzRZVjdjaGk3YUdwMis1b1VodlYKLUVhOUhnRlFieDZaWUFSay9iY0ZwZWpMc3B0aVVCdTJnTnl5NkZDK0J3b3YzNkg1MXkrZjN0SklsNTFJbVduR1EKLVIxSE1EdEx1ekhUYjMxQ21XdlhDWWYxNElUM2dvd3h2cE84c21hcW9ZT0l3NFhlU3pwckJLTWdxWEw2OS9xamsKLStldDRXNC96RzBwNVI0V2xLQmFSZVhKMkM1N3h2U1RtYmFxYkNqSVlyb3NobFBvOWNzUEF3RnRScldpNEFxdjUKLWo5T0VMbVp6Z0s3NDVRbkwzSWtxc2pRdVMrTHVxZzhzNE9GaWZjd0JMU1ZwbzJwV2hkSm5LazQwY2FpOFFMcHIKLVN0OGUzQkhHWlBkeGFjQzA0Y1RjOHpOOFhyN3I3NmxaN2grcHBrc3gwdW9UVjJVMCszY2FNcXl5Qnl1RjVJZisKLVJVWVhPSjBZMmpVTVVZZGlkM2srQzBibjVWYkNoRkN4bml2MTBMcEpaMjROdDRSS0VZeSsyVmhJUStGdUFiUS8KLWRTTUpkcUJQNFRUQnUwRHpDbXFhR3ZnampLTFRGRjYzNWh6UCtjRnZhRldoVk9ZMnY0dGtWKzR6a3ZCVUt6c3MKLUVmM1p3aERzZXM1Ni9LVEk1NEdVSnFXeE5LK2ExZWtvcjN0cjFJVU1QemVhQXB6VVNSWHVzVDYyUU1CT1cwcTkKLThsU05jQXl3dldybGNaMTI3SjJ6Wk1yazBTS28xak5OellLV3QwZTlYcHFNV0FxMDdTbFVMME1KQ3QvS1l3NkoKLTFlWFQreEU5SDVGRVp2UWtCRkNIWXlBeXE1NFAzeXJXVjl5MDF4aTB5M3J1QmY1MGk3ay9JckF0RTljMUZaZGEKLTJoNXFoMEdOQUVpR1JyOGJiaDNBM3d1Z2lkd0FWb0hRZXVNbkFzU2hmKzVnajhOcDdXOWtFUT09Ci0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF8zZGVzLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfM2Rlcy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjN2VmM2MuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF8zZGVzLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBERVMtRURFMy1DQkMsM0YzODI4RkVBOUJGMTk3QwotCi0zMGZnTVBFSUtFUjJWSDY0VHNZNWxrOElDZFAwcHJjK1VpVy90amJRTCsyQVBwdGlyQjVTRFJBdHV3VHZiRlJjCi1EYTk3enJSd3JoaEd4TlZvYkpoaGZmUWx5QjZ2aE02aDVhcTlkS3dEM2F1T1ZGb3NPbTB4ZGlBQy90ditEcUF4Ci1ESVpJaFlVQjVJZWxlUTVybERKV29SZVVlT2NuQitkN1ZQK1psYzFsN3pETXgvM0ZnT3lPaGxxN2R1Zk5VR25ZCi1uMHRaV0tJdGlWN3JPWVdUamJEdTc5QnBHNTJWeUhmMjE3ditEZURTdWdvbTRGSVdRUytYd0lLZzd4dkVueG4vCi12WDlwZ2lhVmZYbGZaTGZVTWhLSVArYXpPSW01QmRxQjJya2xDcGExNy83YVE4Z1FpZDNxb2xPTU9iV2ZuQmNyCi1NV1kyQkFxN3FTa2ViUHlkRUxCK1VMZ0dQMkY3WGR4NDFSZnNBcThSTnlWSVR4MEcvTkRrWUVMeDAyTTMwZjBHCi04RkdBUDlmdDFtNURNQmJBWUJVaFpIbFNGWi85Ry9nV2EvVnNrU21qbmlxODMrUk8yNGZYb1R4WVV4NzE2ejRTCi1ObURWNlFFdjVWOFpnTHRzcG9DMDAzSDZGV1RQWHVEaW04VXV3SmVHSjcxOWtYQ2hUMmltTWVBVXBJVHVvQzgxCi1lZHYyWWY0c3FBcWcwRXFGbHNXNlNkLzFrNytHWktmVzBMZ0NSdlRhcVlvWnAwZXk0d3hGb2E4anF2ejY3aktBCi1ING55d0YyZ3lmMTd3azhDTTAxZ1hjR3lweVFjTkhycXE3YWkrUXIycHh5dzh4TkJJejVQZ1dtSiszRXRlZjBHCi1oeS90SGZRcWdxZXJrL2doaUFuREpINHBjMDQ4QmpGZFhmb0lyL2dNR0RNNWFIQkRKcFp1RUFtaGdDOFBNRG1WCi1Oakc1VHh6UkRseFRIMWRLREk5U2tNdWtVUnk5YVlZVkpnbTBSQStFaG42Tm5oWnJkU2h2Mkc0TXNMbUVaU3NtCi1haWs0bDcxTmxEWmxBSk5ZR1lpazdiWEkxNk91OWNmVTFKTlQ5K3haOE5jWUlNRkg3Q1BSUGFUY3VXK1Nnc2FNCi1QN3dWdzVyVVA5K3JQd2hjWkNsZVJhUjJ2a0Q0TVJLNHI0K0hxaklwUHpsQmFnTzhGSGI1L3d4aGJSWFVRckVXCi1yN0YxYk1hMFpseElHUmYrVHEybUxyMHN1dUwyUmx2dGg2V2VWVmkrSWwwVmxsTzg4ZTRjd0EyRWJQUlcwRysyCi0reXVPc2I1UFJmNjNCRjNGRlZoTTRqR3hZYkMrdXVHZzBxQy9Sb0k2MEErMDk4TWxKWlJvVlY0cXZ2RjV0T002Ci1QSENxc3hJaWpYSHA0L1Z2ZnUvL0U5M0F0VlNuUHhibFhzVUlZTHg3OE5YTU1sMWovaTJQSEpwVHZ4aEdJQ3dVCi1qNFdVS1hUL1RRSVNZcmZOaWFxYzUyMXZxMU1lQ2VZUmk1Sm5JTHh2TXo1VUpJUTVlaFVRSjZhRHhOME96Wms3Ci1xR0ZoS0Q1SzkxWDJBcG9FNmZxMzhmeFlraCtNTjNtakQ3dUJBclFFMzdUeHREZFgzK2w3a2N4SEFpSUxRVWNTCi1USWU0cVl1eXhIenVTbHQwN2ZrVldRZzh1a0RkSFlCeS92TDNIakRqK2Z1S0FUaVNYYk9MUDNzNVFnQWlaUXY1Ci15emxqR052cXRhZ3hKTVRqSWVEOFNVYmcya0Z3UzZGUjdxNjdTNTdqeXlpa1NrZURLRlhqT2c1NlpiOGdFb0JVCi1ucnpUa0xJQ250d2RacUZwSVRrbEdmRjN0WkRJV1dnYllaTXFFT1ZrK3U2V1FXdityQmxYZmd5VzFVYm1jZ09QCi15b2lKUlN2cXRzVndZNWNTeXVpWmNtNFB5NlZNMzNhZDQvZmQ0RTlXM0hRTC9heEhmZFV6TjNZTUdPc2QvUGZPCi1BZGdHbDgxK3VJZ3R0RE9qaitYK0hGMTdncTNqWkE0MDlNWkV5eUJYRUkxUVhPSkU4RUtPVm56akhkK25PM09aCi1HbVhZV3ZlZXlNVXJaYmEvVlZvVkI1Uy93Wm50TDY0R0hkK0dxYVhTdUVnam1xWUZUUGdzZWhDVVlvSEh4eGVBCi0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9hZXMxMjgucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9hZXMxMjgucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Yjk1NzhlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfYWVzMTI4LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBBRVMtMTI4LUNCQyw0RDI3OUY2MzUxNDJCRkU5NTJBNzFFOEVFNkQxNEIwRAotCi02K3FXMFhVdTA2ZVhlMGpqU3NtUkd5U3UxS1huRWpnKzY4MnNVYnhPay8vMllpdGFNeDh3TVFxUlF2VDlVdXNwCi1sVzd0WU96NDd3aXoyVXJKWEtvOFJ4b3czQjM4d1c3dndqaC9YYXc0bTZEbGNJRDhIbzN1Yk4xbjlPcjlnb2k5Ci1LZzNOWXRySVdhYzVuanl3RnpmMTdUSWx4bWJIZzN3Rjk4YzBiS1JJbkJHWnhWY0V0YmNkUmlNMFpTc3Q0SUFtCi14aTd2RXdISHlvN2QzY0JKb0l0Si8xa0VMcUhtd0ZvV1pqMndsWENWRUhVVTVwRmZLNVdZN3VxNVA5RlFGQm1JCi1ldDBJZUNDZHlzWnlSbVM4WTZCWTVjV3YydTltY2NJdnZhelFldjhIM1c4aFEvTFM0MTh5WWVucWQ4Q0F1dmN0Ci1OMHRUcFZoVitqWHhQd1YxK0YyOWtwa2J1cm5IcmJETitaVUlWYUFkZWEveU5NQytiY29FeXBucFQ2RDFtMmlnCi1vdVY3amVjSlNPeGhhRGg0aDFKY2NSNlB1MkRPV1REcG42cHhVckNJbzQrMmxWYkxYT2VEUzhDbGhGZjVWelgwCi1EKzVaT0FkbS9MU1FJT0JYQnRxT0oycURCSklOWmdwUWxSRHZvOHdESGNoc2xEQ2hUTktkdnpqZ3IvaHhkUGVFCi10QWYzM2xYUjBUZ3FYMnZod2JwanFNWDJaaSs3Vkw4eWxjaldJVGRkZXJpTkR1ZURweTdVTjQ1ZiswRFZoTmZUCi1KSWxldXFObDA5dEwzNHVudWdwTStRU3pnSjBvZEhwWjFWWGtyN3pnU0ZPWWF1Ni9kcmxleFM2MUtYc3FrNngwCi1ycytuOXNzZ1ZxUzNIQ25lMGw4STRWT2VqdXRCTEFWR09Yb3o3RUM5UHRTK2lZYXZldG5FY3FmNFNCUEhpa3JuCi1qNjd4L3d6N2psRXNTQ3lZQThTZlBKWTF3Y0tnZkthU1UrdzJYeEFvNWJNQmpiM1FpQllSU3ZiNjdxK0R0TzhLCi1oVW5aTXFkYnZ6Rkl5WGZQNC81V0doQmU3aG8wZFFydFZUK1BjQ3hrbk1NUStreVFwK2YramJkZExDdmNLUUZhCi1EbHZ3NFhwTVI0RWUydWtrYVdwWEFjNkVTMzAxTm5Yb0F3bHZLQWtUaGZSREh3R2NrR2ZpRUl1bkVaTjVsMVRLCi0wWDF0cDIxZ1VaWUUrbzdTWk5JOThTaDJDanhJUVNLZEEyMTJoSTNBKzJtT3dxQk5vWmNvREJxcnZkMmNDb05SCi14REE2NWVWOGw1SHJEQXRNSEh0NXdUSHpjZk1pazFDVEh3TDAvTzhpelFIK2ZUSEt3OHhSK1ZFb0diYlFSa0FZCi1QSnpNdmVoa1ZrYzdlNEsyMm5YQXMzOExBUlVXMEQ3N3BwUjc4VlYyZC9ENUZDSVhyRG41OHBpNFJqam5RT080Ci15b0d2NHNuTGhuTXE4YllRNUVuOTQwM2NiTUNKQllwNGd2QzA5eGVOTmtMNkVLb0JqcHVwU01yWk5uMTlWc3JPCi1Wa0FDamlmaXR0dzA4L2c1bmN1QUFPOThZSFFLbU5QVE02cHk3MDdkTXM0TDVqVE9jTEhDcW8rZm8rV254OU54Ci12N0ptV051RndmRytnSUJJWUlLbVcwb20rcGN4ZllNc3J5OGJ5SVVHTmo1U25hR3RsNWtMRDY3THIrTExKd0JKCi1UTmJHZDhhdUJWdHJvSWpkR1Zudnd0UzFvTTZlTlhvZ0wrK3NEN05CWTVHZEp2T01WUDlYMFZqeWZIZCtieWpMCi1TZlRBSnE5ODZkU08rNTI2Mm1SWTNmTHNLQ2VRL3F1SXZ4R3NKMnNkUm9URlh5S0ZVdTVldHVPSCs0MFloaXZ4Ci1TbnlVZCttVkgzTUYyc1dwdUJSRTNOeTg3bW1FOEN6RkJoK3BEZFZwZHZiMUkzODd3d2hwY1NmVy82aWxhMTZSCi0xTlN2QUZ3WE1lWmt4cFpaNmhuMUF2eWMxVlFpMGZJQ2pLQ1IwV1lZNytGbDNVdjl1WHpuenV2OUNPSGUybm11Ci1HaW9tMFRTc09oTmVNcTBOOUFiblVFUEFoaElFc2FNU1pBT09Ec3J2dGJSaWpDY3JDa1kzMUVJME8ycFQwVmdnCi0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9hZXMxOTIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9hZXMxOTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTU4NWJmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfYWVzMTkyLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBBRVMtMTkyLUNCQyw5MjUzNDQ2RDBDRkZGQTBBQTUwQzI1MUYxMjlFNjE0OAotCi1DcnRFSnN5TTcyeDB6cUZuUzNxR3FURjhKdGFVZ0tlN0VrQlJvRHQ1aUVvd1BaRmpQTTZRSUxFc0JRTEFjRzRKCi1SS2kzTXkxUzJuQndlUnBFdlRZWkhIekhYc080VXlUQ05mZUlEbDdGMWxKNGxPK1NCL2tCa2pBV1VUY2RUK2gvCi14NUY2RitkWkRNS2dZdkRqdnZaZlF5bCt4M2FEZDB5MlpxV1FXSkV2cUgvdUdRSzkyMWQ3c2RERmNsd0RWclVUCi1ZV2pGOTFLTnp5Y1JhT3ZUSGpYOVgvYlc0VVpaaWY5S1RaU0tTcjcxek9YMTZZSFU3YUlXSkgrT1BEL0RTeWxmCi1kYmhaQVZ3UkJsQ3NVeGNra1JlZzd1MTNEOTNqbE9sZ1AwdWZ2cERBZVIxeStqdW1MT2VXZGRpTUJ0UnRGVVBqCi1JZlMyUlBjeVA4TlFudjA5dHJ1K3JhNktxUkpuVDZTS1JHUzMvK2NnWEdJaXJ3TnowUGJZWU4wQkNJT2gxMkNvCi1zSzdnekNiVnJiTExMU0x1RU5zQzROZWloSzRXQmUwTnFaRFU5Qk1xWi9hcmRqd2hpVDJJbk0raFpDK0hibHRWCi00aDJrL1dlMkxTUDNyQVU5YTd2NnZlN1U0T0kxa0ZFR24rc05QdURiMDNDN0lrSUEzVGhBU2gzZ1BxMW5LczdPCi11V1E2U0lOblppUFhEdmxxWmlRSHpGaXBGNE9CUlJ4dmxZeWx5N0lCZGJJZnc0NmNUNGRuUWg5dUJxU2FkVnE3Ci1kVWYyNW91RlA2dXZubWFaOWdFV3ZwYTV5RWFmYjQreDRpbzRDTGJIUHAvcFBJZ09KS0l2Mk9saDViaU44SWhNCi1CZE8wc3VycitCSEZvZ2pqZmg3cDQ3eUZOeDNONEUrd2M5d21FQXpOZ1dpanFxL2J0dTZHeFlrQmx0U3diaDRYCi04U1N3ZldyUnhtWTkrbjR6SXllaEZKL1E0VkNzVlR6Mm1leUFjMWhDeWkyMVhXbTh1QlNBNTVESG1HWHJyeHdoCi1qNFZRQnpuNnFZc1dKUGp2QmZ3bHVxME9PS2pmbmlhb2E4UWlIMytFdm1qeWZzNHdXYVNEWE9keEFaRnZBOEpHCi1vcWl1RlB1UXdtc0ZMeHJWc0w5VU1QajhVKyt6SGFocU9XekNGenJkM0xsVXJFQUU2TlJyekxtQjVSUGNkQUNNCi1jZ29FZ0ZSUjZsODFaV09DK2FNK3ZEeWMxdTE1aU9yWWhidGdmZWVVbWo3NW5KUTNUTFhEUnYrQnJ5UnRQMldkCi1rSTZsTlVMOU04UXpxWWZKcWZLeko5bUtFR2E1aXVESDFSY1dyN2NPdjh4WnRxK1pyekkzQnZXTWVZczNDVHBnCi1QRmdLR2czdVd2RjZ1d3E2TVFKSVhVNUs5QVp0WkUzM29IMENRdERqU1VWZHJGeVdnTm1EZ01HZ01abENleW5DCi15LzgyL3FDTzN4aUZVb0s1M3NoN1F2OVFhMHh0SWVXc1JyWnl1dHl4UVF2OUxxNXh1aU9ucUwyOVRMK0dWUEptCi0vd3p0ajJFbHN4cVBNZ25ESEpIaml4QkJDOVBPWDN5SGNpREFpdVhJdWt6M3U2YnNQaEJmWkt3WjZJaHNLVFZzCi1SMVhNYWR4OGc0a0hpdjFHbmJLMC9qbFpEQytuZTFDNXlKZzVGMG4zWDlseDBLSjB0bE5lMk4yL21XZVZkMEV1Ci1tSVFxOWZMWVRyT2d1RTZiU1NwNnNNem10cG0wMEVmM0dIU1hzZjNjV1ZPRlJNRVdHTEprbERvUGdQci9yU2tlCi1Rd0xiMFUvaW4vTk9xbU8xZ2ZsOXk3MFhNMnpKREREUHJTTitTRGY3ekV1OVk3UjZLbUhzVDR3YmNDL0xuU2JNCi0vVE9vZGdXT0J0aTRoOUV5YkhjNXVkU01NU3lReEJlZEFoN0kwT2tDeUJEZ1hYeVF2MmcwYWszRWdNTWxhVUhWCi04R3RmNnkyZzRLd2g1RFBwSkpJSi9reGdzaWNPNlhiU0dPbS9ZYTdpNjdNQmFHM1RCWjc0QjRUL3VyRVlZYzJYCi1YMnA4K24zUkdYRzZCS09RY1hSMTk1R1d3d2p4eStISTZoelhHTzQxUTdtcnMxbU9zVXZrNjZWWFlGRkxwRWNLCi0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9hZXMyNTYucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9hZXMyNTYucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTM5NmUxLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfYWVzMjU2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBBRVMtMjU2LUNCQyw0NDgwNEY0MDhEQTY5QTM5QjBERjZCOEU4NEY0RjY2MwotCi16RUlVK1ZJb1pRSWZqZjU1bjdOMnNDejdRT09aYlZkdkVhY0duak9FaDZOb1o0MVI0RitiaW81SHRoVmNxOHFvCi1oeUtVY1phUG0zKzJBY2VML3hmZHgwMHBxNTJHcVlWbDQxTVNEVGlLd0NCRTh1bENpSG1oOWJNWkhQVG9BeXNDCi1zUWxYV0RQMUZJY21JTGsrL09ub3JQTHBzb3gySXM4Q0VMZ1Zma2Q5ai95dENNQTBUUFZFcXhxSnpybXdwNzZwCi12UDJNV1M2NU1Jb0RGbkxIY2FiSGRaWlFsVFA1RGRSajNBbE5mSHFVTUlHeWd6czB2RW1wSGpIdHRPRlc5bU1GCi1ISVEyeCtTem5yYWdnOUV4alZnVzRCZ1RENVNyWEtBRURVY012NjR3NlZDRThUb3gxUWFXYktvV0tFUE1GQm5aCi1ISDd1VlFKbnB0RkZnSjdjS2Q2eHUrVHluRU1lNFg2aVI1R0FxUElxZDFyaGpXRnhrUWI3ekNVeTlQdWtGSGxICi11WjNrU0xWR1YyRkRGV04wSHkxUjByZnJFRk9YYzA3ZHdnNWxwNkFYRzdOemlKb01DaFNTMmlwQWJYbzJ1RTNHCi1QZEl3Nm5BUi9hYnlacXR3bHlaRDFqTzJSOFdJWFlpR1VlZVhoQzBDN09PNzNKN0lablpveDZiYlZlbUZ5WncxCi1BS2dER2p1YUViQkMyakJFdDNURTUvQWFlZmVmKy9ubTdNRU5GOUJKbFBGNDY1SDFaZkZiRTNQUmYrMmVWUGYyCi1RL2RzZnhLRkcrVWk4NnFjWGpCamV4NUJ2QzJrZk1xWHVtZG9UbEV4MjRGR0ZDUlVIQjVkbW5XUlVlamdsSjlZCi1RV2ZvbEw2Y2NyZTNMUFlEU21HQW5BemZTQjh5Q3F0dnN2VDkyTkRGc1NzTzZLWUJ5NmdyaG52djBpZVZjVWgrCi1pRFFhNWY4MGZCN3VnaXRsaU9QUEJ6V2p0NVA5RkRKSjdIdDJGcGJvcjBJZy9KS25neVRmVFJWalRoMTVQRU1jCi1rWUhGRm9lVDlyNXcvNHdBQnNoNi9SRW51aWFoY0psY1VhZE44anMvenJQUFhBb0FqWkdmcHZpbjB1djZoYUJMCi1RaDlPSExTdy82MUoyRVA3SngxSUwxVFBCQ0JTc3VOYjRQTFQ0ZTNrcXE2R1ZKTlJIQ01ScE4zNXl0WnI0cHFqCi1sa0VnbDF1VlZlT2dKWVdyOGpNRFdyQ2g5aWg2eEJDeEdDYjdTU1VtZVJVN0ZVSit5YkJidmZzbk1XbjFUSlpYCi1CZWUyUFRhYzZKa1hOZERnTS9QZStCL3dDRlIzY2xnMHB0bXIxM2htTHFta2JDTXhrcENWQ00rdlBBMDFHTmdjCi1NallJeFROeEI0NzB0S3ZhM2pXcUM4NmZmc3Z2bVpiOWVURW9nL2NmQ0FCc2NYM1kydWZZbDcxdDQ5dElPczhYCi01QVhFNkdkSkRDcUpoeUU5cERrdDJwcnhlb0RTaDd0Y0RueGpiNkpmQWh2bU5PUnJqdjFoSTltbUMrSVQ4Ri8vCi1RcnF4SXhCamdLc3prRmVHN2RTNU1IbzE2RkNzYXdDSnlsODdEeXErNTFLVHlxZXFzWEJ2T0RzTlQ3Rm5yQm1nCi1IaG85NnBFSlE0eTBZcVAvYVhObzg5ZlZmWU0zaGJkVVM5WHRONnhoNE40dlhJNnNOVlM5TlF6ZlpUY3J0R0FNCi1INklFL0FFWXA0aHRLZUZVTStRUXNQWkkvRWNnTDVlNUdQN0JBN3hyeDVMNFQ5NGtISWp6NjlpS1NkMXpOS1Q2Ci1LaE9XTnNXekhaQUJPbnBZUVB2c2pqRGVJRzkvdTByeVhZR3RINWR3WC96M1Z2SXoybVEwdzE0T0l3Mkt6Vll1Ci1LR1VwR1hSdlN4K283UVl1bFZoMVE0QnJBMDNiU2FLdG1ZbkN6cGFLS3NsQ0JYeGJRbFRJdkwyaGxpZW5BNjNUCi1WOWw5ZWRzSkN0ekVsU2ZKdGVxYzJ1aDVvVkRrR2tnVWtmbXJZMWIvOFJIS0tiamVFS0hPRVpCMlp4TVRUM21rCi1SR3g2SEJLb0xTRzVqQzRUampVY0FJWTBOQW1KUkxzYWJyQlRETEJVcXhuTVpyb0Y3NUlkOUthWkhTYTc0eCtaCi0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9jbGVhci5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDk0NzYzNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X2NsZWFyLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUVwQUlCQUFLQ0FRRUFxRlZuK2JLZ0hEVEdGWTZRVTI1K0hsRVA3cHBEUkMzMjBoTlBzOTFwcmk0VlpyakwKLWhPRDQvTjdzQW9XVFppSU9HQ281cEorT3p0RzdHQTJCNXRDOS9jbWRTTjhVQVhSOFlPNDkrOFpxTjRnOU94NnEKLTkxRTQyUnE1QTlhQ01rcjd3bTVZbTNjSzlkWkdYSFZhNFFzUk9kbm9hSUtwdTNVYmJqWU9ybVFTWFh6RWtUaVgKLXdNVElzWHo4U2NsYVJZTmhIdG52NkNLQUltMXNUUDRhM0d5R2VDekJXNDB6a25OY2dUcUhvNkozRkx3MUFFTlkKLWlhUUVlWHFUT3hxM01GV20wSFFGb0pDNElORDU0UmlBUkNvNytxSmUrYXFNR1B3SUl6UUVYUklRVlZjRzNsdlUKLThsVXlUUHBlZ1liMk80emRSckNFN0dDcEJCZTEzN05tSmNaTXRRSURBUUFCQW9JQkFCbDhKS3UzRVdwenl2R0UKLWpmRXpyMEJqd1dlOFR5YkpWcTdqWVpPM2w4SlpFOEJqaGR4dU93UDlzL21GdzVVWTNzMWx4eWhYUjhXa0Z4RkQKLUtrR0pwTm9CWmlDY05Xa3ErNUdwUUJVWUt3aVJSY1BubHJhdXcwNkxMeXVYbEVxTTg2U3lGQlFsWjdGa2FXNmkKLURjbzRaTGsvZG1Jc05nbzlacE8rOTJZTG5JUXVtcTVuQVk0TXc2Q1ZyYTU0a29EbUxYb3JKemlkQW8ybjAwNTkKLUswaFVVTWdoNG8xQkVuNUkrWVBaT2ttQVNzTlVoNnpibTI2dHlhaUJuVTQ3dWVZRS8vK1JQQ1RQVEk0ZVBCRzUKLThuR3VSR2ViR3BkT205T08zSUdncHM4MG1BRG5WVUkzUVRqY3dRbFkxcEVlYVE2Rk1mNldwZndGU3pzc0Q2V1MKLWxmRW9WQmtDZ1lFQTB2UkNMT3ZiaGlrZmFLQ25Ba2FCWWxobmExQkkzMmdQYTQrYndDS3VwYUkyS2wzdVJoUFQKLUpCK0krZnpXWGpQWkRxNEpzdVRjSENwUDJFcGZCaTNsdFhtam1tSTc0MkQ0aDIwQ3Y5bFBXSXRJQ24xMUhIY1EKLWFWNDBUZDJMbzk2TjhmU3p3ZGdyMGNIOGZWdlRFV2FaaVVNWnBhZnlwTkllY2Y3VU1NaTdvcE1DZ1lFQXpFZFAKLWUvenlUSFVJVXBZSTRPbEQvQyttQ0hHT0duRHRWRzVSSUFQTk9pWHVEc2hHQmV0UWYrR21DdDg4UmpINUd6NFIKLUx1WWhPUUlLT2J0TVJ6c2dEOFVieEJvUnRtd1RBdGFYL2UvclppVzZrRWdwbHdBN1pWLzdvQURPQkVxaGY1WXoKLXVibEF0RDFWUzl6RFhyNlpvVGVKVm1aMFZNbEtYUGQzd2duWitKY0NnWUJnWVFSUzdiY3dCbDI1T1p6VDUwNTUKLWxoWTU2MFkvKzVULytXNlpTNzhySVg5SnYveDZ1OWY5YXdMejQ5WTAxODlWYTZJMnYyVG80VlAxWjVVZWg1MnAKLVdkZXJVekkxWWpwcDlSNEtkTWhSbGVEbUdnZUZaOGh4dTM1K0RMZ2R1REoxMXV6QnBYZnZyNGNoNXUvNXhUeGsKLWYrbVp5NitLS2cySzIzZ3FpYXRnVFFLQmdRQ1cyQW1mbXZjbzhqckZFVGxaSzZjaUwrVkEwdW1HS09GM3VVWjYKLWg1UWlYaVBlRXBGeWlZTVdDNEJiQXVFMVRHMlFhbEt4K1FtTFdUQkgxVURNVUtLcVFuandZL2UwWnpYYW9LLzMKLXVoUnZoMml1WmpzZjMvSDhOOVpOSG9zQ3JFRjVQMmJPdkRkRllRejlTZldTbnRnL0xnMWlHYUhKZ2lKQmFCT3MKLTJ5MXozUUtCZ1FERjFGZC9CcVNDS0EzV00wKzNCZjdNdTRsNDBDS216akZwVkdBTFRRSXNjZkU0a1VpeW1YbmEKLURMV2VhckFHZGlHcFdMRDlXcTYvaEJDK0xMUVhRMHpja0lUejNMMkxoNUlKQm95c09jMlIrTjJCSGRTdlZsdGkKLXNGN0liY01ic3pFZjhydHQyK1pvc0Fwd291TGpxdGIvLzE1cjhDZktpVUtEUllOUDNPQk4yQT09Ci0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9kZXMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9kZXMucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjk2ODMzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfZGVzLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBERVMtQ0JDLEEyMUVEMjcyMUM3MTIyNkYKLQotS0MvMk1lWGRCcFUwTEN6azFxaDJaa040Zi9HTk1SMmlxeVVZWXFHZGNYR2UydGl3MWdlMjFjSDkrVFByd1g5bgotb0hGUExHc3RXbUNaRHBwNm9neURMUjVZRDRwY0NZclZhcUt0SFZhTm5rdUdqMlNoTWVmOHFsN2MreGNYcFdESAotcHR5YTA3MVdDeVFPN3lpZlVNajBLelNnTjdldkRqbjdtOTRzYm1CUTdUMGhXaG1LczlXaUJESHFFRzR6RHNmQwotU3RtRHRhWG9JTG1tcnVDclZndkdXQWxDVGZ5ZTRtQmFxWHZGak5sNHhBVExuL05rc2swVGdtRmlqclJQMHlubQotK0oyc2hnSkd5SHZ3U2d3aVg3YmtPcWhKckVacUk5di9vYjJzbGFHOUtvZDVOVVhpSEt4blpqZHFjSDZQQzRpOQotWkNkSlRMbE56QkVHbTRQcTV3NWtxbTVPeEQ5U2NUZnlZS3llWGJXcGtDSm1VOEhSa1htMG0zRFA4alJvRjZJbAotUXdNQ1k1QU5SWjgxc0V6UVFhNm9iZGFYZWlvTWFEMStDcHZNVkJDc3U5RVhWQW1UaUg1SndqK3hidE1Yd2p6MQotTE5JR0lsWmc4WXV0TEJmbk14bno5UkZiejErUEJ3SnBLSURrSzJTcCtUd2gvM2hiRWZzeE5yTWw1OXVyRHlsbAotOWlPL3U0NXNZNndWWG9tdUhpUHJjbEMzMlM4UVc2MWhHQjQ0YUd3ZFlURGZwVFE0aFJvMDN4dUUzbDZ4M0dGWgotVzhDUFBSZUlzcXY2bThiVDJUOFRIZ0dEWW1USnMvTE9RRmhaYWNUYm5IaTVMd1ZqTkt5Zi96cTNUWEJvOHNUaAotTzJtcG10MFF1N1ZXT2xFcW13bUFHZHpneG11UG5KdGJLcFBoQVFicVRvMzV1c1JkN0VqV2tnVFJ6VEVkN3lsZQotdDV5bFVYUW9BMURGTytIK1ZQbXp6T280NDNCTGhJTkpEOG5oSEtWZkdqM1ZWcFdGblpnREFMaEZCM3BDK2xwbgotNUVTTGZEMXduTVNsU1VtS0NZYk9GNXpnbWFzVEFBT2kwZ2FGS1c3RmVoYkFQYkRoYTVPeXJtWldPNi9VU0FxdAotM1Nyb2JkSFg4WGlFanJxODNDV2xUUERMOThnTC9MTzJsdjZsV29POUFBNnQzMlp1cjNvUzZwakZFWVRadHpUMgotc3p0VXBHUWJWNU9TaDdUU1NvS1JVSEtsLzBZcUJlTy9UQlVCcE0rSCtyVHRrc2RuVUc5dSt3S0Y3clpvZE10UwotVHNuSWI0b25wbW1rMkdaYzVZa1YzNlAya0Rsc2NlWkhSUHRlN1ZpNXpFWnZlbEhVT21pYW1HdHBYV011Zzl1bQotbG5SczZvcnlERmZmb0VaM2dIRGV0RTBiRzZmK3BSdHBudk1KOFZXT0ZYRG51ZWkyUnY0M0hMdGY1cDAyK0VMcQotbTAvSHR2akZHRHZybzdrdFlGTm9ncFZnQWZPd2FkQkFyU2VsbUg3MUdKYS80S3ZVY002QW54K3lKbTJhZHFFNgotNVVnbThKVGFKVHhCVEhxdjhkRUtzeUROLzVNNFFjQkMxQWZUeDNSOFhHanFZZUFwSGQwZGFzN3c4RmREWnROSgotTUs3T3FhMkhFcTNDaGFWOE9haXlIdWwzNGdSK050dHNrY1FrZ1JmSlgrTEoyajNJeFZBcW1VZGlkOExGSkwyOAotUnB4L3BPTmNHSkhqZHViYlpaNjdDbGRiL25VczBTVCtIUStCSmJZWk5xVGVEREJTQ0lzeWUrTVVLbnFCSU9sLwotMzB6RVV6NVdNZTJ3K2M1Qld3NjVhVkw3RjZndEthbytXOTNDUTR5WkdiTlJmaWdsWDE5M0JRWXdSMSs3UUFXVAotNzhqZjVXeVl6RmozVlU4aXdaL1BRM25qQ1I5RnVtbTc1eHRJbEFoSHFsaUtnOEMzSmZiOHVadlNqdm50a2pXbgota3Nnc0xSRisvUDFQZHVsYVJZTmNaQW9ZS1R6OXZZcFZhV2xTeU9tM0huS3BsMndTb0pYcnAvY0h6ZDM3RnlxVwotejhDZVh0TVN2aW8yd1htYWRoQkVFb2M4UVNZNXMzL0o2akRKYVdVeGtRTlBkV1prRG1WZ0RDMERVbGZFZFNxaAotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfcHVibGljLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfcHVibGljLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY4NjUxNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X3B1YmxpYy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X3B1YmxpYy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X3B1YmxpYy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwNDBjYjAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9wdWJsaWMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQVUJMSUMgS0VZLS0tLS0KLU1JSUJDZ0tDQVFFQTJ4eC9MZ3ZOdjg3UmRSQ2dvcmpPZmFyaUJlQjYyRVJqajdXOXdMQVp1VGU0R1VvTzhWMTAKLWdHZEdod2JlVzM4R0E3M0JqVjRIRmRSYjlOemx6ejM1d1JFc3JtcTVpcjBkWjJZWDZrNjkyeFdhZ29mazhIakQKLW80V0hzUDJmcVpsZjR6UHN6T29MdFdGZThVbCtQNk10NmdFTXpFS2FkcHZFMERmVHNSY0JZUUVXV1g0Y0Y4TlQKLS9kRnl5MHhnRmRwOTR1cXRVTytPNG92VWFuZFYxbkRaYTd2eDdqa0VPS085NHRIZ1ptdmluRWVaNlNqbXR2d3UKLXltZERoT2pWZzlhZG1Hc0JQb0hjUEhySytmT2M5OVlvR3lkNGZNUFExV09uZ1RTSnJTVnF2ZkxxN2ZwWC9PVTAKLXhzRVBjUzNTQ0JBYnJVUkI0UDU1b0dPVGlyRmQ2YkR1YndJREFRQUIKLS0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfM2Rlcy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2XzNkZXMucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGU1OGZiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfM2Rlcy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1Qcm9jLVR5cGU6IDQsRU5DUllQVEVECi1ERUstSW5mbzogREVTLUVERTMtQ0JDLDA4QTJFRTRBNjI3QjkyMTkKLQotQlpYTHVLWXVPdXBlVVpHSlBJSWlHZDFkRlhhQmlGTm1jemt3akFEUWVRUGI1cnpmODluMmQ3TjE0NDJZa0o1cQotbkl2eUhvZXppMmVyNGJoeFVYNlRvZnRHZGQ5WC9XZUFidVczUWZ6bExjY2Y2OVJnTHBLaldhc0tSbHdzMjdXRQotaWdodVJzZ1BLK1VPMkN6UjFQU0JpMk9JUmRBc1VGaFV4NElOMW9TTVBjeDVlUjNqZ2xIK2pyRnd2N29PY2xtegotS0JXeEFLQmd1Vk9GcFlmYmp5NzdPYTFzYWluVkZJWk1lWE9xa09TZ2dmWCtrbUhnOVZrK0Fna0NBaE03aXk1bQotdS8ydVlqTDFGcDNPVXVNY25qV0czR0F1cktBZnF1V2NpZkYzR1N6SDZsTHlKbGxDL1Juc1V3QjAzNEo1UEhCMAotS3JmSGlwSnlJcUZTaitsT2l6RHRlQTY1RW9UNTc2KzRWT3B0czBhQ2M1c1plb3VRUzI4bnlPVktiT3RhQVhKTAotc2VRYlIyNlJvQXc2bmdEOEpaQUZ3NFFyaGVrS1JQS3prVHE4czVFOFFwbFcvUStHMlA0Z21uN1dlS0RRR0hXKwotOEZKdEJkM2ttekl5ZGFNOFRrZGdaT0JhTlBBdmtSZEpmUGNjZTF4ZGhDT1ZmSStqTTJaclVqR05qR2xWQ2hMdgotUDljS3dQMUtnelVWYi9qWUVib0Q4ZCtpYTN4d09mQjJzZk5TN21Eb1RXZUp6bGU3emwzTnAySVZOcE5ENnpweQotZVA0c1RqU01ESk5HWkkzNGFHa0dRRUJDem5YL3NzQ1QwMENWTFM0dGlrUVF2SEdHYXNIVnFuMTJnVG4rYzR5bAotcmFudmZKNzJoOERJcEhlbklRZHZ6UmhUSEcxd3FJbjFTcExPeHhSelVDdEdVdVNXbWJUazJIeHhrOHhaVW9OdQotbjluOW1YdjREZWNHT21tYUEyekhxOU4vbG1Qdjlla1JuZU15cEQ1c1JqbzlPVUpWUGVOa2lIQ3pwOHVkK05yNAotUGNLZVpTc2g5U0JiR2NnUVhyR2VkbnRqdWFsWXE4L3lvRTBjTEtPdWQzdXE5UEE3Z3RSNnUzQStuVDFORk11RAotaG5zbmxEajVwK2sxcldEdDRHbllEU2pScmJGTVozSytzL09hSjArVWw3V1hCdXArMFg0OHpOWHYrOEZQeHN4cgotNHpNRnBMdWh4TEFJNklKbHFqTThUUWhSbVA3OW9HeG9sRi9yTnlPUiszSytIRmpFRmFCVy9DbTZXWlZLWVY2TgotNmtZNEhCRnNZRmhkZlBsSXBLWDJGZmRIMFdUM3l6SEx1TUJzYjFDYzN1OERTWVRoZy92eGxkd2oxTFpuVFVKTAotYWgvcjk0UmpPWGQySURlM0N2Z3hLOG9mVDVYZEFQWkhCS1hvc25NVEJ4MEhaL3Byd0ZYdDRZdnJ3YlN4SHdUNgotRWtrK3VxTVpFNzNMbjVRaDRpMWlFSDBqNkd3eXcrUGVrVnNjNWgrK0V0Lzd3SGx2RjFkditSQjFpbVF2WjA5bgotUXN0OXVONlNZaGhmSG03Q2JHcE5qTUZKR29wRWdBNzE5UW9XbnpDZWZnbnVpVUxXZDFudlVUanNtQXcrdzNEUgotV2JXVlg4OEs2MndFOWcyMnVLL0VCK3l2eVFqYk9ZRHJvVElscEwxUG5kbWo1Ujg2UTg0bTZ6Z09zSW1tbjdKcAotZmJHMUNYbFJDSWxGQ0Q4N2R4TlNjY01lVUI1Y0UvcXB4dGFBbnRZcUNoZ2NiTmRRQVR1TzJZQjc3WlF5TDlUKwotY3hDT0lYemhueGhxdmZaL0diNmtUNExqeFlGenVZMmRWSXdpR0FIdHFBU3BickI4cWhzajVTT2NHZytxZE53RAotTGNOOG5PSXo5MHU5K29kemlscjVCWlpJVS9tRkt6aFB3NCtNdjVRb2hBazRQVXg1MHl6Nk52RmlDRHdJaFB4WAotOU12VjZsMXByMkt4Nm5IMHV6cEM4SDUyNHpMMnpoWW1OaFVkUlVPQ1BBcEx2NWE1OHQ4UWtneW1GRDdaWFFtegotb1l0SXl1djBEN0Y1U2ZIY0RDdWwwc1EvY09vVlNMSVg1bGoyM00xU0xSVmVVT0NPMUhHSzF3TGFaWDdqTHpiZgotc1pVRkZXY2xTZWhveXQzWjgzTTkvbmJEcStiMVZsay8xcXJ4TzYvQVZZQm5lYjNLS1lYaVlYSVFIa0d0NkNsRgoteWVBUFJYdW54bStSL3FvWGFJRVRja255Q09IM3RlZVBMMHVDMWFENGpKRXdsRkgzSnZsU1NBM3J1QXNyQnV6UQotT3k5VlVxL1ExbEswOVNSVCtFS3ptVmh2YjNsVllrUDk5RHUxQm9JeUQ5SVVSR3l4b1Q0RmxmbjJFK3RmTjJDUwotSmYvSlFFdGY1ZUk2alNNM3hxOWZzbFFPUlNOR1dtK0diOGkxd0gvU2w4NmQ3T1pNZG1hNWZ5ZnFBNGRZQWkrVwotMms1c1BOb21aMno4a0w4dWl4UjhCdC9CZzhua0lLakxwWkl1NGNkMGdQOEJXYm1KNmF4ZndiY21QNzhRazFUcQota3dXNDlXVmc2U2M0c1czVCt6UGRWMXdHbTdEZFczS2ZKSk9WKzZpNnE0R1RmKzRJZGgwNjMxbFZDM0w0d0oydgotQzBsNlhnUi9WWlEwTzVORkdlUlUwdGRycXZjazI3QmpPa25nUnZEalRrQXBuZ2lsTHJnZ3ZJWFNlWU1rdTNxMQotMk11eWRjVUZBM25hanAvRjV2K2pUaVlJekprdVlzRjRUNDlNOE43TDBYTHV6bWhwWUs3RVU2RTZWZHNvQUJDWQotSldXemRaZGZRL2RrR0NibjFnSWJTaTkyaEcyWVE4bk9KOHdPZm0yZnluTzlpQ3UzbzZoNTlzSjR6cnBsQXlGcwotVFRkSzZ5ZDB1RG5wOWdsUG11cmNFWG1ZT0dWalZmUkNSUngzSzl0RTJRSHViN2xHZXc1MktyY0t0OUZVUGFHYwotaUQvV1FpNldkU1ZhK1l2TG9wRkJMemFhdTYwUXJ3T1JZS0JpWklPeVp5VnE0TFZXY2cxRklibmkrMU5UT3BUTwotYm83L3ltSlZBOHlQcWxjZXhiWUFVVUw5ekY5QmZTK2xFK01XeWdBODNkV1ZvZ0lwT1J1OFVzNEd0VWY5QXRxOAotUSt1eGlJSzZWMmgzS1FuMjBFM0VIRm1vUkpKN015M0dQSHh1RzgvbWN6RUFWTWhmWkpTWHFHTmlVT2djOUVJegotZUZzZm95UGlVb09rTDBXQ1hZbnQ5R0RQWCtQNUZaMnljZkxiN3BRVUNGcVkvOUxyKzBMemFFcXFWL0dMeUJSSAotU1I4ajYxZUVWNFpsSVNMQTEwZVdra3lWVkhSQTJPZUFjMmttYVZDMkg3eEJVWTdvd1lERHRsVXpLZUtMMC9hbAotZ3ZDcUU3a2Nhekhjb2lCa1FJOEl6c2xGVzJRL3BsVVJKR2t1aVVQb3UzNmFGRlRqNzdDMm9lV1Q1aFJ4YytYMwotOWZyTFNJUlFJdE1oeElSeEljY3h1djQ2bEhZR0EvZmlQTEorTCtHaXVaWkhZWDExVUlROXdYK1hCMmVOTFpGUwotaHZKeTcrdTloc1l5aTdLV1luWE0rOEk1K1JPMk5oWGZLaFB3VzlJSjFhTVdNVWgvVkVZbEdPTUpHU3I1YzZxeQotMjFxTnVLMEQ1YTZ0S1JrSHhhVWxMdlBPbHlscUdJTlJaaXVwalhJcmtiek55NXBFWXF6M3NKU3YzMUZIVW1jNQotRWJyUUpzSTFpYTFoRVk1WmdxMGVRYzNrNkhjZm1mZ0lJWjJHQjgzTjdBR3JwTVJ5SDlnNVpndXhoZGJTTWpjUgotMVpnVXh4M3NYV1BJSXdsTFRzeGw0d1k2Q3FUUUcyWk5QeWEyUFRXMlgrUXNsNzhOaExxS1VnWEhzZlFqVmlLTwotWlkvMDJGWkVPYmhJZkJwcmRxMEhJdTJzRkt0cXl6TzE0a1ZlNE1YK1pyQitkN1Ftd1BxRHNLYjlFcFVXaW1GcwotSEZQc09rSjBsYzhFWTVpK1Y1WGVjV09oUWNjakV6b3FRemZmbmxXQytFMDgvRzBNeW5nWGZ5bS9KUFJKeFl1NAotbkZZZkd6YmRlZFhsN3ZZWGlzdzJrYnJyUVcvRXRrVmZZeWhvNEcwNnRzelVjY0xHaDlha1UxaWU2ZWtEUVQybwotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfYWVzMTI4LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfYWVzMTI4LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU0YzFiZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2X2FlczEyOC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1Qcm9jLVR5cGU6IDQsRU5DUllQVEVECi1ERUstSW5mbzogQUVTLTEyOC1DQkMsMkRCRjYwMkEwMEQwNDRDMjc3MEQ0Q0RBMEQyNkU4RjEKLQotOTQ1TEJKclUxVnJmRXFtZ3lNU1FtdzBCdHd4eGp6ZWdudFM5aUIvNlhzVHVSYnlpT3BqMVlnaUY4b0hZaE5YbQotOFViZ3dlMFdFa3FZT3h5V3ZyQkR4RmdGZmNwSHZtck52UHNzS1c3dTJqRngrd0tLRENJQkh1WElJZm04VEoxdAotbGhhbC9UcFJBczBadTZ1YjY2VUc2V054dEtJVzhOYTc0T3lIaUJrNzRWMEdDcE5Bbk5OcFdzSjRZVytNM3dlcAotck1YbnlTbDBFSjhjYVpZQ1hWemNIUVZWeWdDRUhDdFNyK2NlaENQU0psMmplV0l3cXF5NmZpRldZRGo2czAzQwotZVR5bFN5V0ZPTWpwVG1pNTkzRGg4dndKOGJJQzRhY2kzQlAvK1RZbHZUNis5MXZvWXovWDhIdGxOTWVuL25oUAotWlJZYmZ3SC9ReTJGYUVoSEk5VnpRdTgzV29rMDdLOVRheURCa2poMkhESUwvU3VnZUxHcUJFZVZ6Vk40YU0yTwotL1FBOHdnK2dFQlRPWkgvdVhpbS84MS9wV0FhWWZYUEg3Ni9PeGpnZHJiS1F4MUNOOUdSK2g4c3RGck1uVGxRVgotQXljR1VjODNybldFSk05dC8zS3lyRE1TUHdibThsbTJucGRib2gwaVhpL09vY1h4clc5TW04T3BEMW1YRk9nMgotTG04NENDcytYN2x3aURNYkJOUlNGaWlVU3ptelg4R1dNa3doK2pqQWlUYTk4cGJjN0VLY1RsWWxrT2tPVGVWagotcmo4WGI5ZUJ6L0FmZHJWNTJYbkRCWGhObWxwZTQxY2VpdzJhUG1aMlVoZmFIYm05d1lMNzBHVHJUdmJWRy9nQwotdTh5WVQvM0JMWjZqOUJBYVMxUWxBL3NiSnZsdmMzVHFRQTd3R1VkOFJvbkcxcnFFSzM5d0JNNk05ZEhkZHJlOQotWHlDWEFhSEg0R2JYVEdGWTl4WUdjb0w2MUhGckVsNkhaOHZCT3M0MXJZUk9QWUlrV0pYRm1vREhZMWFabzFPYQotb2ZoSkcyYnZ2NmdaUWR0MmY1SktlV1NDTXBRRlNQNFBXajhaOFRYdkhIWVFtOWUzZEltVkswRTJnbzZNalZyZAotWlM2V3NKYWpscDBVQjZjZUxGWCtOWVA1WUg0dStWSkYxUFEyTTYreW5vMEJKcGpQQkZodjJwRUhMeFBDUURYZwotTDY2WmdDaVc1V1BGZm5tMlBaT0U0cXRsSzJtc0pHRHpPZXorbnZPYy9QeHYyQlZoV0toT005SnljN2MvYXQyTQotZ0dOVjNEUEdGbFJudUNkSERReTNuY2IzMGZRc2pKcVFVMlhyajVETVlEYVdjTFRqem53WE81R01mVkFRdWZkZwotRUpBWUdhNzMwZlB1ZExzVC9wREpVSWoyNEl6NFhmbmQ2aWxqNkMyU2JkbDkxSlpQMEp3RmtFdVE0M3pvOU5yOAotdk1jeit3emZrYnE5Z1hLT00zV05qYkhGWC9CZlMrL3ZNMDRDdTRtNmRoTElGRHcxc2d1STV5Q2FIT1VpdWsyRQotZ3dHSGtFMnJLbysvYWZ5bUNYWWFzL0lORnI5NDRlSWZrSy9kTXlNWkkxNkNaWnRpb3dHMVVvRnp5bk5iOW84VQotTlVNaHk4QmE1cXJidng4TGhhUWtIYmVpQloydktteWF5NVk5RllaMEppWS9KbjNuZ2llYzh6c2daRzNhczlYWQotM3F1VHM5VzhmYTBIWVROdko0bzl4WmVtYnBXTWorSExHandaOHVpU1FVRkRwNG1jd2x0Yjd0NGNuRmZ1MVg5WgotTVBQS3pIVHJFQ0FkOEExWEg2SEVtZVpoVWFNd3RMdDR2Tm0wZGFYZTRMdmdNQUhrM3BRTzFmbFZyc1J4bDNLMAotVkQ1TmhKQ0cxVVRsM09VVFYyV0w1K1dXNzZKa2RaNE1uMU44dFRweUxtUXJhaWZHOXlCaEdNeFVObDR4NWJyZgotdUFRR3pWL1UwOWVFalU4cERWWkV0ZWFMQWJGcUgweHNwOENoejlkR002cEt5MnQySC9aRnZrM2c1WU9LbzdjWAotbU1HZjF3RzhXUnlpWlR4TStYSyt0cG1Va3VQZ1JqeGR3N3JGVFR3S05HNVZtQnltSUhHUjdsd2l2N2ZMUFhvMQotMHYzZ0N6dG5LQlRmQ2RHVWpkRzh5Uk5HQUt0VDRWZFJzQ0ZlVVlsM1plaFFVWGxPM1pVNmJjVnY4REdGbVBsaQotQjU2Nmg4QlBJa1E0OU1LYnhYMkU2dWt3NWhHemlsQW9ZNFZOOHR4WEd0bmN2bTBGVVR0K2ppK3dqSURBS2paTQotRFdNbTRiTjcvTENFZnN4OGYxK1hpdnpxUVk3aGRWbnRrZVVINlI5R01tSjdsZGZSNERZVnpHbGpCMXhabVZOVgotRkQrSGloQk1WQ3R2elhMYXg1emxyZjRpdW5tU01QQlc4Y05USkNIWE51OEhieE5ubGhJUTU1Rzc3RERJbjhSQwotc2gyVURIRVdma1h1aGhDZmR4T01DVUlCVEJNQ2dLNE40cFJkeEVtaitSRktKUjF3SFkzU3lNcmNVN3llNS9ucgotbXhCRjBIWkttSG02K1Uvb0FTakhleWNVaTJzWGJ6dTYwSCtyU1FqWFZuQ3VGTXViUTdMekp6TmRkbVJjMzQ2TwotNmZOYSsyOFJVQXhkbVdPRDhjbzVON2Y4MEdBR0toNFZ3RDZIaTdLREZkWFBORmNsZXNqVEtGOFU2RS9RL2hqbQotSGtIK3VWZU9LWkkrNDFxaU54SXBxUCs3Nmg0dTY5WmdabFlWZDBxa2JSQUJMQlBONjljZ3NSNEVFY0xYOEpMRAotcndnUGFMckx5WDltdVlzRmY2STk5RERqY3FiVzRCQXU4Z2p6RTVxR1pXUW5PWEFmU2loVUJxRTJWZ1VRdHRGMQotTHcrZkVlMzRBcUpGcjNBUmNRZzhSc1pMb210UWJiYThWeFFCVk1pUGdpKzUzSFN6OUlIVEFwVFEydWt1RkI2eAotaC91eVZ0QkltTENFbUJ1NXAyWlNCeDFTV1hNOUEycGoxdGc3Q2dTNmw1RitWSUZJbmtqQm1TVnZSb29Dai9lTAota2FFWHo2NUU5NlBxMHRtUmx3K1pnNFhvM1JhVStBaDJWdC82SmU5bGpEOTB3cHNvNlFiUUJObkpNREYwMUVLdQotS0p2dnhmNjB4WEI4ai9FWnZZbS83d0RJdENSblNCRlpuT1FsSWZ6eTRidk0vVExGV04xQWdPc0l1V2pST2UrbgotRGFxNWduQ0JlVHdOd2lTa29NNVdqamxHR2wzSzF1Ym04dDFkRWJqZ0wwdFVIRXYvQStjRDk0U2txd2RQaUwrSwotdVkzcW1Xbmk0WmZ3RDdWMGw5Y0NrVXBkaG1tQ3VYNXYzeWx3bVN2WEo3MEFnNnRBQkRTTVpLNXBqMkdUVkdubwotZ2daWWNPNmVPUmI4aWFpRTVaa0ozdFJZalV0Ylh1cVRoYXJDMk9xbHdFdmxPR0Y3MlNyUUVpUzEyemdrR1luSgotWllER3ord0RBMkNDcEZYeE53TDFaWnA2QUJnSDJyZ0wzUlVxUEdyWGVmZGliMmxOdXB2cm03czY5Ly93Sm1wQwoteUg0SGV4OFk3ekE5STFjdW1JUEZBUlFJT2dOYnZuQ29wbFJZTmVYNFRtSU1ZOXVNR3RGTlJIdnJrMjRiQ2R6KwotbGVPR1BXRlByVDJTYlBiNmN0R1J3Wm1nWHE5TkxjZWE2MkVyekRIQndFdk14RlZoS0FHb1JVUjk3WVp2MnkzRgotaGtqL2tkZ1FWZzVURVFmWVdJTmtEbEdYOGtwUmN5SEtZQS9WUHp1cGdJOWc3ZHZQNjVPOUZvM3NpdkozUk04TgotUUpqMWhjR242ZGlzQ0hudzRQcmdueERrVkVMSUFPRDV4eWU1OTE5QVlqM2ovTXdJdTdrR0FOTmpKazM0VHU2UAotZ1J4YWdUS1FCNXF5Qk1zWUpsN2svRDBSVVBBOE9zUkgxWjFWbDErWlh0YXJhUVA5NU96b2luNzROUEVTS01uZgotOGxobWV0bmVJOWtnblc3ekR4WmJ6NU9uMjYvVW5YQjlGZkpGUHNIUzYwU1ZwVUZpaEZ1ZHJwU0I2Q0h4dllBbQotaE41RVVla0ZFQWdCN0xKMFRjZ2M0OU1iVmRNS2s3SDJVbW9vdmMxVGgyREJlRVQwUTF5YWJhUEczU1FGOWxQSAotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfYWVzMTkyLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfYWVzMTkyLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGYyYWY1YS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2X2FlczE5Mi5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1Qcm9jLVR5cGU6IDQsRU5DUllQVEVECi1ERUstSW5mbzogQUVTLTE5Mi1DQkMsM0Y3MDIxMzg5N0QyQTUzN0EzNUE4OTFFNTY4MkUwQkUKLQotY2poWHZiZ25mZE8xS3pDZ1dGVHdCcjBnYTJid3RFaEZJV1NFMkVlRlhLNElXejQxM0w5bmZHeXg0VkdNY2I0YgotajlmMVh2SklNNTNiWjFscnFQa0RkOTBxenEzR0cxanVOZEFLVXFVU0FURlVqbzQxL0tMRS95Q0VUTUVoV0NJcgotTGRINTFOdlJHb3pVNzVTUitpM0RsWkdTZXBuMmdlRGpkQ3JDUXV3Vk9KbEczc1hpeUVLWXZCcFFESFlXaHVIOAotaXNNNlZsaDlzaWJDMVdoWXJ2c2xZNk05bDhDMFd1S0drcVpjSm1JWUMycTZ1SFRjcTFnM3Z5WjdaRXd4U1llOAotcXhHTUphOU13a213QWFUOWQvRlRMalh3ZmFnbDBXYXoxZFNCT2VndHFjVFRqYW91Z3YrZGYweTlWY3hWWWNheQotbE1oam8zd2FzVGwxazhQVzZ0TTFTRUVYQSs0UUpzR1dkUVNxaTlUcXdpcXdQY3N4QVo1eWNObUYrS3I3aDNkWQotN3lGemMxRTN4TXBIMXpSMmxPZnZ3S2srMmFXRXllSHJSRWQ2MTFGcHU0RGwwV0V0eG5UcGhzd3QrRkhobU5xRgotSjhPQW0yQ3lkK3B6a1BKT0pYZ2JhWXFNL2ZmN0RUbzlLUWQrV0piaXpPVlc5dEl3ejliZW5xM0tDdUwwTnlKSwotcjBBbDlCSTR5c2MrM2htZlBLaHJHenZQL0JhR1BUQWZFMlJrOXFhalBmeXQxdllnNld6THJ2dnlQVHVTMTRtQwotTGRiZnpsL0tCWnozRUQzZXFtVzMvdU14SVpjblJVTDBqcjdEUGtkTjVob0p5RWJ0dS9rVDRDamtlOUlyT25PUgotclZIb3dFQ05PamlBK1o1Y0lXM0hGSzRqalF3VVpLTXJaTnJONmdSYlQvWkRhNUN3Z2RtbUZHNDlVK0d3TkhtdQotY1h2Tm5hR1k4UERQdlhCRzlubUo3bURBOFAvVkZQWVFWY1BMbFRiY0EzUUw4TlVCV2k5NXRwNEZYMHRkRW91UAotK25SMDgrVXV0VW5pZkdEZ1NjQmVCdnpJMWVZUDhUYjRqYy95UURUMUwycXNrMGJZOUxOVGdvNVhNT3VTdE0vZAotSGYxSUgydng1bzRTNzFQdFVDbEo1MmRHU2JkcjFGR0I3Q05MT0h1Z2FYK0QwRnNqeHNGaUFuUEF2T3ZaNjR6UgotdklMQmE5RzdwRnhoUDJjYm8xak82bUFpeE42cFhvWlRFWXYyaTBTcEZ2UXp4QVA5OFBacVdGZEFGTFBqRXphLwotUStPVXM0eFY3TWRjUmgvd3ljaWhGQ0NlR3MwUUZjbVp0bGluUDdxa1RwYVhVS2RjUW1KSGo1Q1Rhd3UyR0ZaegotNFM1M1VTM3A4THFvQk1PYjVkZ0c4enphQ2g4NWV2ckc2bGlLR3R6cFkzb2JzR1pZZWovRHZ1aHQrUTJQbjlhOQotdmlsbjVnN2FsMUtFejBjVTFWVGZCK1NJdW5DTWZOUzM2ZTB6bDhQYlNHMjMxdkVRcVZieDhYdjV6Z3pTTDV3ZwotSStYdG90UUVnUUU1N21pdzBoalcrRENhRGFCYzdtcFl6UEJhcXRDMHFKVVNPcEZFL2ZpZzIxSDR1REJCWmJrMwotUGY1ZmtMWHJDdW9UMUVKUTFpWUF1Sm82S1RkdklPLy82aDFsWHUzWmVhc3NOS1MzazZ5QW15eSttTjkrU1k0aQotUlFSL3RqeXFiS1JWb0NMaU5KL2g5MTdOU2E1akZKVk0zRFFEOVpOWVI4S0V6VkZodWxsWmQrTUtldVZNNE5vQQotSDdLNTArdkNmSVBldFpma2FtVDZEUXhjZ3F3UnoxMHBmWTAySG1Od3g1c1BrK1VTN2VwVmNCbEVRb2ZrbExFcQotZlVWM29WYm5hSUQxRmpjSVR3dkwvL01JWU15SGE4M2UvV0ZrT0xPUnh6UkNPbkNlNWxaTVJOTnJXRlpDQ2lxYgotWDYxYVJmZUd0RWtFdnhlNFFZYlVuazJqT0pZc2FCVzA4VDBnT1BLYUlvNkRwenpHS3NvdHpZclRGczRzVnIrcAotUWZRdldWS3E4eVl3Z0JlK3FDc2VOY2JQRlVkNDB4R1NiWnJZR0xCL0J0YXg1NDMxQTFLc1JVbHpvNWdkRERvQgotZkVHQTlvRmJWVFo5M3IraEsrenM2bFdYZWVmZTNtMXdBZXRsTFdwRW5lTmU5VjBtSFovR2lQWTNjcEU4ZEpOVgotT1B1Y2IwRFFxSkpkbUNmQzlaWHhncFhTcHBxQjNqbytDNzVsZ1R5ZDJrZXB3Zjl1aVZUei95c25Idmo3VDV0RgotQTA1bGZuUWEzME1kbGxDQmFZaXNKYTc3VHBxOFZvQjFib29nQy9VTnNDb3JzdVhDRGU0UHZLUGVFbEdva2R3RgotWjMySGRUV2Z0bSs5WmtpUUJZN2FLeFBFTG5NYVRFdnhWN3AzTzQ1YnFjTHQyeXVMZWpEU3A2NGxQa1gzSTFaZQotblBkRW5ZZk9MYWN2RFd4WkFtcURtekNUd2JMcWV1cWVYRXk3U0RFTHNPc0xqSlFvckljdit0NHkxNzVqYXZwUAotOGY5VE5odGVOaE9UamcyY29tM0t0eXlBcFVQWkh4RW5GbHE4OHpiV0NxT2czcE9MWVhibThxYUhzMnNobERvUAotUWkxOEdIUXk4ZXUvbW5qdTZVREFTQVk1eENDa2Z1aDNHVlFYOVRxVTYza0szajMrVk5GbUQ4djhsdVN0UEZxWgotWjQxbWViY2t2VFBzZEgxd3pOU1oweXUxbTBuVGZHcmJOYnRHMWdERWRuVEJzTEg0UDFobTNERlZPTGgxUzRUSwotaVZsMEpVbkdiV21TUDVBSmpieEx3NFk4S3JLZ0tNQzdTREdsU3lXaUVIK3JQa1Z0cXJKRXdHMG5uYW5zdE04TQotRGRiZjVZdnBXWEZZR3pDRVJNbTJXcnBXVnJYTHdYZE1XNDk3Y08rWWVZdml3R0RUbUFxRlU4UG9Ka0RDdDNGLwotV2JQN1NsOFk5cithOTJleW9XbE9oOWlQMXVFbmVOc1Qzejk1d3BxV2xqOWVZWmxGTmpEOGFZL0ZYZ2ZualhleQotZGVoTnZ1Q05vcjUrRkk4ZnVPSGoxQy8yWjBQc2ttem9ZdVdtbm81c1BoTnRFMkdwV2hVRmVqVkY2UWRiUmJ6bQotNldZOStzSmVYYVpjcmQrQUdINTFPRGdzbGlTUFA0OGJDZmt5bmtuaTZiVnlVUlBZZVRkdWhkOVd3OFpYcGpOaQotUk9VR0E3M2VkeHpaZmZoQXVxdWpLTkU3K2NzMjVrVmNoWjV6aDNTOVJZQ1c0aVhmTXNJeUx2MmJpNmRxSlB0RAotWVc2ZW1CVFRITVlORTFFRnlCVkEvV0xMNzVFREV4SmVDYklhQ2Y3c2g0bHNWSTZNTXlVMFR3VG1aK2pOQU5xaQotQ2lpeXMwQVlTZlJBczQxbTM2aDFFZnk4RzFieDk0NmlTaGwvQllRUy82QnYwbnIvTEFPZmFxbzhteDkvamovegotWng5NW9YOHJLVmlBai9kdGxIKy90ZVcraTJ6VlZnamN2RHIxcHZla2ViMW43eE5MeE1aczJiR0hUZUdGcnFyQgotMXJ2OWg5dVZKUDExWVA3QXV5QWZsQUMzTE9LT3R4ZW44Y3hodkZXSkdXL2RqeXJFYUVUeUt5N21HODd2NjN6ZQotT2JvSllQMEYyMDA1RlMzeFJaSkdvaGN5c3ArQ0RaUy8ycjBEZmlVaTFiL3lYZU1mNnlPZGgzclhTVkREcnhCWgotWk9jaUlnYWRWMnd3TWdqM3RNcEhmQTRrUnVOV01kcjJPVXdzMy9LbDJ2Vm8yc2Q3b2grTnJ1ZCtwZVNuV3ExZgotMHloc2JyRWh4VEZlU0t4ZDM5cWtVZzhFTE1zTzNtTGpVVktDMWJGWnpkM2NIdWxWSmhCUkMwdkNyVkFnZkZ5ZQotaHk3RTlzVTQrY2JiR0diMzBrOFdPRG43Y2lHMTQ2QjRyditaWERUdURHL1BKZURmNUZMckpBZzc4UnljRjFYYgotdlJmTUljcnlnSWN6eEtnZDhzSHVBazAveVlOOHRNODgrOXdFelByNUY2WjJEajZHaWFpOFRIOHAzdDlTT3BldgotSklGU1Z5UFl4VVdnNUIwa0NPTGhpaGUyYUJQMkdpMytWb1diTm9SaXFIN2RWNnJlZnFaRzFDUGY0UnpLSmRUMgotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfYWVzMjU2LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfYWVzMjU2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTJmYzJlMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2X2FlczI1Ni5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1Qcm9jLVR5cGU6IDQsRU5DUllQVEVECi1ERUstSW5mbzogQUVTLTI1Ni1DQkMsNTJCM0E1MjFBNEJFNDVGNzlFMjY2NjdGQjZGNzlBODEKLQotbTEwc2dUaHUweFAxd014KzY2NFAvTkhTWlNqVFc2M250QVV3VnNDZnBXYW16UExHV09Rd0dxaGZUUDdGRjhBagotY2tnb1lMOUdyeXVsbTQvWUxINGxoNzgvYmVHVlliWStkaE9pUW9KMjg0SjI4djFoR2J3cjdqUklUdWFiS3RlZAotUFNxRDhVRVdxSFJtSm9qRGU5eXpuYmZBS2pkUnlCYXBRZzlxcmJLc3V1bXE5S0ttRWIvN2tYS0l5MGVFZTJsUwotVTAvYUdGbFBoMmpweUx1VjE2SzVOYmVJWkJ6eXVvd1pXY0YxMkFJNmdjK2F4UDMzZ3BXUERvTnFQMVBMbHVUMwotTEZ4N28vMVMwbU1wVk5ROUdVY3hrOFgzbW5nSmk4OUF5VVZvYnkxWUlmZkdFUVdLTS9scWJsNC91enRWUmFIKwotWkw2ZC9sb09tSVYzRnFEczRSbERUVUdNYmF1dnVyM0Jyb0gvc0ZOTmZzUHYwTDYwVTVacU5WV3BKU0xkaXl6VAotQmFxbTBqRVQrcFFud081cE5WTW1DNGxWN1pUSVJjb1NtWHdhdXR1b3hBUG9KS0dqclUybktHQ0ZXdmJZeXE2ZgotcElSN1JVSDM5cHo2aXZ6VzYrY0hiUzVCLzZYNEJMR01yZ2s0WStETlVXdERhUGVib2NJWktQaFVmdm5xd2I3OQotb055RG1uM3dJbml5T1lzWmczWXpWT29aR2FuV2ZFZk1jOEFRZi9Nc0htU0VUUlJHMyt6R3FmdUYyZ3JnTHQ1TQotNmYzeXo1eWJLbk1ZQzNVK1F1Zy9SMHhDdzRyOVB5Z0NGOVMxaW4ybVBqNGFseWZnVTdiZlRTbnlJZUVFekEvZQotY3NFbnY4YzNCVXJmdTVNcjVIMm1pQkJ5RW5hRThMb1c0ZS9mbzlSampsaTVZWVB5UzBHbWo5ZHNwMlN4aDZkMAotRjZ1d2Z0bkhXaWRtUGp6bFlZUmFDbkNkMTNjZjdNeklnQ0FBTEtVNll5WmdqNndIWjlVR0h1UFkvZ21NM1RseQotclR4dGFaOFJrUTYzUUx5QzNyZmVkOS9yU2NaTFAzdW5uV3JFOHNyeElCZmtyZG1GN3E5RjdHdnBETHhqZytGLwotU1BEWEJVOTFzQVZDTHNWNHVFVm14MnVZQm5DR1FDdmsvc0VTbHNEV1ZIYkl6aHFRZWVHT1RGVHdSaTFMN2RFYgotYjQrLyt0NUF0V1YyL0pxcDU3YytwaTlNSVNCNmRHUmk4UHd6Vkw1bzE4bVJxUW9xRE1HYXpxaVpybmtRMkhMbAota3BYQVBhWmlFQzBCL25iSGsxanZzN1Q4dnlja05DbzN1NDBUaDBXV01XREJnMm9NTmtGZzAyU3lwOXN1QmZHdgotZW9mM0c3cVBLR1o0MmhyTXQvbmlCaFJoeUs0aEI1UDhadGNZcy9UZEpKVkFLM29CSGJ3WmI0NGo4ZWZrbmcwNQotM2dHQ3Z2UmpDWXFQN2lqaEhhSUJhdHFzU3R1QW9KcVpUUXNYZWQrNUJlbkFDWXFHeFQ4bUpsK0pNcVMya2p1bQotTXQ5V05LNkVXVjV1VGUvOE0vQTRCTWJSNzcvQU9nTEJZSVdwT1djc2puVFdEYXlaaWFwRXduS29NUFVqZVBscgotcGJ3U2RQaFAyVkhIRktxTmFrK09FRHNQbTNvdVlyQ0Fvd2Uva1UrV3ZHdXlmLzgzQml6Slo0Y2JudTRYRTdKTwotanc1UEhyZklXMEhoZHFORE01Q2FnUU9PV1FhekNVQi91SCtlaHF0MHRiRG14N1pIUHRBMzVaUXkrdFZZY3ZGRQotUk1vendwRWNEUUhEeW9vV0JJV1h4OHY4TFl5U0g1a1lVa3dUeVNlMFdRclBqRkFRNFdPUURUYXE5OGdtL3E2Ygotb1VHUVplUndQQWRVYTFtdWoxeFVFTHpiZW9rOGgydUxGUzNWRWxpTEtNbzlzM2dLL0dLY215YjN2aFpwRSt1VwotSkhSUitNa3ZTSE5PeVYzZVQwbTZTOHpUaitXeERBa3J3QTRPV04rcFpuZGxJTXpVdUo1T0g0aXlYQkRJYm96WAotT1laZ0hYTjRoWExPMlRoTkZ2dWQ2SkZqL3BIdXJUVkJJQVRTbzRCYitWQ3luUm10aVY2T21Ib0RvTlFQcnYwSgotT3R0dHdBYktFSVVwMGRRTE1EenhpeXFudXJFa3Z3WEpKQS9oWGJoN3B4Q1Z0OG1sVHp1VldMTHhOK3BhRjVSbwotM0JpbmNCbFZ0UGRXY3g3NVRFWGhld25GL0ppTTI5aUc1cXg2TlFtYUllNGYwTUd0UENGRm5lZGhNSmcvektwZgotV1JRaVhXZnNDQ0pXUE02TlFkQ3htRkprUHVvRldHVTN3cEZlcFVGcllWd2duU253WWRtRHBoeW84SXpNZFpLSgotSG9DNlRjZnhvWDNFYU9PRllOUERyWXFGVTY0Z3BmSVg1MzdDdW5yNGwxMWttdDlGMkNwWlNaN1NSVC9iK2ZEbgotSkRrOCtBZG04YmRpc08yYXAvVWt0ZWk4aWJFWE1jcEI1STAvdDZWRE9HRkxudmF4K3UrZUdINzdZSzB6VkV4UAotNU42aDhrdU1GVExZU2lEaTAxck94QjNFZ0FYWXFpTU50dE0zWHlLVWlOdkxSSXVCcWlBV2pRL2k5NFBpZlF6RwotaTFVZUl0UlU2RHg0SmxKaEtuazVDMTc0ZEd3djJjZzZpWnBLeWRIZXhSeUtsKy8rcG12WUZzTk9ReGtMYy9VOAotdXh4SEFOekhSSW1uZENzRmlXZlg1V201QXVZOVJqNUViVzNENXZzR2lBVDJ3bTlJcmUrT2tJZ0F6T3BwK1krYgotbGxUMnE3YUtWNlpSYkdZeHF5MmI3Y3JQaEMxK09ndlZhcEdkYXZDaDFLbDI4d1p5VzB6NjNLendoS3JmcHpURwota2VKbjl1b2tyTlRvOGk3a0I5T1lRbkIrWWo0bCtGcFgwdkY2bUM4MEhXdHBlOGROMWZFYStuQmhNZzlOWWFlVwotVy9WQmNkNkhIc01VYkkrTEN4aEpkSlltNVpjTjcrN0Frb0lwMWxrV2IzaFZEdXRLWUtGRTM1bzJQUWF1bFZVdwotVHN5YTR0cVZCNEZwWFo3MDNJa0JYS2YyclMrbVVaTGtCTTBGRDBOWmNWRkM5RGJZRktocUFyaFB5Z1A4RHAwYgotNzBlTUVOcHZ1citZMjhYaTVuaGdCNWJZdGI4QUt1RVByMkErTVEyZTBSTnlTOUFEZjYyWG5tbDF4S3BQanR2UAotbHo0MFFJWmFpMDN2UjRqWTYwUlJWWXhpQ2ZiQWpkUjdVRG51eU55bkdYZ1JZUjE3R0FFc3N6dHVXc3pPdW5lRgotdVpyVUYrUXF2akRudVg2VHFVVXpkN0RSMHR0OW41bldFZVg5NFlFd2tkbkdNclBTRGpZVkJGclV6eGIwQzhFTwotWWR1WG8vWlFWUXkwZWdaTnFpSVl0OU1uYUxwbm02MVBOcVlqTkFKKzRMdTQ4cTdSMXgzbW5KajJYY0hPb25wSQotZ24zcmlXYURWT2c1b1MvTThUMktvZzVRVGZaWHFZajRKWWx1V1pqZ1BsMU93YnhmbEFQdlo5U0p3UG5Rb0VOQQotdjNlbVpWZUNaREg3YUliTFZJWFBPcTVjWnRzdHVxRkNWemFmWThGYzlXcEFRN0F2MVRpU3ZKYi94UGVEMEQ5ZwotS2E5cTlFNksxWStZKzRnZERrUm5zc0cweW1MaytGMTY0KzZjdUNBVkFMd0d3VytWdER5YzFlMWNjKzQ0NXNpQwotNmVwTDcxUVQ5NENmWk1RN0EwWmtndXNLckwzWXZ3a2pmNm1Ca092S2VoMTRyYmRyQWx0ekNTcmY5UG1FSnRCOAotQlJJK0NXaHNCR1V3cXFUNDFVNVNGa1JHMkcxS3g3eElMYlpnSlhKZkU3MWVzQjc3enZUU1pSYzYvSXV2TFV5SAotTHQrY3J2Nkw0TnJOODBkSFlyZHBjUktzcElZT01wQlNHR0g4T01mU1ZVL2t2QVBWQjJ6cXpIZ0Z4QTBvSGttOQotY0xDTElQVlpQOEYyaUE4RWdobTl1R0lMeGRVa1IrWWRBWTJaRXIyTjM3MjJaSU1CQkRJbGpkUUVhUkFHRGgvSAotQjVlM3c2OU5WRDlkOGNLSHovTTdsZDVPOUIwbytHKy95ckRrQW9rSnVHQUNIanFoRXpoQmZwRE8xb3JOYjdTagotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfY2xlYXIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2OTMzY2YuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfNDA5Nl9jbGVhci5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1NSUlKS0FJQkFBS0NBZ0VBem9QbnFZaC83RVRHbWROV2NjenE3M0ZXKytIZlNtMVBkZUpxaTlWbGFRSHZtNFRaCi1oajNKWkFwM2l3L0R5UUZpS0RSR3d1a0xicm9XclE1dEdua3NFbXVMV1lpaW5hQ25BcFZMcWd3M2NyekNUQm9PCi1Yb1J3eWo5bUU3SThEMk55akJ3YWsvUTNtbmJxQW91TlZOdEUyV0FxQnpFSE5JQnZ1YjFCdUloaDlNenFRVmlCCi00U0ZMeXVPemZTUGZ1UldPMC83Umt5a29pWUMwbzEyU1krZkFMUDEyUE1TcXdzU3V6VFhhUE5VQkk5NFNjd1pPCi1NQWM4ZXk3am9tVUtQbkVaUkFTQndDTmFDK05ZcjVSbFI0SlAyaHFvem1hMG5iem5kUHdQZFlaMm00dVpuVHpQCi0rMlk5RmJQMmJyUllDa01iUE9tbnQwZzJDamlEZHcxSjBVSGJGVDlPT1ZYVG1GWXJHdS9CbEYzc1g3YWtMejhsCi0rNEVXUTk3YWNHUTJnb1BrMXdwaWFveEZBdWpac0NHV0dTZEVXRU02TEVtWTZKci8yY3lYNEVsdzQrUTdManhwCi1EUk42amMzUUZvdWk2MmJrS3FvenFQcysxeXU5M3ZQZThHUkhJSHhDek5UYTNvRHNFNE1WWCtib2MvQ1kxMm5LCi05dURrQmpwd0w0TDgvRlJGU01EYnFpVmxDbndxa1FaaGZ1dHpnRDY0SU15MEIyRmhidmFQTSsyMk9FRUhWRWIyCi1ocS9HYnM0eTZhUFFQNFZ0SVdlK1VyRmgwRlVJUjB4YXlHbk1FK2JseEQyUHg5b0ozS3BKMklFRzl1bHh0SFhlCi1Menc1amdDNTg0czR3Rkp6OFIyREwvanMxZGJOWGlTUVpuTk9hdTBKMnNyejd3MlhGbzFwdUd4WTlVc0NBd0VBCi1BUUtDQWdCcC9QS1JaTmZhaDdXeHp2QW51YmE5cXRxc3JWRHZIc2pRUktMUUgzWkxmVTNlOEVDL2o4aGpTcWZ0Ci11K3FNcCtRYnBEREk2ZGdQUFB4VVZ2b1J3eXltUzRHYU12RGFtMC83bUduYjNTYzhBTHByV2xnVGxEOWEzVXpqCi1RTzlvS203b2o2Zm9WVWVRUkFWM3h1MkRKb0hnV21WWGlZY2NIK3EzVmZWNzRxcjdlNHVpZSswMGdPVW9QTktxCi1vQlc3Sk9CSDF4anlRUVpvQTZFeDB0MUYzdlFYWXdJaTBBQ2ZzMWZQUkJzOGEwbUpnZmpRQmVWczZ0blVrczBMCi1WSFg4ZEFrMmltV1pHY3VtSEVrdzI2VmJIUHNrZ2RndkRqRVdYNVFleXhxWUE2bXR6T2pLOVNIODhZemFMYUdGCi1VWk41dU5VcTN2UlBzWVRpbS95RXhsSWpUbnhFTCtkTkFlSTBrWlFwSFpLOEc0eUhiV1EwV1JKR2Q3M2x4SVVTCi1mWGlWNC9NSk5pLzBwUGZFa2xaNlRUaFVaSTI2aW05UXhSekdEeGlJazVJZkw0bzlrRjNKWGRqTk5kL3JtNjJoCi0vdDlwUWRiN1V2WEd6VTJSa045cS9mT3NkWEY3bjR4aWJBdFVNekNEU25Rd0lENXNJMTNnSXhzSVlwTFA2eDF4Ci04RXcycy80ajR4VmZ5RHQvVHdpbUFnQ2RGUUZadU81SWlITlZvQXFhN21DY0FKSDVVRmR0RmtSdkRodGs5L0lsCi16RjlYcEcrQmY2dndsb1V3L05FY3pqWXpOTGpLQW5sMWZaSkNnVTE2Y3Q2VlE2eXNSMkRYUnpOaTlWTGlnV0pZCi1SQy8rcjRQdk9UUDBUQjVGaWQ2TXRQQWFrYjEvWUNQMjV6ZzdYWnhSVzFvQVZTNG4yUUtDQVFFQTlER3R5M1pMCi1oNEJydUJTUm1rWmZHeVNLUzNXby9lWHlyWTdrdjgvNitFcjdES29HemNWYk9lUXhCQnp3Sk1nc3NSa3hTVHBPCi1TZWRyYVlCQThtYjhFMVQzWmZ1elMyZU5QU01OY2k5dWtXbDd4U1lVSmg0Qm9nbVZxVURRUGR0U2NnUmRhbnRQCi0vbFNGU1hGU0hvUnZ0ZTJhZVRQNllWSXdhNm5ZSUNuVGkvRjEwKytMQkpQSEJUV0RXL0RWam42em9WNFdCbE1MCi16eDhDM0dBb1hETVAzOGVKTitZbGQ5QXBubFRmVnYreXhLR0pwSlNDeTdmRGdqcjZ0Vk1NZk1SbG05Q0p6dHFkCi1oQUVWRlJoWDBIYlJZbnVVL3ZjUUg4bGs5TllEQ1k1Nys4eGF6Y2MvTmRZdGhaQU5kUlZPWDBNVldWaHhSckdzCi1RbEJSS0w3aWRjd0VGd0tDQVFFQTJIL2kxcS9vWFhBc0ovSGRDS1ZnNFkzZEtHM1h1dEROSk9IdzdVVFBPUWRPCi1WcjhMQTZoaXQrRDZ6a1JsTHlHRlkyMlhxbHdZOGFlMGxXbGorZENBYmZlZmRJb05Rd1h6L0swRjFvZno5Q0NjCi1xTEJCY2Nydm9CNStMYWI5U2s3WUVqeEtBdDhkLzZVWGsxOU9TS0pGeHhuL3MyendVdEtJbCswZ2tLcGJLTEZwCi1RalAwMUI0NUdoWXhIdndEVG4zb2RpdHRsYUZ3MFZpbG5xRGI1Z3FtMmZpY1dndDE1TlpvMTYwcDMrZjBNcEN1Ci02ZjN1bU0wZVJwTHN2WnhtSG1WUW15UUdSK1NURDVBbE1IWEFKalZvUFA3aXk4RU9ucmdHbkpnWTZ1RVZURUsvCi0yaFowcVlhcVUxclB2ZVhTSi9nOHN1MHNva2Fyd0tsT0M3aVhhOCswN1FLQ0FRQm03NUlkVkU1ZVhpb0tQTkZyCi13UUpTUk1Mdk1EZitYekkvS3g4T0pEUGMrbTU5Vmlic0VxZHo3ZGNqcnJja0tpVjh1ZXZtdkdkSUMvOWhSNmtaCi1CWVI0K2JZWURWUDFFeitjWit4QkYvRjU1b2RBQWQ4NGVpbWlEbnhDRG9vNXFQeEdCOFVCSDk0R2pjWnB3UlVtCi12QmtERFpleVE5RGx1V21qMk1LOFBDVnF0bXcrM0prellyL2dXRUI1UHpvbWlRNWJsWGVmVHQ2SmZyOEwrcFRJCi0yTlYyTlh5SVRjRzVrY3daYkJtQmFPUUlzemQ4WXdZSHJmMENKcTZNUk9mY3FFVlV1MEY4S3ZkL0w1MmRlTmQ3Ci1qcnFRMHh0cHB1ZnJIbEFxVFJTV3NMTmUzelBmem4rOHgvNEVjVWJhOWhKRllkZmNBOFlzVUxVV2R4amZIaWdFCi1FKzRkQW9JQkFRQ2pYcTJmNzVIYW9JRFJpN09OaUs0NHhrSnk5YUJxK3BFekdjUWlaMkF2MnBHRTZCaTVvK0VLCi1mSjBGOVpxZEhDQjV6UU03ck0rdDJ5MXI2ZUZsYTY3ZVRKTm83NXZlVGFtMXJDTFJwam15cU1GT2tlSndxZ0IwCi14VTNWeVVNdFJaM0s5TytzaHcwdUVqaGVIdmNGM0YzblJua3J2ak1EYkpkaWZhK3JPc0liVFBUdTNpSUx4dHEwCi1FcmJ5ZUoxT0o3aTVJMEJJUDFEUXlLSUJ0OFQ0TEdXSDZoQ2g2akFHaEwwTXMwRDhFeDYwNFhUOFlZQWdrZmdjCi1yVlkwSnNid2ZPZDhpb3lxeDVNcGxVNWE2U0FjTlFUNXNpVVdPQkorTnNQV2V2ZWlsa0xxRHh5U3g0czFPY2RoCi1xdzlFYng1TXh3ZVd4VjUrL2ZFeEt4RVh5eTJJVDI1cEFvSUJBQkdwZWI5M2tZa3pieWN3a0psM3dzcUNQSWJ5Ci1rSHd4V0ZwYzBCM3c0dWdaUUFVWXQ1RWlKdExDaUtwQnFqbSs2LzFHZHY5ekFKVG5kS25LUGVZNDNnU2pUVjNQCi1iT2JaM1g3WDhVdUFJOXlKMVR5YkdRS21xbFB6TVNWaUJNTHUwSmFPWUN5YW4wQ0NTWlVNQjhOcDlYU0drdndOCi1kZ0c5anp4cWo2WHZZK3o5Z2hqM2ZmaEI4bzQzVC9WUElVaDRuY0lISDZkQ1RvYU1XQXpQV0FiQWFJRWJBam52Ci16cUdGVG9UaXJCSFFndVM5VTV0bXJVeGd3ZGVaRVhLdDhVRTFqL0dWaXJBbmduTmlJbWlnZVVmTlVsb3ZtdHYyCi1DSnVBa3h6elJFcFZOZFFVVm40K1VuTU5hYUxzOGxQK3ZWcUwwb2pCUkdOM2VaRVFydkppNExFYkNEYz0KLS0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2X2Rlcy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2X2Rlcy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViY2M3MWUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczFfNDA5Nl9kZXMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQotUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRAotREVLLUluZm86IERFUy1DQkMsMkIwQzIxNDU5QTBDOTk1MQotCi1LTjZwOXRKYlREOXNaOGpWQXA3Zlg4U3VnNlhxQ2k4WUYrb3kwU0I5TmVITytZQkRHSkROdFdIU01TS3pqYnhrCi1yNUFOKzc1dVYycEVvUnJMeVlhV1ZBMjJzYkFKYzc2NlpRWDAxdFNreFVYOTZKKytEbzR6VXhSK0dKdXNJVW5qCi1SQlZEWmZ6N3ZnL3FhM3hKeTV4M2NCMGlxdW5yR0dDUUorQ1pzVXRZbmsyNlYzaU1CalR1L1dRK3ZxdDJSUkl5Ci1kd3pRTlB5MkxXa1hRN0tJb2g4eURHakd0V2YzWFlGWVFVMzdqR2xTb09HL0FWeGE3Q3JYZHRBVGZhL2tHTFZQCi1mT2VUNHdETGpLZGF3VDRHVWhVajV5dDcwU1VTRnRpc050VENLc0xHTFNwZ3ZPNEtXTVlPc3ZvNnVCNGp4VUVGCi1YNXBCSkx6NDk3OERKNE40TDA5UWcyRHhDMkpJeXhaNUwxZEppV1NnTVZuS3RxNEhNMUo2VkZOVXNlQjBaREI1Ci1YNS9TOEFXd2ZiN2d0QlJEOGhaYytVQmFCQXBnVS91czNBWmhrcWN6c2EzNWoxMm9wK21wTEduQVdpUU5xdW1uCi1pSGRjQ09KVDZaTDhkcTU3cW1iRXp6eXJjZGhZdEZKbXYrR0xTNm00WU1LazRDSGY5bGNELzhDbWp4aHhWWit4Ci1Pa2VLRi9NSzZmMWlVbVh3WmwyOFFJY29YclR6aW55TGpGMlJiTlFmaHJnSTJaVVRsYlZnRFZXaHlnQjFlZVhtCi1zVzlKNEIxSDN6R3NsYk9jcnFkaDBOSGRXS1R2VHArbGZ6VHRyVXRkMFRxZ1JYRXJGSjZlM3BLRERDRGdnbHJJCi03bHl5ckc5c09GMitCbVlldkxVZTZSOFhDQklGaGJ4MGF4Q2xOMTlrMk9uanZDYk5wVmxCZXlVRi92Yll6Y0JYCi0xdG9JTkVhdVdNMko5bm9pMHlzRnM3dnk5bkJWbEZjck5uU1hORlNnYnlkbjczZllrMlduTzVteW9CQmFwc0tECi1QaDlzVDQ4L0U3eGZnRG1LSitUTHl6MEpmbzk0Uk1PUUdnRDhxTnZadkFjeFRwd1pSWTFxOWMwY3JDaWhPZFhFCi1xYXZkWUl6SURGOG9oNDYvU0dTVTNSaWxFMTR1SEhPdG93eldLYzJqekQvTHk1L2NIVFp5K0RmUGQxZXpMMFltCi13MzRqajk1MitGZE1NWGI5Y216UzlWdzN6SE5uZFdDTVovOXRQSk1Sb3FHZ2JGeGNYVml3aldsa3lOb0duMnUyCi1KNElubWlJYnh3dkV0OEpOZkhDOHFMTFprUWJ0ZHdMS1A3dml6MkxteW4ya1NSN2ZXZW5URHIvYndnYUxSaFdLCi1JaTQvQmlaeStSMHZqUjY0VS8xMitYdGRZSTY5aWprd09JVERMZVBZKzRTWWVaakhUZTJCaGloaGZWbFI4c0xMCi14UDBKVzdNcW5Gcy9lSnkreGUrUFUxTUtHL1dXcHdoaStqR1dQaVlKcTdjdUl3ejRsM3g0R0N1RTdSKzZFRjl4Ci1TeHZ3RDY3RWhJOW15eC9pbHpkUGlQSkJ3UFdxRXZkOWpWRXZxYlRCSkVSaU5HSDhYWEgxcGpaL2dQZEt4SDdMCi1RbkorQmNacnh4ck5XK3hLd3ZrQUJxMTJRaEY2MFhrTWlrM280WFJPWTRtUzlDR0lPaTdkK0IxbXJHNjlIa2c5Ci1CVlZDd1ZpYmJZeVgrNytIYjkweDl4MGU0Q1k5bm03aDBQckdNajB2R0ZTWTBvVUtrYTFPUHJhM2dxWlZRemROCi1WYitoRzIySXczNlZsYkdia29FZXpMK2ljN0hwdnJsNFd3QWNOejhCcTVpeVFMYnVwcC9yZGttWWgvSkw0clNoCi01MDlZZEVGQVVWNjBlTlBjR3VTbnhoeEIybTZPaTVWaUVOTXcvelUycG8wb1praDVYVVBDaW4rUStEZzU4ejFECi1xZVdnK1pWaExNdWNzV2VYVVFpTkEzVVFFSmRlL25heWkxZjJTeE1XdXZaeHNhUzVXaDZQcnF1dGZ3dE9va3VmCi1ESnpXSkhpTWF2S1A5bmZJajlwaGxvbVpydTFSLzJmV0VtZTg5ckNyVUh2M0tsOXFWNGR3Uk1DREZzcUw2aXVoCi1zaUQxQmpKMkVGd204c1BuTkw0R1cwU1pQc1daaUYvRU5hc2lWYlVodlJCNmd5ajlZWW9taW1JaE9JanRuN0FzCi02ZEpwS0ZBWU9GSkRYRnY5T2ZqOXNTZERRUC80R1l3S1RhWUdiR1lvL3FJRFByaWlxdUE3Q0dCSS9na3NBbW9MCi1EcUJzU1hyVUNhaVBGN1hjOExqaTVvQ1RIMzRXUWQwVFlMT1hhd1dCK29pQ0NDVXduSXQ4ZkNsR0JtdmJmTWZ1Ci01b1hvVlBVRlNEZ0tDeWxUZWRYSmprVVhNUkV2TmRRYlNOYjlvc21wODFXdmVMejNIVlU3eVlrc3VKSzJVbmd4Ci1SK1FlSU5oTjd3QzZFOEpKVVl0bjZBdnhmaExwTUJwakRmUTF6T3FEaXR5ZTRaMFlSL2FJNDJkNWxsMlppbEwwCi1naW9mMk43U3BudTBnNWYxdHd1VzhySWwxQmp5a2lKSEFrSUZvVEhhUUFwUUR0Vi9pRGFySkpKMDVPZzFsV0drCi00czVXTXdYdFZKaXE0UUlHaGVDVzJobzllS2pjaWpvVXpDRHZLOHBmYjMzalRkNC83N2g1TThEUXd6eXpWSXFQCi1hcDVtVks4V1RkN05KeXB3L1ZQMDBFb3lLVGdZaVJZMWp4Q0NZdFZhanVrZzZCdkxuWmlqUDJZQS9FK2l2cGF1Ci1sdW1ZaENZSmovd1pIeGhCdUwxcWpqejc0RW9sNko4MVZQQWd0M0RxbWo0RGlkOVhIbDJLK09NeldsRGZlK0FoCi1lUUZFSzB4aGtQeVNjWUFFNTlkVFYyR3JmK2FiR0J4WW5IOFJ6d3hVaTMvRjBEVldXMGxMWngzdGZqZkoyR1ZwCi1kaDU0cGRsTjRETElEY3g2dHVLTVUvRjBOQzNsK2VzUXk2c2QrQ242MnBqOElvSnlPQlN0WnVHOWIzZko1Q2ZICi1kQWtqbENKd3RYNkYrWC8zTUFNWUxNc0ZMMUw1QnhYSWRuN0YrbUpmdG5kdERSWDRQdUt1VzJ3djV6TTdVaVdhCi1vUVNLb2ZkUUZJNHc1anh1cDdTYlllZExQRnUyMkd0OElwTFdoZUVqeFU2dE9tV21wMUYrU0NGb005dmt2Mis0Ci1oWmpEZXhScDVqaWRHczhBM3J6d1FPcG5XS0QvSEd0c0paQU1ZZTErVUZ3R0pOcHo3b05NMkl0NGtmdXZWcVJFCi1LdmVzdTVVdCsyRm1SSjgwWTVuWldZNTNtWkhsZTlHVEdsSmVGVGV1ZU9FK2FGenBqOGdoV1hZNXN3VWxjTndjCi0wNUozZnFvbTJqOVp0OFBHdDF5YVZvNkhkL0JiSWRYSjNsV2U2M0Nuamx6blNCS1duN1hwZ2VpSitzVSt6cVlFCi12Y2xJY3pOVkpMK0Z1T2E5aDM4am4weWJsTVpReWJTdERQWXBPQ3BiL0FIeHIxNEVGa1pKS0NzNXpObjlSVi9TCi15cGxseUIzRFQ5ZkJDV2VkOHJ4QUgwUFE1aVljOVVOZVNrZm1XYXBmSlQ0WUNVbXpOWVUwQy9mN2JsWWV0M3hMCi0xZ09YcGlJU2RUaDdpbHpGZS9pNWQxSTFVZWdtdFRTai9NbVZ0VDhtdzFncWM2TklhRklGWStWS1U2YW0wejA3Ci0rYUQ1bGxJME9rMy9KMllNSktyVzE0dThWVTZvQUtmU3FoWlJkV25FZW1CSmlBZ0tyZTlyKzNxd2czcEdnQkN0Ci1zUllwWFphUkxiem10RmpJNU1meTB1QjJ6aEIwWHVxVkNDZ3FUN1dxemZXaWxnTFJQVzFQTEpvTXhPeWtnOUZXCi0zRW9mUUZKWjEvakhDbTBNeGN5MmE1ZWR3Z2pJSGV2UlFHR0FXSGFPbmppSFhLQmhwblJSVGx4c3YrY3QxM2tICi1jOGNUN0UxdlE2MTRoUmx1RGZUZVFteUhYZXJsa1N3Z1pEc0VhSnBPSjJuV25lczJrNnU2aFJMTkVQTW9ReTVGCi1kVWRDd0x2WHhORW5DbGd4OElpek1KbXh6aHZtQUhGKzkvL1dnSlMrS3hCMDAyTW5QNHdYOGVqcG5DZ00xL29lCi0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfMTAyNF9wdWJsaWMuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfMTAyNF9wdWJsaWMuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTQyOTk4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4XzEwMjRfcHVibGljLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4XzIwNDhfcHVibGljLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4XzIwNDhfcHVibGljLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY0NGE1Ni4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF8yMDQ4X3B1YmxpYy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF8yMDQ4X3B1YmxpYy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF8yMDQ4X3B1YmxpYy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxZTI5Y2MuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfMjA0OF9wdWJsaWMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0tLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQotTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEyeHgvTGd2TnY4N1JkUkNnb3JqTwotZmFyaUJlQjYyRVJqajdXOXdMQVp1VGU0R1VvTzhWMTBnR2RHaHdiZVczOEdBNzNCalY0SEZkUmI5TnpsenozNQotd1JFc3JtcTVpcjBkWjJZWDZrNjkyeFdhZ29mazhIakRvNFdIc1AyZnFabGY0elBzek9vTHRXRmU4VWwrUDZNdAotNmdFTXpFS2FkcHZFMERmVHNSY0JZUUVXV1g0Y0Y4TlQvZEZ5eTB4Z0ZkcDk0dXF0VU8rTzRvdlVhbmRWMW5EWgotYTd2eDdqa0VPS085NHRIZ1ptdmluRWVaNlNqbXR2d3V5bWREaE9qVmc5YWRtR3NCUG9IY1BIcksrZk9jOTlZbwotR3lkNGZNUFExV09uZ1RTSnJTVnF2ZkxxN2ZwWC9PVTB4c0VQY1MzU0NCQWJyVVJCNFA1NW9HT1RpckZkNmJEdQotYndJREFRQUIKLS0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8yZGVzLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwNjRlODYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8yZGVzLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzJkZXMucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODA5ZTAzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlDb2pBY0Jnb3Foa2lHOXcwQkRBRUVNQTRFQ0F2UmFWUW96NzhIQWdJSUFBU0NBb0JpSUREekQ0OUhFd3ZDCi1DT3JSck9EVmdZTUo0K2p5MDhqMHlRb3lqamNMUnQyVENNZE5aNkY2QVR1YzdZVVFoY3ZKSVZUOFJMR3hsdUo5Ci1CaW9sZ2Q1VXIzZWxGRmwvOEQ0alNSN3g5em1FRnE2ZnhEanJrY2JiMXZLLzFwdGg5Q3FmaDdGWFFnRDZEbG1wCi0yWTFZVGRyZWxaVFFzMGhSWnllMFltUUIvcXBCcysxVlkremtTTnZLdGxKWnFQWW5LYXdNeEQ5RGlmN2dscERWCi1uZHBadk5YRGJiUnkzdkxxOGswcktSSUpRN21Mam1BQSsza2dSUnRVaENTVGJ2VXM5b0lHcWdxN3htNjBtY0F6Ci15RzRMZlJRMmtoWlNRVEs0N1BFTnNEb1pyYXppb1o2RjRkN3FtQi9wZUxXdXZxVmRwQlk2Z0FEZWN4Sm9HcTVhCi00cXZaeTVzcmdZdk9GZkdpOFQzTDg4bUpjMzhVMldRMnMvZUhzbVN6QzdFbVhhcE5FM09FNnF3RGZuM2JrT0Y0Ci1vZGtzTmF6MElvSyttc2FVYzFld2VFeEU5N0VSbE5LbytYdUplTzdRM3JqTzQrSmtGSU5PTmJwZkZKb1NtWkVtCi1YWDE1WllGRmtZWjVlSTM2ek9wWDRpbEhtVEZtWHE3Qk9tTno4aEhXd21LVVNWeDhKc2R2cE1EYmw3YmZUdHhVCi1zVHpTNUxJZ2J4cFAxbi9SZFRSZTAzQUx1Q0ZJeUQvYkZkYmpIMHR6ektDaFY4WTlPSUhGdDlhTERNVS9icjVpCi10UlFGaDFENWJhR1YyYXRvWGkwODBzNGlpQW0vWk45NWJ0dkxPczBDK2l4SHBvbGdIc1Z3cmtKZ0tJemRRS0NiCi00Q1NIWXN0My80US8zS1RtNENwNHVzbEtnVkQyZmJuU1dNbUhuTjcwa0VSRzJrVExrQ2V4Uy9IaHQ3WURVM1dWCi1nMHhTUktibWVkcFlKME40cFN2cEl3UUtBYW9CV3BnVVZqY1dPbmFkTE5GSHo3cm5wd0R3NWNmaFdCS3lPb3IrCi0xWXhSaHBQQ0x6ZWM3VUc5ZFl1NDAzQVRoNW5iaHhubXo4SmtVcXVtU3QvZnZmQzdqOFJTV2hOSXNCdm9pV3hoCi03U0NyZDFaMQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfM2Rlcy5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzNkZXMuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTM1ZWE4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfM2Rlcy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzNkZXMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8zZGVzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE2MGU0Ny4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzNkZXMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJQ29qQWNCZ29xaGtpRzl3MEJEQUVETUE0RUNGTG9aN2Rmdm1lZkFnSUlBQVNDQW9DbUxMQjlPb1hDNWhINwotblExK3M0eEJJazFDRWZLQUpHdzBLUk1hS3N6dEhDQjdoUXdpenUvcHpKbEdqREhsRFZOa3VlNzlDMHgzcmhQVQotMSs4OTR5UjdwY3dUb1VlSkdrdjFXR0tteE9KVUZKam1obnNCUFF3N1ZLLzBMa0pKdGFNcmlBeW9CLzNnb1E5dwotOWl0enpQQmF0YnJjM3Qxb21jMEJRS3ZqbDhUNnFLb1lPTzdzS2dLcDhhS1l4emY1MWZobHE3TlBFVG5ESzJRMAotaWIxTDRjVmVaUzhNSHN2bCtyWTM3cnJzY1RBSXVuRWd4OGhaajcwNFpqQk1YYit3S3ZMTnRXaHBLZHd5aHdvZwotenVzajE1NVdEL0dtcWZYUXlhVE51M0tHS1orMUN0eko1N0xDNmhRb3UzdFZ2cVg1bHhSdjNtazZQZFpNZUk1WQotdkJhVTRsQkZVZDdPRXRWcnBFZWdlTW5LV0FCNmE1eTgzbGhySzN0OHljMmw3eXp2a2hMT0s2aXdGNE9FalJYcQotbFpMWkNjS3pkVk90MldvZHdtUTdRK3VsK3Vubm5sYUJEOEEvbVNjWDVHSlF4eTdnK2FjemNQZXJNYkhFNE5keAotSC91dDZKNEhNNjVUelZYbDZFVUdkMUI1TWtIYTVuQnF1ZHFzeUNBQVl5WkhsdzJJM1M0T0Y1TUVsc0ZKWWx4RQotdnY1cUNPYWpQQ293dk5EMnZXaTlvVm50VHNiQy9jMzQvVG14bG90dDh6bFNJajVjMnNEZUVmRGkzdko2bnJNZQotVzd0cEFFeVhlN01oL1lhNmpiSkY2NGY5RkxVSE13R2pWc2FIU1R6TVc4OXpwNEg4R3c5dWppRTVFOEZ3c1ZwSgotTkxGL0tNUmpBUlpFdSt1dWhyV2JzRFEzQjNpSFo5NGZPSDhvUW40SzdUUHBiSzhJTmovSkc1L0ZQalRLazlMdwotMWppL3pKRkQ0VmZLdVpkb1JBb01SYkM3MmkwaTBoOFpCbFpmcGVHL3Bhd2FUSkNFMVNWTEV2dEhLQisrMllIWAotWmVEcXpMOTVGZFF3bkszRmdmcWZOTEdNbEliRzJKU3VDRTlKQlkrOTJSc3ZYak1KUlp4a1pqdllMK0MzYWxIUgotVkJreXYrNFYKLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzJkZXMuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8yZGVzLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWMzM2FjOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzJkZXMuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8yZGVzLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfMmRlcy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzNGYxMDkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8yZGVzLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUU2akFjQmdvcWhraUc5dzBCREFFRU1BNEVDQTVHVCtDSjdLVTRBZ0lJQUFTQ0JNakllblFHR1oyUHZVekEKLTlEOWV5T1M2VG5yeTdVMzVwL1dzUStET3A2cDFmbmlJV1FtTWoyczJkSDUrcnExTjdhY0NQRXBtVEx2RFpiMGUKLStZRnJSUVU0NFd1d0FSOWl0ZnB2cjQveVIvTnp5dmxHbERxWTJCaUpKSVJjOWcyb1FpeEJMY042NkdNVlM4WUYKLVk5UmFkUVlPM2dNb1I2YWRuM09mLzZueER2enkrNFJIZWdYRTJjNmkxNWc1NjNuT2JvekxlbW5uVGhNNktpSWEKLStCNHdPSGJRRCt5dHA1RDlvWDl4Ylc3cks1ditTSDgzNHZsTHRFTnJlcy9Gci9ETVY2clpHdllBUGtKVHhFY04KLTVlVFRLcGVCNDV4QVowRExkNU9CckJ0VlF3LzMzTklIUjZ1bldiUWNENy9UeWIyVXZKRXdmM1J2TlE4TGxRMVAKLXh3ZDg1TkJCMWpOSjNjRk1HWllDR0wyNG03MktUYW5HZGh1ekJ0WHZhQUVKZTdmTGRodHNEaEplRDU2eUZNR1gKLTJLbEV2emd2SVFZQkJJcUlnT3Nub0JBcVhnNFFkRE44R1JjNDNWbW5WamQrek1tUXlxMzBZNlMzMFNrQXMxV3QKLWxxb0t3K0hYU0xWbjNkdDZmSC9td000c2NhdThyL3FReGhzdy9Za1RYc3BHRnZ6akkzNGVqYmg3a3ZsSGU1N28KLTFUeUpNRGNLZUdycEMyNTNUSktkNXhQbnpZOXZGUTNPdW9MZDRYdDJjRGJoeitFQi9BMElKelJSeFBFMFl4MFkKLVdSVTVZM0kxRVhJODJIdi9EbmNHRnVHOTFzK09Jb1dxQjRNRTlxQnllYzhOUU9IOGg0Qno3WjZYdUNJTkRCd04KLXUxR01Bc29jVkw3U3dhWWRCdG1HM1Z4Myt0RkhqN1c5SWRGQmQ4MG5EemF2b1kwOEJUSkNiZkMvUDZLZ01qODcKLW9WdGwzaUQyeWVjZm96UGc4ZmZBNG9xVGZBVzRBQ2JxNnJVOUt5RVRPcU5QbFJZdnFjczh5TEs1NE1SVDdoTU4KLUhlVDMyaU9oTVZkZi9ycU8yRjNMYXNZVVhZL01ZM0xGQWxCYVZXT3VYdloyc1JIeER4MzZHMHd5bDVrQStHZWEKLWtVZnRrMmg2VnR6V3l3UU96RGV0YllrU2dOVzNMNlNyckQvLzNDOFk4dk4xczNXQjYxZmxGMTJoUjM4OExQSFcKLTU2S2pUNjMvN2ZwNThEOTROb3RpalltWHYxUzFWenUzNjBoUm1yajIrQXNnSW5mRk8ybGRCMGp4blNESnF5eUsKLUQ2U1NPRVk0anIxQnZ0WlQrRk5ZQlBDSnlXaUV1RGVkTitCUHBvM2FybE5SRzV1eHR0U1FyWGhYQTltdEdGQkwKLXdNeE1kaWd0LytLS3ZaLzR5QW1RamZtOEpDM2tETkM1dzkwdDFLeThXYjJTcUN2Vzl0TUszd2hleDh0SnJFUjIKLVV6QVh5alNrM3huZ3NiZ29wcjFkc05WY2ZKUHRNYlBGVzNYK3BWcWh3RmdOMHNWVGhrWEx0MkNSUzdOVGNPRkwKLW1SekRqVXBoYlgxWUk1amlFUmphMitTT3ZxSHZCYnpEQ3ZmdFI0Nlc2aDJSWklWSUNxcFVMUzFaejMybnJvMGcKLTRmUkJ4T3I0SWkzYkwrd1p4OHV2WUJEd3MvV2pmV2VPaERTeVVFSngxcGwzRG56c3B3UDE3SnZkTXZDb2F4cEEKLXFBLyt3am9nVm15TVRhVU8ydHNlbytqS2Y3VHA1TmQ4UDN0TWVsRlZJMVZ4QVJVVi9LWG8vZ2xsd1lXL2FNNUgKLThnelY1UFhaWFIzaEtHTmkrbnJ2NSsrSnRkZHJteWlzVUVCVnlCVERxd1pIbDFLQ3dtZlpjRnZzQmJOT21kWGQKLVNLcDhUcWQ1UXdtZ2NPbVZlVGw5WXhIaEw3LzN6TlFCNUY4VjBaTkRzRVhpVnkwK1VFRWpGajF5TGZic2wrMkQKLXZXU2wzMEFTY0NySXNhODFpS2szODV3bEFqZnRhTzFYYVI1N1p4b0RpSHZHMFpKVXRPVjZZbVcvUm5rUVVQWnoKLTkra01UZENqbWNTSWg2ZUY3QVc2WFIzT1EzdFRxeExTdFNIOEJVTk05Ullua2VCQ241WVBuR21nQTRySS9PbzUKLThSc2Q4WkhZWVA2RVZiUnFxVjQ9Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8zZGVzLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfM2Rlcy5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4MTYyZmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8zZGVzLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfM2Rlcy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzNkZXMucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjlkMjI3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfM2Rlcy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlFNmpBY0Jnb3Foa2lHOXcwQkRBRURNQTRFQ01DTWxBTXB2L1hvQWdJSUFBU0NCTWhCdURpeWIyZEk3VUdyCi1TU2prU1hhbmtXRFpEbm51OWN0TFFOaDg2TTYzQ2NvbWxKZWxocFBsWU9HaUU4ZDE5MGF3bGNpSFZkZDZicVRLCi1UZU1hZUdHZjJmRzFvS3JiWHdUdS9kaGRWQlh1bjgyRTZYWWlvSHdhejU3NENjNEZFM3pUWDVBeWlYUXVFVnBaCi1haU1ud3dwSDlRdXVybHhPUHhXbHN2MmoxYldvMW5rZW5NN2l0SjFVcXBydlhaUVJaZ3ZmeVZ6THJXN2svVDRnCi1NWXpvb3dOTkh6dVMvSUhhV1hkZHBNc08vQkdrYUQzNzZhU2RRdG1wODlYb2NxNE9OMm80cGpHczByK2lRNXJ6Ci0vSWpkYk5sNnZxMEtPUDVMa3dvYjdDbDNST0dWaW0wOGhZaXZDRGd4RkZ1TjQ0NG45b1JGYTVIY1BrVFQydUk0Ci1KTGtKNlV0RmZ6aVhrUGtNSkFiWVlOdEtGcDZYTG5RRVo3SVpHdHRHQnd1U0YvYjE5ZTZXSWpyaGttYzRQdFROCi0zR0V0bG5uOFdlaW9oS3o3enhJTkJBakdnSDNRZkwwU1puSmN0WFhLQXJKVGtwdU1jYmh2WElnUjQwWmxWMTJuCi1zRjlJZXhuS2JoQ0FOa1VkMDl4c0RZZXZ4ZXMvLzZreVhLQnZmdzlqRE5wUnFONUpFL2RmTHRXWnovVmRQZkdoCi16MlpOci9ZQ09wSzZhdW04R2xQRjNYR2gwKzVkWGxSbTZPREk1c3dHcUxySkQyOEUwUkJMK0k1ODBvN1dMSktnCi1KSkN5Y0svTnkrQmc0R1R0cUE1anRZaWhQOG9SQVJkVEhhRHBsdWppR2RoNzQzcW4xZEdUQkorTWNZeHJQVVExCi13V3lOdkVmYW9zRjZHbVp0Rkk0SnRwOHJsZUxVbXpmQjM0dTA5aHpmN0xnekQyV0k5YWtndERWSCtzSU9mWHI1Ci0yaVFVZGtYdW1NK1RHekNIc284bUhWQktBV0ZuNElwcWJwSW1KY1VVY2czTlYwN2xxdHdPUjJiTTBuWW5DUVR4Ci1aU3h0enM4ZEp4Q0dQUFlQcW1adWtNU1pmVUhWTjZ6RG1FcEhiemJFZ0RiVVRkbXRWeTgwWm83WVR6ZWM5ZnFFCi1DS2xmSys2aTA2WU1uY1pWNHVxTXpXVXRiRU5UQ1g3N3c5OVE1cFFUcFZSc2FWOWREQ2duNm04VDd6eHQ3SkhDCi0ydXlIMkgwWGs3YVlRM2FlS3Fmd21IWGtjR0lleGt4cUprUjBKT2NSYTF3U0VoTVdua29OMUlQUEEwSHBjdVdMCi0vUUJJK1kyWm9EQmpRVmNidEIvVmxDZTZsQlRCdys0UGIrZk9xZHQ5RFhncU1ob0JYZWVMSUE5VVpIZWYydjh6Ci1jSFQwMitRcExaZmRmOFg4aGNnY2Era1N2RWlCcmpVQ2xpdk01VTFSY0c3dUUvSHFjMEpFMTdCOUxib1JxenlrCi1NVXZhV250ejlIUjA5WjNEbHJ2ei9yQmNWWWtnRit0aUxFU1BsSU5xblJMVXNOKy94bjkrVmV6Rml6TzBHMzlYCi05NWdPOVc2bHdjK0NBQTdpWkw0K3lWemZaYTY1MllnMmVjazhFT2daMk45citWZC83clBzdjZ5c0dwVS83cC96Ci05NnpDUGFaNUZSelZVcmgyalFiOW5lOFNLcjJDMDhYeEFPNnBxdkRFSnhIQllDMVU4ZHZraTNkZmJ5Ty9yTmVpCi1HelhwSlBuSXZJa0UxKytYeFBsV1p6N3hGT0VQNXF1Zml2em0rUDZjR0NOYm1lM21ZNjROWWhOc0RveDkyUzZoCi1QdFlZeGRqR3JwK2RlMyt2UndRWEZrdDhXSHhnM2p4QmsxSDA2ODMycmRQNU54NFNPcFBFaEZ2NHhFNDZvVnIrCi1XY09pN2gxNURlNmRrKzBwUFphQmZmQmoyZVpqczVscWRva1NqeVM0U2NDZ01VVkh6L0VtcTZYTEU1MUMyU09iCi1jOVpvNnc2L3p4eGZ4b1hKK0NGOFNybXNuNUg3Y3cvdHFuVFpabU9qc0x3MFVoNExhSFM1Qkl3dnFmQjR6MUVVCi02UndYU1Z2ak5kWis3dUJLdG1FM3JFVGdBbmVpTlN0OEpXdnBTeFYvZGVxMWV4c2V1Z2k4OXNvVGMra2kxU3duCi1VZFZ3RnFrZmdkT0RuL3paR3A4PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfMmRlcy5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzJkZXMuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDY1NGY0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfMmRlcy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzJkZXMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8yZGVzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjgwMDhhZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzJkZXMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJSmFqQWNCZ29xaGtpRzl3MEJEQUVFTUE0RUNQa1Vqb3pyamNJTEFnSUlBQVNDQ1VoNnFYTjF1c0g5eEZGMQotQkdKT091ZGl5K1RTeFpYaEVGeDVCQmhVbzdRZ2VpeFo4ZXZET3NqaUtYZUZDYUxzemtkTjZxMCthMjZHMzdWegotUHE2dW1EYkU0bG13dDRXU2Z2d1RQRUttYjFaMGUzRUtpcUp1bmppZ3ZDQVNheHNuVTZZZWJ6dkdBY0NxaUNIeAotUHZITE1FLzV6V2hyQld2c1BhcEdaTUlPcGxYdVpuZVF6MXd3dExlVXRIZFJFM0ROYmJCajQzQmhSdE51MEhBLwotUzNXdHdCVm4rcHplTnVBdDRjMXNrUXpwNFZpNXdadFZ4Ync0VVpQZXNLNUszdjNydzNpcmwzekk1TVdiL09hdgotVDhaRGNzR21PRW5ESlFDVkQ3TG5LY1hYd1NDc3ZrRk9BWjMyVWlrWDBnK2h0WTBBWDE2OTFEdGpnYTVjTmhuVwotVm82a2RBTzlKenJZVFBnemFjbGRiVWc5RGRPQitKZjJmY1VuRnRRRUcvdDhqTjFJcm9zd2lUa3lTUThGRW40YgotY2g5Q0Z2TUptUjl5US9YdGIyRTMwQ3pJSlo4Z2NmYlIra0l4dEphb3dTQjdOOVlFRmNDZWhmeEgrc3RGaWZVLwotTzFNVzFrNkgrS1E0T0ZNQ2hSSnI0WkRReEdqNnlLMzQxRzZzSm44S1YxL1lONm1BZGpoMG9Za1dPMVdUS0lNcwotTUVkVnlyUDZSVThyNnRXcHBTOEozQzkxcUhCcDVVcTdRUStTNWNnWUxCNEM5WTExVXVSQ2VQZEd4NHJ4Ly9hQQotaWJQV052bkkvMFk5Kzc2S3BXb3MrUWdjUnZrZDF4VVdONmxjMnA4VzZCTlc1YTd4R2YwVGdnTmFHeTRQUTVadQotb1FjOVQ2YzFPS0IwMFo0Q0tYa0xWMzF3aHE3VVBjQzNiaTBWVDNoUnIwV0JJOEwxMjhRaFYwMFdxd0tweVJzVwotSFpiN3Rua20zZlU2aGlyTHJTYi9ubWgvZlE4RTJ3VGp1NUx2UnFYTmRqazd1NjlUZnMzMHFnWWxEWFV0R2Q0dgotTXpNM1hwdzZoZTFRaXJLMmpZS0dYMGFOY2FyYzVlV0htMGhjNEhlbEpPODNjUUNhV3YrQ0hjTmw5NmhpeDVacwotaStNRTVML0MzbkorNXhSZnNNZGNlSWdnd1dMNFpSYUgvOHpNaWQ5cGV0T3Fta1lhdXNRZ2JCWmZkVzZqdk54QQotQlBqVitySkREK28wU0M4MlpYQksyVEROUlZQSjBUWUdTamg0ZlVwNHlScE0wSTNVWlYwZU9sMnRUdTl4d0JKdQotRXJja2xFRGZ1MERvMnVEK3cyZFY5ZlUzZkk1a1pKUVdOZmhnTXFVdW1iQWwvcE5wT0FhVS9XeFg2R3luYVg2eAotTmdudG9OSU8ybThoemV2NU9SZHhjUm05MGNkcnRjMWdCcWtYK2NLZmVwREUwdHIyMS84SjFjUmNnR2MrTTV0WAotanBIQ0pXbDN3Z25mUVVmSmFtOEtSUFlFelZGUWcrTkhIYTBZbldMaWhBaS9Vd1VlZ2pla1piRjhMTm1xZnRFaAotT1UrUGZsdUYva09lY0VGaVhQbHplamxuelp0Z3BEaDlvZXYwZkpRVmtIKzF6RENNSkRtVEF5WWEvUm9mcFZOaAoteXNsUFBNVk12YnJhcnJaVVIxM0VjZEhncTNoNzYrd3JncjVhZm5RTWtDZHVWdVRyWnYwVWJKODdCajhMMVE5bAotQWN3Q3R1UDlBRGlqdk9HdHl2My9UVkZ4Vmt3TGhqTUpyeGQ3cnI1cFpaNzBPL3phWks3enBvbkovaWVhZXU4UQotWWFuTFRrTEtEWGs4SFhCY0JWM0o0Rko1czE5SktNTE9XRmRlL2pFMy8rRk42ZHJVejREL29LQUtOenpBWW1LQQotNlRXbUIxSUNteVh1YmMvb1Bpd05GTGMvS2lOY0lMNmszMGQwZXpQT1ZDUStXdnU0bU00dk9DS204aHhnNXJGbQoteW4rS08zd0xZaTNUL2lUNm5VWUdVcGpUdkVVR2p2bjVkd1JjUElBMlRnUU54SnkrS3N3SXB6MFA5R2JqUlZMSgotK1diL2Mrd2J6THpNOUtnbU02SVl6MStCemhtei80NWlGaFpCakdBSUx4dThHM2hPbWRvUUpGZVB3cWtlaEhnVAotNkw0OWZKOW5pUGtjM2NVc1JDTWlZM3pvZmxWMG10aXdvcnhOZ2FIRXErSjZiUmNTU3A0c1JOSC9BR3JHNkZIYQotZEkvOUZOZ1p3U0U2ck12RTNJeFZDd2xrRjgzNkR6UnZsY0VMb3NTMTJLVzY5cE5ab2tiT05jL05aQnN5dVdxMgotZy9yalZON0l5eDVUWXQ0RFVnRjM4T3RaZXhnSnpnYVplS0poOHE3bnZUaHBabzBNemJmTDFvbnkxdXNsbW1weAotc01qS3FHSVB0VS9HY2o5ZVNBUXFCWTVjV2JOT1VYeUMzOUFrb2UrWVZOZzJCUzQ2czFPaitJVTBkOHl5TXRHcwotU0tHbHNPN0V1VDBOZG42WnJJWE1oV3ZKenk0WHVBR21oZHBnZURrREhoNml3TEVIWkFxR1o4cWJnTytVVytjYgotcG4ybzVQSHlDaU1qa1g5TTA0R3pWU0tRMzZVTGFwWGxxRUg2UFAvclh6MmFaZnR2TXRXWmpheWdoMzI0MGdPSAotYlpOa1lLd2UveVFNcHJiMDV3dk1VK2c0cEttejhnNkdaOS9kZHZTQnhEdUZjMzlpd2l1a1pUVUEvbGZFUitrUwotYzF2QzJRbzAvYVBYVVdYRFBGMk9Nd1BZekhkdlJnWnRkM3k0bm82bHpsK01tc3g4djBsNTMrRXJCV0Z2eFgrYgotMmpSd3hKcm9hbHlab3g5SEQzWEliMm5sNVpCRGRHUTdDOFdwU3dsSnZZRFY3RnNPaDdpano2VU05aVE4UktKdgotNkhZb1dMQVo2VGp4MUtKUTdqNTF3VU1NV3RteTVrdFBDQ3BoTFlsSFR5aExHTkF1WVkxL3k0ZFNWUEh0c2pxbgotYkE1V0dOd0JJTER2aTh0SnFTT2dia3FRQ2Q0endaRzRMZ0xwMXlmcklUWDlMcTJzcEZuaXZSdWcwTHlTdVRPZAotL2h0cnVZbTdBckExR1g2eHppaEQwM0RpVm5XVTFJYXd6T21EaHVqRndrd2xySSt6TUZ1VnNvT2JvY1FrRVBUcgotN1oxZFFoYWZNUWhIWjRMSTR0OWNhbWNCM3l0Q0VzR3NVUkZuQVRxWXNKR2M4M2E1TmhTb3FTUDRiNEFXbE15ZQotdk9JTGNhb09XK1Vwak1haDcrTUlhaHowTk9yOVlLcENOdmdNNFd5Yktjc1dWamVyNGZLaDhHaVdvd29IRVFLUwotK1JSOU9xZkdoSXpjU29ZRTN5eFVSRTV6VUI3ZGJ2UnRXaElJUCtOVzAzZUwra0NMYktLOFFZL2pzVG04a0tTLwotdEtaSXY2M3hhQStCWDBvMFVjaGdmOWJ2ZjBOcmE1K0NMR2I2UThOV2VDbnc0WW13a0FOaXYxM2VlT3plcHVZUQotWWxkVFJZQXh4akdMSnF4QkRQYjlNQ1ZCQjBHNmNYdms3TVVOTDNNQ2hHNWJHWnFsWS9Va1Y3WXlwNW5MaUZSbwotMWEvTFFLR0h0bGJTYU5neUdVd29mNzJxZk5RWnNoYlB2VCt2NzJZWEY1M05renhaempBL2Z4cDZxVWQvWGhvYQotSEVYSUxjRFJwVU5FYmRwMWFkbnY4V01KaDJxOVgvRDJxSGlDeE1KWHNRWlpFWGp1SUx0WnpqcWo0Y3VWb1B4WgotcWZ6R0h0YUJaSnltb2w5NWlxY1lYcFlXM09ZRFlVSkRNYnk3bUVFTmZ5b1lBK21ZeC83cWxWYUxCUFNjV1p3eAotTlRPcm50TlJZcmhMY2FiSHNHNmlUOGpHWWZwQXc1TGk3WWxDTUl6WG8yODlmRktNeFRVQjV5bnBQa1JSeEhlVAotQVcxaXRMVDNBT3NnL0U3Q01GLzRlUGU4VDdieC8yTWo2WWxvdkUwTDJuOWx1M0FJS1pBa2Rsc3Q0cVMxZ3kwSwotMnBZRkpuNnFJd0JLVlhDOFJ3UXhYK25CT01GeFRickYwQXhaM0ZmMklGMXgwK0ppbWxqQkZOcitaTjlJNzhzUQotbEpVdFFyZ29vTlNZWkozd0xBWjhEckhiMTFkZzZFc1Q4QjVkdHQzRXNuWlpaMUlIRmJlZEFQMEp4VnhUVGUwKwotNyswanJpNWZGR3RwR0lEQ2w3MD0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzNkZXMuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8zZGVzLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZjODI0OS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzNkZXMuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8zZGVzLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfM2Rlcy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0MzMzZTQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8zZGVzLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUphakFjQmdvcWhraUc5dzBCREFFRE1BNEVDTE0rWnZmT0l6VHFBZ0lJQUFTQ0NVamZtVW5ZOWlSdzF0VDgKLVdFUjlQSHhkY3EzaEhRd2MxTkUzMW9hZTBmZ3pUN1NETHJjUWFvRnNpaWVCYTVEcENzemp4RXJHM3hsQ09zcG0KLVhQSEQyekdkR3UzdEtmbWYwWmhlek1QZlJFZzNPaFFORG44MlRJS0ViczlieHZEa1N1S2p1REdHb2hXR051MWsKLThlRTVNZmtyV1V3Y3oybUdoUGpnTTB2eUJKa01lTWlvWkx6b2Njd2dTdGk2QUF3bzRmNklUblVqYlVSNjVWUW8KLWw4QWovSnV1WW1uV203di9laCtJKzRma1hIRS9EcEZSYUlQcmh6WTQrRWhnVExTSHZrb0VFbk1HQUNTNkF5UXcKLStuNklaOFVuM1NrRFB2OGxhWlRVWklSUkpWRm1DMWU2QjJLVy9LeTI1RWhuYWhETnZHQUxUYW5ZZHN2VUZUWGIKLStkcjdIQVpqQVFkV1pHYXppZlVOaXFHQnVTVFh5ODF6SzJOSkJjenRzQXFhRUxXRXVmdkdmQk5uZ2NYd2dxTjkKLXZ3NFhIa0s2bWJBVkNpVmRJTzVneDN6MzBMVmRRTGVYUUUvL3BuNEN4MGNtd1hjb0N3KzVwSWFUSFFlNUhNV2UKLTQrcHFRN2lnd3I4ekZBRmk1Q2xFZlFQMEwyRGxCSS9XZzRtRkVQNlJPVzlGeEdnNSs5U3krbDNBN2tlM2xoNWQKLUVkM04waXFNQVUwUmE5UVhucWxBcnh3aW11ekxMbGVWMG5NT0w1anRHMHFEV1FoeDVBcWI4UVBrTjRMR3JaV0kKLVZHN0xGZlB4RlhGZThMbHdJMm42OENYT3dZV0FTMnYrOFoxbTRYZSswWmZOTWswVVVXaGlnWERtZ1hpaFJrb1kKLWNEZlZReFIrTEJEb1ljVFhUVmF3UCtZRHlJZVZ6NVgrRWFSa04wbTZiQzh6RzcvdFlCRWFmZHFqeXRVcnRuWncKLXphK0NmWVJOUFQ1RFpmVVJMMzJ5S09TSjI1UFhVR2ZNdCtzaElUbVZDSmFra0lwSTVXemhPb1hiRlZTTnJORHQKLTNqaHpnY1NWT2dlMFJDaVMzaVhRTE96aHFMSkhjN0JrT2tnUkJ3K0hSM0hJcG1pWE5tK0dKSmRWVHhKWXNkZjQKLVJFSVczdEd6Qys3N0JYZGdtSThidk9YVHZPa0E0YUVZc2tOR3pvc2xxcG9JdmNIVmpsaUhiSGNqUUxrT2M5dUUKLUI2VEIycWViWDNHVUZ3NlB0YWF6QmNDcy9XbUZvb3BybjFrOTkrVHAxWlNOWGRmWE1hcTRJQWtyaXhKbjJNUlMKLVQ0dmh6Rjdyck5Rei94M2t5OFFuRlR2VktnK1J1bzdiZ0o4M0ozdnVQVERaRk85UlBUQURqRVRBNUZFSFpUdFAKLUZqOXZjUERhd053bDJ3dzBlZXFoaU0zTHgvbkd6ejArOERSeWtXQVg3VFBRZEhtU0VGK0YxOW5oTXJkbHMxRjIKLWIvL1VMakY1ejNlVi9xRStSdmpsOHU3U2t5bFhQdktidFZsMU1WMHVzNHRid0V6OXBPVmlLazhzVmlJU2oxR2cKLVJ6eWRmaHB1Q3E1Y0ZFeER2SGJVeTBFdk9aTjZ0cS9GY3VRYTAyanFWV3libXFtUXRWVWhVWDJDZ245RVZFNUIKLUtZR2oyb2Q1ZVJ5eCsxTmI5dWFZejdXTzloWDVVL3pwR3Zad2VHZ3o3Ky92ZHQrWWIvelR2UDZiZXlLYkpWaHkKLTdndkJpdVFjU1YyOWJTVXU2d24wSUFOKzM0ZU1xa2JoY1M3RjdlOS9RVlROS2FLRjZXeDVqdG9UVURwOWlVbE4KLUM3MDIvTWdoTE5LcDRnMzNNa3hyeXhZZ1ZUYkQ4WXVMYWx3UXF6bXl0RTdBbldYL2Y2WitweDFaNWFQR0VmUGwKLVIrRGd2V1dBcHRtYjZOdGN3WWt1ZTc2ZHh5NVBCZEJzYXE0SysrVzJDeGRVMGMweWo2STNYM3VremxQV3o1OVIKLVQ2cTFBckhYdjRka01mYTZiVjBkYjgzbmxkc3lwWE4wNXFQNkNzTXJ5Y0dRbFlRSEtsVlJqQ2F2OVcyaENLeXAKLW5KdkwzV1RlbEd5RHJDNWNSTlRaM044cGVNbVdWYXpGNDlMaE1aUHBPeVJLcnZ0eW5tUnlCK29JUVBlMW5jT0oKLThWT3N6ZWZUTHB6YUl2SnNGY3lnRHE4dWtaUXNMeGh5WmdoQzByS2x0YWVWTllyYmYrYzF5WmM3WGMzQ1RpZ1kKLVlDWlBOZ0liMkNWQnd4Q1YrQmhmcFlBakNaNWgybEpxdDMySnd4SmNjK2M5K1pYTzlodllYWTU0U3YvY2NLNUQKLU81VFJEbEZtUytQUGc2SDk2TG95T1lLeThCR0FDZ1RBSVFGU05wT1FxK0xDRExjZHhwc1V4dGZkTFRmSHl1NGsKLTArdk50ZXJJSjdOVzVkWkFVMXJzNXMyS3YvYklnbE1yWU1VUFY4Z3Nld1FUZUhMNE93dGNXZ01XamdlQVNUZHkKLVBRWkNIdzBsN05aQnVnVVl3bE1oN0ppWWVyTGhpQW44Q29xTGF5NlNLcEkwT0ZoU2pGd2M1QUlzU3NCUE9YK28KLVkxa1BXcXpJQmVhSE9KWUh5bC95NGZ2Q3ovOFhDNm5LRDJ3RWVtMGk1MFJVTWZacUFYL0pIbUVlMmp4a0VDZ0kKLVhESVdQUExqUDR4bWIzMHFUSU83enNPUENjNlJVQ2NQZmphVFdLZHZsTDZHRTRtVWVTOCtVNFA2S3J3WTBLekEKLXlOS2FHdm0rUXNFVDhmNFlZbWE5aDhRdGptbTlvYnI2ZUhJQU9ody8vcWQ0Z25pYXUvNHhvOGNST1lKWE9ZelkKLVdNaW5MUk53TzJVOGsyaEl6ekg0YzJHNkdRMis0UEJsSndqcERqM09YNHdHMk84NklsVGdXQzlSL3FvV0RWTHIKLTZ1dXpDdGZjM2hPUXZCaHNjT0J1d1FkUkgxaDVROGF6bkh6YWZvdkpoeXVVaS9IeXdjQytFUWp1Vm5sRVVET0gKLUxRZFBjemlzeUJ5Um43dGdaVmZsS3Nnc0tHUld1MzhMaUNZSlRXTlNnRlRnUzByN3ZQWGY5c0dGRXN5ZXpIaEsKLUZGcFVNZ2EwTmJRK1RnUnYrN2pEZ2pubVh1NWZVcmwvTGRodVhFcDhwb3JoTGQwUVhOZGZ5ZDR4c3NObkhEQXEKLW5OOVNsRy9WWHFaTmUvRlg4TmJnMmR2YVhBbTJYcW5mc3M4TllTcEhkbFdRdk1QQWp6eXFpY3RxalA4bEtDSzIKLUJRK3J5dTNTaHE5alAxTG9LYnhqUjlBMWdaVWNEZTZZSWNBVW40dnUvN2VobUN2YlpJTWhEd0dDYmRyYWJ0cmsKLVk2VjAvNzRhNmxpaDBCb0lBbjVlRjVlbTF3RmxYeEdWbCtGLzVPOEladjZGdnBhSDNEWlRJd3FVVlJjMDhlYWkKLTJ6bTVPUE5MbEJpYXBmTEQ0ak9ZaS9STFdPRW4wVFZPalpDUExLK0lqOStJNHpoS1IxNGtHdGp1d1FmNzdPd2gKLTh0MXBOVzJrdXhxdEFSNlhuaVFObHJ6cmFlT0EzM1RhZ1NhQm1GVDBTdU0zTXQ2dzVpd1BUWjBHTW5TQUtDeGcKLTkzUWkvZzdHbE5nTlJiV0VWN3lXNUJKY1Z1ZW05WnpxL252VVBIUTM1TVJoQWIzTFZmNEpEWDc4aXBLTTVudU4KLW5iMXNpKzRsaHhsbDNKSzdIbVRHOXZXNVZnUkNkc2xmWW1nTGpWR0dRaXp5b0NzZC9IMysrN0FVc2tEc3B0T0cKLWM5aUp0WEUyUmJXL1ZXOGUrNFR2cU53RENydFhHYkx0dzNHR3lSb1BkckFZT3BBQmt1Rm9QMHlZdHZ3TTE2ZHAKLTJrQXZhSW50TjFhWmJHVmJsSlZOSUx2OVNmbUFSY2hlbUk1R2w4NlJmeVg5WHlQQVoyR21hMlFUWGdtMGY2QW4KLUJPWXBxSEUvN0U0dEVMNjljeXprSmp0akVTMEtxWjJCSDNVWFFOdHVld28wYng0dTlGU3Q1R1AxcWR4NXYwK0kKLXN0STFLRlRTNFBkOTdMZHNzYnluTkpzQ2V4MW5zNnpYRTYwSmxwcFhrVEZJbmxvcjRiTWk3NlBmaktZZXBRdEoKLXFJdytjRHZ0L3UxS1ZRaDhLSnYrYzF4UXVBQkprMThSRVJZQzBvczV0VFI4MVVhQkFpcU53dHRKNHZqY0M3S3UKLXlJdTVZSXF6VnFtczl1S05ZTnc9Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGY4NjBiYy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3Y2YxODUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlDeGpCQUJna3Foa2lHOXcwQkJRMHdNekFiQmdrcWhraUc5dzBCQlF3d0RnUUlFUnlYays4VUxDZ0NBZ2dBCi1NQlFHQ0NxR1NJYjNEUU1IQkFoVWVhbzl5T2k2dXdTQ0FvRE15TUdpaTBJMnk4Q3ZNOFNyWTl0UngrWnQ4V3NQCi12aEVXaEkxa2J6V3BaVWRTMVVSV0daWno2b1MzM0dudlVEbU4xZlpDM1YvazlPY2tuWnZmdjhVdEhqNlJoSzNhCi1kQmdMVmpFa0ZmcXoyLzRjT2ZoYTlGclJVSlhYd1c1Sm1uTmhuM2U4V1pUdmJ0RXQwZTg5bjRqWldqV25rZW9KCi1yeVNLV3VQbjlTS3p3RmRQaDd1cjhOMkJmanZ3eGRBWjF1U2huai9VbWlrOG81d0paVXovN3cwbmQ3SnBjc09FCi1yOXdDNDQ2bGk4dDNvd2ttODF6NWpGVFFXOVNZWm1UMGVjSUNGMUNSSmdzcDA2MFRRekJlQUtBTTJza2lPWlhyCi1sZFFCVXFaQnJZVjJaWjMrYmVwTHJtc2dvYnhEemhpTnJSWGpzKzhsTzNUR2VyYzZaRDQ5Nlh2NVhTSkYzUXVGCi1hVWpXbmFXMllYNDZuUldZNjBCcTNJaEFidUFHRjNZR3ZrNE8vK245MFk0TlVYajhtd0xxOHNGTWxYS015eEx5Ci1mSEJmV0twd1RGZ3RkQk80blNQcm4zMTAreGlQU3hVNjFXR01aa0JsZ3Y1WDc1eGlYNVpZa3RVeFZsa3R2cjFaCi0rWlBlSU1SenVvZUs4Sjhpd3p4MUFEYk9WUENBR25QdVlidlVhbEdvR1FrakNVRWRMMDhYYXVhVWRLMGVETVRoCi01Z2gxYW1RZytQVGIvWm1ZQWhhRGpIc3V6SUlnZld0c2ZMK1hrOUFzVGltSy9xd1A2bVFMVDZLYitQb3dYM21RCi1UcjRTa0pIMzFKcDZtVHh1ZW9DdHFQRUMxQnhodURscWxUdm1QZGdJUENmNGRiRnRzRXNTR2JXUlVZdVpYZ3dnCi1RbWhwNlRDM1lOUFZ0THVzb0NNd2pYa1VTeFJoU2NBemI2UnBFR0p3TDk0Z3JGMVV2VGZsZVRHZk9wcEt4WmRHCi15anpiSmNVbGNTQ3V3ODQ0SFpEd0hWek9SUVQzenhhZ3VLdXUvWGNnSU5kNW1VMlNUT29wejNBa0hoS0xTRmVqCi1VQU5vbjZEa2U4TkxwOTZKdlgvTk44enF2YXVSSGcvcjdSZ2NTSFFXUlpwYkF6WDRiZ3NFWDJNYwotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ1NWE1OTEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyMjQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyMjQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyMjQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDdiNWU4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUMxREJPQmdrcWhraUc5dzBCQlEwd1FUQXBCZ2txaGtpRzl3MEJCUXd3SEFRSWMxdmJOQy84cEhzQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUlCUUF3RkFZSUtvWklodmNOQXdjRUNMTWtGL0RqaGIwZkJJSUNnQWcvanY0NFR1QVEKLXlCK1dNa0hwdlZTMjVaTEphYkhVeUhMUyt2cWhFa3oyQXF2Sk5FVEwvTDZiSUhSRDFvNEJKOEZjcmMzMzlCeisKLXp1RkhuSzdKRzBQelJLbDlSY08vU1k5bGZMRk5rWHR5UHhCNkR0U1hlWVRWNDlOdEF2V1BWNDZMU0JuTXFuUDUKLS9Ua21rK3NFM0x4K3NCTXFlL3JwQmVaTTMxZkI5U2hTOUZnREdmRStBUnZ6Y3VRc2xZTmF6ZFQyS1ZldSs1VHAKLXFTTjFsaEFXMThEd28zcjFJcG5oV0daNXI2NlRFRXVuaEdJK21YOUdka0RoaEZpSEhuM3RVUGlXU2g5VUFQSDIKLVc1OS9jN3NZMFJuNUFtcWVIdTZGMmI5OVNjUmFMaGt0NmFGTm5CQWNucmpIaHFaSk9sNFVPUjdPR0wzV2xOak4KLUZYZkN6SjMvK2xBK05ORVZXU2NiNHhzNlJOUVJuSjlOSHlmZFNKdVFRTS9IWGhhVzFuU1lvRlM4bktEcGVuWEEKLThoYjNnYnJHZUIwTXlibXBHdGlSNE1oSkQ3RlduSDB1UXNBNGRPcnJ4MlhZYVBVQlpHdHF6dnJJRG16TzZqdjEKLWl4bXVTeXc3blpTWXFUNTU0dFBUOTdvQlJQSGhRVmR6N2ZHQkVxeHJCTkpSMWNRalMzNVEzb2VzNmphcnpUc3UKLXo4UkVDMVFYWnRnYldadmxtMm0waXdLaFFJdHFPZlNubE5rTDBJVUpHVUY4ajNJanovZmJOc2ZQT09icFFDaWMKLUFSejFNbnE5WmFETXJ2TU1wSkhjTWhZZTN5NzV6dXY5V09EdVBsOXZOVmM3S1JSV2dxVkRtQkhZWnFIaDRNMncKLVQ4NldyRWJuYk5FSEhQaFhnU3NhS1lYdkJEN3pXb2NmUTNyMkhFc3RIajlBbW9xc2x4SURwdHFKdi84THllOUUKLWtiditkNDhvRWtTdERJZmEwMzJIYTk1enNNcDdCdXZXU3R3bk9HMnE1c0NleE5wUWR3M01wN1kyb2VqVktSUzgKLVZjL2ljbkZ1MzVWeFpMcS92QkVGRURqemJDUTBheWsrR0tZV3lBeFc3Z3NtV3RTV0Rza3YwV2FKMGNOajV1MkwKLStCc3l6WThIdzdzPQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjU2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjU2LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmVjMjc1Zi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTI1Ni5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTI1Ni5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTI1Ni5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1OTM0NTQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJQzFEQk9CZ2txaGtpRzl3MEJCUTB3UVRBcEJna3Foa2lHOXcwQkJRd3dIQVFJOVJPRWo3QlpESXNDQWdnQQotTUF3R0NDcUdTSWIzRFFJSkJRQXdGQVlJS29aSWh2Y05Bd2NFQ0Q4UXpNS0NvSk5QQklJQ2dHL2c3RUdROGs3YwotNWowaHVOa1YzV2R0SDRhM2I1dzN4RDVtekd5MkxvVGFNK2lMZGF0YjdKU0E2M3Y1S21Xd1lJOVdEcUdzYkFmRQotZ0FwR2NvQWtYdGIyRmxuTU9iMWF6akRIVmtIa01Ha0lOS0Q4THZ3R0ViNS9lcVc2UWsxR1M2V0gycTdJdXJ1RwoteTc3d3N4a2syZ0xKY2RPOCtrMGFMTVpUUTVseVRtM2QyYXAyZjVRQTc4TkdvMG45ekpKczZKQVdzb1hmZE1aawotU2hyWXdKV2FBWURsRlZuM3ZuZTU1bUM1NE9teDF3Q3FOTSswa2tUdmJDUzFVOTZGWU56YnZJWmUxZ2FVTHhBYwotR2tSSWFuOE1vNWRhKzJqSTBHWmY2dzlTNUUzZjh6aTdsbHRHbGZtY040Yk1aUjNmR3dwQWRQeDdvVzlqMEdWYwotMTYyRG1uOFNTOXRnVDJwV2VEYjFEamphYmVTYzVZek1JSnBibE1KTTZLQjRnMkdwS2h1V050ZkhMSXhSME0rNwotWVR2bXdFMjVMNE9xNmJPenVNNGxYOHJwMWZUcW5PUURtWEhJQjdQTzN3K2toMm54VXdPb0IvOW5YTmxrZFV3NgotQ2JzS09yME1WOThBYjhwVHZ3aFpVbTNVaEh6T05JbkRrSEg1UE9IcXFXYzVYQ2ZwVzFmZWtVdU9Ja3IzeVBydAotRjFsWTBLQk1xNkZNY01tL2FaREFhTTZyQjJ5THpmZThFcnRBN3p3a2ZiM2o0NGJZRkZqbzNXaWFhQlVucG1wcwotb0FIZERxSk1wc2ZzMnNRZUVhN2pNYjZkR1VqbFVVLzNTK25mOWNwUUFIMnNwV2JETWhNNVNld2M5SnBHRGs0dwotNktEOUlDSHIrRmdUMHNGOGhUYkJaaWZ4QWV1WHVhcTZyM0xHYVlOczZFdkFEQzNNelNOdTBkdDJaSzRpODA0TwoteTNMU1hYLzV6VnFTYm10UTZOVzVvTDBiQVI0U1ArUUxDSnRYWUxJMG43V1dKd2VzRm9rVzNaV2d2T0plNDBnawotOW9OUThEeUJSbEs4aWVyOUsvbnlTMFZWbzZRR3hQQUtyMlRoOTYwZWtCV2xlSHI0VUduVFVGTS9pdVR1T1RKdQotbDZkbUFlVEVkYUU9Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEzODQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEzODQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDZhYTk5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMzg0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMzg0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMzg0LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2JhZGRlZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlDMURCT0Jna3Foa2lHOXcwQkJRMHdRVEFwQmdrcWhraUc5dzBCQlF3d0hBUUl3RDNmcFM4UnhWa0NBZ2dBCi1NQXdHQ0NxR1NJYjNEUUlLQlFBd0ZBWUlLb1pJaHZjTkF3Y0VDT215RitDRXp3dklCSUlDZ1BGQzN6NGJVVlBNCi1FZ0xHdUxQNkNpRFBTS3VDeDNWZEF1NS9HNVdqalUrZER2RVlEdE9yVmZiQnBWaGdHQVlZdWhYbEkyYnpvTzJaCi1SUFpMd21hVlpNVVVQcUhqTlpITkQwQlBzSG5iNTRMeXcreG5oSXZpcFlwdDdtMytzd0w5SlV6Yks0YkltaHpECi0zVWRWWWFDd3ducG5BY1R5OWdsZXFvUTJpa0NYMjhPYytiWjBWVVVJWCtLVmJWT3YzZ05ONHc1dVR5VURSR2dsCi1BVzJFMklLb05OVzhvUXpaWWF0ZFNNTWI0UXUwOUhSZXZXcFVrQi8vWEdyQ2NDOGFBd3lueEhyejdoU3JKWWJ0Ci1TSlZOc3lsK2RqRlJjS2c4c3VkR1VQdWErbVlXRWVjQ3M5L01WYXRhV2ZwblQ4aFB0UFVBUXB5UnBDOVl4YStjCi15WWZsKzdqSHZKazU0THc5MlA5WUFiNWswVDU3K0c3RnB4aTZNYVhuNkZBTXFGSFkyZEpPN2N4c2c0MXFrRjZBCi1zYzNudmN4QXhqNGd0Q2dWMGQwdlZMRGpiZ2pjQWV2TGJ6T3NKVkR6Qjh5Mmk2VjVsKzIvZmZWNkRqallPOEhiCi1qVmw2cHNEc2NYNFZmWDF6a0VJeVRGMlA3N2x1WjFndlh1RkR3Myt5K0hwVUFBRTExdnZGSDFobWo3UlI3dUgrCi1ZMVk3Z1V2VUE5S1N2SVN0c1N6ZmRjUXdhWlRNTmRmVU5rUHpLSE1WWkpOUTJLWWt2OEY0UVNBN3FwQzA3S3Q5Ci00aUNqK0QrOG5NeFM5czJ4c1pvM2xna3NCM3NybW42cnlRaW1FY0xiL2NGV2JrVFNHQWFoODFVT0lWdE5KVDFsCi1UbXd2MzVyU1RFTEQ0WVZXejdDSGg5bkUySnhlTGc2V210bHpGNUFMeGk1TC9nclpVTjhseDZqTmVDOC9POGZ5Ci10d1hSL0xEMXhtQW42d3hjeHJhcW5jdEJxemtucE9QM0VpemU3cENEcE9KUjBaMVdhSHZVTGV6OEcyQ2VkRW8yCi1TdlU4WXFuSjQ0Y2VvbTJWM3dEUzQrMDA1WHEzektEWTZ4TDJodG5ESGQydk9Qc3RHTGZIeEVwcE5wakJxYTlBCi1xajIyUWRNQ3Y1OD0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTUxMi5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTUxMi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiMTU4YjUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGE1MTIuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGE1MTIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGE1MTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NWQ5NDZiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUMxREJPQmdrcWhraUc5dzBCQlEwd1FUQXBCZ2txaGtpRzl3MEJCUXd3SEFRSU50VXdXUUowR1VBQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUxCUUF3RkFZSUtvWklodmNOQXdjRUNBRHE4bEZhamhWZ0JJSUNnSmZiRllvNFBrNm8KLW0wRmhDTDEvNlZ3RThvTlU4aVJiellMcytaanBIREtLczcyTjk3TTZGa1Bnd1lRbWNMQmlKZ1lEZmsrb3RqSXkKLVN2MlFPa2xuRWk4VnUyMmMrNVA3VVF4Ym9iU2YyNmhHZ1JsdnVlOXh3Qld5bG5CajlWd3ZnVUFoYktVS0pEVzIKLWxjVXJ5WkJRTTl2WDNjcGVKVU43RHNSRkEwZ3lZanVvTlRtMStZMUc0VXFaY1FVSnlJVnFTSEEvZEtwaXRuaFIKLXhSTlAvSWtrWTRHeFRFM1ZYU29PbTlLZWNBNzJpQW5CZHpyTzN5TXg3UGtXVW90Wm9sTVhLLy81ZWFjZ2luWXcKLWRTUUlaRENub2RhQzB1Z0gvN1F1S2JlM1VVeU10OWIvYTdGeDZjOENpUjN4QTFzSnQwTjl4R0swTTErSkZCcXIKLWNld1N4dkY3SStJUlJFNmJ1bzFTNXJxekJUWkZmR0FydnlrbEJLZ0MwVW1TRnU5QjI1SGNRenJCRVhNUG5lRzcKLVc3MzZqamZ3Y2x3S3dib0NYdC9nSEpCTTY5UGYyWS9PdGpmMUhHRmNseTlEK1A4U1BxOGRrQlNwNDlVYTlScEgKLWd0WHBhQmlOWjlRM0RJWE11MVU5d0xZaFlKWlF4VStGUUh1TzR3R1I3aDFLZFN6WkNnODRFL1QyMzJxRHIxUmYKLTd2TG83T0hzQXRRR1UxcFpHR29ybFRjWThLS3dkZXlvOVFrMzFqSVpmNER3TEt1K1prMXpJQ0hyRTFrdXdOVkUKLTVkY0lJS0E4NlB1NGl3Mmk5MUF0MkdKYkdKa3U5ajE3M3JTTDRJSFY0RVNVS0tvSE1IMm5jQmZqY1R0akJYWGoKLUZ5YXVGd1U2cUZvNzFXWFJNR0tacFpnUmVuSzJMeXI4L2UxZy9uRWJIRGZxTjludGdEbEpocWt1NlJPUDFKbnMKLVd6cW5XUnF1U2s5M3AweERNWkFYeFVaU21DekdsQnI1eFBoQ09tSHA3WVdackxtS1ZkV1hNLzZNRldwajVLZVcKLXJheHF3dGlMMGdVNXdrS1VrSXh2SXJqcDBQcXRVMnEyZHp3b0wwYmxBWEtFcVU0djFuTWVXMnFoWTMwcXovclQKLXd1OTVTelpnaCtRPQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjFlYWMyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWZmYTUxMS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJQ3d6QTlCZ2txaGtpRzl3MEJCUTB3TURBYkJna3Foa2lHOXcwQkJRd3dEZ1FJbjVxbkNBSlZMY2NDQWdnQQotTUJFR0JTc09Bd0lIQkFpNGN1TkYyd0I4NmdTQ0FvQ2l3Zjg0RDNleWFlc0NKc2lVQ2drN2Jha2t1L1kxMDQ1NgotQ3pydkxnbmVYTkNia3NSdUNiOGlGdFl0aUhRSmNVa0FrbzlCNHVWaC8zdStMOWROTW5CQUVFZmRXOEUrNDBXTQotdEpaY1gyZitGTVpQYVhObkdrUzZtR1JKYzEydFJtZysxd1pUbEtXcmsxaEh6RW9tM1NwUEhzSXZ6K2FXbFhVTwotVnEwbVlwK0NRSVJDMzExRStseENUMmFjYW1mZ3l4ck5IWnBhZlVxMkd3SzNOalM1NWpCZzVEWWNwNXVoTU92ZAotc1BUaDcyK1pYWnE4cW42ZHF1Ly9SRDNMMTNweDlHR3NkRlBjd1QwQlBkcEtZTGtKZmRBWFJZMDAyRHBqQVU5UgotazNMVnhsME85WjlWRHpqbnd5SjFxU2ptbytFano0V3NEZndUMm9MR3JuKzZVZW5Uc0h4QUUyTVhtQyttbTRyMQotQ0o2dmRrZ3c0UFRKR3hnd1ZvWGFza2Z6Q3l6NUxqVzNveUVRQVFuMERIWjFrVlMxcytwRlNRbzA1Uzd3ZmpqUgotS2NZd2ZrTWppVEh6V1E1TFFtdDgvYTdHZEtTSk5FaTFJOWNzM00vSGpsVWEzVS9LT1lyZFlsUUdwMWVEN041cAotbUZxYzE2RWRXYVBqdFZFWldXZ3ByakxGQTFTbXFBbkJ0YWg5eFNPSENPbXF4YmlVaVVhMXRRRXhnbFZZSmZUVAotY3k2SFJNQkVQNHlmbHhQck9OWWlIRkxpZ0JyYitFcjBJUng5M0JqeEdYV09yaVB5dGlZV0cvaWRqUDEwUm1teQotM21pY2hjaDhqQllMK2ZHTmlacy9zYks2K1VWZkhiQXY1bE1Odk5WdW50bG5uQ0prb2JCVGRVd3cyWUpLQWFtYgotbS9VUlRwOGsxeEtlbnpDZmMvb3FqMnpsMGovdnhyNWpzdjMwSkw4cnlIenNVS1luaHkzYW9GTnBrbnlNNktpZAotVUFhUXRZWDExKzV0dm5JK3VLeHpqVzRBWWk0NVBtTFR1bCtiTjRaYi9DeXNmR2JXUHR2NWZpeU0xbXZTbHlqLwotZkk5OGpPSzVHTTJiQUxjMWNqL1RoSzZSTnRzUndDR29ocDZSTzN3U2xtZkJkWXllN09MawotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTIyNC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyOWExZTYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTIyNC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjI0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZmQwMzVjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJQzBUQkxCZ2txaGtpRzl3MEJCUTB3UGpBcEJna3Foa2lHOXcwQkJRd3dIQVFJb040UC8xZkVaa1VDQWdnQQotTUF3R0NDcUdTSWIzRFFJSUJRQXdFUVlGS3c0REFnY0VDSm50d2hHVXE2SFhCSUlDZ0I0cWwwby9NOWx2N1B4NgotRFVaQm4xUUZkZFBycjBzbHhMSzdDb1IxZ2FicjlGSTkxbytkcHllamVMSEYyVkZVWVkzRjU2UTdmMFAwYjZGbwotK09la2dYMXlTdnNNNUVQR1pCb3BYYUFuQWFvaVl1WlJTZmlMZWF1SEhDQy9lSng1U0g1OHB3cXkwclk0ajJORAotVTFkWUIrQVZzZHBSVnYvTU9TbjZNYmxxYXV5d1RvM3JJbGVLOFNzdXl3VjdOcUlETGIzQ0hXRWtVUUVISm9GQgotTmZOYjUxdTNHRVRjcllXZjQ5VjFXQ2JmdFBIajZZSGxzZm1Vd2l2R0NpZUFuTmNrSnZVWGEyVFRYcSt0V3BPMwotOGFyMWNSSENGWlNneDJjaFRnWStTNUtvWGNTbVRwMWlsTmIwWEFEUVl5V0dWSDNGVW8xQkJWaytpd05XTTZ2QQotZDZ5aHRkQUFUc2RhQThlMjZlaFhzV0RVVjVPVnhjdGdqWDZOVmVtN2hKSkVtR3hSTFFJWWZSMVoyYnNKcC9lRwotWml3ZUlJaHNTTXlLUUkxalRCVjEwVndYOE0yb3ZmZkhmQW10eGJaS0dWUFZMbnhXK2lsQnk2WU1SNnZpWlcvMQotRVBWS2VLanFsZ1praExWQk5ndTlXc0llUDBJK1J2TlBNYVJFOGowMjhOVzcxV0dkZ3dKNFFiK1ozNjg3T2I5cQotdGdOd3AzMmlzWjBLOTlVWDZmVWo5c1Ira0VjRjB5TWF5c0UxUFhKZDU2SE55ZGZ0T1JkcTlvMGpldFphZGxFNAotV1lFdklmVWQ2VTRuSEs2T2NVc05WTkx1YTBYQjFoSCtLMUNjUGdZNkpWOTBhcHNFMDVmUDZvbmNQd0RRVDI1cwotOHd6R3BpdHVnMzBOOEN0SC9mUys0V2pKbzVxYThUby9KWmliZzNLaHVmZVJNWUtMeWZsZlYwY3A3bk10ZGJ0ZAotZTFDSTZLRmhEK29CTHpzU2RHMEJyd2FTVmZ4c2F5UVFHdXozRll4Mk5sY1RSaGdYZU0xM3BtcW12L3hvTVlxRQotK0JDMGtpUmhaMHlJaDdYcHpnL0ZaTmpidVFwUXZxYlltbHFGZEtzejZZamVLY3F2R01JOWlhdjluUkErYWczUQotcVVtRGxpST0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjU2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyNTYuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjU3NmJkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyNTYuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjU2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJkMzllMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjU2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUMwVEJMQmdrcWhraUc5dzBCQlEwd1BqQXBCZ2txaGtpRzl3MEJCUXd3SEFRSURoWjdRbWYySFlBQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUpCUUF3RVFZRkt3NERBZ2NFQ0hqNGJRL3pqTFZWQklJQ2dPWkdWQjlQaUIvTVRVWUEKLUhkaU1uYkozYWNrZzF4NU5CazRKeGxhZS80V1dCWDlDZzZ1R01BNUNQNlhsemhsRlNEamkrTDcrT2F0VzUxL0EKLTBuUkV1SldBb0FBbGF5UXVqd3VYTjVZV09IemxmODAwN0lIektRcUd0UlRqaGdHU2E1a2RkWHpmWXZxTFZzZFYKLU1BYis4VVpnYys2d08wQWcyN3JFV2p2eDRIS1V6UzAzc3FWcUYvUmwyMm9LMFZNYlZXVTEyUHFMTU1CcEw2QkEKLTE5TUtzS0RlNnlPNGZSYmlwVDNhSjBmdjZSVzZSRVNXQVhjLzlkRy9QLzBrRVpYdmk0T3dSMGRrVDBzOW0yRDMKLTdyOVorMEFLNXVTUlUvZnRjWUlmNUFSdklPTGx0Zk5OMFRVbzU4SStmN0NUS0NETFVRYkVmRExzSE51R2FBZkEKLVlSTHladWtTMWZwcFppb2cvSnR3R1FzSVdNQ2h4RTRTVlRobVlocUo0bUNVQTNJMlNYS1NhUzRUTUFQckVKbTQKLW9uT0cyTlNnSFFXZGY5Y0hOTUhlR2o0RXkrcWdESE1ZVUM0OVNjc1pRZWNkZDM5NWo1VDB6bklKazR5c2F3R3IKLTM0dnQ4SEluNmlDeHAyWmJIenFMbTFxZVYyTGdtZStHOUl4Smk5K1VSK2VMMEJaZGFDdDZ0ZHlGOS80SFhYVHoKLWhyY0hDN3ZGVlZlMUhuSzRCMkF6TzJ1aXRHRTNhRW9kUmVydHFKYmFmV3lPZmlwNkFnamJ4L0V1NUlERkZyQ1UKLUt4Z1p4VjRhZ2MzL3pqd213YXBWRVpkVHI5cHlQLzZIQnhJaGhkMEtFWDljVk1hdUNjT0E4M1UraWV6QmFaSFMKLWZyUDNHVnFCcytDekN4NG5JWGlDUmFjYy9wZjZ0ZWM5bkw3bWJyVXRUK2xRb0NPUGNKS2NVQVp5VzMwNSs1TnEKLW1HaG81eTZpK0FzRjFNMWwvQXIyZ1VHTU45Ly9Wc2NvbWJOTVJGWFVFMlE4eUw1Ly9nSlJTMXJON1UzdzVkUkkKLTNCazZwYk1wK1JsYnR6ZVMyekE5Y3VMR1d0eHZkYmxZQ285MHAyaWFtOHpxZkRLRVo0ZEZmSmxQWnZSdzJob3QKLTdCa0ZwL1E9Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTM4NC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQ0NTIzNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEzODQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTM4NC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4ZGJmNDAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTM4NC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlDMFRCTEJna3Foa2lHOXcwQkJRMHdQakFwQmdrcWhraUc5dzBCQlF3d0hBUUl5amlINHBnaUlvY0NBZ2dBCi1NQXdHQ0NxR1NJYjNEUUlLQlFBd0VRWUZLdzREQWdjRUNFZHlFOGNHWnFCQkJJSUNnSWRJZlJRTkZGRU90cXdMCi1sQjJ2WnlicTliY2FqVVNMdllubDJxL0U5RW0yUXpnbXNFZ2dlYkNkeVJ2UGpOV2Z1b1BJWU81WlFZaG5VNVlNCi1WMXVNSXdBbGcvNkpqOEZWQU1nWm5hSHlrdHgydXNZQ2VjVFhYdGZ0aDBkK1EwRVZxSTIrblhacVVvaWFPUkZzCi1Gc3hIWlRGOVZIcHYzMGVkR1Iyd1E0Y1NVYlJBN3Y3aE1rcFFWVEx3TnVwSGQzMjdmaWtlNGRGcVBWK2lyQVB5Ci1ZTVY4U1d4RWljcEI1d0NxUnFISWh0eHYyN1hXMFVLOEtpL0djcFZPMFB6UzB2VEpsMlQ3OUYvb016bzduY2I1Ci1yVXZ2cTB4SWZleTBpQ1diVWZFdVFyS1M2V21BaktqVFhKSm5jMkV1WlZyRzNQZ0RWT1MvUU80VmNIelhUUzVyCi10SFEzdXVsTUJRalpPakdUVWJYbjJNRDdaM29YanVLbXlXYW1hcG9yZXNFaDFheE53NDVtZ2MwY0hNQjg2VUhjCi1rK3lDaHBFVHp0UnpkY0pNNU1SZmhKT2tEZlUrOG9EMFFVSHFpKzBwRWRxdzZNUHNGUWV3SFE4MDFwWnVXWDVtCi1mdkRCRllZS3RjM3VqTlJ5QjV5eTZNdXNBTEVjNFBoUVQ5M3NZUjVrM2pLN056dk4wMzVzeVJmL1p1K0xVSlBPCi03NXg3V21peDBoNmZlczlDdjYzZW4rUG1CSFZ2ZUxVK2FTTTYvd1hvQStSME83QlNtVVNJNFBXYjZQRjVFSWZmCi1ZcWQwWldOSUpZK2dDOFp3ZnRlQS9HVzhYaStEV3hGNDNTZURVWktYQ3NWVTdUWGF3dXVqdE55UCtRT3h4aEJnCi15ZEliTTYvaFE2MkxoaFFEbWNDTmxQaDBxbGR2cWJjdkZyUmpSS0RYRkRvSTZGMXo4Z2ZNeUFHVFlBWFBmeXFRCi1CVDkzUjEvUk1ScytoYUxxVVpKSndwYUxqcFFtZDNBYm1IZTFtSGZpbGJZMUQzS3pYT1hmSGxzRGw1WUFjQlFnCi1IcEZhVnVsZ0hMckJ1czlvdTVqZ09wVm5UaXpxRHB2NVlTVzVnempkWkJQeUYzczVqeExaZlkxMVNkak93Vm92Ci1oMzRlVFRRPQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTUxMi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwMGFhNWQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTUxMi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhNTEyLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjcyNWFiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJQzBUQkxCZ2txaGtpRzl3MEJCUTB3UGpBcEJna3Foa2lHOXcwQkJRd3dIQVFJRWZyNjFQTFJTc3dDQWdnQQotTUF3R0NDcUdTSWIzRFFJTEJRQXdFUVlGS3c0REFnY0VDSWlzM2tkVjNNcXlCSUlDZ044Y1ZXV2hNd2l4MVlGMQotNWF0b1QxVTFFV0dPVW9rVnRiK29UbHFKZk12blplQ0hjNmtZTXdiV3ZUcWdhODhBVWhTc3NGTDlXYVhQYjY3YQotQmxoWVlraWpOZE9jdTdtMFYzMzFSV2R6eEdBWUhIdjZaYis0MysvYTNmeDBoWXdXc0FLQkxLbllYYnhBY2tBMQotTlN1SXRLbnlyV0NwcnZoZWxOTEpSQlkzYUpHOUVlcWpJZWgwTUxGTWJJaEZKb3NuQjdvTWxpWVZ1NER4bk1OcQotSnpXb2lCSGxsZ2lkalptL3ZUVG1mSDlnTDB5YTZUd0JnbWo0Z092UnUzMFA5d2RCUHhTN0laaTB4ajYxOFNNbQotZU9TVmRScHV4dlg0Z3pRMFR1V1R6RklSZGhDRng1ZkwzNjZ0VmNhL1laKzlxUk81b09xQXVjVktXWjV6Y01WcAoteUQxU09qTURQN3grM0xCeklZQVliNzRrSG9sOGVqSVFNM0lyTzBuekFOZXI1TS9LV0lSYlhvRHV5THplaXFyRwotRmJ6cEwva0FRMzdMN28rR1M2Z3lZZ04wbFFvWnhsZ1R0NHQxK0RDTkFNV2g0eG1GVE5KZ1hCNmE4NDZ1NmM0MQotSzRHUXJ3T1hHQXIwcFlkTmc0NGZCNWZxdys1OTRWS3hIRWErN01wTXZ6b3M0d3NJU2tyQ2piRlJWQ3VPNzhIWQotcndzRDZwV3RhYzAyZmcrOCthOGNUbVVYR2t6b0VLRTgwaFRDMHIxU08ydzBSYWJ5alRIeFJReVp0Y0NnYXZrcgotRTZBdmJhYnEzR0RkeFQ0SXBUSTZMaURLRmFSVXB4TW5UeVRvVGxHenNpN3NqRUxIRHFnT3c0L1BiVGVOZXlKSAotUFBxb0I3MXA5RGppdHB3MHBsVW9POU1XUVFQV0I3cm8zVzBnKzJsUzE3ODJ3VGsrOWpXQkRWZGdEVjgrRllKRwotY3I0R3hvQURIRk90MnZpS2YrN2NxNVpQOEh4dkxmSEY0a1VMc2xlYTJBTSszeVRRNVRUQWFoQ2JHT1BWSmdhQQotdGNxT1pJR3BJeGsrYVJjZVpScktQZXJYUm1adlJJdGJnWitRVUN3M2tSeGd6YW5PSEI2NzFqcCtWT1JNRnpKUgotamhwbDBycz0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXMuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZGEzN2FhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXMuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlcy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdjZmUzMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUZEakJBQmdrcWhraUc5dzBCQlEwd016QWJCZ2txaGtpRzl3MEJCUXd3RGdRSVpkSVRHQW8vNTBvQ0FnZ0EKLU1CUUdDQ3FHU0liM0RRTUhCQWpmV0NBVXdNT3VGUVNDQk1nL1N0SXg4Q1VMbllrOUNYZUcvK0VnMTlYVktJa28KLXRiM0hUSWdDMDlOQlhETVBadzFDNDdNT1NvMWk3UER1d0QvaTVRZHVLcFdQRFFNV2NrM3NqZjQzazZRMmRhUnoKLTcrZFlMVTVsb0tOUlo3SGlZdU9EU0wxNS9uaHp3Rm1oc3VQRm0wMy9TQ1FxV2ZwNkZ0WnZTRERYSHR6UEc0TEcKLXYrT2FWbzVYNU4vQXF2UDVjZEIyZzRxMmwvTUR0WSsvbTE5WHF6QUFXdm12WmpaeE9KK3hMazFqeksrdVNpMEIKLVgvRStUZEVTR0lzZVZXdThGWG0rNFdOa3Z3TzRwRmpKQnl6Y3NrYXpVcXZXVmdtRXJNVXYybFRMblpWc2pqVDMKLW9NMXdZNTV6c2dnNFlEcHY4dEJqM1g4QTZFbU05Qng5QzNxeGVyWkgzWHcycXVOT2NSVXgzVm1aNTBwNDZuTmgKLU9nOXYwT1FLWmlEN1orK0w5cXVaOFBTbWpjZ3E5NTlDd2g4ci9FRnhESE03OGdTVHhBNjhVSmZOeFBqbXZ4bWgKLTlHa0kzbFFTcDhaRDRkRlVVdWpVdEkwUW1CNHhOVTk1RkhMUlFtZytMNmkrNnZFSDZGYXF5RTFVQjExeStsa3MKLTFpdDcwTmtNWngrYVIweWQxVWdFN1JWWnhYb2xOTGFxNWhNWGNTMzJQNTdkcXpJY2x1S0dNY3BBbU9NMXVhR2gKLUJ3azNyTlg4Q0ZTWC9RSjZRZFpqeTZrMCtXeG1RRDFkSjViYzArV01ldVQ4cnBHcHFTdndYeWVhaWthZ1U2c0gKLUpGZ2FMbVdld2Q1eFk5LytXQ2UwblBLSjlVcVNDUTZIb2QwKzJCaWlEZ25mRFdlQkQvRTBnUGNWVjlzZE1lV2kKLWFhaUlHZC9hMll4QjV5VzBvQUlCQkZubTVrb1RXZUtXL0srTERXT0U2N1MycVN4SWZyMWdvRnhJRGJlMVkyTXYKLXREZld6VFZwL0d4VHBJeEt4b2JDaUVCV3JrNGU4dlVNcDI1SmpuZTRmVzErL2J3SVpCamlycGdCTzl3L2ZJWFUKLUx1RUVaZ0V5Y3pHZ0d1bGlqLzdQOVhoeU1GRVBtcjQzTHBPbzBwb0ZwUkhqdkJDRktadXh3LytQYnhSaFNxQzEKLU92MGQzMlhsTnpPcXRrbFF2NFhaYzEzQU9LSkdkUnF3L2g1R1h1ZDFhMDVzZ1V1d1FxWDA5a0RqUXVKNmhtOVoKLWZ0V2loYnpTVXhSZzZVTXo4WlBBQXpsNTZwS1lSRWZWVi9VTko5dTFQRkRnMHBlUURkbDBwbDdxbCtEaTF2NzYKLXdHamYzSlE3WXkrekdrV2ZudlNIT1dKczVLeXlqM0RrbDhmSkEvQXdZVXZzZDFKZGZYSFlWUjF2eGc0dkl5V3IKLWQ2WVU2Wm1FdFlFN0VlWUVrRDB4ZUtPdGtlRXdnRmNJQXV2MzlKNzFFcjNDRHdzTUtKYXBEN1pXUEcwdTZOaTAKLUNGMmE5aWdZTittUEFvc3RjVm00d0JJWGFtL3daZ0R4VFlYNGVYdHVWVmMzVklyK1hVM0czV2VTM0tDZ2lnU1UKLUZ0bHVKcmkwMkpzb1NzVHZUeEdmYTdwallncjJJWHJTZVFZUFowM2lrR0RhK3dHTlNKbGlOaEU0TExiYk9LRnAKLVNTdFRPN3lFWGFXcFlING1WV0s2cnVsdzhBSFFDNDV0OFhIdFczVVUrbzNlRTRYTCtkekN2cWxFakJ3SkFRMkoKLTJ5eW14YzRHQXJkMzJkREV1SFpFRVl3cG0yMmNYMGFRM3lKdytyaEdhMGg3MmZwWkVhT3JDTjBjZHc2bTFVYU4KLXBvckVIMm9ZT2VSNlNFNXFkdTYrUHlId3FWTmdkeGJ5K2RxYm4xRDNOZnNCV2c5Qm5xT2dCV1VnSUdLbVJLSEQKLXJtRDAzYy8yeXFJbnpFRXptU3psUVBTMENQNDlvMEE4cElBUC80M0d3ZmxUMXd0RHc4MERzR21ncUlSaXlXZnAKLXU1bjBPY3U2VXJLeExkbHB2OWhMSFRNYnZVWk1pTE9lZjdJSytLK0J4YzVkWHR0UGU3cnRCTmh6SnAwMGJ5OHEKLUN4SmM1dFlXYjF5anpuQUNDNmhPc29MeUdBYkY3UzBpS3pqZWEzS2NxbkpDMjdvQjRpQ0ZwSElURlJ0d0cyUjEKLStJUT0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTIyNC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTIyNC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2ZTE3ZWEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZWQ2NDYwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUZIREJPQmdrcWhraUc5dzBCQlEwd1FUQXBCZ2txaGtpRzl3MEJCUXd3SEFRSXVyM0Ixd1JaV0owQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUlCUUF3RkFZSUtvWklodmNOQXdjRUNFbktQbXI2d2lOdUJJSUV5S05adUVYSWswRW8KLUFDN0tuSldhRWhTRHNyNHp0ZS91R0RUZU9HUlZUNk1yZWFXVUgzaS96d0hYc2F2RUJzdzlrc0xZcXhYc0llSjkKLWpmYm4yNGd4bG5LQzROUi9HeURhSVVCbndHbENaS0d4b3Rlb1hCRFhiUVRGR0xlSEtzMEFCVXFqTFphUEt2TkIKLXF0OXdRUyt6UThJNnpTUXlzbFVmY0RyM0NaTmdIQURkbURGaUtpc0FtVDFwYnRCZ1Bnem14TE5TbXg5QzFxd0cKLWVqdVovU0owWVlBZFJQa0RoMXAyeUVpQUlmUlZGVGdXY2psdGNkNjl5RGs3aHVBLzJWQ3hXSnlWRENHckVubG0KLVVKeXliVWNYWG9mbmVCcC9nMEozbmphSWJJZnRtWUlDKzc2M0VLRC9kcVZJUlhWeHJrSHlZY3ZaMm5WTlVUNzMKLVVmbGsrSnVISWpUTzRqSFhpUGNhUGRBRVBMZUIyRDNHZXE1SVNZT3ZUek9ldXJmRDE2WTlock4zSUhpOWdlZG0KLUpUY0VQa0F4MmhjYjE5aDc0WGxWNXRjUTVJbXNQZ0xSbDBldU9ETjA3K25qMTRBRnhDUWh1b0d4K1lqMDROa0sKLWRWL2wxckxzYm1MaXFyNG4reTVlekdyMEdKQVJWaW5MQ0JlaHB0enhhaXBYUHpSVzcxSVFTZGRidGxTbDFyejUKLU5wdjBIbHdHZ3dUYWN2N1QwWmRXbmNhdzBWanhqWEF3SEJEODJmQ2l1SDNxWkFYRWEwTTRkcnhST2VJbmNhcnQKLU1Ja3k5cUlSamZJbXIzb2g2R0x4TkJCM0ZFRkZmKzIzQ08rUXQzdnJoMGo4c1ZZbjNjcGJnSGNxdjBxNGZjYTcKLVNxMm9rdzRSanhjREh5TGdXaVIyMHRVa3FKVDhGWVFyMHUwQXkrTFQyWVZWTzcrRVFWcXZscmFRY09TNEZrZmEKLVZuZ2duNnNkeWhXV0NWMXJhYjB2ODFxWllCdlJvVUsveW5JQ0tDYlhhSjhkMW1pcmROR2dzM0Z4cFZBaVVQWjYKLUxZWjIxVXd0ajlPb2VFUTA2R1BLcTYweEhqVW1Uc05pRWtoMzFBSWxTQWdkc04vMCtwVWlENmYxbENXZmlMVWkKLThNdUZVRFhxa3FYQXZuSlcyL21Lckx2Y3g3RWJtMDJya053N0FkQW5VbkV4OUJHeEQxQjBUVlp0UmlkNm1QU08KLWtYdjdhZE55Qkg3cW9JOXZHR1ExcHROUmNOeGh4cWdHZ3Rmd0krMG1WNlA2RzhCSk1sOHVyWllOOGFBQzdkSlgKLS9rOUVJQ1RVY09VNm5JeUZGZTh0azRra2NqZG85Qk5rZ0I0SmpBTlQ0cHRSMnc5NTB0WVZxRE1IQm0xZUtQQkMKLWJMM1NuRERtNENwbHN5N3pBZFVQc0NlNy9aazNLMlNKd1VqL2xEVVRER0NUdHE0UnBsZkRFQldiMjE4WFdnQTYKLXJIZ2k5L0VGSDNZQ1pNOEVpRTlNbng5VWFmZG5mS2hrM3RtM0k1bktvNTZDNTRvcy9FS0w4VytsaFhZZEs5ZHoKLXBlZWhUc2pFUWpGMC8xT0UwMDk3WGxDU2hQOEUwYmRsdW9Ga0Q4bUtZQzdtR3YwbXVKTHVIZEdNRWFDS3pLb1MKLUxCS3BaTllkT3Uyd2xGZkNrZjh6U1dPNGVaWUtiU1VMODhBb0VNN0Eva3F1UXNRbmI4MEZrY2lQRmF6bEY5bGIKLWloeGgzWUQrVE5INTh6cFl2cWdPWmtCZmxXNGtLSVlieVdPbStBUk1xK2VWcGgxYU5LTWR6ZVc3R21mMUZhYjMKLVNRbWZ1RUJBZlM4dTVnaFczSjU3cThnU0pTR0I4YnBZV0FtTkdHZVFFMmc4QzZIVHhKMzRrVTJIb0ZMbzhhMS8KLWNxckV4V2wwL2xraHdxYzdQcHZKYktJTXhWT09YdFZNcnpHMlhCQ2tmUVNtdHd3T3FIMWc2QVp2KzZzWHlMWkoKLVBtdlErUi8yMytlRHFwL2x5bXowRzZGNkIxMHBsZGdxdDVGSFl4R2FWRXA3R0l4NkwrR3RJNkcycUd4cEhKQTkKLXgvL3IzZ2RkMjFGZDZ5N3FIWU9MTzRmRVlBZTJzTjBtSlZqeEZMc2c5QWhDemZ4S0VIc2l0NUxNZFRrR0ZSRzAKLVhHUC9Rc1ZOY1dKYVl5YUtUWGFUQ1E9PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjU2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjU2LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ3ZGU3YS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzYTc3MGUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJRkhEQk9CZ2txaGtpRzl3MEJCUTB3UVRBcEJna3Foa2lHOXcwQkJRd3dIQVFJdi9YOThFUHZqY1lDQWdnQQotTUF3R0NDcUdTSWIzRFFJSkJRQXdGQVlJS29aSWh2Y05Bd2NFQ081RUJPdW1tWnJ6QklJRXlHK3FyS2hHRTRUWAotY2g5UVVmTEJoY2tscnBjZDR4T0YwRmZ3VmZhTzE3Z1dBT3AyVWtkbTFNQm9mMWZGMndVMGhORytkWCt3SU1oTQotL01GWld4NUowUExVTG1BZSttNXJFVnFSVlkxM0t4YTVVSjhXNG9nbFhWZmVSa1R2eXVXcjBPdjhFNHdyaDE5Mwotam1HWEErakFqTVphQWdIV1p6bUhEWDBOd0Vlb2l0a0ZFWEpjM3R0N1dBYXE5My9RbXRUWUtINWVvYWUxN00xbwoteWlTQXhJMXVOekhyeVBSdCs2aHAxeitzQ0FjbmlJZTBmRjZHcm1rUzlLY0Z6Tzk5eWVoaHJ4eW9qaUZQTFNEcgotQ2Z2OG1XWTduVVNGQVc1VUJSNktBNkdncDI3RnlLWEtjL2s5ZnZaekFTSnp5anhHOTBGSHlJRWR4dzVLc1dVNQotTkFBTytQMkRhOGFYMnhjdEFuS3hZNzhjRkI5SXU1UlNDR2M5MnBwK0c3T2NkRlVqWHNZWHI5S0VYOXM1Yk9iaAotVHVZR3RlcEhFS0xhakZaOUp2aGpRbS90MmxZYTBHR0JOSDVqMXd3bWZkSXFaWlI4Mm1ZZ3NnVlZoeXA4TkMrWQotWXc3Sy9yalpEZ3BRWVNyVUhHeGxQWW94WndBSHZiVEh1VHVHSTNOM21TNmtLNFkyTlkwT0xRT3JWbkZHTlQ1NwotRVIyTEsyUERVcmszdHFUd3BJY1JLSXFlTVJheXFOUTlNVXNqalErdit5UGNid2JaNzhDaTJuaXE0dmNscSs4NAotdFJlTHMvSkJvNFdIZmR0RmR6Q25JcUxWeDJLNm1qa2FHTDVxN3RLWVFvRGpIeGFVN1JwOGNxeTRkM0VGb3ZacgotVzE1RVphRm83MHZzeE42RGtyN2xrSmRCYkRiZVFDZGtUeUw0c0xpbVlLc2VsS1paTFVsL2dLdzJoQ0M4dmZvVQotSmpzN3RkNElRMHZoQnRWVDQ2UFVkTG52eGNxcEdvWUJNaVZObEdZb3dQMHVnZDJNSElTRmVNWXl0U1NxNEtxbgotME9uYnFHMjYyV251eFhJdWZtODZLVHM5Yy94MStaVHJBS3JrNlhhcm1iRjhJN3BCMGpCak9iWm50R21aMDViRgotdkpnUlVEQXg5c2hlTndQUGlJTS83dHRDRG94VTFlc2NUK3U0bDY3NUZrSE1oWkRVU0xTUnFWTnZHbXQvRVMyRgotYy9kSXE0aURHZ0crTVpQODVTMDlhaDVLS3J1REU3d3ZaZHBBN05UV3pTTi9GTDZKb2tVK0dzYVdHdDMySG1pYQotT0s4Ri9DUnRVZkhGVWpMSWsvK3Y1d3pxWVdxSTNMam9yWFFTVjlwV210YWhwMWNMUTVXYmE5dnNQUC9XdmkrMgotbTdGeUJFSnRnS1A4MTNZT05ENVpHK05uZGxrVWFod2RpdEdKMlh0cFM0c0RoRnlRNTBvUW02dlZZM254bGt5aQotN2djQ0U4eE9JOHVmRlM3Q0JsMTJwRnlzNVhTNmh0a21CYk1TbmNPb05vN1Axa3V1L24rQ2NqQ25XQVkxaUZzTgotT2tZT0tEWmxSZGtiaXNoNEpxVGUwTGRSVjJDY3BHbURvWmtNcUFvL2dhY3dlVDFPc3dneFBacVJBbGFha0RzawotMHord3kxd05nSmxMRjZNaHViMXpUMTVlMVErL3dIVU5zQWNJUmJFc3E0dmZTVm41NjIvdW1xcVZabGVIVWZvQgotdEFLQUFJd2VlNWFOQjhmQmNVRkNxaU5QRkdueXVKZEV5MlFDdS94aUZRNE01RUdHQXBQT29RcFNDdTQwWDhreAotdElzSWlocXVBTGxMMm54N2pQdkJJcGFzS3E5U1JSZzU0VllwKzVXUUJWeFVTQVk5RXNhUlN1TnJrVEpURzg4cQotNFdPNXJIVzNXRlpPd2ZVMkxHdmpoejdTWSs5SDdCL0E1YVJ1VHVVOUJrVm5tNXc5V3RrUzVwSFUyNFdKMzRNWQotTEVTSDF5RTk5T3R2SHV6NVB3WDFrY29ZS2RHbmQ2T2VOa1JMV2w3MkdlVGlVOGJUSmtCOFNIeDlPbDRrVlR1SAotZlBzWS9la1BoMHJTdWhqN0wwa0NUUEpxVTArWGZsM3JxV0FLbHBYTEZ6TUt5SUVodTlrR2dHUkFyN2tCOUFDTAotb2NYL0lmSkRjR1JxUDljcEJJMDRhQT09Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEzODQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEzODQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTdjNjBmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQxYjU4Ny4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlGSERCT0Jna3Foa2lHOXcwQkJRMHdRVEFwQmdrcWhraUc5dzBCQlF3d0hBUUlZRmNzOFVobjJwb0NBZ2dBCi1NQXdHQ0NxR1NJYjNEUUlLQlFBd0ZBWUlLb1pJaHZjTkF3Y0VDS0NCTGwrQyszbkNCSUlFeUVuSVBsWGRoMWUzCi0rY255aFg3ZENSelIvTnN5Z2NSQkpVUGR3UlVNQWFPby90K29aeEZtSG5ibGNoeFErcEZvSHJJOUdWd2c4dUlECi1tZUVIbHpTU0t0OGtPVHZKM0MxNDhqUkZKeTYxWUg2azVHRU4rejVpaFM5dVRzemFYUlVsRXNHZlAxL1N6V1k5Ci1NRStwWCswa3dKNGF6ODdtWUt5TlV3SzRVNWQ2NUljMzBwdlJKYzR1bnZGdFJ6Nnd0d3FVK0VWMjgzcFhIZnljCi1WTmdRRmpiMUlQSEV6L1BTdUU5cDk0bVF2ZEliVm11SzJkUmlNYWcvSGNBQnZWaHh6TGxkS3lFSEhockhSMHBhCi1nYzQxKzNIVmp6MGI2UlBFMjR6TnJ4QTliVSsxVVJHd2xrSWxoN0pwYy9adVlSajZMUTMzeFVkWVpjTVp3MGI0Ci1wU0ZKY1VnWCtHVVhMeVdMcWhJeHhjK0dJZUwyVnQ1RzBlYTVLRXF4T3ZTajJiSlYyL0pBMEt0bXJjSWpYNUt6Ci1kLzliQXZ4YXRjcUlpa1ZOVmtRcFVjMWdsS2lJQmZWcm15SjRYVWxYOWk1RjNjZ2wxOHpyWVVJNHpQU0JuOG81Ci15eFNmQ3VJTXgrM3pTNEJpeXVnR05PY2xJYnBMTWpRdU1yWHhydDdTK1FsWGZkYlh2eU5meGEzcWZxZjcvUDJrCi15a3hsMHoxYmp2a2NrNlhvRkdYZGIxM2lzVUV0WTJOanVqWktaZTU1QkxHcXI3RnNJSVFTVEFIaWx3TXBLK0NWCi1mQTFFTDRjazErN0ZWK2w4Zkowbk4xTGkxeE9uRGVBRnVPMm05MXVpYk5NWVB2UlNvWDljK0hRS1hDZEdmaXVrCi01dGZOYXE4YmJYZUlKL1A4d1RqTVpxSTJsNkhaUnVYdnZtUkhOMnpaNEJTc1QzKzYxeHR2U1RJU0VpbURTbTVUCi1oWVk1ODNMRzVscEZvT0MwWTRFVXcvbHRtUXBLVzdBR2tMZzdTeUM5b0t2b2VXTTRjMnQ4SHJMM2lLUFh0a3dkCi1BL2lFZlpUeHptUjU3dStaTWxid3MwZXZQaVpRbWw4dm9KbnVUNnF3Ym9zN2c3Vi9QYzNSaitiODRKWmNJMkp6Ci1EODkvVnVkSUhmRkRUWEMvZ2NTUkc0YmQwZ2xJTEpIVDlGT0NBbFg1VEV1UnllV2Fzb1ZPVittM1BpOHZRTTF1Ci10Q3NqRTlVZG9JZGhvSTVqOTRWaHpIQXBkRDRmZVBjUVc5RHlzWWEyUjEwZ1dJWktVdmhVSEgzRldMUjJYMmdLCi1XaXo1WWtoRUdYQlJ0REhkNGN4OEVNMWJKTUt3RnlZWGpYVFBHZkdsR2lQdDhiOXU0RisrSWxzS2NnR2dQSXZoCi0yckltNGpIdU4zTFJSbEZrSjVCMGt1T094WjZHQmZ4YXNTK0l4NERab0lmcVpzR05JNVd1MmlrR1pPS3hYN0lqCi1HOVJ2Y2RwVlY4QzJZK005cUkyK3g5M1dBdFErTlJKbzQvK2dKME85YlZVaGpqQW1JSHUyYk10YnZyOWFQSmhkCi1PcEI5VlF4QjNjNW1FWGtOT1Y1Mm9PR25JR1ZqYkpNYjRlMy9NUnBXdFRGVmNYNnIyMDBHbjZIbjNNbldaWGRkCi1IN3BPcEFvd1RjVGxGY2JKMFdXamZaeWdqNUhLS1VPRnpQWU5uWEtpemp6UWhGNnlLMG1waEtGWSs4dHBGUXFCCi1tVi8xSGxXSlRTc0FtaC9GTjIxQjJxcStLUml3TWRwektJRUtDNDdtSytkenpvMW1yVHFtRXh2YmlhTEc4dXByCi1LTWIvbEVuU0Nhc2laS1RoNzFKMys1dlVFK053NzNyWU5aY2RoN2ZqK0dCSzlLSjNoZEt3WWMvOXl5UXgxTHVhCi00YVhuVU02dlFBc1YrT0xZTlFFOHZYTVJ0dWZ0YlBiVjlzcWlCTFBJYy8wUDJFSjltYkV5ZThGTStrb0hVQ0tvCi14dEplNVNLMzZETXdBYXM2dGppbW91VmdXVGNBZGJxOXI4alFsQ0oxV3hYUFVjQ0pkdjZwRlFVR0tRKzM0VE1LCi11V09oRXJVTlJkcWVsOUR0aFU1aWc1ZFpzMkRxbHpiUnpXWW9zWmMxQjZRNC9udWEySmlCaThJZXF0UElMcjJhCi1KWUo5RE56eG4wN2xjRkhpVmdySnVBPT0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTUxMi5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTUxMi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxZDRjYjAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZDk4OTdiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUZIREJPQmdrcWhraUc5dzBCQlEwd1FUQXBCZ2txaGtpRzl3MEJCUXd3SEFRSTl6OGdWSmJ0cXh3Q0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUxCUUF3RkFZSUtvWklodmNOQXdjRUNDUXFRSFJGZUZkZUJJSUV5TUpwWTBBMjFHckMKLXBLQkwwN0Y3ek95dUZJZHdRVDJmMHduTDZsUFd2VWcwMk0yamxIQ0xEWWxjaUNlVWhFOWZIVURBNjc4MTRsdk0KLWRsWjhLZ0NzcCsybXFrb1pCL2hSdnZTK1pkVXFrd1NJMUozV3Q1aHo0ZEtxMGNlYkpXcERBY1kvKzAzMSt6VFUKLTlpQ3NoZnNXQUdkbGNBSUJaT0VYRHdlak5mSWF5cDVjRkt2UXFnN2ttRUQrS043MVFtU1ZtVnlLYWZoNW0wU0MKLTJZM0NvWlRRMTk4MlZJbXg0Wk9maCtyODZYTmtyS0xqM0tZQzFLNkRSNjRVd3EyeUxOb3lwVGpkVWlnODFzdGUKLURocW0rMFlYVk40ZHhYQ0xGNGRlc0tXeE45djc4Vm1DdUh2WWtSeXVuajlRNDNHVnA1MWNNUWZGUkJMV0lxbkIKLU9yVDhrMDIwbG5lME14TzF4anUyc3IzR1dBNFduNk1McXJ4U2RmVHErUDdaWWNTaDJCY2hrRFBzbHhpNWdOUFMKLUh2NW8yOHJrVlcvSzM0VVF3NzJLdXI1SkdNUk53SnB5ZTJyU1BVYnRMS2IwejgxblB6Sk1QK0JDbDlEdHRUcjIKLXpEa2tuL0FGQlJ1S0gwdVdyS3YrOWY3RkR1NGh4c2RGRm5MY0Q2a1dsWC9WMzdiNXRZQWN5OUF0ZDdseWt3OEYKLUs4d0FvWVpIeXpZYUlSNW90WVY1WGdqTWN3K3o5VSs1dDRvdVhTWWdodDg4WTEwVHExSVluSXgwSTU1S2FWNDQKLXVDZHJwdHNLblhYV3ZJdXg4aDhwL1NVd3ZKT3JFQ2Mvbll4eWZTNDJkaUgzVjNWR1Y3OGZ3Nm43NG5ET1luTEsKLXJ1SUFTZzkyVFhVcDNRZDh4ZG9pcWRUZng4WkNnTnkwbW1yWXljclAzY1VjaUFZVVJ1S1dqamRUTisrZmsyVngKLVJ3MUtURmdUZjBaM2R4RU1JS0RISERpR1ViTzljRThvRU1XQ3YwWUo5bjk3c3VvSU4zdk9jaWZ4Ry85M1JFNU0KLTF4ZTkxSUVZNDk0L0RkZ3NNcWIwRDRUMEc1cmJGSG5OWThiVERLSURwdlpLemNibm05dm54UGk3UTFTMWtrSkcKLTIzMGFwRHoxUmxuMEFGTzUxU0FWUzhRb0Y1d1A2OWNMOXZyQzVtaVZoM213cWtEVm9IbkxOcEpyVDFvL1hjVlIKLUpsMWoxdDlsZ0ZOSmhWVGx0VFB6YTRGeWRYUmUyWkJDTktwRGNpMWpGdEQ4S1laR09DYytQUXRKMFd0Y3g0cUoKLUtWR081MmdVVCtEU3htYUtkKzNSeUc3TXNEdzFDUFQ4aW5Ia0FDYTJHK0dHUXZxdWtiakxwcFFEa3ZtVVBrVGEKLWZFb3RNWXFubHZxem53aVdVUmw5NjJseVJKSnN4Q2xDNlE5UjdQZTdweG9oc3RoSUhnWkZNTXVFQ2VuVWRoWWoKLTNUZHF0S0tkYlNob0YyU0Jud1lVVlNjSDJWUjJaRThaTGxsZE5JQStXc3dHNHgyNDJOb2VtRTc2SkM2RHlVUU4KLVdheEZMTDgxM1RtaUxZdFJxMVFac2lxQ3FyMmpSQk1KQTRjZEN0NGpNWlhwTGQ4aGV2aU50Y1BtZjZ1RXBIVjYKLVZCUW11bjhkQ1FBVWVDSEtzcmtPTG5BY25ySWw5Z1BseVI2cVZBSTh0bmZzNEllempudkFoNytjTjhjUTFBWncKLXhSdm9BSEpmUjdHTVQ3UnAvR1RMclNZVStzd2xuanJETFE3RHdaNnNlT1Z5em1LbzF6Ump5c1E3cUY1bTZFTHAKLWhsdTZFRDEvVlpadzJrU2J2NkJWelltV0hDR251eWwvbjl6WEltTVI5dmNNL3VUb2dqYy8zOEY0ekJsU3l6NzgKLXdIeTRFV01uMmpXeVJZWUZmd3dMdnJ4bVUxSUhrTlVLWWZhTTZxZXE3RjhSN2NxYlpoWjFjQ3JBR2NJaFByUHkKLWlnN2lFbVRibFJ3K0FSbVkrY2pVdUp0YlUvYTM4a0VmQ01JYktLblVnNHZVbk82czJYQ0dHOVRwbWNMUjFUaS8KLTgwdE9zRXV2ZzVaSkIzRkZHSGhTSDFnRE1BS1F3Q2tjUDR3YlAvWWh6QmhxOVdVMjRBQTgyUnRPc0ZWNHhqRlYKLXB0eVYrUG1FcEpsMERwRGVJdjBJK3c9PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczEyOGNiY19zaGEzODQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMTI4Y2JjX3NoYTM4NC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwNTE5NDAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMTI4Y2JjX3NoYTM4NC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxMjhjYmNfc2hhMzg0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczEyOGNiY19zaGEzODQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTlhZjJjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczEyOGNiY19zaGEzODQucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJRkxUQlhCZ2txaGtpRzl3MEJCUTB3U2pBcEJna3Foa2lHOXcwQkJRd3dIQVFJSUQ0QVlmNW9YY0lDQWdnQQotTUF3R0NDcUdTSWIzRFFJS0JRQXdIUVlKWUlaSUFXVURCQUVDQkJDdHNxMVpHUkdRUERPWjVIV2oyV00zQklJRQotMEc2WFlPZFd4K2dxRG5YYlY0L0k4by93aGR4VUtOWGk2bGhySkhRQm5sK3FRUFNKbkRsNGxINi9VN0xpbXllTQotU0FTTjloMkJxT1FoTGkrRlB4dzE5Vm43SXpLa05lNGMyUzg3dDI3L3A5c3M4amdiS2ZFRFBKNzd1eE1iNjRlQQotV0FtRGpPcjFlTCtITTU0cEl4cldjSEtVTnJmbGlmZnl6Y3djVHFmOTlPUmo5UWVHSjM3WHVaN1JMTXhmb09pagotNHYxWVZiU1ZsTVg1U00wdEk5L0F0bTNmVUcxelZBbTNwM1NyU0FPcjlGa1ZFMHdoL2FDNWY1S25NenVyQnE4SgotZjh6R3JDUDRBbVhpb3dic0orR0NwS0JxT0IybUZwQmpXdDJjd1lQdVp6UDVWVWFYaUp5T2dPWVh2eExGNFRwQgotK3BEaEpmcytQMGlHMVNXc3NmTE9rcDdzbUZXdG93RnJHbjN5NW5ESEhkM1A4L3Z5RURTMDJoZEp4b0x3ME1CZQotekQzYVZlYUlTT01xamM0M2NBMjdLcDd1dkc3ODE0WEFYZTFNUHQ3Qm01Q0dhOWs2WHRWaE1UcDZSQkt4TDJvdwotM1U4U2pBM1B0dUxMYk5FQjhGREdpMk1Dc29ER2ZtWGRPWnFKUEpkeFNiTFdsNS8zODVpcnNVS1FEbkRLOXhyNQotdFlWQWpQTEs0dGtkdEJnR0IrWXYyYlJZalBkcUtpTnJFMkF1dUZOOEVTcW9pcjBnT1diR2dwbWREcFZoRzFhegotWS9EeXYxSmN0ZVhvL3MzUHNJWk9YWERRRUs3ZmRyOW8vUVdZNjJLSkNJUVhQWlU3SzRnMmFXTGJNTjhwV2FidAotM21wQmVDZWlMejArbWlTd0hGU2ZUZy93ZWVnb2dyZmVCdFNWNnpGY0JTRzBuejczSlQxVTZVNGVjREFzdWsyMwotbm1Mbm0zdCtuM01UWlUxOFd4VGlRcnEwbjVnT3IxWG9HZHVHUVlCQlMvYmhGb1FvV3ZWUStnYUNhUjFoRjRhcAotVTV2VGpZbWRJdjZIcS9HbDNzTnBIMzI0TlZUUTJKSUh6ZEl0eWFaaVR1Z3I4OSs3WXhQeHBMOXB3Skp5enRkeQotMzFsNEF2QW90OXZFSldINndQQzV2NjZNUXJxY0pSdGRUOEJ1RUoyUkZLa3FQMHdONjZKQzdxaHRtNHY1b1ZncAotdGJsR2NQNG9XSE1xQVp1WVViZ0pZaDVzRVhNc08ydGJwMmNrS09SMTBlditZenE4dlE5QVlGU09MTmtGQUliQQotbHh2MERKb25VMjg4QThSZWkzV1lVOVBmWWlZV0s3Y1AvSTQweHR4T0plM2NRRWhRVEJKd1Q2SzFzdjdRMEhBYQotaHM1UDJ1NDVYcUpoMndhcUprZW9lcmkwcDIwV25TZmNXbW92ME9JTXR4V1FNVDZZYjYydithS2srbnFsdXJJegotQm12SnZnWkp0bmhsSlc3V2ZiU0Yza0REOFdaYm1hYkorcmZQY2x4NS9IeWgwSmZhSFNKRGE5VmQ4NTE4L3dwNAotVGNwdGNxN0dDOTNTdDdQRzZSVGc0blp6cmd1d2R6QlZlREdCMEJqUDR4SS90ekVrazBNZ0ZHQUw2SkRhL0ZMdgotNUw4TU9qZUNMd1dPOU90Vmp0MDJhbWMyNlNNbXBFSXl6aDVmL2VYV0RCSUxuWkFnYm5pZXF5UW0yK0tzdlE4NwotOWFRZExsQzRSdk83M2YrNUNreWdmNnZySVcvbjhIVm1IbUx2K3FldWRWZ0lpWVpWejMvR3RpRkpqdWF5TXIvRAotU2d2cnpOeVJ3OFNRV241VjBPUnkvM3U4NlpmcmFJcTNmYWxJRkpHWkRHOXJkZ1lvQk5IemhNZU9YTCtmcXFIYQotZWd2T1FiZkE0anBtdGJXVXhlcUxxczFiWThUOWhHVzhsclJtN1RvZnN1eERQT3orVmFqRi8rbHFXcnZYcDYrOAotVnAxMElnNDJYODhUVXJvV1JyT1NYVWtSNDVYanEvWEc1TTVtYlpRcUJ5Z1dTcVFKOUxyVHp1OXlxaFlzcXppQgotdG53WFZwdWRLLzlHSzdPS0VzaEowcy9Ic0xGSEFGUkJQSm5WUDBjWFRFZzlFY3pnR0JMTFQ2d0FqNXp5MGR4egotUGU4WTQ2SzZ3VVVIUDRZOUlRbUoraS9kQmZpYXF1U05LS2RxTVU3c1Q1Y2QKLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxOTJjYmNfc2hhMzg0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczE5MmNiY19zaGEzODQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYzFjY2IzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczE5MmNiY19zaGEzODQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMTkyY2JjX3NoYTM4NC5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxOTJjYmNfc2hhMzg0LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGEzNmE3MS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxOTJjYmNfc2hhMzg0LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUZMVEJYQmdrcWhraUc5dzBCQlEwd1NqQXBCZ2txaGtpRzl3MEJCUXd3SEFRSThpK090UjB3YkQwQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUtCUUF3SFFZSllJWklBV1VEQkFFV0JCQkh2T3ExMjk0UDE4YmVrenlZVnA0UUJJSUUKLTBBSm5aSGpQWmNQWUtkU05hTmZQZmMycytVbVRnWWVMQ3VuNXNkKzlLSVl5b3pKMmxqWlRpanNkcC9oSXRXVHUKLURtSHJmTFRMVjhtdEwvT0ZKODN1MHJEb0hWZlNyREx3Rk1BeS9ubWJ0bExZUEZFZlU5TVE4czJPdHZLdW9ibUkKLWIzeDdiK01yVGxHNUNvbnB0c1FRdzV0bDNkemE5RFpHZkhVbk8yRXpYb3J5dFNNTEZDR2VRc2t6Yk43WS9TYmYKLTIrSUw1eW9pZmNmUGRkVGJLRHlUYTc3SzI1MTZ0SzIrV1RVL1ZVZnYycjVkNVNpaXZaTHVNaklZcmJuZUhZb3EKLWhXMzBCWm96Q3FKS0o1RzJqd05qTFVqUGlyQTZxdFMwWTF0SWI1clJqWjBwU3kxWDVvSVFMMmxhWkxyRG85Z1AKLS9VZDhtMWsybnY5VXY5SFBNK0c0eENNU2lKVmFwdFlQeXpGUUFDY1NkQS9CVlVkQkMwRXd6SWoybmJhb0FsTTAKLStzWjJBc2JvaG5kcy9Bc0R6Ky9iNk1hTUtnOU9ub29ydDB6Ri9IdHBTSUk2K1dTbXZHT2FWMjQ2OUpFSXZabFUKLUpJbjFZdWdwRFBJZTYvQjM1SjlzWWZ2Vk5LVnN2Sm50Q0t4bWN6Nk53MlZ2UEtYQzNvL2JzZUJxQWhMS0RNWloKLUhyM2lkM083Yk4ybmczbEt1R29mbVFlTVluVzR6YjRjb1h5dGRjL1hDdmY2M3hFME5zVUVCRnVSTXBjOWlvY0MKLTJSTUJFek55RTR0bmlnSTYxVC96a3B3Z0JpYzFwL2lzR29YTWRQV2wrWitJQUlZZ3l4T1Z3TzlnNzh5Vlc5dHAKLTF4RjlXekpyR0hLTlQ5UkxtSU55bzNqdC93Umo4UStUMEVHNDVjRFFjSHdweVhkTlM2MTRoVUNJYWVUdlFjUjkKLThGK2Y0RDhJdkwrR0p0MkV0YnFMK0Q2ODdYL2hwdE5laHBGZit1eEdpSFFmcnRPdllTL0FyTnJld2ExdHM5bnEKLVNNQUU3SGI3TXpGZG5oRHFSRkJhKy8vSDFqdk5rRHgzcVhmYjEvTU5FOHBSNnZqY3VlS0tRMEJ6bHJOWDFPMkMKLW96ME9DTWVEZlhaaFdkWW1OakxOY2Rib25ydnE1WjluT1VFZHcybE5XRUxUNGxPQW1xZ0EveEJGZFFhNGdsQ3gKLVdTMXI2RHlqZ1RkR2xQYmNHdWdSdVRjWVhOeDZpaWtXem9TMTM2OW1heitXVjlxVzdyOGtBMUZzN1dVaVluT2IKLUkxRTA2eVFLVkFOZSt0MlNRWU4yalBLM0VzRkZPQnhHOXRsY1hiWlZ4dng5bTZYSlI3ZjdZbkxQTitiMGYxcUYKLWNUMmM1SWhLNXBLUmlaZHM4MmxXQm5rK2VsaStxVVhJTElCYkR2Qm1ZNFB5UGsra3lld0FISTFIV0Jmb1NILzMKLWFMSVY2SlBnd2pBSktucjArK2pVcUVUSUQveUd5TEhOTnkxdTRBTHlBZmJGVlUvL1JHbXdBeGhyQk5QZFZWR2IKLXJCZktMK1ZMOEh1L201WFdYZXowbkhLeUQ4SjFpL1hPMU91dEJzWFl4RW42WG51OXJKbjhGNm5KK1hCM3p0NksKLVFka1VwODV0M0dNMHd5aXp1UFJXSnJTVmZZeWpWNDF5RUJYcWUybGdxVFQ5ZHB2cGdJUnR2VWVxODNlOFBELzMKLTZxS29lVHYrM2NwcENGWjN2TEFyR3ZzdlJUY2JmYzNZRXpYeHo2Z2MvMUhUemQ4VXBDbkEvOStqZXBHM0l6UkwKLTFiTHM4UVZ6SUJBVC9VcHVDNlFXVWRBUi9KWk1FRkxVNUZuUmg2b1h1aDJaeXM2Nk90N0x5TmhuR2xTRVBsWEkKLXBvbFVSeDBiZXcrUWlnQkdpSDdOcHlNZ1JpOVdoKzFIT0Evd3NBcDRYN08rRGhhWDZ2ZGlEYlFvaWxOMUxjbFUKLVRSRlNocHVheHdSQTFlazJKejNKTG43d0NzR2FWWHJkMnYvQ2dyeG9mQ1d6R2pSMlJXajloQWtWNGVvSjNHNkEKLXgzRGhNUnJxWGMvTzNPTjlUeWhLQlpQMWczNUluNWJabUJVdi9vKzdlWVY3S0RFVHhQd3NEM0ErZENxVUpPYlUKLWt5WmVodTJEc2Z5WkZJOThTbmVjUnBiME0wdmk2Wlp1ZUN5a09WZWM2eGtYCi0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMjU2Y2JjX3NoYTM4NC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMyNTZjYmNfc2hhMzg0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTM2Y2ZiOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMyNTZjYmNfc2hhMzg0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczI1NmNiY19zaGEzODQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMjU2Y2JjX3NoYTM4NC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhMmU5MGYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMjU2Y2JjX3NoYTM4NC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlGTFRCWEJna3Foa2lHOXcwQkJRMHdTakFwQmdrcWhraUc5dzBCQlF3d0hBUUloV2cwWGU5MGRBY0NBZ2dBCi1NQXdHQ0NxR1NJYjNEUUlLQlFBd0hRWUpZSVpJQVdVREJBRXFCQkNSRTYwazBVUlpCa2kraGx6YXhnWmdCSUlFCi0wSGZmbjFzZzNxTk5Va0ZESGRidlU5RTMrYWFNSktXcURTNGJVcUdndVQ3VHozNlRQTTFkclVaU0Z5V3ZQZ05ZCi1kWG9ueHUrMmg2anpSbnkwY2xQeXAza0NiSkVxZ3Z5ajBsYUtOQWZWMWZtSlJWa0lGaUNNczBpQkxRbnlqQUpiCi1JSjhoR3hzbm90ZHZtTDNvVHZIcTBZYXdQWFJYVkRDNHFlTytQemNEalNaNjJFK0J6MWJFMi90TGlmMUJLZDBrCi1RYmNjc0Q5cEN5RjhwYXVDQXhnTjJBV1dkdXMzSXpIK2hXVWY0RFRUN0FoQ2RZTmlqWStabUJnS0drSm9KV3dsCi1hSVpyUEdKN3ROSURlY1F0ODZ4TGZmS2lmSS9iMmRPNWUzUTFOZ056SE03N25jb2VMcjluRlNsc2MyVzNxQS9BCi1nRURjdUdqMXVqY2hLSzcwUGhmejUwSE1mblAzcENxTGs4akRJNzgvVFN2SERpYmxGNjhoc1ViQXN2YnRITnU2Ci0rQVhsRGRTVTJiY1J5UVJzanZhZjJsTUx0K3FrVVgrUDY0MFNLblhJWWExbzlkdjQrYWxFNFhUWmFpbW1PbmFvCi1EalltNmJUSEFZY0UvL0RXL0xYdDdWK3ExS0NQcXBvSE1SMTQwdnlqSVJOOHVFY1BYeVRrYTZsVTM0eXBJaFViCi1ON2dnTHJYckNqaDNuSm8rbkN0WE9JTWY5TzllRDlJLzBpOGRrdFpGdVRSajFzTy96OUoveEZ4SFRkQkcvQkI1Ci0xTUVtd3JpUnVicnc1VWQrdVhuUnErbGc1clczbjQrNVRCdndZcS9HTGZ5ajM2b2plZ2JFOE9kTWZKSnFDZGQ0Ci16eXdNWHdZaU1pNzZnWUF3RUw2MERXUm4rM3Z1ZDAyUXdZOGhCWGZpT1BxMmt4YXp2Wk01U1d5LzFiUGdTdGtuCi1mRzl1ekU4bi9BQlpBMFhXdVY4aE5BY3hZbFMrMHMzSWd1dnZIb2dRdFFNWVRUZy9EM09PRHBjMGYvK3kzTzhOCi1xSTVJeW0xU3JXcG5GOHZWRlpzTWJsTURyK3RiZUN2WVErSHVhVGMwTDVjcEFvem9ZN2lDenVxd0RIRnJZVHpDCi1yU1o3MFYrRlE5NTZtNHhrQ0J1NlRyenF6aEE4emZERnMzejlMZlY2MnY5ekxnVVM4dUNLU0tXeHpuTTBJZGlFCi1abk5yd2FFMXhzTzVRTjhMZnZsTzROVlZ4Ti9BVGllNXRtbExuZFM0YzJaa3N3Y1IzV002Y1cxYnVWYUlQc3o3Ci1sVTdzYmQvSTlwV3B6ZDNlWk5rVnJXcHlXeHZGUXhCVU5OQzVJWGNnUkJac0dnVkdSdzM1TEJsV1hLbHVLclZpCi1aL0ZBZjIzZHQzbjJTNGR0SitGZDIrWUwvWWlLMGxxdHJtK0drU2ptTXZWUTU3UEpuOFF2VzM1OWU0UXN4RHlOCi13djZpRVFEVXFaY1E4OWdnZEdkb1NGRmdCdEZBQ2M5aUNLc3U1QWpUSmwrVHFsL0EzRlY3U3dZRGZad1F1VDRlCi1nYzRkWlB1U1NWZDhjdHRVZUZVbXRyUENNeDJuUDdaRFZZRnJaeUswN2VBSUw4OWd2M2JZV3U4Ui93TUtOdnpyCi1nMEFvMCtBbmZMSmcxMUM4cEFoSmVhMWR4d3U3ZzZMU3BBK29DWm92NFJwcVVuTEtNQ3BQYnlweUZoU2l6WnRGCi1ldkRNZis1YVVBYmUwK1pzQ2pVVCtSZnRwellDUFY5dUdoWWhMTUlGUlAvN0ZDY0hNckRuN0NiQWVrdG0wNjNVCi1Fd1AyTzFyVXJNaFBXcVJ6dHg3MWNHQmxvZVZQRThEZHduc29ycjRNN0VYaWhaY3ZOc0xmejNOOU5Vb3BrVTNNCi1zTTJmRUFucTJLTXlycndWR1JTSHZtNzBnVURwSmVGYW5SQnNJOXoxVHI0cjN1dEhJSVErMHU5cEZQYlFsbjBRCi00WDRVN0tiS0M0bGVUWUdNUE1GT1BYaWhpTVRhek5jczIzMnN0QVlVWWU2L0RtVlgvcDJkSkh2SHV4NXFCR0lXCi1SYnY3T3V3YXpPc0RxTmZycVpUZXNFTklHbC9LUG9OWGlvbHAvWXRHM0RIUTF2RGpFai9YVE9WV1drQkRYVmdQCi11dDRQaTIwaHZGQnd2RUJ0eXBBZ2kxVkxjYWQ1K2RsckV3cnlld2xMTHc1aAotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXMuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2M0YzhkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTAzMzdmNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJRkN6QTlCZ2txaGtpRzl3MEJCUTB3TURBYkJna3Foa2lHOXcwQkJRd3dEZ1FJUzl5bzU4bUFGMndDQWdnQQotTUJFR0JTc09Bd0lIQkFpYzJsUUZmc3lBelFTQ0JNZ3k1K2ZMWVM0QWpYOGF5dzVzSkdwZjc1TCtSOC9BTjBrSwotK25yOW5KVXoyYWdyK1hXR3ZOQmtqQTZYT2hjc1NOUnltN2o3MmczdVJOb3FWamRWV0k0bW40d0VvOWY5Z1dnbwotYXNHb1BLdmFyM1dreGdCdkFEU1B5SzV1MmhEODFlYmVsMm1hUHdrcG4ya0RFZnNYeVdURFd4cW5BVUZ0aE9DQgotMmNXTnpqaWoxZzNsNlJJOUFEU2Y2WDVJYmdUZmROaURmUXcvRCtwbmVKVk1jMkwwdkNHazF5Wml1OXB2YThNNQotcExTcDhzVUdnekREZTNjWC9oODdKTDR2YjlEZTh6RmdaN2hDZkZYbXI1M0JuVUxQektyQmdSeUQ2WUQrVU9TZQotWEZNWUdOUjZ5Q1lUQ0ppT0VKVG41aTBGem9Gb3I0MGx6RjdhaWdTcWg3WVZsOHRGTFBFekg1MXlHQklHbGZNSgotcnJ1WTVDQStUN1JHUC9rSVVHdzdMZnRWT3M0NnZOanlOanZ0NHlYYnk5SmsxOCswRVY3RHJrK2JOSlI3QUNwbQotVmlMV1ZJdm5ORjMwZ3FDQkpkWGErZ1UxL3lEanNwclZ5N1FmVDQ3aVo1Y1E1elV6U0pwalJEeHQ4YzhhRWdPdgotNDhUV2p0YkJpV28wVWlFbkY0OHJmOFZONDdnUy9GVXhzUTN4OXBheUEwS1puTVFmcXFMbjJRZnZCRzZUVzRrdQotTUlPUXVDSHJGeEVFaytYUlE3UExjS2N0ekN3bStBdTJ2UjIxcGRnUVNUdXBpRm5PYWxBYmF6c0tPWXdlTVBkcwotU2N2d1pwZkJuS0lFOE83dmkvL2hPc0lpbHczVDhTMVJDb2d2cUpjV0JBakhTcmZLc0xxaFRSK3ZzTHFZWmtHWQotdGtkb3kyOWhlN3VIZDJ0Rm9UbzVFNXpSUjFjTmpDbXQ0ZEVtVlIySFpPUSs2Rkl2azFjL3J5MTRLSkVaUFV5SgotWXJWZXlIMmgzc2lqYTRzblVNbEI3NlVzWURrYTZRUzZQNjJTdHhSL1Q5MjJnYkpxbUVDOXlBM1FlTXZuMXgxNAotcDh0Wnh5MitDbHpqcmlleVgrQis4RFlGUTNkaHZYNzJlRm01WDBwUXhLNVhJWkZPSHpFZHJmZjIxNjkvKytCNwotQzNzbWp3UGZya2FqaUFiV1FpeHdyQlppU2gyS3dQTXVBUEZvaGZUWEU5TzJmTllOOEkyaUxub1JobzRNdUc3QgotM2pUeTFiNGF5U3lNblMzSTBUNG5RS0p5SUZ4UmpSZzlvdlBjVWxzdTV4bUZYUmlYSTVOcU13Ym9EVms4cFp4dgotQ2hNSCtFTDloTm1hdGY1TXRoM0d6T1NDMUNJRS9yZy8rMlNrUEszQnJOR3dGRDQ5SnVQMmIrNG1vY1ZZQ2pybQotTDJ5b1prTnErbU9Va3BuWEk0TzN1UjFydFFmQUxCUW0zUERyb3F0S1FIbjR0Q3BhdjVCS2d6dUxJRnlycjY3RAotQjJ2TjNLQUlJQnJWcDhsdUk0L0pmNzdockZURjhETVdTTjgwMWlnNHBnK1Q1cEtLWXlWWmUxQzU3VU1rOTRKcAotUmpFenJBU0JTbkVab2YzaE12Y2l1ZHAvdTRFc3hyR0t3U1V4K1Z5M3Z6dFEvRjNIcGlzdW9kS1NFckRrTzBTeQotOHljV21SOHE0ZU5STVl5VE9oVDNjLzY1MG1zZFJiWkIybGVsd1RsK2ZxZzlvSVVKTlg0WjZGbUJWZkFQUk0wUwotUVRTRUp1MWkyOHFwVllpUlNtbkFHTHZHRVROV0pud1hYS2FPdG9JcG1YNWtuZUVET1E4WkNKSGNpZ1lFTkIyNQotOVNWZE9QMjJETUp6aXZtd1dkUnZLcUc0WEhLZ09UNnQwb0oxTFVObS9mQjRLTW9BQk16ZkxqcnNsekpXU0NEVgotQ01OWVN1WkUwb01SVnBqMlZhRFp4ZXQ4RFEwK3JUSitCc3pWSlhYc2FWM0RMV1hnOEl2OWluL1gzYlF2WkpMZgotWkhTRWFubGRjbXRyT1kwSzhqdWZoOEZrOFhqRDQ5NGE2dCt2SThHLzhvR1dZNHJEa0JGRytzZUJOc25HOWhEegotd09Cdy8yZnBIcXdOejFGUERmd24vU0JmSUF1eUxVc3hlL3crS3BPYjkxalhpNDhpZng2NGZ6YjRqcjBKbTk4PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwMDI2ZjkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjI0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjRjNDEzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJRkdUQkxCZ2txaGtpRzl3MEJCUTB3UGpBcEJna3Foa2lHOXcwQkJRd3dIQVFJLysrZG5oczRWWllDQWdnQQotTUF3R0NDcUdTSWIzRFFJSUJRQXdFUVlGS3c0REFnY0VDSTVETE1rYXlNMXBCSUlFeUVKSHRabFVQSVBuNkRCNgotWjAxN2tGSmRhRjI5QXFTYXRUNXR1a044NjIrYiswYkd3b2RhNWFSNWxyNGVkZ21td01oUisxcFRld3NXeVpLMQoteENZSHduMEpuYTFIWEtSTGZzb05kS0NGUHl2Smt4OU9kYk5mb3AydXFiUy92cnNyaU1LTWxvS1YxS1hVR3FDSQotelo3QlZFZ2ZnSDRoWnU3Y1g1SEgwdE13Mi9DenJDNU9qTWhGcS9PeVJlNHJldGZBQ3hOMzRXVkFxTU00L04wUwotUzBjaU5ZUjRDM3ZLdTUrTmZrNFIzR0dNbW16MVdlamtZSDBRTVhGdHE5SVU4dmJNVWhBYUJYSW83eHdrQWJRQQotVUpGNWx1clhMSkVMQ0lSMUtRVkVqZllDWFZpSDJaYmhBWnVrMkJWMEI4cUlLaGg5R2h2TCt5Mm5wb3JpRWhONAotZGRFN1BkQW1aUGdpOXZKMzQralk4RTJVaVhwWERrU3IvOExwTFJWUS9VSVN0dEFSVmtXNDljT1E3b09WOWhPQgotUiswSzlmeVpXQUpJN2NaUVNzdUlQU081RHdEa1hjbFdVRllhYTlDMEJjSFJhejhBQ2tIdTJ2U0Y5NEx3RzF0aAotV0J2VnZtOWtUcXpucTJ0Tm9BazE4YjRSS04yblZVa2ZoQkplUjJHYUpoenNzaG5wVG8zNTZrWU5LcFNVSW0rUwotNGJnMDg3Wm92cnNmMEMrNDltcis5dUdOYkRRMkVmRzJCSjMxZmFCSjRid1JOYXRhN2wzRnZxbE1MQkZKRXBVZgotbDJFSWxyNHFYOXdmRjlPbmttVDBnR3V1eHdCOW5qQ3BlN1hIYnZqbXZLYWxvOXM5aVAxejVyZDlmNlVQekRRaAotWGRWOXBvb0J1c00yWi9WamtyVXhSZHl1cmxld0QrVVFuMk1MaVJGN3Q0Umd4NSs0ZzZub29JUWxjVjQ5SmhFUAotNE9mNXVEa1d6SFE0RzZUYmZmVS9zZDdUSGN3VHA1d1RvdDBCVDJJUHVQNnFnTEZSU1FZd3g1enBscmFWZlRPbQotR21YRDhZMEk4RFAzYnltTVZTdUpXRlFyU0wvOFg1YjNzbk9oekYxSjlvMjFOcWV0WFkrWWtHSVpQZkw4MGpVbQotN1pSU3NqejdBNE0zTUdoc0QyaS9nd0dBVWRrSjBrYWNkbkJZQ1pqZnZoRWlNdHlKaHJ0cFJEVDdwU0ZIQ040egotakNvay9tOTRkK21QWGNJN2RTQ2ZRKzRGVVNNWERYNklLdjdpdnNvSjh3cUkzWWlSOWNIZEsrRVpMV1BLYjB4RQotSTlZMUg5M0s5cFFGbGV3M1U3VHpvRkVKY2VlMEpIbHlNN0pHU2hQUVAvbVBFb1BzSFRSb0dqWXdZcDhPSEVvbAotR0FqUnV0eU1TNS9wRUwzenFUMG5Xc3I4ckVFd3RtOHRwUEt1TWNsUHQvcDJMQ3BWQlZnVHB1VkYvSGZucjhBYgotdGVMMmJwQy9EMFcwT09PTVUzTWxmVTgyMnZsbTFnQzVZaCtJLytiM2pzZ2Q0eEg4NFBaVUJHRExPNStXcnNsdwotZjVCUHVPL0RIQURvbkIrRGVHcXdTRm9sN3p4cVlXdWZkSTFqYjFZRTVwV1Y3ZE8yZTB2VEQ3NDYzbzZWOTA3KwotWmZjNGs3aDVvaFMvVytSR1FEQk01bHBsc3NXY09QSzVSeDhMcFAvdlhIRnA2K0VQbkdKVEZCZzZJNGZVWUFaSwotSGJKQW5Ma2pXamZ5N0Y0QUVCa3g4akJqWXlEcU54M3I0V0xNVTVkczA2QzVuekcwdXNUcEF0b0prNmszRy9IcgotbC9qTXIvemErNlRydFh5TkJER3Bab2hneFAwd1Q0K2hBTXlMR3ltWW5TV0ZsUlZra2YwQkFOYnRjSkJzemJBWgotRXZOdkphQ2VjalZ3MlpzbkxvK3JhcEE1Vjg3d1I2UnpwYzVZaDZJeExRcy9wTk9jbDhTOUhoQytFendjRXJMawotSjFMQjVwaUp5NjRrTG16eEMvd21KWXZSNWhZOEdqTVU4UThjSE9ENVNWazBCODdTT0N0OUxIdXNrbDhqNS8zLwotdExFako0VDZuSFNmOHN3WGw0QjJlMHRkOC81Q2Y2bW55cWl1T3lRSzF5R2hNalhiaTZ0YVlheGIyZk5IQlY2OAotZDZRRGJHczhpQ3dHc3A2c3N3PT0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyNTYuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjViNGZiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyNTYuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTI1Ni5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzE3ZDNmZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUZHVEJMQmdrcWhraUc5dzBCQlEwd1BqQXBCZ2txaGtpRzl3MEJCUXd3SEFRSWtrUkhsNzRsZ3hBQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUpCUUF3RVFZRkt3NERBZ2NFQ0FHVURKWUFyK242QklJRXlPdGhsZ01OZ3lmanZRZDgKLVpxUVlGNTJqdVlybHZFZGsvTlkyeGxFZmE3TktVZEVCUzZqdkwwbEhPYUNjbjBkUmJ5a3FzK0RvOXlpV3NXMkEKLWNRNUJMcmllN0MvSWVaU2FGOTBEaDkwUVVlL2FGdkUvMWZCand1U2RMajZSZjEyTVJYeHR5Q0piMFdrU3RyVUIKLVJnYjZSZUdVaVVWejdmSnUwZVBaZU5LcVZ0Q2ErTERlbmFVYXFvODJMN3kwNUtMb1FQK3FyUWI5NFVLMkI2SVMKLXhVU09SZWhRWm5mNmRwb1hITVM1Q0ZDdjRMdy9DMlZ1c0JJWm5BaEVWV20zTWxqeE15Y09KejI3WU1MWGljemoKLUgvL3JtOEJoWlE1WDJqWVR2bzhTMEJQZ1JYUG54YXN2SUFZTGJBRnZLM0tQMHVtWDdUSFZvWXNYcHdCZ3BoUzMKLXBlbm05SEV4WHN5WUxOYmVmcTlqUEw0TGxhdE5EaTJMQWcxUU9yMzBqeEdDNzN4RVNiWXNNMVdZSUIyNFJTTkwKLVpLeWhJTnh4c3FjU2t2dWNlNWR0U2hXWGtxRDdQMG5VTnp5Z1QxdVNENEFKRUtPYURML1l0QTRkc1R0L0xDVDcKLUN0OHc5VFIyK1FrUWR4Z1pyaTFTOStqU21QUWdjZzBCb2JQTW5jeXNUalR5QzU5T2g5S1BjSkNUaFI0QlhpdHoKLWN2b2NxdDFDc2lLaU1HUjUxeEhmTXMrcDA2RHdUVHoyTFJZaUxkWGNvNzJENTdPNGxpeE9rNUxxWEYwcWlCZlYKLW1ON0xUcUJJdnVZaUs5YUVCWjUzSFJSdXJBaHJPV0JKL1V4TS9WWWkrbHlDQVVCaFJ1OVhJMDJnMEhBMlVybFgKLTlSbnVCL2E0NENlNW1nUVdkRVlkUUlrSTdKQjBLajA1a3RXZGlYZUxDUHRURzB5dGZRMEN2L0V3YldDRzJ0dTYKLVBFRW1heXozS3FNUi9BdjlqcXNuazJxVTdrS3FSN2h5U01mb1R1YU1HcGpjeENwajNMZzZUbW8wTnJ2bjVzdmMKLU5OQ2hEbHJnd3lwNGRYNXViMWJ3WVl6aWJHOHgyMytmS0traWw3TnFaM2dxWjVlY21nWDVYaVU2VmRCQ3oya0oKLWsxeEdHaXl0ODkrZ0RkbW9jK0h5alJUSmdmQ2haV2lJNkVoVjNMWk9uTWEwWlVwUWlNNGxtcTBTbFE3OHpTbVkKLVp5cUc5ZFNFRldnNkJNck9VcFpidVk2M3dqdnJ4U0hySExBYkNUbEk5QlJrRmhtZndpeUo5MEZmTUJVakJ0NncKLXlDUFcycjVhRlBJaG5nTlMzRWF5SktoQXdjaEdITjJYZGZlRGo5R0ZoV1pBSVFzWFM4UjdKdUdESXVnNytRTWoKLVdMNzdtMWp5MEs0UGlHZjNsdDdQVnk4S09xYmlPSHl6WVFzdUF1dU1EN05aZFY0K2RWenpuVGUzSGJYTFd0eGoKLWl0UEZOdVN1ZGZGQm90QVdEVjJ5T0Y0QjdYYmNUdzRDRUd2OWJWSm9HYXRKZGF1YnppZFVIUEpVb3pXWVFYOEsKLWN3MExxZFI4eXhNdEhPYzlGWXlhd0xiUU16Y016dC9saWpTNzVpTyt2c3BUOVRZWHhmOXJDNXlYOHhsU0hIYTAKLWpsZ3ZqblREeUVzclVuR0hrOWtOZTkwNkdWNDJZRE85TVVKUHZVbWx2Ni9iQUtBNWlXWDIrSm81cndJV2s2c2cKLXZXMzNnN05QTW4wSTBwd3phV0RhTGQxWE5QM0pwak9Ed2tMLzVuOUYyeDErTHNiUHB1azQ4RE9uWFFpN01WMEoKLTJaV1NTeFpsdFRMcE9iRzhtSTRkV3JoNURYZXN3SklJdGE0a2kxbFN5Rkx1K2hNWStQVVZvenlkNkdWZDRUMG8KLWNWZXBOVTFySHF4dnNMSFZrTXNpeHlwSHBad25rUWlnckU4RVlldU1aUUtQcTdsdUh3aDFBa1RBU3IzU0pGMC8KLXV6dHEwdm10bi8wK2xnN3JJMHBXK29GQWxzY21jUk1yY09DTGFYL1RrdmdYMUp2TzVsc3BJalA2SWRhWHNZTkoKLTE0R0ltdFh4UWFQZ0F0V0o0OG8vQXpGOEtQZXo5OERmbm1wWEtCTTBLL2tLNU9HdXhIdk5DSjNlVERZUzZYOEkKLVNqNlFmNlo5Y2p3QjJ4UkZrdz09Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTM4NC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMzg0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjY3NGM0OC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMzg0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTM4NC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjNGMxZDAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTM4NC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlGR1RCTEJna3Foa2lHOXcwQkJRMHdQakFwQmdrcWhraUc5dzBCQlF3d0hBUUk4Q3c5U2s1emZ4TUNBZ2dBCi1NQXdHQ0NxR1NJYjNEUUlLQlFBd0VRWUZLdzREQWdjRUNDK2tWdnAvQVZMbUJJSUV5QkZqZ2grbU0yK2JvKzh0Ci1zVCtxK3JudEZWelpVcHo0UHRPcUxDaXBpSmx1RDIwQzE4cWc5SHk2OW5wQ0ZSL0xudzZVdll2Q05ML1lPOUFuCi1IbTU0ZUZDZjVjUEd4Z1JCbXZ4R3JvS2czTEZ5S1F6N3lEbUxtVWRySjhYZ2ROY1dCTzB5NWdjWWFFaFRwaW05Ci1xWllDM3JobGVRWTNMeCtDODg5LzFrNGtjQzdQU21BaTNCVFovbnBuQjl4L0tyNHRZVHRjZDUwV0RQNGZJZmE0Ci1ST0JHdXZ0bW9yMmNhU0lOUHhIaytTZXRXNTVucElLaGtRRkdRTTlvOE1PR1d2bVRZMGlMZDBpSWFiQ25nS3FTCi1XSGMxRmQzckNXQU9aK1N4MUJQL3VTaThpS1FST05hMU04ZTdGa0F0T0kzVDhxZkY4OWs4RzhWTHpreUJTZG5yCi1qSkZwb2hJVGp6SUJWMGQ2b09BcFRTbUhEV2d0eXJ3S2Z0ZzFrRHlKWmM3OUNnT0FvMnBWdURyV1htaTlycGhqCi1JeUorRUszZitTUEQvWDN3TWFicGRuNXJ3RjFxUkoxOUloSmV3enZlaVY4ZHJRZGxaQWVFUzFxbHhlUFFCbUhZCi1tVHpsM3ZRN0RrRWx3elZKeXpNSGxsNm8zdmlIdlJPZVFPODBuWE1JZnpGZDhTaFh3ZllPR2ZOQjRrNmZxZHVxCi1CVmo3czdseVdSSEk3aVAwcnVWd2l0M3RsRkt6VTV5UUxxYlVOazZIT3VHczhSOUllV0lWNi9MWHVzdmJQbDVlCi1uNE40SW1rQVg1SnBQMUtPam1MSlp5Z0hSc0w2Rk1DOGEzS2dVQWNxWW9xcnN1a243SEM0QnkwUElFUmFEK3o0Ci1OclZzYU40WUdReVZkRm9zTlVRcXFqejltQjhKc0w5enVUMEtNNm9wc2t6bkQ4Z2pUK3Z5VDlBK1VRREh2MWJlCi04TTVQcDhZZitrTGxML3I0ajNCdWprOVFEaGJ3bE54SDQ3NVR0cWJBR1pLdy9vZUdrM294SU1UL0ViNGlrZTAvCi12UW00eGtQWXBQZ0dHVnNuZWlybnV4ZGRxaldSOVg3MGYxOWhQam1ERDhFaUk5NVFZK2liVGR0RHVIUE8xYmpuCi15V1Q0a3pYc2FmUTZtc09WUEQ1T25jb2RidWlVemllODVCM2hlYnVWYkRJTWZReDVseUgxTGpFQnlheEYvQWZ5Ci1wdmFseUxkVnNEalVscVdNMXFyeDZnQmJnUXRKb3R3WldZZFd2Nzd2SC9pUFd1dXdocFJYc1dEY3dSdElFYVQvCi1KRmNHZ0d1b01laVp0NHd3djIxTXlzeGNnN3Avd1ZCajlaWjVxelZtTkRiNDBscEZuTDc3THBGMm9pYzB5bWVoCi1rT3V6OXUyQzAzRjF0TDRyQ29OL3dHM25HWHpiS0RORzJlc0hHVkZIdG9wVlRsTGYyd3VtTS95bzU3eGRER2UzCi1JaGhweXJFTzlmU3NQM3oydGhrSkcwQk1jeTBsVS9PNHczbFY5M0lHWklDRHFCeDdGOStIM1V6cE42RVc3VEl5Ci1ZdlZnWm9neWU2L0tOMytuWUtZQkdLMTVsMWpjaVFrM3ZENXpvd3dLdE1hMXNNbmZPeWNLaStNT1pWOWdrMkFUCi13NFpwcjBuSFpNZ21IMXJZclQxcGxSYm56MTcxMmR4NXhqclowRkl3UjYzeGcwTWtDV1NJbDFlaUpDblhER3R2Ci1yVVU0NnZ1T1MwVGZTMEF4NlpuZU5PQVJ2U0UvV3JTaDlkNmQyR3lMQlJGaHJQL1FIWTNLL2JmUmh1M09CL3FyCi1HZFNzT3dCWUU2U0hRNlA4a0F5Vys4V2ZCV09VK3J3RHdlSkI1MXRUZjFaYWFRcHZNM1RVb0dDVzgrOGx2ZXFqCi16ZWNkTWE2RVRuVHlmeFQxclhPakU3cVJwWWdkaHliNmY3MlJ2ak1mZnBJd1NJY0dxdllyeC9mZFVsVDV5dFZMCi0ydk5iMXFuay9EeENGMGNEbTJPQlk1dExiWHdVMHp3NmhaZVUyRXRrMUR6ZVF2Nml3emE0YjlhZnRtSmZ1b1p4Ci1EK3BjckdDUTdlNUk1ZzdKem53djVlMjdBTk1UVzREWEs2MGtqNGlFbFVaL3FQZEh1dS9Bd1VKQ09Hc2h0YnNYCi0xU2cxMzJTMWNhQktXclZEamc9PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNzUyNTQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhNTEyLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNTUyMWQ0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJRkdUQkxCZ2txaGtpRzl3MEJCUTB3UGpBcEJna3Foa2lHOXcwQkJRd3dIQVFJeks2a3gvcWJKRDhDQWdnQQotTUF3R0NDcUdTSWIzRFFJTEJRQXdFUVlGS3c0REFnY0VDRDc0T0F2SjErTHNCSUlFeU9la1owcWN4ZVg2aEVZWgotNE9OQ0h1NDF0bU9LU3ZCeUdlVUJadmVuakpRNDhBZ1RHWVVYTm9Zcmkxb2huYlEzYmNxaVAwVFVEZlQ0elJjUQotWkZaTHV6QXR3VjhaZlpjWVJDUTdrS3hHZmtjaVpKaGplSGV1QnkzbW9FYnpuemc5VEVQQ1Z6b09EK2szZjYrVwotNy9iU3ljVjdqazg5Q2RhV1UzRktVL1cvUkxaYXJwbTk5VXphdDBFY2MyS09hL1Rja05UQnZEOVlzajJqM0Q3WQotVW1kbWZVR09SdndRaEpHMG13djdPcGtMRmJGYllCZWhXcDgvRms1aXpKVmRKcys3N2MycWlRdmdlZW5kMUQ0MQotWlVCS3RiS0NvYzNJbnA4M2NTa2wyWG9ubmNDVXhCS0xpV0hBelp4aFBpSUh3WlhHWEhqQ09VcWJzL3NYRW9ncwotM0hUNVBIVlFqcVBHSWJsNUI4TllldGVsQjFoMVVkcTRQeTFWWnFqTGhaRkg4cTJTbmpSeEM5dG80YlhhaVc5TgotNDUxTkw1UzhiSnJjYXVuNkU1Y0Q3NHAzMkY4SU9qUjJPanIzb2ZFRkhRRlZVRmxMUFkzZ1ErSVpzMzRoUUJOUgotUVk3NWZmUUR5a1pQQnBMdzBoSUprcjFMb1lmdUVNZE4wdFBSUnhZVk8xbEtBVzB4Yk9BZDBVRXNsRmNzeVhDWQotb1VuUVA1MG5WcEc0NFRJNmJOZkxqNXkwN0V5TUZvNnZCL1hpRFhoOS9BejhqSWZzUGVZT0dJVk1ZRlNub3VydwotM2NqVFBGckpuRVFkOENIeGpMTG5CM1plWElvNGwwM2haQnkrcUZPSUYyRXprZTBmbVJ0ak8rT1VWbThsQXkyWgotSjF3U1RUaEJsc1dYMi9KT3poN2tpV0RpcFgwZk44c1RHZWVwYXp4SThuTkFOWDdBTGN4d3VMcmp2UE9tVHhmWAotRWxwd2ViT3ZDeG9ud1dSMEMxZ3laMGZlT0k4a2gwZEt3ZTB4aTJmcXhDd3hXelB4TjNFUVorRnRvVWR0elBvRgotN1FSQkZFUlBlZlVwTzYyMTR0MVBnSk1XdkxqakNzT0Z5NHRuRjQ2bldJL3IxWExPUWxMUDVjd0FJWFpsblNYegota3k2WXFQbTJPbmlYcTVYcXZ5TE9NeTFSb0xJTkpZMWRoZ0JYRnRDNUkxWlFBbUdKR21YOUl4VmpyUmt5OWtLdAotMzYyWDk4ZWRVVU1NbVc0OEw4UmN5WU9PVkxwRmV3QW1VL2ZyM3FvVURqdXNPdEM4TzY2Si9WNHZqSTNHOFZlOQota05MaVB4UXFieWZISGRiQzJQcDZyWFpYY2w3TDVGVy9mYzJZYVpScUN1RnB1R1haUStTS3JNWEtZOG9MYTR0TAotRW1mNGlzdmRsUlFqdXZlWG9lYnhQc29HOVd3M3B6M25sN05RNDBjblN4YjF6eG0vaGVRbUFjelBFMGZhRHNPaQotcEdBUVA3akFlZmgyWHdKNlJXUnF6eXVBM2JEV0M3RTRBU1lPRElKMUlBb2dNTU9sZzk0MGhsbUNYWi84OTkzQwotYVRuY0NRTzEwaWJlbVpzV3ZEL1gyK2dMM0xTZ0JpMlE2TmpIcWo0TVBBZTZ5QU9BMlVTYzFHendTVzRXRXBJZwotK3R0SnBLWkZubm54ekNmVVUrcFR6Mk9OR1Y3SjVhNTBCaVJMZ3NsUGF3bTBsYllsMkJ2amJTWkp1bDlvcXF5LwotN0ZJNUp5ODNPYUhycXlNU1JOS1pia1BXeTU4enJoUU5haVVhQ3JMRTNDK2h6ajFrOUJYcldtMzlBUU03b2xucAotVDB5aTdwaXZYWUVmZjAvZDh0Q2xxUUF6eTBEbktFVzU4eFFPRHhoRmtabTcwWDBIa1VBQkQzUU9iSGIyRFNqRwotUEUxWFY5cFhQLzNwY2krU0Z6bnV2bjBwNkNOM2wrcklYVytwYjZPNEtXNjVnbzBMVG8xZXZJdUtURmpWdFp5ZgotS3FiZ0RyZHUvRmQwS0pKeTdTMmNnL2kwMng3VGZjU0pFOEMzRUR5eUVTcEdlZ0U4WEFIMk5FbHRPMXl0MCsvegotMjZkMDZIcjJsaXZMODd5VnB6VzhiNEgxU2xpZlptUGh5MDgySW5GNjVXMXc0aEFtbXNXQVJmUG1aVUcwTFdvRwotNnpSUGoxM29qeHBMUHI4a3l3PT0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiY2EyZmY4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlcy5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzUxMTNlNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUpqakJBQmdrcWhraUc5dzBCQlEwd016QWJCZ2txaGtpRzl3MEJCUXd3RGdRSVJrVXBBcXhadnI0Q0FnZ0EKLU1CUUdDQ3FHU0liM0RRTUhCQWpGeU82Mkw0RUl4d1NDQ1VnRGErNE54bVQ0d1h1S2p4aGUwK0ZWMnFZNDFucEUKLWU2akJMZERRdXF0U2xCNE05QStBVnRLV2kxc25jWXpWOEZMdFBvZlgyNUhDY2lCeWRkWWF4c1lGdFZkbWFZMXAKLWNrbDlrQlUySklFWjlrdmZCeGN1SEVWZWVzYnZ3czRoSk1PM0FEZjVDUFMrdml2RXBZdDRXNlZVQU5aSlRHd0QKLWpBM1FCSWpTZEpsQzRpZXZkY3hPbjBtVWM4WTdYK1JNbUFoRVY3Nzh2UW9UTWFvWUtPcEFhNWFRc0w1ZU4zOTIKLUdSZXhFNXJ6aEkralNjdEJuR0wxdDhJaFViY2VCbkxqQUlEUnlOclFGbkR5cHpBTXJWL1dxdHZmM0g4bzdtL0cKLTNZR1N1R2E0TGJSMzJQQWtUOU1yWkxJb2FLQkd4UHU2NFV2eGZCRm01Ukl1YnRySWdwUVhIbzVtODRKcHdlZjQKLWZELzBhcmdab2gxRFNsUC9MTUoycy9SaHo2Zk00YlhvaHRwUEpDcW81NUZMeGpoZkJyQTE4MFNOWHdPV2JVdHAKLXdzUjVxSWh5NzhSRUhHSGptN0NsUUJ2eTd6cjIweUZKbjArWEdGRjU4VzIrR1RLc3RPZzZvK0w2NEFkNWJ5ZWkKLVZFMFN4UGhGVWFtaVkySEdtTHBCZGJsN1JiNUVsNTdHSlk2Y0RsOUpSZ0xQb1ZaZjBlWXpTY3Y1OG4xb0xUNHAKLWpIa0xaZ2k3UmtvTGY5U0F5UitQcThkZytqN2I3S0xWeTNmZ0lQSnhtcUVSbThrcVU0S0tzMUc1b1NtRDB3STMKLVlWV0NCOWtuUFRVN1ZGbnZCdkR4bUQrMDJ1WTVsY0tDSElsbExTWk5XSkZqdHNZVTZNSmNMQys2ZEJESG9rRjUKLTc2L2g1ZzdvZSsrWUpqdXQ3NTlOcXhlS1dwWHlKTGJIZ1BUOVcwK1EyYk9ESXRFUkhGMmQzYWJHRHVvNG9ZL0kKLTI4K2loZXNzc1dFZmtSeDRzN3dZOEtrYnNUNkZDWGZSNHVUeHVZWWV5Z3NtTjdGNnJRaE05N0VyR2VIOUx0bVcKLUpOcTZBL1JDWmFBNHJZaUFVenBJRlo4eDYxRWhvUXR1U2dzOEVCSm8yVzdKU0pjMzV6YU1GYjZvTDBRcWtxM3cKLXJNSGxCWGxUbGYwcGhwcEpReHJFUHFmQ1BmcWR0QUpWTGsxU3hwZlcyUmdRSDBHYmwvVlliSzNGZHUya2RuWUEKLW15M3V1T3FUNWs1dkcycmRCa3ZJWldNcUI5N0NXUU5CWm1pVjhoVVlqcUlKNEhpcENZM1pUdG5YSWlwUVZTOE0KLWxuVkZjKzduU1RrekFRNS9SclRCQWd1aUQrYjRDdlkwSCtDVklwNUZnYU11bzJCYXZpcXFMTjhOeDJmVXZDR2wKLTdLc1hoV2p6dEpnS1BiTHViVXUyVWNtT2g0UWFUckZRN0xiKy95dDNISHphVVdMVi9JNGhkT2dIM1ZOZFREYmgKLVk2KzU1YXlXL2dYek9EaEkyMWJEV1JCYTZSQ3lmZlJ0WXgrNGZjY3BBejRtejU4aG83UXl2T29LblZ6YjZMZW4KLUVBQUFQSmN0dXdNYlkrdGh1Mm1CT0lDbitmbmkvQU1UcVRnZ1kzN01rNEJBaTA2NDFGLzZSa3VqR2x6OS8yRkEKLUdGaWZETy9WU1dPOU9wcmxtWUNyMEh1dUdkTWFIQitWVEVqNWorY3dwSjVpbVVoUUhhTjFRM21hc0ptRCtzZEgKLTI3RHUvTzE2NGhJZGJsYnZVc1MrOXYzbCtFZ01iSHFDNjFSUWJCdU56cy8xc2x4VHo3dU82MWE1U251OFhZV1AKLXBpYnh5Q2FHem52eXVuQ1pHVGlXdUhOWVI4T25FSkFNNE8vd1U0VGhDemIrZnhLRE1jaHMxTEcwcHR3NTRML0IKLTg2b01pU2NYbGtDYmRsOWZqUFJ1SFR1V0JxRkRtMEx6NzdQT3lYekpGcHJlMlhEYlFlU1F5VHpaRmVBT0ZlR3kKLVA0bXJMRE12eHNyVVU4VTNFR2VRdFR2ZGlGak5TM0JhNmsvVk43cWprQmNFVFFIRW1tT25PN0VWRG45Y3N5Ym0KLXErdm9SN0pwb2tqRDJZS0NwMk13VVVPK3JqdVRsOExZeFVQcm1wb2ZZMHlIMmMrME9xSEE2dHhzemtFWGdHYnoKLW9YcmdGS1pxU00ra0ZHcGFSQ0lQamt1bENkQzZJQjlpMFF1OHcxaENNVlVQSU41SEZvQ2tQK0pDNWp6ZHowOHAKLXM4bTJaZ2tWbWNaUUNtdHEwSWFSUUgyblBTMW4yVjJkYkVkMTJyNGV4ZnhYaWlVN0daNDJqc3pmb3BFaEYyd2wKLUdDSWpjL2pvVExHWjJNMjh0R1ZGRElnK2t1Q0xpQi9DOTdVZjNXR0RUbURmcU9ZMmFCZkhjSjk3ckNISXl4cEgKLVpWbm45NElCdmFudW9BMURadkVzOHRtRzRkRy9RUGhzdFRWY1laZzl3QUx6T1VSWFppeDJ6UkpjYTkzN3NFb08KLVBwVlhPajU1MDlsclF3T3RiaXpsM3pVY0pOVDlHSkJZV1FUcGNlTlZZLzFKaEI2RUtmblorQW0rcVZEOC9yamcKLTFlaS9qbmRXT21YNjI4Q0d1cWhDUFQ3VlVuQy8wSDRvSXZZbmYrUUpsTnF2NnNiaFN0dy9WUE5wTXpEaU9obk4KLUtsLzFhR2t0SHRoK0lGZHpUcG1xRmJSSXhMa3Z2ckF6anhMUkdmT25IMk41VitzV0J1ZHE2UHNRMzhRYnBkRWQKLVdsRjM3WGRxNzR3cFFLbVgxNjVlRTEwaGQ0MkRKa0RPUlBVeWNwVlRyM3kwekRWVWpudTVCbzJ4aTJBWnFCb0gKLWF5bHY5aGFlMjZaWUx6cDJSbUFRRmtFRnhjcHVxVXZ1SnE0TXRDeG12WGl2dHRyQlJxYUZtQktvanhKeU9Pb24KLUpRUW82YWlvZjFaZDNpbng3UHJhby9hV0k3N1IvdmRhUy9qMUlXcXlPRnU1Qk1pM3RrZEw3eUF4THEvZTVjYlgKLUtGK2JKQXZLdmRqVjQ4Y1B5TVE0aStTaUpRdEZCRWo1bDd5bnJKMlhhT0NoMmpoeHd5TEpIRzkvcUdVNWRGME0KLVl1RDRPWThnVHhaRHBpMWpUVTVRNldVcWFRQlRVckxRcVdYRWhETGh5SGUrZjFtcWI2SWZBZnJXOFgvS2JwMTkKLUtlT215T0VTUElyZno3NXlHL25RM0lwRWs0dWZPbU53QTlrWFl2ZVpPWXRGTmZaSmNqWU1JbEMzN3lwZzgrTHkKLWR6dkxweDh4dU9wbHo4YU1IdE5Mb2prS0tvS3BjNEtZWitRWnpqOUZPQjZyMG12YzlTcWoyQTN4RmdudG5aYWwKLXNvSndabWFvbktUM2tSUXhEWjN3b1UrSkRmdzJTZGcwRmIwald2b3lQY1lkblFvRXhSN3VGOVE5TzI2Mm9BUGcKLXI4ZzVVTnRjS1hwR3oxeDIvSWZWTlVRd0lRZm16MVNsdHk2MWVkN2wrcU5jZDUxaks5UkFXOEhHYng4Qmx1a24KLWl6RTE1MkhlOWhyTTZYaE8zaDNXYVN3N3F4Ny8vNW4rVk5WMHlxcDNyUW5RRHI2Vit6Y2ZqZ1JpTldJVFhrSGcKLWEyWHZqdTgxaDV6VC9SSkQ5am9uM1BCZzg4ZWZmaUJGMDFVRCtEeEVOTnNKMldLdGM3MEh2aFJnWm9JNi9lNWIKLTA0WVg2SEJMU3dkYlVDTG9pWEZiWERGdFJFMEtybWJhMHRVL2kwZVJnelVpcFBEclFRVU50LzZ4M2E3S3M0OEEKLU9DMy9FRGZjQ1l6dTEyVzloMFRSMDlZbGZpTkpuYWx4R1NVMkNnemR4V2hYdnF4dTVsZnN3SWdqNmM3NTlSbkQKLXY2Njc2TlJUbFM2Sit3bjRTMFNoTm9uMUQvOXNpQUdrTGJoUktCYzlUalJoeFNHd0hMUkZZU2JSRDBxbDBSTFoKLS84a0lsc0tTbVgvd0pvMWs5ZzNNd0VOK1NkZFJrYkZad2pnWnk0dmdUUWhySDZyNFdRekNVWGNPOUYxaTRBY3cKLXJuTW1WOWZVSi9JWjIyc25iR255NnlhQmE1VDlSY3ZQcENXODFQWGVGQlpvMGNLOXhyczB0NWVScXdteUtUcEYKLUZwbGR6d1JveUZSakRuR1ZBQ01vL1gxZWFDd3ZldysxTThmY1NzMXArcXJCZnJmUmlJNHRnOGJOcllkTC8wdTEKLVJvRT0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyYWMzMjEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2VmMzQ2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjI0LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUpuREJPQmdrcWhraUc5dzBCQlEwd1FUQXBCZ2txaGtpRzl3MEJCUXd3SEFRSVJsODhMRkVwZC9rQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUlCUUF3RkFZSUtvWklodmNOQXdjRUNPNXp1QjdVZkExa0JJSUpTS3NCelVFR2NsM28KLU8wb3RNbG1hdmp5ZVM4UHkzaEdRd3ZMWkJMRS84RjJUdW8vYVViaWpVZkU2bmhLQ3dDb3pxQUVxSW0zVkdzcUkKLVZsMGxFc0twSC8vNnZzdkdDQjJaWGQ5Mm5mVlc4ekpjQ1dBbjZ3Q0s2dGpvekgvbC9NNnoxY1NYU0VwcHZtWjEKLU8zZm16Z2hZVXVuSzYyaXN2WnNrVjJLN21uK082amh1blNpV3FrVEJyVXpubytqRkY1OFJyTXYrTS83U1dIM1AKLWU4YnJVNk9jb3ZnY2VjYnJMVzN0NVVpNEFKV2Z0cGhVOTlab2hsTUYvN2oxNUV0NnJ4Nk9wSG1US0ZHYWJlUVUKLXZLMjdyWjFmemlVSE5lYldHOG5XbHdQbEFaeXNwVDV3N3VPSDRZTGZPWUtid2VtODBaVk9pRE1GMVZoM012S2oKLTVkdVdUeEFWWVB0MDEraytyTThoTzhvSUxaZ3dJcWZUT0IxL2tmNEhXcFYvWm4vODdqQzhqcWo2eGxPN085d20KLUNuQjZOUlNjMStxY3BSSnJxS0d6NmpWR2dtVnMzWllXYkxTM3oyWm5FRWVtbmZDSDdsYXQ0bTBDMnRTWjVEM3AKLXRCU2tMT05IajFsdTBQU2ppQytRbWZvdmdoOFFXZHVaOXVGenZpdXdMYVdwSHlPS2xJUXpxU3Y4aTFUUG5hQlkKLVFST0hRUjVySEw0MFJKTjBFeG50MzJ3eHovaDZEVkNRT0o2OVpSSTZXQXhDMVBMNWdaVnJMWHpyOUUyQ2xtTk8KLUQ0VENPd0tBQ0RqeWJGNVNmUWs4RkZKN2hLMDNEckZhUTJhcHFrRytWZmJkdFdwYmdlK0Q4bjcrS0NtMWw4RW8KLTNSTkJoNjd5S0RWTnZqVHdhVjNpcmtDcTNSNHNUS2x3VjRSN21qS2NMWERGZXM1MHBYS1dHK2NQbE8wM1Jkc28KLVlnS2R0MmEveUZjTlltOG4xTW8yVlc1bTFaYjdqTnZvV0ducjV1TUFMZUVRWXZ5d3ZGeUg3cDcxYWdwc1h3QlMKLUVCSGo3Q3UxMHlRNjZTVmFpUUVoeHVsK3JaVEVaK1h3bW1FRXZRYU5hcXJoUzFwbjJGWDJydFp6RGhndVpabFoKLTIwdHNaV3FUKzRla1hXSi9rdWEvdXI1ZzMyR1U5eTV6ejZyK2R3OGcrU01WWkhISTZldHF3UkhmblFiaktxTGgKLWxQbytocnFoODFnellVUEQxQ3pxUWoxd0ZOTGphUHcrdnhxb1JTTDgyclJNZ3ZjOXE5a201SjVwUTRjQngvL0QKLUF0aDdMMFVqRUZnM0xwZjVCbUZ3U2FwSUp5WDllTG5aZWxheXcrSzZGV2JLeGYvUWZxcWNISnVUaEFTNE12Zy8KLW51dW5ZakdyK2NvLzdGL1k2VDkrK0pmb1h3UlhKd3RyWWg0NlpQQ1poNnVxcldKZHRDa0Z0aE5qTGtLRHFiaUwKLVZHQU9ia1prYzAvdWFYck5tcEJEanM2Ykh0YXlMY3NlZ2JKUTlsVVV2U2RzL2tobWNyR3ZwaTRCTURTUmptU1AKLWNtKytXSEp4eXRQMHc3TnlBMzRsbUhZWmYwZDZqQzQ4NlVCM2RXMnBBVEtoaGNrekJjSW56bXRPK1F0blRaOG8KLWdLMVU5N2VyZ2gwZmF4VkRSaEx0OE0wRWVhYjJIdFpMRU5wSmZteUs1VE4zVjZqZFhtOWROVHJGaGR6QUFrOUEKLUZreUljRnZuOWx6aVRSYVZHTGc1MmcrVjZEZ2oxSG5uOEZtQ2JyNVVjRjdmbjRUWU4rWFY2amMwSXFlbTJVaUsKLXJaZ095QVVFNXNaaEROTzVnMjh3VGs0SjV0R05IV3ZsK2FEWGY3M3gvUEdlSSsxMzZLQzlCTGs1a1paR0ZBeHUKLWJPdXN1NDZtSTRkZ1d6aXZkS1hXQWZLWjI3ZzhTZFA3aE1lM21lRk9ld01FU1NnWnJVa1c1M1V5cE9QNzZSYVcKLXI0NUU1VDVHTnNhK3hWeWhCbDV3U2VidzNEaHJiSjMvVXcyWWV6cnFOL0p0dSt0OXZPL0F2blI2Q3hsU3AySEkKLUNCckZDVlphQk5pV0tHZUhyQzdHTTlmTnpmR3B6eG1CM2JEdktPRWx0dGZvTSthYXBENW5IYWNqYUMwdzVuSk0KLUFSOTFSWU9ocUl1djV0VkgraHFpT2Y4WURqU0UzZVFNSmZzU1ZSeXhTbnh0L2xTc2FIZ3FxU3NPNXZSYkdpZHMKLS9lUm5YT2dSaFJ6eUcxcDVSWCsxTW1paFBzanlCQXpMWWdTUXY0U3hsVnFMV3UxSTRqSzVNUjVxR1BMRXcrYjYKLUN4VlZVNnBQSVJZZ1JIeDVCYVhFemd3MGFpU0pBTnBnNDdtSC9TVnlPb3Q4V0tEa3pMNStHSjJ6SGZUanlqcmMKLXVXZFRDSzV6dkJ3MXhJRjZtS0ZtcHkrcHJHL25YeE1jRUtNdWZJYzFPdEJBQmJoSVVXT2RQTlV3ZTBSa0kzM0MKLTVFYWxIYlZkYXZaVWp6MEVjUVcvUFFiWXp4ZjBSRDd1MnV4Uk1oblN6andHcHZsSTZKcFFOaWhVTVBYS0JSbEgKLVEvZlF0ajVDQmFwdll5Nk5JMXA2UVNLS0hPb25BUE9Yb1pqSERna3RLZC9FVGh3U3VXd2dRbDRLSkcyZG0ybUcKLXJETnFMd1I2UkdvdzlyZkZSQ1F0RlNzcVY2VzBXcytKRktKWVN1VFhJUlZOWUxVaUE4aGxkeTZ0dTNmWWtScEUKLVkzVCtpUjM4RTAzUXlIczc3RkxBMGhEakpKTllyazlzNVJMa0hOc0hmQTlYdVpxcGxjTUJKRUk0QUJ4SHRpTEsKLTlQSVVMa0htSFR6ZEh5TnVRaWZuR0hnVWRuL0FCT2FxeXBnaUpGOEk4SWp0aGc5Sm5iODBxc25IUFNDVFpFV1kKLTZUTmVVTjdINnpreVFLdGhSbWhXajE1M1lxUi85WVA5RnRaSjZ6cTJYL2x6NlRuL2E3eTZlZzVkanZqNHlMZWEKLVFCVVdkRlY0WU13NXc0RnRvc1ZJMlZReWFsNXkzVURzS1UyemZSUHRCcEs4TUNqZXJlVG5aNk5YSkhMU3AyaWgKLUNGZEpyTWxWL3VpZkhIQzNCVjR3MFZjT3Fxc2cxSnM0akRINGJWWXNMSnBHZnJBdE9LdWtMUVU0VGJFZEdSTm0KLVBOZ2MvWkhBSENuc3Q1Wm9PWE5JL3o3aW96bkpMK3hFajRZeUJNRTZxRTRvQk9Teml4aklGY25NQVdUWXMzcysKLU45UEtJYmk1OGorRkp4SW9iZytDVzEvMFBPSTkzY05Za2YrRGFWbi9sRVhXLys4R0NDb0N2RVF3Ly9YTGdiaVMKLXBPUnpHUHc2ZHd0RjlCaC9mQTQyYmVhaUtPdFlOWUxhME8yZkkyWThIalVIVTI3OGpPa1F5M01NRDEvRmxwVlgKLTRoUzZtcG5UTHl2MjAwdlF6Mk1kSE1EVGRoRzNaR2RlSWlHb2owOWl4TUVJWjNBVU1oVDFLdVJnR3lEOUFFdjgKLTRud2UwdnBYWEtIa0pNalBERlJPL3BuY3BxdHRHQXRPazdsWldJSm9sMzIra1g1NG15L0NzdzFGSWNMNDY0UmIKLVhLd29hakNDRXdkazNIWm1iMHZjYkpmOWhPeXQ4ZHEvZ0tqQVdSSmhZVmF6WlQvV1hFVHUzb1BNZ2Fndzdza3IKLUdxWGRpQWdDSVJyNXAwOTZ3cGRWUDl6M1d4OTJ3VzNJTTNvYmlUNmd0RTF0VTlKK3Blc0dSZWZXY2c0anVvTS8KLXlXQkZXZmxRZ242TXBsRlV0dThCVFRSLzhySVdwb0NncUdVRkxlaEFzaEVXcmN0UVhwS0VNaXkzMktpWlgzZGwKLWdZZ3UrSmF1WUVQVTkzWFpYWXNxbHdLTHlsdk12UVNCY3FNNU8zUFQxUUkzcGwrbVB6aDlndE41bmdTNXQwSlAKLWV5MHV5dVB6MU9YSUFOZmxBcUJBODkzUFhqV2lnbTNEM2Y2eVBsdXdnWllrQ3VjWHVkMm1hTjVSenNJR1duSDIKLWN1TmZDTHBxUHVwODladnJ1RU1XTDEwQVlRZTE4TGFYeDVBdDViUEIvYzdSbVcvWEQvWHRzV3RpVmNEdHRXM00KLXo3ZmhYQkg4OWlTODgzekxtaVUzVU4rYXNvMm5PZXZXa1BWb2JLQXEyRHdDWFUyK0Zvc1k0QjI0NEJSZkJaam0KLVVCamszTTdoQXdiLzlQdW9OckxVc2c9PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmRmMmVkMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzYzA2MzUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyNTYucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJSm5EQk9CZ2txaGtpRzl3MEJCUTB3UVRBcEJna3Foa2lHOXcwQkJRd3dIQVFJL1BUTlg1cmVVdUlDQWdnQQotTUF3R0NDcUdTSWIzRFFJSkJRQXdGQVlJS29aSWh2Y05Bd2NFQ05lcHNQZGZ3S2lNQklJSlNIUnk3a096ZldUSAotTzlMcDBUY0hGWGgyZGtCM2Q5djhIRFRxdVdZNWJyTEdSVnF1WEtFSm83RE9LM01ZLzBLYXEzL3MyaG13c0F0RwotWHpzQzduS3VZZmVBYUwvdkM0MDY1ZzhMV3hYb0Njemt3THlKOHdsK2k1bEI5VVlaTzdVUTE3WlFPdlFxdXZZQQotS0txZStJeEZCSlA3UUxwSStpU1loNlJHb3FsdFUyQ1ZXNnJuVnBBNm1CMUo1ZlIvdzkxM2Jma3EvRjhlTEQzawotSElpVXZLZjcxenU5WVpOWDFlTW80a0NRSmg1Z1Y4M0Qwb1hvMThSUmU3dXpjQnE5WlZzOTBvS1N1TUtBcnFLcAotK3lpYXdDQm16VVU4TlZlbFdmcGZkVEF4UkRnSWorNUV6TGQvWTk0TUhlaWUwR0NQazhWNHVEdW9xblQ4ejltRwotSVFQUmUxeDVJWXBLKy82aGN2RWozU1NKbFc3V1ZPa0t4UWZhVFR4TlZoWGFTbmZDd0lVZkhPK2dZdkdqTjBIWAotNlA5Z0Y5K0xObG5IUkEwZENkSHBHRmx2dy9ONVRaL3JtRm16cXhMR211TGZvY2JWbVlHNXQybFp0QmI3b0VubAotRDNZeDd0azJHdEtnNXVXWENMTjF0R2YyMnN5enlMc051SG9VRkxjZThReklnVzhNSmJlVHUyOXZCVFY3WUpSWQotYWttSkRrbDFTWDhHbWtiZW14TjdqU1JHUUQwYzh2SGpuR2RWZXZvYzR6MDExZ0wrYkVoekp1K2RHbGJwekxCMgotVkdtaHB0dmMwaVRIRkhWemVZSmh2UmZkRzYwbEI3UDEvWGJUVVZtWjViUHNyVytGZ0dOcjBWczY3MGNzRlhJUwota2hUSUMxNUV5M2t2eXVCOUJOb1lFMmwva0t5ZDFGZUhxUytJU0hyaUcyS0dITzQ0QmFrNjJPbDEwREJ2MS9rcwotWVYwLzNBUWVzMzlob3hHU3FyVFh4QW9KRGEza3R0Uno0LzdseXJUQ2pSWm9CNjZGRC9xK2hWOTNyekJCd1BDVQotUFd2YThMeGNzWW1GM1ZBSUl1ZHhmVzY4Q3VWOG9xOHA4K3BKMUpqZFo4dXlyOGorWXV1WDYwbzB2SFJRQXI2dgotbjQvenBoOXNzYlRodjIycE42NE1iR2taR3BmQzFyLzhTWHFNZG1FdThtanZ3TGlDK1M2K0NEZFVrWkIxalBZYQotSlg2b0VjZXh0U3ZJaXZUbE1DM0FBZmYxWlpMRGpvdGxjaHUvS3kzL3VndTlvTkM2emh6UFd1ZzY5YVVjdHVtTwotYWhYYmhBT2pzd2tUakJwMFRQdnNJSXlsVE5Ed1dORWZCOXExNlRmajNJMGQzVktDWk9hSk03aURsbC9yTThNLwotQVdCSjBMNGREdWh2c00yVGpNeko4cDRKWGF4Zlg5T2pnUjErY3VSZTJZelFQVURCZU90K216MlNDamdPQ1c2agotcjFrNzZpbEdtVUQxSlFieThUOE1TY1NwOUgyemkzUkl1YURWSndITVB1NUtvb1VSOGVGN3c0Y1Rxc1MwRmhkSQotbjkxTStvMFREY096T2ptRGowdkgydFAySFBNbHFNT0hVdXQrVG0wSjlmbFR0eFFvQWxmdFBxM2JYaEZqVDdXcAotcnk4SlBadXpRRFVNZFF2aTIrSjR5WG5jMCtFbFdBZFNrYXFwRXBrT2VrZ1kwbFRqM1cvK0d1eFBQUHFBeExGNQotR2FaNWZDTEZKRi9pb1E1NUozY25DaGZaUlhybFF3MDh6c1FpTGRDeUZxNFRuYng2SG1ndDQ4aktoUGRkdnhodQotYi9TdGx2YVJWK1VhTWRsbmwzTXIzRHdXandJVmdPRWU4L2M2VDBUQTdyaGxoMm11b080ZFQxdDQyc3RHUVpBeQotckI1UG9LSndMdHpveVFLZGsrTEN2Z3JyZExtSVFtSzBBQjE0T2hFQW9Xd25PeXo5WFo3UU03Wmkyai9tc1pYagotaXBtendkeG4yK1pmbDRnODNkbjNwWHkwK1g4TXVnY1hMVWZnUnRORWs2WkFrOFAxUGFRWnRpT1QyRFMrS2h1agotV3ZuYWxIS29OWVNlT2ZxMU1KSmtaNWtHNndyaUpld1h0eVJadHlYb2xUVzBXYktOcGNzL0V0SGJQeENjZU9OZQotQ2NZUFBYbm5RUTRGd2w4ak54VVVzOXZPMnVMWE9zNHlLUGt3Z1g3S0JtR0lsWUxCak0xaXNOaGk4OGZWWEJ2ZAotUlRMRmJseGxuUkhoalFtQlFhTGRrV3dSN2hOM1R3ZGN4dG9iYVJ3N3c3QTNQZzc2a3RZK1kxakF1cXUzSHFUaQotcStrN2RpY0gyOUxGS3Mvcnk1ZEFGSlBncEc5RUhQVmVtUy9QSU1LSHAwd1JMbEhtUDUrTHZkUmdTTktMVW95eQotd2x6K2FaSlhLb2JrNU1JY0xSWlJBbTdLRi9oSGZ3bGRMTXlicnpvYnd3dGVUbDhNdHZRWXBIYzFjcUFGdHFFZAotVjQ5WXdGQ1gwU05RTE9jZEpaeVJvbHRjZnRpSU5zbm9Uek9LRE40eTROYUhwVTY5bE84QUE5VFV4MVV5SDgzbwotakdVR0F0QUhRd1V3bXd5Z3IrTlJ6cSsxT0hHQTFKS0xMZmR3R0tjdDJTWTJzbWljam5PT2dqRi94MHdpU3d5bwotSGp1QVJzZFIwcGM5YW5jUFEwS25ELzZlcWMyQWNIWGlDRmkveHU3ckNUd3NtTzVjclNYUkwxVS81Q0Y4SzI5Zwotb2xDWFY4Y1M2WDdncXlBUlFNSFhXTjBReDR2TjZUcVQ3dnV6TGFhaUM4Y1lpaUt2RG82M0dQeVQ2cVJaNXVZNAotdTA1WkxyMTh4elJNNGhqVWJ4WmFEeWVmT2tMMURFOUNPM3JKREdYNm5qU0xoM0l4U05RVlhOaDZsdTBUeDhDQwotSEExUzNhOGVSOURhL3RCRDhQTHdhUTB4dnBISFFXc2RYNThOYjNBRnUrVytlZTRORnEwWnJQcWxoTHBTT0dSbgotYlcrVTI1WUZkSU1zTzQxVmhhZnNGS1NkKy9sN1Z3SnFPU1p6TWd4TEVyM3A5QVNGQmJ1elFlRFZXcjBrTVl1bQotK1dmNklTa3d1L3M3aHBuTWliU0FDVjN4MUZhd3dpZTh2SDh6SDZyZzFhdzJBSVRmYjVSdUlkQTNoMHVYN3IvbwotNk1UVUVneTIxVDE0ei9LUERmaEo1alA2Wk51VnpwUUpHZ1FmQXNKelBLVlpnMkRyYW1SdmdTdmRMdysvTEI3SgotRmVkTkFYU2dkZVNKeUxpd3k5Z2xEKzFkV1ZqN2djMGNqK0hCUXpBd1NNZHdvWDVFN1JrN1VYME8wUzd5MStRNgotdytHZDh5eGw0TkRhTS81UEg5VFNLQzVvcm9Qb3Q0cUgrb1RVdy95MzJLbDVUWGZKdldIYUtEY2x1SVF5Qis0WgotQUJ2dUVheHozTlIzeUk1WGUrS0R0cHJSdGZJOUlLOHAwdEZWWXBaZkZVVUx6aksrSkdLaThnMUNjRG5xSU0rUwotMUhkU0pQL3FzTU1sYjFpTDYxOW5YaFdxTy9oY1ZadklmZmhZektaSkZBdXJxY0VrYzM5M3p4bnhraUExWmFZNAotMXNDQkxuUVdzbUxlU0tRM3JtenI0aVBsRzM0SXM1R3N1VjU3czZ3Nk52bVUxMUJURmg5MXBzZHBKMGlRTEptMAotanJVdlpDVFNoY2FWK2xBR2txdm54NUFJYlBkWllTZWM2L0o3SjBPcG1TeXBFZlhJVFhPMElocjhjN0xNelBtTAotQUlIZWYvOGNxSnFKbk0wcElaY3B0cmR5YTNPVEl0ZmpaYk9KMzlaa20rVnMwaDZycGtwbjVzZlRCUE9OWXRpKwotSm5COXlxNmxXcW8yd1c0cDlweUU1WFhXY0FCTWVxMHVQb0dYclpQWTlJdC9hUEI5UlVDeElEMDIwRWh6N0oxQgotWTR5WmpFeDNWaWkrTEFnK0F5a0IvMEZMMVhlNFNJbjEvU2htRXphbjJ3UHh0M29OZENGNSs2dC9oZ1Uxeit6RQotaHdwR25aZkw4YU1UU2s0VTJxMVNKczNNUWs5QmxUbWJLc092YWpOK0NqOFpMYTBYMm9IakVWNG81UWM0R2dzNQotRVovQkp4R0J3T0ZXa040MVhFMkRVVzVFNEtxM0FZU2hWQXFtcTI0S0loMXJPeHJYZWJ6RWRuOStKdCtWV3o0cwotV3FEc3VSS29iYW9EcEZGQ1FCTHZRQT09Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGVjM2M4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZhMGQ3Zi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTM4NC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlKbkRCT0Jna3Foa2lHOXcwQkJRMHdRVEFwQmdrcWhraUc5dzBCQlF3d0hBUUlWZ3FFMnFIY3ZTMENBZ2dBCi1NQXdHQ0NxR1NJYjNEUUlLQlFBd0ZBWUlLb1pJaHZjTkF3Y0VDR0trNEFDdVcwTWRCSUlKU0hRRitBajhjNVgvCi02akh2V0YrUis0OVhaWXNXc3Nud0JGYkVJUEpWVE5VTjZxTWVkUlVoV01tTUdEcGt2Sk5JRHh2UmdUZlJheXBnCi1ycDEvQ2RuK01vdy9kUWhMbndOU2YzclVKNWNhb25MTWhRWkpPdTF5Q3hVZktKNnNQaU9CS0ROczdMRG9YbWNhCi05OE84SXZsd2Q2a00rVGhLenlCNUJWb1JBakYvVExhNFJXQnhoVmRDWWI2d21LbnJuNFQvcjlqVDIxOFQ4a01nCi11WkJrSDhDVUVFODVHYUxBaERTZkNHU2dpZFhQa3FyVWFZV2hjVWp2M044MituSG5uSnkwZW5LcHBGRkVZZ0N2Ci1XdndJUjBBeTBlV0pmQzRKU1FYZ1BPWDgrQ0xJOGVwSEVVWG5xcDhlMXRtRzJXWkFtT1haTGJVdkVOUlRrdmlWCi1abVFRL09FNzdndlFlci9zWjBaVTFvTXVVc2hRcldWek1pSXRBQ3NNQWdieXdNM3BzZEJlbVhLNzlqcUI3L0ZtCi1yNFFWSEdiOHc3ZE5KMGNMYk00eXRWdVY4SmJyVlNiRGxSWmd0dkdiQlF0QTVmSksrYUdySjlEZ3hvMG83b1pnCi1uSTVZdnJqMVVtaldmSE9XTDZTcEtLVWloMDBiY2J6Z1hnRnp0NjkxODZ3ZHpuVnZka05xakk5Uk9SSGh1bXRRCi1WbGdzUis1eFZDby9SWi9VT1l0TFJSeEYxTUhTb1VhN2w3VUFxMTdacE5OYU44WXY0bmRycCs4Vk8yVXJJRFhFCi1TcjhzaGJsdElVRk8zS2JZQjRyQnBUOG0wREN4WUFORE1NaVFRdk5xM0NWYVV3eGJvaWFqNmxQRytWbHp4ODgwCi02VWlaUndOTHZqTGxVUHY3VWZJaUI4bTdDZmNRM25ncGlLVnhxZ2k5dnViZ1F4MS9pZnkxUE5pamhaaDQwSzUvCi1xdk10bzM4aW9qaEN1ZGdRYmVDQUg4anVka2JXb2FMMHYzak1oWEMraFJPYWl6QUVEelI0aVdMVHBibENENnNFCi15bysxK2pjcG10Snp1eDliaTFzZ09TSXpVNWRZUGU4azNMdGk2MTJCTlZUUGJ3QXZhOVJFRi9kb3ZNTDFUV29nCi15NElaSER5ZkszcDlWRjlaWjZ4aWlpanA5cGtCQjBQdWtzR25zNCsxNEhBRXlOajlsckljOGtaZ1NlZFdWdTdKCi1FNjN6NTE0VlpMaUh4ajRMQzlVNUFIVHdUNVFoMVdLdDVZSmFObjdDcFpYZzBmZEszQXpucUhmenppTzBzNmprCi1YRndySXpzRyt6TlBTWWllNUF2aHNiOUlZc0FobTdqMGFudUVIeUdTNE9mOEtFR0lnUGd6R0hNZmQ0MGhPamtBCi10T0N6cVJtRi9pcjZJTy83Yzh3aVN5b1NhL1lIa3pIQjloZ1B2cGtxYk9QZWxBUnpNcUQ5ejFubnBrbFB5SkpJCi1zc1JnY1NvRTEzL0loZkxqYklwWENVR0c5ZElBd09JV2RkUldydzRibW9aV1phVXdBL3p4R2Zlc1FSR0QzQnpHCi1YOWZDRlB4MW9Bd0JoYTEvVm51alFSeHRNWlRqMFdneGxGV1dLTXlCNHorVEdQOFI3OHJvSlpyK253UklvSnYyCi15RS8xVks4UXMxbFhsS1JPNE1kVFZKMjZEZUt1eUZZZkx3WTZiU1NEQk1YMDAvSC9tcm5UMkdTOG5IUVJlbG56Ci1DZkQ5MEdJaVNmY0tjRHEzYzZabjhMRTNzRzIxcmZGcHd3K1lEd3R2dGJVNDQxUEI4NEtFaXg2UjNISnJDZUJjCi1RS2o4Y0E3cm5FMkUzcVRkNHZqZmw1c1dCNERuYmljNWZ0Ni8rY2R5V2FoaWs2OHhRTGhPK0VuTVNIUE8vMEc2Ci11SkFGZFJIVjVMSWVzdE9HV3pYcG5OdnZkaTRMdW03YVpWV1lZd0tISUhvZkJSRnJnWGFITXFoMXF5TVNwSkRWCi1BOXVLZTJaQnZCRW05a3dNcUlNakVDRS9JcnYxSlR4VUt3ZHpxMlJpMWJ0TlJRd3k2ZnRGQWVLWldyVnRDNHRyCi1xK1JoWHJFa0ZtRVJqTDdtU05BU29ZTDB6ZVZLdnpNcmUyNFM5bFp2VElFcXRsaTdNZ2tWejBvY3crRkFzM0lyCi1KOXRpM1RtN3FXN2wzZmFiNkQwL2ZGK0hzNFZmRFhHRmxrQ2YwOWlGczNJWHo5ajZFMG5QZFVwMXN5OHR6NzVJCi1jK3ZxN0E4YjZlVDFzOFpaUlBLaXFjTERFRThnblFGY1dHMzkrbkY4cStjWFBDQ0RxcTNpS3E3SWRVeEV5emtyCi1ldWJJTnZFMkZqbTVKb3cyS2J1UjVKK3hiYnVHN3A5RkRjanBqbjIzaGFsRHlsaVJVZjlKRjRnaTFQd0E0UndDCi1KVlVWL2FrS1J0bTJicFZUZU5QYk4zOTRMV21wL2hlK3RqSC96amM4ZG1meFlNODN2NCtmREhQbzRLQk13ejRWCi1kWjlMaitYS3VoOEVaeW5PM2FidERtaldiUjhmRm1VWitSN1dnNnBGbHY0ZTBOWFdQeHNvYlhPOHdhNWZSV3hXCi1MRW9KUGNWN0I1SG1QRkw5blFJbmhKZFUva1p4NFFwbmRIbDAwdzlVTXBnVnBmNWxXYlJDQ3hMZW1WeVZFMzVWCi1pUUFmcHN2WkJSbUdJcGFpandZODg1eU1XaGJyOXdreWErdTVGUXdnVUZjbUU5V3FsUmRIblRSM0lEUWJjd1pNCi1Sc0JsZEl1eGhSZVcyVWNrc1NzM2s3U2VpRWtJdjl4OGRJNUlDQ0wybW1EdmRGaWVySDRHQVFuTGdDQmJuZEk0Ci1BdVd6RnhCUGFseERDdFBnaEhNNnhrdjFubzIwaVltbkFkREMySTBFZlJhSEFuWWo0M1FIcGkrbWZVZ0dhT1BiCi1jUVFVSTdWUEVDT2xSMHcwNFd6K0JrYmVjZjkwYVVMY3RrRU9uSFcwQWFJTFc0aFFScnd3NFRhSUh5V0VnODZLCi1BdDN3dEhBNU5uZlpKRWlvRVZkenBOc3BSRGd0Q0RjYVhNTEUyUkpJUzE1NXcvQTNDUnRhMDNKYzA0eXBDZHFBCi00TFhDYS9MZ2svYld6VFZBVFF4VmVlaXgzNndOalhPNWU5UW90VVA0cUVEZjNBU0h3M2NuRE1NNVR0TTRTUXAyCi1LUWtVSyt3TnV0aWxpT21sOHNsdEdtb21jUEJRYi8vL2k1WE9xRTlDL0lCTE85eEh1K0J3b2FpS2pPbzlOR2VkCi1jWXg5MExqYTM1RTFqVS9tOW9NZTg2M1dTbUUyZnJwdHh0dFV0Vmhxbkw4Q1lpaWM0SU1ROHBWNjErR3VzZEN5Ci1YZzVyaDF1VmR3T1EzTUJOSHozeU5WMHA1emZIQ09nREZjZk9xdTZBNmJ5bSs3WGxiZTQ4NHNQWUFkZTlvblVMCi1NVHNLSHllM3NNbXlaaXRlMmlNQk1laUdVODNPb2ZYT3lrNW1YMGZPaEFoWG9DNWtWcHlDc2xoUFBtT25DRndqCi0xajJTRWRzRGlVdUJYMlNkN1RtTmQrUEsxR1hBbmpLeFVESWt5MGxMWlZTRDF1NDcwYXowQjJSd3RzVTQ0QmxkCi00dytFMnNBcm5JajNIYm5zaWlaaEttaUZrUFZNM0hUVHlwUzkzOTY4My9sdEpoL2U1akh4RUxra25wNENyeW4wCi1xdmRJZG5SN3U0U3ZRSDFIQllXUkxER05mZEdzRUt5elRSWm1rLzFWYTZiM1o4MEJmNkVVbUpFS1FyYmhOejNECi1PVFB4clQ3VEFoTzhFRVBtekZ2ZVVRQ3R3VVhweWcrUms5TkEyV01Qa1NCK0llNFNRdWtxbzUxbXg1M210T2tYCi16Ukt2Ykpqc05VUTVOL01iUk15NkllN1MxRm1CWVlMdHNtR01HWG5tMHQ5OExoT01FOWhWb3FnUHZjZlRHM0ozCi1qSFRaNHZnaEpES21hc0RTMFdkOTZzTTRzYncxREp0cys4WW1VSXFzNVppamd5KzMwblZibzdhVEV0UnFJRXUwCi1lS1N1SHNIZ2tVc21vYVE0RVFUUGdib1FNY2VoakgzdEFMM3NRbm14cnFyR1hpNWh6YW9kZEFUL2xDelhUeXgxCi1DMVRUV1hBVk5FU1duSjJxcXY0WUhmbmJId1FPUlJjZmR0elZ3RkJBZkV0V0V2a28xeFRtMEpHL2tGWDFIaHhuCi15dExuSDBlNUJsNCtKYzcyQzdGREFRPT0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxZjEyNWMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTRhODk1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhNTEyLnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUpuREJPQmdrcWhraUc5dzBCQlEwd1FUQXBCZ2txaGtpRzl3MEJCUXd3SEFRSW9XUFZkTlB2ZlRFQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUxCUUF3RkFZSUtvWklodmNOQXdjRUNMWWMxQ0ExR2Y0SUJJSUpTRzRkUE9FNnZwckIKLXpQSkxyTzFoZExqM3phMnRkSy9RbERicU1TY0ZVQzJtWHE1Y0o5cnd3YTdBeUt0TDBVNFExTzA3Vnc1R0I5MkwKLUZWYlk0aElSQzBYdHV0Q3docWxyMGtVYUlxSC9JanlZNmp5NjJLZXU1S1lZdmtqUE1GQmtZQlFEMVVBL0JUNDgKLSt5SVBIL1JTWGJwS1U2ejFLYVc5RmlFdFBvWGZ3N2t4eVhISWdsQUVRdFBhTithZUV2cHVEaVJBTjM4U1U4Q2kKLWorVWI3c3BmdDREN1g1b0FSYUFnUUNOdWhPN0xyOUZENE91eGh1cldvaUZiN05KUHV3VHIzNVBLNndXWWZqd0MKLWtwZDRpUkNBaGk0Y2wxejBab2ZTbVR5UzIxbHo3dWMzeEp5Nnp0Vk1xT281Mm1JcjNsRkhhdHBDNzUvYzBMM2QKLUN3Y3owVU52a01PUjF1MVo1aVpob3FzRmF5c3JLZWRkTS82aUJXUDJvc3V6N2xUWjd6OTVoZ2tzQkYxd25QU2gKLTVnb1N1N1pWYlluc24zV1pHVlF5REtiQ2N6MkJ6UGovUkx6U1l3anJyNDhoMFJPajFhY3ZaVGRmRlZpb2lpS2cKLXQwdzk3VzVoNkRnbkRaTzAveWlONVEvR0xEK0xhaXphd3UySEQ4ZThkbGthTUNEM3JFbDRSTDdpaWdoNENvK0YKLThSYXcrVVBtYS9yZEhYMW1adHRuay9ia09ycE5WY3JFTCtaeG1RRm41aXQwVm4rVTc1c05IZW0zYzRBK0hoemoKLUphUXRDUHdDaFlUYjhBWm1Ody92RnJLa1V0TnBNSUxIQi8xc0JIUzdUSW8wc0VYSndXREV0clBMSkRMdmhvanYKLUpJSXBHUW1vQ3FESFpwc1lMR3FJL2tIdFdSbDNqQVhHbVZscWt0K1FnamJrRHh4cjdrU0JBY3FFb3V1RmNLS2EKLW0yTXkzWHhHTUpyT1A4aVd1V3BaeDFwNzdvUWNwSW9Jdm5GMDZlcTY2eDFIMW9KYXFZVGduNFcvV0JkN3FTY3YKLUlMQ1RoM2NlV1lDaDVDby9TK01vbndxTTJQcGM3SldJVmlubnJwZHVGV2J1dnZCL3N1Z3JqRW9TQUZOaCtjcVQKLWpUeE04KzF0QVZ2N3h5dU9kRmJSM1RnaVVlRWZzSzZFMSsxWTZZS3NxdGlYcFlOOVBNcGFMZytHYnc0KzVlc3gKLXo0TW4ySlNzWVNlam9oaFNaaWtyVU1IRTNaOFJneE1uMldrUTNoTU5qYUZldEQ0NXhVVGxhMnY1eVJnWWQ3eXIKLUFRSzdDaGVqNHd0THg2eWk1c1RhaWVieHJyQXVuTDRqQmUySnBCZVlnM0oyZEpqalBEcjlZbStZU1NvYzNzOTAKLSt5cGxMb1B4c3p2TWZGYUVBS3JCSTJsbTNrZW1pajdjaHR6U05BbmtXL3gwMnl4S2Nnd3JpTkdIcHBvalVRUjYKLWo0QmY5a3ZmWlgxb3B5QS9KU3lzR1JEajk5RkhvcDRFNGxIcml3Rk5XTWZvWWo2M0JLbHVRRmZtc0NPcHRva2YKLTlXL25BdytYVFNGdTlvamxYVFNQdGx5bjNqUHNTZmxZdE8zVWpNSnNtOURIdVJBL1pMcFE3UTExcE92STBocWoKLVhmTHVRNGRoRFRIcEZFN0xmbGE0dE93ei9sQU9TcWV1cVVmWUtxYTloZUgvTGxwVUJic0FRTStYU0xxaDJjVkUKLU01Rlh2UlRjcWRVOXlKbE1WbzUrQXNxNWlLMWNiMThlM0JTZ0FhSGxvSjNVYXhpT2FSOEFkMjZyeVpzakFRWGsKLXZLbHFHUTJudlltbjdpOXo3aFljVlpSYlhuRFlzeUE3dEZIU1lMVERVbE9qdEM0WWpkbW5BalJvamV6UkhVb3oKLWwxYmNleUJVR1NLQVNNRjA4ZkhkTXUzVTFmZnZ6ZS9HWXIrdWo1WHlSNGdabjF3MmxrVllDQzBHV0FZdXdkRC8KLTR4VlIxcXhEYjF0cmR1aStGTlMvRVQ2RnpsTXRISEVPOWYvdmVFUFY4aHNJZ0FvdVVWbmNOMGJXMEdLUzBGc3AKLU43MnIzYk5IZnY4dEU5VzVIUEYrL0FUaDZ6RDBJbkhxT3lYMndjNTF3RlduU1dkQzAwRGx1Wmw1S1M1d1BpM1MKLU1zTHNSSzZTVGJvZU9YZ3I4TWhzbUFTR1gxeVVCV0VzL0c2akxBVURleE0zRkNRZ1lXQ2dDZFBuTUt2dGVzWG4KLTNxT2hkaTZPbjFCUHF2QVR5WG5keVE0RDJTTFl2MW1KNkNMVFBPN1BUeXVDV29iTDlJcytTK0Q5MjMrQ3B1SSsKLTFQT09LT0xnZXg4c2ZsT2E0YlNrcFdvMzZKdlFPT3A2ZFhZSis1SVVsQTFNWnBoZ3RLeklueitXWWFyMmhkSFIKLW82ZnVHemRuZTc5WFpyS1N2ZUs5TDByM0gzaDRuNUpFWjlBNmNkOGJEQWlZUXA2dzV5bDd2WFU3UDBOTDlId1IKLVhpU0dIYW9IbFJJT3I0d2JJcU5Ublg2ODFocTYyUzhkUHRhanVrejhRT2hnT294L2dMVUxnVHBTRE1YaFROMXEKLU5WL0JmdDYrbFU5K1BDMER5ZTNZZXNKV3lrdVFGdDJoTTNPZzRlV0I5SGEvQUNzR216YmdUQU10TkxDRDBNdWQKLW0yRFlDTy9HcFVETDZkREhKRHpCMnFCYW81elNxK3pvZVlwUDdkOVFzNGFtVnhGd2VuTFBmOTBCSTBJVitEOE4KLTBraDZyaDllMWovcm1QdjFxS3pqMld2VHFkQldtcU9adlU1VEJ3QW96ZVJJNThKb1NSaVFMczFEZlo5bzZWMkgKLWJSdm1WeGRQSFRyeWV2ckZxTDhqRU15cEJOZ0IrQTl4NVZ6aG5EM3kxejdyeEtyNCs3V1czWXU2MEVQNWlyVmEKLUVqb0tCRTJob0dDdUZmTEdKbjR4a3BPempOMTJTVkd6TDhOZlhSdGJrQzhJQnNPcjEzbmpGTE5WTHd6eTdFd0EKLUxGTTlRTjA0S1Y2WjlBRVg4ZDkyTnFUN3cvOVN1MlpnRmU1YVBUbFBXLzIzdXdMNG80MVUrRkZyWlU1My9QeXUKLWUzdk55MUFBaDRJTnFQMHVycHk5R25wNExQL3UvQXdyYmR6bXZKdDh5am5LazAzQWFLTmpOZ0Z1cHJkcGx2cVkKLTlUVUZscjdzQ2YvVFE0dzNCVFpZSTFWUU5yZHV1cjVGd1pibEk5UTZvYkd1bk1QeTNJWUdlVjZDY0NjaFlrWHAKLXU5dmJlNGhGRnJzUGxwT3o1REhaVC81Z0kwZzFaWUZKcStINzNLdTc4c3lEcldIaVRHWUppbmoxcytBY2VpYWsKLUowc0lkNjZHTXR1bnlvanZlSk9Vd2Z4bGlJS1hVbjM3VHFIOEhMakVZazA5VXkxeVhCWlZMYU1oWElTaEdNczIKLWFTTDNuWHYyS21HREdTRlRCdG8xUjY5RFBzSHNiL29WRExVd2dGNXh5WkZ1bTJVRStEMTdtQ0sxUk1jenNXRnoKLStSSUhjNVNZd2lwZG4xakJmSmEvcjNHZzdsN2JNNi9GeTJvQWRyaGNkQjJvUFY5Y1hGL0FmeWZ1MXl5WFpmVnUKLVo2TVdob3JxWkd2SjdIWStHNUpGeHVtdWJFM3UyeDFFa3JxQWFGSWpEYzdOUVF3SEt4R3lNVEtnOUkwNFdRZXcKLTh3Y2JTdXZDY0k0TlZ0OUhNeTBmUjUrM1FrU2Vabm9LSTZDd3FScUxFc2V4Tk82TjZsM1Y3ZEZnRFVPRnFlMWIKLVlsLzgxYlM2YjA3Mmpza2tJc2JGWFRuNzZTOTVHM1VZckVpWWRuMjIrNktQTHlPV1FMY3ptVnZ6dGRWaDZzT3cKLVdSb2lLWVhkVzJVbk8yQVlPWENReVV4VWpXMDZtNkJKOEYwTkxKM0hWdUphektvdUY3aVpzTHBIQnpJOGx1TnoKLVZGNHQwTkxYNjB3djVHMEFaTGl2Vm1WQWFkQjRKSXlUMTd1ZnVkNnNIMG9TeVZSaWQ0MnpmQk56Zm43TDlySXYKLXZtamZoSTdTZW9UMk1zRTdsL1F0UXk5aEpGU2grRHBkV3cydGFKbXhQMjEwcVhBOHRnR2dMakRxSEorazB3dkUKLWxhcUhHT3pZNEoveTRPUHNHTjJmaVc4blJDb3Jhdk56MjZGZjlQWjBTMzVXSjQ2cXhjTUgzcElmeHZJZHRYWlMKLUhFU0ZIekwxZWp2OVk0eTBPNTZsK3c9PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXMuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDBjOWM5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRiNjkzMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJSml6QTlCZ2txaGtpRzl3MEJCUTB3TURBYkJna3Foa2lHOXcwQkJRd3dEZ1FJOERIU3JBeEZURkFDQWdnQQotTUJFR0JTc09Bd0lIQkFpNC9YbDV0NE8xM1FTQ0NVZ3EzUDUwOHRYVlV6MEl1SjZDVjQxdmQwMkZVUWw2SXhXVQotZ2s5N1RFTnhLb29RMUVCdVVZRFd0aXVTSUNKL1JUS3QveTNKb1ljWUJwZGplRW5rSkcyTDE0RGZnUytzZEtmQwotMTh2MUVERGlBc3NyZS8vbjlzWmZVS0JXSHM4U3FjUHlOSnZCV01MVVc3UU50TWhvTWoxVkVRelRINzZ2MVp2Twotb2p5OGFrdVorcnFFK0VuT1B0dUVPZEppRFlXNnlSUnA0WS9NcVV5eDZQWlBBSGZJay9KSlY2eXVsZkdTRUZMYwotK2dHSS9DVWZFZnNpMkpWSXZhN0pwdmZPM041TzFmeUMzY3gwQnNUM2dvdXNPa2FjeGNSYjhwcWdIYk1ZNDlTcwotZVI0WENRSHdPSXRwYy90SHROT25aVVdRek54WjNkNDB2eFZWK0t1dktpVDFuekIzc3gvNEdhY1MrWldrQ0U4eQotcVl2YnR2aTZYcUNwR2VaYzBpWk4yRVI5aEJ1Y0dQVTE0YU5vQjR1akZ4MHU4eDAxc1dmOUFSTElDSUFNQXNjawotcE1kTHdUWjY4NE5reUs3aGFGblMwNmYzQU9uK0xSSTRHN21vNXdsRDZZZVhnOWRJay9PWVVDakZJMzV1TUI2SAotUkdPZEVxQW5jeDkydFBhUVlNQkJXYlgrYXJxYU5Fc2RyQm5vdkl0c25sTVRDdm9JeEdRYXMzTE5aUGhZbVM3OAotYndobFhuWndqbmlmdlJIVkZNOGM1SnVPbXZZa1BnRTZSWVBhTE13YlprSWh4YmJPeVFpK2drWUpoSmdaTHJqRAotSTlCRFVFWVJlU0NtV0g4aHdDRGU2QkhyVUw0MEMyN3RMMDc1aHo0eDhFQnlTSnJHNHVkWjZSQ3duVWlNNmJRTwotMjZuSjdnR2pzdUJjQ045R1ZjR3NDSitiZmx0T3ZzTFVQalMzWXB1czFSWEtzb2UyUkwyTmJHQVZoM2dMYjRrWQotTG01YWdJMjNnNjZ5STdBbis5WUE0czFMYmdlaUU5TTFwT2daZ0o0TVdTVmpSaklveEM5YVNpTmZ6K2N5YU5DSwotc2Q0bDlDdUgvcFhpZDlhRWx1dlpLRGR1NWZWQzAwWnVNUlV6Y0M4Q3pWSjZ0RHE1YTdBU3F4QzYyNGJKWUYySgotbmYxT1lvNGN0WTNFeFZkQXljMGNvaGxJcmFycU8rY2dkVnhkUTlGT2dLalpDOVoyeHhaaWdldGZRTEZWUk9tMgotWE1yRDM1aUlGRWk3d1lSc1VCQ3l5K0NsU0h0dHkyL3IxN1BlRTRqdkxiTnY1dnZoMUNFZTZHRC9KK3ZkM1dYcAotbWVHUG1Tc1lUVG5sbk0wODYxdEJ0ZmdxQm15S0NlaUtyUGx6cU5Uc2ZwcExvTDRGdFJGOFd2eG1iS3ZhaER3TgotbFFPbk1oTktGNUpveVlSRUdOQXlTbGphV1Fhb2xpRk13TzRaaFVSMU9NcWhDNWpFbXdwMzVkejJuWkNhd2VNbgotdDkraXV4T3lnT0I3azh3OHhSUS9wODcvbFZERFlMUmc1ZHBDcXluMGErVEhPa0NlcEQ3eUZpNCs0Q0c3UWJzbwotRDFLWXZvQmUrUVhoZVcvZXFKUWxHUWF4aFhCNXBPd1hmTmJjWW9CeXVDbHF5UTI0V0xCazZjNlIrM3FCU256QwotdVRhcnA1bmU2dmk4Y0FLM040SG85QU9xZ3FiMU5abVNRYnU3M0luS0tQRGJuMTZwa0ZRbFRhOGcxZjAra3RQZAotdStVNzFzMlZ0SktTR09HREQ4eWF2OUJyU1lOWGNKNFAyVVJPSWRoUXd1RWgvOXA0QWNKV0VsTVZ1ZldEaE9uMAotbTY1dDFRQjNlbWpWd0h6Y0h3ZUF1Slp3QmZhcDlTS2R1VjNEYkZkK0JWTFJPbFdUMEg3LysrcDZGWGNzWmFGSgotNnJRQmxTcVdIQkNIREIxVXVOVExvNlB2OUhmaHhpUzc5MkwyNExScVFrSTIvMXpjZFQ4amxRdDkxcXRJd3YyMwotRjdtR3BCUEdVMDVvS0RWRVBVRlRJOUs3Tk54NUNVVW5RcVZzOGZEay9paFFsVFFkMDNMU0MzVVdPQi9ncGFhOQotL05TdzlxdWdMTkFMNktUUVZCSjNaWWZaYzdWT0pDejZnODJZczl3Um1TM2VKTWFjeWErZGp0dDBqVy9yVmxKcAotL1ZldURHZ3JzV01WeDlTdVhxem9TTWFRYmZYVWtXQ01ObHBiSEpoeHozVVFNS3Z2UXJXTjNPeitObTFhenB0RAotR3EweFErL0wyNUdheDB4OUtzM0hFNlRLRDgxQUtYbW40SE8vZy9rdk1KeExYSnp3eXFFazBLcEZVbEZSWE5RcAotUE5mTnhDejZIeXRkYWdGcC8xSUI5QW1kTFZ6blMwdEQzaEVEaWptMTM3cEhZNFhKd05XTG41L0FsR3pJUmxqbgotNmlOdWJ4TnZKSlhHYXlCcnpRUzdPOStPdld1cWFJWTVWZU8rWnROSVZPM0kyd2ljZTJOb3NIUGorSmR0YWJHNgotejlvajZPZjNCM2NsZ3VkY2JEVko1NDBKb0JaYTNWTUcxcXBzZzVYT3cxSy9QVVVyOStreThlclJ3alVONjZMMAotWVhDZnZpNnU3WTg1Z3dtN0grdzNrOTlRMktXM0oySDlubW5SYkxIekhEQklITnFjSUFtMS9pZFNtNDVoTkJ3WgotUCtOdWFNdUVQQjFCN1NUNjlKWmZlL3B1R1BucXBqMzNjWlllanh3a2RtSzRNbnFDVWZlNzdyYWMvYnhsbHAvawotZUdWWnRsRVZ3ZEE0ZHB4M2pGWmxsMTgzdVp4Ukg4RC9nWkF5N3B4OFg4cHNrcmRFcTE4SkxsY25zZ0RHZi9FQgotUERHalNMc0JYV0ExejNRUzFTcCtlbFZxcXNaajRSYnpkcklLdW5xNjh3RUJjVlNjY05aaFI0ZE1NdjlxTDFGUAotWW5Dc25wT1Y5SnVSdFZpRVdnTjBMWVNKYXF3UGFmNkNRQnlwbW1DMzhTN1lrOWd6alExR2ovb0dQRjg5WUhRWgotRjhtQ0laT1RUN01JdmRQd0RraVlDNnpLdytvSlUwbDZRYzlqY0IvSlh3TmFqYjJaMGpKNkw3R001alNjcCtyVQotdzdDWUlIdEhPUFU3UEYrQXJac0x1U01SR3B0cCt0UHlienZvTWc5enhHL3VCSjFhbDUrT0krNU9rNXhDTkRUKwotRmt1SmJvaWhGSzV5VHBMaHpqdkE3WXNRTUZMeTF6VTQ0OWdSSzVEV3FVcll3K1lLUzI2bWd6ekIzZmtTL3loRAotRzQvWTk2eEluNzY2Mzl1RVBoR3RRaDdPQ2cwZ3U3LyttUDFaYm9lTFkvdkNxTGdWL1J6TEFNcUdINjkzNGF2UgotRVhVdWJhNzVMUXJxd1piUEQ0b0IzMnlUamZhcEtPMHVHQ3VibkRScTYyMDIyMWg0OGRxZWpDcWxqS3U5NUp2aAotVzN1cC9EQUpSV25aOUpmTld1Ylc4aHpWWm9GNkJ5U1RsQUNqWGJVOXJGUEp1QVJjaGNYbU02UktyclNCUFlsbwotdnJGOTdZbTZSR1VvN296VGdSREZUSDBJVXo1YkdqdHlsUjFxdHpwdk5zdkQrMjU0ZFlEZklLU0N5cmdPZG52QgotWkNOTlM2T2x1ZWdRYkZyNkx1MFFkOUYyUEF0S2VyMmRqWERiMVVEaWNlWTJYWG5QZWhBbWxua0kyN2xqaWo1SwotMHZvMWoyMUUwSVNjOFZWZUM1UHdKNjZ5VnFrUXlQRnE2T1RIVUNyT3JuRHZqcURHTXFQaitkd0lZR0pQQkFxUwotakRUcFZsZ0I4T3J2RTd6MjNLT01ydGhkcjd0NHdXZVRpdS85UEV2ZlA1bE9EWVo2ZkxBa28yN081VzFpNmF6KwotMnJQRS9xOUVrMjV6L1VhQnI1eGNVYTlTL0krQjMrZ3ZKcGc4L083MnhIZDFMVjZmUXU3TGJXU1VTbVZ3M05RbwotTU5WUWd5SjRvUnJGQTcwUVNMd3BVSXlEL0xhYzRSTlBJSURublB5NHdaTzc0TmRCa0trcUJDMEJPRzB6QVZOeQotNjUwclNZbjMvUmV4cFRaVjdIZkZ3QlZpTytzNmwzVWdSckUwVUQ2dkszQkFrdlpLTWIxOUkzNERVZllRZEdCNAotWVJ5UXpJc29saG95MjdaeFc2YVNBdlU0VzVpZGpQSkc5YVd1SFBCNHFuaEp5STlZMStEMmV4R1NhL1dJYW5NPQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTIyNC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmZDhiNWMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTIyNC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjI0LnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNmIxM2E0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJSm1UQkxCZ2txaGtpRzl3MEJCUTB3UGpBcEJna3Foa2lHOXcwQkJRd3dIQVFJVkkxeDEwL003K0FDQWdnQQotTUF3R0NDcUdTSWIzRFFJSUJRQXdFUVlGS3c0REFnY0VDUHRkT09VTVd1U2JCSUlKU0Frc0FyRVVrRmtUcGhRVAotMGM4dGMzajQ1dEpLSFhGWGh0dDRWNHBYMjZZZGg0Y2plbkF2ZUt2cmF3S2htcFNXN08wbjZBODFud3dPeFVINQotVmFQRHJBMjBVejYxK1M1QmJDOGJEYTdVNkloQTJnNm5yNXFFUmI5ckNsNGVVdm0zUld5ekVxYkxlaVVFUjFSdwotWHJ4aU12YTd3SVpoWkpOTWRxNUJiOXloSTFYTUxsb3dmMld2TkpHQ2dHQzRhS2JyMWhwM0FxSjNPNzlpUmNrRgotWFAwZnlMdDV1OENTVS8xTldHQVVrUWJucUFYWXBFMGdON3R6RExiQmNBeVJldDduamFwbGowWGFabE9kT29mVAotSlE4ZGI3YmF2U0dlN1BlR2pDMkVaVU5FbGdiSFViYjJQMzFyTk43NllSNkpxTjljdmo4Z0NHVjFERVRqRWJnWQotdGhlVHRwdFQ3L2Y3VVd6UjJ4cnRzMWlpZVlSeTBsdVBvNXhQT2E0VUR2YlljSHRVVmdTa3JibHc0QTBJZDlSMgotOGRSTjhwVy83R1BlYVY2ZXFnVVlWcnF4NzZ6VnU4bDdRdGladUEwNXRIMmVWclRzTWU5RG5zdkZWL2taSVZwYgotOGZua29reHA1T1pPSUlzVXhJUWRBNGZ4SEE1azNEdzYvMGJYVmdZSFhKVHBkSWxBOHlIRmdBa09Ga2hpOVdsMAotK2QwMkNPaEZRVU1COHZxc0hjNjFhRkF2S1RNd01JczgvdWkzNHJUU0JuQkxzbU1RbE54Z056YzE0RHozZkdjagotTFUxbEhvc1grbDlNK3ZFdGlNRCtscDNzemo3YjIrbzFhcGM0MUwzOENXbzhYWFZMeVoybG1RU0hYeitQUldTbAotYWZqUjFjaEJ6bHVsdkVMcUlNWmtqc0JhenY0akhKT0Q3QWx3Y2c5cGIvaTBRcUZUYlp6RHlSbUhXMlZmam43ZgotWnpmWFp2blcwS0xqSDRCdlJpU3BrdW0vOVBiWHhRbnhyeU1DMzZNSG1FRlVTMnZ3aTVVVWpTTTlBazFzZGVVSAotYjNEMDBrY0VSUFJFYjhQcnU5K2FxSzdmQm1WK1FUQWhHNVVxSjFFK1p4MVlacDU3OTFBdDRvQzd1ZFR1ZDdlRQotbi8xektzMUpXaC91OFFaa0x6SEJrQlpESWFSU0NONkUvelNEbXg0Vmp3Q1J2MDhmSksxQ2hrSkpLczZtdENTQQotbVE1bm9jMWtxeThPc2FqNTZGcE94VjZKZ3I2dnBFTzd2WXBCblEwREdVNWxrRTFpajNwdXlhT0RSMENNZ1dYTwotRGRvWVdXMUY1M1Nld3U5TVNwU2YwL0FaWlo0UzJsUUdoc0g3S2Zjby9oWEtWKy85U2ovOE13ODJNRFZvalB2VAotdkNjMjNPUkFyTVJ6V0ZJdGREUjBqa0ZWajNzVjNjc2p2akc3L3V1UnRuYXBIcXFod2lOYmZSWW9XOGNMMHkzTwotTk81MTc5T0U4WG1vMGhIS1lhRHMzTnIrM2RuRndRSjlIRUpuS3JINU1NMkcxcVVGa25CWUZxWUVrbUNYTzg3RwotWnRFSXl3dEZFR0VsR3ltR1dXaGxnNnRKeEVjT2JOOHNOSGYwaHF2N2tIL2pONkp1RUZMUWxmTHoxYjIwWE5rYQotM3J2NVdLajdsTXJwSUk5YWdHTzdWUit6YnBKMlJZdjBhNE4rRDQ2U1pHSW9XS2pyYXZtck16RmhYanU1NEhNUgotT0tyTDA2bmpBb1JFMFRmcHFHenYzSW5QSmc3TDhCYjlGdFhNZGZpY1E4Qk01ZjYyYjd1OHhjY2U3Vkx5aHorNgotMWNib2FUeXdmRDltYkd0ZXlzZG9vb0ZpaFZUaGM0OS9EUFNpMDFqcVo0UEU5Mzd0R0RsdDVHV0ZpSU9hb2JGLwotemZXeEpxM0JXQTFMYVZqNDRyOVA0ak9SY1AwZld2YWJjZ3psRDd2ZXd2U2s3Y3ArZzhmR1lpcE44dDRvcXlucAotREdYWVZDVHpja2xsd05uVmxDUmNPcHdZZ2Rhei8yZEVNcWg0VUg1YlBJODZMdTJKNk1yOWlUdVEzQ0w5NjdMZwotaEVWbWI3SFRPMlRyNW1uQUlrQVV2ZUpiTFhxUEd5bmg2ZDNrMzltNTZoNUR5UEtEUEJpZGprWEZuTGxTSndPNAotUlBvQXlWQjNKT01FSjVBbS9wWGF1ajdOWEVyTlRLUnVXVlFWc3Bzemk2eWNvYWlQR2ZYV1l5cFpYeTlXNmhKOQotTldpZjRTS1RwVlZZQldIMzlZWEJmeUh3blNIZWdnc3ZVcG1WelJsZFh1TFJhZ3M4Mmk0YlZkNkFqWFpSUUxmZwotU3V2SC9SUHNobTFDVXd0K1RBcmw2Rk05TWpkSU9RTS84WVVieWsvQmNac2RNOUNoSGErMXNvTVhBaGp6NTlnZQotVDE5Qnp2WldlREl1dzl1YXRxU0wvUVdBRU5RY0thbG8xekZwaGtGTGtIQ1FudnMzK2N3UExvOEFQOUVTMVc0RwotNEt5aU8rNWUvMDRYcUZET2cyaVJZb2FIRWhNMHpHVEpwVTlUREpRMUFRQW1IajhUSjRlTDZzNU9hU3pXTjNkUAotQzRkNFY5QXkyeTRWRk5hY1Z1T1RBSTk0NSt5aTZHTis2M3NMNEZCNzIzSmtydW1hOXZoT2hxR2h0NVdPbHRYbAoteUJqY01GbXhoc3ZrOXlFcm5QTi9sVUlwdnkvQmxBZlBrVG1TelRjYW0vWmZDT2dJZkZhcmJSNUhhaHluZjZ1NAoteDJFQ1dKdEVMdDVqaHhzMWduZXBaUmg3MVdKYmpvMjVTSk8vUFNJMTN1TWhkMGNCSWxodTBpaVZ0R3p1Y2dlVQotUHpVQzZQTzFnQjJXZ2tGWGFGODM5VE8vZFZwZ2JLMnNCalJVanpxbllzK1lNU1Z3aU5ZOGdjMlZBblhRdStvVgotTmROYVBFRjc5SlRwMTRUcTBybWhjamN6ZFZRN2dDTlVENWc4ZWhvdkFrcDZEa0tDb01tYktnYWdQOU1uS3JoUwotMHRrYVp3cEx4Ullpejd2WkpoWnZ6MWk2NEM3YXV5OTBmSnhWQW1zbDBzQzk3ZFdzYmNMYVFvSUt1d2ZuMGtPOAotcTJSeDR4Uk1peEk1dW9XRFlhbU5MNVJBbzFubXN2Q1FDV08vRTVwS3pFeXlrRlpmUStpWDUvY0ZnalhtTUJjSgotMVBSUnJRY0h2dEFWNTFHaFBYeFBuc2tsdEhEVUVWMXhvdllHSDB5azIwTlpQRUlWTGYyT1ZHcGNRSUNEekx5QgotSXd4dWZlSE1rYWtBY1FPMW5nejZjekJNTVBGaEVxYVRCRGFmeWJ3OTRPYnBWcnBqTzhiRXVqOTZubUZoNWhjMAotby9kbk1zVThxN3N5UklpbmpaVE1jdndZTEUxQzZCU2RZMGo5VHdEZEZ2SDBJaG1QYUtnQ3hnb0t1eWlTMlV0RAotRzhKUFpJOXltT0tNbnphcUxjNUY1NmoyTFNzT0lmMW82c3ZIV0cybkdHQ0xDTWdMYURDbDFya1ZZT2hRNTZCZgotL2EvaVBmemt6MUlZQ082enZxN0FmSW1HSFM3SExDazJJdXNjMk9pY2YzZnBqSjhUdU1Ed2dVYXVHeDlSS04yYgotem5CVVFlSTFkNlBXZmx6L1hsMUw4R1REYy9ZSTM0NGF4WXZpM0Y5SE5EK2djT0VwZmN3OGp4eS95TVlIdjJSVAotUzRiR3lSb2RHclZaRGc3QWpGeXpMdXdhcE0rR1MwOVF4ZHIvNGNkRXpMVCtjdUQrSzlOc09yL1RTdlpEN1lPOAotMDl5VmJYV0JJSE9Yb1ZLUHo4UFNnNmJiK1d6azczYnRhY05SZ2FXbHFhMkVoVDJnNXB3U0FjRHdyVHFOOUdHNwotME1peUVzV2QydUNFVDhMQlhtTFBDNFUwaUhnODVYMGpDL2ZkTTd4cFJBS2F5dWg1b21Zd3l4eHVuWmhBWjE4SAotMW1lSmJhbzhtQ3FEb3BpaDZIWWdEYkgzc1F2azJCVUlyMHdYM01DN0lUTEFpSWl6aUpkdlhXWWFJckRmK3k2MQotZ0NmKzBSRXBBS1YwdWFIMS9Qa09wN3ZtamVPSGRVZFNPT1NINUFreXFCdDRqTkpEd2kyeXRoM1hKb3lIK2IrNgotWEd1enZDRkR1d0laYTlQUHNBWGtnN2xiNytuOUwwTFNkZFVDaFZaUTBOVmlyTlJHVGVrOHA4WThTWVBKWkhrMwotWnVvRy9rWHZhaUNTYVAwY2VnPT0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjU2LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyNTYuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjBmZWM4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyNTYuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5wZW0gYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjU2LnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmNlMGZhNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjU2LnBlbQorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS0tLS0tQkVHSU4gRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUptVEJMQmdrcWhraUc5dzBCQlEwd1BqQXBCZ2txaGtpRzl3MEJCUXd3SEFRSWVHSUVlVGVNampVQ0FnZ0EKLU1Bd0dDQ3FHU0liM0RRSUpCUUF3RVFZRkt3NERBZ2NFQ0FWcWJONmJnOVh0QklJSlNNc25yNmJIcHRnQktxWDMKLTRRa25PcHg0SjhaM3lwNVBqRUFnQTJGQWVoWnNwVG1BRUYxdk1ZWnFsZTNWT3pCSDVNcUNrNFVBM0VwNWVLNW0KLWQ4eFlIaXFqQ0NScVZmeTJEVGdpWGdxQWlrbkhGckhOTVcyOXB6TmlHN05QL3JRaG1SMkVPSUg4Mzc2TjBIWTMKLU9nRVc1YkZWd2dra25XemI3TFE0VWhjYmQvZmIyTkM1V0dKcnBWTmIxZlFYamJ2elBhaXJTU3o1NHRPKzBNbVcKLTNzanYrNExSMkNxUXFzdXJjVW1jQzBPUVVMK3NyT0xiYkRWMkVOdVFFSDVNd1Bwb3kreEZjZ01IWDhLeWpZQnEKLVdJb2xMVTlFR3hlUmZOVkJMR0QyYU1NbUtDM285MVM3NXBxei8yVlE2YWdDaHR6QklpaGk0QlYzQ1dlL20wV3oKLTBJa241UGdjR25VT0hxOXhCeVdBK1pBNDA3UnptcGMxeWo4eTk0Vm1GdmVNRmlxRXovMGdDYW9TaDcwQ0Fqc2IKLWxtRmcxMGxPUzJONmpRSHo1UmNaRzVta1piU1c5YVUweDVIa0pXQktxbzN1SjFpRzlQemtKNDZ4cmt5b1c4TUQKLVVHQVVTTkFyYUZyRkpCREhRQ1JzZ0lOTXZ2YlBTOWFUU3pLRE9DK1g2cXRyVGJaUmQ0bWtrUmN4VytzVXRFY20KLU1TNXhLZ1hLNWFGeUpNcWNhUHRIZ0ZxQjZJMW1RenpGK21YcHE1YXRwMW93bi9vUVJTZmFjTEd1WjJ3MjFZNkIKLVdjNC9IdzIySDNRWEJHeFdIUzIvUjlLRkd2b2VrVXdlMDQ3MmpBL2pQS0t4OU41UEthaGl3ck1vRDNVbWRHTmgKLTdncmVVTHZOQWRBUzNKV0JaTWs5ZFJQZ0Q0TlMzYjJtY2JqRFhYL3U2T1ovZGFpODZ4RjF1MWNoYW5GRjIrNkkKLTZKbnR2MWxKZit0YU5IeEtienpYNm4rMElyWWlGdHlRWkZ3TE5lTjlYanJTVWUycjN5ZmtQc2ZGQy9QYW50OUgKLXBiRzh0bnVEZkI0RmZlRHVCZkpycjNKbjYrUzNURzFIOHZJdmtOeHM4UUUvMURQdklibG5OWmllTzY4Rkphc2sKLTdnUWI1d1lNSWNuWXpuVHJtWVNGamoyUHo3OE8rWHdFQTg2djZuOEh1emd3elF4a2JQQXJ5NE9Ea0ljb0Q0QTcKLVpxUENySnFFTmtkT2FtZkhPNGNQd25hWWl1RS8reVN6MkVuQVlyMzQ2MFBMa3RiQnQzeVFONUlDcjJ0SERPcEYKLXVLKzJIUS9uOW53SGhiN3kwSSt5MDJ3ZkU1cEsvK1Fsbm53YTJrNXFlY2psVzJBck03MDFUOTZOQXVnbTMrNUIKLW5teXRYT09FbzVpaGMzbHdQSFFDWTR1MXA0MmtaaFR3aHc2QXZieW0wTVRwTDA4QXNwWVVLOHplc2JodGtTVlAKLWx5UHFXRk85OFRxa3lhSERmcXdiYk5zUHpvZWxmL0FicGw5MFlyK05UWHFwREl0K0RhREVRSVRpY3NIY09UbEgKLWZ5VkczNkZwL0EvQmVQTVlFYUo0Q0g5cmNROFVlVnVQTTlJNFRrTFk4REQvdU5vRDR3enA5S1hVbWJPa2U4MkMKLUpOcEl6V2NnVHpTbW45M1pyRUlQTGNkSEV3ZTRTcVZxdXpYNUpIc3ptOE9zSkt1cGdZRDcyeVdGSm9ZcnhvNDcKLVFRMG0vaGdxZ1hiMU5ZdXJUQW1CTlVzWlNHM0x3WTJwMndoejNKRWRxV01uZlpYM1NRRmR1U1dvdzJGR0VvSmoKLUVIQmtkdVd0MnllbmE2a0txRTZHU3RLdW4zWjQ4QlI0OHRISFpLSGdHOGZLaUJOWmZueVhSWHk1OGQ0Rkp0RjAKLW1xOTA2WHhtcGh4dit4dEFjaHlVYWJnUXhWZGFOT0RNQ2VZMlV0UDk1ZWxOWXo5Sys4SFVsNFRIZHg4ZVdIUm4KLXVtbFhTaUlETkova2VzSHNCaHRIdWovbmsxdnlMelRuTXlHZ1pUb1FYS05Tam5yV0hINGFMV2FnbHZKcnNMaS8KLWh1eno1d1ZCN0loaGMxYUI1MGtLQ0htdGpVaUNBVjVjN010UGlHRlNJLzhaNVQvaTI0OWU2cWZiQm9pWGtiQUgKLXdjNnJ2V0NmNGRCZ1hhT0VJNnlCQS9tYXN6bDZpR2h6OU44L2xJbld2ZlM5TFZvVzZabHdRSFEvbmZjLzA2b3kKLVpLVDBUOHluamZ1T0dPdXVFY0x1d3hIOUZNZHBqQXlVem9hN0VHQWp2VUFOWDZBMk4yUWtPVWkxU21nNHBtN0IKLVpHNnpIRFVEdjJDeTVzRlFtTjhNV3RZNzJ1VG9iYk1LdUNkOXhEWi9GSmpBcVpnMElhTFUreXZTMERMN1JlVWkKLWs4RTAyMExtUjNtOHJnYTAxOGxjR0pNMzh6NjVNN0hOMGRya2MzbHp1WTR5SEgrdEpUTlEySnFmcmVUN3dWYkgKLXBRL3hxemtaOWhPNXU2K0tGUURqMWV0cTMyWFRzTGlGcEpCbWJsOTFnVW00RFZSVE40TTE4VTlMTlQ2NHByYzEKLTlRWXFDeGxEcTlyd2dXcWxhS25uSjhpUElDbVdrd0xJNkNBa3Fpc1h2T2lXNzdCVUdvRThwanpONGQ1OVM5NmgKLXZ6L05jZ2YyQUEvRWtIMHFiTW14TG1zNXEzdllmakJOamJ2aHdqN3NkTkJJV25NdWtNS3MycHFhbURMNjREa0gKLTV1c2ptMFlHY0xrUEU3SXlFcHh2OGhxVXQxWWNJbEd1Sy9SaU9EVFBZUG9HbXUvUWFnL0NTamQvUUp2NHlET1QKLWZ5SlRsZm1uOXMxanNWZXJEYXpLdC9JY1BuSU9raHl2bXVjU3puUEJnbzR1SlJqbDBlN0Q3NWl0NlZwMGtpMksKLWFIQlkwTzVMU0l6M0lsTm82NG80UTlCZSs4NDhTRzVzM0NUZWtYZVBsZjNacUZjY296bVU1a2ltdjZGRkwvNXkKLUdEcHB2ZUwxT2UrSlJDZ1ppQlhDR000dnpJNlJXK1dHVWVITlk3OHZXOXA0V3pNaDBjL3ZZTDQ0NWpCTjZ1dGsKLXhnOGp0WTNZaFdKNHhDblhEN0dmSVhHQnpDWUgvREhidGI1VnJvNTY2OE5Wam9TZ0NtZjFERzF6UklMWXRlWXgKLWZMOG8zQ3lacmlkZkxDbDBiUUc4a0FYa3Fpa0d6RnNuTkUwVU52R0kzdXhGOGtWMlBWM0xFTTNJSHFVY0IzbXQKLUpNNi9Jb0xNaWdJZWM1UUhHd2lncnJRdTJmUVUwRVNyVmJJbXVsd1JkTjhDNjVoTkpYUmFzUlNSb1FYb2dTc0EKLTVGSm1wMG0zTEQ3dHhPWnVHRXBJN25WL0pNWllzR1M2M0Fzdy81RE9XYlNUd29KYUJYOG82VTc3c0RTZEdhNFEKLXByeUNsZEpSZDg5NTFKRGQ0WUQvbWZlenVQRDVackwwOTJMangzZWk5U29DTGlCVUhoSS9UN01ZQU1PcnpRT1kKLVgzd2hGSGlacExrYUJlRjJaT0pMNk1UUzRlUzd0ekRVaUw3RHZjU1BuRlgxWC9FaTJHQy9SbWJVWmlyS0NZREYKLUd4d2luQVdNWUF5aUlmajJCZUdFM3VpR1huVUZUdGR6S3pQYUJNdkEwUmxlYnVXV0Z6N29oeXovR0pHbnpBd3AKLXJOK3VleVVJQWE1azVNTVp1M0ZMZGtkSXdIQkpWUnFteVJueDAzU1VGUlhhd3lHTzVodjRYcjlYdnpDS2NRNkEKLVFRRmpsbjZPaDJiN0tPS3lVc2VGbEVhNDVEb3B4NDZTVldrWU16enVHOER1NTN6N3JuZXB6ZXBPSzk5L1FVQ3YKLUhUU0o3Sjh5U0Nuc3RCUHA4Q2dobDdCa2dzU3RWWkVxOWJ5ZERId2V6aHk1WHVBd01nTFdhVmcwcVlBcEZUWW8KLVI1Zk1oNlhHUjgzYUR2b0dUT1hCYndDVFAxSTRWWDlDMEU2aEtqd0N1cWJSQ2RiMmZOWmJIV2I5cWhiTHhnMzAKLTluZTRwOXYrWDAzVWFjS3hYUmoxdmNaUEs1dThaeTk5YlI4aGY4NWlYUUVKSlJCZWQwN0ZiaVlFTzBMRmxhQ0YKLUQwc3Q3MnUzci9WNmNyOHRqNG5MMCtWZGkvUkVuY2gwZENiMzAxMTNLdkxqVTZqQU8vclU4bWFUWVowSllEbGsKLUNGT0Ezemx3QTd0eW83K3FUZz09Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTM4NC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzc4ZmYyZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEzODQucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTM4NC5wZW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzMjUxZTQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTM4NC5wZW0KKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCi1NSUlKbVRCTEJna3Foa2lHOXcwQkJRMHdQakFwQmdrcWhraUc5dzBCQlF3d0hBUUkvNDR4cXFTdGlWVUNBZ2dBCi1NQXdHQ0NxR1NJYjNEUUlLQlFBd0VRWUZLdzREQWdjRUNJU0tNRlZ6ai9nSkJJSUpTRGw4bXBaejJxd0kyL2JBCi1HK2k4RWVtNTBHN0VkUU5Mc0lrQ0c4UWd1L0lwbFZ4N015R0xkM0ZVbVBwU1ZuRXN4dmZrM3JSSmI4TkRubTltCi1ZY0pSeTA5SDNDRnYrcS9ucXlyWFIyMGpWRk5Wc2hobzYrS3k2QTV4K2pTcmx6bGdZN0lIRlhjUlNmYU5YM29MCi12ZytUcEpmRzVMczlvRHdFekcwQzVGWmxibHJTWFZMOGRLRUt3Rjc0Y3JZQ204emhxVUpHdWFac1NrcHE3TGlMCi05d3B2UGtBNFZtSS9xcXFlSU53eWhIUDlEWUdVRUdDQWllTDZRYmszaHpIbnZaeWJuaG15TGpuSmR5V05nMmFGCi1FMWtnQm82ZVBqN0xlTXZGSTdVYUpZK2xxVmtPQTJ2bHFtVTZMYThJUDBPYUZRSGhZd0xiZ0VKRTBqUGloTW5ECi03YnlzUXZjb1FyUGM1dmFqNVJGdUFjc2p2eDd1Q0Z5Rms1YWZhTXlXQXhVenhwZnpsN3RUSXVGa2ptVHo3NFMrCi1uRlRoektDRW95eEdZT0FQMjVuWVNMaEttV0NtUU1za2hhY3ZZYzdNQ3VVa1p2ajV4VENWRHAxaTZ5TjlUY3lOCi1TRHE3RWhIaXIrRGJGQll0ZDZQN3BMMG96MGFNRUpvTk1wazJQRlFUci9kN2lpZDA2R3dXY2NzanVoZGZLS2FSCi1Ea2gzaGxkeitTSFo3ZUx2cnA1c0tGOXYzaFBoWDhxQWZLbis3MnJpMkpOQnRpSnZjbjB6a0hLKzRXUHY3Z2l5Ci1aVG9oQUJHczVKdStDMnRNQzRRQ1d1SHg0b25LSG9xQU02b2tWT1FtZE9XVk9HbEMxbjlNeWtHVTJ2SXlZY1h0Ci1paDlhYlJzWW0zOVhSb2NTcW9zcVUxVmgwV3h0MmNQY3dxUTNZbTBSZXZWK0xpckxwVnJTNzRmc2tIMDVmOGtPCi02bWh2OXliQlBOQ1hiYk1sTzVIZTZ2N2NrK1JBTE96cFIxaGt3ZG4rMksxdlpHN2dGN1BVckY3WkYwT3pERGFNCi0waUI1a1JSci9nZHlGUDJjVndFVWw4MEtIcVVUVHNjU1MxWmtBU0lNWDlaM3NwRmRESHhGbzdqNlFGbCtuVzl0Ci1JWW95Skk5UW1jSXhncEw5ODRoVEtFZXhvSmRRZm1pMUNLa05vSlRtazd5cGdBS3FpVGM3bzdpT3RYano4bHlmCi1TRlZSSlFkZkRicWxhSHFPenhXN1hrY0Q4cVRUemdTTWNuSkVNNitGYkpnOVdWT1U4eURjMktOS3Yxa21iUDl1Ci1hMTJBekZEUlRDQStEOStnMFVVZFRaaGpjVkVVTExwYTBXc2hvaTJOZGNuQjJUbi9GaFNKWmN0ZmxxcjF1M1RICi1ucDg1TnhheU5SaXNFaC9nQ1ZrSGx2OWxtSDJ4akxHRXovQWxSVDBmNjgycWd0OVNQMW56Y1RJeFkvaTFUOE9oCi1CbWlZL2xzRUtVU0tPaHNCTy90bTJWUE9FOWRVT1NBVGxOenhSaEl0cVRBbDN4YlJHYnQ4cmRRNG5RRTZNQWQ4Ci1vZndQVGpSaGVKbUJGZmgzdlpWUHBLeGdTY3BRK09tSjdKeDhNY2dNQ013djRXait0aElQRkdXcXJTK204SHNKCi1JeHZQRitRdUo0RUNxSVNDemV0VUpLSTBNa25XeGxXc0U3dGdaU2pMeVFiTUxhaUtMb2NCd0daVWxPT09wK2xSCi03R1k1Nm9BYkFOcVhoamJBK0FvQkZxZTVHcml6Q3ZqRVZZS2c1Umo5T2VISEVJeExLN3ZQZU5ENnR2U2ZtSytDCi1sWjd4djVabzIwSVQ4N2tnOW9xaGU5Y0xvTk9rK05lV2QzOXhNS1VDQm94WUsxODB5bFg0eVBXSkduL0FJSXhaCi04d05DWWh0VE8xWll3eDJwZjJLV204U2x2QzBCdHZJVTd1bXd5Qi9NN00yaC9YQmdPOW5ocms1dVZLZnNTc1NrCi1CckpWZUtBMXJudzhZTnBQeTZuY1Z3UkpEVkpEeHhmY3R4WmRwOXRrWmk1aDNNWldnQmVRZllobEpNVFdRcDZOCi01Y2ZkaHdwckd3eWpsUVUrTkdFMXdCdm5vNGMvd3ExMS9qY0lFaXplcEptbytKMzV1b05UWVh1QS95dm1HN092Ci1OKzhRdnY3cWY1Mm1DTjd3Zk9ONDliRWNNcEFnOC9IRjJGL29qVCtQUlVlMGVzY1d4dkFTS1JTUTRmVE1naVBWCi1BSWhSMU4wWnYrNDM0UzNVZGFZeDBSUWpqdWFaQWlsK1VjZFYzUlZpSUxmdnNaTnpjMlNuVVEzV0pzV2N0cnZPCi10cjBxMEVPQ0czeGJCTFFzMktXbkR1MWJIRGhHemszRDNGRGs0RVhRdHZaRS91QjJZMEFveHd0bVBXbmtTbVNSCi1JRFZaSWIxZ04vNVJJeDdFN08yUVk4dlByazFtT3c1M1FHSVdVOFh0aFNPbFg1ZmRoV0lEd1NWSG5LOVJlQ3dwCi1nT0U5QXZPMlJ0R0NITnplamhSWUVBa3dmK0FibVFld0FkK0hwS2N1K3BldjdrYUhwRkJRa0M1WVpXMTczT1dGCi1Dd0o0aUFralpwcitGTWdjRzNKNXp0eGdZS3V6OGZSYTU4UlpBZGNHdEZkNUxMV0cyS0wzZGpZSDE0Nno0b2ZrCi1tN05XckZXR2xoWGNRbjYveWx2N0dZeUNaTU4rVVRjd1NQNExhaWhYSzlQbGZvc0tFaHBSNytGb1NCcXVQb29rCi1Ecjl0ZlVsS0lXRlVydTRtSlR2R0dFSEc4S2M2ZXkxeXlISkdOY1dRcjIwZUFMcXJLN2JDeW8zVTdSMnpOUTNWCi1OdHJLRDdLMWpFWmZ2OGE3RytYaGdJUFRwRnlkVWhJZk1oSUR2bzk1a0E5b1JBaVBxZTk0WWNkYjdSVm1VdHY1Ci14Y2VLbSt3T3B3R2NudEtpVlNXV2Vqa203ZncybGs5Q0hjaTVzMGdmYWNadkFoa1dHQ3VUNzMvSzJyZW84d1E1Ci16SHRFZVMwWkVqemp6RHVrUyt3SWhaMXVubEhLNlpZU3N3ZU5ka3k5ZnJMSFRzNmdMenU2QWM1WXFLcXFJbU9JCi1WZVI3b0tyaG9wVEx4THdXa2JBWk5hdTNoM0xvV3dQYXRnd21QWDRPQkFnZTl4R2VvNUJBbTIzRFFHTHRva1lqCi1oSVNBb1l6YzZxaHIwU2NIRk9CeEVnM0VvSEZWVU5WWUxwQUFJSFZEVm5aWXhlaWVrQlNPb0lMTTlDSzhKeHdTCi1Cc1NYalpJSnFnK0tnMkhYdkRld0lYQTdPckR4WEJoeFBTc0Y3b1RZOFpsdXRDWlFJOEJVUnB4VGFRUDRncXhICi1ja3czN003aHNFQk5vck5mTDYxejZEaHlXazZSMUF2US82alViRm8zdE5QUmV4endabFlTeWwwSWdBd0JnbVcrCi0vSmNKZ2JPSVhXUEY1cjZSMjU0Q1ozdVg2eGkrMlV3UHRZc1BSTEt3UXNDTHdLN0d2Y3E1ZFlrRkoxT2VsZXRUCi03dGxxU09JVzNVYWttdmlNOXU5dU02RFcxWlJDV3pBbU5jaTRZclFHSU1tbUVCYmFxZTNkd2hjT21IYVV0TUt1Ci1kT1VWK2xCZXplR3N4NHlWeEVKa2Zsa2NnMFNYU2gyeGxLTTRneHVmOEVpVGVUcTlCSTZaT3RTVy9uVXpZbWlNCi1ZcWM5QkVsQnJXTi94Unh4UGduRTNvRTBLc0VJSzdFL2dvNWVhb2J3WVRaVjVLK1RvdDBmVm1SNldIUHdSLzRaCi1SSlRIWEpsSjBSeGFjSEZMV0t6KzYvTVdwNExQbndkLzBHVVlNQ2kyRlVwdGpWZEVHYTRtQ0Zmc08yU0hwSFdyCi1wOVc2L3dkeTJGWGN2U0pHb3U4N3owVi91WUd4Vmg3WkRiNzQzcCsvZjZVbXpKTFVGK0xyWmJwZEpacnhWTkVFCi1EaTJFeXBrUEZKaXFla0RiUWFCdityRnVSb0ZBbmlFMTdMSzFrdVdQdGhuS0hqYWpRSmJkTXVzWEo5RldHam4vCi0rWW9WZnJ3NDlXQWMzZTF3MEZlSG81TktTRW5CNWMzSkZxdVNVRkY4QXhKbi8rRURpYmhwcnI1dmlxODlRNE9ICi1JNHpjMVBKMWEvMWI1aWhTQmhnQ2lob3dJeXAxamVRTENZeEh0dXI2ek15citrc3VZbndsQ0FBY3RtSkYxTmo5Ci1pWWFzQUNBZlkrYjc2SEM1YXc9PQotLS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTUxMi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkMzhhMGYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTUxMi5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhNTEyLnBlbSBiL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIucGVtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTUwNGE2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIucGVtCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJSm1UQkxCZ2txaGtpRzl3MEJCUTB3UGpBcEJna3Foa2lHOXcwQkJRd3dIQVFJR09uVkxLdktnSEFDQWdnQQotTUF3R0NDcUdTSWIzRFFJTEJRQXdFUVlGS3c0REFnY0VDSUdHMjgvVEpSYUdCSUlKU0ZoNlpKTjh4SmFIMzBrMQotckgrTDFEeVRINENFTHNSZDE2NFJvcWZVcThycDYrWGNORy9TNDFQZEkzZWZLMjhpeUx4ODVBY3FGQXJxSEhVTQotN3lHQTZ2bXVTVnozOVpYZHUxQ1ZNaTdPUTRkVGRnM0tCWGF6OTZjbnlaMUVzb3J1aWJRRG42bVFxMUQwTEcxdQotNXBoVkxzbmZRTERpT0ZVRm02WDRxOUZkSmo2TlVKZE9ZNVhSSlpFdTZxM3dFbVZYRGZMN3pZWEpsMmdadWlHTwotZURwL2QwSVZjWUZkMW9kMFY4cUk5MG5XUENlWnppTWNuUjh3QWxvVjJwOHhpcUh1VmhWLzQrSTUzRU5xYnF4bwotdiswYU9iTzNKc2F4TFZNTDZKR2hhYmQyazF2M1FBWkxhd01WR0JOYS83SUVPQlZlRDRqNlZTaVpQZEtONDczaQotb1h4UnN5YTZIcUNENGt4K3pib2ZiTDRkRVpsaUxEbUlTb0hSbDlpcFFmcjErWS8vSlloRWY2Z0x6bWRGcVAzcQotTjkyK3JWd2RSV2ZtVmRJc2dkTGlpbkpXTzF4WjFkVW5XdkdPWVpOanVyR1ZIcXYySXJEQmQ4RkRqbC95TVU2egotb3NuT3luWHNwb1NBNTNrUTQ2WnZBcmxuOFFHeld0MWJENDY2bnU4NmRYT2tyZmJBbVM1OVZhTlk0WTFEMDMzbAotcCtkOTRlRWpSd0ZVc1FiUld2OG12YitLUG4rblljV1pGTkNnMlJoVFVLblUwT2QxU0hZNWY5amZHRlV5b2JZcAotL3RnNmVpem83VCtyVTlQWm9Ua0duQ2YxcU93TlBwYlNoNUZjTFZhamVEaVlva295YzE3VlFKY2MxeHpLZUlPcwotdGNVN2tLL2pBMUdvZkNWaEgzUzFPUFlxZGpHdnZvVFZBWXlYSDNTdUgwNGE4VUp2RnNSbDhYZFROWU95ZWNxaQotdEgxN1BBRERhMlVUdktFMmRMaHh4VlVvTzlkWlZlRW9yTmlGV0NRL3JzbDVNMWVUOUtYaDJsdlpSTStZeG8zKwotTlBQMS9DR2E1c0RZeDlhWlFQb0pjNmFUSmljbXF4L3NyUnRNUi9SdXdCVVVILzFBRU5IZE5MQkwySVBmWWpzTAoteEtVL294NjJjczJzQ0l5d2tCa1I5V0hQVHFhVTdIVTZybEQ4cGhpbmZsakE1ck1qM1AzenJOazhYcWZITlRwVgotQlZBMkVjemYxSE5penZMeEUzK3ZwL2VHWUNlY3VMZm5xd1JqNXpBamlZUGN5OHMxdkVURGtYU1dkYzl2UWYyYwotemt5N3RkQU1TMldMRkl1bEJJcVlGRGhpY2RscDlMVGFlVU9pd05JYlBMVk16S3k4enpXM1VoTVh5Vmk5RUJDdAotSURoa1VUZGFMbWlIQjBGMTROSVNSSzYvaXNhNFZmZSsvWjlNTC96OWlGbThlQzZMTXkrL1lnV1pEMHZZSXdvdwotSktIdUV1dVV1RFI3Z2tIZ1ovY3ZqTXN5T0kyNnVpVy9XOHFmQWs3T1IvcWxaWE1nV0NRVGdWQkVjZ21aaW84VQotQmNWRFJQS0ZxTENLT0lOUTRwb3h0NDVFeit4UmxZZHdFeFBuU1JEN1pNRlBZY1VsbE8rUzcySllHc1lkR3M2MAotaTUyOUhnWEtwL2JTKzFKS0svenhRbWpBcFo1a1dHbWM3a0FVVTc2enByZDdOS21kcFd2MW5iREpCdE5VMWJtVwotbnpFL0dYeU5NWVZHdXhHbnUvOXNjS1NSQVRMenZMWHR2aVJLb1pWRm0rNm03Z1I4SjRHVlN1OFR4YVhsWXhnOQotTlIrVXVqUUplb0NoUjJkSHZBWlhjNWczajlyalFYWllsTW02TTVycTBDYk1sZmVBRlN3eUczR202RC9jUnhKZwotTUhQYVU3SHBlWkw1cjdySndOZlV0L2MvY3VRNUM4Q2FkZ1RnRGQxTlc1MHVFVW9KaDNRR0UySzNKcSswd0c5aAotc2s3MmxuVnpIMGJuTWJKRFhFVjFidHJzMnFublNvdHM3NCs4RjI0Z1FiOVBSUWxpdWs1MExHTmRkZ3JHb1NnQgotYjllYUJsN2NnY3k3VDFYVXY0SSthRVcrc2ZhOGJHQmZmSUYybmszb0Nya1c5U2JkZWg4cVNFOXV0aGV3cEd2SwotV3hCaENuNnpVcnlIbXQ1cHBpQzZKckhKcmlkQ1N1NFJOYllMMnVtQU00RE5oNGxFNXJCdkZyQ0hhcWV0N2hkeQotd2hlUUdSUW5Sek5ydTVhbEN4Zk5XWFh1T3A5bmFGbUY1UkZEV3ZTWHVrbjhxZnh6UmNqTWh2TlMrejIxTzluSwotTFBSYVg5QUlDTEdDKzFDKytLYTRwalZKVlQvV2hFbFhWYXAzMTNPai9SYzZLdlJDZEdwcU1MVnhQSXJQRnZiagotdnpORmEvWUVVM1JLL3dqTzYva1FQdGxjZndNelpGa0RITVdpWU1DVW9pNkRwdnplL21LU1RBOUc5bG1jKy9CRgotc2dxTFpNN3lsdFRtaUdLUVVEU2xVT3MwOFptUHcxK0hTT3UyRFpLV1ErMlhvSFNNaWg1ZXp1N0daMHh2VXQ0VAotQkhWOTVzUkRDQXZVeXdHVElQaHg1eGErZ0lDVmVMOTdET1VDUytZK1dKWW1lU2xaNXIrZHlnMlY3K0NYK3FqcgotRU5NcG91VjhiSU1wTjA1cVhlejhNdU80dkpkRERzanF4cSt5NWt3Ti91Z2IrRE9xNW9rZVJJYVdSUFdkeWNlVAotTkNheWlFKzVubmZkUE1RQUFKcVovTEdTeDA5ZnlhbUpxaGNHM1JKb3NGZnJWUGpqN2FBU1VXaTFCRmp4SWUxTAotM2ZGU1U5VURoOWhmSmN6WngraE5LYjU2dmhnck8rRGFJYkRNTk1RcWg2QzJ6ZENpckJUNk0xTlhoV3ZIS2pragotL01OeUxCd25DV1RVWjdndWZuLzBNQXIxRGFlb0U2VHpjd0RDcFc2bnRYRjl0RzdMNERWYkE4Q3F5K00wSG5RTAotUGkyQkNoNEtyUmlWMUc0Tjh4RERDUXc2SWtmS1JHR082d0NKMUhUbkEyeG1LcUN6RTJVbDhTLzMrYUVFcFJOVAotM0ZyY3JFaStuekFrekJCa1BjSGF4YXl4M21SMDBXdi9td2NJN1NvWUtLZnVpZEVTUXkrVkJBSHFla1RtU0VMdwotWVJUZHJYVEtOV1lseW1zN3BLTU9nZHFaQWhGVk9ZeEtCVmFpdVVlT0d0dkNOWjJxZjdUT0cvcFQzbnFUQWJBZwotVWVQN2t2ZjJCYVlsS29Gb2czdXZSeXBjV0xvbVFxWTZod3ZXVzdJd3F1SHd4ZUZkQ0hIZU5ycjlDb0JyRjJsegotWjE2Mi9pblRSelNiVWhqdW1oTEdFaUpTelp5ckVFcmpCakY1akUwN1Rpb0VnbW5YeUNGV29jNG5CbloyK0tYYgotSjcvUVdNc0NKd2IvQ3N2UXhlZ2Q4WDZTd0xEZkgvMjhweStVQXFTVGkvSEEyR1kvNjhRM1BRMTdWN2Z5ZzVsMAotaDZGU2hoWU9LbUZvclVOd3FuMlR3R1BIKzBzd3RPVTJmS0ZxME5NSFBTdnRhNlUwd3BhUlpNQ29qdzhBVjN5KwotbFVkS2VzejJzaWlveGZlSXhoRDFSbTFLWjVwMU4vRmd5QUV1NndwV2o4b2tRanhSaUdlK0dRTGhlUXBzTC9aVwotSHNsalNxNzNvOXYvRjd4TkU5eHFJeEVHblVEWUlBUUNYNDdDaVFPVFRSOUx6Nk4vdDM2RWV3MStLamlJNFhkYQotVkN1MjA3aXBGUVBwTmt2YzEzejJOV0MvNE5lUlFnODJMQ1llcDR5K1pibGN5cUxxdk13T2hKcm8yS3hvZTFlMQotcnYxTXd6ZDBTaFVvc2IvMkNDaENSZGlyTEpGWGFYem0rUHpCWm9DeUpFV2NTeGk1NkJ5NThqaDZIK1hlVXhDagotMGZsN2VYTEhiNHN2OGtmN1AwS0pHQ3hOWTdpazNUTEpqbmNzQTlnTG1GQWVSY1lXS3E1U3VTRVczRG1mRFNYWgotQ0MxcFNzdkZCdlY2MFpGbTJyOTZ4cUZIS0ZIT2IxNXFtOURCWHBocjg3MG5aUUI3K1FnUndwK2pkK3hkWFVEUwotUGVsVkdhdTV1b1JOMnRGUE52b2VHeXd3OWxrdU5BSldLNFUrTGRMd0hzUU9VSUtUZjFyZ3d6NUMwNzdvbU9oNAotM3UrM3pNVENNUkROaGlKYjNnPT0KLS0tLS0tRU5EIEVOQ1JZUFRFRCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjIzMDhjNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjZjMGNhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvcnNhX3NpbmdsZV9zYW5fdXJpLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLQotTUlJRXZRSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2N3Z2dTakFnRUFBb0lCQVFDbmcwNnpkbGtoWWlCSwotNDNIK2NLK3ZrSFl2dlJBMlJ0V2JMTXcrOXJWOUlyZEdRK2lRUS9YMVNaZkRsMmhXVWlLVHBhYmN1R1l6WTM4SAotbFhXNFVYd1RCMzZLRWU3RzN5Ri9mYnZZek5zZFVDQVZPek5zLzBFTXZYSmVEL0RtNUNCTUVzRzZWMG92SG1rYwotYzgwZlFZUWlTeGdqcFd5UnBLZFArei8yaW1HcGg5b251dTdFV09wQVhHQXJvemxMTDVPaXhRMmRtdXRzYzVhcAotaGZnd3E2emEwMHVLc0ZpZm9sUnRBaGlIODZOMHZqaUFKa3paUjgzdUJsSTI4NXNqNStFelJydGpWditrZ3NMVwotZ0xEbGozYmdzdUtRRGZ4V2hlK21weTJQSUo0MWtxa3RDejFxZXczd3lISTJ5c0UrNmh0SFlRTU5iQ3RrUk1kWAotLzR0MXl4OTVBZ01CQUFFQ2dnRUFJSWhuNklLN25MZ3AvV0ZlNmtPSVcxaDdHNXBrWTZZdUpnejFQZVU4S2lscgotM3NHaGtTTWh5Wm1aVitzMzRFdmpXemw0eHJVcFpDR1dzaXBjeW9kSXlZbFRFZzJaaWhZYnMxNy85SU1VcXdTOAotdG1MaEFmSXcrQUJ6RGNHYXo3ek9hUGZibUEwTDQwck1yekh1VEh1MDVkUWZ4QXlFb1dTUStmK1oxSS9ibDhqeQotR2RYUVZ0cVp6cUpjV1hiWHQrMytCNGYyL2Q3SzV4emI3bHYvOHpoQWYvem9HOXNyTUJ5UGE2L0RvNXJWYXM1UQotTm16SlB3WG5neEU1ZEpjSHNXVTRGa0hiU2JKajBraFc4NThNSjRvNURkdzVaT1BpbXFsY21wQ2xiMDF3Q2RYZgotMTNvMm96S0dFL3hxM0luVTdNQTRhZDB0TE1kRU04Ujd5aFVaOVhlL2dRS0JnUURZWHQ0QmhpYW1uU2wxdEhSOAotTWlpeXprY1p1VkgwNC9BNkZzblVoY2JRRjlpQ3FPOXN6dzUwazB6N0RWSUdTOWRTWTlrbU1kRWNwc1g2bTJYQwotWGZFc3hIQm0wd21KcUxVR3EzVXpNNm9Ec3laRzFma1RnK2VNemJWTzBzdjR4ZGhKTFBwbXNjazV5Sjh0MFR4QgotOGdJUzl5TkV3Nyt3NnJaaGdTUnNNVCtXaFFLQmdRREdNWjBxSWRGaTFBZTd1ZVRjQkNlK2NqZ21URzluWHE2KwotcVJva1U2M3JQUDl5OFhUVkQ2aFJtdmlNUmw0c2t0MEYzOXlHSjdqYW5JUW5PQnJmMkRWRVg0TWNmMHNZNHZESgotbXNEVjVqa2J6Z2JBRWFzMGVqTzRoK2RwUnFhNG1VaVUxSlIvUGIxalpITk9nN1pmVHc0NVdQcUJHc0xURXBBdAotT3NLVlVnYlpaUUtCZ0NJZSs4V2p3UzZmTkMyU3NwZnZWUW0xaS9MYmpiZ2Z4Zjl6SG9yOE9ia1JPWnlKUlpDVQotS29ScHdrY0k5N2wwZGxWUTE2cTFTblBKUFFsalBpM2pvS2ZkcHBnZ2lhMkN4R0Z6NG55YmxpRVZQR0VKVjBragota1AxY1owNHg0ZWF1VkloZHBuTlJjQmxEc1E2Sm80WUd3eHI0akVCSTJrN3RCS3Zsc0xlN0lIcjlBb0dBZUptaQotSUF3YUJJQXZBSDE2bEtMMnFEMktpMHVCa3E0YnVTcmZISEhLNTlUalFFZExKNGJ5amsyMXBtMy9TakpIeWhaUgotYzFUaWVDdzdnajN5cEhsRTJJa2lHQW9oWVZCZTR0NkhMdUY3cUw2eWZ0ZUJqVm82OUxQR0RkcVBBczlMU2owYwotNjF4ZlRRYkgzMlBvYXBDSmdEM3ptUEgyMFVkL2NmWktoMkExaUwwQ2dZRUF3UWdHeEhWbysvZDNCaExRdlFIdAotNjRmRStxclpBNW9XV3dCaDhFelIrOThlT25EQ0YzR202Y2hyRXM5Ym9Pemx3eHI5TFU0VGdpQm5weVlyUUNFdwotQWRPQTlkaFl6OTFkK2NoSlpqS282MzVZOWJ5TjlydXRyMy9FZnFaTHhXTDczazF5NUxOQVlMK2p5QWFiMEpzdwotbDJ4RzZQTmo1ckl0a2dPM2o1MHFBN3M9Ci0tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEtbm9zcGFjZS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEtbm9zcGFjZS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjM2NiOTAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLW5vc3BhY2UuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUGpDQ0FpYWdBd0lCQWdJQkh6QU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVIQnZiR0Z5YzNOc0xtVjRZVzF3YkdVd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3BBaDg5UUdyVlZWT0wvVGJ1Z21VdUZXRmVpYis0Ci02RVdRMis2SUZsTFQ4VU5RUjVZU1dXU0hhLzByNEViNWM3N2R6NUxoa1Z2dFpxQnZpU2w1UllEUWcyclZRVU4zCi1Yemw4Q1FSSGdyQlhPWER0byt3VkdSNm9Nd2hId1FWQ3FmMU13N1RmM1FZZlRSQlJRR2R6RXc5QStHMkJKVjhLCi1zVlBHTUg0Vk9hejVXdTUva3A2bUJWdm5FNWVGdFNPUzJkUWtCdFVKSllsMUI5Mm1HbzgvQ1JtK3JXVXNaT3VWCi1tOXorUVY0WHB0cHNXMm5NQXJvVUxCWWtuRXJjemREM1VtZHo4UzJnSS8xKzlESEtMWERLaVFzRTJ5Nm1UM0J1Ci1uczY5V0luaVUxbWVibHFTWmVLSVB3eVVHYVBkNWVpZGxSUHRLZHVyY0JMY1dzcHJGNnRTZ2xTeEFnTUJBQUdqCi1UVEJMTUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZCOTAxajhwd1hSMFJUc0ZFaXc5cUwxRFdRS21NQjhHCi1BMVVkSXdRWU1CYUFGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCi1BUUM4ZlgzWmlIdTZHb1lCQjVWbzFsNkNYWERoSEI2cjQzUHArQkhvT0NvdWlpeTR1c2VpUEx1NVM4NGdtTm9DCi12OFpSK2I5bEFheXNDTUhBYnRoOXZndFcrYVhja0JZNnhLbzhDc21HWGNxWnF1akQ2cXJEaWY1cTZVcFhhNE9lCi1mcjZJVGtlY1k0WjlvTi9hTjVlbDV6elVkNXprb3lRREk1Qm4xZ01kdlY3QXdNN0hhcSs1Z1RGd003SEpucGh6Ci1HWjhHTHhXVTFkV2VBZnNHbTU4ZXk2SjI4T2pJa21mUDN5TC9rQktNaGlRWnlkYkg5WThZYWw3WXdoYXlYeEVTCi1pN1l3aE5tUGNHQWdEQm01U25vN0J2SGlJcXNOWDFzc3NDM2FaVWFadmxkSkdZKzRZOWZGWkhlbkJ3VFJFai9TCi1DbkVnYXpDMlJKM2tZZzNtUC9RaEUwVVMKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS12MS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEtdjEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2E5MDA3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS12MS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURIVENDQWdVQ0RGT2l0c2NFelUyT3ZJQUx3VEFOQmdrcWhraUc5dzBCQVFzRkFEQlFNUnd3R2dZRFZRUUQKLURCTlFiMnhoY2xOVFRDQlVaWE4wSUVOQklIWXhNUkF3RGdZRFZRUUxEQWQwWlhOMGFXNW5NUkV3RHdZRFZRUUsKLURBaFFiMnhoY2xOVFRERUxNQWtHQTFVRUJoTUNUa3d3SGhjTk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXcKLU1UUTBOREEyV2pCT01Sb3dHQVlEVlFRRERCRnpaWEoyWlhJeEwybHVkQzFqWVMxMk1URVFNQTRHQTFVRUN3d0gKLWRHVnpkR2x1WnpFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEN6QUpCZ05WQkFZVEFrNU1NSUlCSWpBTkJna3EKLWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tL3VPaEYKLWtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRGQxODUKLWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZkNyRlQKLXhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcmxadmMKLS9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5d2JwN08KLXZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQk1BMEcKLUNTcUdTSWIzRFFFQkN3VUFBNElCQVFCcmRZQUV6ZEg2cnl5WWFvbFl2cDhGdnEwd1p4cDZCZGN4dmkwTFVHbWIKLVRkV2NOclBVOUlZQVNjNVFTclNXUGowYzl2aExWYkRaQU9OZm45MnRoaTdDMnpRWG9rMlEzalcwMzh5Y05TWE4KLWxWeEZrZFk0R1lhM0U2T2cxTFZJeVN5emZ5eU51SEtLV2JCNXdaQ1diek9ndTJRMU1IU052UGhLamJEaHlHdFQKLU1xM1F5NlR5elVGYlhNUkJpeGNKQy9DeTR6c3F2V0JhblZ0Qm13bHZnRTRRNTBDVWd5YnpTRUlMNWorYVBMdVcKLWFqOGoyTlJCMis3dlBlb1dkOHJ5NVl4RUtCM0RSdVhISHl5Rm5UNU84TXBXdUNsNzY0cUZNYzhTL2k3eVZjbVoKLWVnWlF3MGRDbUU1SjRFR1gwQkVRRU0yNGxsMmU4U3hMMzUxaGJDUStFZnZGCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuODBzZXJpYWwuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLjgwc2VyaWFsLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NlODU3MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuODBzZXJpYWwuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUkRDQ0FpeWdBd0lCQWdJR0FJQVJJak5FTUEwR0NTcUdTSWIzRFFFQkJRVUFNRHN4Q3pBSkJnTlZCQVlUCi1BazVNTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFWk1CY0dBMVVFQXd3UVVHOXNZWEpUVTB3Z1ZHVnpkQ0JECi1RVEFlRncweE9UQXlNVEF4TkRRME1EWmFGdzB5T1RBeU1UQXhORFEwTURaYU1Ed3hDekFKQmdOVkJBWVRBazVNCi1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVhTUJnR0ExVUVBd3dSVUc5c1lYSlRVMHdnVTJWeWRtVnlJREV3Ci1nZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDcEFoODlRR3JWVlZPTC9UYnVnbVV1Ci1GV0ZlaWIrNDZFV1EyKzZJRmxMVDhVTlFSNVlTV1dTSGEvMHI0RWI1Yzc3ZHo1TGhrVnZ0WnFCdmlTbDVSWURRCi1nMnJWUVVOM1h6bDhDUVJIZ3JCWE9YRHRvK3dWR1I2b013aEh3UVZDcWYxTXc3VGYzUVlmVFJCUlFHZHpFdzlBCi0rRzJCSlY4S3NWUEdNSDRWT2F6NVd1NS9rcDZtQlZ2bkU1ZUZ0U09TMmRRa0J0VUpKWWwxQjkybUdvOC9DUm0rCi1yV1VzWk91Vm05eitRVjRYcHRwc1cybk1Bcm9VTEJZa25FcmN6ZEQzVW1kejhTMmdJLzErOURIS0xYREtpUXNFCi0yeTZtVDNCdW5zNjlXSW5pVTFtZWJscVNaZUtJUHd5VUdhUGQ1ZWlkbFJQdEtkdXJjQkxjV3NwckY2dFNnbFN4Ci1BZ01CQUFHalRUQkxNQWtHQTFVZEV3UUNNQUF3SFFZRFZSME9CQllFRkI5MDFqOHB3WFIwUlRzRkVpdzlxTDFECi1XUUttTUI4R0ExVWRJd1FZTUJhQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NQTBHQ1NxR1NJYjNEUUVCCi1CUVVBQTRJQkFRQkpLZVRVQ2N0Yi93Q3hCdGUyQUlpYVRmQVR6dWtUVnRHaEtrZHkzY1k2VTJEVlNYYytzK2pyCi1LdXQ4QVluanAxVDZiaG85OFJIYmJrK2h1KzBnQldMMnlzSmQxK3NsTEJVRW90VU1Ua3pnQTFZZEJYeTlKL2VNCi1ISjJhMHlkRmxsL20yclh4N1JSSldTYmNnUFp4UUxEZm9sbG5OVmZoY2I3NU8zR3NUM1lmRUlzakxtb243TkhyCi1ySm1UcDc3M3RyZzBjTko2ajVkS01BLzJTUUg1UEwxY21jRmdOZlZaK2V0TlJJaHdwSVFZeVNXSi80NjhNY2c1Ci1aS1BZNm51YklJaitIUEIzTWh5OGQ5VTNnQUp2YzlpRWR6YktqcmtKZFZST09Oc3lNWWdlNHZuYmp5S1VyNy9tCi1aTjFPNnBaeTlGdmdiZGh2eDRaSHBmZ0VzYTFxZkxDSAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmFsbFN1YmplY3RBbHROYW1lcy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuYWxsU3ViamVjdEFsdE5hbWVzLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNhZjg3My4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuYWxsU3ViamVjdEFsdE5hbWVzLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRHpUQ0NBcldnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzRIYU1JSFhNQWtHQTFVZEV3UUNNQUF3SFFZRFZSME9CQllFRkI5MDFqOHB3WFIwUlRzRkVpdzlxTDFEV1FLbQotTUI4R0ExVWRJd1FZTUJhQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NSUdKQmdOVkhSRUVnWUV3ZjRFUQotYldGcGJFQmxlR0Z0Y0d4bExtTnZiWUlMWlhoaGJYQnNaUzVqYjIya1FEQStNUXN3Q1FZRFZRUUdFd0pWU3pFUgotTUE4R0ExVUVDZ3dJVFdKbFpDQlVURk14SERBYUJnTlZCQU1NRTFOMVltcGxZM1JCYkhST1lXMWxJSFJsYzNTSAotQkFFQ0F3U0dGbWgwZEhBNkx5OXdhMmt1WlhoaGJYQnNaUzVqYjIwd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQgotQUdQRkI4WUdwZTZQUm5pUGtZVmxwQ2Y1V3dsZVlDcGNQNEFFdkZIajVkRDFVY0JjcUtqcHBKUkdzc2crUzBmUAotbk53WVJqYVZqS3VoV1NHSU1yazBuWnFzaWV4bmtDbWEwUzhrZEZ2SHRDZmJSOWM5cFFTbjQ0b2xWTWJIeC90OAotZHp2N1o0OEhxc3F2RzBobjNBd0RsWitLcm5UWkZ6enBXemZMa2JQZFprby9vSG9GbXFFZWtFdXlPSzl2TzNmagotZU5tNVN6WXRxT2lndzhUeGtUYjErUWk5Q2o2NlZFd1ZFU1cxeS9UTDkwNzNLeDBsQm9ZOHdqMVB2ZmRocGxyZwotSXdZSXdycjBITSs3bmxZRWhFSSsrTkFiWmhqUW9TMmtGNWk3eHBvbVVrWUg5ZVBicndXWUJjdU4wMHBsalhFbQotaW9ZMEtLbHgwMGZSZWhQSC82VEJIWkk9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuYXNjaWljaGFycy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuYXNjaWljaGFycy5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyNGU0NmUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmFzY2lpY2hhcnMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUURDQ0FpaWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakE5TVFzd0NRWURWUVFHRXdKT1RERVNNQkFHCi1BMVVFQ2d3SjVwNkI1Wnl3VTFOTU1Sb3dHQVlEVlFRRERCRlFiMnhoY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3Ci1EUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2tDSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKCi12N2pvUlpEYjdvZ1dVdFB4UTFCSGxoSlpaSWRyL1N2Z1J2bHp2dDNQa3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCCi1RM2RmT1h3SkJFZUNzRmM1Y08yajdCVVpIcWd6Q0VmQkJVS3AvVXpEdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsCi1Yd3F4VThZd2ZoVTVyUGxhN24rU25xWUZXK2NUbDRXMUk1TFoxQ1FHMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrCi02NVdiM1A1QlhoZW0ybXhiYWN3Q3VoUXNGaVNjU3R6TjBQZFNaM1B4TGFBai9YNzBNY290Y01xSkN3VGJMcVpQCi1jRzZlenIxWWllSlRXWjV1V3BKbDRvZy9ESlFabzkzbDZKMlZFKzBwMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBCi1BYU5OTUVzd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVIM1RXUHluQmRIUkZPd1VTTEQyb3ZVTlpBcVl3Ci1Id1lEVlIwakJCZ3dGb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RRWUpLb1pJaHZjTkFRRUZCUUFECi1nZ0VCQUhxSkxZbWdrUTZ5cW1sM1BaTTZpd2JtbytsWkx5REVQRnBsL3RoSFptNUxJOFRUWU9lVSt3TUFaNktJCi1WdW15alp4eXBtTEYyTWlpSjJmM3pRb29VN0gxd2FBY1Rwc2FmVHVENlJSWWR0aFlZeHMxTDlnQ20xWlQyR2E4Ci1mZ24zd3J1Z1BMVXJ0U00vVGtUajZGNFhrU2xsdXpacEVLc1NZTFNveWRlK3VRZ2RidFIrM1RjKzNvVTh4Qk1NCi1ONnVxNFZRQzQ5YXZJUWtJKzU5OEUzdktyakdHdDNsMmExVHMxcXZYV2pvOW1wSlc1R000ZTF6Zm9nS25jOFhRCi1LMWhZUTM5d0w0Mmw5SGlqd3JlODVPMFBTQmZiTk92MUJQU0RtOGRhczNWTnpHc1VJejhJbmtBS0FLQ0t3eEc2Ci1CQ3czRC9DRThzNkRDbnBiK2VLMXNWSndaNEU9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2EuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmNhLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ2OTFkNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2EuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUlRDQ0FpMmdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakE4TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdqQVlCZ05WQkFNTUVWQnZiR0Z5VTFOTUlGTmxjblpsY2lBeE1JSUJJakFOCi1CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxUUlmUFVCcTFWVlRpLzAyN29KbExoVmhYb20vCi11T2hGa052dWlCWlMwL0ZEVUVlV0VsbGtoMnY5SytCRytYTyszYytTNFpGYjdXYWdiNGtwZVVXQTBJTnExVUZECi1kMTg1ZkFrRVI0S3dWemx3N2FQc0ZSa2VxRE1JUjhFRlFxbjlUTU8wMzkwR0gwMFFVVUJuY3hNUFFQaHRnU1ZmCi1DckZUeGpCK0ZUbXMrVnJ1ZjVLZXBnVmI1eE9YaGJVamt0blVKQWJWQ1NXSmRRZmRwaHFQUHdrWnZxMWxMR1RyCi1sWnZjL2tGZUY2YmFiRnRwekFLNkZDd1dKSnhLM00zUTkxSm5jL0V0b0NQOWZ2UXh5aTF3eW9rTEJOc3Vwazl3Ci1icDdPdlZpSjRsTlpubTVha21YaWlEOE1sQm1qM2VYb25aVVQ3U25icTNBUzNGcktheGVyVW9KVXNRSURBUUFCCi1vMU13VVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5Ci1RMWtDcGpBZkJnTlZIU01FR0RBV2dCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvekFOQmdrcWhraUc5dzBCCi1BUVVGQUFPQ0FRRUFndDBGazZjTE1qc1pVa1Zwa3BUdzZFSnVLQTQ4SDhpZVVTVER6WW9hRFdKUXNGWTM0T0ljCi0wVXBmTXdsMWpsMHFFY1Zib09kY0pIdWcwRVhzZm02WFVsU0prUG5tY2R0L040Z1UzL1RWa2RRd3FidnJ3amFlCi1TK0piMUU3ZlRBaWF1TWk2KytzdlYvc2ZLcUUzT0NUSldGKzZEMExkZ254RVZaTTZEdm5GVTlKdncrQ1BUSXg2Ci0rU1laTG01c09UTDBzV01JeHdBRWp3R0ozVDFtMHNqUGpubmw0Sm4vWHREOFV1UlJZQi9SUzZlMlRsS292d1dQCi1HM2VVZEVzMlFKNWxubkQrZDdBVVlxOW5BWW5iNDJNMVpkQXhSUXh4dTJ3d2VpVHBVdWJ2VDRXNndrRzh2ZWl4Ci1VTTQ1RUtzeFBpbm5LMHJLOWJ6clBEd3BudElIaEVVY1NRPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jYS5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2EuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNWZmMDU5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jYS5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2Ffbm9hdXRoaWQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmNhX25vYXV0aGlkLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTY2OTU2ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2Ffbm9hdXRoaWQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlESkRDQ0FneWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakE4TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdqQVlCZ05WQkFNTUVWQnZiR0Z5VTFOTUlGTmxjblpsY2lBeE1JSUJJakFOCi1CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxUUlmUFVCcTFWVlRpLzAyN29KbExoVmhYb20vCi11T2hGa052dWlCWlMwL0ZEVUVlV0VsbGtoMnY5SytCRytYTyszYytTNFpGYjdXYWdiNGtwZVVXQTBJTnExVUZECi1kMTg1ZkFrRVI0S3dWemx3N2FQc0ZSa2VxRE1JUjhFRlFxbjlUTU8wMzkwR0gwMFFVVUJuY3hNUFFQaHRnU1ZmCi1DckZUeGpCK0ZUbXMrVnJ1ZjVLZXBnVmI1eE9YaGJVamt0blVKQWJWQ1NXSmRRZmRwaHFQUHdrWnZxMWxMR1RyCi1sWnZjL2tGZUY2YmFiRnRwekFLNkZDd1dKSnhLM00zUTkxSm5jL0V0b0NQOWZ2UXh5aTF3eW9rTEJOc3Vwazl3Ci1icDdPdlZpSjRsTlpubTVha21YaWlEOE1sQm1qM2VYb25aVVQ3U25icTNBUzNGcktheGVyVW9KVXNRSURBUUFCCi1vekl3TURBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5Ci1RMWtDcGpBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQU1ibFBDc2pqNlJKOHNPbTU0c2RsU0pPVEdXRW8vMUxGCi1xMWJKbktFM0ZYRGVVOHBiaEVocGZzZDJ6Y0tkSnh6cDdCZzhNcy94S0J1T1pobi80Qy9uMkZ3WnBFZUFzUzdKCi10WmlmS3ArR1hWczB4YmNqaTlhQjhuaVdYU2wvQ29JQ3B2SHBNQXo4azJIVDRMRHZiQzJFbFhrcUxUN243azFCCi0vT0RJM0JNRTM0TnF1eUJURGV6UWI0R3o3Yng0Mk9LTHJ4WmtLck8zVUYzVFFUWUJadmxIN0lPN1N2WmhRUEdrCi1iOGEyaktZZmVRQ0NJdmN5d1dRN3F6bGd6VGduWEowUnJMeUNxT3FMRnM2enRIUGdjbEhhK1hZRjV5ZnRTS0lTCi16VEpMVDBJV0J0d2dCMm9wdjdZU3g3dEtZaGordUhIWTdDM2lTWHpBZ1B5NVRZa2lzc0dYYnc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmNlcnRfdHlwZS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2VydF90eXBlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRmZTRmNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2VydF90eXBlLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFVqQ0NBanFnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzJBd1hqQUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDcGpBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QVJCZ2xnaGtnQmh2aENBUUVFQkFNQwotQmtBd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFFbEpQYUNHNmFGSG95bW9Dcnpja1BmakVOeGdYVzJjemg1dAotVHNNUHNoa3pYNXAyQVU4OUdCR2R5MGdRd29QdU10Y3puc0RlNGFkTTZOYThmMzBZRGZmQVRzZ0RFQ01JV3RWMQotWFZZS1FJd0ZtWnpFdDRCKzVzVW15TU9MdFR1dVpCVGhPTFB3T3c4ZTRSbklMS09ZUEhuUU5SZjZFYXA0bEZEeAotbHAycEFhaVhNRFdIODhnbVdvVTVYckdUcHBsbFlWMElvcnpKNHhWOVNnM2l0dE53Tk80MGVoVlFEQXNlRndaSAotaXloOWlIejRCcXRXakVsbVEzaEw4Ti9DYnFwM2lOMTVoMnBVZ0lqOEpJdDlyQ3NJWnJzRzNLNDJpU2xQekVuMgotREN6V1FTajljUU5DUlZKbndnSkFXbkMxSHgwWVlGUU1nUXF1VnhuSzE1VEhUR1FBZUI4PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmNlcnRfdHlwZS5jcnQub3BlbnNzbC52M19leHQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2VydF90eXBlLmNydC5vcGVuc3NsLnYzX2V4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQyMjVmZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY2VydF90eXBlLmNydC5vcGVuc3NsLnYzX2V4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotW3YzX2V4dF0KLWJhc2ljQ29uc3RyYWludHMgPSBDQTpmYWxzZQotc3ViamVjdEtleUlkZW50aWZpZXI9aGFzaAotYXV0aG9yaXR5S2V5SWRlbnRpZmllcj1rZXlpZAotbnNDZXJ0VHlwZT1zZXJ2ZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jZXJ0X3R5cGVfbm9hdXRoaWQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmNlcnRfdHlwZV9ub2F1dGhpZC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzYTY2ZWEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmNlcnRfdHlwZV9ub2F1dGhpZC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURNVENDQWhtZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQThNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R2pBWUJnTlZCQU1NRVZCdmJHRnlVMU5NSUZObGNuWmxjaUF4TUlJQklqQU4KLUJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaFhvbS8KLXVPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcTFVRkQKLWQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodGdTVmYKLUNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbExHVHIKLWxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdXBrOXcKLWJwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJREFRQUIKLW96OHdQVEFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5UTFrQ3BqQVIKLUJnbGdoa2dCaHZoQ0FRRUVCQU1DQmtBd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFFUGM5VlNKSzYwK1drQXcKLUdaWDMvQVdKRThoMzFmWisrMlp1N08xVjJkZEk2OFFvaGE0MWJPUlhkaXpmUUZqVEprVi9RSGpiYUNaS3FwdDAKLXJpR0t2UnBYZmwzVkRsZjlmRVpVblFFZklrNjEyQWpMd2tIb05JS2JDaXRyVm9XdStwMlY0a3VLUXBGa3kvc28KLXdyL3NsMjlmV2E0aW5uRlVWZ21RQzUybDRVaUlVMnJDVjBSVHBMb2ZWS1dSWlBseklpK0FsTUZrdnozSnFSUDAKLXJhS3c4REhkR2xyTGcyMlZlbHJZMGRYalVyaVdyU1REaTJRZEIreW4wRmRyUGFwMm5aaUZjdFcxUzAvd09DeSsKLXIwdVZZUStJc2ViSllTVDlkVXVRTmhXU1pPaHNqeE9vK0dwMzZ0eXdRenJqWEZrN0phaThBa0hvQm1aVm14NmIKLWEwL0o3L3c9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY29tbWFzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jb21tYXMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWNkMjU1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jb21tYXMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUnpDQ0FpK2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakJFTVFzd0NRWURWUVFHRXdKT1RERVpNQmNHCi1BMVVFQ2d3UVVHOXNZWEpUVTB3c0lFTnZiVzFoY3pFYU1CZ0dBMVVFQXd3UlVHOXNZWEpUVTB3Z1UyVnlkbVZ5Ci1JREV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3BBaDg5UUdyVlZWT0wvVGJ1Ci1nbVV1RldGZWliKzQ2RVdRMis2SUZsTFQ4VU5RUjVZU1dXU0hhLzByNEViNWM3N2R6NUxoa1Z2dFpxQnZpU2w1Ci1SWURRZzJyVlFVTjNYemw4Q1FSSGdyQlhPWER0byt3VkdSNm9Nd2hId1FWQ3FmMU13N1RmM1FZZlRSQlJRR2R6Ci1FdzlBK0cyQkpWOEtzVlBHTUg0Vk9hejVXdTUva3A2bUJWdm5FNWVGdFNPUzJkUWtCdFVKSllsMUI5Mm1HbzgvCi1DUm0rcldVc1pPdVZtOXorUVY0WHB0cHNXMm5NQXJvVUxCWWtuRXJjemREM1VtZHo4UzJnSS8xKzlESEtMWERLCi1pUXNFMnk2bVQzQnVuczY5V0luaVUxbWVibHFTWmVLSVB3eVVHYVBkNWVpZGxSUHRLZHVyY0JMY1dzcHJGNnRTCi1nbFN4QWdNQkFBR2pUVEJMTUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZCOTAxajhwd1hSMFJUc0ZFaXc5Ci1xTDFEV1FLbU1COEdBMVVkSXdRWU1CYUFGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvTUEwR0NTcUdTSWIzCi1EUUVCQlFVQUE0SUJBUUExRWNnK1ZWSlJtZ0ZGOWNubHp0blhqNHk5UUtqOE1DZjJ1WkEzblROZTFEZWg5bDE3Ci1aTk5XZFBrWHpWemYwSWVSM0xRUktUK2RhVHp4dU9PQ1NWOU94T2NOMGRJT0RCd2E5N0J0TlFmdVd3MmVXQzlJCi0zVU9WWGJ4OEdhK2JYbkQ4b3VhdHB5RUcwRmZoTE81WWdFUDBLOVR5eU4vbkZhOWtrQjJLdnB5OHlXbTN3OVdHCi1XZ3NPcjJmcElFeGZDMlpGYWl1M05WR1RwVDlmTHY4UlRhdFNDMVhMQTVTcjhOTkhpYTN6Q3ZFSkVBbFR1RkhzCi13bThhcElBSGxiNDRiYmdXKzdVd0JJSDlyMkEyMWdRRnkzdjRjVEx0bGJuYVVCYkhVSnZhcks0cnU3MEorZ2V3Ci1PTzNOWjFvY3ZuVitxR0ljYzdMZ3lOQThwWlc1SmJld2IvZ04KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNThkYTVlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURQekNDQWllZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQThNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R2pBWUJnTlZCQU1NRVZCdmJHRnlVMU5NSUZObGNuWmxjaUF4TUlJQklqQU4KLUJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaFhvbS8KLXVPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcTFVRkQKLWQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodGdTVmYKLUNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbExHVHIKLWxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdXBrOXcKLWJwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJREFRQUIKLW8wMHdTekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5UTFrQ3BqQWYKLUJnTlZIU01FR0RBV2dCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvekFOQmdrcWhraUc5dzBCQVFVRkFBT0MKLUFRRUFmMms1T2lPUnA2MGdCTnFpb0MybUlxU1hBMENVL3F6bGx0OEl2bGNNdjFWMFBBUDlmNElFbTVtZGtFUnIKLVVYam5CMVRyM2VkcnN2WExnWjl2RW9zYkZwTk1zS2ZzbUJrcGpnV0cydWk4cGRuOGNKaXdzNGs0aDVmdXVlU3cKLVBzMUZMSzVUZnBpK0dKeVBxazRoYTlPanAycDlvcHVBMGFJZkx1eEkrMFV6WEg0d2dyRVcvWXlkb3d2OTU5Z2YKLWdHU2w3NjZDUmRVdkpiWE9lVnJ5RmpGVFJmTEZGTmZUdnJmdFprMWRsOHRhczFuaW04eGZXZXQrQlpWdnEyelkKLUM3TGVDSTlucmZ1QXhmTUpUcldGcDE3eTcyK2hDRGs3TkVhQjJaTFZ1QU0vcmk3TFdycjJWMmhMRmRJQWhmQzIKLW5VYXVsUlJwR3QvWlRJU3c2dVNJdW1Ob05BPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQub3BlbnNzbC52M19leHQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0Lm9wZW5zc2wudjNfZXh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzlkNTZhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQub3BlbnNzbC52M19leHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVt2M19leHRdCi1iYXNpY0NvbnN0cmFpbnRzID0gQ0E6ZmFsc2UKLXN1YmplY3RLZXlJZGVudGlmaWVyPWhhc2gKLWF1dGhvcml0eUtleUlkZW50aWZpZXI9a2V5aWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jc3IgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuY3NyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDRjNGE1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5jc3IKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dUQ0NBV2tDQVFBd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9UQ0ZCdmJHRnlVMU5NTVJvdwotR0FZRFZRUURFeEZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUAotQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiN29nV1V0UHhRMUJIbGhKWgotWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKQkVlQ3NGYzVjTzJqN0JVWgotSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3ZmhVNXJQbGE3bitTbnFZRgotVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCWGhlbTJteGJhY3dDdWhRcwotRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZaWVKVFdaNXVXcEpsNG9nLwotREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFhQUFNQTBHQ1NxR1NJYjNEUUVCQ3dVQQotQTRJQkFRQlkvMW5uWVEzVGhWeWVaYjFaMndMWW9IWjVyZmVKQ2VkeVA3Ti9nakpaamhyTWJ3aW9VZnQydUhwYgotK09aUWZ4UlhKVGJ0ai8xd3BSTUNvVU1MV3phcFM3L3hHeDNJam9QdGw0MmFNNE0reFZZdmJMakV4TDEza1VBcgotZUU0SldjTUliVEVQb2wyelNkWC9MdUIrbTI3akVwNVZzdk0ydHk5cU93L1Q0aUt3akZTZTZwY1laMnNwa3MxOQotM2x0Z2puYWFtd3FLY045elVBM0lFUlRzV2pyNWV4S1lnZlhtMk9lZXVTUDB0SHI3RGgrdy8yWEE5ZEdjTGhybQotVEE0UDhRaklnU0RseXptaFlZbXNyaW9GUHVDZmRpMXV6czhieG1iTFhiaUNHWjhURE15NW9McUxvMUsrajJwRgotb3grQVRIS3hRL1hwUlFQKzJPVGI5c3cxa001OQotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmNmNDVjZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmhhc2hzeW1ib2wuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmhhc2hzeW1ib2wuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGI3MzAwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5oYXNoc3ltYm9sLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFEQ0NBaWlnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOU1Rc3dDUVlEVlFRR0V3Sk9UREVTTUJBRwotQTFVRUNnd0pJMUJ2YkdGeVUxTk1NUm93R0FZRFZRUUREQkZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJdwotRFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2Sgotdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQgotUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbAotWHdxeFU4WXdmaFU1clBsYTduK1NucVlGVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4awotNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUAotY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQQotQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVSDNUV1B5bkJkSFJGT3dVU0xEMm92VU5aQXFZdwotSHdZRFZSMGpCQmd3Rm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEUVlKS29aSWh2Y05BUUVGQlFBRAotZ2dFQkFKY0tjdi9Ycm82MVN4bTBHSDQycFl1N0F2dEQyYjhueW52QThCVzlnQ0htaUlIdkhRV05POU5UTXVubwotMStIZHpRVkYxSnhIQy9BL2h2WHNjenhHRWMzalZuVmVnMWZ3aThtWi9GeTFYdEFWQ1RBMHlKdTdKVGFhWWJnKwotSVUyeTdOdTM2RlNPenRMcE9mSEdtd1ZEb0oxK3dDekcvaWQ2NGhYd0pSckh2VWZHSzRFdklzVjk3c3doazJEbwotelNBZkRBOU4rUU5WNHplaUY5bUxNT3BVaENVQnE4cjQxRURxbTlsTTB3U2QzSE5lbjhqd08yMEY0RjFiMWRZbQotTCtiTWFydlVnSHE5MWYxMjhtMmZGM3NXTm56NFJHb2FnU0kvYU9VL0FQNktzcThTVXJ1R0hwcXJWV0xDbEE2bgotRXl5VFBsTlR3WUlSQ3lkWnQ3emxzdzEvNGg0PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyODFhNWYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUVvZ0lCQUFLQ0FRRUFxUUlmUFVCcTFWVlRpLzAyN29KbExoVmhYb20vdU9oRmtOdnVpQlpTMC9GRFVFZVcKLUVsbGtoMnY5SytCRytYTyszYytTNFpGYjdXYWdiNGtwZVVXQTBJTnExVUZEZDE4NWZBa0VSNEt3VnpsdzdhUHMKLUZSa2VxRE1JUjhFRlFxbjlUTU8wMzkwR0gwMFFVVUJuY3hNUFFQaHRnU1ZmQ3JGVHhqQitGVG1zK1ZydWY1S2UKLXBnVmI1eE9YaGJVamt0blVKQWJWQ1NXSmRRZmRwaHFQUHdrWnZxMWxMR1RybFp2Yy9rRmVGNmJhYkZ0cHpBSzYKLUZDd1dKSnhLM00zUTkxSm5jL0V0b0NQOWZ2UXh5aTF3eW9rTEJOc3Vwazl3YnA3T3ZWaUo0bE5abm01YWttWGkKLWlEOE1sQm1qM2VYb25aVVQ3U25icTNBUzNGcktheGVyVW9KVXNRSURBUUFCQW9JQkFCYUo5ZWlSUXE0WXB2K3cKLVVUY1ZwTEMwb1R1ZVd6Y3BvcjFpMXpqRzRWenFlL09rMkZxeUdUb0dLTWxGSzdId3dhK0xFeWVKM3h5VjV5ZDQKLXYxTXc5YkRaRmRKQzFlQ0Jqb1VBSHRYNms5SE9FMFZkNndvVlE0Vmk2T1BJMWc3QjVNbnIvNThyTnJuTjZUTXMKLXg1OE5GNmV1ZWN3VFU4MTFRSnJadExiWDdqMkNyMjh5QjJWczhxeVlsSHdWdzVqYkRPdjQzRDd2VTVnbWxJRE4KLTBKUVJ1V0FuT3VQelpOb0pyNFNmSktxSE5HeFlZWTZwSFoxczBkT1RMSURiL0I4S1FXYXBBMmtSbVp5aWQyRUgKLW53emdMYkFzSEpDZitiUW5oWGpYdXh0VXNyY0lMOG5vWkxhemxPTXh3TkVhbW1nbFZXVzIzVWQvUVJuRmdKZzUKLVVnY0FjUkVDZ1lFQTE5dVlldGh0NXFtd2RKKzEyb0M2emVPK3ZYTGN5RDlnb24yM1Q1SjZ3MllUaGxkNy9PVzAKLW9BclFKR2drQWRhcTBwY1R5T0lqdFRRVk1GeWdkVm1DRUpteGgvM1J1dFBjVGV5ZHFXOWZwaEtETWVqMzJKOGUKLUduaUdtTkdpY2xiY2ZOT1M4RTVUR3A0NDV5WmI5UDErN0FIbmcxNmJHZzNZa2o1RUE0RytIQ2NDZ1lFQXlIQWwKLS8vZWtrOFlqUUVsbSs4aXpMdEZreW1JSzBhQ3RFZTlDL1JJUmhGWUJlRmFvdEM1ZFN0TmhCT25jbjRvdk1BUEQKLWxYLzkyeURpOU9QOFBQTE4zYTRCOVhwVzNrL1NTNUdyYlQ1Y3dPaXZCSE5sbFpTbXUvMnF6NVdQR2NqVkNPckIKLUxZbDNZV3IyaDNFR0tJQ1QwM2tFb1RraURCdkNlT3BXN2NDR2wyY0NnWUJENXdob1hIejErcHRQbEk0WVZqWnQKLVhoODZhVSthanBWUGlFeUo4NEk2eFhtTzRTWlh2OHE2TGF5Y1IwWk1iY0wrekJlbE1iNFoybkJ2N2pOcnR1UjcKLVpGMjhjZFB2K1lWcjNlc2F5YlpFLzczVmpYdXA0U1FQSDZyM2w3cUtUVmkreTYrRmVKNGIyWG44L013Z25UMjMKLThFRnJ5ZTd3bXpwdGhyak9nWm5VTVFLQmdFOUxoc3ovNUowTmlzNlkrMlBxbjNDTEtFdWtnOUV3dHFkY3QyeTAKLTVEY3RhMEYzVHlDUkl4bENES1RML0JzbHFNdGZBZFk0SDI2OFVPMCs4SUFRTW45Ym9xekJySElncy9wdmM1a3gKLVRiS0htdzJ3dFdSNnZZZXJzQktWZ1ZwYkNHU1Jzc0RZSEdGdTFuNzRxTTRISi9SR2NSMXpJOVFVZTFnb3BTRkQKLXhEdExBb0dBVkFkV3ZycUR3Z29MMmhIVzNzY0dweGRFL3lnSkRPd0huZisxQjlnb0tBT1A1bGYyRkphaUF4ZjMKLWVjdG9QT2daYkNtbS9paURtaWd1NzAzbGQzTytWb0NMREQ0cXgzUitLeUFMTDc4Z3RWSll6U1JpS2h6Z0NaM2cKLW1Lc0lWUkJxNElmd2l3eU1ORzJCWVpRQXdiU0RqalB0bi9rUEJkdVB6UGo3ZXJpQnloST0KLS0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODI4OGQxLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV9leHRfdXNhZ2UuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV9leHRfdXNhZ2UuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYmUyYzM1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5rZXlfZXh0X3VzYWdlLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFZ6Q0NBaitnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRFd01qRXlNVFEwTkRBMldoY05NakV3TWpFeU1UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzJVd1l6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDcGpBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QVdCZ05WSFNVQkFmOEVEREFLQmdncgotQmdFRkJRY0RBVEFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBZWd0Q040RU9iRTY5UmpXMWhLVUVRL0lucklzZgotcG9LSWdKQ2gzc2NrK0ZZS2pjc01oUlBCenRuWmFxanZrTG5tQ2NxMFl2N3VVRFRoSHNOdXUrTmJlVnI0ZmxaTAotZ1VvU1NkSFhZcko4cURZZXo2b0dveHR0b1ozM3NxRDNMUWZ6V1poRG9UeWpHVUhUaVdhQTZLaWRDc1d6a2hLWQotYU5YRjdPOGRITzdrMDZJMlVXdDdTS2JCbTFkUGo4T000Mjg1a2tRN0tDcEcyN0FCdEhlUGtwOWFHNjZPL2t0RAotR2JaczBBYVlwZVZuQjl2MXZTcDZ4SW5EQ1d5ZERGYm1FRTBtekFRcjI4NVVVMDdRRXBuVTFXLzJxWkhmTHhuUQotR2lEcFI1cHhvS1hrc2tqMlZ1SFBaUHFiSWt2OXYyK2JqZXlYSERSU0w3UmowODd4aEQ1dVhLYjlmdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X2V4dF91c2FnZXMuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV9leHRfdXNhZ2VzLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGMzZDk2My4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X2V4dF91c2FnZXMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEWVRDQ0FrbWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVEV3TWpFeU1UUTBOREEyV2hjTk1qRXdNakV5TVRRME5EQTJXakE4TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdqQVlCZ05WQkFNTUVWQnZiR0Z5VTFOTUlGTmxjblpsY2lBeE1JSUJJakFOCi1CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxUUlmUFVCcTFWVlRpLzAyN29KbExoVmhYb20vCi11T2hGa052dWlCWlMwL0ZEVUVlV0VsbGtoMnY5SytCRytYTyszYytTNFpGYjdXYWdiNGtwZVVXQTBJTnExVUZECi1kMTg1ZkFrRVI0S3dWemx3N2FQc0ZSa2VxRE1JUjhFRlFxbjlUTU8wMzkwR0gwMFFVVUJuY3hNUFFQaHRnU1ZmCi1DckZUeGpCK0ZUbXMrVnJ1ZjVLZXBnVmI1eE9YaGJVamt0blVKQWJWQ1NXSmRRZmRwaHFQUHdrWnZxMWxMR1RyCi1sWnZjL2tGZUY2YmFiRnRwekFLNkZDd1dKSnhLM00zUTkxSm5jL0V0b0NQOWZ2UXh5aTF3eW9rTEJOc3Vwazl3Ci1icDdPdlZpSjRsTlpubTVha21YaWlEOE1sQm1qM2VYb25aVVQ3U25icTNBUzNGcktheGVyVW9KVXNRSURBUUFCCi1vMjh3YlRBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCUWZkTlkvS2NGMGRFVTdCUklzUGFpOVExa0NwakFmCi1CZ05WSFNNRUdEQVdnQlMwV3VTbHM5N1NVdmE1MWFhVkQrcyt2TWY5L3pBZ0JnTlZIU1VCQWY4RUZqQVVCZ2dyCi1CZ0VGQlFjREF3WUlLd1lCQlFVSEF3Z3dEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBRElUOU0xMHZUNXl6TVNSCi1HYWFJbVhqeVRSSUJLNjgzVnhucTVqcUFKNzVLek5VQzUyYWlDT2ZkOS9oQU1rcTNQaityNnRJc0granNsNVBMCi1FNGl2OEdWRGxiakE1N2ljVEQzMFhib2xMNFlQVXZaWWNseFZvcGZSaFRpRGE1S0oxbFlrVXdXQUUvR2xqNjZRCi1XTzdIaWhsK0dZWGFwMmU3ZEJaN2hHSGR2NkoxZ1JmQTFPVzZpQjIzV2w0eGIwWTFDR2MxNnlKWnd1RmJ0YndNCi13OHo4YTBYTmQyVVFUWWVzWWxJdlZwVmN4MmF0Z2tiWndlaFBXR05DTEduZ3o2MGZ1bHRqN0pkTHVVSGkrcjB6Ci1EdGpiU1BzSERaREFlcjZaeGphQTRoa2NucHBhY0Z0dEMrZGVEOGJROCsySmpIRjZHYi9NQm5hWUliT1pPQmdDCi04Q1BJQmprPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV91c2FnZS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQ3MGIwMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFR6Q0NBamVnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotbzEwd1d6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDcGpBZgotQmdOVkhTTUVHREFXZ0JTMFd1U2xzOTdTVXZhNTFhYVZEK3Mrdk1mOS96QU9CZ05WSFE4QkFmOEVCQU1DQmVBdwotRFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUhNOGVFU21FOENRdnVDdzIvdzFKU1dLYVU5Y0pJdnJ0cEpYYXZSQwoteU1FdjZTUUwwaHhyTlpCaEZQTTh2QWlxNnpCZGljMkh3dWlaOU4vaUVYdUNmOTJTT2NLNGIvMi9GbG9zMEpJNQotcXV1NGVHa3dvTnJPdmZaVWNPN1NCOEpIVXZtSnRUUCthdkYzUWVSZkhvOWJIUnRueU9zOUdYcXErQ01aaU5nTwotQncrL3RBT21sM3RWMVVmK3lqcDZYcm9XTFJOTWJ2WTFTb3I0VVc2RkZNcE9paS92bEo0NDUwT2xwY0pkUlU3MAotTHBIZnhqbVBOdmM5WU9QV3ZlNzUvK0NORjlsTWkyOVVvRVVZc2x4TVB5bFovTDB2WXhpK3h1dlFCVGFMaVplUAotQ0o1OU1jNjNMRW1KTlNBd25uVjhzMktYTC9Pa20zMmxmNnN5MGZqc3J2QWRvQ2M9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydC5vcGVuc3NsLnYzX2V4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0Lm9wZW5zc2wudjNfZXh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjU1MDI3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0Lm9wZW5zc2wudjNfZXh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1bdjNfZXh0XQotYmFzaWNDb25zdHJhaW50cyA9IENBOmZhbHNlCi1zdWJqZWN0S2V5SWRlbnRpZmllcj1oYXNoCi1hdXRob3JpdHlLZXlJZGVudGlmaWVyPWtleWlkCi1rZXlVc2FnZT1jcml0aWNhbCwgZGlnaXRhbFNpZ25hdHVyZSwgbm9uUmVwdWRpYXRpb24sIGtleUVuY2lwaGVybWVudApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV91c2FnZV9ub2F1dGhpZC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlX25vYXV0aGlkLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJkNWQ4My4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlX25vYXV0aGlkLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRExqQ0NBaGFnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBOE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHakFZQmdOVkJBTU1FVkJ2YkdGeVUxTk1JRk5sY25abGNpQXhNSUlCSWpBTgotQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tLwotdU9oRmtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRAotZDE4NWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZgotQ3JGVHhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcgotbFp2Yy9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5dwotYnA3T3ZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQgotb3p3d09qQUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlFmZE5ZL0tjRjBkRVU3QlJJc1BhaTlRMWtDcGpBTwotQmdOVkhROEJBZjhFQkFNQ0JlQXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBSlZZY0JvTmlYQkxPWTUzc0pjSAotMVgwb1FBL0tNVk9ESlAxK3JyL2U2U3V5Uk9WZ3FVZkZBLzdIbjVldmI5NEZ0eGxiMGQ4dU9scG9IV3R5YVJWdwotSlIzdEtDR2l5aVN6QVM1dFhpaW9PWXQ2ZkxEZzlCMm1wdkZxYTlJU3FzdnpiUjNhTmovOHVNN25pL2FTeGpoZgotTDQwU3ZDSGJBc041TjA4N0s1NXdpcVV2a0pGczJJZmw5SXFDWWpqcTMyV3Vyb2k4bG5QWFNZMUxUUTNEWnFkagoteW9nWCtIV2orUHNkK1U4Qkx5Rm5mdXFLZVEwVTJ4cEppRk1iZEcrSWt6UFlqK0lqTlpvNityY0swTFFrRWNabQotbDRvUWFERWFYaSs3U3FOYmRwQko1SzNaclNOTmR0OHBjMXhodWUyWFhNRkxFcU85NEVSVHdueGlUZzlUR1JaMAotdTJVPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmxvbmdfc2VyaWFsLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5sb25nX3NlcmlhbC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiZDY5NTUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmxvbmdfc2VyaWFsLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFVqQ0NBanFnQXdJQkFnSVVFU0l6UkZWbWQ0aVpxcnZNM2U3L0FCRWlNMFF3RFFZSktvWklodmNOQVFFRgotQlFBd096RUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJrd0Z3WURWUVFEREJCUQotYjJ4aGNsTlRUQ0JVWlhOMElFTkJNQjRYRFRFNU1ESXhNREUwTkRRd05sb1hEVEk1TURJeE1ERTBORFF3TmxvdwotUERFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUm93R0FZRFZRUUREQkZRYjJ4aAotY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtrQwotSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaWklkci9TdmdSdmx6dnQzUAota3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaSHFnekNFZkJCVUtwL1V6RAotdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsWHdxeFU4WXdmaFU1clBsYTduK1NucVlGVytjVGw0VzFJNUxaMUNRRwotMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzRmlTY1N0ek4wUGRTWjNQeAotTGFBai9YNzBNY290Y01xSkN3VGJMcVpQY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvREpRWm85M2w2SjJWRSswcAotMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVSDNUVwotUHluQmRIUkZPd1VTTEQyb3ZVTlpBcVl3SHdZRFZSMGpCQmd3Rm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SAotL2Y4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFDOXF0NEJDOHpLYjVvMDBaVnRUWDBYWUtXY2hIS1lTckhrMgotcit6Zlc4cFJjU2FUR1JUdE1Ha0Y3dm96RnJDWDRQcjR2Q0tYT1lGS1EvVUVwV3Y1V3pXN25CMCtKYTBnNGduYwotOWJMdGc1MW4rSUlHOTNJVEdEbTUrOVlwc1g2SHNYU0JwZlkwdm85VHdLZzNiRzFYMjZXRzhqNm0rVjY4NGh3VgoteXZlUlVJclN2dmdWSk9CU2U1cmhuL3BMbWNwYkkwbmtQQkdscVBkMTBxV2MwUllTclNBYTNicS9kcG9xUjdoWQotQkdiYlYxLzlJZ0ZocjJyNDRSMTdiaHFldkszVmhLNEtPUFJUNVZNWGpUaDFpRzRMMTNsSXhCSXV1K0x3MFBjMAotcytnUVRHbnRBL3Naa2lqQzdtdzAvcTNuc1JES2hISFhURGYyZ2pkVWhNdkZ3WXptS0JJPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmxvbmdfc2VyaWFsX0ZGLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5sb25nX3NlcmlhbF9GRi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwOTRmZDcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLmxvbmdfc2VyaWFsX0ZGLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFR6Q0NBamVnQXdJQkFnSVJBUC8vLy8vLy8vLy8vLy8vLy8vLy8vOHdEUVlKS29aSWh2Y05BUUVGQlFBdwotT3pFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUmt3RndZRFZRUUREQkJRYjJ4aAotY2xOVFRDQlVaWE4wSUVOQk1CNFhEVEU1TURJeE1ERTBORFF3TmxvWERUSTVNREl4TURFME5EUXdObG93UERFTAotTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sb3dHQVlEVlFRRERCRlFiMnhoY2xOVAotVENCVFpYSjJaWElnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2tDSHoxQQotYXRWVlU0djlOdTZDWlM0VllWNkp2N2pvUlpEYjdvZ1dVdFB4UTFCSGxoSlpaSWRyL1N2Z1J2bHp2dDNQa3VHUgotVysxbW9HK0pLWGxGZ05DRGF0VkJRM2RmT1h3SkJFZUNzRmM1Y08yajdCVVpIcWd6Q0VmQkJVS3AvVXpEdE4vZAotQmg5TkVGRkFaM01URDBENGJZRWxYd3F4VThZd2ZoVTVyUGxhN24rU25xWUZXK2NUbDRXMUk1TFoxQ1FHMVFrbAotaVhVSDNhWWFqejhKR2I2dFpTeGs2NVdiM1A1QlhoZW0ybXhiYWN3Q3VoUXNGaVNjU3R6TjBQZFNaM1B4TGFBagotL1g3ME1jb3RjTXFKQ3dUYkxxWlBjRzZlenIxWWllSlRXWjV1V3BKbDRvZy9ESlFabzkzbDZKMlZFKzBwMjZ0dwotRXR4YXltc1hxMUtDVkxFQ0F3RUFBYU5OTUVzd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVIM1RXUHluQgotZEhSRk93VVNMRDJvdlVOWkFxWXdId1lEVlIwakJCZ3dGb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4dwotRFFZSktvWklodmNOQVFFRkJRQURnZ0VCQURZZmhaVTJsV3hCYW10N20zQTRYUWo2Ylo0QlpsYWJ2NUliTEkzMgotbmVqNncvNi9nc1hQSTg1bmZacXBJbjZJWXdBZURSZEpvL2VVcVlrSWRveTVERVArNTBwZ0NHSks1SEFvQldWSgotVEhLZVZKbi92UEgzRHovQ2FDWVFvSFRtU2krQ2hmSWhQaDg0VVVkZlZwdjJxTkluSUk0UnhGbFNBSFVrUk1iVgotQlg2aW1NU0Q1TTUwOEc2dldHVVVjNkcvc3gvczd2dFZlR0dQeU5PUVBnd01UZXM2ME1ld3B1OUxLS2FTd2ZxUQotRGdFYThXenhQclBFeU9VaUlwN0Nsd2xYZTNKRUNISWptNDQ1cW1FTmdmWS84dGxzeUFkWUtTa290Zml1b1VXYgotZGF5bEQ2UVZVWG42N2xvWURQWkFMZ2hwRHhtU20yMVZFN2ZlVFdPVWJPcGUxNFU9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEubm9hdXRoaWQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLm5vYXV0aGlkLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmExOTVlYi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEubm9hdXRoaWQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlESGpDQ0FnYWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakE4TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdqQVlCZ05WQkFNTUVWQnZiR0Z5VTFOTUlGTmxjblpsY2lBeE1JSUJJakFOCi1CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxUUlmUFVCcTFWVlRpLzAyN29KbExoVmhYb20vCi11T2hGa052dWlCWlMwL0ZEVUVlV0VsbGtoMnY5SytCRytYTyszYytTNFpGYjdXYWdiNGtwZVVXQTBJTnExVUZECi1kMTg1ZkFrRVI0S3dWemx3N2FQc0ZSa2VxRE1JUjhFRlFxbjlUTU8wMzkwR0gwMFFVVUJuY3hNUFFQaHRnU1ZmCi1DckZUeGpCK0ZUbXMrVnJ1ZjVLZXBnVmI1eE9YaGJVamt0blVKQWJWQ1NXSmRRZmRwaHFQUHdrWnZxMWxMR1RyCi1sWnZjL2tGZUY2YmFiRnRwekFLNkZDd1dKSnhLM00zUTkxSm5jL0V0b0NQOWZ2UXh5aTF3eW9rTEJOc3Vwazl3Ci1icDdPdlZpSjRsTlpubTVha21YaWlEOE1sQm1qM2VYb25aVVQ3U25icTNBUzNGcktheGVyVW9KVXNRSURBUUFCCi1veXd3S2pBSkJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCUWZkTlkvS2NGMGRFVTdCUklzUGFpOVExa0NwakFOCi1CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUF3RUhQNUl5UEsvRDlDRVhmeVFxRTcyUkhsOHVxTVFDbDZMY0hpdjlDCi1wVG51N2hzYkdnUDBqOEJJZ0J4SGNwaUp6UHVDTE56T3NDc2ZNZmdmRTlIMGM1MGVQcU5YcHlPbDZiTGNRYXc1Ci1USmFwVUZXdHJabUMvblpXWVpPdlEwMS8wUVZLa2dXMmFYblFXVjBFQnFkd1JIdEpzM0Yxd0JwS3YvNGJSMzFwCi1rekRNUCtXT2RJdk16eGg1bzBsU2krK1R4Nmg3bWs2MVBVL3N3MEs1Tnd4RjZYN0FJdmxhMHNiT2NFYTlsSDhXCi1ibmt1aWVZYkxBNmV1TlBoYTFnamx0VDNhRWtQNVpkbkwvVnkvcGFDc1QxN2JzNk1OZmVoOTlkZCtXQnZ5QnpRCi1IeDlYUmdNTFJkMWJadjBzbGk5cTdZejNWK2QrY212M0QvM25SWVZJLyt3VW13PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5wdWJrZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucHVia2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2M2NjljLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5wdWJrZXkKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCi1NSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psCi1MaFZoWG9tL3VPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBCi0wSU5xMVVGRGQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QCi1RUGh0Z1NWZkNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2taCi12cTFsTEdUcmxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMCi1CTnN1cGs5d2JwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVCi1zUUlEQVFBQgotLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucHVia2V5LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5wdWJrZXkuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTQzMmE0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5wdWJrZXkuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5jZXJ0X3R5cGUgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmNlcnRfdHlwZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzlmZjNmZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmNlcnRfdHlwZQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlDcFRDQ0FZMENBUUF3UERFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUm93Ci1HQVlEVlFRRERCRlFiMnhoY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQCi1BRENDQVFvQ2dnRUJBS2tDSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaCi1aSWRyL1N2Z1J2bHp2dDNQa3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaCi1IcWd6Q0VmQkJVS3AvVXpEdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsWHdxeFU4WXdmaFU1clBsYTduK1NucVlGCi1XK2NUbDRXMUk1TFoxQ1FHMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzCi1GaVNjU3R6TjBQZFNaM1B4TGFBai9YNzBNY290Y01xSkN3VGJMcVpQY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvCi1ESlFabzkzbDZKMlZFKzBwMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBQWFBa01DSUdDU3FHU0liM0RRRUpEakVWCi1NQk13RVFZSllJWklBWWI0UWdFQkJBUURBZ1pBTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFCRXJaY0VhRUVPCi1oTGJSVnVCMytONWJ5MG1vZ2RKc2F0SkZTZ1cyL1Z6dEx2UUJZdTBPK1ZtVGJad0NBV2VqQThVK2NyNnVQbHlmCi1iNGxEcWozVytYeWtlSzliU3pvU3IxeU5PMlZBY0U3NFkwWnJTejJ5WE1mVDVSOUl5S3FRWnNwYUtEOE1PbVlICi1CcVVIOW8vcGhuR2NhRUc1eGVTZmhNMU8vWU5adUdubExEUUJHd1Q1cHVIT2FMZmpFQ3ZzOGVaTG9wSVdFQmxECi1Ra1JsaFlxWkJ3aEdaOEQvVHhxRzR0ZUZ0bkJYNUZHN1VvU1NWdW5lQnJrUkVRTTdFbGh0RDlqQ1dqZk1ucW0xCi01OUc4NE95Y0Nsd2FLVTcvRG02emVNR0R5Rm9Na3NCdWQ3bHlESE1oeHZ3U2J6YjFKUjV2OGlCc21WWTJkaEh0Ci1PdDNGeDJiZTBnSXIKLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5jZXJ0X3R5cGVfZW1wdHkgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmNlcnRfdHlwZV9lbXB0eQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzBmZDExMS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmNlcnRfdHlwZV9lbXB0eQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlDcERDQ0FZd0NBUUF3UERFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUm93Ci1HQVlEVlFRRERCRlFiMnhoY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQCi1BRENDQVFvQ2dnRUJBS2tDSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaCi1aSWRyL1N2Z1J2bHp2dDNQa3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaCi1IcWd6Q0VmQkJVS3AvVXpEdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsWHdxeFU4WXdmaFU1clBsYTduK1NucVlGCi1XK2NUbDRXMUk1TFoxQ1FHMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzCi1GaVNjU3R6TjBQZFNaM1B4TGFBai9YNzBNY290Y01xSkN3VGJMcVpQY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvCi1ESlFabzkzbDZKMlZFKzBwMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBQWFBak1DRUdDU3FHU0liM0RRRUpEakVVCi1NQkl3RUFZSllJWklBWWI0UWdFQkJBTURBUUF3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUNVMExMREJJTWdHCi1CN2d5TkFOSHY0MlJvdmhRZHptVXVscUpQSE5IeDN2OUcxN0YwMGJFeWtKYi9yM2F3VzZsNWZoWS82b1B5ZHNZCi1obldFTTZWVkNVa0o2WnFtMi93RTQ5dWFOVGJGZDlKVTRPeXdSQmZqSEhTVE9HbllGZytCWVNmd2FJa1NDa3gyCi1rVmh5a2xGbTdNeTV3a3lEUHBGU1UydFRmZ3NnYVFNeVRtOTNhMmt4TTdxSi9YM2dGREc4bzdSMHZ5b2pGVlNJCi1td3NGOVFzQzZOOWN5Z2RGeDIzekNCMEtzSjlLZm1CcWFUc2RiS2g4QnNvY1ltNUZKQ3c0V1MvQ0JyQ1dCait6Ci1ON3lFSmo0U1I1RitQN3NGYzVJMEhBTm92NXdRZThFMytXeHhRdDhqY3FJamU2RGxhYUdqYTQ0Y1hPenZGUXl4Ci1IZy82SDVFdEJRYz0KLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5rZXlfdXNhZ2UgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmtleV91c2FnZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzBlNDgxMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmtleV91c2FnZQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlDbnpDQ0FZY0NBUUF3UERFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUm93Ci1HQVlEVlFRRERCRlFiMnhoY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQCi1BRENDQVFvQ2dnRUJBS2tDSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaCi1aSWRyL1N2Z1J2bHp2dDNQa3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaCi1IcWd6Q0VmQkJVS3AvVXpEdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsWHdxeFU4WXdmaFU1clBsYTduK1NucVlGCi1XK2NUbDRXMUk1TFoxQ1FHMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzCi1GaVNjU3R6TjBQZFNaM1B4TGFBai9YNzBNY290Y01xSkN3VGJMcVpQY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvCi1ESlFabzkzbDZKMlZFKzBwMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBQWFBZU1Cd0dDU3FHU0liM0RRRUpEakVQCi1NQTB3Q3dZRFZSMFBCQVFEQWdYZ01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQnNKM3YxQXIyWDI4R0pzUlNKCi1XUlF3RlF3SWJSL0QwY0hyd1RmMFpmWnR0Q2x5dHVjMThKWmx3a0gzRUcvck5rV2FGcDZNS0lab1JNT0J1U1BjCi1NTnZ2S0lvNG5QYWVvdURQcnV5bXgwZ05lbmx5UkwzRDRPWnBCTy9CbVFJUWpiVUtXRmJ6RW5FcXZ3dk1EVW5HCi04dzdValBTRmN4ajJIekVOcjYySExQS0tuVnBMM25EWFdLMWEyQTc3S0Y5YU14eW9XUTZGWGIyeFBEOWNKamRvCi1jMWp3c2tRYmdvc1F6S0t3d3A1eXhxMHpSRDNFQUd3NEE3OG1nSE1mZ0ZwcnE5ZTlhemFCMEpleUZHMlZuMHQwCi1MK3ZmaURFVlEzZUpYU0NlbjFrRVZ5SFJqdThnNTNVY1NnZCtKaWNXRmJvRmoyL21KQnV5VzZ5TSsrUkdBOUI1Ci1aZDYyCi0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5yZXEua2V5X3VzYWdlX2VtcHR5IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5rZXlfdXNhZ2VfZW1wdHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3ZTU2YmYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5rZXlfdXNhZ2VfZW1wdHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ25qQ0NBWVlDQVFBd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJvdwotR0FZRFZRUUREQkZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUAotQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiN29nV1V0UHhRMUJIbGhKWgotWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKQkVlQ3NGYzVjTzJqN0JVWgotSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3ZmhVNXJQbGE3bitTbnFZRgotVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCWGhlbTJteGJhY3dDdWhRcwotRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZaWVKVFdaNXVXcEpsNG9nLwotREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFhQWRNQnNHQ1NxR1NJYjNEUUVKRGpFTwotTUF3d0NnWURWUjBQQkFNREFRQXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBQXFRL0VVLzNvTXQ3WVc0dldnbQotMFE3RjR2N0RyRkVvVk1XZkJ6TldoTU5JaWp6b2FXS1k4andzZVpNenU4YUNOUWxKbk03YzlGSkYrT0NnUzdMNQotMGN0d3pqZkNPaTVJNWNLZ3F2OFdwdU1aV0hYTnRCN1l0alVXSVpWcmkvUmF6Q25jWkV3SkdDS1FqbVFZckdKbQotUW11MitEK0RXWStuRVc0N1pmREg5ak9KdGF0blJFalNOc0t6YzQ0TDl6VWFFeTNiaSttNDU1WEdIK0FCbWViNwotSXFtZ3VoMTB4VXlZNnJFT0ZFdXF2RnlGcjVnMWViNTNScjVDUXhHZncxaisyYmJTaCtyVmI2RWhmOUxBaWp5dQotWWdxYTkxaEdhYi9DanlrUzZITXJEOTFvdVd0dDJSdDN6Q0tvNFh4ZThkbEFzektCNFc4M005T2dEVlZwaUNmQwotdDNBPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmt1LWN0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5rdS1jdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWJkMDFmNS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmt1LWN0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUNzakNDQVpvQ0FRQXdQREVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sb3cKLUdBWURWUVFEREJGUWIyeGhjbE5UVENCVFpYSjJaWElnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVAKLUFEQ0NBUW9DZ2dFQkFLa0NIejFBYXRWVlU0djlOdTZDWlM0VllWNkp2N2pvUlpEYjdvZ1dVdFB4UTFCSGxoSloKLVpJZHIvU3ZnUnZsenZ0M1BrdUdSVysxbW9HK0pLWGxGZ05DRGF0VkJRM2RmT1h3SkJFZUNzRmM1Y08yajdCVVoKLUhxZ3pDRWZCQlVLcC9VekR0Ti9kQmg5TkVGRkFaM01URDBENGJZRWxYd3F4VThZd2ZoVTVyUGxhN24rU25xWUYKLVcrY1RsNFcxSTVMWjFDUUcxUWtsaVhVSDNhWWFqejhKR2I2dFpTeGs2NVdiM1A1QlhoZW0ybXhiYWN3Q3VoUXMKLUZpU2NTdHpOMFBkU1ozUHhMYUFqL1g3ME1jb3RjTXFKQ3dUYkxxWlBjRzZlenIxWWllSlRXWjV1V3BKbDRvZy8KLURKUVpvOTNsNkoyVkUrMHAyNnR3RXR4YXltc1hxMUtDVkxFQ0F3RUFBYUF4TUM4R0NTcUdTSWIzRFFFSkRqRWkKLU1DQXdDd1lEVlIwUEJBUURBZ1hnTUJFR0NXQ0dTQUdHK0VJQkFRUUVBd0lHUURBTkJna3Foa2lHOXcwQkFRVUYKLUFBT0NBUUVBV1VNeUlYSGk0QmJJeE9lQ0QvVnR1OUxHVjhFTk1WN2R3WVZFUWN3cnQxQUhhaHRZZ1V0a29HY1AKLWxPUHFnMWxiZzIyYnU4ZExQb1k0SEF6eENPQUdzMjdvdFdMNUxsRTlNNVFQSDFSZWRFeWNtT3VZck1sNks5ODgKLWhmREJKK09rZ0NTaGNNOTErdWRyYzBncERFSTdOMDFBK2ZtdWtRNkVpYVFqSWY3SE1FL0VLUXFoRXVFUU1YSEMKLUdCdmROdUVGNUJmVjNhQVl1VCt4ZmRYRFUyWld3WFhXQUhHbVZoM250bmh0RUc2U25YU25CQVRVMndhNHRwQmQKLUtMYkViY3NpeTJ1ajBPTEpsdkc2THFzTmdndGtENThHQ0dwTHBhVnhkVzgweXcrZi9rcndMcGV5b2NFMUtHY1QKLTdlWCs5eWhMZTlOSVpvanZldncrNTNkTkU3QlVmdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5yZXEubWQ1IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5tZDUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3NzE0ZWQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5tZDUKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dUQ0NBV2tDQVFBd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJvdwotR0FZRFZRUUREQkZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUAotQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiN29nV1V0UHhRMUJIbGhKWgotWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKQkVlQ3NGYzVjTzJqN0JVWgotSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3ZmhVNXJQbGE3bitTbnFZRgotVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCWGhlbTJteGJhY3dDdWhRcwotRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZaWVKVFdaNXVXcEpsNG9nLwotREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFhQUFNQTBHQ1NxR1NJYjNEUUVCQkFVQQotQTRJQkFRQ0VpdjNRTTR4eUtoWVRzb09qeXpRZFhNaHNYSzNLcHcrUmg4NzRIZjZwWEh4VWFZeTd4TFVaVXg2SwoteDVCdmVtMUhNSEFkbU9xWVR6c0U5WmJsQU1aTlJ3di9DS0dTM3B2TWt4L1Zad1hRaEZHbEhMRkcvL2ZQcmdsMwotajRkdDIwUXNXUDhMbkw0THdlWVNZSTF3dDFyamdZUkhlRjZiRy9WSWNrNkJJWVFoS09HbHpJd1dVbWZBR3ltNgotcTRTWXJkK09iWnVsbFNhckdHU2ZOS2pJVUVwWXRmUUJ6MzFmNXRSc3l6U3BzN29HNHVjN1hiYTRxbmwybzlGTgotbFdPTUVFUjc5UUd3cjcrVDQxRlRIRnp0RmRkZkowNkNDam9SQ2ZFbjBUY3NnMTF0U01TMDg1MW9Ma01tOFJ5WQotYW96SXpPODJSM0VtN2FQaFpCaUJEeTN3WkMybAotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTEgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTEKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3OGVjN2YuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGExCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUNnVENDQVdrQ0FRQXdQREVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sb3cKLUdBWURWUVFEREJGUWIyeGhjbE5UVENCVFpYSjJaWElnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVAKLUFEQ0NBUW9DZ2dFQkFLa0NIejFBYXRWVlU0djlOdTZDWlM0VllWNkp2N2pvUlpEYjdvZ1dVdFB4UTFCSGxoSloKLVpJZHIvU3ZnUnZsenZ0M1BrdUdSVysxbW9HK0pLWGxGZ05DRGF0VkJRM2RmT1h3SkJFZUNzRmM1Y08yajdCVVoKLUhxZ3pDRWZCQlVLcC9VekR0Ti9kQmg5TkVGRkFaM01URDBENGJZRWxYd3F4VThZd2ZoVTVyUGxhN24rU25xWUYKLVcrY1RsNFcxSTVMWjFDUUcxUWtsaVhVSDNhWWFqejhKR2I2dFpTeGs2NVdiM1A1QlhoZW0ybXhiYWN3Q3VoUXMKLUZpU2NTdHpOMFBkU1ozUHhMYUFqL1g3ME1jb3RjTXFKQ3dUYkxxWlBjRzZlenIxWWllSlRXWjV1V3BKbDRvZy8KLURKUVpvOTNsNkoyVkUrMHAyNnR3RXR4YXltc1hxMUtDVkxFQ0F3RUFBYUFBTUEwR0NTcUdTSWIzRFFFQkJRVUEKLUE0SUJBUUNpWVFNT3YyQUxQVWVnOHdIS245TDVTZERiTnhPenVNd2hZc0NZVHcyVEpNUU83TkxVcTZpY0V6eFkKLXBVSUlGdDYwSlVRalpIeFFTWTN5OWNTaXZ3S1hRQTdwUGZhUGFGQy9hTUEyR3hHMjN0MmVhSVdOUVg4TWZjV2YKLVhBYThibC92bUMxTVRvdittUDJER29YUmlLWU9SckVJbnlEUzJSYVRhdGh2SGNrY0F2MjVuQ0l4N3dZTzl0QzkKLUxVd3lvRTliaGlRN2ZvM0tGbHo0ZEsxSHVreUNNL0ZvUGJKdUw3Tmdkem1LVlB5WUNMaDVBaCtUVEQ2K3NsdHoKLWRGYzRmajI4dzF2M2pzQlh6K3RMcmdGUWlkenVVSTJwb3h0NVV3VTlUS1kwZEFKYVRDdGZJUmNYVzNoNkRHRzcKLUVEUjZyaW02c2JJUWtHell2R3FzNFROb0pPUisKLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEyMjQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTIyNApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRmMmFmNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTIyNAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlDZ1RDQ0FXa0NBUUF3UERFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUm93Ci1HQVlEVlFRRERCRlFiMnhoY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQCi1BRENDQVFvQ2dnRUJBS2tDSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaCi1aSWRyL1N2Z1J2bHp2dDNQa3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaCi1IcWd6Q0VmQkJVS3AvVXpEdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsWHdxeFU4WXdmaFU1clBsYTduK1NucVlGCi1XK2NUbDRXMUk1TFoxQ1FHMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzCi1GaVNjU3R6TjBQZFNaM1B4TGFBai9YNzBNY290Y01xSkN3VGJMcVpQY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvCi1ESlFabzkzbDZKMlZFKzBwMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBQWFBQU1BMEdDU3FHU0liM0RRRUJEZ1VBCi1BNElCQVFBcllSMm1MS1U1bHNIeUF5R0hyNFBsbUMvY2ZlUG1DUnlDL21qMXJpR1RqRGxOQzJYM0oxVlpEcUtiCi1VL3VVeEx1ZFA3c2J1dHRSa3NJQVJFQVRUNzRQYTQwYk1XaVBVbEJmQS9NMm1GVG1LYi85MXVYZUlJU1c4REwzCi14TS81QkNEcmhuWi9jalAyM2dLRGdKUmsrSUdCTmhZWkRHejUwVElCYkRKMmU0R0RrRmp6QU5uZ1VXNjRVY0NRCi03aFpPWXRuWUxCbm9SdlB3dGFsNWpacUh3c2dhUFBlUFh1K1NROG1mdUFKd0o3OE1PQ0FhS3cwSVAxaDFPblBHCi1pdWJkbDM0bFNJYVlXd2JIVGRqYXFVU1FHM1NTczRveEV2bHVZeW1ycFo2WEdLWHRwaEpYRVBkVFJpTHU5ZDlsCi1BNU5ZVmd2cUhGUVBtdVhTOTJ6ckd6Qjc4OHBWCi0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5yZXEuc2hhMjU2IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEyNTYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkMjFkYzUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEyNTYKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dUQ0NBV2tDQVFBd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJvdwotR0FZRFZRUUREQkZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUAotQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiN29nV1V0UHhRMUJIbGhKWgotWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKQkVlQ3NGYzVjTzJqN0JVWgotSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3ZmhVNXJQbGE3bitTbnFZRgotVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCWGhlbTJteGJhY3dDdWhRcwotRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZaWVKVFdaNXVXcEpsNG9nLwotREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFhQUFNQTBHQ1NxR1NJYjNEUUVCQ3dVQQotQTRJQkFRQ1ZsU1U3cWVLcmk3RTN1OEpDWmJDeWpzR0pUSDlpSFl5ZURaL25ETGlnN2lLR1l2eU5teXpKNzZRdQotK0VudFNtTDJPdEw5NVlxb29jNmgxQVFIem9DcytTTzJ3UG9UVXMzWXBpOXI3dk5OVk8zWm5ueFZ0R2dxQ1JWQQotVyt6OVc0cDJtSFhRaGdXMUhrdUxhNUpEMVN2SlZpeVpieDl6M2llMUJROU5WS2Z2KytBclBJdjcwekJ0QTdPMwotUFpORzFKWU4zMEVzejdSc0NEUkhiejZOcHZ1OWdnVVFML1UzbXZRUStZbyt4aHd1MXlGVitkUkg3UGViQmVRdgotdmpjRDJmWERhYmVvZkszenp0SXBVSXlVVUxYMEdHQ2xNOWpzbGdKL1pIVWxBcldLcExacGgwQWdGMUR6dHMvLwotTTZjL3NSdzdndGpYbVYwenEydGYyZkw0K2UyYgotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTI1Ni5jb25mIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEyNTYuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQzNTgxOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTI1Ni5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotcmVxX2V4dGVuc2lvbnMgPSByZXFfZXh0Ci0KLVtyZXFfZXh0XQotZXh0ZW5kZWRLZXlVc2FnZSA9IHNlcnZlckF1dGgKLXN1YmplY3RBbHROYW1lID0gQGFsdF9uYW1lcwotCi1bYWx0X25hbWVzXQotZW1haWwgPSBtYWlsQGV4YW1wbGUuY29tCi1ETlMgPSBleGFtcGxlLmNvbQotZGlyTmFtZSA9IGRpcm5hbWVfc2VjdAotSVAgPSAxMjcuMC4wLjEKLVVSSSA9IGh0dHA6Ly9wa2kuZXhhbXBsZS5jb20KLQotW2Rpcm5hbWVfc2VjdF0KLUM9VUsKLU89TWJlZCBUTFMKLUNOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTI1Ni5leHQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTI1Ni5leHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiYjA1ZGEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEyNTYuZXh0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSURQekNDQWljQ0FRQXdQREVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sb3cKLUdBWURWUVFEREJGUWIyeGhjbE5UVENCVFpYSjJaWElnTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVAKLUFEQ0NBUW9DZ2dFQkFLa0NIejFBYXRWVlU0djlOdTZDWlM0VllWNkp2N2pvUlpEYjdvZ1dVdFB4UTFCSGxoSloKLVpJZHIvU3ZnUnZsenZ0M1BrdUdSVysxbW9HK0pLWGxGZ05DRGF0VkJRM2RmT1h3SkJFZUNzRmM1Y08yajdCVVoKLUhxZ3pDRWZCQlVLcC9VekR0Ti9kQmg5TkVGRkFaM01URDBENGJZRWxYd3F4VThZd2ZoVTVyUGxhN24rU25xWUYKLVcrY1RsNFcxSTVMWjFDUUcxUWtsaVhVSDNhWWFqejhKR2I2dFpTeGs2NVdiM1A1QlhoZW0ybXhiYWN3Q3VoUXMKLUZpU2NTdHpOMFBkU1ozUHhMYUFqL1g3ME1jb3RjTXFKQ3dUYkxxWlBjRzZlenIxWWllSlRXWjV1V3BKbDRvZy8KLURKUVpvOTNsNkoyVkUrMHAyNnR3RXR4YXltc1hxMUtDVkxFQ0F3RUFBYUNCdlRDQnVnWUpLb1pJaHZjTkFRa08KLU1ZR3NNSUdwTUJNR0ExVWRKUVFNTUFvR0NDc0dBUVVGQndNQk1JR1JCZ05WSFJFRWdZa3dnWWFCRUcxaGFXeEEKLVpYaGhiWEJzWlM1amIyMkNDMlY0WVcxd2JHVXVZMjl0cEVjd1JURUxNQWtHQTFVRUJoTUNWVXN4RVRBUEJnTlYKLUJBb01DRTFpWldRZ1ZFeFRNU013SVFZRFZRUUREQnBOWW1Wa0lGUk1VeUJrYVhKbFkzUnZjbmxPWVcxbElGTkIKLVRvY0Vmd0FBQVlZV2FIUjBjRG92TDNCcmFTNWxlR0Z0Y0d4bExtTnZiVEFOQmdrcWhraUc5dzBCQVFzRkFBT0MKLUFRRUFjbHJObW1nQW9hNGN0d3lCd0QxVDhqYnlCZXV4VGYraWZjK01RNnBFN1l1WVNsYW5IRTVsL0NvVmxXMTQKLWxSNWdBMDFwV0pKN1Q4UkJ2bzI1T3FYYnZNRlNhZmVHWHBTSE9HNjlBNnAvN1lVTHRiUHVTNnV2dGRSMG0zdCsKLTJJYWNMMHE1RnNTbVB3MDdSTmZWR0RGbmlLVnFEOGVBdVluaEZ6dGswK3VaVllENHhHZXpVY2tiMndUYnpGcHUKLWxVQS9OaG9XZkN5VjQ0VERSNWZ5MjNxTlh5d0VoYXREVS8zbk1tU0pwQlZ5NHk3SjZCUVZDbC9mYnl1S0lPcXUKLTBPVlArRnZBTlNPNDZ0d0E5KzM4aEkrL25QdVZ3dGJCdmcxYUxCTWJMWjNFZ2kydW96b2tZRllMMjJKWU5HSm8KLVhPUlFnUjY2U2RydmZoaXVnK0Y1eG1sZENnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEzODQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTM4NApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjg1N2FmNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTM4NAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCi1NSUlDZ1RDQ0FXa0NBUUF3UERFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUm93Ci1HQVlEVlFRRERCRlFiMnhoY2xOVFRDQlRaWEoyWlhJZ01UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQCi1BRENDQVFvQ2dnRUJBS2tDSHoxQWF0VlZVNHY5TnU2Q1pTNFZZVjZKdjdqb1JaRGI3b2dXVXRQeFExQkhsaEpaCi1aSWRyL1N2Z1J2bHp2dDNQa3VHUlcrMW1vRytKS1hsRmdOQ0RhdFZCUTNkZk9Yd0pCRWVDc0ZjNWNPMmo3QlVaCi1IcWd6Q0VmQkJVS3AvVXpEdE4vZEJoOU5FRkZBWjNNVEQwRDRiWUVsWHdxeFU4WXdmaFU1clBsYTduK1NucVlGCi1XK2NUbDRXMUk1TFoxQ1FHMVFrbGlYVUgzYVlhano4SkdiNnRaU3hrNjVXYjNQNUJYaGVtMm14YmFjd0N1aFFzCi1GaVNjU3R6TjBQZFNaM1B4TGFBai9YNzBNY290Y01xSkN3VGJMcVpQY0c2ZXpyMVlpZUpUV1o1dVdwSmw0b2cvCi1ESlFabzkzbDZKMlZFKzBwMjZ0d0V0eGF5bXNYcTFLQ1ZMRUNBd0VBQWFBQU1BMEdDU3FHU0liM0RRRUJEQVVBCi1BNElCQVFCeTM1ekhZTGlZYVNjcTFuaVFrelEvQlNjVWJkaVdkMlY5MGlzQnNCNVEzTmpWb0psL3lDYU1ybGEzCi0yWGZydXRwRnBkcXdlbmw1ak0wbzYrZW5LQ21mdXIrejIvaWplNjlEanUyYUJkNkE2MmN4MUFFdkZpTXE3bHlGCi00RFlKMzIrMnR5NktBOEVoekUzTkZzN3pLWHhtRDV5YnArb1hORXZYb2VVM1c4YStMZDVjMUsvbitJcGEwVFV5Ci1jRkJzNmRDc2JZTzl3STZucHdXcUM1SGM5ci8wenppTUZPKzRONVZPUmRZVUZxT2JxNHZDWU9NWEVUcGw4cnl1Ci1sR1pvck5Vb0o3dlY1NVQzMUNEcUV0YjBFRStuTytuVDRhZ2ZEb2JuY1lqdmMzV3BRdUx0VUI0VXdSNWdwWmw2Ci1aSStqNHV3aWtPZ0dPOWdjeDRJamFSUDNxNjNGCi0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5yZXEuc2hhNTEyIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGE1MTIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1ZDUyNDYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGE1MTIKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dUQ0NBV2tDQVFBd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJvdwotR0FZRFZRUUREQkZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUAotQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiN29nV1V0UHhRMUJIbGhKWgotWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKQkVlQ3NGYzVjTzJqN0JVWgotSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3ZmhVNXJQbGE3bitTbnFZRgotVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCWGhlbTJteGJhY3dDdWhRcwotRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZaWVKVFdaNXVXcEpsNG9nLwotREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFhQUFNQTBHQ1NxR1NJYjNEUUVCRFFVQQotQTRJQkFRQmI4ak5wdDBua05WV3N0Vm9PQ2VwUVNGNVIxUjloRjB5RXI3bWszSEI5b08vbkswN1IxT2FtZ2p3KwotQ0hRUmVUU2pJS1VYNTNvN1p3TlpCNUUrakJEc0d6LzJZeWovdnhOSEpGazJleEVMdFczMGhlOEsyb21WSEUxRgotWEVTYmZ0Q3NzV0xOcFRTRHE2TUUxMitsbGtFRHRnQ3RrdjY5b1JVa3V1RjVFU1VTWlJHSVpONFZsZWRtOFNNMQotdUdGdGFHL1BYYkJidFVhTndOSVNEZUlXREtSdGJ1Y2E1d2ViK1FFaTFkamlVSDIxWldJR0VwT3k3bXRrWW1ScwotUXQxRDMyRm9hcUZOaGFmaWF4TklYTzExeWQ0bGdwYUREbG1yT1NCc0VMY1RJRjk5MTZvM0R3TWVWWHkwR09OVwotQnJ3YU84cThyZytDK3h2TVk3ODU4S2s4a3dqYgotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEuc3BhY2VzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5zcGFjZXMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNzcxMzJhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMS5zcGFjZXMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUVRDQ0FpbWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakErTVFzd0NRWURWUVFHRXdKT1RERVRNQkVHCi1BMVVFQ2d3S0lGQnZiR0Z5VTFOTUlERWFNQmdHQTFVRUF3d1JVRzlzWVhKVFUwd2dVMlZ5ZG1WeUlERXdnZ0VpCi1NQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNwQWg4OVFHclZWVk9ML1RidWdtVXVGV0ZlCi1pYis0NkVXUTIrNklGbExUOFVOUVI1WVNXV1NIYS8wcjRFYjVjNzdkejVMaGtWdnRacUJ2aVNsNVJZRFFnMnJWCi1RVU4zWHpsOENRUkhnckJYT1hEdG8rd1ZHUjZvTXdoSHdRVkNxZjFNdzdUZjNRWWZUUkJSUUdkekV3OUErRzJCCi1KVjhLc1ZQR01INFZPYXo1V3U1L2twNm1CVnZuRTVlRnRTT1MyZFFrQnRVSkpZbDFCOTJtR284L0NSbStyV1VzCi1aT3VWbTl6K1FWNFhwdHBzVzJuTUFyb1VMQllrbkVyY3pkRDNVbWR6OFMyZ0kvMSs5REhLTFhES2lRc0UyeTZtCi1UM0J1bnM2OVdJbmlVMW1lYmxxU1plS0lQd3lVR2FQZDVlaWRsUlB0S2R1cmNCTGNXc3ByRjZ0U2dsU3hBZ01CCi1BQUdqVFRCTE1Ba0dBMVVkRXdRQ01BQXdIUVlEVlIwT0JCWUVGQjkwMWo4cHdYUjBSVHNGRWl3OXFMMURXUUttCi1NQjhHQTFVZEl3UVlNQmFBRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL01BMEdDU3FHU0liM0RRRUJCUVVBCi1BNElCQVFCc1Izak9GaDd1R0Y1TUN2RUs4RHJTbW12Y0ZKek1tVFJwMGhDTWViMHdFVUxock1LZVJESWEyeXZyCi1GckhIQ1VOQWsySGpzakpldnBDTThmM2liRHFlY2NrZmJ4RTJ2VDlJVUNtUHJ0T1dtaFFSL0lsNVRSOUZ2WW5zCi00QkYxS1VQUnFHVUZBWG9JTit4S2NZZHArbXlJbHVHSHVtTTRCb3A3dEFaNWdnNjhJVi9VSmg1UnFTaHhpTGdWCi1yeEh6cnA2b00xa24xOTltMndjMVR3eTJZd2NObWZKRFNPTFY2SzR4V2p3Y2M4RXErckxodVdVczVHTmRyU0VZCi1aaldtRjFBbGJWVkNoVTNEbDVYT0FZOFQ2K3dKc3Q1Ukl3a2YxRmwxVFBDWlg4Rld6R005SFlpWVcwY0M3Y25vCi1JZFNTN21WR3hOck5lKzYvQ3UremZxZWlMZE4yCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEudjEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxLnYxLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdlMzgxMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEudjEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDNnpDQ0FkTUNBUUV3RFFZSktvWklodmNOQVFFRkJRQXdPekVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WCi1CQW9NQ0ZCdmJHRnlVMU5NTVJrd0Z3WURWUVFEREJCUWIyeGhjbE5UVENCVVpYTjBJRU5CTUI0WERURTVNREl4Ci1NREUwTkRRd05sb1hEVEk1TURJeE1ERTBORFF3Tmxvd1BERUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NCi1DRkJ2YkdGeVUxTk1NUm93R0FZRFZRUUREQkZRYjJ4aGNsTlRUQ0JUWlhKMlpYSWdNVENDQVNJd0RRWUpLb1pJCi1odmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtrQ0h6MUFhdFZWVTR2OU51NkNaUzRWWVY2SnY3am9SWkRiCi03b2dXVXRQeFExQkhsaEpaWklkci9TdmdSdmx6dnQzUGt1R1JXKzFtb0crSktYbEZnTkNEYXRWQlEzZGZPWHdKCi1CRWVDc0ZjNWNPMmo3QlVaSHFnekNFZkJCVUtwL1V6RHROL2RCaDlORUZGQVozTVREMEQ0YllFbFh3cXhVOFl3Ci1maFU1clBsYTduK1NucVlGVytjVGw0VzFJNUxaMUNRRzFRa2xpWFVIM2FZYWp6OEpHYjZ0WlN4azY1V2IzUDVCCi1YaGVtMm14YmFjd0N1aFFzRmlTY1N0ek4wUGRTWjNQeExhQWovWDcwTWNvdGNNcUpDd1RiTHFaUGNHNmV6cjFZCi1pZUpUV1o1dVdwSmw0b2cvREpRWm85M2w2SjJWRSswcDI2dHdFdHhheW1zWHExS0NWTEVDQXdFQUFUQU5CZ2txCi1oa2lHOXcwQkFRVUZBQU9DQVFFQWZ1R2hYMnBjbVFnbFhjc2x6UnVhc3ROVVc4QUdhdERzanNzRGVjMjdML2M2Ci1iQ3oveVFDYVp0dzJnazlRTHNZTU90ZWYvaGZiN1JidTVmTHdDbjR6Y1FkbXVoMTduSGNXaDdmbXRYc29lYml6Ci1relY0R01FYVUrQ2M2d3MxaDhHdUxUTEtwci9pTVlGQmhUMWNqVkdtaTBDMkZIQmo4dmJXdjdzRUVJVW92ck1RCi03ZWgxWTFOa1phK3cwc2FnaU1maFdzMkRUek5pa2J5OW1tSllVU21LVFgxZEkyM1lZUEVJRyszc2hrWTg4VkMwCi1JQnVIMmkrcFVYS04reEtoaDliYndMR2RISWZOSGh1SXZma2tBTGhEdUFPdnFBaXMxYnVFQVVvSFIzcWFoSGtoCi0ybnpZL1JPQkczK05DU0RnZ0hFZjZ4eENEZzh4WnBrZGJLS1JGTUdCQ0E9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMC1iYWRzaWduLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMTAtYmFkc2lnbi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0YWM0YjEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMC1iYWRzaWduLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQlhUQ0NBUUtnQXdJQkFnSUJTekFNQmdncWhrak9QUVFEQWdVQU1Fb3hDekFKQmdOVkJBWVRBbFZMTVJFdwotRHdZRFZRUUtEQWh0WW1Wa0lGUk1VekVvTUNZR0ExVUVBd3dmYldKbFpDQlVURk1nVkdWemRDQnBiblJsY20xbAotWkdsaGRHVWdRMEVnTXpBZUZ3MHhPVEF5TVRBeE5EUTBNRFphRncweU9UQXlNVEF4TkRRME1EWmFNQlF4RWpBUQotQmdOVkJBTU1DV3h2WTJGc2FHOXpkREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQnh0OStuYQotcGVxaG5MSnlHYWdKSEhPdDNoVzczcWJqczA4RjZHMFFManBwTjVlQU9jRjEvNzdPY0FHc0MxOWNGRTFEUHdCRQotaDVnR2F5U3ZiYXVVcVBLakRUQUxNQWtHQTFVZEV3UUNNQUF3REFZSUtvWkl6ajBFQXdJRkFBTkhBREJFQWlCdwotSlc4YzV4TmlISW44MytGeDc0SmlXMEl5UktlOVRSTjN3K01tZmNGS3d3SWdXeWpBcC94S09CYVEyaWZScVhINgotM21RVWpRTkZ6SFBGcFdxakhDcDB2UzA9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEwLWJzX2ludDMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMC1ic19pbnQzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDgyNGM0My4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEwLWJzX2ludDMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCWFRDQ0FRS2dBd0lCQWdJQlN6QU1CZ2dxaGtqT1BRUURBZ1VBTUVveEN6QUpCZ05WQkFZVEFsVkxNUkV3Ci1Ed1lEVlFRS0RBaHRZbVZrSUZSTVV6RW9NQ1lHQTFVRUF3d2ZiV0psWkNCVVRGTWdWR1Z6ZENCcGJuUmxjbTFsCi1aR2xoZEdVZ1EwRWdNekFlRncweE9UQXlNVEF4TkRRME1EWmFGdzB5T1RBeU1UQXhORFEwTURaYU1CUXhFakFRCi1CZ05WQkFNTUNXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJCeHQ5K25hCi1wZXFobkxKeUdhZ0pISE90M2hXNzNxYmpzMDhGNkcwUUxqcHBONWVBT2NGMS83N09jQUdzQzE5Y0ZFMURQd0JFCi1oNWdHYXlTdmJhdVVxUEtqRFRBTE1Ba0dBMVVkRXdRQ01BQXdEQVlJS29aSXpqMEVBd0lGQUFOSEFEQkVBaUJ3Ci1KVzhjNXhOaUhJbjgzK0Z4NzRKaVcwSXlSS2U5VFJOM3crTW1mY0ZLd3dJZ1d5akFwL3hLT0JhUTJpZlJxWEg2Ci0zbVFValFORnpIUEZwV3FqSENwMHZTMD0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnN6Q0NBVHFnQXdJQkFnSUJUVEFLQmdncWhrak9QUVFEQWpCTE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hLVEFuQmdOVkJBTU1JRkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0WldScAotWVhSbElFVkRJRU5CTUI0WERUSXpNRFV4TnpBM01UQXpOMW9YRFRNek1EVXhOekEzTVRBek4xb3dTakVMTUFrRwotQTFVRUJoTUNWVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVNnd0pnWURWUVFEREI5dFltVmtJRlJNVXlCVQotWlhOMElHbHVkR1Z5YldWa2FXRjBaU0JEUVNBek1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRQotNzMyZldITE5QTVBzUDFVMWliWHZiNTVlcmxFVk1scFhCR3NqK0tZd1ZxVTFYQ21XOVo5aGhQN1gvNWpzL0RYOQotMkovdXRvSHlqVXRWcFFPemRUcmJzYU1RTUE0d0RBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdObgotQURCa0FqQVp4OGswcStEdFQvTEpkMUZqUGNHL3Blb1FEZk1CTDJqUy82UHd4VyszK1pQTXBIWm4wcitKcENhRgotK1Yvc005a0NNR3FjeFF3eC9ic01hSzB5OXpxc2hDNy9TNWhWbEErV1JWeU1mRUdKbVhuZmJkd2g2Q0J5S0l3dgotMUdSZTg2ZGcxQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEwLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMTAuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MmI1ZWEwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMTAuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCWFRDQ0FRS2dBd0lCQWdJQlN6QU1CZ2dxaGtqT1BRUURBZ1VBTUVveEN6QUpCZ05WQkFZVEFsVkxNUkV3Ci1Ed1lEVlFRS0RBaHRZbVZrSUZSTVV6RW9NQ1lHQTFVRUF3d2ZiV0psWkNCVVRGTWdWR1Z6ZENCcGJuUmxjbTFsCi1aR2xoZEdVZ1EwRWdNekFlRncweE9UQXlNVEF4TkRRME1EWmFGdzB5T1RBeU1UQXhORFEwTURaYU1CUXhFakFRCi1CZ05WQkFNTUNXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJCeHQ5K25hCi1wZXFobkxKeUdhZ0pISE90M2hXNzNxYmpzMDhGNkcwUUxqcHBONWVBT2NGMS83N09jQUdzQzE5Y0ZFMURQd0JFCi1oNWdHYXlTdmJhdVVxUEtqRFRBTE1Ba0dBMVVkRXdRQ01BQXdEQVlJS29aSXpqMEVBd0lGQUFOSEFEQkVBaUJ3Ci1KVzhjNXhOaUhJbjgzK0Z4NzRKaVcwSXlSS2U5VFJOM3crTW1mY0ZLd3dJZ1d5akFwL3hLT0JhUTJpZlJxWEg2Ci0zbVFValFORnpIUEZwV3FqSENwMHZTND0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMTAua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMC5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwODgzMzEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMC5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUhjQ0FRRUVJTEJETXM3YlJWeFZnNm92VHBmMnpCOW0rMjJqWTdSM0xOS1J2Q1BmYTZZSm9Bb0dDQ3FHU000OQotQXdFSG9VUURRZ0FFSEczMzZkcWw2cUdjc25JWnFBa2NjNjNlRmJ2ZXB1T3pUd1hvYlJBdU9tazNsNEE1d1hYLwotdnM1d0Fhd0xYMXdVVFVNL0FFU0htQVpySks5dHE1U284Zz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDMtYnMucGVtIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzLWJzLnBlbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE4MmIxNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDMtYnMucGVtCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCWFRDQ0FRS2dBd0lCQWdJQlN6QU1CZ2dxaGtqT1BRUURBZ1VBTUVveEN6QUpCZ05WQkFZVEFsVkxNUkV3Ci1Ed1lEVlFRS0RBaHRZbVZrSUZSTVV6RW9NQ1lHQTFVRUF3d2ZiV0psWkNCVVRGTWdWR1Z6ZENCcGJuUmxjbTFsCi1aR2xoZEdVZ1EwRWdNekFlRncweE9UQXlNVEF4TkRRME1EWmFGdzB5T1RBeU1UQXhORFEwTURaYU1CUXhFakFRCi1CZ05WQkFNTUNXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJCeHQ5K25hCi1wZXFobkxKeUdhZ0pISE90M2hXNzNxYmpzMDhGNkcwUUxqcHBONWVBT2NGMS83N09jQUdzQzE5Y0ZFMURQd0JFCi1oNWdHYXlTdmJhdVVxUEtqRFRBTE1Ba0dBMVVkRXdRQ01BQXdEQVlJS29aSXpqMEVBd0lGQUFOSEFEQkVBaUJ3Ci1KVzhjNXhOaUhJbjgzK0Z4NzRKaVcwSXlSS2U5VFJOM3crTW1mY0ZLd3dJZ1d5akFwL3hLT0JhUTJpZlJxWEg2Ci0zbVFValFORnpIUEZwV3FqSENwMHZTND0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnN6Q0NBVHFnQXdJQkFnSUJUVEFLQmdncWhrak9QUVFEQWpCTE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hLVEFuQmdOVkJBTU1JRkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0WldScAotWVhSbElFVkRJRU5CTUI0WERUSXpNRFV4TnpBM01UQXpOMW9YRFRNek1EVXhOekEzTVRBek4xb3dTakVMTUFrRwotQTFVRUJoTUNWVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVNnd0pnWURWUVFEREI5dFltVmtJRlJNVXlCVQotWlhOMElHbHVkR1Z5YldWa2FXRjBaU0JEUVNBek1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRQotNzMyZldITE5QTVBzUDFVMWliWHZiNTVlcmxFVk1scFhCR3NqK0tZd1ZxVTFYQ21XOVo5aGhQN1gvNWpzL0RYOQotMkovdXRvSHlqVXRWcFFPemRUcmJzYU1RTUE0d0RBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdObgotQURCa0FqQVp4OGswcStEdFQvTEpkMUZqUGNHL3Blb1FEZk1CTDJqUy82UHd4VyszK1pQTXBIWm4wcitKcENhRgotK1Yvc005a0NNR3FjeFF3eC9ic01hSzB5OXpxc2hDNy9TNWhWbEErV1JWeU1mRUdKbVhuZmJkd2g2Q0J5S0l3dgotMUdSZTg2ZGcxMD09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1ODUyOTIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCWFRDQ0FRS2dBd0lCQWdJQlN6QU1CZ2dxaGtqT1BRUURBZ1VBTUVveEN6QUpCZ05WQkFZVEFsVkxNUkV3Ci1Ed1lEVlFRS0RBaHRZbVZrSUZSTVV6RW9NQ1lHQTFVRUF3d2ZiV0psWkNCVVRGTWdWR1Z6ZENCcGJuUmxjbTFsCi1aR2xoZEdVZ1EwRWdNekFlRncweE9UQXlNVEF4TkRRME1EWmFGdzB5T1RBeU1UQXhORFEwTURaYU1CUXhFakFRCi1CZ05WQkFNTUNXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJCeHQ5K25hCi1wZXFobkxKeUdhZ0pISE90M2hXNzNxYmpzMDhGNkcwUUxqcHBONWVBT2NGMS83N09jQUdzQzE5Y0ZFMURQd0JFCi1oNWdHYXlTdmJhdVVxUEtqRFRBTE1Ba0dBMVVkRXdRQ01BQXdEQVlJS29aSXpqMEVBd0lGQUFOSEFEQkVBaUJ3Ci1KVzhjNXhOaUhJbjgzK0Z4NzRKaVcwSXlSS2U5VFJOM3crTW1mY0ZLd3dJZ1d5akFwL3hLT0JhUTJpZlJxWEg2Ci0zbVFValFORnpIUEZwV3FqSENwMHZTND0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnN6Q0NBVHFnQXdJQkFnSUJUVEFLQmdncWhrak9QUVFEQWpCTE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hLVEFuQmdOVkJBTU1JRkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0WldScAotWVhSbElFVkRJRU5CTUI0WERUSXpNRFV4TnpBM01UQXpOMW9YRFRNek1EVXhOekEzTVRBek4xb3dTakVMTUFrRwotQTFVRUJoTUNWVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVNnd0pnWURWUVFEREI5dFltVmtJRlJNVXlCVQotWlhOMElHbHVkR1Z5YldWa2FXRjBaU0JEUVNBek1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRQotNzMyZldITE5QTVBzUDFVMWliWHZiNTVlcmxFVk1scFhCR3NqK0tZd1ZxVTFYQ21XOVo5aGhQN1gvNWpzL0RYOQotMkovdXRvSHlqVXRWcFFPemRUcmJzYU1RTUE0d0RBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdObgotQURCa0FqQVp4OGswcStEdFQvTEpkMUZqUGNHL3Blb1FEZk1CTDJqUy82UHd4VyszK1pQTXBIWm4wcitKcENhRgotK1Yvc005a0NNR3FjeFF3eC9ic01hSzB5OXpxc2hDNy9TNWhWbEErV1JWeU1mRUdKbVhuZmJkd2g2Q0J5S0l3dgotMUdSZTg2ZGcxQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUM2VENDQWRHZ0F3SUJBZ0lCRHpBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1qTXdOVEUzTURreU56QXlXaGNOTXpNd05URTNNRGt5TnpBeVdqQkxNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4S1RBbkJnTlZCQU1NSUZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFOE9paDNmWDVTTGVOMWRtRm5jUWwKLVdNdzkrWTZzWGJsaGxyWEJ4aFh4andkd3BDSEVObitmb1VWZHJxWVZZYTdTdXYzUVZlTzZuSjE5SDNRTml4VzgKLWlrMVAraHhzYmFxOGJ0YTc4dkF5SG1DNEVtWFFMZzF3N294YjlRODJxWDFZbzRHVk1JR1NNQjBHQTFVZERnUVcKLUJCUVBpYjFqUWV2TFhoY28vMmd3UGNHSTBKeFlPVEJqQmdOVkhTTUVYREJhZ0JTMFd1U2xzOTdTVXZhNTFhYVYKLUQrcyt2TWY5LzZFL3BEMHdPekVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sa3cKLUZ3WURWUVFEREJCUWIyeGhjbE5UVENCVVpYTjBJRU5CZ2dFRE1Bd0dBMVVkRXdRRk1BTUJBZjh3RFFZSktvWkkKLWh2Y05BUUVMQlFBRGdnRUJBSFROMFVSclAyTXB3RDh2T0R5bWpqcTdpYUI3V0ZaNENXVWp4OUxXdTNQUFpiWDIKLTEyTXh6a3lGYVZSN3JuUEtaU0ZISkpFbU5hUERKV3dZaEdRUlhMQ29ENk5pSnk2RGU0ZmE1Z1NZb1h0aFJHRmYKLUduRlhadTNlMzdHREtvS1A4N1RaK1ZYY3l4NlBIdlB4SkIzLzlOOTRWajJZaDNoQ3M3RjcyR213ZkR3dzZvb2oKLXdoSXFoeEJZT2hQbGVBTnM3MEZaN1k3dGpaVjFSdFExLzlzUmNieXY5T3ZkUHVXdnVrQlZxMUtNNm5xVkhCWjMKLS80a0hCV2FGYVdNcS9BQXhNeGFUR0ZBT0E4UzJ5VTU2amtCNjV2aVFycFFRV2ZmQkpXSytXZnJjZ3hSV3FSMzMKLWhxRzN5VDFJV2JKNUUxMVhMOVRDS0QrRFJlcWVYSHlZYXd4OGZCVT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyX2NhLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyX2NhLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzYwMWEyMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMl9jYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJYVENDQVFLZ0F3SUJBZ0lCU3pBTUJnZ3Foa2pPUFFRREFnVUFNRW94Q3pBSkJnTlZCQVlUQWxWTE1SRXcKLUR3WURWUVFLREFodFltVmtJRlJNVXpFb01DWUdBMVVFQXd3ZmJXSmxaQ0JVVEZNZ1ZHVnpkQ0JwYm5SbGNtMWwKLVpHbGhkR1VnUTBFZ016QWVGdzB4T1RBeU1UQXhORFEwTURaYUZ3MHlPVEF5TVRBeE5EUTBNRFphTUJReEVqQVEKLUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkJ4dDkrbmEKLXBlcWhuTEp5R2FnSkhIT3QzaFc3M3FianMwOEY2RzBRTGpwcE41ZUFPY0YxLzc3T2NBR3NDMTljRkUxRFB3QkUKLWg1Z0dheVN2YmF1VXFQS2pEVEFMTUFrR0ExVWRFd1FDTUFBd0RBWUlLb1pJemowRUF3SUZBQU5IQURCRUFpQncKLUpXOGM1eE5pSEluODMrRng3NEppVzBJeVJLZTlUUk4zdytNbWZjRkt3d0lnV3lqQXAveEtPQmFRMmlmUnFYSDYKLTNtUVVqUU5GekhQRnBXcWpIQ3AwdlM0PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCc3pDQ0FUcWdBd0lCQWdJQlRUQUtCZ2dxaGtqT1BRUURBakJMTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEtUQW5CZ05WQkFNTUlGQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnRaV1JwCi1ZWFJsSUVWRElFTkJNQjRYRFRJek1EVXhOekEzTVRBek4xb1hEVE16TURVeE56QTNNVEF6TjFvd1NqRUxNQWtHCi1BMVVFQmhNQ1ZVc3hFVEFQQmdOVkJBb01DRzFpWldRZ1ZFeFRNU2d3SmdZRFZRUUREQjl0WW1Wa0lGUk1VeUJVCi1aWE4wSUdsdWRHVnliV1ZrYVdGMFpTQkRRU0F6TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFCi03MzJmV0hMTlBNUHNQMVUxaWJYdmI1NWVybEVWTWxwWEJHc2orS1l3VnFVMVhDbVc5WjloaFA3WC81anMvRFg5Ci0ySi91dG9IeWpVdFZwUU96ZFRyYnNhTVFNQTR3REFZRFZSMFRCQVV3QXdFQi96QUtCZ2dxaGtqT1BRUURBZ05uCi1BREJrQWpBWng4azBxK0R0VC9MSmQxRmpQY0cvcGVvUURmTUJMMmpTLzZQd3hXKzMrWlBNcEhabjByK0pwQ2FGCi0rVi9zTTlrQ01HcWN4UXd4L2JzTWFLMHk5enFzaEM3L1M1aFZsQStXUlZ5TWZFR0ptWG5mYmR3aDZDQnlLSXd2Ci0xR1JlODZkZzFBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQzZUQ0NBZEdnQXdJQkFnSUJEekFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTWpNd05URTNNRGt5TnpBeVdoY05Nek13TlRFM01Ea3lOekF5V2pCTE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hLVEFuQmdOVkJBTU1JRkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0WldScAotWVhSbElFVkRJRU5CTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUU4T2loM2ZYNVNMZU4xZG1GbmNRbAotV013OStZNnNYYmxobHJYQnhoWHhqd2R3cENIRU5uK2ZvVVZkcnFZVllhN1N1djNRVmVPNm5KMTlIM1FOaXhXOAotaWsxUCtoeHNiYXE4YnRhNzh2QXlIbUM0RW1YUUxnMXc3b3hiOVE4MnFYMVlvNEdWTUlHU01CMEdBMVVkRGdRVwotQkJRUGliMWpRZXZMWGhjby8yZ3dQY0dJMEp4WU9UQmpCZ05WSFNNRVhEQmFnQlMwV3VTbHM5N1NVdmE1MWFhVgotRCtzK3ZNZjkvNkUvcEQwd096RUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJrdwotRndZRFZRUUREQkJRYjJ4aGNsTlRUQ0JVWlhOMElFTkJnZ0VETUF3R0ExVWRFd1FGTUFNQkFmOHdEUVlKS29aSQotaHZjTkFRRUxCUUFEZ2dFQkFIVE4wVVJyUDJNcHdEOHZPRHltampxN2lhQjdXRlo0Q1dVang5TFd1M1BQWmJYMgotMTJNeHpreUZhVlI3cm5QS1pTRkhKSkVtTmFQREpXd1loR1FSWExDb0Q2TmlKeTZEZTRmYTVnU1lvWHRoUkdGZgotR25GWFp1M2UzN0dES29LUDg3VForVlhjeXg2UEh2UHhKQjMvOU45NFZqMlloM2hDczdGNzJHbXdmRHd3Nm9vagotd2hJcWh4QllPaFBsZUFOczcwRlo3WTd0alpWMVJ0UTEvOXNSY2J5djlPdmRQdVd2dWtCVnExS002bnFWSEJaMwotLzRrSEJXYUZhV01xL0FBeE14YVRHRkFPQThTMnlVNTZqa0I2NXZpUXJwUVFXZmZCSldLK1dmcmNneFJXcVIzMwotaHFHM3lUMUlXYko1RTExWEw5VENLRCtEUmVxZVhIeVlhd3g4ZkJVPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUkRDQ0FpeWdBd0lCQWdJQkF6QU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREF3V2hjTk1qa3dNakV3TVRRME5EQXdXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUdqCi1VekJSTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4Ci14LzMvTUI4R0ExVWRJd1FZTUJhQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NQTBHQ1NxR1NJYjNEUUVCCi1CUVVBQTRJQkFRQ3o1NTdaWm1XdjVVVFRIZWJ6VHlWemt1NWxkcGNpY0pQcUtIUDN4WjR0UFBZNTJKUXlKZy9UCi1oc1JCNDR5VHlObzMvam85b3IyS2dWbmMrL25DbW5sdlRxMjJhL2oyNkR0S1o3d0Q5TVd4dW5wa3FSd0V4dEEvCi1HODE2bXNybDZYNm01MFd3ZExYVHZhVkpHWENZcDhUUFZMeDVZWTNXUElWb1gwQ1BON0hzOWlOSk5pRVdvNFFmCi03ZEFxaldCQi9RcHVzbVdoamFEU2M0K2NGaFQyNFlvOUh1UzF5cmtVVHJCdEphajBBeWtUc2l5Rm02U0JWRE5ICi05WEl4Q2dZeTlRclliREtOdEpYaHVldnBOMHlVTVYvYVVuSWtVMndUVG91aE96Wmlzak5rMHNTMWd1cW1TSHpmCi1obGY4cW90T2hOdkZYcEVzQ0d3WlV5d2F5bzdjNER0TwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX3NwdXJpb3VzX2ludC1jYTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX3NwdXJpb3VzX2ludC1jYTIuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4N2NjNDc2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMTBfaW50M19zcHVyaW91c19pbnQtY2EyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQlhUQ0NBUUtnQXdJQkFnSUJTekFNQmdncWhrak9QUVFEQWdVQU1Fb3hDekFKQmdOVkJBWVRBbFZMTVJFdwotRHdZRFZRUUtEQWh0WW1Wa0lGUk1VekVvTUNZR0ExVUVBd3dmYldKbFpDQlVURk1nVkdWemRDQnBiblJsY20xbAotWkdsaGRHVWdRMEVnTXpBZUZ3MHhPVEF5TVRBeE5EUTBNRFphRncweU9UQXlNVEF4TkRRME1EWmFNQlF4RWpBUQotQmdOVkJBTU1DV3h2WTJGc2FHOXpkREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQnh0OStuYQotcGVxaG5MSnlHYWdKSEhPdDNoVzczcWJqczA4RjZHMFFManBwTjVlQU9jRjEvNzdPY0FHc0MxOWNGRTFEUHdCRQotaDVnR2F5U3ZiYXVVcVBLakRUQUxNQWtHQTFVZEV3UUNNQUF3REFZSUtvWkl6ajBFQXdJRkFBTkhBREJFQWlCdwotSlc4YzV4TmlISW44MytGeDc0SmlXMEl5UktlOVRSTjN3K01tZmNGS3d3SWdXeWpBcC94S09CYVEyaWZScVhINgotM21RVWpRTkZ6SFBGcFdxakhDcDB2UzQ9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJzekNDQVRxZ0F3SUJBZ0lCVFRBS0JnZ3Foa2pPUFFRREFqQkxNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4S1RBbkJnTlZCQU1NSUZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRVZESUVOQk1CNFhEVEl6TURVeE56QTNNVEF6TjFvWERUTXpNRFV4TnpBM01UQXpOMW93U2pFTE1Ba0cKLUExVUVCaE1DVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1TZ3dKZ1lEVlFRRERCOXRZbVZrSUZSTVV5QlUKLVpYTjBJR2x1ZEdWeWJXVmthV0YwWlNCRFFTQXpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKLTczMmZXSExOUE1Qc1AxVTFpYlh2YjU1ZXJsRVZNbHBYQkdzaitLWXdWcVUxWENtVzlaOWhoUDdYLzVqcy9EWDkKLTJKL3V0b0h5alV0VnBRT3pkVHJic2FNUU1BNHdEQVlEVlIwVEJBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREFnTm4KLUFEQmtBakFaeDhrMHErRHRUL0xKZDFGalBjRy9wZW9RRGZNQkwyalMvNlB3eFcrMytaUE1wSFpuMHIrSnBDYUYKLStWL3NNOWtDTUdxY3hRd3gvYnNNYUsweTl6cXNoQzcvUzVoVmxBK1dSVnlNZkVHSm1YbmZiZHdoNkNCeUtJd3YKLTFHUmU4NmRnMUE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlFQVRDQ0E0ZWdBd0lCQWdJQkRqQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1Nak13TlRFM01EY3hNRE0zV2hjTk16TXdOVEUzTURjeE1ETTNXakJJTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNTUhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnRaV1JwCi1ZWFJsSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBbzFPYzhucjZmTVRxCi12b3dWK0NwQzU1aTVCWkdGR2M1MEViNFJMQlNSVEgxZTdKZXBkRmpBVmJCdHlRUkpTaVkxamEwdGdMUURES1pSCi13ZkVJK2I0YXpzZTQ2MEluUEh2N0MxVE4wdXBYbHh1ajZtOUIxSWxQK3NCYU03V0JDNmRWZlBPK2pWTUl4Z2tGCi1DYUJDTGhoZEsxRmpmOEhqa1QvUGtjdFduaG84TlR3aXZjOStucVJaalhlL2VJY3FtNUh3akREaHUrZ3orbzBnCi1WejlNZlpOaTFKeUNyT3lOWmN5K2NyMlFlTm5OVkduRnE4eFR4dHU2ZEx1bmhwbUxGajJtbTBWandhN1lwajVxCi1BanBxVE10RHZxYlJ1VG95b3l6YWpoTU5jQ0FmN2d3ekl1cEpKRlZkamR0Z1lBY1F3emlrd0Y1SG9JVEp6ekoyCi1xZ3hGN0NtdkdaTmI3Rzk5bUxkTGRodGNsSDN3QVFLSFl3RUdKbzdYS3lORXVIUFFnQitlMGNnMVNEMUhxbEFNCi11Q2ZHR1RXUTZtZTdCamFuM3QwTnpvVGREcTZJcEtUZXNiYVkrLzllMnhuOERDcmhCS0xYUU1aRkRacVVvTFlBCi1rR1BPRUdndmxQbklJWEFhd291eENhTllFaDVVdzg3MVlNU1BUMjhyTGRGcjQ5ZHdZT3REZzlmb0E4aERJVzJQCi1kNktYYnJadGVlc3ZBMW5ZekVPcyszQWpyYlQ3OU1kMlc4Qno5YnFCVk5sTk9FU1NxbTRraUNKRm1zbG0vNmJyCi1OcDBNU1FkK28yMlBRNHhSdG1QNlVzVGZVMHVlaU1wWWM4VFlZaE1iZm5mRnlvNG03MDdlYmNmbFBiQkVOMmRnCi11cGRRNjZjdmZDSkIwUUp0OXVwYWZZMGxwZFYxcVVrQ0F3RUFBYU9Cb0RDQm5UQWRCZ05WSFE0RUZnUVVPSGZZCi1hM2VjS0hlQ2kwN1lHNmtlOTVRV3R3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0JQeXZMZUxVWnZINGt5ZHY3Ci1ObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFCi1Bd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bd0dBMVVkRXdRRk1BTUJBZjh3Ci1DZ1lJS29aSXpqMEVBd0lEYUFBd1pRSXhBT0FjaCtnejRySGZJL3BtOE1JRHNzTXRKQ3F6UzZ4dE92UUhKWjlsCi1mZGdXZkpWNWNTSEpwT0lXR1hlRktLUjE4d0l3T0RUUm5USWlveStiWWFjTnE4VFFQanpkVmxUOVhiWWtXSVlOCi1KQXVWOWZMSkpkQjVuWlVHM2w4NUR0MjdWTmtUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUM2VENDQWRHZ0F3SUJBZ0lCRHpBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1qTXdOVEUzTURreU56QXlXaGNOTXpNd05URTNNRGt5TnpBeVdqQkxNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4S1RBbkJnTlZCQU1NSUZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFOE9paDNmWDVTTGVOMWRtRm5jUWwKLVdNdzkrWTZzWGJsaGxyWEJ4aFh4andkd3BDSEVObitmb1VWZHJxWVZZYTdTdXYzUVZlTzZuSjE5SDNRTml4VzgKLWlrMVAraHhzYmFxOGJ0YTc4dkF5SG1DNEVtWFFMZzF3N294YjlRODJxWDFZbzRHVk1JR1NNQjBHQTFVZERnUVcKLUJCUVBpYjFqUWV2TFhoY28vMmd3UGNHSTBKeFlPVEJqQmdOVkhTTUVYREJhZ0JTMFd1U2xzOTdTVXZhNTFhYVYKLUQrcyt2TWY5LzZFL3BEMHdPekVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sa3cKLUZ3WURWUVFEREJCUWIyeGhjbE5UVENCVVpYTjBJRU5CZ2dFRE1Bd0dBMVVkRXdRRk1BTUJBZjh3RFFZSktvWkkKLWh2Y05BUUVMQlFBRGdnRUJBSFROMFVSclAyTXB3RDh2T0R5bWpqcTdpYUI3V0ZaNENXVWp4OUxXdTNQUFpiWDIKLTEyTXh6a3lGYVZSN3JuUEtaU0ZISkpFbU5hUERKV3dZaEdRUlhMQ29ENk5pSnk2RGU0ZmE1Z1NZb1h0aFJHRmYKLUduRlhadTNlMzdHREtvS1A4N1RaK1ZYY3l4NlBIdlB4SkIzLzlOOTRWajJZaDNoQ3M3RjcyR213ZkR3dzZvb2oKLXdoSXFoeEJZT2hQbGVBTnM3MEZaN1k3dGpaVjFSdFExLzlzUmNieXY5T3ZkUHVXdnVrQlZxMUtNNm5xVkhCWjMKLS80a0hCV2FGYVdNcS9BQXhNeGFUR0ZBT0E4UzJ5VTU2amtCNjV2aVFycFFRV2ZmQkpXSytXZnJjZ3hSV3FSMzMKLWhxRzN5VDFJV2JKNUUxMVhMOVRDS0QrRFJlcWVYSHlZYXd4OGZCVT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMV9jYS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjFfY2EuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTk3NzMyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMV9jYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURQekNDQWllZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQThNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R2pBWUJnTlZCQU1NRVZCdmJHRnlVMU5NSUZObGNuWmxjaUF4TUlJQklqQU4KLUJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXFRSWZQVUJxMVZWVGkvMDI3b0psTGhWaFhvbS8KLXVPaEZrTnZ1aUJaUzAvRkRVRWVXRWxsa2gydjlLK0JHK1hPKzNjK1M0WkZiN1dhZ2I0a3BlVVdBMElOcTFVRkQKLWQxODVmQWtFUjRLd1Z6bHc3YVBzRlJrZXFETUlSOEVGUXFuOVRNTzAzOTBHSDAwUVVVQm5jeE1QUVBodGdTVmYKLUNyRlR4akIrRlRtcytWcnVmNUtlcGdWYjV4T1hoYlVqa3RuVUpBYlZDU1dKZFFmZHBocVBQd2tadnExbExHVHIKLWxadmMva0ZlRjZiYWJGdHB6QUs2RkN3V0pKeEszTTNROTFKbmMvRXRvQ1A5ZnZReHlpMXd5b2tMQk5zdXBrOXcKLWJwN092VmlKNGxOWm5tNWFrbVhpaUQ4TWxCbWozZVhvblpVVDdTbmJxM0FTM0ZyS2F4ZXJVb0pVc1FJREFRQUIKLW8wMHdTekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRZmROWS9LY0YwZEVVN0JSSXNQYWk5UTFrQ3BqQWYKLUJnTlZIU01FR0RBV2dCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvekFOQmdrcWhraUc5dzBCQVFVRkFBT0MKLUFRRUFmMms1T2lPUnA2MGdCTnFpb0MybUlxU1hBMENVL3F6bGx0OEl2bGNNdjFWMFBBUDlmNElFbTVtZGtFUnIKLVVYam5CMVRyM2VkcnN2WExnWjl2RW9zYkZwTk1zS2ZzbUJrcGpnV0cydWk4cGRuOGNKaXdzNGs0aDVmdXVlU3cKLVBzMUZMSzVUZnBpK0dKeVBxazRoYTlPanAycDlvcHVBMGFJZkx1eEkrMFV6WEg0d2dyRVcvWXlkb3d2OTU5Z2YKLWdHU2w3NjZDUmRVdkpiWE9lVnJ5RmpGVFJmTEZGTmZUdnJmdFprMWRsOHRhczFuaW04eGZXZXQrQlpWdnEyelkKLUM3TGVDSTlucmZ1QXhmTUpUcldGcDE3eTcyK2hDRGs3TkVhQjJaTFZ1QU0vcmk3TFdycjJWMmhMRmRJQWhmQzIKLW5VYXVsUlJwR3QvWlRJU3c2dVNJdW1Ob05BPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFUQ0NBaW1nQXdJQkFnSUJBekFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBd1doY05Namt3TWpFd01UUTBOREF3V2pBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdnZ0VpTUEwRwotQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURBM3pmOEY3dmdscDAvaHQ2V01uMUVwUmFnelNIeAotbWRUczZzdDhHRmdJbEtYc204V0wzeG9lbVRpWmh4NTd3STA1M3poZGNIZ0gwNTdaaytpNWNsSEZ6cU13VXFueQotNTBCd0ZNdEVvbklMd3VWQStUN2xwZzZ6K2V4S1k4QzRLUUIwbkZjN3FLVUVrSEh4dllQWlA5YWw0andxais4bgotWU1QR244dTY3R0I5dCthRU1yNVArMWdtSWdOYjFMVFYrL1hqbGk1d3dPUXV2Znd1N3VKQlZjQTBMbjBrY21uTAotUjdFVVFJTjlaL1NHOWpHcjhYbWtzclV1RXZtRUYvQmlieWMrRTFpeFZBMGhtbk0zb1REUGI1TGM5dW44ck5zdQotS05GK0Frc2pvQlh5T0dWa0Nlb01ibzRiRjZCeHlMT2J5YXZwdy9MUGg1YVBnQUl5bnBsWWI2TFZBZ01CQUFHagotVURCT01Bd0dBMVVkRXdRRk1BTUJBZjh3SFFZRFZSME9CQllFRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zLwotTUI4R0ExVWRJd1FZTUJhQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NQTBHQ1NxR1NJYjNEUUVCQlFVQQotQTRJQkFRQjBaaU5SRmRpYTZrc2thUG5ocnFlaklScThZTUVHQWYyb0lQbnlaNzh4b3lFUmdjMzVsSEd5TXRzTAotaFdpY05qUDRkL2hTOUFzNGo1S0EyZ2ROR2k1RVRBMVg3U293V09Hc3J5aXZTcE1TSFZ5MStIZGZXbHNZUU96bQotOG8rZmFRTlVtOFh6UFZtdHRmQVZzcHhlSFN4SlozNk9vK1FXWjV3WmxDSUV5akVkTFVJZCtUbTRCejNCNWpSRAotelphL1NhcURva3E2Nk4yenBiZ0tLQWwzR1UyTysrZkJxUDJkU2tkUXlrbVR4aExMV1JOOEZKcWhZQVR5UW50WgotMFFTaTNXOUhmU1pQbkZUY1BJWGVvaVBkMnBMbHh0MWhadThkd3MyTFRYRTYzdVA2TU00TEh2V3hpdUphV2tQLwotbXR4eVVBTGoycFF4Uml0b3BPUkZRZG43QU9ZNQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxX2Nzci5vcGVuc3NsY29uZiBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMV9jc3Iub3BlbnNzbGNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlNzA3NWUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIxX2Nzci5vcGVuc3NsY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVsgcmVxIF0KLWRpc3Rpbmd1aXNoZWRfbmFtZSA9IHJlcV9kaXN0aW5ndWlzaGVkX25hbWUKLXByb21wdCAgICAgICAgICAgICA9IG5vCi0jIFJlc3RyaWN0IHRvIG5vbi1VVEY4IFByaW50YWJsZVN0cmluZ3MuCi1zdHJpbmdfbWFzayAgICAgICAgPSBub21ic3RyCi0KLVsgcmVxX2Rpc3Rpbmd1aXNoZWRfbmFtZSBdCi1DICA9IE5MCi1PICA9IFBvbGFyU1NMCi1DTiA9IFBvbGFyU1NMIFNlcnZlciAxCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItYmFkc2lnbi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItYmFkc2lnbi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5ZTQwYmEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLWJhZHNpZ24uY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOCi1BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZObzkzbnpSM1JCTmRKY3JpWnJBNTQ1RG84U3M4NkV4YlFXdVROCi1vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6Ci1OdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNCi10UUNRNGRxQ0VHWjlybFFyaTJWNWthSGlZY1BOUUVrSTdtZ004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQCi1oWXZhaTBSZTRoakdZaS9IWm8zNlhkaDk4eWVKS1FIRmtBNC9KL0V3eUVvTzc5YmV4OGNuYThjRlBYckVBanlhCi1IVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlECi1WUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Ci1Gb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFKa2xnM1QvCi0vLy8vN0J6c3hNL3ZMeUtjY082b3AwL2daek00Z2h1THEyWTMya2wwc002a1NOVVVtZHV1cTN1LytHbVVaTjJBCi1PLzdjK0h3N2hERkVJdlprOThhQkdqQ0xxbjNEbWdISXY4VG9RNjduZWxsUXh4MlVqMzA5UGRnak5pL3I5SE9jCi1LTkFZUGJCY2c2TUpHV1dqMlRJNnZOYWNlaW9zL0RoT1l4NVYwajVuZnFTSi9wblUwZzlJZ24yTEFoZ1lwR0pFCi1pRU05d1c3aEVNa3dtazBoL3NxWnNySnNHSDVZc0YvVlRoU3EvSlZPMWUybVpIMnZydXlaS0pWQnErOHRETllwCi1Ia0s2dFN5VllRaHpJdDNTdE1KV0tNbC9vNWsyQVl6NnRTQzE2NCsxb0crTUwzTFdnOFhyR0thOTFINFVPS2FwCi1Bd2drMCs0bTBUMjVjTnM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzFiZTZiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOCi1BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZObzkzbnpSM1JCTmRKY3JpWnJBNTQ1RG84U3M4NkV4YlFXdVROCi1vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6Ci1OdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNCi10UUNRNGRxQ0VHWjlybFFyaTJWNWthSGlZY1BOUUVrSTdtZ004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQCi1oWXZhaTBSZTRoakdZaS9IWm8zNlhkaDk4eWVKS1FIRmtBNC9KL0V3eUVvTzc5YmV4OGNuYThjRlBYckVBanlhCi1IVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlECi1WUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Ci1Gb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDNDY1RkpoCi1QcWVsN3pKbmdISUhKcnFqL3dWQXhHQUZPVEYzOTZYS0FUR0FwK0hSQ3FKODFSeTYwQ05LMWpEems4ZHY2TTZVCi1Ib1M3UklGaU0vOXJYUUNiSmZpUEQ1eE1UZWpacDVuNVVZSEFteHN4RGFhemZBNUZ1QmhrZm9rS0s2akQ0RXE5Ci0xQzk0eEdLYjZYNC9Wa2FQRjdjcW9CQncvYkh4YXdYYzBVRVBqcWF5aUJwQ1lVL3JKb1ZaZ0xxRlZQN1B4M3N2Ci1hMW5Pck54OHJQUEkxaEorWk9nOG1haVBUeEhabkJWTGFrU1NMUXkvc1dlV3lhek8xUm5yYnhqcmJnUXRZS3owCi1lM253R3B1MXcxM3ZmY2tGbVVTQmhIWEg3QUFTL0hwS0M0SUg3RzJHQWszK244aVNTTjcxc1p6cHhvblF3VmJvCi1wTVpxTG1iQm0vN1dQTGM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5OTI3MGIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5rdS1kcy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2Lmt1LWRzLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQ0ODY2Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2Lmt1LWRzLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFJ6Q0NBaStnQXdJQkFnSUJHREFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBME1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkRENDQVNJd0RRWUpLb1pJaHZjTgotQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTgotb3dDSXArNGVhNWFuVXJTUTd5MXllajRrbXZ5Mk5Ld2s5WGZnSm1TTW5MQW9mYUhhNm96bXlSeVd2UDdCQkZLegotTnRTait1R3hkdGlRd1dHMFpsSTJvaVpUcXF0MFhnZDlHWUxiS3RnZm9Oa05IQzFKWnZkYkpYTkc2QXVLVDJrTQotdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UAotaFl2YWkwUmU0aGpHWWkvSFpvMzZYZGg5OHllSktRSEZrQTQvSi9Fd3lFb083OWJleDhjbmE4Y0ZQWHJFQWp5YQotSFQ0UDZEU1lXOHR6UzFLVzJCR2lMSUNJYVRsYTB3K3czbGt2RWNmMzZoSUJNSmNDQXdFQUFhTmRNRnN3Q1FZRAotVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJndwotRm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1BMEdDU3FHU0liMwotRFFFQkN3VUFBNElCQVFBdEt1dFZyUXVubnpPUWczVFAydm5PVDhRcjVMcmJ2c1NCYVBFbTIxT3hrcHIwZ0pjQwotL0JnT041V3JCZGZwRURaNWpPTUdncWRGM0F4RnpoL1p3MUVCcjJ5MndJY2xlb2R0elY1ajJmVFFWOU1QWUo5egotWFlmaE5zcjlpZHQvaTRZQ3FKU2U2bEIvK0dHL3ArOWp0TUxHTWpmU2tObkc3cHBhN1N2Nk5Wc0F4Z2JLc2tUdwotV1UvejdUN1kvYWZLNW9tQVBwSGZXZGR6Q2w1bytvOVZGaTVzY1l5anYyaU5Qa1JpVE1EaDRiRThSVm05dnhjZgotVE1IMTRUU2ExWTZPa2FUdXpKTGJVM1Y4eUpaNjdzMlNLODlUcmQ3NVNRK0I2Mm5aWWUrME5HKzZiMnMrRDk3eQotZXgyeDJFYmZLL254RUwyR3Y3L3hHNGdjcHp4bUtPYmhQcHNTCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2Lmt1LWRzX2tlLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYua3UtZHNfa2UuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODllMTdkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYua3UtZHNfa2UuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUnpDQ0FpK2dBd0lCQWdJQkhEQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOCi1BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZObzkzbnpSM1JCTmRKY3JpWnJBNTQ1RG84U3M4NkV4YlFXdVROCi1vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6Ci1OdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNCi10UUNRNGRxQ0VHWjlybFFyaTJWNWthSGlZY1BOUUVrSTdtZ004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQCi1oWXZhaTBSZTRoakdZaS9IWm8zNlhkaDk4eWVKS1FIRmtBNC9KL0V3eUVvTzc5YmV4OGNuYThjRlBYckVBanlhCi1IVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOZE1Gc3dDUVlECi1WUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Ci1Gb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RnWURWUjBQQVFIL0JBUURBZ1dnTUEwR0NTcUdTSWIzCi1EUUVCQ3dVQUE0SUJBUUJaQkRLaDZUUmtHaDlybzVsL1J2Ni9MRTlzbFRMQ3JBQWpDQTZmVDJkaWc2V3Npam1LCi1PTHdqanVXUmRLVCtTUHJtKzQyZGI0aisrS2NQVmsvSHdQTmtiY1hGN3NBSHkxM0RHaTQ3bWk3eVNLcUNpT1o4Ci1SVm5wQldqWkpwTXpYaTVsOFJnWEdLMTB2MkM0aVBYM0U3aVJ3K0NZVFpqT1dmam56SFVXcVE5M2V1M3M2T1UzCi0zRm9iclBGS1lrUzlDdnF2YkdCSXFwdjhUVEFvQXZVQXNqVWJRSFkyU2xxbEpMdzJEVW1ld21lQnpTMkl0TnlwCi1CTzM2N2xUbTAzeituRzc3cFpZT2hneGNoOEVBMlJjSXVvRUV4ajB0SFpjRzNKTE96NjBpanFxRzFseGpyVFhWCi1xTURSdHR1TDhqaXNla2o0Z1pEOTBUOUpkTUhwejhnb05oTzcKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYua3Uta2EuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5rdS1rYS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyNjg3NmIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5rdS1rYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURSekNDQWkrZ0F3SUJBZ0lCRmpBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERDQ0FTSXdEUVlKS29aSWh2Y04KLUFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNRk5vOTNuelIzUkJOZEpjcmlackE1NDVEbzhTczg2RXhiUVd1VE4KLW93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3oKLU50U2ordUd4ZHRpUXdXRzBabEkyb2laVHFxdDBYZ2Q5R1lMYkt0Z2ZvTmtOSEMxSlp2ZGJKWE5HNkF1S1Qya00KLXRRQ1E0ZHFDRUdaOXJsUXJpMlY1a2FIaVljUE5RRWtJN21nTThZdUcwa2EvMExpcUVRTWVmMWFvR2g1RUdBOFAKLWhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWEKLUhUNFA2RFNZVzh0elMxS1cyQkdpTElDSWFUbGEwdyt3M2xrdkVjZjM2aElCTUpjQ0F3RUFBYU5kTUZzd0NRWUQKLVZSMFRCQUl3QURBZEJnTlZIUTRFRmdRVXBRWG9aTGpjMzJBUFVCSk5ZS2hrcjAyTFE1TXdId1lEVlIwakJCZ3cKLUZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RGdZRFZSMFBBUUgvQkFRREFnTUlNQTBHQ1NxR1NJYjMKLURRRUJDd1VBQTRJQkFRQnNkOXdIaGNTa2NPL0F5ckhSdzMzUlZnZHlkb1VJY29wR0hDbmwrNlRoUWo5bE0yY0YKLWVoN1pkdTJHVnlkMnl5SWVJN2MrTjF3MU5PTHhYWWs0dnZpVTZKL0pvbDcwNlVlZmZsTUVNSEl3Z0pxYWtXZGoKLXVxOG83Q1RPRWhNcHpTRTZBZk5qMDJqTGIzcXJrb0pHQitTVEl3Z3gySVlkRHpUcklyMkNiMlQ5emJESkNRQmQKLWwyUFRWUjVpZC8rVXk0aCsyS05KemdSZ09VSVBjMGVGTjBhRTVhN0lIUngzcTdoNWgvRGJCYVFVNHRWbWFBWUYKLW8vNlhsQnZ3Vnhhbjg3dytoTGZuRkhVTzdlTWUwam5MdkgyTytNVzRaZVloNFZQMkpxN2NMSlFnVGZDYkZLOUwKLVBORzhnZmhXNzFyY01SVHh3S001cXppSjhoNlBlb21TZ2xzTwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5rdS1rZS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2Lmt1LWtlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2E1YzNjNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2Lmt1LWtlLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFJ6Q0NBaStnQXdJQkFnSUJGekFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBME1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkRENDQVNJd0RRWUpLb1pJaHZjTgotQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTgotb3dDSXArNGVhNWFuVXJTUTd5MXllajRrbXZ5Mk5Ld2s5WGZnSm1TTW5MQW9mYUhhNm96bXlSeVd2UDdCQkZLegotTnRTait1R3hkdGlRd1dHMFpsSTJvaVpUcXF0MFhnZDlHWUxiS3RnZm9Oa05IQzFKWnZkYkpYTkc2QXVLVDJrTQotdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UAotaFl2YWkwUmU0aGpHWWkvSFpvMzZYZGg5OHllSktRSEZrQTQvSi9Fd3lFb083OWJleDhjbmE4Y0ZQWHJFQWp5YQotSFQ0UDZEU1lXOHR6UzFLVzJCR2lMSUNJYVRsYTB3K3czbGt2RWNmMzZoSUJNSmNDQXdFQUFhTmRNRnN3Q1FZRAotVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJndwotRm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEZ1lEVlIwUEFRSC9CQVFEQWdVZ01BMEdDU3FHU0liMwotRFFFQkN3VUFBNElCQVFBdVIvZmdOaWZ2dFc2dWtMeHArVkZsWWFlbDNrQUdKcEtoZTI3MWZqa2FxaXlCQjlRdAotTmZGWDFIRHExaEplOGM4dWYrU2dGblk2cmcxQmpkY3RyRVU5MmF2UFlqaHBzeVlFdVNqdDlMQXRMZnBlTWFXRAotbHRlbThQTmgvbGtSK3YweHFlWXNEY0hUdi9vUjlOZkNJcW9QRldPUGxIN0N2TG93TmJJMDZEOEtrS2lXQWxMMQotdEM2MmRiNlQ1c09ybWNteWpMb0tVeWVyQnFDV0MrTU00RytBWE1kZnA1NC94TE92a1RxL0sxY3Uxb1JJR0lZTAotU1NBdFZlUlFYcXdnYUgyTTJFa043OWpvRjZYbmpHRzI3VE44ckNTN2d4Sm04N3ZaanRaaVNGdWd3aEZGSEZoWAotR21wOUlrQlZaS1FjaTFOYlRZMThsLzJ3eEZZSUN2NDg2c0FWCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItdjEtY2hhaW4uY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLXYxLWNoYWluLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFjMDAzYi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItdjEtY2hhaW4uY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlERVRDQ0Fma0NERk9pdHRralhieEZjL20zYkRBTkJna3Foa2lHOXcwQkFRc0ZBREJPTVJvd0dBWURWUVFECi1EQkZ6WlhKMlpYSXhMMmx1ZEMxallTMTJNVEVRTUE0R0ExVUVDd3dIZEdWemRHbHVaekVSTUE4R0ExVUVDZ3dJCi1VRzlzWVhKVFUwd3hDekFKQmdOVkJBWVRBazVNTUI0WERURTVNREl4TURFME5EUXdObG9YRFRJNU1ESXhNREUwCi1ORFF3Tmxvd1JERVFNQTRHQTFVRUF3d0hjMlZ5ZG1WeU1qRVFNQTRHQTFVRUN3d0hkR1Z6ZEdsdVp6RVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEN6QUpCZ05WQkFZVEFrNU1NSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCi1BUThBTUlJQkNnS0NBUUVBd1UyajNlZk5IZEVFMTBseXVKbXNEbmprT2p4S3p6b1RGdEJhNU0yakFJaW43aDVyCi1scWRTdEpEdkxYSjZQaVNhL0xZMHJDVDFkK0FtWkl5Y3NDaDlvZHJxak9iSkhKYTgvc0VFVXJNMjFLUDY0YkYyCi0ySkRCWWJSbVVqYWlKbE9xcTNSZUIzMFpndHNxMkIrZzJRMGNMVWxtOTFzbGMwYm9DNHBQYVF5MUFKRGgyb0lRCi1abjJ1VkN1TFpYbVJvZUpodzgxQVNRanVhQXp4aTRiU1JyL1F1S29SQXg1L1ZxZ2FIa1FZRHcrRmk5cUxSRjdpCi1HTVppTDhkbWpmcGQySDN6SjRrcEFjV1FEajhuOFRESVNnN3YxdDdIeHlkcnh3VTllc1FDUEpvZFBnL29OSmhiCi15M05MVXBiWUVhSXNnSWhwT1ZyVEQ3RGVXUzhSeC9mcUVnRXdsd0lEQVFBQk1BMEdDU3FHU0liM0RRRUJDd1VBCi1BNElCQVFCbXpkUlFWOGMwQWJUOCtJbFBmN0VwemZkaEJ3QnREajdOOEdQRUhMK05xUzFoSHQ3VEgzTDdqQk4zCi1DcUxVZ3JBUDFMRm1RcmpXNUlQWllOWkVBK0x4TU1qQWVodk9INzFwQnNGR3ZRT3B4MkN3bXFNODZzOUZJZ0lhCi16b2I3TDM0K3hWRVpmbVIwOVBzTGlUN2dGMTNodDBIa3ZWWjJoYUJVMGszdlY5N2FFVnZQdGJxcmxSNlJmTHJaCi04blhCRnQ1Q2t6R3hlcFM0d0JDVzRUckdYeHBNSjBXbm5oY0xKVm5FeFVkNlliekdQK2V3WENLZWdEMXdEWDZ6Ci1Vc0VWR0RRVjk3dTN0c3pGNDNreDBudS9RNURZTUNxSlYwa3BJc01CNDY3eFBuTnF5TWRHdFRiWnEySXM4b2o2Ci1WQStmY3RCZE4wQ1c0am8rcWtPaWYwbC9GOEF6Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURIVENDQWdVQ0RGT2l0c2NFelUyT3ZJQUx3VEFOQmdrcWhraUc5dzBCQVFzRkFEQlFNUnd3R2dZRFZRUUQKLURCTlFiMnhoY2xOVFRDQlVaWE4wSUVOQklIWXhNUkF3RGdZRFZRUUxEQWQwWlhOMGFXNW5NUkV3RHdZRFZRUUsKLURBaFFiMnhoY2xOVFRERUxNQWtHQTFVRUJoTUNUa3d3SGhjTk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXcKLU1UUTBOREEyV2pCT01Sb3dHQVlEVlFRRERCRnpaWEoyWlhJeEwybHVkQzFqWVMxMk1URVFNQTRHQTFVRUN3d0gKLWRHVnpkR2x1WnpFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEN6QUpCZ05WQkFZVEFrNU1NSUlCSWpBTkJna3EKLWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcVFJZlBVQnExVlZUaS8wMjdvSmxMaFZoWG9tL3VPaEYKLWtOdnVpQlpTMC9GRFVFZVdFbGxraDJ2OUsrQkcrWE8rM2MrUzRaRmI3V2FnYjRrcGVVV0EwSU5xMVVGRGQxODUKLWZBa0VSNEt3VnpsdzdhUHNGUmtlcURNSVI4RUZRcW45VE1PMDM5MEdIMDBRVVVCbmN4TVBRUGh0Z1NWZkNyRlQKLXhqQitGVG1zK1ZydWY1S2VwZ1ZiNXhPWGhiVWprdG5VSkFiVkNTV0pkUWZkcGhxUFB3a1p2cTFsTEdUcmxadmMKLS9rRmVGNmJhYkZ0cHpBSzZGQ3dXSkp4SzNNM1E5MUpuYy9FdG9DUDlmdlF4eWkxd3lva0xCTnN1cGs5d2JwN08KLXZWaUo0bE5abm01YWttWGlpRDhNbEJtajNlWG9uWlVUN1NuYnEzQVMzRnJLYXhlclVvSlVzUUlEQVFBQk1BMEcKLUNTcUdTSWIzRFFFQkN3VUFBNElCQVFCcmRZQUV6ZEg2cnl5WWFvbFl2cDhGdnEwd1p4cDZCZGN4dmkwTFVHbWIKLVRkV2NOclBVOUlZQVNjNVFTclNXUGowYzl2aExWYkRaQU9OZm45MnRoaTdDMnpRWG9rMlEzalcwMzh5Y05TWE4KLWxWeEZrZFk0R1lhM0U2T2cxTFZJeVN5emZ5eU51SEtLV2JCNXdaQ1diek9ndTJRMU1IU052UGhLamJEaHlHdFQKLU1xM1F5NlR5elVGYlhNUkJpeGNKQy9DeTR6c3F2V0JhblZ0Qm13bHZnRTRRNTBDVWd5YnpTRUlMNWorYVBMdVcKLWFqOGoyTlJCMis3dlBlb1dkOHJ5NVl4RUtCM0RSdVhISHl5Rm5UNU84TXBXdUNsNzY0cUZNYzhTL2k3eVZjbVoKLWVnWlF3MGRDbUU1SjRFR1gwQkVRRU0yNGxsMmU4U3hMMzUxaGJDUStFZnZGCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItdjEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLXYxLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTkwY2Q0Yi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjItdjEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlERVRDQ0Fma0NERk9pdHRralhieEZjL20zYkRBTkJna3Foa2lHOXcwQkFRc0ZBREJPTVJvd0dBWURWUVFECi1EQkZ6WlhKMlpYSXhMMmx1ZEMxallTMTJNVEVRTUE0R0ExVUVDd3dIZEdWemRHbHVaekVSTUE4R0ExVUVDZ3dJCi1VRzlzWVhKVFUwd3hDekFKQmdOVkJBWVRBazVNTUI0WERURTVNREl4TURFME5EUXdObG9YRFRJNU1ESXhNREUwCi1ORFF3Tmxvd1JERVFNQTRHQTFVRUF3d0hjMlZ5ZG1WeU1qRVFNQTRHQTFVRUN3d0hkR1Z6ZEdsdVp6RVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEN6QUpCZ05WQkFZVEFrNU1NSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCi1BUThBTUlJQkNnS0NBUUVBd1UyajNlZk5IZEVFMTBseXVKbXNEbmprT2p4S3p6b1RGdEJhNU0yakFJaW43aDVyCi1scWRTdEpEdkxYSjZQaVNhL0xZMHJDVDFkK0FtWkl5Y3NDaDlvZHJxak9iSkhKYTgvc0VFVXJNMjFLUDY0YkYyCi0ySkRCWWJSbVVqYWlKbE9xcTNSZUIzMFpndHNxMkIrZzJRMGNMVWxtOTFzbGMwYm9DNHBQYVF5MUFKRGgyb0lRCi1abjJ1VkN1TFpYbVJvZUpodzgxQVNRanVhQXp4aTRiU1JyL1F1S29SQXg1L1ZxZ2FIa1FZRHcrRmk5cUxSRjdpCi1HTVppTDhkbWpmcGQySDN6SjRrcEFjV1FEajhuOFRESVNnN3YxdDdIeHlkcnh3VTllc1FDUEpvZFBnL29OSmhiCi15M05MVXBiWUVhSXNnSWhwT1ZyVEQ3RGVXUzhSeC9mcUVnRXdsd0lEQVFBQk1BMEdDU3FHU0liM0RRRUJDd1VBCi1BNElCQVFCbXpkUlFWOGMwQWJUOCtJbFBmN0VwemZkaEJ3QnREajdOOEdQRUhMK05xUzFoSHQ3VEgzTDdqQk4zCi1DcUxVZ3JBUDFMRm1RcmpXNUlQWllOWkVBK0x4TU1qQWVodk9INzFwQnNGR3ZRT3B4MkN3bXFNODZzOUZJZ0lhCi16b2I3TDM0K3hWRVpmbVIwOVBzTGlUN2dGMTNodDBIa3ZWWjJoYUJVMGszdlY5N2FFVnZQdGJxcmxSNlJmTHJaCi04blhCRnQ1Q2t6R3hlcFM0d0JDVzRUckdYeHBNSjBXbm5oY0xKVm5FeFVkNlliekdQK2V3WENLZWdEMXdEWDZ6Ci1Vc0VWR0RRVjk3dTN0c3pGNDNreDBudS9RNURZTUNxSlYwa3BJc01CNDY3eFBuTnF5TWRHdFRiWnEySXM4b2o2Ci1WQStmY3RCZE4wQ1c0am8rcWtPaWYwbC9GOEF6Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDc0NTE5Ni4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOCi1BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZObzkzbnpSM1JCTmRKY3JpWnJBNTQ1RG84U3M4NkV4YlFXdVROCi1vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6Ci1OdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNCi10UUNRNGRxQ0VHWjlybFFyaTJWNWthSGlZY1BOUUVrSTdtZ004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQCi1oWXZhaTBSZTRoakdZaS9IWm8zNlhkaDk4eWVKS1FIRmtBNC9KL0V3eUVvTzc5YmV4OGNuYThjRlBYckVBanlhCi1IVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlECi1WUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Ci1Gb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFKa2xnM1E0Ci1jQjd2N0J6c3hNL3ZMeUtjY082b3AwL2daek00Z2h1THEyWTMya2wwc002a1NOVVVtZHV1cTN1LytHbVVaTjJBCi1PLzdjK0h3N2hERkVJdlprOThhQkdqQ0xxbjNEbWdISXY4VG9RNjduZWxsUXh4MlVqMzA5UGRnak5pL3I5SE9jCi1LTkFZUGJCY2c2TUpHV1dqMlRJNnZOYWNlaW9zL0RoT1l4NVYwajVuZnFTSi9wblUwZzlJZ24yTEFoZ1lwR0pFCi1pRU05d1c3aEVNa3dtazBoL3NxWnNySnNHSDVZc0YvVlRoU3EvSlZPMWUybVpIMnZydXlaS0pWQnErOHRETllwCi1Ia0s2dFN5VllRaHpJdDNTdE1KV0tNbC9vNWsyQVl6NnRTQzE2NCsxb0crTUwzTFdnOFhyR0thOTFINFVPS2FwCi1Bd2drMCs0bTBUMjVjTnM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Y2ZhOWFiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjMDMxOTAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MGE3NjRhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1NSUlFcEFJQkFBS0NBUUVBd1UyajNlZk5IZEVFMTBseXVKbXNEbmprT2p4S3p6b1RGdEJhNU0yakFJaW43aDVyCi1scWRTdEpEdkxYSjZQaVNhL0xZMHJDVDFkK0FtWkl5Y3NDaDlvZHJxak9iSkhKYTgvc0VFVXJNMjFLUDY0YkYyCi0ySkRCWWJSbVVqYWlKbE9xcTNSZUIzMFpndHNxMkIrZzJRMGNMVWxtOTFzbGMwYm9DNHBQYVF5MUFKRGgyb0lRCi1abjJ1VkN1TFpYbVJvZUpodzgxQVNRanVhQXp4aTRiU1JyL1F1S29SQXg1L1ZxZ2FIa1FZRHcrRmk5cUxSRjdpCi1HTVppTDhkbWpmcGQySDN6SjRrcEFjV1FEajhuOFRESVNnN3YxdDdIeHlkcnh3VTllc1FDUEpvZFBnL29OSmhiCi15M05MVXBiWUVhSXNnSWhwT1ZyVEQ3RGVXUzhSeC9mcUVnRXdsd0lEQVFBQkFvSUJBUUNYUjBTOEVJSEZHT1JaCi0rK0F0T2c2ZUVOeEQreFZzMGYxSWVHejU3VGpvM1FuWFg3VkJaTmRqK3AxRUN2aENFL0c3WG5rZ1U1aExaWCtHCi1aMGprei90cUpPSTB2UlNkTEJiaXBIbldvdXlCUTRlL0ExeUlKZGxCdHFYeEoxS0UvaXR1SFJiTmM0ajRrTDhaCi0vcjZwdnduVEkwUFN4MkVxczA0OFlkUzkyTFQ2cUF2NGZsYk5EeE1uMnVZN3M0eWNTNFE4dzFKWG5DZWFBblltCi1XWUk1d3hPK2J2UkVMUjJNY3o1RG1Wbkw4alJ5bWw2bDY1ODJiU3Y1b3VmUmVGSWJ5UFpiUVdsWGdZbnB1NkhlCi1HVGM3RTF6S1lRR0cvOStEUVVsLzF2UXVDUHFRd255MHRRb1gydzV0ZFlwZE1kVm0remtMdGJhanpkVHZpSkphCi1UV3pMNmx0NUFvR0JBTjg2K1NWZUpEY21RSmN2NEVxNlVodFJyNFFHTWlRTXowU29kNmV0dFl4WXpNZ3h0dzI4Ci1DSXJncG96Q2MrVWFaSkxvN1V4dkM2YW44NXIxYjJuS1BDTFFGYWdnSjBINFEwSi9zWk9oQklYYW9Celd4dmVLCi1udXBjZUtkVnhHc0ZpOENEeTg2REJmaXlGaXZmQmorNDdCYmFRelBCajdDNHJLN1VsTGphYjJyREFvR0JBTjJ1Ci1BTTJnY2hvRml1NHYxSEZMOEQ3bHdlRXBpNlpuTUpqbkV1L2RFZ0dRSkZqd2RwTG5QYnNqNGM3NW9kUTRHejhnCi1zdzlsYW85VlZ6YnVzb1JFL0pHSTRhVGRPMHBBVFh5RzdlRzFRdSs1WWMxWUdYY0NybGlBMnhNOXh4K2Q3ZitzCi1tUHpOK1dJRWc1R0pEWVpEakF6SEc1Qk52aS9GZk0xQzlkT3RqdjJkQW9HQUYwdDVLbXdialdIQmhjVnFPNEljCi1CVnZOM0JJbGMxdWUyWVJYRURseFk1YjByOE40WGNlTWdLbVcxOE9IQXBaeGZsOHVQRGF1V1pMWE9nbDR1ZXB2Ci13aFpDM0V1V3JTeXlJQ05oTFkyMUFoN2hiSUVCUEYzTDNac093QytVRXJMK2RYV0xkQjU2Smd5M2daYUJlVzdiCi12RHJFbm9jSmJxQ203SXVraFhIT0JLOENnWUVBd3FkSEIwaHF5TlN6SU9HWTd2OWFiekI2cFVkQTNCWmlRdkVzCi0zTGpIVmQ0SFBKMngwTjhDZ3JCSVdPRTBxOCswaFNNbWVFOTZXVy83akQzZlBXd0NSNXpsWGtueEJRc2Z2MGdQCi0zQkM1UFIwUWR5cHorZCs5emZNZjYyNWt5aXQ0VC9oendoRHZlWlV6SG5rMUNmK0lHN1ErVE9FbkxuV0FXQkVECi1JU09XbXJVQ2dZQUZFbVJ4Z3dBYy91K0Q2dDBzeUN3QVloNlBPdHNjcTlZMGk5R3lXazg5TnpnQzROZHd3YkJICi00QWdhaE94SXhYeDJneEpucTN5ZmtKZklqd2YwczJEeVAwa1kyeTZVYTFPZW9tUGVZOW1ySVM0dEN1RFE2THJFCi1UQjZsOVZHb3hKTDRmeUhuWmI4TDVnR3ZuQjFiYkQ4Y0w2WVBhRGlPaGNSc2VDOXZCaUV1Vmc9PQotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5rZXkuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmtleS5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5MDVjZTcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmtleS5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIua2V5LmVuYyBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5rZXkuZW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzNhYWFkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5rZXkuZW5jCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQotUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRAotREVLLUluZm86IEFFUy0yNTYtQ0JDLDNEREFERjVBRUE1MjVERDI4MkQ5RDVFMEI5NzhBRUUyCi0KLXRoUDBmeU5oSEVXdlZXSHBCU0dBQTRDNndscVd3dUNiWVRHVnM2R1cwN1lOaXl2SW5FL1h4dEtDckVKNk9ScFIKLXRQWjBzVHRtUkZRZ2lBVzRuU2pvbDZBaG5NQVlDa3QrYmwyb3BpaHVLSHIySUJLcEdJeXRDd1l3REIvc29NdzUKLS92WXVaVTNvc0VObldjditSMSswUG9oVTZlcW8xYlZCcmsrTXJtK1pTWDg4NnVETnhBYXFBVzlkdHNDN2ZaWVYKLXcvdUNPbGs3OHJ0ckpVT1RLZmgzVkVYRzFmYi9yWUFQN2JaWXd6a21KWlJvekZQempoblpaU09zc3o0eHdDd1kKLTA0b0hIck1ERkNwYkJtbFpSTGc2MGM1dTBuZHVReDNTS2lnOW82Z0hDRG9PWVQwQnE2NGx2WkxpUGN3TjdheFYKLUw3KzdUSjl1L2tBTE8wQ3FBbHRpdXoxOG1zYUVyWElFM3BIRUdEdDV6eGdVY0x4VDRJaGhpeFdmT0wwOW5xamwKLUlsdEVCbjBKQVZDM3FZc0V6RkducjNDMk5YTFRZSUZVOG0xcXRJeUVjOHZ1aEt3N0hDZ3AzVy94dzlmMmpLWkYKLUppdkZYODBVUnVCVHMyL1RXdUdCS1RtSUdMUUZXWVBLd2h5bDlITmJiSThxNVhkeEtOaVZ4RG5aZlBVL2ljZWYKLW5KK25NN21zcmt2WGo0U2RITy9pZityeFEwN1QvTUhmVThQZXFVTDJMUUF4WTRnZkJ2a0tKL1VBamZzSHYwQjIKLTFXY1pBdDB5cXJKdS95ZE9rUXB3bVEvWENoL2RJVE5ZbnhYWjBianRZNWZHK1FHeEEzUnZxeWZLYlFGVGk4cWcKLU54OGN4T1VEMWRad1o2S3Jvc2RTRkdrTmtad2dJV0FiSUs0TzNUTE41bEQ0MjAzMWt4NGlpS2x4ZGp3NlEyZGYKLU1FVkw2RnFZWGY0bjVNaEdRNW11NU1rRU85SURhei9pQmRtMmpra2pXYXhvek5DNTFyL2krU1R0c1ZRblkyZjIKLXB1YmVrRW5DT29xWE42Qmp1VkxOMjhYU1RMTFRsSjVpOXRkSU1sSUZVS2ZpTnBKak9UallCb3BaRWY1aG0zaDQKLW9sbHE2UWhXOURJSXNWdVlnU3B2b3lMWUxsNTdrdllnazFvR2hWMEtaeWg3SVB6UlhUakVCaU1UTytNWkVvSDAKLWYzeDJSVTNMdk1hZ2IzNnpXczZDU2hWL1R3QUUwOE13Ymk3VURXWVJISGFlTzJiY0tvRURHT1hpT2ZzWEU5SFcKLU9WbUFsSWhlUi9XMWVWQWNzekhjU1Z0WE9qbHNKMDJDZVZFY0FUbkpDazZVZzB2YzBUc3BDbndPQ3ZNOCtSbUUKLWpRMEU2R2VUNlIvRFZIVzlYQk5GeEZ4aVM2eVNkM3lvOXJLVkxkR0dQSG5zK3FtbFNNVEFmWVJPb1IxVjhVaVEKLTBUdmQxQ2ZWVkJlWUNtOVVyV1VYdkd6b0MzcnN0YkQ3U2luR2JkU1U0d0FUSVBlYit2MVR6L3ZWaHI4QW9STEoKLUpLM2pITUtDSEg1OVd4K3RrOEpkcUFtOGZnVUsvNjlBNStnaXRabE02c0FtbmZCSjZWbThocUFDTHBqUFhEV3kKLUxqTkR3V0dxZ1dncURPdWJZK1pKUXdqVUdRZFBkR2JFVUYwQUJaNnNpOXdXK1JWVkdTUEFmaUZxRTRiL1F3QS8KLVJaaDFubTdkYy8zZWxYeHdYUDYwTXlFc1ZkZEFQNjkxeGxEZEw5bVJwYkRNeC9KU3AvaEFCRm1kUE9FdHU1RUIKLTAyRFMzNytwT2RJMWtXa0ZpSTRra2NjWkwwNENUV0xXaDJseGIwUnFVcVFNZU9mNmovV1NUSjJJbjVldGJIU0IKLVI4SVFPc2ZSSU5tM2ZEMTFTWFhLVU03SXpNaTlWQkQ3VGJsTjJIUjlpWGJXN3R3YThPME1SSDgwNWVZK3Zqc00KLWtjWW9PdFdTaCtPRlA5dHhjd2ppWFVCbVZRRFB0YitteUdYbWNoU3BNSUZOVjJ0SFZ2Vm1VRkJTaXB5QUtyOTgKLTNZSTdtdldPMEFWV1hBcVJIWW1NM0RMamxFWENhdVhDamdWaWNDL0VVZEE1Q0FPOTVYL1pRVE53Qms4a1lqeSsKLS0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIua3UtZHMuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmt1LWRzLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDFlMTI1MS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIua3UtZHMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUnpDQ0FpK2dBd0lCQWdJQkxEQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOCi1BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZObzkzbnpSM1JCTmRKY3JpWnJBNTQ1RG84U3M4NkV4YlFXdVROCi1vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6Ci1OdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNCi10UUNRNGRxQ0VHWjlybFFyaTJWNWthSGlZY1BOUUVrSTdtZ004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQCi1oWXZhaTBSZTRoakdZaS9IWm8zNlhkaDk4eWVKS1FIRmtBNC9KL0V3eUVvTzc5YmV4OGNuYThjRlBYckVBanlhCi1IVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOZE1Gc3dDUVlECi1WUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Ci1Gb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RnWURWUjBQQVFIL0JBUURBZ2VBTUEwR0NTcUdTSWIzCi1EUUVCQlFVQUE0SUJBUUNjRHk1VldXMTMzZUwxVGVzVWtlanppQXo5UU5CSHZXa0tOczBqRjYrZlJnV2dGUDVZCi1FRTg3clFYMFoxWGl5VERCNExkS2ZpdlJpM1RNRDdFWDhvNnE5QzNIL2lsdTVhbnJnaGE4V3ppTXJ0di9zOUlGCi1RanB5SGRuWEdvWG1BOXVEcVFMdHVjUjV5ZXAzdXg0bWx3UzhHRzNJVWtwa2R5c05PclZ2U0FSbTBaYWdROXRuCi1ZWnlFakdkOHdQM2pLWU5KQUIyT2Rudlg5T3FCbUV5dlNtTXVjU2lka01rZExyVWNqbU90eitBa3FvUkdld3djCi1lQ2xzdGxwOE5FdVAzN3EyS0xZdGJRTXBpbzFLenNyM1BDZXkxVUltS05qYXV5cFMyRHB6bDFSbm1CdytjNUVuCi1TZExNYStuczNvZFJoRjBJdkVORGh6L21LWkp2d3Rvei9OQnoKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5rdS1kc19rZS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIua3UtZHNfa2UuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjIzMjQ1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5rdS1kc19rZS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURSekNDQWkrZ0F3SUJBZ0lCTURBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERDQ0FTSXdEUVlKS29aSWh2Y04KLUFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNRk5vOTNuelIzUkJOZEpjcmlackE1NDVEbzhTczg2RXhiUVd1VE4KLW93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3oKLU50U2ordUd4ZHRpUXdXRzBabEkyb2laVHFxdDBYZ2Q5R1lMYkt0Z2ZvTmtOSEMxSlp2ZGJKWE5HNkF1S1Qya00KLXRRQ1E0ZHFDRUdaOXJsUXJpMlY1a2FIaVljUE5RRWtJN21nTThZdUcwa2EvMExpcUVRTWVmMWFvR2g1RUdBOFAKLWhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWEKLUhUNFA2RFNZVzh0elMxS1cyQkdpTElDSWFUbGEwdyt3M2xrdkVjZjM2aElCTUpjQ0F3RUFBYU5kTUZzd0NRWUQKLVZSMFRCQUl3QURBZEJnTlZIUTRFRmdRVXBRWG9aTGpjMzJBUFVCSk5ZS2hrcjAyTFE1TXdId1lEVlIwakJCZ3cKLUZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RGdZRFZSMFBBUUgvQkFRREFnV2dNQTBHQ1NxR1NJYjMKLURRRUJCUVVBQTRJQkFRQjZ1N0QzdEFzQjc1YVpFY1VmdjJYeWVMWDRQOTltengyeU9CU3NQYUlEVFJ5djBYb1QKLXZiZ1VBN3ZpWC9GN0k4YjJrYzZpaFJYU3UvOThjN1ZyL3VTbTBMZlYzVk1nb0FYQkNXTmcvNWMvTjNjMFluWjIKLWltdXYweWVYdzVjSkkzaVlRSm1sbGF3ZHJHZ09zbGZQdU83a3FyRnQzdUdheWxJVHBWTFE3dzdpRHBQYkFGTTgKLWtQcE82Q015Q0ZpNm1pUVlvWmNoVFRQOVgzZHBicE5kQjJGbFNWVDU1SjZUSXZINXg0dDdYQ0ZKdXZZWUp4cmYKLThJM1VGUjNPbkJSNjI1elVIWEo2dVY4eUhHNXplKzRLMm45Q0hjeVg3enVaK2JCMGU4d0lTNlhmOTlNKzFBcEYKLUVTdlh3SEkwRnU4cy9QSitsZUQyOENSSlFNdUFPSklZQk1uUwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmt1LWthLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMi5rdS1rYS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlOTdlODIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmt1LWthLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFJ6Q0NBaStnQXdJQkFnSUJLakFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBME1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkRENDQVNJd0RRWUpLb1pJaHZjTgotQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTgotb3dDSXArNGVhNWFuVXJTUTd5MXllajRrbXZ5Mk5Ld2s5WGZnSm1TTW5MQW9mYUhhNm96bXlSeVd2UDdCQkZLegotTnRTait1R3hkdGlRd1dHMFpsSTJvaVpUcXF0MFhnZDlHWUxiS3RnZm9Oa05IQzFKWnZkYkpYTkc2QXVLVDJrTQotdFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UAotaFl2YWkwUmU0aGpHWWkvSFpvMzZYZGg5OHllSktRSEZrQTQvSi9Fd3lFb083OWJleDhjbmE4Y0ZQWHJFQWp5YQotSFQ0UDZEU1lXOHR6UzFLVzJCR2lMSUNJYVRsYTB3K3czbGt2RWNmMzZoSUJNSmNDQXdFQUFhTmRNRnN3Q1FZRAotVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJndwotRm9BVXRGcmtwYlBlMGxMMnVkV21sUS9yUHJ6SC9mOHdEZ1lEVlIwUEFRSC9CQVFEQWdNSU1BMEdDU3FHU0liMwotRFFFQkJRVUFBNElCQVFBeEpETXRscXBGSEt3NXltcXpnZm5tMGFZNTFQWk9YcHNQZm9lZDdWejJQelNCMmVKMAotSlFjK1F1TGhpcHB5OGhuUG1QWmcvSFEvZ2VkYnhGS1BpSWlZRWg4Nkd2bkJGb3pRK2M4c0UwaDZ0SmdWT0pKaQotQURVTmVWSm9xMDNXSXJvVE1xQUIwdVcwckhCK09GbTd1UndJREZyMmdXVnJLWktnL0tzRHJ4dG5nMndQT2diVQoteHZQUnROeWFPWmpWMEdqdUJoV3hwUFR4WHcyN2U1TXEzTVM1QjlwaVpnUFhtYW01bFpkT2UwTE5yYlFTaGZtUAotNG1rNGRyamRRYVVyTDNKTHBMdDhTNG9paFpVK2RPSGtZZFpWSFNBdXVHaWtaSzdxUGZFZFAveXJaVENndFk1NAotdlh4djQ3eFQ5TCtwV3RpVG9zQm1zeS9ld3ZXcHJWSkl4TGgzCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIua3Uta2UuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIyLmt1LWtlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFlNmNmMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjIua3Uta2UuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUnpDQ0FpK2dBd0lCQWdJQkt6QU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREEyV2hjTk1qa3dNakV3TVRRME5EQTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOCi1BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZObzkzbnpSM1JCTmRKY3JpWnJBNTQ1RG84U3M4NkV4YlFXdVROCi1vd0NJcCs0ZWE1YW5VclNRN3kxeWVqNGttdnkyTkt3azlYZmdKbVNNbkxBb2ZhSGE2b3pteVJ5V3ZQN0JCRkt6Ci1OdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNCi10UUNRNGRxQ0VHWjlybFFyaTJWNWthSGlZY1BOUUVrSTdtZ004WXVHMGthLzBMaXFFUU1lZjFhb0doNUVHQThQCi1oWXZhaTBSZTRoakdZaS9IWm8zNlhkaDk4eWVKS1FIRmtBNC9KL0V3eUVvTzc5YmV4OGNuYThjRlBYckVBanlhCi1IVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOZE1Gc3dDUVlECi1WUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVVwUVhvWkxqYzMyQVBVQkpOWUtoa3IwMkxRNU13SHdZRFZSMGpCQmd3Ci1Gb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RnWURWUjBQQVFIL0JBUURBZ1VnTUEwR0NTcUdTSWIzCi1EUUVCQlFVQUE0SUJBUUNlTnBIMmVTVVhwcTBDUGxFNlAxL2JKVzJmMHZLRldNblo2QjNlRkNkTUNjS0o2TFlWCi1CQTFEbjVHNUhFVzRtQk1KZnlNd0Q1c2tseUV6UURDZ0lEandzK0JSVWZsTXI3MUFlcmZlc0hJR2RXNGpBdzEwCi1hV3dGTWVzenpaNTRaYWhYMkdIUGN3V2ZUY2NTZjl0cFNhUk1sTkJFSXo4bGZiMmlFWjJIUjllQW1BcVlndFIxCi1SYlljc05mQzBvQllPQ1RSbXZYaSt3cEdjVVduK1ZiSXY2ckhyUVluV1hpUEF1UEpVcUlwTTB4OXEwa1Q2TkNpCi1MZmRoYVZWMkRQbnZCWUdSY1hYNzhKSzUvTVF0L3N2NEpTZWZScHZ4cFZRQ21ibzBhbXo3aFVNSEdDZmxBYnJvCi1GcHlCbGZjcGowbFNSb2FVOXgwbUNZenF3RFlkKzROSlpVR1QKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Njk4N2MzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyMy5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNYRENDQVVTZ0F3SUJBZ0lCRFRBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERCSk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFQkF6SUFCSDBBb1F5VWhQQUJTMzh5Njd1RVZzNE8zUlhtS0tyQmRVUjcvTDJRUEI4RUMycDUKLWZRY3NlajZFRmFzdmxUZEovNk5OTUVzd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZnUVU1QmRyTnJJR2lUcloKLVhrTzI0R1I5aDZ0OTNqY3dId1lEVlIwakJCZ3dGb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2Y4d0RRWUoKLUtvWklodmNOQVFFRkJRQURnZ0VCQUtTQ3VHQ1hjcERyVndSVmdIVmxVc3hBQ1JEVUgyUWlyc0xGQVVrMUNHc1IKLVNuaUJnV2krNUtHSzhmZDNUZitHa1ZlSVpvY2FmN3RuS20wWUpnOFc1UVBEbndyTUQyTDFTallGZ2M3cjFHNGYKLTU3OUZPbzBxUktkSmFiVFYwZTAyMlhGeU43N0pKSEFtOFJralpFbnpVdVc3azgvUm9oWThOQnpoK0tBQ3lIT2kKLTk2RGhHc0JwOUxHNlFJS0IxcnhpTng0d3EzV1V5Z2FNZ0ltb2FEUnFnQUZ4Smp3UkJFaGNzV3RVMkFtb09LZE8KLWh6UXArRXpFam4wNCtTY0pwTXpNRjRGWStrTGF6OVBsdkVPNjFhUXVac0MyZlVtaytNNnE4eGNCTkVkb0ZOdnYKLTBjT2w1TGl1ZXdiMzJzckFaV0NNcGJIRnhhVDlOZDNUeEp3RnhGQ0pwdmM9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjMua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXIzLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmVjZjQ0ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjMua2V5CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1GOENBUUVFR0l0VG9ncEU3QU9uanZZdVRxbSs5T2FibXNYMDJYS0lBcUFLQmdncWhrak9QUU1CQWFFMEF6SUEKLUJIMEFvUXlVaFBBQlMzOHk2N3VFVnM0TzNSWG1LS3JCZFVSNy9MMlFQQjhFQzJwNWZRY3NlajZFRmFzdmxUZEoKLS93PT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjQxMzRkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNuVENDQWlHZ0F3SUJBZ0lCQ0RBTUJnZ3Foa2pPUFFRREFnVUFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFUQWUKLUZ3MHhPVEF5TVRBeE5EUTBNREJhRncweU9UQXlNVEF4TkRRME1EQmFNRFF4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1JSUJJakFOQmdrcWhraUcKLTl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFxOWVNdmxWOWh6c1ArMnU2b1NsaHhseStWU0dlNEkwTWx5MWcKLU1rdStCaGlQbTdFUEVzY0ZlK2NRY3VBN2tyNldtemphbjZ2OTEzaWdUcmkyMUdoNWxsUyt2N3Q0R2RiZm1mUVMKLWs4QWlUMGJDNzYrRHNaL0dhSitBaEh5Rm1jNUNTM1k2Tysra0tFOExHOVJxS1cwSGpuUWpPSDZZUXIrRmdXdjcKLXNtVTJmRkhWZENWdHZJTXpzUnkzVWZCaHk1TGN3R1VHcXJUanduN1FvU1JCY2dKS01wNGNXQnIxNE1LcjRuSisKLXA3bHUzUXJmU0dYVTNUWHJnSHRxaUhUd1NpYVo3NXBLNEN6UDR5d25lYnNBN1lOUmgyc1BHV3VUTFZDdTlGWloKLTlmUjN4Mk5NejY0ZE9qVU8rSkV6cWozNC8wTitnVjNuZjluUXFiVGV4VXRCYTlTdUVRSURBUUFCbzAwd1N6QUoKLUJnTlZIUk1FQWpBQU1CMEdBMVVkRGdRV0JCVEFsQW0xKzBMNDFtaHFZV2pGaWVqc1JWckdlVEFmQmdOVkhTTUUKLUdEQVdnQlNkYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBTUJnZ3Foa2pPUFFRREFnVUFBMmdBTUdVQ01RREIKLWVrMDBFM3VIUHduVURCVkFQUkpUaHNqMm1Rci9NU0NUd1JNTlhuTmxraTlMdXgwcUdkNnV2aHA1djMxSTdWMEMKLU1EaUNId0VtNTVzVTRnV3JBeFlWS1ZWVjlxTVRHMk1veTRZbkpERGx4d3B5WFB0YTVBYzJGViswQWJJbkJYU00KLUJnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNC5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjQua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTRkYWVlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNC5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0tLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCi1NSUlFcEFJQkFBS0NBUUVBcTllTXZsVjloenNQKzJ1Nm9TbGh4bHkrVlNHZTRJME1seTFnTWt1K0JoaVBtN0VQCi1Fc2NGZStjUWN1QTdrcjZXbXpqYW42djkxM2lnVHJpMjFHaDVsbFMrdjd0NEdkYmZtZlFTazhBaVQwYkM3NitECi1zWi9HYUorQWhIeUZtYzVDUzNZNk8rK2tLRThMRzlScUtXMEhqblFqT0g2WVFyK0ZnV3Y3c21VMmZGSFZkQ1Z0Ci12SU16c1J5M1VmQmh5NUxjd0dVR3FyVGp3bjdRb1NSQmNnSktNcDRjV0JyMTRNS3I0bkorcDdsdTNRcmZTR1hVCi0zVFhyZ0h0cWlIVHdTaWFaNzVwSzRDelA0eXduZWJzQTdZTlJoMnNQR1d1VExWQ3U5RlpaOWZSM3gyTk16NjRkCi1PalVPK0pFenFqMzQvME4rZ1YzbmY5blFxYlRleFV0QmE5U3VFUUlEQVFBQkFvSUJBSG54dFl2Z0NQdHRHMU5VCi15SlRUVS9JN0lFb3pXSmFMSVpNcWZTaFQvWjQvMGJFdmZiM2FnL2JBS3prS0ROeCs2VXR2bGgxWEpRVENNaWlMCi1CaHRIcEhqYzNKd2RBZ1o4S0NNTlJCMmJhLzJML291dXBxcm04aHFPamRuMnI2eE01Vmk5cG1lZ0VJTVdUSkRNCi1OU1grbkMwb0YxSmc2OVg2S1ZpRmM1RE9LRk1oYWNTRXdMSmt2L0VxQ2dkV2FCb3FNbFR0VFdLZG0zNHhTTjJMCi1QNW85a09naWhUQk5VVW5WQlVXSmlUN0M2YkJBRndiMXJFQ3B2Tk9rNmgrbHZHK2ZTRFpLWWR3QnJBc0tzcEl5Ci0vYVhaRDRxYWljZWZHYmxySGNadjJvZy96WWtGczRyaVdOT21nbHhaeXJLLzNyRkZrMEI4bUJrMW1XUXZySzcrCi1KcS9SNGswQ2dZRUEwaE8yOWhKamVUQkRkT1dnenlYcjV1cHBtUjFXVTdmdi9KeThQTFJNdlV2bWlNUXFSREszCi16d0djNkg5Mzh3ZHN1YnBkVENMUGhxMHJoRENUcXR3SUVBdUZqWklZSnM0eVp6Znk2a2xhRDM1MTZpSWdiK1c3Ci1mZTFSa1lNQnA5d1YweDI3MnZ6UDRZNXAvZnpwNXhodk41Mk9raFFzakhSSGV3ZkRhVXdTRlNjQ2dZRUEwV2dpCi1rR1ZLNk94em9NQ2dpV3gvTCt5M3lyWXVIZFdBTlRJSWE1UnZaazRVUXFFRmtHWUdWUDFycGJCL2ZBYTFZcWV2Ci1xWGtMWnFhZDJkaEpDdUJWcnlHdDI5Q0hzYm5FUS9RdVR3bEdteVpqMVU4Tm5KQmdOQ1BUZG1HVEJJbS83dzlTCi1FU1o0OGJVbGNxenNabjFCaWcvQTZKWDFlNWk5Yi8xanlvek5WZ2NDZ1lFQW5SWmM0OWlRUlpqUGVHUVZRWkVMCi11NXBoNkRyRnlNaHNUaXN0bnY3N3V6azhZOXk3OWs4dW56NkhoRnQ4NkdBTzd6cnFkUG82MEd4QmRCR1crbGFhCi1PTlZFd3I0U0RVSjI4alFtRXdkU3J1OVRZUWF2MXJ5azNOOU85VTVQT0tRY05jZXdKMnFRVUF2Y09pNmJBVkdHCi1LTUpLVC9XQjhtMG8zbGpKeUwwM2NGVUNnWUJvSEZUcTQyRmQ4b2orU0NiSWpDZWo1Ulh2YzZuejdUemp0YTlZCi1CU0ZwaExJditpeHhBVGh1c3R2OU1ZWUFYTGw3aGhFZ3VleUFLYUJiT1Z2L1MwOXVWZGxCYXlpN3BMYytiYjFFCi1VRUZKUzhuZ3VILzA4aGJTZFdsaDl0c0lLNUJBUTZheW5pVU5UdG1DYlJUUFU4RHM2aTRudEw2cXAyS3Z0aFFTCi1GUFRWcXdLQmdRQzhtMnNKYXBNbXMwLzdFZUdwVXdNTytXTkNIZVJ5dWpucmlXWUw4S21zMGxtQW44TnJRb0E1Ci13Z2J4MG5aL1ZyWHRMUEdIeTkxNWp4RFhPVTFZYzJncUVmNVFtL0duQnlVdW1sMW1VU2xkaVBjaVNKdkt6TXFQCi1MZVduYjYySEQ2MHQvendzdE4yMFl6dDZtQkxvY20xUFBkUGhQd2VJL0VGNnBTZ3ZsdzVOVHc9PQotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY0MWY3MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtYmFkc2lnbi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNJRENDQWFXZ0F3SUJBZ0lCQ1RBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTJXaGNOTXpNd05URTBNRGN4TURNMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMkNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEKLTJDTVIvK292MGpSZFhSYTlpb2pDYTNjTlZjMktLZzc2QWNpMDdmK2pnWjB3Z1pvd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGgKLWNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bb0cKLUNDcUdTTTQ5QkFNQ0Eya0FNR1lDTVFEZzZwN1BQZnIyK243bkd2eWEzcFU0dXN0M2s3T2JrNC90WlgrdUhIUlEKLXFhY2NzeVVMZUZOemt5UnZXSEZlVDVzQ01RQ3pESlg3OUlpN2hJTFl6YS9pWFdKZS9CakpFRThNdGVDUkdYRE4KLTA2akMrQkxnT0gxS1FWOUFycUVoM0FoT2hFMD0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1kZXIwLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1kZXIwLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWUwYTAwOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyMC5jcnQKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyMWEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWRlcjFhLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE0MzI5OC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyMWEuY3J0CisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWRlcjFiLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1kZXIxYi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5ODk2NzkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWRlcjFiLmNydAorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1kZXIyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1kZXIyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZhZDE0Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyMi5jcnQKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyNC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyNC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjZWVkNDEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWRlcjQuY3J0CisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWRlcjguY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWRlcjguY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2ZmZDJmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1kZXI4LmNydAorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1kZXI5LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1kZXI5LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE4ZjlhMS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyOS5jcnQKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZXhwaXJlZC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtZXhwaXJlZC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3MjZlNWMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWV4cGlyZWQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDSGpDQ0FhV2dBd0lCQWdJQkhqQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNVEUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1NRFF3TXpFd01USXdPVE13V2hjTk1UUXdNekE0TVRJd09UTXdXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2hNSVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNVENXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHCi1DQ3FHU000OUF3RUhBMElBQkRmTVZ0bDJDUjVhY2o3SFdTMy9JRzd1ZlBrR2tYVFFyUlMxOTJnaVdXS1NUdVVBCi0yQ01SLytvdjBqUmRYUmE5aW9qQ2EzY05WYzJLS2c3NkFjaTA3ZitqZ1owd2dab3dDUVlEVlIwVEJBSXdBREFkCi1CZ05WSFE0RUZnUVVVR0dsajlRSDJkZUNBUXpsWlgrTVkwYW5FNzR3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCCi1QeXZMZUxVWnZINGt5ZHY3Tm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0V3aFFiMnhoCi1jbE5UVERFY01Cb0dBMVVFQXhNVFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQW9HCi1DQ3FHU000OUJBTUNBMmNBTUdRQ01DRHh2RG1obHJFazByNGhxQ3d2UUR4V0VvWFBiYkQxZ2dsZkxUM0JzR3B1Ci1YSFVRMVcySHdCM28vN041STEzQkJnSXdjbUcxN3p5TklPa1lpeUV4WXRQQ1pDcGJvZkVNcFJZNXFXRzBLNllMCi1mTjA4alN6eUZ0NmtiTzRhazBENnRDNVEKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1mdXR1cmUuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWZ1dHVyZS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2OWM4NGIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LWZ1dHVyZS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNIakNDQWFXZ0F3SUJBZ0lCSFRBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1URTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU16SXdNekV3TVRFd05ERXhXaGNOTkRJd016QTRNVEV3TkRFeFdqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDaE1JVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1UQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMkNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEKLTJDTVIvK292MGpSZFhSYTlpb2pDYTNjTlZjMktLZzc2QWNpMDdmK2pnWjB3Z1pvd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLRXdoUWIyeGgKLWNsTlRUREVjTUJvR0ExVUVBeE1UVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bb0cKLUNDcUdTTTQ5QkFNQ0EyY0FNR1FDTUFaV2NiK05ZeEZWSytXNlo1ZWtuTTJUcmJxUUdaRVlIUVhlVjkvWEYwdDcKLVRMRGhBNmEvcEZEVEpWWnVuRnplc2dJd2Zxa0JZdXZNa2lObFM0bFdjVnlmOEw0Q1pJSENuMXlIbk9DeHU4aXgKLXVxZ0xiNG5hM2k5NHg5dXJnYlpaWWZWSwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZWFmZTcwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1zZWxmc2lnbmVkLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnh6Q0NBVzJnQXdJQkFnSU1VNkxMU3hKT3JZTjlxSlN5TUFvR0NDcUdTTTQ5QkFNQ01FY3hFekFSQmdOVgotQkFNTUNuTmxiR1p6YVdkdVpXUXhFREFPQmdOVkJBc01CM1JsYzNScGJtY3hFVEFQQmdOVkJBb01DRkJ2YkdGeQotVTFOTU1Rc3dDUVlEVlFRR0V3Sk9UREFlRncweU16QTFNRGt3TWpRNU5UZGFGdzB6TXpBMU1EWXdNalE1TlRkYQotTUVjeEV6QVJCZ05WQkFNTUNuTmxiR1p6YVdkdVpXUXhFREFPQmdOVkJBc01CM1JsYzNScGJtY3hFVEFQQmdOVgotQkFvTUNGQnZiR0Z5VTFOTU1Rc3dDUVlEVlFRR0V3Sk9UREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSAotQTBJQUJEZk1WdGwyQ1I1YWNqN0hXUzMvSUc3dWZQa0drWFRRclJTMTkyZ2lXV0tTVHVVQTJDTVIvK292MGpSZAotWFJhOWlvakNhM2NOVmMyS0tnNzZBY2kwN2YralB6QTlNQXdHQTFVZEV3RUIvd1FDTUFBd0RnWURWUjBQQVFILwotQkFRREFnZUFNQjBHQTFVZERnUVdCQlJRWWFXUDFBZloxNElCRE9WbGY0eGpScWNUdmpBS0JnZ3Foa2pPUFFRRAotQWdOSUFEQkZBaUFYaUp4RHJkNWFMekdCL1VjM2tZQklCdVNVSU1Hdm9sMmM4RXZ3bUYzem1RSWhBUEZyS01nQQotczJhd3pvL1BCQjVnRlRrRHViODh3Ull3UzFSOUpQWUNYVU8wCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtc2hhMS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtc2hhMS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMTQxODMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDSGpDQ0FhU2dBd0lCQWdJQkNUQUpCZ2NxaGtqT1BRUUJNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lECi1WUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFUQWVGdzB5Ci1NekExTVRjd056RXdNemRhRncwek16QTFNVFF3TnpFd016ZGFNRFF4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lECi1WUVFLREFoUWIyeGhjbE5UVERFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1Ga3dFd1lIS29aSXpqMENBUVlJCi1Lb1pJemowREFRY0RRZ0FFTjh4VzJYWUpIbHB5UHNkWkxmOGdidTU4K1FhUmROQ3RGTFgzYUNKWllwSk81UURZCi1JeEgvNmkvU05GMWRGcjJLaU1KcmR3MVZ6WW9xRHZvQnlMVHQvNk9CblRDQm1qQUpCZ05WSFJNRUFqQUFNQjBHCi1BMVVkRGdRV0JCUlFZYVdQMUFmWjE0SUJET1ZsZjR4alJxY1R2akJ1QmdOVkhTTUVaekJsZ0JTZGJTQWtTUUUvCi1LOHQ0dFJtOGZpVEoyL3MyZktGQ3BFQXdQakVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5Ci1VMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjBJRVZESUVOQmdna0F3VVBpZm1KRHpPZ3dDUVlICi1Lb1pJemowRUFRTnBBREJtQWpFQW5iaEo0Ty94NmJjQmdCMEZuWDQ0cTlqOXBqQllITjlaSzU5Ykh4cWVyaHlKCi0xMkRsVmJOb09vbmxrRllWVXNnQ0FqRUFtblVvbEt1K1hVdFMyaXMzZDBNMlY2Y1B3WnhxNXFJMCt3QlI3OS9wCi1OUmpGT2x5UDY5T1dzOUNJMmN5WUxiR2MKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1zaGEyMjQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTIyNC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkMDFiMTAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTIyNC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNIekNDQWFXZ0F3SUJBZ0lCQ1RBS0JnZ3Foa2pPUFFRREFUQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTNXaGNOTXpNd05URTBNRGN4TURNM1dqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMkNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEKLTJDTVIvK292MGpSZFhSYTlpb2pDYTNjTlZjMktLZzc2QWNpMDdmK2pnWjB3Z1pvd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGgKLWNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bb0cKLUNDcUdTTTQ5QkFNQkEyZ0FNR1VDTVFEbEN2dHZDQWdKRGlHUW5xT1l3em1lYWZ5eU5icFNSWndjcFY4NEZTa20KLXB3S3cyalR2M1dhWHVqU051N0I2MkdvQ01FOTdvTEJHU2dpT01ENVFVRWRPakFCa0NWNEUyc2x5dms0R2s3MWMKLTllOTJWZ0EzcktQUlhsdndBQ1BzYkZJUUpRPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1zaGEzODQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTM4NC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkZTZmOGMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTM4NC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNIekNDQWFXZ0F3SUJBZ0lCQ1RBS0JnZ3Foa2pPUFFRREF6QStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTNXaGNOTXpNd05URTBNRGN4TURNM1dqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMkNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEKLTJDTVIvK292MGpSZFhSYTlpb2pDYTNjTlZjMktLZzc2QWNpMDdmK2pnWjB3Z1pvd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGgKLWNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bb0cKLUNDcUdTTTQ5QkFNREEyZ0FNR1VDTVFEUFYzcmJKWDZyaWdSNVNKUUdOenFmcmVxOFkzTyttbEFRa3VvOXNpY1UKLWxsVlhqTjNnNDFkT0ptYUVPMnlIak1RQ01DZWNYTFFzWWpRbjJ3UGgvWHlFK1BMNDhZcDArWTYrSEVIQ2pMazMKLUpPVFFxbzczYTl4Tit5aHJ1ZDJzc1Q4MzB3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1zaGE1MTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTUxMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiZWE4YzIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTUxMi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNIakNDQWFXZ0F3SUJBZ0lCQ1RBS0JnZ3Foa2pPUFFRREJEQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTNXaGNOTXpNd05URTBNRGN4TURNM1dqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMkNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEKLTJDTVIvK292MGpSZFhSYTlpb2pDYTNjTlZjMktLZzc2QWNpMDdmK2pnWjB3Z1pvd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGgKLWNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bb0cKLUNDcUdTTTQ5QkFNRUEyY0FNR1FDTUVla2JQRDhHUVFtSzF1SjN3WGdDL1ZkUmRmbUVCTS91cmttWFlJTmNIcnoKLUU2eExwRkUvanhaMHdiNVNYdGVMdFFJd1o4WkpJRExueEdjaVgvbXRmeDBkT0lJM2JuYTcyeVJrR2ZUKzBiL0MKLXNqOUt2VnVRMHkxb2FQOVJiZzM1ZGJjSAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNzLWV4cGlyZWQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXNzLWV4cGlyZWQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODdjZTk4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1zcy1leHBpcmVkLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjFqQ0NBWDJnQXdJQkFnSUpBTmhrWVFYam84MTRNQW9HQ0NxR1NNNDlCQU1DTUVneEN6QUpCZ05WQkFZVAotQWxWTE1SRXdEd1lEVlFRS0RBaHRZbVZrSUZSTVV6RVNNQkFHQTFVRUN3d0pkR1Z6ZEhOMWFYUmxNUkl3RUFZRAotVlFRRERBbHNiMk5oYkdodmMzUXdIaGNOTURjd05qSTNNRGt5TnpFMVdoY05NVGN3TmpJM01Ea3lOekUxV2pCSQotTVFzd0NRWURWUVFHRXdKVlN6RVJNQThHQTFVRUNnd0liV0psWkNCVVRGTXhFakFRQmdOVkJBc01DWFJsYzNSegotZFdsMFpURVNNQkFHQTFVRUF3d0piRzlqWVd4b2IzTjBNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRAotUWdBRU44eFcyWFlKSGxweVBzZFpMZjhnYnU1OCtRYVJkTkN0RkxYM2FDSlpZcEpPNVFEWUl4SC82aS9TTkYxZAotRnIyS2lNSnJkdzFWellvcUR2b0J5TFR0LzZOUU1FNHdIUVlEVlIwT0JCWUVGRkJocFkvVUI5blhnZ0VNNVdWLwotakdOR3B4TytNQjhHQTFVZEl3UVlNQmFBRkZCaHBZL1VCOW5YZ2dFTTVXVi9qR05HcHhPK01Bd0dBMVVkRXdRRgotTUFNQkFmOHdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdJQVE0N2dtVHNiQThwcGhRMWpCZUxRRHA3Vzk5cXI2UAotb1RsNy92WVNKSmNDSUN4TlNKR0xyTnU4VGZXTGhnSmlSc296TVI5akdocCt0c2UxcmxHVVVKTDYKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1zcy1mb3JnZWNhLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS1zcy1mb3JnZWNhLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y1YmQ2ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtc3MtZm9yZ2VjYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJrekNDQVRtZ0F3SUJBZ0lCVFRBS0JnZ3Foa2pPUFFRREFqQktNUXN3Q1FZRFZRUUdFd0pWU3pFUk1BOEcKLUExVUVDZ3dJYldKbFpDQlVURk14S0RBbUJnTlZCQU1NSDIxaVpXUWdWRXhUSUZSbGMzUWdhVzUwWlhKdFpXUnAKLVlYUmxJRU5CSURNd0hoY05Nak13TlRFM01Ea3hOREl4V2hjTk16TXdOVEUwTURreE5ESXhXakJLTVFzd0NRWUQKLVZRUUdFd0pWU3pFUk1BOEdBMVVFQ2d3SWJXSmxaQ0JVVEZNeEtEQW1CZ05WQkFNTUgyMWlaV1FnVkV4VElGUmwKLWMzUWdhVzUwWlhKdFpXUnBZWFJsSUVOQklETXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUTMKLXpGYlpkZ2tlV25JK3gxa3QveUJ1N256NUJwRjAwSzBVdGZkb0lsbGlrazdsQU5nakVmL3FMOUkwWFYwV3ZZcUkKLXdtdDNEVlhOaWlvTytnSEl0TzMvb3hBd0RqQU1CZ05WSFJNRUJUQURBUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0EKLU1FVUNJUUQwZjNHSDljRUo3Y0pXUElmd0FMLzFjR1JFcU8vL08vMVhnZ1dadi9jbG5RSWdRbWxNekd6dVVESHEKLS9tVGdHUTljZVNBQjlCOWltOXJjZ1k2RFJGWlVMblk9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi1tYWxmb3JtZWQtbGVuLmNydC5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi1tYWxmb3JtZWQtbGVuLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyNmRhNmMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4tbWFsZm9ybWVkLWxlbi5jcnQuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiZDA2ZjguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZWFiOTk5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNJRENDQWFXZ0F3SUJBZ0lCQ1RBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTJXaGNOTXpNd05URTBNRGN4TURNMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMkNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUEKLTJDTVIvK292MGpSZFhSYTlpb2pDYTNjTlZjMktLZzc2QWNpMDdmK2pnWjB3Z1pvd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGgKLWNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bb0cKLUNDcUdTTTQ5QkFNQ0Eya0FNR1lDTVFEZzZwN1BQZnIyK243bkd2eWEzcFU0dXN0M2s3T2JrNC90WlgrdUhIUlEKLXFhY2NzeVVMZUZOemt5UnZXSEZlVDVzQ01RQ3pESlg3OUlpN2hJTFl6YS9pWFdKZS9CakpFRThNdGVDUkdYRE4KLTA2akMrQkxnT0gxS1FWOUFycUVoM0FoT2hFZz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlMGEwMDguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0Lm9wZW5zc2wudjNfZXh0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydC5vcGVuc3NsLnYzX2V4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTk0ZTkwYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0Lm9wZW5zc2wudjNfZXh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1iYXNpY0NvbnN0cmFpbnRzID0gQ0E6ZmFsc2UKLXN1YmplY3RLZXlJZGVudGlmaWVyPWhhc2gKLWF1dGhvcml0eUtleUlkZW50aWZpZXI9a2V5aWQ6YWx3YXlzLGlzc3VlcjphbHdheXMKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5la3UtY2xpLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5la3UtY2xpLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQwNDU1OS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LWNsaS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUI2ekNDQVc2Z0F3SUJBZ0lCUERBTUJnZ3Foa2pPUFFRREFnVUFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFUQWUKLUZ3MHhPVEF5TVRBeE5EUTBNRFphRncweU9UQXlNVEF4TkRRME1EWmFNRFF4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1Ga3dFd1lIS29aSXpqMEMKLUFRWUlLb1pJemowREFRY0RRZ0FFTjh4VzJYWUpIbHB5UHNkWkxmOGdidTU4K1FhUmROQ3RGTFgzYUNKWllwSk8KLTVRRFlJeEgvNmkvU05GMWRGcjJLaU1KcmR3MVZ6WW9xRHZvQnlMVHQvNk5sTUdNd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdId1lEVlIwakJCZ3dGb0FVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnd3RmdZRFZSMGxBUUgvQkF3d0NnWUlLd1lCQlFVSEF3SXdEQVlJS29aSXpqMEUKLUF3SUZBQU5wQURCbUFqRUFvQzFYeGc4WHQzdHZNMlpFUjRqQ1J2N2lTWVBXR2dOdGNZTkpqM0cwbGIwUFlpMWwKLU5kMGNxZEd4eWRobTdSSkxBakVBcEFFOGtvRDFjY0lQblNGVGFnVDdzaE9TejEvbE9VNHd3QVdzd2N3b2x6dDMKLXhydkZsTW9UZUp4M3NTM1pxZHI4Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LWNzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5la3UtY3MuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDBiYzNiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5la3UtY3MuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCNmpDQ0FXNmdBd0lCQWdJQk9qQU1CZ2dxaGtqT1BRUURBZ1VBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERWNNQm9HQTFVRUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEFlCi1GdzB4T1RBeU1UQXhORFEwTURaYUZ3MHlPVEF5TVRBeE5EUTBNRFphTURReEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERVNNQkFHQTFVRUF3d0piRzlqWVd4b2IzTjBNRmt3RXdZSEtvWkl6ajBDCi1BUVlJS29aSXpqMERBUWNEUWdBRU44eFcyWFlKSGxweVBzZFpMZjhnYnU1OCtRYVJkTkN0RkxYM2FDSlpZcEpPCi01UURZSXhILzZpL1NORjFkRnIyS2lNSnJkdzFWellvcUR2b0J5TFR0LzZObE1HTXdDUVlEVlIwVEJBSXdBREFkCi1CZ05WSFE0RUZnUVVVR0dsajlRSDJkZUNBUXpsWlgrTVkwYW5FNzR3SHdZRFZSMGpCQmd3Rm9BVW5XMGdKRWtCCi1QeXZMZUxVWnZINGt5ZHY3Tm53d0ZnWURWUjBsQVFIL0JBd3dDZ1lJS3dZQkJRVUhBd013REFZSUtvWkl6ajBFCi1Bd0lGQUFOb0FEQmxBakJsTVU3RmgxOGNlbDIwUDNyWTdlc3Z0UExESFFRS1dTQ085MVhISGtaaTF6UlBxMnB4Ci1ud1ZIYXlYbk9TM0NQUnNDTVFDUURZVHlWTVM4b0VJcm0wWFBJNkhyYkNNVXEyYmhQd2FZcGVsVS9hc096WUkzCi1nT2pHQ0RGSHR5ZWRKSFZLMHJzPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1jc19hbnkuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1jc19hbnkuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MTJkOTI5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5la3UtY3NfYW55LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjhEQ0NBWFNnQXdJQkFnSUJPekFNQmdncWhrak9QUVFEQWdVQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFdwotRHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVRBZQotRncweE9UQXlNVEF4TkRRME1EWmFGdzB5T1RBeU1UQXhORFEwTURaYU1EUXhDekFKQmdOVkJBWVRBazVNTVJFdwotRHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVTTUJBR0ExVUVBd3dKYkc5allXeG9iM04wTUZrd0V3WUhLb1pJemowQwotQVFZSUtvWkl6ajBEQVFjRFFnQUVOOHhXMlhZSkhscHlQc2RaTGY4Z2J1NTgrUWFSZE5DdEZMWDNhQ0paWXBKTwotNVFEWUl4SC82aS9TTkYxZEZyMktpTUpyZHcxVnpZb3FEdm9CeUxUdC82TnJNR2t3Q1FZRFZSMFRCQUl3QURBZAotQmdOVkhRNEVGZ1FVVUdHbGo5UUgyZGVDQVF6bFpYK01ZMGFuRTc0d0h3WURWUjBqQkJnd0ZvQVVuVzBnSkVrQgotUHl2TGVMVVp2SDRreWR2N05ud3dIQVlEVlIwbEFRSC9CQkl3RUFZSUt3WUJCUVVIQXdNR0JGVWRKUUF3REFZSQotS29aSXpqMEVBd0lGQUFOb0FEQmxBakVBODkrbDhnTkMwSDc1VHpkei83NVc2RWpHU3paM201MFM0Y0s1akQ2KwotWlpMcFJjYklxUHFNVDJNTmtDbTdJbU5wQWpBbFRrRkxWQ0duVE5YL3E3UVdPcng4YVBYWEFlWnRZNU5GeGQ2NgotRUpKYitZSFRRODBoWmhMV1g4L1FhQUpqbmlVPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1zcnYuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1zcnYuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTczYWZjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjZqQ0NBVzZnQXdJQkFnSUJQakFNQmdncWhrak9QUVFEQWdVQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFdwotRHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVRBZQotRncweE9UQXlNVEF4TkRRME1EWmFGdzB5T1RBeU1UQXhORFEwTURaYU1EUXhDekFKQmdOVkJBWVRBazVNTVJFdwotRHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVTTUJBR0ExVUVBd3dKYkc5allXeG9iM04wTUZrd0V3WUhLb1pJemowQwotQVFZSUtvWkl6ajBEQVFjRFFnQUVOOHhXMlhZSkhscHlQc2RaTGY4Z2J1NTgrUWFSZE5DdEZMWDNhQ0paWXBKTwotNVFEWUl4SC82aS9TTkYxZEZyMktpTUpyZHcxVnpZb3FEdm9CeUxUdC82TmxNR013Q1FZRFZSMFRCQUl3QURBZAotQmdOVkhRNEVGZ1FVVUdHbGo5UUgyZGVDQVF6bFpYK01ZMGFuRTc0d0h3WURWUjBqQkJnd0ZvQVVuVzBnSkVrQgotUHl2TGVMVVp2SDRreWR2N05ud3dGZ1lEVlIwbEFRSC9CQXd3Q2dZSUt3WUJCUVVIQXdFd0RBWUlLb1pJemowRQotQXdJRkFBTm9BREJsQWpFQWgrbDQ3Rm1YUi9uVXhEOGJmblMzc1QrUVRnYzhwWFVFcWgvZ1hVczJ4SU5WU29MKwotWmV3Z2NOYjJVYW56Q05oZUFqQW5VWTRiME05WUhwL2VKamxzNVJ6R1g2Slh0Y1d3bjlKdk8xSHFNUW5IdGhjeQotaFBFUTNsVzdYRzBESVFTMWRyaz0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LXNydl9jbGkuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZTI1MzFlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUI4ekNDQVhpZ0F3SUJBZ0lCUFRBTUJnZ3Foa2pPUFFRREFnVUFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFUQWUKLUZ3MHhPVEF5TVRBeE5EUTBNRFphRncweU9UQXlNVEF4TkRRME1EWmFNRFF4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1Ga3dFd1lIS29aSXpqMEMKLUFRWUlLb1pJemowREFRY0RRZ0FFTjh4VzJYWUpIbHB5UHNkWkxmOGdidTU4K1FhUmROQ3RGTFgzYUNKWllwSk8KLTVRRFlJeEgvNmkvU05GMWRGcjJLaU1KcmR3MVZ6WW9xRHZvQnlMVHQvNk52TUcwd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdId1lEVlIwakJCZ3dGb0FVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnd3SUFZRFZSMGxBUUgvQkJZd0ZBWUlLd1lCQlFVSEF3RUdDQ3NHQVFVRkJ3TUMKLU1Bd0dDQ3FHU000OUJBTUNCUUFEWndBd1pBSXdIdS94alNxSEs5MXlFTStLZ0VGR1U4WGMzbzlyRVZyQ0JGZVcKLUNoSWEzc2xaWmRHNE91SW0wNlRzYWJmMHBCTEhBakJZS2pvVXdXRXVET09RS2JiSlpHOGdLRHpNQWdFcGUvUlcKLXdBalk3aTZDeloxTktmRlE5ZlFkd0EreWpxMmZubGc9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg0NTllZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSVBFcUV5QjJBbkNvUEwvOVUvWURIdmRxWFliSW9nVHl3d3lwNi9VZkR3Nm5vQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRU44eFcyWFlKSGxweVBzZFpMZjhnYnU1OCtRYVJkTkN0RkxYM2FDSlpZcEpPNVFEWUl4SC8KLTZpL1NORjFkRnIyS2lNSnJkdzFWellvcUR2b0J5TFR0L3c9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleS5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmJkNGViYi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkuZW5jIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleS5lbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNjIyYzAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleS5lbmMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRAotREVLLUluZm86IEFFUy0yNTYtQ0JDLDY5RkVBMjYzOTE4MTI4RDRERDY3M0IyNzMyRTJEN0VDCi0KLStRNFAxblZjZkdvaXR0eGFnV0h2eUJMVlBiaGptVEEvU1o2VzVUQis1c2NPemdmUmxjc2U0aklJSTg5OUVReHgKLUhyZmhnUXd6UTEyVGdUWjJZOG5lSStSc1VxRkxUTGludmQ4Yy9sdUJLTGVERUNqamh5QlhPSmljMmRSUFVhTFEKLU55ZzNiSTBTcnI2YXE2bkVUamg4aStkU3pFL3dqeU56WEJNZE4zS2hPakU9Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua3UtZHMuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1Lmt1LWRzLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGFmZmY5Yi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua3UtZHMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCNHpDQ0FXYWdBd0lCQWdJQkxUQU1CZ2dxaGtqT1BRUURBZ1VBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERWNNQm9HQTFVRUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEFlCi1GdzB4T1RBeU1UQXhORFEwTURaYUZ3MHlPVEF5TVRBeE5EUTBNRFphTURReEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERVNNQkFHQTFVRUF3d0piRzlqWVd4b2IzTjBNRmt3RXdZSEtvWkl6ajBDCi1BUVlJS29aSXpqMERBUWNEUWdBRU44eFcyWFlKSGxweVBzZFpMZjhnYnU1OCtRYVJkTkN0RkxYM2FDSlpZcEpPCi01UURZSXhILzZpL1NORjFkRnIyS2lNSnJkdzFWellvcUR2b0J5TFR0LzZOZE1Gc3dDUVlEVlIwVEJBSXdBREFkCi1CZ05WSFE0RUZnUVVVR0dsajlRSDJkZUNBUXpsWlgrTVkwYW5FNzR3SHdZRFZSMGpCQmd3Rm9BVW5XMGdKRWtCCi1QeXZMZUxVWnZINGt5ZHY3Tm53d0RnWURWUjBQQVFIL0JBUURBZ2VBTUF3R0NDcUdTTTQ5QkFNQ0JRQURhUUF3Ci1aZ0l4QUxITzBRUis0dnorZmo0V3dCUU1hNTVvSkRscDFKMFBwcW9KWUtUZjZEUng1ck51WnhTYk51MndKUVd6Ci1NSjlla1FJeEFNUG8vUmh1NGU5S1JrRWY5cllVOVluZDd0OS9QQ3NYdzRKWnV4WmZUb1VSRHNyQUkvUG5xYzBICi00K0ZBL0V1UEpBPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5rdS1rYS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua3Uta2EuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NGE0MjM1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5rdS1rYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUI0akNDQVdhZ0F3SUJBZ0lCTGpBTUJnZ3Foa2pPUFFRREFnVUFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFUQWUKLUZ3MHhPVEF5TVRBeE5EUTBNRFphRncweU9UQXlNVEF4TkRRME1EWmFNRFF4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1Ga3dFd1lIS29aSXpqMEMKLUFRWUlLb1pJemowREFRY0RRZ0FFTjh4VzJYWUpIbHB5UHNkWkxmOGdidTU4K1FhUmROQ3RGTFgzYUNKWllwSk8KLTVRRFlJeEgvNmkvU05GMWRGcjJLaU1KcmR3MVZ6WW9xRHZvQnlMVHQvNk5kTUZzd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVVVHR2xqOVFIMmRlQ0FRemxaWCtNWTBhbkU3NHdId1lEVlIwakJCZ3dGb0FVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnd3RGdZRFZSMFBBUUgvQkFRREFnTUlNQXdHQ0NxR1NNNDlCQU1DQlFBRGFBQXcKLVpRSXdDVmJiUGlTOE1KVU96OEpCbWdMSG9qS0RhSk9kNGxTZlNhazBHU2wwMlVqVDhPaU55UnpBK0ZsRldPOTQKLVlNanlBakVBMTQvdWJaMVpXMy8waGtpRkh6aFREMlNYYlRmWWJoRFpTcTJQUis5c0JsVXJyeDFHaHpXdy9jT0QKLTNqWmQ0RFFPCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua3Uta2UuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1Lmt1LWtlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmI0ZTc0ZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjUua3Uta2UuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCNFRDQ0FXYWdBd0lCQWdJQkx6QU1CZ2dxaGtqT1BRUURBZ1VBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERWNNQm9HQTFVRUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEFlCi1GdzB4T1RBeU1UQXhORFEwTURaYUZ3MHlPVEF5TVRBeE5EUTBNRFphTURReEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0RBaFFiMnhoY2xOVFRERVNNQkFHQTFVRUF3d0piRzlqWVd4b2IzTjBNRmt3RXdZSEtvWkl6ajBDCi1BUVlJS29aSXpqMERBUWNEUWdBRU44eFcyWFlKSGxweVBzZFpMZjhnYnU1OCtRYVJkTkN0RkxYM2FDSlpZcEpPCi01UURZSXhILzZpL1NORjFkRnIyS2lNSnJkdzFWellvcUR2b0J5TFR0LzZOZE1Gc3dDUVlEVlIwVEJBSXdBREFkCi1CZ05WSFE0RUZnUVVVR0dsajlRSDJkZUNBUXpsWlgrTVkwYW5FNzR3SHdZRFZSMGpCQmd3Rm9BVW5XMGdKRWtCCi1QeXZMZUxVWnZINGt5ZHY3Tm53d0RnWURWUjBQQVFIL0JBUURBZ1VnTUF3R0NDcUdTTTQ5QkFNQ0JRQURad0F3Ci1aQUl3ZXpUWTB0aWdJZzZ1MWRGbDkwTEhZY1orbEpLNEJPNVk2VTlwbjk1Mk5GbzI0TnNMOHFuRzRueHdzTDNNCi1WdlY3QWpCUStvWnlLU3lOcDhYUkFIWUM2bEVSSDcvR2g3SHJWV3lUUm85aVBQTDZ0RTR4L2pFN2pMOWlmZ2wrCi1GNjk4MnNrPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LnJlcS5rdS5zaGExIGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI1LnJlcS5rdS5zaGExCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzNhMGUyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNS5yZXEua3Uuc2hhMQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUJGRENCdkFJQkFEQThNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdqQVkKLUJnTlZCQU1NRVZCdmJHRnlVMU5NSUZObGNuWmxjaUF4TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0QKLVFnQUVOOHhXMlhZSkhscHlQc2RaTGY4Z2J1NTgrUWFSZE5DdEZMWDNhQ0paWXBKTzVRRFlJeEgvNmkvU05GMWQKLUZyMktpTUpyZHcxVnpZb3FEdm9CeUxUdC82QWVNQndHQ1NxR1NJYjNEUUVKRGpFUE1BMHdDd1lEVlIwUEJBUUQKLUFnYkFNQWtHQnlxR1NNNDlCQUVEU0FBd1JRSWhBSnlDaGZzU3BOSWhMamVEQjNlQldWamI2ODV5MElKSG9OcC8KLUhvNDYzazgzQWlBQjkrTTlrOG5MaktWa0VZYVZmbUUvZlBLUVZrZXV5d0lPMFJNbVo0MGdBUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNi1zcy1jaGlsZC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjYtc3MtY2hpbGQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYzI4ZjM0Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNi1zcy1jaGlsZC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUI3akNDQVpTZ0F3SUJBZ0lNVTZMTFdDSTVsSFNuN0huc01Bb0dDQ3FHU000OUJBTUNNRWN4RXpBUkJnTlYKLUJBTU1Dbk5sYkdaemFXZHVaV1F4RURBT0JnTlZCQXNNQjNSbGMzUnBibWN4RVRBUEJnTlZCQW9NQ0ZCdmJHRnkKLVUxTk1NUXN3Q1FZRFZRUUdFd0pPVERBZUZ3MHlNekExTURrd05qQTJOREphRncwek16QTFNRFl3TmpBMk5ESmEKLU1FMHhHVEFYQmdOVkJBTU1FSE5sYkdaemFXZHVaV1F0WTJocGJHUXhFREFPQmdOVkJBc01CM1JsYzNScGJtY3gKLUVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Rc3dDUVlEVlFRR0V3Sk9UREJaTUJNR0J5cUdTTTQ5QWdFR0NDcUcKLVNNNDlBd0VIQTBJQUJJRlpNWFpKSlBvVnJhdWdNVzRPN1RNUitwRWxWY0d3d1p3RGNqNll1aTJrY2plSkgwTTMKLWpSK09PdGp3VitndlQ4a0FwUGZiY3creXhnU1UwVUE3T09PallEQmVNQXdHQTFVZEV3RUIvd1FDTUFBd0RnWUQKLVZSMFBBUUgvQkFRREFnZUFNQjBHQTFVZERnUVdCQlIrWlk4K013TVU1ZUcrWUxMZ2hYK001MkFyZXpBZkJnTlYKLUhTTUVHREFXZ0JSUVlhV1AxQWZaMTRJQkRPVmxmNHhqUnFjVHZqQUtCZ2dxaGtqT1BRUURBZ05JQURCRkFpQWwKLVkyeVhnNXNadW5tbytNY1VCenZTYW8xd1J4dys5WEJTTStEcGg1Z2ZoZ0loQVBsSStsU3ZENG16bEJ6bjAxTWcKLTB0TXBLSGJZMzRpYWRjTVdCVWdpYk1pQQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI2LXNzLWNoaWxkLmNydC5vcGVuc3NsLnYzX2V4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNi1zcy1jaGlsZC5jcnQub3BlbnNzbC52M19leHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkOWNkYWEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI2LXNzLWNoaWxkLmNydC5vcGVuc3NsLnYzX2V4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotYmFzaWNDb25zdHJhaW50cyA9IGNyaXRpY2FsLENBOmZhbHNlCi1rZXlVc2FnZT1jcml0aWNhbCxkaWdpdGFsU2lnbmF0dXJlCi1zdWJqZWN0S2V5SWRlbnRpZmllcj1oYXNoCi0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjYuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MWU0MzkzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNJRENDQWFXZ0F3SUJBZ0lCQ2pBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTNXaGNOTXpNd05URTBNRGN4TURNM1dqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERCWk1CTUdCeXFHU000OUFnRUcKLUNDcUdTTTQ5QXdFSEEwSUFCSUZaTVhaSkpQb1ZyYXVnTVc0TzdUTVIrcEVsVmNHd3dad0RjajZZdWkya2NqZUoKLUgwTTNqUitPT3Rqd1YrZ3ZUOGtBcFBmYmN3K3l4Z1NVMFVBN09PT2pnWjB3Z1pvd0NRWURWUjBUQkFJd0FEQWQKLUJnTlZIUTRFRmdRVWZtV1BQak1ERk9YaHZtQ3k0SVYvak9kZ0szc3diZ1lEVlIwakJHY3daWUFVblcwZ0pFa0IKLVB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGgKLWNsTlRUREVjTUJvR0ExVUVBd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bb0cKLUNDcUdTTTQ5QkFNQ0Eya0FNR1lDTVFDN21sUCticS9jNGhLQjN6ZkpnUGR3U256elFPa1h3ZEEyTzZRdW1DMm8KLVp1SHlqVVlWNS9aeVU4UVE3Y05uS25ZQ01RRDlCeUE3ZGRwVkUyR2srT1Z1QlBHZndWNE8yQ09nRnJhc2ZyVG4KLUtnZnVDRUY5NkJoU2pMRFhXS0I0SUZXYVhVUT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNi5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjYua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMzExY2ZhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNi5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUhjQ0FRRUVJRVFaRzVqOElrUkx4YTlPb1pKekQzS2tyWHFJZ2k5Y0haTVZ2MnMvVmNQT29Bb0dDQ3FHU000OQotQXdFSG9VUURRZ0FFZ1ZreGRra2sraFd0cTZBeGJnN3RNeEg2a1NWVndiREJuQU55UHBpNkxhUnlONGtmUXplTgotSDQ0NjJQQlg2QzlQeVFDazk5dHpEN0xHQkpUUlFEczQ0dz09Ci0tLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjctYmFkc2lnbi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjctYmFkc2lnbi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwZDE4YjAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI3LWJhZHNpZ24uY3J0CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEd2pDQ0FhcWdBd0lCQWdJQkVEQU5CZ2txaGtpRzl3MEJBUXNGQURCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hKakFrQmdOVkJBTU1IVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0Ci1aV1JwWVhSbElFTkJNQjRYRFRJek1EVXhOekEzTVRBek4xb1hEVE16TURVeE56QTNNVEF6TjFvd05ERUxNQWtHCi1BMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUkl3RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3Ci1XVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWNiZmZwMnFYcW9aeXljaG1vQ1J4enJkNFZ1OTZtCi00N05QQmVodEVDNDZhVGVYZ0RuQmRmKyt6bkFCckF0ZlhCUk5RejhBUkllWUJtc2tyMjJybEtqeW80R1ZNSUdTCi1NQjBHQTFVZERnUVdCQlRTQ3RPbGR4L09WYkJjUnFLT2MyeS9vV0FtdXpCbUJnTlZIU01FWHpCZGdCUTRkOWhyCi1kNXdvZDRLTFR0Z2JxUjczbEJhM0RxRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2Ci1iR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wSUVWRElFTkJnZ0VPTUFrR0ExVWRFd1FDCi1NQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQURVOVp5WldmWDFUMVBpMFBSQmVxcG01MnBlaFVYMndNc3lpCi1LdWRTcExlTisrZVM5cC9SMGhwTnVCOFd2WmNzRnkvcXVsMGRqUEFSS0dwWWdZVFpRdk9RMTBWY1k0MGp4dHRtCi1FVFNjbm5xS0gybE1yMGFzT3BNMzFrS3QvZ2hKUzBualVoSTlOWTZ5QUkyWGhjRHpJdFNwcU9objZZTEMzbXJXCi1ESXlCQ2tzTEtFdTh4L0twUmJ2ajNRSzFlejNjSEl0b3hDQ2U5Z3k4dE1Fd2I4RkUxNWR0RHVMN0c3aVJiNERoCi1WeUw2cXpCUnZKUDlBY1FLVDRQVGFPTXd1OE8raENsRHZMbGxKekNrSlg0cVptUXIzandPOEVtaTlkdlE4N1pGCi1jRHBMYnhxSWd0UkY4bGt4bjAwVXVodXVnTWdNOGxkVGQvYVJ4WnJkZElnRlZObUVkV0lXQnU1WlRXbUJNL0ZICi1hZ3V1WnIzbXR5N0poNFhaSjBSWjRIN1hhWXpvVm5DSzljQTVrb1J2L2d0U1FkRGg4QmlZbEp3V3g4YWRxeWdvCi1maWJpblFuSU9oWjRIY25sVERzaHNiNWVZK0d0a1NMbWM4NzM1VjVydEV0N3pydGFoRlQ1STdyMlg2ZERpUGRECi1CbHZiOS81Z0lNQzNmeTBOWmlnRHVlQk9ZRjc4a3B4cU1Sa250Nng4NmlyVmRiUlh3MWZwVnV4MjRjZlREYy91Ci01RWF0NFlGZk0xZUtabnVPRVR1bVBPb2EyN2p2Y1lUUE1Pc1VOOCtROE9zNlNEa0pDOGUyb2JlZFFvZmZRQzA2Ci0xWHpyaTNIT0h6WnJQSExHa3dBRk5ZQnlubDEvd3hHdTB2UGxtcHpKRHpjN3kwZTFGZ0txRDZZYWRBUU0rQVBBCi1aS2FzaWhPMAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlFQVRDQ0E0ZWdBd0lCQWdJQkRqQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1Nak13TlRFM01EY3hNRE0zV2hjTk16TXdOVEUzTURjeE1ETTNXakJJTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNTUhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnRaV1JwCi1ZWFJsSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBbzFPYzhucjZmTVRxCi12b3dWK0NwQzU1aTVCWkdGR2M1MEViNFJMQlNSVEgxZTdKZXBkRmpBVmJCdHlRUkpTaVkxamEwdGdMUURES1pSCi13ZkVJK2I0YXpzZTQ2MEluUEh2N0MxVE4wdXBYbHh1ajZtOUIxSWxQK3NCYU03V0JDNmRWZlBPK2pWTUl4Z2tGCi1DYUJDTGhoZEsxRmpmOEhqa1QvUGtjdFduaG84TlR3aXZjOStucVJaalhlL2VJY3FtNUh3akREaHUrZ3orbzBnCi1WejlNZlpOaTFKeUNyT3lOWmN5K2NyMlFlTm5OVkduRnE4eFR4dHU2ZEx1bmhwbUxGajJtbTBWandhN1lwajVxCi1BanBxVE10RHZxYlJ1VG95b3l6YWpoTU5jQ0FmN2d3ekl1cEpKRlZkamR0Z1lBY1F3emlrd0Y1SG9JVEp6ekoyCi1xZ3hGN0NtdkdaTmI3Rzk5bUxkTGRodGNsSDN3QVFLSFl3RUdKbzdYS3lORXVIUFFnQitlMGNnMVNEMUhxbEFNCi11Q2ZHR1RXUTZtZTdCamFuM3QwTnpvVGREcTZJcEtUZXNiYVkrLzllMnhuOERDcmhCS0xYUU1aRkRacVVvTFlBCi1rR1BPRUdndmxQbklJWEFhd291eENhTllFaDVVdzg3MVlNU1BUMjhyTGRGcjQ5ZHdZT3REZzlmb0E4aERJVzJQCi1kNktYYnJadGVlc3ZBMW5ZekVPcyszQWpyYlQ3OU1kMlc4Qno5YnFCVk5sTk9FU1NxbTRraUNKRm1zbG0vNmJyCi1OcDBNU1FkK28yMlBRNHhSdG1QNlVzVGZVMHVlaU1wWWM4VFlZaE1iZm5mRnlvNG03MDdlYmNmbFBiQkVOMmRnCi11cGRRNjZjdmZDSkIwUUp0OXVwYWZZMGxwZFYxcVVrQ0F3RUFBYU9Cb0RDQm5UQWRCZ05WSFE0RUZnUVVPSGZZCi1hM2VjS0hlQ2kwN1lHNmtlOTVRV3R3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0JQeXZMZUxVWnZINGt5ZHY3Ci1ObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFCi1Bd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bd0dBMVVkRXdRRk1BTUJBZjh3Ci1DZ1lJS29aSXpqMEVBd0lEYUFBd1pRSXhBT0FjaCtnejRySGZJL3BtOE1JRHNzTXRKQ3F6UzZ4dE92UUhKWjlsCi1mZGdXZkpWNWNTSEpwT0lXR1hlRktLUjE4d0l3T0RUUm5USWlveStiWWFjTnE4VFFQanpkVmxUOVhiWWtXSVlOCi1KQXVWOWZMSkpkQjVuWlVHM2w4NUR0MjdWTmtUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjctZXhwaXJlZC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjctZXhwaXJlZC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljNDIzYzkuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI3LWV4cGlyZWQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEd2pDQ0FhcWdBd0lCQWdJQkVEQU5CZ2txaGtpRzl3MEJBUXNGQURCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hKakFrQmdOVkJBTU1IVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0Ci1aV1JwWVhSbElFTkJNQjRYRFRFek1EVXhOakEzTVRBek4xb1hEVEl6TURVeE56QTNNVEF6TjFvd05ERUxNQWtHCi1BMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUkl3RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3Ci1XVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWNiZmZwMnFYcW9aeXljaG1vQ1J4enJkNFZ1OTZtCi00N05QQmVodEVDNDZhVGVYZ0RuQmRmKyt6bkFCckF0ZlhCUk5RejhBUkllWUJtc2tyMjJybEtqeW80R1ZNSUdTCi1NQjBHQTFVZERnUVdCQlRTQ3RPbGR4L09WYkJjUnFLT2MyeS9vV0FtdXpCbUJnTlZIU01FWHpCZGdCUTRkOWhyCi1kNXdvZDRLTFR0Z2JxUjczbEJhM0RxRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2Ci1iR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wSUVWRElFTkJnZ0VPTUFrR0ExVWRFd1FDCi1NQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUhYMHB1NTRjOHJrMkY3Nmx4bk1LdVMrQzNLaXdhYjBLeElJCi1aa3BBZ3BrNXNqMkt4aUdyTkxEaEswWkdqVmxWdVVqYXV5U1Z1QlVmcnI4R2ZqUTF4RTdSVXJ4d0JyRVU1ZlZzCi1GSEtzY0JGNThBYUlYSVBmNXhJdUNkYzJDNDg3TGV1dStMSWJHc2c5RXZLcS9wZzdhdklCOWhTanZ3bjVXM20zCi0zbzhlTC9haEQ0dDVyaDhyN2hLcHRZKzdkcWVyYUJybUNuaXR4c1JRVG9NVitqeTJSQ0dEM3ZZVUR4eUpjM3grCi1tM283bldHcmV5TENxUENSZ2VFaDlSS2JiaHlnY29CdGRqb2paQUJabWxHYTlCTzcyaEs1bGh5MmExUWlJT2lMCi1Pb0JnREZmOGdWbzgxTVgwMlJ0U1FJU1pMcS9oSjhzbXRpbDhvYUtnSitWeUdqZkNSMXVaWTdScGFFZlA0VStSCi10WDhncXQvNFRKNG1JSk92NHhMMTJYc1Y2NXJadUI3K3loWjZycVdSbFp4OUFhNC9HcXhJYkFMclFQczE3dVJYCi00MVRQSWR6M1BqcTN3M3gzYmRHeGJ5RjBUdkpSYWVvYkI2MEtIbHJtNkRXbHRZN2syVWNqdTlvVGtvNmJKTGdwCi1yQ1JDMUprVFh6V1MzalpEcVVMVFZQeERzWmpWUnF3RWw0NlBQZTBnU2xvQitoL3VscThyTklHMXNuV1RHZE5RCi1Cb3Zia285bEZIQThtZDhmN1pVTFE2cEI4U1YvTEgycXVmU3NXYjVMWTlaZkhVcHJ3SDJvQlErQTllWWtrNVpSCi1MSkM4NzlaQzh3OExNUWZCR1QyMmZMbk9KMnFTNkd5Z3VCK3kxN2JlRjhSTWdGcGlGVHpvRDFuUFFBZDljeUdZCi1iMnRhKzlvOQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlFQVRDQ0E0ZWdBd0lCQWdJQkRqQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1Nak13TlRFM01EY3hNRE0zV2hjTk16TXdOVEUzTURjeE1ETTNXakJJTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNTUhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnRaV1JwCi1ZWFJsSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBbzFPYzhucjZmTVRxCi12b3dWK0NwQzU1aTVCWkdGR2M1MEViNFJMQlNSVEgxZTdKZXBkRmpBVmJCdHlRUkpTaVkxamEwdGdMUURES1pSCi13ZkVJK2I0YXpzZTQ2MEluUEh2N0MxVE4wdXBYbHh1ajZtOUIxSWxQK3NCYU03V0JDNmRWZlBPK2pWTUl4Z2tGCi1DYUJDTGhoZEsxRmpmOEhqa1QvUGtjdFduaG84TlR3aXZjOStucVJaalhlL2VJY3FtNUh3akREaHUrZ3orbzBnCi1WejlNZlpOaTFKeUNyT3lOWmN5K2NyMlFlTm5OVkduRnE4eFR4dHU2ZEx1bmhwbUxGajJtbTBWandhN1lwajVxCi1BanBxVE10RHZxYlJ1VG95b3l6YWpoTU5jQ0FmN2d3ekl1cEpKRlZkamR0Z1lBY1F3emlrd0Y1SG9JVEp6ekoyCi1xZ3hGN0NtdkdaTmI3Rzk5bUxkTGRodGNsSDN3QVFLSFl3RUdKbzdYS3lORXVIUFFnQitlMGNnMVNEMUhxbEFNCi11Q2ZHR1RXUTZtZTdCamFuM3QwTnpvVGREcTZJcEtUZXNiYVkrLzllMnhuOERDcmhCS0xYUU1aRkRacVVvTFlBCi1rR1BPRUdndmxQbklJWEFhd291eENhTllFaDVVdzg3MVlNU1BUMjhyTGRGcjQ5ZHdZT3REZzlmb0E4aERJVzJQCi1kNktYYnJadGVlc3ZBMW5ZekVPcyszQWpyYlQ3OU1kMlc4Qno5YnFCVk5sTk9FU1NxbTRraUNKRm1zbG0vNmJyCi1OcDBNU1FkK28yMlBRNHhSdG1QNlVzVGZVMHVlaU1wWWM4VFlZaE1iZm5mRnlvNG03MDdlYmNmbFBiQkVOMmRnCi11cGRRNjZjdmZDSkIwUUp0OXVwYWZZMGxwZFYxcVVrQ0F3RUFBYU9Cb0RDQm5UQWRCZ05WSFE0RUZnUVVPSGZZCi1hM2VjS0hlQ2kwN1lHNmtlOTVRV3R3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0JQeXZMZUxVWnZINGt5ZHY3Ci1ObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFCi1Bd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bd0dBMVVkRXdRRk1BTUJBZjh3Ci1DZ1lJS29aSXpqMEVBd0lEYUFBd1pRSXhBT0FjaCtnejRySGZJL3BtOE1JRHNzTXRKQ3F6UzZ4dE92UUhKWjlsCi1mZGdXZkpWNWNTSEpwT0lXR1hlRktLUjE4d0l3T0RUUm5USWlveStiWWFjTnE4VFFQanpkVmxUOVhiWWtXSVlOCi1KQXVWOWZMSkpkQjVuWlVHM2w4NUR0MjdWTmtUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjctZnV0dXJlLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNy1mdXR1cmUuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNzI1ZWI3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNy1mdXR1cmUuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEd2pDQ0FhcWdBd0lCQWdJQkVEQU5CZ2txaGtpRzl3MEJBUXNGQURCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hKakFrQmdOVkJBTU1IVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0Ci1aV1JwWVhSbElFTkJNQjRYRFRNek1EVXhOekEzTVRBek4xb1hEVFF6TURVeE9EQTNNVEF6TjFvd05ERUxNQWtHCi1BMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUkl3RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3Ci1XVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWNiZmZwMnFYcW9aeXljaG1vQ1J4enJkNFZ1OTZtCi00N05QQmVodEVDNDZhVGVYZ0RuQmRmKyt6bkFCckF0ZlhCUk5RejhBUkllWUJtc2tyMjJybEtqeW80R1ZNSUdTCi1NQjBHQTFVZERnUVdCQlRTQ3RPbGR4L09WYkJjUnFLT2MyeS9vV0FtdXpCbUJnTlZIU01FWHpCZGdCUTRkOWhyCi1kNXdvZDRLTFR0Z2JxUjczbEJhM0RxRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2Ci1iR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wSUVWRElFTkJnZ0VPTUFrR0ExVWRFd1FDCi1NQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUZnelM4Tk5HUmF5ZWxVbGVBZWU1dWRiazkrZmtreHZZQS9wCi1RRWFEK1V2dVNtZ0o3aUVVMGd4NmNKMlJjRWJnL05xZ3JNQm5pOGF5aUdwdE9aUlRxNGo4YlBjclpaQ3Jjc3ZPCi1qRmsveVh3V0l2MWhSb2ZROHdCeW5QT2didFBKNUo3ellrRTBzcVhiQVBPV2VOZHlhK1IwQ3VTZXg1RFc5a2ovCi0rdGlYR1hkR2lMS3UvRk9DOXRlZGZzdTY3YStaRUswUTNyYkZxc1dwSGRRY0tJRU40QTE4eFBCWE50eC9ESnVxCi0wK2ZjanRJc2lncFJ2TGJMU0Z1dlNJNXZXUDFNRnl1TURUTFlWS04xUGNlUmcyeXhwS2VjS2JzRHBlU1JYM1I5Ci1GczQ0NG1EU0pzNzVpOGZrZFhTNEdMWGZKakpPZnQzSGJSdEVFem5GNXNJVHBwanI0MFBzek12T2oybmpXUFBuCi1vM0VDY2E3SGJodWh0cUlHZk01KzJtQ3dQZ21tN2ZFbVlJTFZZZ1RpaEZmUEtVaEdVS04rNFFwNzVnT3pNS2RzCi03dDhOUkZUS1BFcEZtaWNjMXdLZkVzcDIyVVdDNmF6eVR1NmlWQnlXbHQrZm9qRmJkSGp2eERZOGlJcUJGVTYvCi00NHVMTVR4dTlyOWdNU1pLOXNYN3ZHSWdlRVIzUm5BclAwWlN4QXZveEczbHUrUVFYd0l0eG5US1FuQTNDRHJhCi1Na213U001a01ld08vVWIxYmdrZFEzai9ERDB1U3dyZUVkZzBmdnhhQUpJSDJOL2xPRlVXUHJ6Ymc4VEpSMVNiCi1vaGN0VCt1QUtvUFFyeHNadVNkcno5UUhPZGdrUFI2Z3A5YmRuWGtaU2E5akdYN1BkNVVyNUxERVhsam9sMVpMCi1UOTdvYUtCNwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlFQVRDQ0E0ZWdBd0lCQWdJQkRqQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1Nak13TlRFM01EY3hNRE0zV2hjTk16TXdOVEUzTURjeE1ETTNXakJJTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNTUhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnRaV1JwCi1ZWFJsSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBbzFPYzhucjZmTVRxCi12b3dWK0NwQzU1aTVCWkdGR2M1MEViNFJMQlNSVEgxZTdKZXBkRmpBVmJCdHlRUkpTaVkxamEwdGdMUURES1pSCi13ZkVJK2I0YXpzZTQ2MEluUEh2N0MxVE4wdXBYbHh1ajZtOUIxSWxQK3NCYU03V0JDNmRWZlBPK2pWTUl4Z2tGCi1DYUJDTGhoZEsxRmpmOEhqa1QvUGtjdFduaG84TlR3aXZjOStucVJaalhlL2VJY3FtNUh3akREaHUrZ3orbzBnCi1WejlNZlpOaTFKeUNyT3lOWmN5K2NyMlFlTm5OVkduRnE4eFR4dHU2ZEx1bmhwbUxGajJtbTBWandhN1lwajVxCi1BanBxVE10RHZxYlJ1VG95b3l6YWpoTU5jQ0FmN2d3ekl1cEpKRlZkamR0Z1lBY1F3emlrd0Y1SG9JVEp6ekoyCi1xZ3hGN0NtdkdaTmI3Rzk5bUxkTGRodGNsSDN3QVFLSFl3RUdKbzdYS3lORXVIUFFnQitlMGNnMVNEMUhxbEFNCi11Q2ZHR1RXUTZtZTdCamFuM3QwTnpvVGREcTZJcEtUZXNiYVkrLzllMnhuOERDcmhCS0xYUU1aRkRacVVvTFlBCi1rR1BPRUdndmxQbklJWEFhd291eENhTllFaDVVdzg3MVlNU1BUMjhyTGRGcjQ5ZHdZT3REZzlmb0E4aERJVzJQCi1kNktYYnJadGVlc3ZBMW5ZekVPcyszQWpyYlQ3OU1kMlc4Qno5YnFCVk5sTk9FU1NxbTRraUNKRm1zbG0vNmJyCi1OcDBNU1FkK28yMlBRNHhSdG1QNlVzVGZVMHVlaU1wWWM4VFlZaE1iZm5mRnlvNG03MDdlYmNmbFBiQkVOMmRnCi11cGRRNjZjdmZDSkIwUUp0OXVwYWZZMGxwZFYxcVVrQ0F3RUFBYU9Cb0RDQm5UQWRCZ05WSFE0RUZnUVVPSGZZCi1hM2VjS0hlQ2kwN1lHNmtlOTVRV3R3NHdiZ1lEVlIwakJHY3daWUFVblcwZ0pFa0JQeXZMZUxVWnZINGt5ZHY3Ci1ObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFCi1Bd3dUVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVlJSkFNRkQ0bjVpUTh6b01Bd0dBMVVkRXdRRk1BTUJBZjh3Ci1DZ1lJS29aSXpqMEVBd0lEYUFBd1pRSXhBT0FjaCtnejRySGZJL3BtOE1JRHNzTXRKQ3F6UzZ4dE92UUhKWjlsCi1mZGdXZkpWNWNTSEpwT0lXR1hlRktLUjE4d0l3T0RUUm5USWlveStiWWFjTnE4VFFQanpkVmxUOVhiWWtXSVlOCi1KQXVWOWZMSkpkQjVuWlVHM2w4NUR0MjdWTmtUCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjcuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI3LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzVjMmNiOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjcuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEd2pDQ0FhcWdBd0lCQWdJQkVEQU5CZ2txaGtpRzl3MEJBUXNGQURCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hKakFrQmdOVkJBTU1IVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0Ci1aV1JwWVhSbElFTkJNQjRYRFRJek1EVXhOekEzTVRBek4xb1hEVE16TURVeE56QTNNVEF6TjFvd05ERUxNQWtHCi1BMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUkl3RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3Ci1XVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWNiZmZwMnFYcW9aeXljaG1vQ1J4enJkNFZ1OTZtCi00N05QQmVodEVDNDZhVGVYZ0RuQmRmKyt6bkFCckF0ZlhCUk5RejhBUkllWUJtc2tyMjJybEtqeW80R1ZNSUdTCi1NQjBHQTFVZERnUVdCQlRTQ3RPbGR4L09WYkJjUnFLT2MyeS9vV0FtdXpCbUJnTlZIU01FWHpCZGdCUTRkOWhyCi1kNXdvZDRLTFR0Z2JxUjczbEJhM0RxRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2Ci1iR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wSUVWRElFTkJnZ0VPTUFrR0ExVWRFd1FDCi1NQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQURVOVp5WldmWDFUMVBpMFBSQmVxcG01MnBlaFVYMndNc3lpCi1LdWRTcExlTisrZVM5cC9SMGhwTnVCOFd2WmNzRnkvcXVsMGRqUEFSS0dwWWdZVFpRdk9RMTBWY1k0MGp4dHRtCi1FVFNjbm5xS0gybE1yMGFzT3BNMzFrS3QvZ2hKUzBualVoSTlOWTZ5QUkyWGhjRHpJdFNwcU9objZZTEMzbXJXCi1ESXlCQ2tzTEtFdTh4L0twUmJ2ajNRSzFlejNjSEl0b3hDQ2U5Z3k4dE1Fd2I4RkUxNWR0RHVMN0c3aVJiNERoCi1WeUw2cXpCUnZKUDlBY1FLVDRQVGFPTXd1OE8raENsRHZMbGxKekNrSlg0cVptUXIzandPOEVtaTlkdlE4N1pGCi1jRHBMYnhxSWd0UkY4bGt4bjAwVXVodXVnTWdNOGxkVGQvYVJ4WnJkZElnRlZObUVkV0lXQnU1WlRXbUJNL0ZICi1hZ3V1WnIzbXR5N0poNFhaSjBSWjRIN1hhWXpvVm5DSzljQTVrb1J2L2d0U1FkRGg4QmlZbEp3V3g4YWRxeWdvCi1maWJpblFuSU9oWjRIY25sVERzaHNiNWVZK0d0a1NMbWM4NzM1VjVydEV0N3pydGFoRlQ1STdyMlg2ZERpUGRECi1CbHZiOS81Z0lNQzNmeTBOWmlnRHVlQk9ZRjc4a3B4cU1Sa250Nng4NmlyVmRiUlh3MWZwVnV4MjRjZlREYy91Ci01RWF0NFlGZk0xZUtabnVPRVR1bVBPb2EyN2p2Y1lUUE1Pc1VOOCtROE9zNlNEa0pDOGUyb2JlZFFvZmZRQzA2Ci0xWHpyaTNIT0h6WnJQSExHa3dBRk5ZQnlubDEvd3hHdTB2UGxtcHpKRHpjN3kwZTFGZ0txRDZZYWRBUU0rQVBBCi1aS2FzaWhPMwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyNy5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwODgzMzEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI3LmtleQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCi1NSGNDQVFFRUlMQkRNczdiUlZ4Vmc2b3ZUcGYyekI5bSsyMmpZN1IzTE5LUnZDUGZhNllKb0FvR0NDcUdTTTQ5Ci1Bd0VIb1VRRFFnQUVIRzMzNmRxbDZxR2NzbklacUFrY2M2M2VGYnZlcHVPelR3WG9iUkF1T21rM2w0QTV3WFgvCi12czV3QWF3TFgxd1VUVU0vQUVTSG1BWnJKSzl0cTVTbzhnPT0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EtZXhwLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EtZXhwLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTNhOGY2OS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLWV4cC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUR3akNDQWFxZ0F3SUJBZ0lCRURBTkJna3Foa2lHOXcwQkFRc0ZBREJJTVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNTUhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnQKLVpXUnBZWFJsSUVOQk1CNFhEVEl6TURVeE56QTNNVEF6TjFvWERUTXpNRFV4TnpBM01UQXpOMW93TkRFTE1Ba0cKLUExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1SSXdFQVlEVlFRRERBbHNiMk5oYkdodmMzUXcKLVdUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRY2JmZnAycVhxb1p5eWNobW9DUnh6cmQ0VnU5Nm0KLTQ3TlBCZWh0RUM0NmFUZVhnRG5CZGYrK3puQUJyQXRmWEJSTlF6OEFSSWVZQm1za3IyMnJsS2p5bzRHVk1JR1MKLU1CMEdBMVVkRGdRV0JCVFNDdE9sZHgvT1ZiQmNScUtPYzJ5L29XQW11ekJtQmdOVkhTTUVYekJkZ0JRNGQ5aHIKLWQ1d29kNEtMVHRnYnFSNzNsQmEzRHFGQ3BFQXdQakVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnYKLWJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjBJRVZESUVOQmdnRU9NQWtHQTFVZEV3UUMKLU1BQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBRFU5WnlaV2ZYMVQxUGkwUFJCZXFwbTUycGVoVVgyd01zeWkKLUt1ZFNwTGVOKytlUzlwL1IwaHBOdUI4V3ZaY3NGeS9xdWwwZGpQQVJLR3BZZ1lUWlF2T1ExMFZjWTQwanh0dG0KLUVUU2NubnFLSDJsTXIwYXNPcE0zMWtLdC9naEpTMG5qVWhJOU5ZNnlBSTJYaGNEekl0U3BxT2huNllMQzNtclcKLURJeUJDa3NMS0V1OHgvS3BSYnZqM1FLMWV6M2NISXRveENDZTlneTh0TUV3YjhGRTE1ZHREdUw3RzdpUmI0RGgKLVZ5TDZxekJSdkpQOUFjUUtUNFBUYU9Nd3U4TytoQ2xEdkxsbEp6Q2tKWDRxWm1RcjNqd084RW1pOWR2UTg3WkYKLWNEcExieHFJZ3RSRjhsa3huMDBVdWh1dWdNZ004bGRUZC9hUnhacmRkSWdGVk5tRWRXSVdCdTVaVFdtQk0vRkgKLWFndXVacjNtdHk3Smg0WFpKMFJaNEg3WGFZem9WbkNLOWNBNWtvUnYvZ3RTUWREaDhCaVlsSndXeDhhZHF5Z28KLWZpYmluUW5JT2haNEhjbmxURHNoc2I1ZVkrR3RrU0xtYzg3MzVWNXJ0RXQ3enJ0YWhGVDVJN3IyWDZkRGlQZEQKLUJsdmI5LzVnSU1DM2Z5ME5aaWdEdWVCT1lGNzhrcHhxTVJrbnQ2eDg2aXJWZGJSWHcxZnBWdXgyNGNmVERjL3UKLTVFYXQ0WUZmTTFlS1pudU9FVHVtUE9vYTI3anZjWVRQTU9zVU44K1E4T3M2U0RrSkM4ZTJvYmVkUW9mZlFDMDYKLTFYenJpM0hPSHpaclBITEdrd0FGTllCeW5sMS93eEd1MHZQbG1wekpEemM3eTBlMUZnS3FENllhZEFRTStBUEEKLVpLYXNpaE8zCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUVBVENDQTRlZ0F3SUJBZ0lCRGpBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1UTXdOVEUyTURjeE1ETTNXaGNOTWpNd05URTNNRGN4TURNM1dqQklNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SmpBa0JnTlZCQU1NSFZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvMU9jOG5yNmZNVHEKLXZvd1YrQ3BDNTVpNUJaR0ZHYzUwRWI0UkxCU1JUSDFlN0plcGRGakFWYkJ0eVFSSlNpWTFqYTB0Z0xRRERLWlIKLXdmRUkrYjRhenNlNDYwSW5QSHY3QzFUTjB1cFhseHVqNm05QjFJbFArc0JhTTdXQkM2ZFZmUE8ralZNSXhna0YKLUNhQkNMaGhkSzFGamY4SGprVC9Qa2N0V25obzhOVHdpdmM5K25xUlpqWGUvZUljcW01SHdqRERodStneitvMGcKLVZ6OU1mWk5pMUp5Q3JPeU5aY3krY3IyUWVObk5WR25GcTh4VHh0dTZkTHVuaHBtTEZqMm1tMFZqd2E3WXBqNXEKLUFqcHFUTXREdnFiUnVUb3lveXphamhNTmNDQWY3Z3d6SXVwSkpGVmRqZHRnWUFjUXd6aWt3RjVIb0lUSnp6SjIKLXFneEY3Q212R1pOYjdHOTltTGRMZGh0Y2xIM3dBUUtIWXdFR0pvN1hLeU5FdUhQUWdCK2UwY2cxU0QxSHFsQU0KLXVDZkdHVFdRNm1lN0JqYW4zdDBOem9UZERxNklwS1Rlc2JhWSsvOWUyeG44RENyaEJLTFhRTVpGRFpxVW9MWUEKLWtHUE9FR2d2bFBuSUlYQWF3b3V4Q2FOWUVoNVV3ODcxWU1TUFQyOHJMZEZyNDlkd1lPdERnOWZvQThoRElXMlAKLWQ2S1hiclp0ZWVzdkExbll6RU9zKzNBanJiVDc5TWQyVzhCejlicUJWTmxOT0VTU3FtNGtpQ0pGbXNsbS82YnIKLU5wME1TUWQrbzIyUFE0eFJ0bVA2VXNUZlUwdWVpTXBZYzhUWVloTWJmbmZGeW80bTcwN2ViY2ZsUGJCRU4yZGcKLXVwZFE2NmN2ZkNKQjBRSnQ5dXBhZlkwbHBkVjFxVWtDQXdFQUFhT0JvRENCblRBZEJnTlZIUTRFRmdRVU9IZlkKLWEzZWNLSGVDaTA3WUc2a2U5NVFXdHc0d2JnWURWUjBqQkdjd1pZQVVuVzBnSkVrQlB5dkxlTFVadkg0a3lkdjcKLU5ueWhRcVJBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVjTUJvR0ExVUUKLUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRWUlKQU1GRDRuNWlROHpvTUF3R0ExVWRFd1FGTUFNQkFmOHcKLUNnWUlLb1pJemowRUF3SURhQUF3WlFJeEFKSDBlNGZ5U0pJMm5KdDFLbmQreVU3em4xalRGREFBQkpNYm5kaFIKLTA3T1NNNnZ3VWFHU01WYXRTenI4YWgrVURnSXdhSS9NQmNvclN4VDkyakFRYjFXNWRKa0V1ZG9ZU2c0OWZqQWYKLXowQnRMQ1ZoRndRbHJ6Q3FnWEM5OFNHZlQ2c1oKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiMTA4YTQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUR3akNDQWFxZ0F3SUJBZ0lCRURBTkJna3Foa2lHOXcwQkFRc0ZBREJJTVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNTUhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnQKLVpXUnBZWFJsSUVOQk1CNFhEVEl6TURVeE56QTNNVEF6TjFvWERUTXpNRFV4TnpBM01UQXpOMW93TkRFTE1Ba0cKLUExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1SSXdFQVlEVlFRRERBbHNiMk5oYkdodmMzUXcKLVdUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRY2JmZnAycVhxb1p5eWNobW9DUnh6cmQ0VnU5Nm0KLTQ3TlBCZWh0RUM0NmFUZVhnRG5CZGYrK3puQUJyQXRmWEJSTlF6OEFSSWVZQm1za3IyMnJsS2p5bzRHVk1JR1MKLU1CMEdBMVVkRGdRV0JCVFNDdE9sZHgvT1ZiQmNScUtPYzJ5L29XQW11ekJtQmdOVkhTTUVYekJkZ0JRNGQ5aHIKLWQ1d29kNEtMVHRnYnFSNzNsQmEzRHFGQ3BFQXdQakVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnYKLWJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjBJRVZESUVOQmdnRU9NQWtHQTFVZEV3UUMKLU1BQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBRFU5WnlaV2ZYMVQxUGkwUFJCZXFwbTUycGVoVVgyd01zeWkKLUt1ZFNwTGVOKytlUzlwL1IwaHBOdUI4V3ZaY3NGeS9xdWwwZGpQQVJLR3BZZ1lUWlF2T1ExMFZjWTQwanh0dG0KLUVUU2NubnFLSDJsTXIwYXNPcE0zMWtLdC9naEpTMG5qVWhJOU5ZNnlBSTJYaGNEekl0U3BxT2huNllMQzNtclcKLURJeUJDa3NMS0V1OHgvS3BSYnZqM1FLMWV6M2NISXRveENDZTlneTh0TUV3YjhGRTE1ZHREdUw3RzdpUmI0RGgKLVZ5TDZxekJSdkpQOUFjUUtUNFBUYU9Nd3U4TytoQ2xEdkxsbEp6Q2tKWDRxWm1RcjNqd084RW1pOWR2UTg3WkYKLWNEcExieHFJZ3RSRjhsa3huMDBVdWh1dWdNZ004bGRUZC9hUnhacmRkSWdGVk5tRWRXSVdCdTVaVFdtQk0vRkgKLWFndXVacjNtdHk3Smg0WFpKMFJaNEg3WGFZem9WbkNLOWNBNWtvUnYvZ3RTUWREaDhCaVlsSndXeDhhZHF5Z28KLWZpYmluUW5JT2haNEhjbmxURHNoc2I1ZVkrR3RrU0xtYzg3MzVWNXJ0RXQ3enJ0YWhGVDVJN3IyWDZkRGlQZEQKLUJsdmI5LzVnSU1DM2Z5ME5aaWdEdWVCT1lGNzhrcHhxTVJrbnQ2eDg2aXJWZGJSWHcxZnBWdXgyNGNmVERjL3UKLTVFYXQ0WUZmTTFlS1pudU9FVHVtUE9vYTI3anZjWVRQTU9zVU44K1E4T3M2U0RrSkM4ZTJvYmVkUW9mZlFDMDYKLTFYenJpM0hPSHpaclBITEdrd0FGTllCeW5sMS93eEd1MHZQbG1wekpEemM3eTBlMUZnS3FENllhZEFRTStBUEEKLVpLYXNpaE8zCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUVBVENDQTRlZ0F3SUJBZ0lCRGpBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTNXaGNOTXpNd05URTNNRGN4TURNM1dqQklNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SmpBa0JnTlZCQU1NSFZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvMU9jOG5yNmZNVHEKLXZvd1YrQ3BDNTVpNUJaR0ZHYzUwRWI0UkxCU1JUSDFlN0plcGRGakFWYkJ0eVFSSlNpWTFqYTB0Z0xRRERLWlIKLXdmRUkrYjRhenNlNDYwSW5QSHY3QzFUTjB1cFhseHVqNm05QjFJbFArc0JhTTdXQkM2ZFZmUE8ralZNSXhna0YKLUNhQkNMaGhkSzFGamY4SGprVC9Qa2N0V25obzhOVHdpdmM5K25xUlpqWGUvZUljcW01SHdqRERodStneitvMGcKLVZ6OU1mWk5pMUp5Q3JPeU5aY3krY3IyUWVObk5WR25GcTh4VHh0dTZkTHVuaHBtTEZqMm1tMFZqd2E3WXBqNXEKLUFqcHFUTXREdnFiUnVUb3lveXphamhNTmNDQWY3Z3d6SXVwSkpGVmRqZHRnWUFjUXd6aWt3RjVIb0lUSnp6SjIKLXFneEY3Q212R1pOYjdHOTltTGRMZGh0Y2xIM3dBUUtIWXdFR0pvN1hLeU5FdUhQUWdCK2UwY2cxU0QxSHFsQU0KLXVDZkdHVFdRNm1lN0JqYW4zdDBOem9UZERxNklwS1Rlc2JhWSsvOWUyeG44RENyaEJLTFhRTVpGRFpxVW9MWUEKLWtHUE9FR2d2bFBuSUlYQWF3b3V4Q2FOWUVoNVV3ODcxWU1TUFQyOHJMZEZyNDlkd1lPdERnOWZvQThoRElXMlAKLWQ2S1hiclp0ZWVzdkExbll6RU9zKzNBanJiVDc5TWQyVzhCejlicUJWTmxOT0VTU3FtNGtpQ0pGbXNsbS82YnIKLU5wME1TUWQrbzIyUFE0eFJ0bVA2VXNUZlUwdWVpTXBZYzhUWVloTWJmbmZGeW80bTcwN2ViY2ZsUGJCRU4yZGcKLXVwZFE2NmN2ZkNKQjBRSnQ5dXBhZlkwbHBkVjFxVWtDQXdFQUFhT0JvRENCblRBZEJnTlZIUTRFRmdRVU9IZlkKLWEzZWNLSGVDaTA3WUc2a2U5NVFXdHc0d2JnWURWUjBqQkdjd1pZQVVuVzBnSkVrQlB5dkxlTFVadkg0a3lkdjcKLU5ueWhRcVJBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVjTUJvR0ExVUUKLUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRWUlKQU1GRDRuNWlROHpvTUF3R0ExVWRFd1FGTUFNQkFmOHcKLUNnWUlLb1pJemowRUF3SURhQUF3WlFJeEFPQWNoK2d6NHJIZkkvcG04TUlEc3NNdEpDcXpTNnh0T3ZRSEpaOWwKLWZkZ1dmSlY1Y1NISnBPSVdHWGVGS0tSMTh3SXdPRFRSblRJaW95K2JZYWNOcThUUVBqemRWbFQ5WGJZa1dJWU4KLUpBdVY5ZkxKSmRCNW5aVUczbDg1RHQyN1ZOa1QKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyN19pbnQtY2FfY2EyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyN19pbnQtY2FfY2EyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk3NDQ3Zi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhX2NhMi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUR3akNDQWFxZ0F3SUJBZ0lCRURBTkJna3Foa2lHOXcwQkFRc0ZBREJJTVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEpqQWtCZ05WQkFNTUhWQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnQKLVpXUnBZWFJsSUVOQk1CNFhEVEl6TURVeE56QTNNVEF6TjFvWERUTXpNRFV4TnpBM01UQXpOMW93TkRFTE1Ba0cKLUExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1SSXdFQVlEVlFRRERBbHNiMk5oYkdodmMzUXcKLVdUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRY2JmZnAycVhxb1p5eWNobW9DUnh6cmQ0VnU5Nm0KLTQ3TlBCZWh0RUM0NmFUZVhnRG5CZGYrK3puQUJyQXRmWEJSTlF6OEFSSWVZQm1za3IyMnJsS2p5bzRHVk1JR1MKLU1CMEdBMVVkRGdRV0JCVFNDdE9sZHgvT1ZiQmNScUtPYzJ5L29XQW11ekJtQmdOVkhTTUVYekJkZ0JRNGQ5aHIKLWQ1d29kNEtMVHRnYnFSNzNsQmEzRHFGQ3BFQXdQakVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnYKLWJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjBJRVZESUVOQmdnRU9NQWtHQTFVZEV3UUMKLU1BQXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnSUJBRFU5WnlaV2ZYMVQxUGkwUFJCZXFwbTUycGVoVVgyd01zeWkKLUt1ZFNwTGVOKytlUzlwL1IwaHBOdUI4V3ZaY3NGeS9xdWwwZGpQQVJLR3BZZ1lUWlF2T1ExMFZjWTQwanh0dG0KLUVUU2NubnFLSDJsTXIwYXNPcE0zMWtLdC9naEpTMG5qVWhJOU5ZNnlBSTJYaGNEekl0U3BxT2huNllMQzNtclcKLURJeUJDa3NMS0V1OHgvS3BSYnZqM1FLMWV6M2NISXRveENDZTlneTh0TUV3YjhGRTE1ZHREdUw3RzdpUmI0RGgKLVZ5TDZxekJSdkpQOUFjUUtUNFBUYU9Nd3U4TytoQ2xEdkxsbEp6Q2tKWDRxWm1RcjNqd084RW1pOWR2UTg3WkYKLWNEcExieHFJZ3RSRjhsa3huMDBVdWh1dWdNZ004bGRUZC9hUnhacmRkSWdGVk5tRWRXSVdCdTVaVFdtQk0vRkgKLWFndXVacjNtdHk3Smg0WFpKMFJaNEg3WGFZem9WbkNLOWNBNWtvUnYvZ3RTUWREaDhCaVlsSndXeDhhZHF5Z28KLWZpYmluUW5JT2haNEhjbmxURHNoc2I1ZVkrR3RrU0xtYzg3MzVWNXJ0RXQ3enJ0YWhGVDVJN3IyWDZkRGlQZEQKLUJsdmI5LzVnSU1DM2Z5ME5aaWdEdWVCT1lGNzhrcHhxTVJrbnQ2eDg2aXJWZGJSWHcxZnBWdXgyNGNmVERjL3UKLTVFYXQ0WUZmTTFlS1pudU9FVHVtUE9vYTI3anZjWVRQTU9zVU44K1E4T3M2U0RrSkM4ZTJvYmVkUW9mZlFDMDYKLTFYenJpM0hPSHpaclBITEdrd0FGTllCeW5sMS93eEd1MHZQbG1wekpEemM3eTBlMUZnS3FENllhZEFRTStBUEEKLVpLYXNpaE8zCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUVBVENDQTRlZ0F3SUJBZ0lCRGpBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTNXaGNOTXpNd05URTNNRGN4TURNM1dqQklNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SmpBa0JnTlZCQU1NSFZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvMU9jOG5yNmZNVHEKLXZvd1YrQ3BDNTVpNUJaR0ZHYzUwRWI0UkxCU1JUSDFlN0plcGRGakFWYkJ0eVFSSlNpWTFqYTB0Z0xRRERLWlIKLXdmRUkrYjRhenNlNDYwSW5QSHY3QzFUTjB1cFhseHVqNm05QjFJbFArc0JhTTdXQkM2ZFZmUE8ralZNSXhna0YKLUNhQkNMaGhkSzFGamY4SGprVC9Qa2N0V25obzhOVHdpdmM5K25xUlpqWGUvZUljcW01SHdqRERodStneitvMGcKLVZ6OU1mWk5pMUp5Q3JPeU5aY3krY3IyUWVObk5WR25GcTh4VHh0dTZkTHVuaHBtTEZqMm1tMFZqd2E3WXBqNXEKLUFqcHFUTXREdnFiUnVUb3lveXphamhNTmNDQWY3Z3d6SXVwSkpGVmRqZHRnWUFjUXd6aWt3RjVIb0lUSnp6SjIKLXFneEY3Q212R1pOYjdHOTltTGRMZGh0Y2xIM3dBUUtIWXdFR0pvN1hLeU5FdUhQUWdCK2UwY2cxU0QxSHFsQU0KLXVDZkdHVFdRNm1lN0JqYW4zdDBOem9UZERxNklwS1Rlc2JhWSsvOWUyeG44RENyaEJLTFhRTVpGRFpxVW9MWUEKLWtHUE9FR2d2bFBuSUlYQWF3b3V4Q2FOWUVoNVV3ODcxWU1TUFQyOHJMZEZyNDlkd1lPdERnOWZvQThoRElXMlAKLWQ2S1hiclp0ZWVzdkExbll6RU9zKzNBanJiVDc5TWQyVzhCejlicUJWTmxOT0VTU3FtNGtpQ0pGbXNsbS82YnIKLU5wME1TUWQrbzIyUFE0eFJ0bVA2VXNUZlUwdWVpTXBZYzhUWVloTWJmbmZGeW80bTcwN2ViY2ZsUGJCRU4yZGcKLXVwZFE2NmN2ZkNKQjBRSnQ5dXBhZlkwbHBkVjFxVWtDQXdFQUFhT0JvRENCblRBZEJnTlZIUTRFRmdRVU9IZlkKLWEzZWNLSGVDaTA3WUc2a2U5NVFXdHc0d2JnWURWUjBqQkdjd1pZQVVuVzBnSkVrQlB5dkxlTFVadkg0a3lkdjcKLU5ueWhRcVJBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVjTUJvR0ExVUUKLUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRWUlKQU1GRDRuNWlROHpvTUF3R0ExVWRFd1FGTUFNQkFmOHcKLUNnWUlLb1pJemowRUF3SURhQUF3WlFJeEFPQWNoK2d6NHJIZkkvcG04TUlEc3NNdEpDcXpTNnh0T3ZRSEpaOWwKLWZkZ1dmSlY1Y1NISnBPSVdHWGVGS0tSMTh3SXdPRFRSblRJaW95K2JZYWNOcThUUVBqemRWbFQ5WGJZa1dJWU4KLUpBdVY5ZkxKSmRCNW5aVUczbDg1RHQyN1ZOa1QKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ0J6Q0NBWXVnQXdJQkFnSUpBTUZENG41aVE4em9NQXdHQ0NxR1NNNDlCQU1DQlFBd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNQjRYRFRFNU1ESXhNREUwTkRRd01Gb1hEVEk1TURJeE1ERTBORFF3TUZvd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRXc5b3JORUUzV0MrSFZ2NzhpYm9wUTB0TwotNEc3RERsZFRNemxZMUZLMGtaVTVDeVBmWHhja1lrajhHcFVweml3dGg4S0lVb0N2MW1xcklkMjQweHh1V0xqSwotNkxKcGp2TkJyU25EdEY5MXAwZHYxUmtwVldtYVV6c2d0R1lXWURNZW8xTXdVVEFQQmdOVkhSTUJBZjhFQlRBRAotQVFIL01CMEdBMVVkRGdRV0JCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFmQmdOVkhTTUVHREFXZ0JTZAotYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBTUJnZ3Foa2pPUFFRREFnVUFBMmdBTUdVQ01RRHBOV2ZCSWx6cQotNnhWMlV3UUQvMVlHejlmUVVNN0FmTkt6VmEyUFZCcGYvUUQxVEF5bFRZVEY0R0k2cWxiNkVQWUNNRi9ZVmEyOQotTjV5QzFtRkFpcjE5amI5UGw5aWlJa1JtMTdkTTR5Nm01VklNZXBFUG0vVmxXQWE4SDVwMStCUGJHdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjdfc3B1cmlvdXNfaW50LWNhLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyN19zcHVyaW91c19pbnQtY2EuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZGMxMTQ2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyN19zcHVyaW91c19pbnQtY2EuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEd2pDQ0FhcWdBd0lCQWdJQkVEQU5CZ2txaGtpRzl3MEJBUXNGQURCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hKakFrQmdOVkJBTU1IVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0Ci1aV1JwWVhSbElFTkJNQjRYRFRJek1EVXhOekEzTVRBek4xb1hEVE16TURVeE56QTNNVEF6TjFvd05ERUxNQWtHCi1BMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUkl3RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3Ci1XVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUWNiZmZwMnFYcW9aeXljaG1vQ1J4enJkNFZ1OTZtCi00N05QQmVodEVDNDZhVGVYZ0RuQmRmKyt6bkFCckF0ZlhCUk5RejhBUkllWUJtc2tyMjJybEtqeW80R1ZNSUdTCi1NQjBHQTFVZERnUVdCQlRTQ3RPbGR4L09WYkJjUnFLT2MyeS9vV0FtdXpCbUJnTlZIU01FWHpCZGdCUTRkOWhyCi1kNXdvZDRLTFR0Z2JxUjczbEJhM0RxRkNwRUF3UGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2Ci1iR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wSUVWRElFTkJnZ0VPTUFrR0ExVWRFd1FDCi1NQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQURVOVp5WldmWDFUMVBpMFBSQmVxcG01MnBlaFVYMndNc3lpCi1LdWRTcExlTisrZVM5cC9SMGhwTnVCOFd2WmNzRnkvcXVsMGRqUEFSS0dwWWdZVFpRdk9RMTBWY1k0MGp4dHRtCi1FVFNjbm5xS0gybE1yMGFzT3BNMzFrS3QvZ2hKUzBualVoSTlOWTZ5QUkyWGhjRHpJdFNwcU9objZZTEMzbXJXCi1ESXlCQ2tzTEtFdTh4L0twUmJ2ajNRSzFlejNjSEl0b3hDQ2U5Z3k4dE1Fd2I4RkUxNWR0RHVMN0c3aVJiNERoCi1WeUw2cXpCUnZKUDlBY1FLVDRQVGFPTXd1OE8raENsRHZMbGxKekNrSlg0cVptUXIzandPOEVtaTlkdlE4N1pGCi1jRHBMYnhxSWd0UkY4bGt4bjAwVXVodXVnTWdNOGxkVGQvYVJ4WnJkZElnRlZObUVkV0lXQnU1WlRXbUJNL0ZICi1hZ3V1WnIzbXR5N0poNFhaSjBSWjRIN1hhWXpvVm5DSzljQTVrb1J2L2d0U1FkRGg4QmlZbEp3V3g4YWRxeWdvCi1maWJpblFuSU9oWjRIY25sVERzaHNiNWVZK0d0a1NMbWM4NzM1VjVydEV0N3pydGFoRlQ1STdyMlg2ZERpUGRECi1CbHZiOS81Z0lNQzNmeTBOWmlnRHVlQk9ZRjc4a3B4cU1Sa250Nng4NmlyVmRiUlh3MWZwVnV4MjRjZlREYy91Ci01RWF0NFlGZk0xZUtabnVPRVR1bVBPb2EyN2p2Y1lUUE1Pc1VOOCtROE9zNlNEa0pDOGUyb2JlZFFvZmZRQzA2Ci0xWHpyaTNIT0h6WnJQSExHa3dBRk5ZQnlubDEvd3hHdTB2UGxtcHpKRHpjN3kwZTFGZ0txRDZZYWRBUU0rQVBBCi1aS2FzaWhPMwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDNlRDQ0FkR2dBd0lCQWdJQkR6QU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1Nak13TlRFM01EY3hNRE0zV2hjTk16TXdOVEUzTURjeE1ETTNXakJMTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEtUQW5CZ05WQkFNTUlGQnZiR0Z5VTFOTUlGUmxjM1FnU1c1MFpYSnRaV1JwCi1ZWFJsSUVWRElFTkJNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRThPaWgzZlg1U0xlTjFkbUZuY1FsCi1XTXc5K1k2c1hibGhsclhCeGhYeGp3ZHdwQ0hFTm4rZm9VVmRycVlWWWE3U3V2M1FWZU82bkoxOUgzUU5peFc4Ci1pazFQK2h4c2JhcThidGE3OHZBeUhtQzRFbVhRTGcxdzdveGI5UTgycVgxWW80R1ZNSUdTTUIwR0ExVWREZ1FXCi1CQlFQaWIxalFldkxYaGNvLzJnd1BjR0kwSnhZT1RCakJnTlZIU01FWERCYWdCUzBXdVNsczk3U1V2YTUxYWFWCi1EK3Mrdk1mOS82RS9wRDB3T3pFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUmt3Ci1Gd1lEVlFRRERCQlFiMnhoY2xOVFRDQlVaWE4wSUVOQmdnRURNQXdHQTFVZEV3UUZNQU1CQWY4d0RRWUpLb1pJCi1odmNOQVFFTEJRQURnZ0VCQUJOM2IxbHRObEJROVBod0poeEJXRU5sTU5keTF2eUtCR0gzRWRaN3c0dUhKSk9tCi13OEpTNXAvQjUrOWZESUlPVGhEcjgwaExxNFFPUVZKaHhBVDEvWnNiMk96c1R4YzFCYUNOYkJ2MlkrRnlGY3BMCi1JOEVqTUYrZ25TZ2JzNDZrR0tjZTFFSk5yWnJrdnBDbmd0Tmo3cXFnOXFuUFhkMWVuMHozNDl4SEpQbVl1V0ViCi05c0hkVmx3bmViUG0xbjl1MU56cGt0QUNoYjI4VUZuQllUV3JhWkN0TUJNb3p1TWh6Nm1vNjZYT0V5SDA2WXBhCi1RUE9sQm1iZ1cvZStmdVhvdzQxUVVxUDJ0dlZMNk1zbVNaRldrOGhyNDVyTlJ6ZVRvazFNNWJXOTFzWjc4V2U1Ci05NW0zVDZJRStxcGoyL1JJTG5jd3k3dldCbEZ6YnVpSUEzZVNKYTg9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUVBVENDQTRlZ0F3SUJBZ0lCRGpBS0JnZ3Foa2pPUFFRREFqQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTNXaGNOTXpNd05URTNNRGN4TURNM1dqQklNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4SmpBa0JnTlZCQU1NSFZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRU5CTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvMU9jOG5yNmZNVHEKLXZvd1YrQ3BDNTVpNUJaR0ZHYzUwRWI0UkxCU1JUSDFlN0plcGRGakFWYkJ0eVFSSlNpWTFqYTB0Z0xRRERLWlIKLXdmRUkrYjRhenNlNDYwSW5QSHY3QzFUTjB1cFhseHVqNm05QjFJbFArc0JhTTdXQkM2ZFZmUE8ralZNSXhna0YKLUNhQkNMaGhkSzFGamY4SGprVC9Qa2N0V25obzhOVHdpdmM5K25xUlpqWGUvZUljcW01SHdqRERodStneitvMGcKLVZ6OU1mWk5pMUp5Q3JPeU5aY3krY3IyUWVObk5WR25GcTh4VHh0dTZkTHVuaHBtTEZqMm1tMFZqd2E3WXBqNXEKLUFqcHFUTXREdnFiUnVUb3lveXphamhNTmNDQWY3Z3d6SXVwSkpGVmRqZHRnWUFjUXd6aWt3RjVIb0lUSnp6SjIKLXFneEY3Q212R1pOYjdHOTltTGRMZGh0Y2xIM3dBUUtIWXdFR0pvN1hLeU5FdUhQUWdCK2UwY2cxU0QxSHFsQU0KLXVDZkdHVFdRNm1lN0JqYW4zdDBOem9UZERxNklwS1Rlc2JhWSsvOWUyeG44RENyaEJLTFhRTVpGRFpxVW9MWUEKLWtHUE9FR2d2bFBuSUlYQWF3b3V4Q2FOWUVoNVV3ODcxWU1TUFQyOHJMZEZyNDlkd1lPdERnOWZvQThoRElXMlAKLWQ2S1hiclp0ZWVzdkExbll6RU9zKzNBanJiVDc5TWQyVzhCejlicUJWTmxOT0VTU3FtNGtpQ0pGbXNsbS82YnIKLU5wME1TUWQrbzIyUFE0eFJ0bVA2VXNUZlUwdWVpTXBZYzhUWVloTWJmbmZGeW80bTcwN2ViY2ZsUGJCRU4yZGcKLXVwZFE2NmN2ZkNKQjBRSnQ5dXBhZlkwbHBkVjFxVWtDQXdFQUFhT0JvRENCblRBZEJnTlZIUTRFRmdRVU9IZlkKLWEzZWNLSGVDaTA3WUc2a2U5NVFXdHc0d2JnWURWUjBqQkdjd1pZQVVuVzBnSkVrQlB5dkxlTFVadkg0a3lkdjcKLU5ueWhRcVJBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVjTUJvR0ExVUUKLUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRWUlKQU1GRDRuNWlROHpvTUF3R0ExVWRFd1FGTUFNQkFmOHcKLUNnWUlLb1pJemowRUF3SURhQUF3WlFJeEFPQWNoK2d6NHJIZkkvcG04TUlEc3NNdEpDcXpTNnh0T3ZRSEpaOWwKLWZkZ1dmSlY1Y1NISnBPSVdHWGVGS0tSMTh3SXdPRFRSblRJaW95K2JZYWNOcThUUVBqemRWbFQ5WGJZa1dJWU4KLUpBdVY5ZkxKSmRCNW5aVUczbDg1RHQyN1ZOa1QKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjguY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MTViMTdiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNxVENDQWk2Z0F3SUJBZ0lCRVRBTUJnZ3Foa2pPUFFRREFnVUFNRXN4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFcE1DY0dBMVVFQXd3Z1VHOXNZWEpUVTB3Z1ZHVnpkQ0JKYm5SbGNtMWwKLVpHbGhkR1VnUlVNZ1EwRXdIaGNOTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBME1Rc3cKLUNRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXoKLWREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU5zY2Z5NEx6Yi9PMFhVUW9LSzQKLXpuMnE0Z1hnZXRoRVk0KzF2Y0N3R2JrM3VCbEtEdkZkZElCblJvY0czbHQvQmdPOXdZMWVCeFhVVy9UYzVjODkKLStjRVJMSzVxdVlxOUhXZG1GK3BPdmRzVm1vS0g1UEI0dzZPRmg3RDluNm1aWCtNejdNenFDN1ZoWHZGSmZqK2oKLUxlb0JETXhDbW5hYnhOQTMwN0VYQVdFQkZsbCtIQmZEVS8zUmNzdE1ZQlhhZmVMcXJWRHZqdUtMMUdwM1ZkWncKLTJXdTc4ZTQ1QkRpanZlTFI0R1pyNHB4SG1la281cmI4THNwblE0VG8xWVBXblpockFUNkIzRHg2eXZuem5QZlcKLUtCc25lSHpEME5WanA0RTBpYTBsYXIzeTZ1MzZWL3psTk1iQkQzRXQwZ2dRRzYxRVFlRCtlYUJqazRxeFhlbXcKLTdtOENBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVNGovbUxmVG51S2FNM0cwWHB4aEEKLUoyRjJEeDB3SHdZRFZSMGpCQmd3Rm9BVUQ0bTlZMEhyeTE0WEtQOW9NRDNCaU5DY1dEa3dEQVlJS29aSXpqMEUKLUF3SUZBQU5uQURCa0FqQTNLSjEvU3ZPWm5wbXRxdHVya3QrMERoUUlYR01SRFBuUGtzQ3V5L3dxR0hSOERzV1MKLWRFYTdQUUVncmJBNjBIb0NNQ3BIMmZZdGNBZmhnNWdHZytReG1Wc1VJdC85R2Q5c3lRbG5YN3dOQ2Z3ZVVlU1MKLU14RzFpc09kVWlRVGFqTTFUUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI4LmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE5OTQxZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjgua2V5CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQotTUlJRW93SUJBQUtDQVFFQTJ4eC9MZ3ZOdjg3UmRSQ2dvcmpPZmFyaUJlQjYyRVJqajdXOXdMQVp1VGU0R1VvTwotOFYxMGdHZEdod2JlVzM4R0E3M0JqVjRIRmRSYjlOemx6ejM1d1JFc3JtcTVpcjBkWjJZWDZrNjkyeFdhZ29mawotOEhqRG80V0hzUDJmcVpsZjR6UHN6T29MdFdGZThVbCtQNk10NmdFTXpFS2FkcHZFMERmVHNSY0JZUUVXV1g0YwotRjhOVC9kRnl5MHhnRmRwOTR1cXRVTytPNG92VWFuZFYxbkRaYTd2eDdqa0VPS085NHRIZ1ptdmluRWVaNlNqbQotdHZ3dXltZERoT2pWZzlhZG1Hc0JQb0hjUEhySytmT2M5OVlvR3lkNGZNUFExV09uZ1RTSnJTVnF2ZkxxN2ZwWAotL09VMHhzRVBjUzNTQ0JBYnJVUkI0UDU1b0dPVGlyRmQ2YkR1YndJREFRQUJBb0lCQUZ2ZjN4UVhydlkyYW0yRAotdzFkMzFsMnJRWXJsVFoxUlQ4MzZqczQxQ1JRNDRPRDV4THBBVFpGcHZKRHh1RnIxTURoeFlLOCtOZ3BaT1JXNwotYWtFejQzMnBEZXMwcFFnZnRDeWZDbmdjL0U3WkNDaWpnc095WDVZNWIyUXZkTHRRckh4QVVaSzZzSjRsYmdJTwotcHZsWUd2Qjc4RG5WMDU3WVFmWnM4ajdYUHFURllWTmxJeDZ4Q0Z4d2lNVGVVR1p2U3JOOENwS1QvNXpzU0U1ZAoteFgyYWxhWWlXbDJvU09JN2F4cnRwTUVYQUkwQS9PL04xbUkrbjNjczE1Y2ZBSmEvZk1qRU1tR3owUHFnNUlsUwotSXdaV3ByNkJ6YmRIbGRPL1hsVkVyS01vNGxBRFVtc3IyZCtxM3ZmUW1MRUF5aXpwN09tVTl2YytEWGNLOWpIKwotYURkMGdjRUNnWUVBN1NBVkEvYmFuWWVqTjdPdm44NHBKK21ndUlOTXdQRlpkOWVXOW9wMVBnUnJ5R0NwZGg3NwotcVY2NFlJakZod3QxSlFRSWY1R0NQRDVVbTBaOG1ZNTlhNk1VK3NKR0dCN3h3VnVDdVhiREFLSkpGNi81OGY3LwotTW9MenNvUUZ5NTBUcEE5MFQwV092TVdEbldTTFRZalJyMWZGVEtOV05jdlBvRk9ubUF5ZEdiVUNnWUVBN0kxWAotbUNGUlNHaXUwTmROMmo3bXd0VHVkSTRtL3F5WWZVUXhwU3Z2Z04yRFNIdEc1Nmg4RHoxdzdDcE5sTERIb2RQUAotZThvaVhNUy9iQkJOd1dIdTloeGhCcWRtdmo0QytLNUF4MEVLWXg3Q3NIV0s3Qko4dThBazh4d2F1Zk1pZWp0NQotaW9KaEk0cHl1a0JFcUpibnV6bXVEY3VvcXhQRjFaVG1NL1d6cmhNQ2dZQmk1VjkrY01VS3NGaEZVZjZzVXFwZAotaUJYTS9vM1RacFZlNHg2R0lvYjFYNWlvVUpBOHdIMUxUVUx1bC94eDd6aGpRTVJlbUF4T0hkemhpY3RMcTk3cAotTm5INGgyLytmV0ZzdUVMVUlSRUJRYTNrWURPSlYwV09Cb21tNldNVllhU2dad1dtVGlkUzJibWp1aHhUTVAzcQotK0Z0RU5GY3ZScHFJam5zMmNnUlBoUUtCZ1FEY2poaWE1bzJ6OXE3d1Y1N21HM25yTkwrMGV3b09zSHhwWjVqbQotU1NYQlFFZjAzOFJIb0ljemFuVU1MWkV5VHZXRGhFclRQNjkwVVptdE56SllXV2lGbmdZMVB3WUQ0U3ZDRkM2ZgotMlp2R3VWcUxUcjBkeVVyMWYzeTBFNE16MTJkUkVuMExVTzhqUlNZZFZHanZ5K3Y2WEJoV0VvcU1JQjU0T3FHOAotMXAwV2N3S0JnRjRLZnpCT2kxRGFyQ3V4YWE2aHVVZE5jOGVmb2c1R08xbG1OZW5LbFJ1UExwNXdwM3F2V3N5SAotYmxmYnRKUU5FMURoYkRHd216UENHTGMzd1h4MHQwZ0NyY01reG9SQVRGTU5PU0xvZEc3TWJrajlBb0VNeDk0WAotWFlmaTV2WWZ0YkVVbVplWnRIWkJJM28zdXAveHRQY3VHTmxiOEJTSUlPYVF0SVl5YnhLYQotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTk5NzI3ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjhfaW50LWNhMi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNxVENDQWk2Z0F3SUJBZ0lCRVRBTUJnZ3Foa2pPUFFRREFnVUFNRXN4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFcE1DY0dBMVVFQXd3Z1VHOXNZWEpUVTB3Z1ZHVnpkQ0JKYm5SbGNtMWwKLVpHbGhkR1VnUlVNZ1EwRXdIaGNOTVRrd01qRXdNVFEwTkRBMldoY05Namt3TWpFd01UUTBOREEyV2pBME1Rc3cKLUNRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXoKLWREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU5zY2Z5NEx6Yi9PMFhVUW9LSzQKLXpuMnE0Z1hnZXRoRVk0KzF2Y0N3R2JrM3VCbEtEdkZkZElCblJvY0czbHQvQmdPOXdZMWVCeFhVVy9UYzVjODkKLStjRVJMSzVxdVlxOUhXZG1GK3BPdmRzVm1vS0g1UEI0dzZPRmg3RDluNm1aWCtNejdNenFDN1ZoWHZGSmZqK2oKLUxlb0JETXhDbW5hYnhOQTMwN0VYQVdFQkZsbCtIQmZEVS8zUmNzdE1ZQlhhZmVMcXJWRHZqdUtMMUdwM1ZkWncKLTJXdTc4ZTQ1QkRpanZlTFI0R1pyNHB4SG1la281cmI4THNwblE0VG8xWVBXblpockFUNkIzRHg2eXZuem5QZlcKLUtCc25lSHpEME5WanA0RTBpYTBsYXIzeTZ1MzZWL3psTk1iQkQzRXQwZ2dRRzYxRVFlRCtlYUJqazRxeFhlbXcKLTdtOENBd0VBQWFOTk1Fc3dDUVlEVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVNGovbUxmVG51S2FNM0cwWHB4aEEKLUoyRjJEeDB3SHdZRFZSMGpCQmd3Rm9BVUQ0bTlZMEhyeTE0WEtQOW9NRDNCaU5DY1dEa3dEQVlJS29aSXpqMEUKLUF3SUZBQU5uQURCa0FqQTNLSjEvU3ZPWm5wbXRxdHVya3QrMERoUUlYR01SRFBuUGtzQ3V5L3dxR0hSOERzV1MKLWRFYTdQUUVncmJBNjBIb0NNQ3BIMmZZdGNBZmhnNWdHZytReG1Wc1VJdC85R2Q5c3lRbG5YN3dOQ2Z3ZVVlU1MKLU14RzFpc09kVWlRVGFqTTFUUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUM2VENDQWRHZ0F3SUJBZ0lCRHpBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1qTXdOVEUzTURreU56QXlXaGNOTXpNd05URTNNRGt5TnpBeVdqQkxNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4S1RBbkJnTlZCQU1NSUZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFOE9paDNmWDVTTGVOMWRtRm5jUWwKLVdNdzkrWTZzWGJsaGxyWEJ4aFh4andkd3BDSEVObitmb1VWZHJxWVZZYTdTdXYzUVZlTzZuSjE5SDNRTml4VzgKLWlrMVAraHhzYmFxOGJ0YTc4dkF5SG1DNEVtWFFMZzF3N294YjlRODJxWDFZbzRHVk1JR1NNQjBHQTFVZERnUVcKLUJCUVBpYjFqUWV2TFhoY28vMmd3UGNHSTBKeFlPVEJqQmdOVkhTTUVYREJhZ0JTMFd1U2xzOTdTVXZhNTFhYVYKLUQrcyt2TWY5LzZFL3BEMHdPekVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sa3cKLUZ3WURWUVFEREJCUWIyeGhjbE5UVENCVVpYTjBJRU5CZ2dFRE1Bd0dBMVVkRXdRRk1BTUJBZjh3RFFZSktvWkkKLWh2Y05BUUVMQlFBRGdnRUJBSFROMFVSclAyTXB3RDh2T0R5bWpqcTdpYUI3V0ZaNENXVWp4OUxXdTNQUFpiWDIKLTEyTXh6a3lGYVZSN3JuUEtaU0ZISkpFbU5hUERKV3dZaEdRUlhMQ29ENk5pSnk2RGU0ZmE1Z1NZb1h0aFJHRmYKLUduRlhadTNlMzdHREtvS1A4N1RaK1ZYY3l4NlBIdlB4SkIzLzlOOTRWajJZaDNoQ3M3RjcyR213ZkR3dzZvb2oKLXdoSXFoeEJZT2hQbGVBTnM3MEZaN1k3dGpaVjFSdFExLzlzUmNieXY5T3ZkUHVXdnVrQlZxMUtNNm5xVkhCWjMKLS80a0hCV2FGYVdNcS9BQXhNeGFUR0ZBT0E4UzJ5VTU2amtCNjV2aVFycFFRV2ZmQkpXSytXZnJjZ3hSV3FSMzMKLWhxRzN5VDFJV2JKNUUxMVhMOVRDS0QrRFJlcWVYSHlZYXd4OGZCVT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS1iYWQtbWdmaGFzaC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktYmFkLW1nZmhhc2guY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDI5OTQyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS1iYWQtbWdmaGFzaC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURZekNDQWhhZ0F3SUJBZ0lCR0RCQ0Jna3Foa2lHOXcwQkFRb3dOYUFQTUEwR0NXQ0dTQUZsQXdRQ0FRVUEKLW9Sd3dHZ1lKS29aSWh2Y05BUUVJTUEwR0NXQ0dTQUZsQXdRQ0JBVUFvZ1FDQWdEZU1Ec3hDekFKQmdOVkJBWVQKLUFrNU1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVaTUJjR0ExVUVBd3dRVUc5c1lYSlRVMHdnVkdWemRDQkQKLVFUQWVGdzB5TXpBMU1UY3dPRE01TkRoYUZ3MHpNekExTVRjd09ETTVORGhhTURReEN6QUpCZ05WQkFZVEFrNU0KLU1SRXdEd1lEVlFRS0RBaFFiMnhoY2xOVFRERVNNQkFHQTFVRUF3d0piRzlqWVd4b2IzTjBNSUdmTUEwR0NTcUcKLVNJYjNEUUVCQVFVQUE0R05BRENCaVFLQmdRRGRFWXFmbWJxd2FNb3E2anRxYlZtWDdVN0pWT1FON3M2Z2ZhQWUKLXF1Z093cnNUUU51S0VvNkpFeVNseGZYNjJQV1ExOGpLeThYK2t4MnYyaElqYzFKNVJocTZvRmNyZGhZeHM2aXYKLTV6aWJDSXRqbVRvS0plNUYwaGhZdXJtVEd1M1VXSnBqR3pmODl4UUluNFZsU2ZOWk1tM1I0T2h0M2xMdFpyU3AKLUM5cEFsUUlEQVFBQm80R1NNSUdQTUIwR0ExVWREZ1FXQkJUdTg4ZjFIeFdsVFVlSndkTWlZN0xmcDg2OVVUQmoKLUJnTlZIU01FWERCYWdCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvNkUvcEQwd096RUxNQWtHQTFVRUJoTUMKLVRrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUmt3RndZRFZRUUREQkJRYjJ4aGNsTlRUQ0JVWlhOMElFTkIKLWdnRURNQWtHQTFVZEV3UUNNQUF3UWdZSktvWklodmNOQVFFS01EV2dEekFOQmdsZ2hrZ0JaUU1FQWdFRkFLRWMKLU1Cb0dDU3FHU0liM0RRRUJDREFOQmdsZ2hrZ0JaUU1FQWdRRkFLSUVBZ0lBM2dPQ0FRRUFhUWxmMUdQaHZQSHAKLWhGZ1RkSUI1eDV6QUNWYjRhNE9OdXlTVmNrZk1wV2sybmxrUlN1M0tndjRqOGwvamZOcGZyK3dlNGxHNzJ4RW4KLUZWM2VtOGRFenh2WGQ1alhDZlIvaFdKS1lWb1doMDA1NXFXdzdGcEcyMHZSRkt0dFU4VUZjbEw3S3ZNczRJbloKLXZEcGJQczVFd0JRWFRnL21hbkw5VEQ5dC96cVdBVUpqMXlIV2lJSVNZemZXbXNhb1RpOGpOeFNSMStsa21QUFAKLVpXUXd5VUpyaDgyTXczVndOR3hYT2ZwR0l3bWpYUGlhOE1hZmpqSC9SdEhOeDd1a0NrKzZxMVpsSDU3Tm9sWkoKLWRsUVRKdjIxK3Z4eVlyNkdaZEhYemRKd1dNbkZTb2Y2Vkd3YXlOemV0U25WaEpiMFNRcVRCdDhWdTV4UXRYR2EKLVFjQ2pHeUNBSWc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LWJhZC1zYWx0bGVuLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS1iYWQtc2FsdGxlbi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1YmYyMGUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LWJhZC1zYWx0bGVuLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFl6Q0NBaGFnQXdJQkFnSUJHREJDQmdrcWhraUc5dzBCQVFvd05hQVBNQTBHQ1dDR1NBRmxBd1FDQVFVQQotb1J3d0dnWUpLb1pJaHZjTkFRRUlNQTBHQ1dDR1NBRmxBd1FDQVFVQW9nUUNBZ0RlTURzeEN6QUpCZ05WQkFZVAotQWs1TU1SRXdEd1lEVlFRS0RBaFFiMnhoY2xOVFRERVpNQmNHQTFVRUF3d1FVRzlzWVhKVFUwd2dWR1Z6ZENCRAotUVRBZUZ3MHlNekExTWpJd056TXdNRFphRncwek16QTFNVGt3TnpNd01EWmFNRFF4Q3pBSkJnTlZCQVlUQWs1TQotTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1JR2ZNQTBHQ1NxRwotU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FEZEVZcWZtYnF3YU1vcTZqdHFiVm1YN1U3SlZPUU43czZnZmFBZQotcXVnT3dyc1RRTnVLRW82SkV5U2x4Zlg2MlBXUTE4akt5OFgra3gydjJoSWpjMUo1UmhxNm9GY3JkaFl4czZpdgotNXppYkNJdGptVG9LSmU1RjBoaFl1cm1UR3UzVVdKcGpHemY4OXhRSW40VmxTZk5aTW0zUjRPaHQzbEx0WnJTcAotQzlwQWxRSURBUUFCbzRHU01JR1BNQWtHQTFVZEV3UUNNQUF3SFFZRFZSME9CQllFRk83engvVWZGYVZOUjRuQgotMHlKanN0K256cjFSTUdNR0ExVWRJd1JjTUZxQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9vVCtrUFRBNwotTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeQotVTFOTUlGUmxjM1FnUTBHQ0FRTXdRZ1lKS29aSWh2Y05BUUVLTURXZ0R6QU5CZ2xnaGtnQlpRTUVBZ0VGQUtFYwotTUJvR0NTcUdTSWIzRFFFQkNEQU5CZ2xnaGtnQlpRTUVBZ0VGQUtJRUFnSUEzZ09DQVFFQWxRbzlPbmNoWmJMUQotUFRYczlOZ1hEb1FiNEp2VUcvRnNxMDkvZThpdldhSGtFN21LZU5SclA4cU1kQXc5MTRCczFOUWY5Rjc1Q1dKZQotNVl0bUxjRTVnU2JWajNxYTZ6VnVRV0VjcnNlS3o2d3BBRkxzSEtiRjZrS2ZVZ2NJNTZ4bUQyRGhoSUhueSs1QgotOU9iTTBSUXBDbUFZWGpVMkN2a25YZUJ6cFgyY0dPTEQvTmV4azFvQkY2UEkwckRVQnFnM2NleHNKNVhmSndZZwotdGtqa1ozMjFzOU4wOUJzaW9hdUg2ZDl4OS9Zc3o3UXA3QnFwYjFFN2RWNGJEdVQ1dndQV3dQSVVBYXY4OTdWdAotczB1TVpIb1Zhc2o1N1V3cUR2OHRtMGRiNmYyVk9MN3I1R0JNamJwNm5ld1c4TWU0N3VYU0JYS3k4dEZKTW9sagoteUt1RVFrS0t5QT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktYmFkc2lnbi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktYmFkc2lnbi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2NTZiMWEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LWJhZHNpZ24uY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEQlRDQ0FlZWdBd0lCQWdJQkZqQVRCZ2txaGtpRzl3MEJBUW93QnFJRUFnSUE2akE3TVFzd0NRWURWUVFHCi1Fd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnCi1RMEV3SGhjTk1qTXdOVEUzTURnd05EQXdXaGNOTXpNd05URTNNRGd3TkRBd1dqQTBNUXN3Q1FZRFZRUUdFd0pPCi1UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERDQm56QU5CZ2txCi1oa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBM1JHS241bTZzR2pLS3VvN2FtMVpsKzFPeVZUa0RlN09vSDJnCi1IcXJvRHNLN0UwRGJpaEtPaVJNa3BjWDErdGoxa05mSXlzdkYvcE1kcjlvU0kzTlNlVVlhdXFCWEszWVdNYk9vCi1yK2M0bXdpTFk1azZDaVh1UmRJWVdMcTVreHJ0MUZpYVl4czMvUGNVQ0orRlpVbnpXVEp0MGVEb2JkNVM3V2EwCi1xUXZhUUpVQ0F3RUFBYU9Ca2pDQmp6QWRCZ05WSFE0RUZnUVU3dlBIOVI4VnBVMUhpY0hUSW1PeTM2Zk92VkV3Ci1Zd1lEVlIwakJGd3dXb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2YraFA2UTlNRHN4Q3pBSkJnTlZCQVlUCi1BazVNTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFWk1CY0dBMVVFQXd3UVVHOXNZWEpUVTB3Z1ZHVnpkQ0JECi1RWUlCQXpBSkJnTlZIUk1FQWpBQU1CTUdDU3FHU0liM0RRRUJDakFHb2dRQ0FnRHFBNElCQVFDMkRMSFEwNXg2Ci1pbUpOenRFL1Ruay9sUFEwMVB3NkdpcmRiazRiZ3hjR3dHaisxdTV3QUlITnBKNTBUT2dnZzNIeFR5YjdwMzQ0Ci0vdFZNeHo3bnJIWlE1QVNkbjJrREN5Q21FcWhtajQ4aXNXQUltbCs3SjljQmVJbUpvRWZZcWp0cXRvVmtHeEZ5Ci1TdW9aQVFXa2txRHB5RmhLaElqTFE4SnVTRTZ3V01YL2tjNlRGU1N4ZXBuWlUxU0ZPWGZDaWFWcjV0RlF6QlA3Ci1sb3BwSUFOTGpLZU1qcE9kVTg2UG1SUTJMeXphQ0gxT01ualZuZGVxTm1adDBOeXpaMThjRlB2bTYrRFZWVnVQCi1RKzZuUmVTaENkQWxVK2RKcXNxajhKc1FuZU5NVHhqdjRPQm9YVm1FL2taVGovREJUdHdteGtWaTdLNGFZTUZpCi1VWVVaNFJpd0cxLzAKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS1kZWZhdWx0cy5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktZGVmYXVsdHMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NjEzZjUyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS1kZWZhdWx0cy5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUMrVENDQWVHZ0F3SUJBZ0lCU0RBTkJna3Foa2lHOXcwQkFRb3dBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1qTXdOVEUzTURjeE1ETTNXaGNOTXpNd05URTNNRGN4TURNM1dqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERDQm56QU5CZ2txaGtpRzl3MEIKLUFRRUZBQU9CalFBd2dZa0NnWUVBM1JHS241bTZzR2pLS3VvN2FtMVpsKzFPeVZUa0RlN09vSDJnSHFyb0RzSzcKLUUwRGJpaEtPaVJNa3BjWDErdGoxa05mSXlzdkYvcE1kcjlvU0kzTlNlVVlhdXFCWEszWVdNYk9vcitjNG13aUwKLVk1azZDaVh1UmRJWVdMcTVreHJ0MUZpYVl4czMvUGNVQ0orRlpVbnpXVEp0MGVEb2JkNVM3V2EwcVF2YVFKVUMKLUF3RUFBYU9Ca2pDQmp6QWRCZ05WSFE0RUZnUVU3dlBIOVI4VnBVMUhpY0hUSW1PeTM2Zk92VkV3WXdZRFZSMGoKLUJGd3dXb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2YraFA2UTlNRHN4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLREFoUWIyeGhjbE5UVERFWk1CY0dBMVVFQXd3UVVHOXNZWEpUVTB3Z1ZHVnpkQ0JEUVlJQkF6QUoKLUJnTlZIUk1FQWpBQU1BMEdDU3FHU0liM0RRRUJDakFBQTRJQkFRQVNzYzV5N3NEUDRwck9MR0FsMkVCNWQrR2cKLXcvVms5K2czS1hwZUlVQ0w2Z21FQ05MRU5tbUJlNnpaUjgvQXg2UjFoVWUvQ2JmbGVweHN4NjI3RWcyOU5DWksKLUJvL0FRb3o2NThrd0V6cjRqaEY4TTZ5OXNkc2Y1L09hdW9SeERMY01FeXdJa2dtdUZ2WklweUV3WGl4NmFyc0sKLW1OV25XMEZ3U3IyTmFYb3pEN09xdUd3VEVBdkFidGVpKzVKQWVWdnZHaTF1MzJEMkpQVkhrM3p2MDVMWHR4OGIKLThiRW16Wkx0aEZrM0diU2tHSEMzSzVyak5nVE13WTBCaE5CVzZxRnlZNW1MMGJIVkRiWlF4RDlSUndEaWZHdHkKLWZUbzdvZEpEQUhVMXh1Y1dGNmRPVTVuQXFpRktsYzNlSVRkQkt0K2QxMHlCU3I3cVhjaUhrSHBBekN2aAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LXNoYTIyNC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktc2hhMjI0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQ2NDhjOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktc2hhMjI0LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFl6Q0NBaGFnQXdJQkFnSUJGekJDQmdrcWhraUc5dzBCQVFvd05hQVBNQTBHQ1dDR1NBRmxBd1FDQkFVQQotb1J3d0dnWUpLb1pJaHZjTkFRRUlNQTBHQ1dDR1NBRmxBd1FDQkFVQW9nUUNBZ0RpTURzeEN6QUpCZ05WQkFZVAotQWs1TU1SRXdEd1lEVlFRS0RBaFFiMnhoY2xOVFRERVpNQmNHQTFVRUF3d1FVRzlzWVhKVFUwd2dWR1Z6ZENCRAotUVRBZUZ3MHlNekExTVRjd056RXdNemRhRncwek16QTFNVFF3TnpFd016ZGFNRFF4Q3pBSkJnTlZCQVlUQWs1TQotTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1JR2ZNQTBHQ1NxRwotU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FEZEVZcWZtYnF3YU1vcTZqdHFiVm1YN1U3SlZPUU43czZnZmFBZQotcXVnT3dyc1RRTnVLRW82SkV5U2x4Zlg2MlBXUTE4akt5OFgra3gydjJoSWpjMUo1UmhxNm9GY3JkaFl4czZpdgotNXppYkNJdGptVG9LSmU1RjBoaFl1cm1UR3UzVVdKcGpHemY4OXhRSW40VmxTZk5aTW0zUjRPaHQzbEx0WnJTcAotQzlwQWxRSURBUUFCbzRHU01JR1BNQWtHQTFVZEV3UUNNQUF3SFFZRFZSME9CQllFRk83engvVWZGYVZOUjRuQgotMHlKanN0K256cjFSTUdNR0ExVWRJd1JjTUZxQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9vVCtrUFRBNwotTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeQotVTFOTUlGUmxjM1FnUTBHQ0FRTXdRZ1lKS29aSWh2Y05BUUVLTURXZ0R6QU5CZ2xnaGtnQlpRTUVBZ1FGQUtFYwotTUJvR0NTcUdTSWIzRFFFQkNEQU5CZ2xnaGtnQlpRTUVBZ1FGQUtJRUFnSUE0Z09DQVFFQWpHNzNaT2UycFFuNgotanFpVEhBTEdNMElHOEJCQ2FtbzNnemJDalpQejNablRwWmlpMXBRU0ZQR0VCYUtDZ3J0S3Jqdm9QMjFaRFVucQotM0hqVFV6R3RHYkhrM2grVUpjVllnRnVPTmlkZ3VVRGFBTEd0WElQV1VscUJCZUpMK1krMDF6SlJuTXBDMmhWNwotSlVPTTNlczAydGU4Uk02c3JDZFcxZlA5eCtMeDRHMktqajdrRXpLYWZFYndGZXNTNExiQlhzV2tJRDh4RFBITwotRExLdmc2NnRQZWtzREJUNG43ZjdINTFlTmx5SXd3TURLVGMrTjlSaTVPZVcxSE9xdGJ5by95SmxIdlFxbkNsZAotRThnVytBVm9lWm1ONm4vNHllbW5DRWtGUnFnYlJTSUdWb1BtT1k5ZC9GZkdMbUNsY2FaRlBjSCt3MUpEaEY3MQotM2VnWW5VWS85Zz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktc2hhMjU2LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS1zaGEyNTYuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjM3YjNmLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS1zaGEyNTYuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEWXpDQ0FoYWdBd0lCQWdJQkZ6QkNCZ2txaGtpRzl3MEJBUW93TmFBUE1BMEdDV0NHU0FGbEF3UUNBUVVBCi1vUnd3R2dZSktvWklodmNOQVFFSU1BMEdDV0NHU0FGbEF3UUNBUVVBb2dRQ0FnRGVNRHN4Q3pBSkJnTlZCQVlUCi1BazVNTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFWk1CY0dBMVVFQXd3UVVHOXNZWEpUVTB3Z1ZHVnpkQ0JECi1RVEFlRncweU16QTFNVGN3TnpFd016ZGFGdzB6TXpBMU1UUXdOekV3TXpkYU1EUXhDekFKQmdOVkJBWVRBazVNCi1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVTTUJBR0ExVUVBd3dKYkc5allXeG9iM04wTUlHZk1BMEdDU3FHCi1TSWIzRFFFQkFRVUFBNEdOQURDQmlRS0JnUURkRVlxZm1icXdhTW9xNmp0cWJWbVg3VTdKVk9RTjdzNmdmYUFlCi1xdWdPd3JzVFFOdUtFbzZKRXlTbHhmWDYyUFdRMThqS3k4WCtreDJ2MmhJamMxSjVSaHE2b0ZjcmRoWXhzNml2Ci01emliQ0l0am1Ub0tKZTVGMGhoWXVybVRHdTNVV0pwakd6Zjg5eFFJbjRWbFNmTlpNbTNSNE9odDNsTHRaclNwCi1DOXBBbFFJREFRQUJvNEdTTUlHUE1Ba0dBMVVkRXdRQ01BQXdIUVlEVlIwT0JCWUVGTzd6eC9VZkZhVk5SNG5CCi0weUpqc3QrbnpyMVJNR01HQTFVZEl3UmNNRnFBRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL29UK2tQVEE3Ci1NUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5Ci1VMU5NSUZSbGMzUWdRMEdDQVFNd1FnWUpLb1pJaHZjTkFRRUtNRFdnRHpBTkJnbGdoa2dCWlFNRUFnRUZBS0VjCi1NQm9HQ1NxR1NJYjNEUUVCQ0RBTkJnbGdoa2dCWlFNRUFnRUZBS0lFQWdJQTNnT0NBUUVBWGNXbGZiSWpSSlgzCi1lQ2tqMDNlS0x2aGF3Rm5kTjZtV01PVFZ2cjIwVmRoaG41N3duZ1NLWWd0c2JPWmhwVCtwSVhUVHB4aGt1N3VTCi1QZzZORFUwVzEzeGJyY0lzWXhrWlJjTjZBWWNuVjBOeG5oZGZrbXh3RGpMeW9oZ204SWRndkhiMDRyNzNPUDBqCi1LbW5aZkpKcG54a1ZHRDhORkdqMmhCQ1I3eW5iVkJBZkplZ2wwTHJ1eGM0QWxybmlHNk1XOXhma21FM0VmT1FnCi1kd1p2M1V1aHh6RWhMbVI5MzNCQ2lqd2ZoQlZmeXphckdqRHRaalFZTndXS2hSbCtPWE0rTDE0T2ZxN2h0U3h6Ci1rU001S0pmQ0F6TEZOZDZOMllVODRJaHF3VFM0Q1ovYkUxSGNoRVlQdFhtOTdiajhWbGRyZnYydXAvNFJjMGtGCi1hOFAreExMbXVnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS1zaGEzODQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LXNoYTM4NC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlYTAxMDguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LXNoYTM4NC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURZekNDQWhhZ0F3SUJBZ0lCRnpCQ0Jna3Foa2lHOXcwQkFRb3dOYUFQTUEwR0NXQ0dTQUZsQXdRQ0FnVUEKLW9Sd3dHZ1lKS29aSWh2Y05BUUVJTUEwR0NXQ0dTQUZsQXdRQ0FnVUFvZ1FDQWdET01Ec3hDekFKQmdOVkJBWVQKLUFrNU1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVaTUJjR0ExVUVBd3dRVUc5c1lYSlRVMHdnVkdWemRDQkQKLVFUQWVGdzB5TXpBMU1UY3dOekV3TXpkYUZ3MHpNekExTVRRd056RXdNemRhTURReEN6QUpCZ05WQkFZVEFrNU0KLU1SRXdEd1lEVlFRS0RBaFFiMnhoY2xOVFRERVNNQkFHQTFVRUF3d0piRzlqWVd4b2IzTjBNSUdmTUEwR0NTcUcKLVNJYjNEUUVCQVFVQUE0R05BRENCaVFLQmdRRGRFWXFmbWJxd2FNb3E2anRxYlZtWDdVN0pWT1FON3M2Z2ZhQWUKLXF1Z093cnNUUU51S0VvNkpFeVNseGZYNjJQV1ExOGpLeThYK2t4MnYyaElqYzFKNVJocTZvRmNyZGhZeHM2aXYKLTV6aWJDSXRqbVRvS0plNUYwaGhZdXJtVEd1M1VXSnBqR3pmODl4UUluNFZsU2ZOWk1tM1I0T2h0M2xMdFpyU3AKLUM5cEFsUUlEQVFBQm80R1NNSUdQTUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZPN3p4L1VmRmFWTlI0bkIKLTB5SmpzdCtuenIxUk1HTUdBMVVkSXdSY01GcUFGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvb1Qra1BUQTcKLU1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnkKLVUxTk1JRlJsYzNRZ1EwR0NBUU13UWdZSktvWklodmNOQVFFS01EV2dEekFOQmdsZ2hrZ0JaUU1FQWdJRkFLRWMKLU1Cb0dDU3FHU0liM0RRRUJDREFOQmdsZ2hrZ0JaUU1FQWdJRkFLSUVBZ0lBemdPQ0FRRUFtVFUySHFBQTdnYkIKLXRKbERBdmU4bkdiZENpbTRZalJYV2NlSEdDcG9GSVdyczZvbmxIQ3ZuWjJXcjhpUGsrd25kN1NoSXBwOHZHYi8KLTQ3Nnk4cGZhQTJuOHZZV2hRS0RDVFRVWEpONHRVYzdpOFV6NFJHZEs0OHZIVnZaQ3RDVC84TW1QUG91T0laY1UKLS9La2VudzJqdjVSL0NwaWlyVlVzak54NkJZY2R1MXp6RVUrdW9CTG9tNnNaNkxHUmxJQjBwckZXY3hyVmpmengKLTJDOFp4TVc4TldqNkVRaXBRSjJVK0NDeWNBMkhrYkNtdDNGbkVYbU41T1dUaHZuS2RzaG9Qa01uMkh3aEFPem4KLWNqWlFoUVQzV1N1ZnZaOWJZZTdIWjVlMWU3azZhTVhCdlc4OUVDeGMxMm1aZlNqbFltbHZmSFp1TzhEMnNQMmkKLVJpZGtjWEZNeFE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LXNoYTUxMi5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktc2hhNTEyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGFiZGY2OC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktc2hhNTEyLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFl6Q0NBaGFnQXdJQkFnSUJGekJDQmdrcWhraUc5dzBCQVFvd05hQVBNQTBHQ1dDR1NBRmxBd1FDQXdVQQotb1J3d0dnWUpLb1pJaHZjTkFRRUlNQTBHQ1dDR1NBRmxBd1FDQXdVQW9nUUNBZ0MrTURzeEN6QUpCZ05WQkFZVAotQWs1TU1SRXdEd1lEVlFRS0RBaFFiMnhoY2xOVFRERVpNQmNHQTFVRUF3d1FVRzlzWVhKVFUwd2dWR1Z6ZENCRAotUVRBZUZ3MHlNekExTVRjd056RXdNemRhRncwek16QTFNVFF3TnpFd016ZGFNRFF4Q3pBSkJnTlZCQVlUQWs1TQotTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1JR2ZNQTBHQ1NxRwotU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FEZEVZcWZtYnF3YU1vcTZqdHFiVm1YN1U3SlZPUU43czZnZmFBZQotcXVnT3dyc1RRTnVLRW82SkV5U2x4Zlg2MlBXUTE4akt5OFgra3gydjJoSWpjMUo1UmhxNm9GY3JkaFl4czZpdgotNXppYkNJdGptVG9LSmU1RjBoaFl1cm1UR3UzVVdKcGpHemY4OXhRSW40VmxTZk5aTW0zUjRPaHQzbEx0WnJTcAotQzlwQWxRSURBUUFCbzRHU01JR1BNQWtHQTFVZEV3UUNNQUF3SFFZRFZSME9CQllFRk83engvVWZGYVZOUjRuQgotMHlKanN0K256cjFSTUdNR0ExVWRJd1JjTUZxQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9vVCtrUFRBNwotTVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeQotVTFOTUlGUmxjM1FnUTBHQ0FRTXdRZ1lKS29aSWh2Y05BUUVLTURXZ0R6QU5CZ2xnaGtnQlpRTUVBZ01GQUtFYwotTUJvR0NTcUdTSWIzRFFFQkNEQU5CZ2xnaGtnQlpRTUVBZ01GQUtJRUFnSUF2Z09DQVFFQVZ1dDlvTC8wVi92bwotZjlWS3hBWmZ5eTB6RnkrTE9IelYxSDVxUWFQS0puWElBVXAvc0R0dk9qdWdxSEtqYW1nNmRDSVZ5MjkyWXhjeAotclc4V2NNUjFCajlNUTVRcnYrK1RaMGExZTBxZXQxR1l4ajRNUWtVMzBYbEpxL0poN2VkZTlWaC95QnhLVFFxNwotb2FKNmZPVEZXY3oxSlpEclpyS2ZmQk9xSXA1alFXUEFSaWxVRE42RmlSTllWMy8xNGFXVkduTmJxR2ZvWThDQwotV3ZwQzBpQXZyUXhqZFFRZjZuSVlyemNHTnp2cnBSYmhwekJQVXlVSXJNMW8rbnlpTkFKUGx5bmNqRndtZnc5ZwotODBGUDFYblJJSUttbFRURzdpdmtqSEt6RTZXWFpTUVBqQXJnMGp4UUFYMXVMS0pHRmh1K3VlS3lvUE9IUVhTMAotTzF6M09RbjMrdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktd2l0aC1jYS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjktd2l0aC1jYS5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxYzBhZGEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LXdpdGgtY2EuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEQlRDQ0FlZWdBd0lCQWdJQkZqQVRCZ2txaGtpRzl3MEJBUW93QnFJRUFnSUE2akE3TVFzd0NRWURWUVFHCi1Fd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnCi1RMEV3SGhjTk1qTXdOVEUzTURnd05EQXdXaGNOTXpNd05URTNNRGd3TkRBd1dqQTBNUXN3Q1FZRFZRUUdFd0pPCi1UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4RWpBUUJnTlZCQU1NQ1d4dlkyRnNhRzl6ZERDQm56QU5CZ2txCi1oa2lHOXcwQkFRRUZBQU9CalFBd2dZa0NnWUVBM1JHS241bTZzR2pLS3VvN2FtMVpsKzFPeVZUa0RlN09vSDJnCi1IcXJvRHNLN0UwRGJpaEtPaVJNa3BjWDErdGoxa05mSXlzdkYvcE1kcjlvU0kzTlNlVVlhdXFCWEszWVdNYk9vCi1yK2M0bXdpTFk1azZDaVh1UmRJWVdMcTVreHJ0MUZpYVl4czMvUGNVQ0orRlpVbnpXVEp0MGVEb2JkNVM3V2EwCi1xUXZhUUpVQ0F3RUFBYU9Ca2pDQmp6QWRCZ05WSFE0RUZnUVU3dlBIOVI4VnBVMUhpY0hUSW1PeTM2Zk92VkV3Ci1Zd1lEVlIwakJGd3dXb0FVdEZya3BiUGUwbEwydWRXbWxRL3JQcnpIL2YraFA2UTlNRHN4Q3pBSkJnTlZCQVlUCi1BazVNTVJFd0R3WURWUVFLREFoUWIyeGhjbE5UVERFWk1CY0dBMVVFQXd3UVVHOXNZWEpUVTB3Z1ZHVnpkQ0JECi1RWUlCQXpBSkJnTlZIUk1FQWpBQU1CTUdDU3FHU0liM0RRRUJDakFHb2dRQ0FnRHFBNElCQVFDMkRMSFEwNXg2Ci1pbUpOenRFL1Ruay9sUFEwMVB3NkdpcmRiazRiZ3hjR3dHaisxdTV3QUlITnBKNTBUT2dnZzNIeFR5YjdwMzQ0Ci0vdFZNeHo3bnJIWlE1QVNkbjJrREN5Q21FcWhtajQ4aXNXQUltbCs3SjljQmVJbUpvRWZZcWp0cXRvVmtHeEZ5Ci1TdW9aQVFXa2txRHB5RmhLaElqTFE4SnVTRTZ3V01YL2tjNlRGU1N4ZXBuWlUxU0ZPWGZDaWFWcjV0RlF6QlA3Ci1sb3BwSUFOTGpLZU1qcE9kVTg2UG1SUTJMeXphQ0gxT01ualZuZGVxTm1adDBOeXpaMThjRlB2bTYrRFZWVnVQCi1RKzZuUmVTaENkQWxVK2RKcXNxajhKc1FuZU5NVHhqdjRPQm9YVm1FL2taVGovREJUdHdteGtWaTdLNGFZTUZpCi1VWVVaNFJpd0cxLzcKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFJEQ0NBaXlnQXdJQkFnSUJBekFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBd1doY05Namt3TWpFd01UUTBOREF3V2pBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdnZ0VpTUEwRwotQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURBM3pmOEY3dmdscDAvaHQ2V01uMUVwUmFnelNIeAotbWRUczZzdDhHRmdJbEtYc204V0wzeG9lbVRpWmh4NTd3STA1M3poZGNIZ0gwNTdaaytpNWNsSEZ6cU13VXFueQotNTBCd0ZNdEVvbklMd3VWQStUN2xwZzZ6K2V4S1k4QzRLUUIwbkZjN3FLVUVrSEh4dllQWlA5YWw0andxais4bgotWU1QR244dTY3R0I5dCthRU1yNVArMWdtSWdOYjFMVFYrL1hqbGk1d3dPUXV2Znd1N3VKQlZjQTBMbjBrY21uTAotUjdFVVFJTjlaL1NHOWpHcjhYbWtzclV1RXZtRUYvQmlieWMrRTFpeFZBMGhtbk0zb1REUGI1TGM5dW44ck5zdQotS05GK0Frc2pvQlh5T0dWa0Nlb01ibzRiRjZCeHlMT2J5YXZwdy9MUGg1YVBnQUl5bnBsWWI2TFZBZ01CQUFHagotVXpCUk1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OAoteC8zL01COEdBMVVkSXdRWU1CYUFGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvTUEwR0NTcUdTSWIzRFFFQgotQlFVQUE0SUJBUUN6NTU3WlptV3Y1VVRUSGVielR5VnprdTVsZHBjaWNKUHFLSFAzeFo0dFBQWTUySlF5SmcvVAotaHNSQjQ0eVR5Tm8zL2pvOW9yMktnVm5jKy9uQ21ubHZUcTIyYS9qMjZEdEtaN3dEOU1XeHVucGtxUndFeHRBLwotRzgxNm1zcmw2WDZtNTBXd2RMWFR2YVZKR1hDWXA4VFBWTHg1WVkzV1BJVm9YMENQTjdIczlpTkpOaUVXbzRRZgotN2RBcWpXQkIvUXB1c21XaGphRFNjNCtjRmhUMjRZbzlIdVMxeXJrVVRyQnRKYWowQXlrVHNpeUZtNlNCVkROSAotOVhJeENnWXk5UXJZYkRLTnRKWGh1ZXZwTjB5VU1WL2FVbklrVTJ3VFRvdWhPelppc2pOazBzUzFndXFtU0h6ZgotaGxmOHFvdE9oTnZGWHBFc0NHd1pVeXdheW83YzREdE8KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3NlcnZlcjkuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjU2N2FlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURCVENDQWVlZ0F3SUJBZ0lCRmpBVEJna3Foa2lHOXcwQkFRb3dCcUlFQWdJQTZqQTdNUXN3Q1FZRFZRUUcKLUV3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWcKLVEwRXdIaGNOTWpNd05URTNNRGd3TkRBd1doY05Nek13TlRFM01EZ3dOREF3V2pBME1Rc3dDUVlEVlFRR0V3Sk8KLVRERVJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkRENCbnpBTkJna3EKLWhraUc5dzBCQVFFRkFBT0JqUUF3Z1lrQ2dZRUEzUkdLbjVtNnNHaktLdW83YW0xWmwrMU95VlRrRGU3T29IMmcKLUhxcm9Ec0s3RTBEYmloS09pUk1rcGNYMSt0ajFrTmZJeXN2Ri9wTWRyOW9TSTNOU2VVWWF1cUJYSzNZV01iT28KLXIrYzRtd2lMWTVrNkNpWHVSZElZV0xxNWt4cnQxRmlhWXhzMy9QY1VDSitGWlVueldUSnQwZURvYmQ1UzdXYTAKLXFRdmFRSlVDQXdFQUFhT0JrakNCanpBZEJnTlZIUTRFRmdRVTd2UEg5UjhWcFUxSGljSFRJbU95MzZmT3ZWRXcKLVl3WURWUjBqQkZ3d1dvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZitoUDZROU1Ec3hDekFKQmdOVkJBWVQKLUFrNU1NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVaTUJjR0ExVUVBd3dRVUc5c1lYSlRVMHdnVkdWemRDQkQKLVFZSUJBekFKQmdOVkhSTUVBakFBTUJNR0NTcUdTSWIzRFFFQkNqQUdvZ1FDQWdEcUE0SUJBUUMyRExIUTA1eDYKLWltSk56dEUvVG5rL2xQUTAxUHc2R2lyZGJrNGJneGNHd0dqKzF1NXdBSUhOcEo1MFRPZ2dnM0h4VHliN3AzNDQKLS90Vk14ejduckhaUTVBU2RuMmtEQ3lDbUVxaG1qNDhpc1dBSW1sKzdKOWNCZUltSm9FZllxanRxdG9Wa0d4RnkKLVN1b1pBUVdra3FEcHlGaEtoSWpMUThKdVNFNndXTVgva2M2VEZTU3hlcG5aVTFTRk9YZkNpYVZyNXRGUXpCUDcKLWxvcHBJQU5MaktlTWpwT2RVODZQbVJRMkx5emFDSDFPTW5qVm5kZXFObVp0ME55eloxOGNGUHZtNitEVlZWdVAKLVErNm5SZVNoQ2RBbFUrZEpxc3FqOEpzUW5lTk1UeGp2NE9Cb1hWbUUva1pUai9EQlR0d214a1ZpN0s0YVlNRmkKLVVZVVo0Uml3RzEvNwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvc2VydmVyOS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwMDU4NjQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zZXJ2ZXI5LmtleQorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUNYUUlCQUFLQmdRRGRFWXFmbWJxd2FNb3E2anRxYlZtWDdVN0pWT1FON3M2Z2ZhQWVxdWdPd3JzVFFOdUsKLUVvNkpFeVNseGZYNjJQV1ExOGpLeThYK2t4MnYyaElqYzFKNVJocTZvRmNyZGhZeHM2aXY1emliQ0l0am1Ub0sKLUplNUYwaGhZdXJtVEd1M1VXSnBqR3pmODl4UUluNFZsU2ZOWk1tM1I0T2h0M2xMdFpyU3BDOXBBbFFJREFRQUIKLUFvR0FIRkNFMnRCTDB4QjQ1R28vMWUvUGk5Ly9PVlpBSjNDdzBtbUV1cWpWTkI3STZ6eGhZaHZpV2JnejkyK1YKLWc5MktCbFU5Q0l4MC9aaEdNeUhSTk8wdVlORVpVSnlNOHpJdG9vL25tVTMxK1ZhSE9HZ3BlaTA0SFpybjFObXcKLVFTMDFGVnJuOXd6S1IvNXFlRUJteEU3clZNRFFvOFFMbmxsQzNqWHpJVlV0WDRFQ1FRRDJnOWRsZVdZYnFJUWUKLVE5cGFYeHp2T0RoQ3pOdFF3RDBQbk9LYzU0TnU0em0zSkk0NVJFdHVubUc4ZXQrTmNtczlSeWNUak5sV1BHSlQKLTYyamdhSmV4QWtFQTVaTU52NHU5Tk5SZlpwcm1sTnl2alNPZit3N2ZkS3poY25rSGJHa2ZMbkZkYzd2cTBYRkMKLW53T1JzZGpwT3ZXUVV3clYyQ3c4UGw0ckthNEI0aXFVSlFKQkFNVnRpNm1hVTN1ZE44cWhYeFAzanMzTHdjdEcKLUUvT1ZNcEg1Zk1oYTVqbDl3L0I0VjJ0bjFkM08vTW1kd3NLZXUySkZSUGQwVzIra1JyK2REczZERmRFQ1FRQzEKLTNnOVFKUldZMm4xUlBYbFppSktTRHh6WHVPcVE5YndNQVpFOTh2RSt5NVFxOFQyTytsaTZ2QXNaaHlzTkNDaHoKLWdPdnp1dWRteVJjTWg4cjZMcHo1QWtBVUtLM2dZdEpGaVZIMmFyUmlnM0pqWkpxaXhnU1RvbE1UMW4rSEc0dU0KLXRuQnFCaUVCVndCeEVxYW9obGEvckhSNWpvWkNkY0ROOHhxMHllVFF5TEg5Ci0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy9zaW1wbGVwYXNzLnBzayBiL3Rlc3RzL2RhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2sKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzZTdhYjQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy9zaW1wbGVwYXNzLnBzaworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTBhMGIwYzowMTAyMDMKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1hbHQtZ29vZC5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EtYWx0LWdvb2QuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWJlY2Q2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1hbHQtZ29vZC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURoekNDQW0rZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV4TVRJd016STVXaGNOTWprd01qRXhNVEl3TXpJNVdqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEcKLUNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEVk1HVS9TU2NLWHh5eHdKZmN4TDR4U25rU3FmdmsKLUYrM2pjektVK2Q1TWxLY2l2a1A5Um0vd0xFS0FjRkp4RzhFQ1pNSGh4eFQ4WUQrRFNVRUE1U0kyRzJ4RnU4NGYKLW1OQ0tQNG9qY0JyekxWWXVHZytEK3ZycDZtaTlRNTFUSU14UWF3eGtZdVU4OXY5UjlSZVFvcndvREdBU3JUcEMKLTZiQnZYaU1ua0Z4RmxwTjA3amtvVWozNCs2dkwyMzUwZ1JYR1VHbk1jZlM0ZTEzUDJTbTJLUlJ2eXBwejhDa1QKLXlHMVd0YTNJeGViN0V1WnNtc2RUUHMzbmwrYkkvNmdjZnJoT09tV1BKVkdpQk52TTRZcEN4c25ickZzVDhVMGsKLXMxWXMrMUpTVngwZWt6UkFVVENzN0FCNkxvL2lwaHNUSnMzQmZ2VDV3OFBTeDh3dHN2YmMvMWRMQWdNQkFBR2oKLWdaVXdnWkl3SFFZRFZSME9CQllFRklZSEk0amlpLzRDWXY0cVkrbnczeW5XbFFKSU1HTUdBMVVkSXdSY01GcUEKLUZJWUhJNGppaS80Q1l2NHFZK253M3luV2xRSklvVCtrUFRBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUUKLUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwR0NBUUF3REFZRFZSMFQKLUJBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUJQR1p3c3llSE5wOGhLcW5PSWFmUXNpNHpyRVMKLWl6SVVudGZrQ2dsZ0hLZytjZG16cVV5WHJ0ZnJ3Y1ZKdHovZmFyZlZvb2VSZGZZNmtPWU5tVGloWWRIaWZmb1gKLTV0T2hZVjFSaCtleEQ0bXRsMnhodzY5WVBYa1VURFN0elFUVFR4Wi95SXhXcW1ZZHJaeWNteXdNNnYxSHhkemsKLUpudnRoVHZFdGhXZnJTZE1RMnNzZHFWZ0IwaC9XWnp0QkNaaExMMm1DQ0cvZU51KzVrdEpUTEZEZGpwL0lQcm4KLS9BUFF0N0dqUTFyRkZtUkFlT0hlenNTSU5oUUhqSDQ0RGlNZUwrbFU2Nm5VeFNyb3ZyVm9JMnVuZHdCWHBsMTgKLSs3L29hK2V0NisxVWt0TjY2OVAxQm5OeExmWTZKNDFQNzkrUyttQThnUDRFQTk1L0FPYlF5b1VQcHc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUVRDQ0FpbWdBd0lCQWdJQkF6QU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREF3V2hjTk1qa3dNakV3TVRRME5EQXdXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUdqCi1VREJPTUF3R0ExVWRFd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvCi1NQjhHQTFVZEl3UVlNQmFBRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL01BMEdDU3FHU0liM0RRRUJDd1VBCi1BNElCQVFBNHFGU0N0aDJxMjJ1SklkRTRLR0hKc0pqVkVmdzIveG4rTWtUdkNNZnhWcnZtUnZxQ3RqRTR0S0RsCi1vSzRNeEZPZWswN29EWnd2dEFUOWlqbjFoSGZ0VE5TN1JIOXpkL2Z4TnBmY0huTVpYVkM0dzRETkExZlNBTnRXCi01c1kxSkI1SmU5alNjcnNMU1MrbUFqeXYwT3czSGIyQml4OHd1N3hOTnJWNWZJZjdVYm0rd3Q2U3FFQnh1M0tiCi0rRWZPYkFUNGh1ZjNjenpuaEgzQzE3ZWQ2TlNiWHdvWGZieTdzdFdVRGVSSnYwOFJhRk95a2YvQWFlN2JZNVBMCi15VFZya0FuaWtNbnRKOVlJK2hOTll0M2lucXExMUE1Y04wK3JWVHN0OFVLQ3h6UTRHcHZyb1N3UEtURmtiTXc0Ci0vYW5UMWRWeHIvQnR3SmZpRVNvSzMvNENlWFIxCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EtYWx0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1hbHQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGFkM2MzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1hbHQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEaHpDQ0FtK2dBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFeE1USXdNekk1V2hjTk1qa3dNakV4TVRJd016STVXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRFZNR1UvU1NjS1h4eXh3SmZjeEw0eFNua1NxZnZrCi1GKzNqY3pLVStkNU1sS2NpdmtQOVJtL3dMRUtBY0ZKeEc4RUNaTUhoeHhUOFlEK0RTVUVBNVNJMkcyeEZ1ODRmCi1tTkNLUDRvamNCcnpMVll1R2crRCt2cnA2bWk5UTUxVElNeFFhd3hrWXVVODl2OVI5UmVRb3J3b0RHQVNyVHBDCi02YkJ2WGlNbmtGeEZscE4wN2prb1VqMzQrNnZMMjM1MGdSWEdVR25NY2ZTNGUxM1AyU20yS1JSdnlwcHo4Q2tUCi15RzFXdGEzSXhlYjdFdVpzbXNkVFBzM25sK2JJLzZnY2ZyaE9PbVdQSlZHaUJOdk00WXBDeHNuYnJGc1Q4VTBrCi1zMVlzKzFKU1Z4MGVrelJBVVRDczdBQjZMby9pcGhzVEpzM0JmdlQ1dzhQU3g4d3RzdmJjLzFkTEFnTUJBQUdqCi1nWlV3Z1pJd0hRWURWUjBPQkJZRUZJWUhJNGppaS80Q1l2NHFZK253M3luV2xRSklNR01HQTFVZEl3UmNNRnFBCi1GSVlISTRqaWkvNENZdjRxWStudzN5bldsUUpJb1Qra1BUQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFCi1DZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEdDQVFBd0RBWURWUjBUCi1CQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFCUEdad3N5ZUhOcDhoS3FuT0lhZlFzaTR6ckVTCi1peklVbnRma0NnbGdIS2crY2RtenFVeVhydGZyd2NWSnR6L2ZhcmZWb29lUmRmWTZrT1lObVRpaFlkSGlmZm9YCi01dE9oWVYxUmgrZXhENG10bDJ4aHc2OVlQWGtVVERTdHpRVFRUeFoveUl4V3FtWWRyWnljbXl3TTZ2MUh4ZHprCi1KbnZ0aFR2RXRoV2ZyU2RNUTJzc2RxVmdCMGgvV1p6dEJDWmhMTDJtQ0NHL2VOdSs1a3RKVExGRGRqcC9JUHJuCi0vQVBRdDdHalExckZGbVJBZU9IZXpzU0lOaFFIakg0NERpTWVMK2xVNjZuVXhTcm92clZvSTJ1bmR3QlhwbDE4Ci0rNy9vYStldDYrMVVrdE42NjlQMUJuTnhMZlk2SjQxUDc5K1MrbUE4Z1A0RUE5NS9BT2JReW9VUHB3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1hbHQuY3NyIGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLWFsdC5jc3IKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5YmY2NzguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLWFsdC5jc3IKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dEQ0NBV2dDQVFBd096RUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJrdwotRndZRFZRUUREQkJRYjJ4aGNsTlRUQ0JVWlhOMElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QQotTUlJQkNnS0NBUUVBMVRCbFAwa25DbDhjc2NDWDNNUytNVXA1RXFuNzVCZnQ0M015bFBuZVRKU25JcjVEL1VadgotOEN4Q2dIQlNjUnZCQW1UQjRjY1UvR0EvZzBsQkFPVWlOaHRzUmJ2T0g1alFpaitLSTNBYTh5MVdMaG9QZy9yNgotNmVwb3ZVT2RVeURNVUdzTVpHTGxQUGIvVWZVWGtLSzhLQXhnRXEwNlF1bXdiMTRqSjVCY1JaYVRkTzQ1S0ZJOQotK1B1cnk5dCtkSUVWeGxCcHpISDB1SHRkejlrcHRpa1ViOHFhYy9BcEU4aHRWcld0eU1YbSt4TG1iSnJIVXo3TgotNTVmbXlQK29ISDY0VGpwbGp5VlJvZ1Riek9HS1FzYkoyNnhiRS9GTkpMTldMUHRTVWxjZEhwTTBRRkV3ck93QQotZWk2UDRxWWJFeWJOd1g3MCtjUEQwc2ZNTGJMMjNQOVhTd0lEQVFBQm9BQXdEUVlKS29aSWh2Y05BUUVMQlFBRAotZ2dFQkFMamUweUZ0TC9JcUxpcC9YNk5WYzFvSisyUGd4T3pWaEVkWlBjUTdGK21iRGE5dzZTdlFOOXBINEhYcAotUDhBR0xZbnpRZ21BbGhzU09uN25oSlNmUVhsY3VMZEEvb1ZqaHVScWlBK1pybEJ5ZU1mU2lhQm1DdkxPV2t3bAotRnpGKy84SEpSbFY4QjBtcTBkSUUzcFdjekFWRmNUeFJ0SU9OVWZtZzNwMFJXWWtkZzh5MlMzSDFuN09QS21NMAotRE5DMm8yMjZaRkpFRFZzUUhma0ZuM1lPNkhGTHJQUmk1anFUR2dpTlJIN0tlcFp0cHB1NTlaQUFIbVl6SDAydgotUENyeEQxTUlNQ3BGZlZUYmRmUGdDMFM4VEZZOEdPNUgwR3p5Mml4YUpWc3QyUnd1R2JwLzNESzVpeER1bFY0UgotemJkNXFjUzNSWEU1ZVFiNkx3d056T1VwcUx3PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EtYWx0LmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1hbHQua2V5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZGYxOWEwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1hbHQua2V5CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQotTUlJRXBRSUJBQUtDQVFFQTFUQmxQMGtuQ2w4Y3NjQ1gzTVMrTVVwNUVxbjc1QmZ0NDNNeWxQbmVUSlNuSXI1RAotL1VadjhDeENnSEJTY1J2QkFtVEI0Y2NVL0dBL2cwbEJBT1VpTmh0c1Jidk9INWpRaWorS0kzQWE4eTFXTGhvUAotZy9yNjZlcG92VU9kVXlETVVHc01aR0xsUFBiL1VmVVhrS0s4S0F4Z0VxMDZRdW13YjE0ako1QmNSWmFUZE80NQotS0ZJOStQdXJ5OXQrZElFVnhsQnB6SEgwdUh0ZHo5a3B0aWtVYjhxYWMvQXBFOGh0VnJXdHlNWG0reExtYkpySAotVXo3TjU1Zm15UCtvSEg2NFRqcGxqeVZSb2dUYnpPR0tRc2JKMjZ4YkUvRk5KTE5XTFB0U1VsY2RIcE0wUUZFdwotck93QWVpNlA0cVliRXliTndYNzArY1BEMHNmTUxiTDIzUDlYU3dJREFRQUJBb0lCQUhPMS84NDRzMEx5MnMwegotdm5scUk5ejNFZjNxV3ppek1FQTZ2MktTdUhDU1lxRDk2a01uSHd5WnlVS1ROSHdGMTEyb09IK0dJY0xWcnNOZwotV0RMWEt4bDVDdXhTZ2c4dVQwb3FNSjBKZE9jMlhVZEtoODlYd3lhQlAzWXlvOHFCeThOK1JzeVp6TmlwSzIxZAotZlB2WkNBMG9vbUNndXpXa1IwbzdLeE9IVEQzTC9aR3dpcU9xek1SZmFSem5MeGpzWlozUm9ORjFma21YdGRYSAotSStUOHJXeEZlWllOM0xhUkkvdmlDUEY4eVlnRlV2T1BMMVI5WXpxNVovalN5eVVQTitJaFNxTC96Yi9OeUxpWQotdHRkd21NQS95YWNrQ2hsZnAwNkQ0WGxyYmYyaEZ4bXZuQ25FNGJoL0NJTmhqZmpLeXo4OEtVQUtSOXhFUWlmYwotRkFiNUN6a0NnWUVBOS81aGxTQXFSNmd1ZjVvcno5amdxaGFOY1dHcFUzcnpZbVVsSVNGaHpBcnltNDF3NGE0YQotOXJBaTVRRXJhRUExV1IvWW1yNVh2dDdtcXdLbEdrYUt3eVBiVnFkWEZPYVFwMnZLWk5QbUhXYkxWWVc0OUladAotaHg1Q3JlTXB5MGxWVTJTTEEvK2cvRFBzZTJ3eDg1d2d4OGtwdWRFbVU5MVRodXhCZEYwSUhyMENnWUVBM0JKYwotWS9wcUF3OWZsdXZsWXBnQXlHeUcwazhkM3hiMHVVblYxdStydk1aaU9pSlFlck5hd01jL1BvWWtoaFJQS1hrTQotRFFTOG9NTTg1OGtnVDFxQ2N2RlpaeldEcUdoUnFieG10akoydzFuV0lpOXErMHowL1g5cWJ4aVpiWnIwSWtseAotTWVZdFF1UklHb2lzL0Q3R1FqeUk1ckhYVmo5azNiMzlwZXBTRXFjQ2dZRUExQUh4dElaQi91NkZpZXJvUjVFMgotUjlKdDZ4ODluYk4vdkgrUnBXZ2Zia3R4cW8vWmorWERBV0FGQk5maUh3YTlWTXNINXdxUWd3bVdFMTU0ZlNVUAotWGRJYW9sTCsvRXc4SUJUamV4MDRIYXlTYWpPZXNkVDJiOHZyM3pKVHVZbWcyMkVhQXpvWGkyUnNaL3RRSE40OQotbSs2YXNGTmdPOVA3bzEzNGV4MUpZdFVDZ1lFQXVVMmdpL0tiOXkybnNIMjY3VFRPVy9TOTVUSUhGZ1RQVllFdAotVk1rRVUzUzcydlZ2ekpGZTFqb3ZMNmRsODV3QU9BeWJzQTZRQWRIRFkrdi9qN0hIYTU5N1J5TlJVNmxiTWMvWQotc0l0M1l2QXZGU1BXTWZuUHcrL1luK2tYcjZtczdYM25tVHVXV3QrN010Um96QkRUZ1l4VlBlTDdUYjBkWW5VSwotc2Z6RzFMc0NnWUVBdnhoTEpIWVRLdGp1czhoL3hWcGozS3RvMGowQXZ0WHRkMURVc1Eya0tHUlQvQjFBRmJWcwotelNOalI0dkpnK2lvdGJpSXE2SkJ4SHlXeFpzSFFVTklYam9UcUVnUXBCYm5lRW5iMWlsTzFERUdESzd2d2xGbgotTTR0SGk1bmVFaUdJNTVXUWR1SjJoYS90YzBLYkRjeHcvVkJaQW1LVm1wZVhhVU5aQWlNTUZCMD0KLS0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EtZ29vZC1hbHQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLWdvb2QtYWx0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2QxNWVhNy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EtZ29vZC1hbHQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUVRDQ0FpbWdBd0lCQWdJQkF6QU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREF3V2hjTk1qa3dNakV3TVRRME5EQXdXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUdqCi1VREJPTUF3R0ExVWRFd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvCi1NQjhHQTFVZEl3UVlNQmFBRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL01BMEdDU3FHU0liM0RRRUJDd1VBCi1BNElCQVFBNHFGU0N0aDJxMjJ1SklkRTRLR0hKc0pqVkVmdzIveG4rTWtUdkNNZnhWcnZtUnZxQ3RqRTR0S0RsCi1vSzRNeEZPZWswN29EWnd2dEFUOWlqbjFoSGZ0VE5TN1JIOXpkL2Z4TnBmY0huTVpYVkM0dzRETkExZlNBTnRXCi01c1kxSkI1SmU5alNjcnNMU1MrbUFqeXYwT3czSGIyQml4OHd1N3hOTnJWNWZJZjdVYm0rd3Q2U3FFQnh1M0tiCi0rRWZPYkFUNGh1ZjNjenpuaEgzQzE3ZWQ2TlNiWHdvWGZieTdzdFdVRGVSSnYwOFJhRk95a2YvQWFlN2JZNVBMCi15VFZya0FuaWtNbnRKOVlJK2hOTll0M2lucXExMUE1Y04wK3JWVHN0OFVLQ3h6UTRHcHZyb1N3UEtURmtiTXc0Ci0vYW5UMWRWeHIvQnR3SmZpRVNvSzMvNENlWFIxCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURoekNDQW0rZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV4TVRJd016STVXaGNOTWprd01qRXhNVEl3TXpJNVdqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEcKLUNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEVk1HVS9TU2NLWHh5eHdKZmN4TDR4U25rU3FmdmsKLUYrM2pjektVK2Q1TWxLY2l2a1A5Um0vd0xFS0FjRkp4RzhFQ1pNSGh4eFQ4WUQrRFNVRUE1U0kyRzJ4RnU4NGYKLW1OQ0tQNG9qY0JyekxWWXVHZytEK3ZycDZtaTlRNTFUSU14UWF3eGtZdVU4OXY5UjlSZVFvcndvREdBU3JUcEMKLTZiQnZYaU1ua0Z4RmxwTjA3amtvVWozNCs2dkwyMzUwZ1JYR1VHbk1jZlM0ZTEzUDJTbTJLUlJ2eXBwejhDa1QKLXlHMVd0YTNJeGViN0V1WnNtc2RUUHMzbmwrYkkvNmdjZnJoT09tV1BKVkdpQk52TTRZcEN4c25ickZzVDhVMGsKLXMxWXMrMUpTVngwZWt6UkFVVENzN0FCNkxvL2lwaHNUSnMzQmZ2VDV3OFBTeDh3dHN2YmMvMWRMQWdNQkFBR2oKLWdaVXdnWkl3SFFZRFZSME9CQllFRklZSEk0amlpLzRDWXY0cVkrbnczeW5XbFFKSU1HTUdBMVVkSXdSY01GcUEKLUZJWUhJNGppaS80Q1l2NHFZK253M3luV2xRSklvVCtrUFRBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUUKLUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwR0NBUUF3REFZRFZSMFQKLUJBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUJQR1p3c3llSE5wOGhLcW5PSWFmUXNpNHpyRVMKLWl6SVVudGZrQ2dsZ0hLZytjZG16cVV5WHJ0ZnJ3Y1ZKdHovZmFyZlZvb2VSZGZZNmtPWU5tVGloWWRIaWZmb1gKLTV0T2hZVjFSaCtleEQ0bXRsMnhodzY5WVBYa1VURFN0elFUVFR4Wi95SXhXcW1ZZHJaeWNteXdNNnYxSHhkemsKLUpudnRoVHZFdGhXZnJTZE1RMnNzZHFWZ0IwaC9XWnp0QkNaaExMMm1DQ0cvZU51KzVrdEpUTEZEZGpwL0lQcm4KLS9BUFF0N0dqUTFyRkZtUkFlT0hlenNTSU5oUUhqSDQ0RGlNZUwrbFU2Nm5VeFNyb3ZyVm9JMnVuZHdCWHBsMTgKLSs3L29hK2V0NisxVWt0TjY2OVAxQm5OeExmWTZKNDFQNzkrUyttQThnUDRFQTk1L0FPYlF5b1VQcHc9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLXNoYTEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLXNoYTEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTc5MGI1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1zaGExLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRFFUQ0NBaW1nQXdJQkFnSUJBekFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXdNVFEwTkRBd1doY05Namt3TWpFd01UUTBOREF3V2pBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdnZ0VpTUEwRwotQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURBM3pmOEY3dmdscDAvaHQ2V01uMUVwUmFnelNIeAotbWRUczZzdDhHRmdJbEtYc204V0wzeG9lbVRpWmh4NTd3STA1M3poZGNIZ0gwNTdaaytpNWNsSEZ6cU13VXFueQotNTBCd0ZNdEVvbklMd3VWQStUN2xwZzZ6K2V4S1k4QzRLUUIwbkZjN3FLVUVrSEh4dllQWlA5YWw0andxais4bgotWU1QR244dTY3R0I5dCthRU1yNVArMWdtSWdOYjFMVFYrL1hqbGk1d3dPUXV2Znd1N3VKQlZjQTBMbjBrY21uTAotUjdFVVFJTjlaL1NHOWpHcjhYbWtzclV1RXZtRUYvQmlieWMrRTFpeFZBMGhtbk0zb1REUGI1TGM5dW44ck5zdQotS05GK0Frc2pvQlh5T0dWa0Nlb01ibzRiRjZCeHlMT2J5YXZwdy9MUGg1YVBnQUl5bnBsWWI2TFZBZ01CQUFHagotVURCT01Bd0dBMVVkRXdRRk1BTUJBZjh3SFFZRFZSME9CQllFRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zLwotTUI4R0ExVWRJd1FZTUJhQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NQTBHQ1NxR1NJYjNEUUVCQlFVQQotQTRJQkFRQjBaaU5SRmRpYTZrc2thUG5ocnFlaklScThZTUVHQWYyb0lQbnlaNzh4b3lFUmdjMzVsSEd5TXRzTAotaFdpY05qUDRkL2hTOUFzNGo1S0EyZ2ROR2k1RVRBMVg3U293V09Hc3J5aXZTcE1TSFZ5MStIZGZXbHNZUU96bQotOG8rZmFRTlVtOFh6UFZtdHRmQVZzcHhlSFN4SlozNk9vK1FXWjV3WmxDSUV5akVkTFVJZCtUbTRCejNCNWpSRAotelphL1NhcURva3E2Nk4yenBiZ0tLQWwzR1UyTysrZkJxUDJkU2tkUXlrbVR4aExMV1JOOEZKcWhZQVR5UW50WgotMFFTaTNXOUhmU1pQbkZUY1BJWGVvaVBkMnBMbHh0MWhadThkd3MyTFRYRTYzdVA2TU00TEh2V3hpdUphV2tQLwotbXR4eVVBTGoycFF4Uml0b3BPUkZRZG43QU9ZNQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLXNoYTEuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1zaGExLmNydC5kZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkOTQ4MTAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLXNoYTEuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1zaGEyNTYuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLXNoYTI1Ni5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljNzFjZWYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLXNoYTI1Ni5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURRVENDQWltZ0F3SUJBZ0lCQXpBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQXdXaGNOTWprd01qRXdNVFEwTkRBd1dqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEcKLUNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQTN6ZjhGN3ZnbHAwL2h0NldNbjFFcFJhZ3pTSHgKLW1kVHM2c3Q4R0ZnSWxLWHNtOFdMM3hvZW1UaVpoeDU3d0kwNTN6aGRjSGdIMDU3WmsraTVjbEhGenFNd1VxbnkKLTUwQndGTXRFb25JTHd1VkErVDdscGc2eitleEtZOEM0S1FCMG5GYzdxS1VFa0hIeHZZUFpQOWFsNGp3cWorOG4KLVlNUEduOHU2N0dCOXQrYUVNcjVQKzFnbUlnTmIxTFRWKy9YamxpNXd3T1F1dmZ3dTd1SkJWY0EwTG4wa2NtbkwKLVI3RVVRSU45Wi9TRzlqR3I4WG1rc3JVdUV2bUVGL0JpYnljK0UxaXhWQTBobW5NM29URFBiNUxjOXVuOHJOc3UKLUtORitBa3Nqb0JYeU9HVmtDZW9NYm80YkY2Qnh5TE9ieWF2cHcvTFBoNWFQZ0FJeW5wbFliNkxWQWdNQkFBR2oKLVVEQk9NQXdHQTFVZEV3UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy8KLU1COEdBMVVkSXdRWU1CYUFGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvTUEwR0NTcUdTSWIzRFFFQkN3VUEKLUE0SUJBUUE0cUZTQ3RoMnEyMnVKSWRFNEtHSEpzSmpWRWZ3Mi94bitNa1R2Q01meFZydm1SdnFDdGpFNHRLRGwKLW9LNE14Rk9lazA3b0Rad3Z0QVQ5aWpuMWhIZnRUTlM3Ukg5emQvZnhOcGZjSG5NWlhWQzR3NEROQTFmU0FOdFcKLTVzWTFKQjVKZTlqU2Nyc0xTUyttQWp5djBPdzNIYjJCaXg4d3U3eE5OclY1ZklmN1VibSt3dDZTcUVCeHUzS2IKLStFZk9iQVQ0aHVmM2N6em5oSDNDMTdlZDZOU2JYd29YZmJ5N3N0V1VEZVJKdjA4UmFGT3lrZi9BYWU3Ylk1UEwKLXlUVnJrQW5pa01udEo5WUkraE5OWXQzaW5xcTExQTVjTjArclZUc3Q4VUtDeHpRNEdwdnJvU3dQS1RGa2JNdzQKLS9hblQxZFZ4ci9CdHdKZmlFU29LMy80Q2VYUjEKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1zaGEyNTYuY3J0LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS1zaGEyNTYuY3J0LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWVmZWMyMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Etc2hhMjU2LmNydC5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EtdjEuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLXYxLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmYxMGY2ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EtdjEuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlESHpDQ0FnY0NERk9pdG80RlFBNVZYSk9WNVRBTkJna3Foa2lHOXcwQkFRc0ZBREJRTVJ3d0dnWURWUVFECi1EQk5RYjJ4aGNsTlRUQ0JVWlhOMElFTkJJSFl4TVJBd0RnWURWUVFMREFkMFpYTjBhVzVuTVJFd0R3WURWUVFLCi1EQWhRYjJ4aGNsTlRUREVMTUFrR0ExVUVCaE1DVGt3d0hoY05NVGt3TWpFd01UUTBOREF3V2hjTk1qa3dNakV3Ci1NVFEwTkRBd1dqQlFNUnd3R2dZRFZRUUREQk5RYjJ4aGNsTlRUQ0JVWlhOMElFTkJJSFl4TVJBd0RnWURWUVFMCi1EQWQwWlhOMGFXNW5NUkV3RHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVMTUFrR0ExVUVCaE1DVGt3d2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUV3Ci1EUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQXRWQVdtYnltd0tEajl2OG03U1ZMSEYwbXc0aTNnQkZWUEpxWVJRCi15OUNuVUQ2OGtVcjRxSzd3eVFJdi9nRFJZdXFaVk5uQnE0Snd6bSt0UEVCSHBZQUY1SC83TXlucGI0aCt1WjNhCi02a2FXVVJYS3p4NTNadUZITHUxRnVSb3YrU1pVM1p0WENsVFlGS2V5RGIrZmN0aC84dGhSOVY1OXY3WkU3emxiCi04emJ5TCtkcWZ5eHZteFpDVXpIYk5LVnJsaWlVVUZYZlc1M1QrQjdZc3huZXI1bW5xTTFhUHhja2hYVkhFSjQ3Ci1UQm9JaHBCb0ovSG1IQ2lXejhCZW9vd1NwRzd1K1FPZXpJS2s4bDVQZDJmOE1lcXd5YXFJZUF5MGxoMm5QN3BCCi1VdFdFVC8wYnNkaVBuOFNSOUIzaFdwS1VEUnZuSEREWnVaaUt0cmRERXFzRDA0TT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjdlNGM3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURSRENDQWl5Z0F3SUJBZ0lCQXpBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV3TVRRME5EQXdXaGNOTWprd01qRXdNVFEwTkRBd1dqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEcKLUNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQTN6ZjhGN3ZnbHAwL2h0NldNbjFFcFJhZ3pTSHgKLW1kVHM2c3Q4R0ZnSWxLWHNtOFdMM3hvZW1UaVpoeDU3d0kwNTN6aGRjSGdIMDU3WmsraTVjbEhGenFNd1VxbnkKLTUwQndGTXRFb25JTHd1VkErVDdscGc2eitleEtZOEM0S1FCMG5GYzdxS1VFa0hIeHZZUFpQOWFsNGp3cWorOG4KLVlNUEduOHU2N0dCOXQrYUVNcjVQKzFnbUlnTmIxTFRWKy9YamxpNXd3T1F1dmZ3dTd1SkJWY0EwTG4wa2NtbkwKLVI3RVVRSU45Wi9TRzlqR3I4WG1rc3JVdUV2bUVGL0JpYnljK0UxaXhWQTBobW5NM29URFBiNUxjOXVuOHJOc3UKLUtORitBa3Nqb0JYeU9HVmtDZW9NYm80YkY2Qnh5TE9ieWF2cHcvTFBoNWFQZ0FJeW5wbFliNkxWQWdNQkFBR2oKLVV6QlJNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGTFJhNUtXejN0SlM5cm5WcHBVUDZ6NjgKLXgvMy9NQjhHQTFVZEl3UVlNQmFBRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL01BMEdDU3FHU0liM0RRRUIKLUJRVUFBNElCQVFDejU1N1pabVd2NVVUVEhlYnpUeVZ6a3U1bGRwY2ljSlBxS0hQM3haNHRQUFk1MkpReUpnL1QKLWhzUkI0NHlUeU5vMy9qbzlvcjJLZ1ZuYysvbkNtbmx2VHEyMmEvajI2RHRLWjd3RDlNV3h1bnBrcVJ3RXh0QS8KLUc4MTZtc3JsNlg2bTUwV3dkTFhUdmFWSkdYQ1lwOFRQVkx4NVlZM1dQSVZvWDBDUE43SHM5aU5KTmlFV280UWYKLTdkQXFqV0JCL1FwdXNtV2hqYURTYzQrY0ZoVDI0WW85SHVTMXlya1VUckJ0SmFqMEF5a1RzaXlGbTZTQlZETkgKLTlYSXhDZ1l5OVFyWWJES050SlhodWV2cE4weVVNVi9hVW5Ja1Uyd1RUb3VoT3paaXNqTmswc1MxZ3VxbVNIemYKLWhsZjhxb3RPaE52RlhwRXNDR3daVXl3YXlvN2M0RHRPCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDM5ZmI5ZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EuZGVyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlOGJlMWQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBBRVMtMTI4LUNCQyw3ODE4NDBFNkI4MDRBRTgzRDJBRjcxMTI3QzRDRTMxNAotCi1ldFEzeGdHTGJ1WUY5dlIxa20wM1RINWZ3Zmx5MWhPbGl4MFB0ZlErdDlIRzA2NXZUdFNFSFljL095SHdkeTc5Ci1OQ0xYNVJVclBoMDZFL1hsS3pNTlZIQVhxa3dGbkl3TnpSTHNPb3plUDFMN2laRVpiOVFNZWlONU9yZytidENPCi1ieWxYUEI0WWlyZnVFN0dTSmFsV1kvcHEzRlF0RDMzelRJS21OaFhmVmozc2J3R0kvOEQ5WGphS1ViOFBPRE9CCi1za09hbG14NlJ2WVJ2ZzBsbVJ4QjMrVDN3ZWpJc3JyRFB3ZVlxdGU5QjZkVkhJVkcxWm12b0E2L3duS1paWmVWCi1zamo4T3BMM093VUJyanVHU2tuRTlSczZrQ3VTQ2JIT1lWSzhWemNabUNZcGllMFRGbmIzU2s4TTZ2amZXKzQ1Ci1VN1dVTWxTQVB4S0g2bEpEeldkd0hxTHZzVkp3dU5uYUFhQlhnOS84VS9yelFFV3VxOEFyM3M4ZncySmczRjFHCi1MNk41WkFFZkN6M1NhME45V0thZlIvUlNRaitycThaM3c0UE9BYWZoYnprMjQ5dW81SzhCMVozY1F3THhlWElsCi1VYlJRejFUWnk0b05UZlF6Q2FoWXJ1UE55dndnVGtmd0FGRnZiTEFkYWlKZDJadExCb3FZRTY0VFlha1ludmNDCi1pdGltMWJteVNJS294bE1mQkdGbU11RjAzZXBUMHBTeDcwMWpsR3pHaTBsMG0xNk5Fam9WeER3bzVqOTNTbWlNCi1zUWRqQzFsT0drMmlDTGtwaElRcUhGakZKWVdqdmgxVVVJcVdaZitaV09PeGxmNHg5YTFwVVZqNkZ2dEVDeE5CCi0vbUEvbTRJcTRMQXVWWEhFMU1wSGVxMDY3bEo2d1dscnNiMldWbWlOR2ZRMkFDN2ZNdHBjUHV1bkJWVDlOVjFtCi0xcmJEeklnTElXQXpxei9jeTNOOFE4dmZ4bnJGdG1OVXlNMTkxWnlxK1lGMTRoSUtXWDlKMXFSNExYd1dBelZWCi1VckM4SUw0cEEybXRSa1c0cUZzQjBFbUhBeE8vY2VkRFRQalZGdHk1V1N6aE51dllaeFg0NUhBa0dJZks2ZDIxCi03V0hQaEhHK3phYVVUV01VVml4QjBJY0twNlJlY2pZUEZ6QkhTMFllWDg4VWUyY3lULzkwak1pUTlzc09nUnJHCi1aSlJKdlpBYzNUU0NuWTlzTlBZb0dySlBpWnVDbmxVajNFTk51cllWeTEyYWkwV0Z4d25OVVpqUlVoRFM2aGptCi1jREhENVRsSTlNWjZNK01iL0J3NElnOEh1VEhPdFFCWUQ5dmh0WHNHK0I3SC9qNmNTKzF1bWFLanJuRy9rSzRXCi1SNllYd00yZmFBaStEd2dqam9NWFN6UnFTVEY4UGRUSVdiQVhvM2JjMnFzWFBUTUJBOFBFcDRuYjVzY0haNFRzCi1FY0JOcDJqdjBqNGdCa1JtR0lhYjE3Y1dNcmxhZ2pGeTg5RGhxWlVGd0tkZVpzK3lKOTJBNXhzdFd4T1VmcEVQCi05MFQvYnNwMUc1ZDdXVzVmbDJUUkp2WUpORE0rZGprS0loMHpDa2R1aVozNm9WTTZuRGRiam1YcWpRWG9wZVNECi1ndE9vdXJCUkY4Zzk5VzBmVzhRVCt5UGhQMFBreXo2RUc4ZVFPNlp3aDQzOXhkb1Z3dTlqVXpRQVBtWjB1TmVSCi14VFhYaWhZeXY3MnoyN3JJbmpMaUlQWEwyNUs5ZURWTGxjU1IzUnlHN1lZZ2pkUUFMMlZKRExjQno1am94MXVRCi0wZ3VvRDV3bWZ1MkZXTHFZRTdIZVRZbnRkWTUzbENmbHdxMEdIUk1qcnJzVnB4KzVWRFE2WWk0N055OVNXTGNwCi1mUEkzaUJrWHVHUld1cHpzNk40cFFkU08wZFUyOEtmcE1NNVF2Rm9MSW42N2JyQ0hFUWlqNGRnRnJDVFlFeUJYCi05K2ppTkltVUZZVWhBRnV4dlViZlp0NE8vQUJMSUVsdkhMZkpzMW9ZQ21JL25XcHZMRnFYQjVybnpQTmZFaTBICi1QR0dlMUhqL3QrQ0pJcC82aW9zM3lOeTJRdFhPNzU0VFpIMlVWdTUxWWt5aWc1UEZqWlZvVWtiUnZIUVljV2ZVCi0tLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLmtleS5kZXIgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Eua2V5LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY3OGExYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Eua2V5LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5vcGVuc3NsY29uZiBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5vcGVuc3NsY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDM0MGU5ZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Eub3BlbnNzbGNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotW3JlcV0KLXg1MDlfZXh0ZW5zaW9ucyA9IHYzX2NhCi1kaXN0aW5ndWlzaGVkX25hbWUgPSByZXFfZG4KLQotW3JlcV9kbl0KLWNvdW50cnlOYW1lID0gTkwKLW9yZ2FuaXphdGlvbmFsVW5pdE5hbWUgPSBQb2xhclNTTAotY29tbW9uTmFtZSA9IFBvbGFyU1NMIFRlc3QgQ0EKLQotW3YzX2NhXQotc3ViamVjdEtleUlkZW50aWZpZXI9aGFzaAotYXV0aG9yaXR5S2V5SWRlbnRpZmllcj1rZXlpZDphbHdheXMsaXNzdWVyOmFsd2F5cwotYmFzaWNDb25zdHJhaW50cyA9IENBOnRydWUKLQotW25vX3N1YmpfYXV0aF9pZF0KLXN1YmplY3RLZXlJZGVudGlmaWVyPW5vbmUKLWF1dGhvcml0eUtleUlkZW50aWZpZXI9bm9uZQotYmFzaWNDb25zdHJhaW50cyA9IENBOnRydWUKLQotW290aGVybmFtZV9zYW5dCi1zdWJqZWN0QWx0TmFtZT1vdGhlck5hbWU6MS4zLjYuMS41LjUuNy44LjQ7U0VROmh3X21vZHVsZV9uYW1lCi0KLVtub25wcmludGFibGVfb3RoZXJuYW1lX3Nhbl0KLXN1YmplY3RBbHROYW1lPW90aGVyTmFtZToxLjMuNi4xLjUuNS43LjguNDtTRVE6bm9ucHJpbnRhYmxlX2h3X21vZHVsZV9uYW1lCi0KLVt1bnN1cHBvcnRlZF9vdGhlcm5hbWVfc2FuXQotc3ViamVjdEFsdE5hbWU9b3RoZXJOYW1lOjEuMi4zLjQ7VVRGODpzb21lIG90aGVyIGlkZW50aWZpZXIKLQotW2Ruc19hbHRfbmFtZXNdCi1zdWJqZWN0QWx0TmFtZT1ETlM6ZXhhbXBsZS5jb20sIEROUzpleGFtcGxlLm5ldCwgRE5TOiouZXhhbXBsZS5vcmcKLQotW3JmYzgyMm5hbWVfbmFtZXNdCi1zdWJqZWN0QWx0TmFtZT1lbWFpbDpteUBvdGhlci5hZGRyZXNzLGVtYWlsOnNlY29uZEBvdGhlci5hZGRyZXNzCi0KLVthbHRfbmFtZXNdCi1ETlMuMT1leGFtcGxlLmNvbQotb3RoZXJOYW1lLjE9MS4zLjYuMS41LjUuNy44LjQ7U0VROmh3X21vZHVsZV9uYW1lCi1ETlMuMj1leGFtcGxlLm5ldAotRE5TLjM9Ki5leGFtcGxlLm9yZwotCi1bbXVsdGlwbGVfc2FuXQotc3ViamVjdEFsdE5hbWU9QGFsdF9uYW1lcwotCi1bZXh0X211bHRpX25vY25dCi1iYXNpY0NvbnN0cmFpbnRzID0gQ0E6ZmFsc2UKLWtleVVzYWdlID0gZGlnaXRhbFNpZ25hdHVyZSwgbm9uUmVwdWRpYXRpb24sIGtleUVuY2lwaGVybWVudAotc3ViamVjdEFsdE5hbWUgPSBETlM6d3d3LnNob3Rva2FuLWJyYXVuc2Nod2VpZy5kZSxETlM6d3d3Lm1hc3NpbW8tYWJhdGUuZXUsSVA6MTkyLjE2OC4xLjEsSVA6MTkyLjE2OC42OS4xNDQKLQotW2h3X21vZHVsZV9uYW1lXQotaHd0eXBlID0gT0lEOjEuMy42LjEuNC4xLjE3LjMKLWh3c2VyaWFsID0gT0NUOjEyMzQ1NgotCi1bbm9ucHJpbnRhYmxlX2h3X21vZHVsZV9uYW1lXQotaHd0eXBlID0gT0lEOjEuMy42LjEuNC4xLjE3LjMKLWh3c2VyaWFsID0gRk9STUFUOkhFWCwgT0NUOjMxMzIzMzgwODEwMDgxODAzMzMyMzEKLQotW3YzX2FueV9wb2xpY3lfY2FdCi1iYXNpY0NvbnN0cmFpbnRzID0gQ0E6dHJ1ZQotY2VydGlmaWNhdGVQb2xpY2llcyA9IDIuNS4yOS4zMi4wCi0KLVt2M19hbnlfcG9saWN5X3F1YWxpZmllcl9jYV0KLWJhc2ljQ29uc3RyYWludHMgPSBDQTp0cnVlCi1jZXJ0aWZpY2F0ZVBvbGljaWVzID0gQHBvbGljeV9pbmZvCi0KLVt2M19tdWx0aV9wb2xpY3lfY2FdCi1iYXNpY0NvbnN0cmFpbnRzID0gQ0E6dHJ1ZQotY2VydGlmaWNhdGVQb2xpY2llcyA9IDEuMi4zLjQsMi41LjI5LjMyLjAKLQotW3YzX3Vuc3VwcG9ydGVkX3BvbGljeV9jYV0KLWJhc2ljQ29uc3RyYWludHMgPSBDQTp0cnVlCi1jZXJ0aWZpY2F0ZVBvbGljaWVzID0gMS4yLjMuNAotCi1bcG9saWN5X2luZm9dCi1wb2xpY3lJZGVudGlmaWVyID0gMi41LjI5LjMyLjAKLUNQUy4xID0iQ1BTIHVyaSBzdHJpbmciCi0KLVtmYW5fY2VydF0KLWV4dGVuZGVkS2V5VXNhZ2UgPSAxLjMuNi4xLjQuMS40NTYwNS4xCi0KLVtub2V4dF9jYV0KLWJhc2ljQ29uc3RyYWludHMgPSBDQTp0cnVlCi0KLVt0ZXN0X2NhXQotZGF0YWJhc2UgPSAvZGV2L251bGwKLQotW2NybF9leHRfaWRwXQotaXNzdWluZ0Rpc3RyaWJ1dGlvblBvaW50PWNyaXRpY2FsLCBAaWRwZGF0YQotCi1bY3JsX2V4dF9pZHBfbmNdCi1pc3N1aW5nRGlzdHJpYnV0aW9uUG9pbnQ9QGlkcGRhdGEKLQotW2lkcGRhdGFdCi1mdWxsbmFtZT1VUkk6aHR0cDovL3BraS5leGFtcGxlLmNvbS8KLQotIyB0aGVzZSBJUHMgYXJlIHRoZSBhc2NpaSB2YWx1ZXMgZm9yICdhYmNkJyBhbmQgJ2FiY2QuZXhhbXBsZS5jb20nCi1bdHJpY2t5X2lwX3Nhbl0KLXN1YmplY3RBbHROYW1lPUlQOjk3Ljk4Ljk5LjEwMCxJUDo2MTYyOjYzNjQ6MmU2NTo3ODYxOjZkNzA6NmM2NToyZTYzOjZmNmQKLQotW2Nzcl9leHRfdjNfa2V5VXNhZ2VdCi1rZXlVc2FnZSA9IGRpZ2l0YWxTaWduYXR1cmUsIGtleUVuY2lwaGVybWVudAotCi1bY3NyX2V4dF92M19zdWJqZWN0QWx0TmFtZV0KLXN1YmplY3RBbHROYW1lPUROUzpleGFtcGxlLmNvbSwgRE5TOmV4YW1wbGUubmV0LCBETlM6Ki5leGFtcGxlLm9yZwotCi1bY3NyX2V4dF92M19uc0NlcnRUeXBlXQotbnNDZXJ0VHlwZT1zZXJ2ZXIKLQotW2Nzcl9leHRfdjNfYWxsXQota2V5VXNhZ2UgPSBjUkxTaWduCi1zdWJqZWN0QWx0TmFtZT1vdGhlck5hbWU6MS4zLjYuMS41LjUuNy44LjQ7U0VROm5vbnByaW50YWJsZV9od19tb2R1bGVfbmFtZQotbnNDZXJ0VHlwZT1jbGllbnQKLQotW2RpcmVjdG9yeV9uYW1lX3Nhbl0KLXN1YmplY3RBbHROYW1lPWRpck5hbWU6ZGlybmFtZV9zZWN0Ci0KLVt0d29fZGlyZWN0b3J5bmFtZXNdCi1zdWJqZWN0QWx0TmFtZT1kaXJOYW1lOmRpcm5hbWVfc2VjdCwgZGlyTmFtZTpkaXJuYW1lX3RvX21hbGZvcm0KLQotW2Rpcm5hbWVfc2VjdF0KLUM9VUsKLU89TWJlZCBUTFMKLUNOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOCi0KLVtkaXJuYW1lX3RvX21hbGZvcm1dCi1PPU1BTEZPUk1fTUUKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5yZXEuc2hhMjU2IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLnJlcS5zaGEyNTYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMTQzMzguLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLnJlcS5zaGEyNTYKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQ2dEQ0NBV2dDQVFBd096RUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJrdwotRndZRFZRUUREQkJRYjJ4aGNsTlRUQ0JVWlhOMElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QQotTUlJQkNnS0NBUUVBd044My9CZTc0SmFkUDRiZWxqSjlSS1VXb00waDhablU3T3JMZkJoWUNKU2w3SnZGaTk4YQotSHBrNG1ZY2VlOENOT2Q4NFhYQjRCOU9lMlpQb3VYSlJ4YzZqTUZLcDh1ZEFjQlRMUktKeUM4TGxRUGsrNWFZTwotcy9uc1NtUEF1Q2tBZEp4WE82aWxCSkJ4OGIyRDJUL1dwZUk4S28vdkoyRER4cC9MdXV4Z2ZiZm1oREsrVC90WQotSmlJRFc5UzAxZnYxNDVZdWNNRGtMcjM4THU3aVFWWEFOQzU5SkhKcHkwZXhGRUNEZldmMGh2WXhxL0Y1cExLMQotTGhMNWhCZndZbThuUGhOWXNWUU5JWnB6TjZFd3oyK1MzUGJwL0t6YkxpalJmZ0pMSTZBVjhqaGxaQW5xREc2TwotR3hlZ2NjaXptOG1yNmNQeXo0ZVdqNEFDTXA2WldHK2kxUUlEQVFBQm9BQXdEUVlKS29aSWh2Y05BUUVMQlFBRAotZ2dFQkFLSStxODQwK0N5UGo2REpESnI5bVAvYUU4VStWeXhiYXJRdVpIeGJpeVMySER1TlFORnZQMlRtQ0RSeAotanVFUlRVOHlET2ozRjJwN0poRkY0UWtDUDJUUDRKRllqTGxPRTdJU3hZZWdHZEpOTk82VzAwYnRNSEcxczBhVwotdVBjUElJeTlIeEdpT0ZGbWpZejdKbzhtY0ZsK2JsNEVUN3pQb2oyMVI0ZE9sN0Uzb1lMdEVacVR1aVduZlcySAotK3dodXJVMTNQWXlvZzNqdkpleDk5VklMOFpSbGlVU0tnZG1RN0E0R012RTZrZjZVays0NDF5blo3UlFyNGpGOQoteHNWSXJSN2N5dC9Tc1ZFWUYrMlNmSmkwZE85cGY2eVYzUGR3dHBVMlVSVHlab2l0bG5lcUVJTlhLaTdReDZFKwotK2Y1ZkFJOEZiQ0p0Z0tFS2YyVGZxaUg2c0NJPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EucmVxX2VjLnNoYTI1NiBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5yZXFfZWMuc2hhMjU2CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDQ2YjJhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5yZXFfZWMuc2hhMjU2CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQotTUlJQk9UQ0J2UUlCQURBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYQotQmdOVkJBTU1FMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEV3ZGpBUUJnY3Foa2pPUFFJQkJnVXJnUVFBSWdOaQotQUFURDJpczBRVGRZTDRkVy92eUp1aWxEUzA3Z2JzTU9WMU16T1ZqVVVyU1JsVGtMSTk5ZkZ5UmlTUHdhbFNuTwotTEMySHdvaFNnSy9XYXFzaDNialRIRzVZdU1yb3NtbU84MEd0S2NPMFgzV25SMi9WR1NsVmFacFRPeUMwWmhaZwotTXg2Z0FEQU1CZ2dxaGtqT1BRUURBZ1VBQTJrQU1HWUNNUURFbGVmOStLZlJiWk9BMjlaeVU3NTBmQjNvYjgyRQotOFI3MTEraGs5SE9zazBHOVVjY3AzdFQrMW5oQ2NNTmhuV3NDTVFENlk4ZTlqY0VhS1NQaVdXZmdDWjVOYVE1bAotcHZQRFVkY1BWOHNadDJjZ05TOGZjUklJSGJsUUt2cjZtaUhYbDlZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Euc2VydmVyMS5kYiBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5zZXJ2ZXIxLmRiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYzBlMDEyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5zZXJ2ZXIxLmRiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1SCTIxMDIxMjE0NDQwNloJMTEwMjEyMTI0NDA3WgkwMQl1bmtub3duCS9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgU2VydmVyIDEKLVIJMjEwMjEyMTQ0NDAwWgkxMTAyMTIxMjQ0MDdaCTAzCXVua25vd24JL0M9TkwvTz1Qb2xhclNTTC9DTj1Qb2xhclNTTCBUZXN0IENBCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Euc2VydmVyMS5mdXR1cmUtY3JsLmRiIGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLnNlcnZlcjEuZnV0dXJlLWNybC5kYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzYzYWExMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Euc2VydmVyMS5mdXR1cmUtY3JsLmRiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1SCTIxMDIxMjE0NDQwNloJMjkwMTAxMTI0NDA3WgkwMQl1bmtub3duCS9DPU5ML089UG9sYXJTU0wvQ049UG9sYXJTU0wgU2VydmVyIDEKLVIJMjEwMjEyMTQ0NDAwWgkyOTAxMDExMjQ0MDdaCTAzCXVua25vd24JL0M9TkwvTz1Qb2xhclNTTC9DTj1Qb2xhclNTTCBUZXN0IENBCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Euc2VydmVyMS5mdXR1cmUtY3JsLm9wZW5zc2xjb25mIGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLnNlcnZlcjEuZnV0dXJlLWNybC5vcGVuc3NsY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTljZTc1NC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Euc2VydmVyMS5mdXR1cmUtY3JsLm9wZW5zc2xjb25mCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotIFsgY2EgXQotIGRlZmF1bHRfY2EgICAgICAgICAgICAgPSB0ZXN0LWNhCi0KLSBbIHRlc3QtY2EgXQotIGNlcnRpZmljYXRlICAgICAgICAgICAgPSB0ZXN0LWNhLmNydAotIHByaXZhdGVfa2V5ICAgICAgICAgICAgPSB0ZXN0LWNhLmtleQotIHNlcmlhbCAgICAgICAgICAgICAgICAgPSB0ZXN0LWNhLnNlcnZlcjEuc2VyaWFsCi0gZGVmYXVsdF9tZCAgICAgICAgICAgICA9IHNoYTEKLSBkZWZhdWx0X3N0YXJ0ZGF0ZSAgICAgID0gMTEwMjEyMTQ0NDA2WgotIGRlZmF1bHRfZW5kZGF0ZSAgICAgICAgPSAyMTAyMTIxNDQ0MDZaCi0gbmV3X2NlcnRzX2RpciAgICAgICAgICA9IC4vCi0gZGF0YWJhc2UgICAgICAgICAgICAgICA9IC4vdGVzdC1jYS5zZXJ2ZXIxLmZ1dHVyZS1jcmwuZGIKLSBwb2xpY3kgICAgICAgICAgICAgICAgID0gcG9saWN5X21hdGNoCi0KLSBbcG9saWN5X21hdGNoXQotIGNvdW50cnlOYW1lICAgICAgICAgICAgPSBzdXBwbGllZAotIG9yZ2FuaXphdGlvbk5hbWUgICAgICAgPSBzdXBwbGllZAotIGNvbW1vbk5hbWUgICAgICAgICAgICAgPSBzdXBwbGllZApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhLnNlcnZlcjEub3BlbnNzbGNvbmYgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Euc2VydmVyMS5vcGVuc3NsY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA5YjBmZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Euc2VydmVyMS5vcGVuc3NsY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLSBbIGNhIF0KLSBkZWZhdWx0X2NhICAgICAgICAgICAgID0gdGVzdC1jYQotCi0gWyB0ZXN0LWNhIF0KLSBjZXJ0aWZpY2F0ZSAgICAgICAgICAgID0gdGVzdC1jYS5jcnQKLSBwcml2YXRlX2tleSAgICAgICAgICAgID0gdGVzdC1jYS5rZXkKLSBzZXJpYWwgICAgICAgICAgICAgICAgID0gdGVzdC1jYS5zZXJ2ZXIxLnNlcmlhbAotIGRlZmF1bHRfbWQgICAgICAgICAgICAgPSBzaGExCi0gZGVmYXVsdF9zdGFydGRhdGUgICAgICA9IDExMDIxMjE0NDQwNloKLSBkZWZhdWx0X2VuZGRhdGUgICAgICAgID0gMjEwMjEyMTQ0NDA2WgotIG5ld19jZXJ0c19kaXIgICAgICAgICAgPSAuLwotIGRhdGFiYXNlICAgICAgICAgICAgICAgPSAuL3Rlc3QtY2Euc2VydmVyMS5kYgotIHBvbGljeSAgICAgICAgICAgICAgICAgPSBwb2xpY3lfbWF0Y2gKLQotIFtwb2xpY3lfbWF0Y2hdCi0gY291bnRyeU5hbWUgICAgICAgICAgICA9IHN1cHBsaWVkCi0gb3JnYW5pemF0aW9uTmFtZSAgICAgICA9IHN1cHBsaWVkCi0gY29tbW9uTmFtZSAgICAgICAgICAgICA9IHN1cHBsaWVkCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2Euc2VydmVyMS50ZXN0X3NlcmlhbC5vcGVuc3NsY29uZiBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5zZXJ2ZXIxLnRlc3Rfc2VyaWFsLm9wZW5zc2xjb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0M2E1MjBlLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYS5zZXJ2ZXIxLnRlc3Rfc2VyaWFsLm9wZW5zc2xjb25mCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotIFsgY2EgXQotIGRlZmF1bHRfY2EgICAgICAgICAgICAgPSB0ZXN0LWNhCi0KLSBbIHRlc3QtY2EgXQotIGNlcnRpZmljYXRlICAgICAgICAgICAgPSB0ZXN0LWNhLmNydAotIHByaXZhdGVfa2V5ICAgICAgICAgICAgPSB0ZXN0LWNhLmtleQotIHNlcmlhbCAgICAgICAgICAgICAgICAgPSB0ZXN0LWNhLnNlcnZlcjEudG1wLnNlcmlhbAotIGRlZmF1bHRfbWQgICAgICAgICAgICAgPSBzaGExCi0gZGVmYXVsdF9zdGFydGRhdGUgICAgICA9IDIwMTkwMjEwMTQ0NDA2WgotIGRlZmF1bHRfZW5kZGF0ZSAgICAgICAgPSAyMDI5MDIxMDE0NDQwNloKLSB4NTA5X2V4dGVuc2lvbnMgICAgICAgID0gdjNfY2EKLSBuZXdfY2VydHNfZGlyICAgICAgICAgID0gLi8KLSBkYXRhYmFzZSAgICAgICAgICAgICAgID0gLi90ZXN0LWNhLnNlcnZlcjEuZGIKLSBwb2xpY3kgICAgICAgICAgICAgICAgID0gcG9saWN5X21hdGNoCi0gdW5pcXVlX3N1YmplY3QgICAgICAgICA9IG5vCi0KLSBbdjNfY2FdCi0gYmFzaWNDb25zdHJhaW50cyA9IENBOmZhbHNlCi0gc3ViamVjdEtleUlkZW50aWZpZXI9aGFzaAotIGF1dGhvcml0eUtleUlkZW50aWZpZXI9a2V5aWQ6YWx3YXlzCi0KLSBbcG9saWN5X21hdGNoXQotIGNvdW50cnlOYW1lICAgICAgICAgICAgPSBzdXBwbGllZAotIG9yZ2FuaXphdGlvbk5hbWUgICAgICAgPSBzdXBwbGllZAotIGNvbW1vbk5hbWUgICAgICAgICAgICAgPSBzdXBwbGllZApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi1leHBpcmVkLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTItZXhwaXJlZC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyZTQ3OTcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi1leHBpcmVkLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQi9UQ0NBWUNnQXdJQkFnSUJBVEFNQmdncWhrak9QUVFEQWdVQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFdwotRHdZRFZRUUtFd2hRYjJ4aGNsTlRUREVjTUJvR0ExVUVBeE1UVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVRBZQotRncwd016QTVNalF4TlRRNU5EaGFGdzB4TXpBNU1qUXhOVFE1TkRoYU1ENHhDekFKQmdOVkJBWVRBazVNTVJFdwotRHdZRFZRUUtFd2hRYjJ4aGNsTlRUREVjTUJvR0ExVUVBeE1UVUc5c1lYSnpjMndnVkdWemRDQkZReUJEUVRCMgotTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFpQTJJQUJNUGFLelJCTjFndmgxYisvSW02S1VOTFR1QnV3dzVYVXpNNQotV05SU3RKR1ZPUXNqMzE4WEpHSkkvQnFWS2M0c0xZZkNpRktBcjlacXF5SGR1Tk1jYmxpNHl1aXlhWTd6UWEwcAotdzdSZmRhZEhiOVVaS1ZWcG1sTTdJTFJtRm1BekhxTlFNRTR3REFZRFZSMFRCQVV3QXdFQi96QWRCZ05WSFE0RQotRmdRVW5XMGdKRWtCUHl2TGVMVVp2SDRreWR2N05ud3dId1lEVlIwakJCZ3dGb0FVblcwZ0pFa0JQeXZMZUxVWgotdkg0a3lkdjdObnd3REFZSUtvWkl6ajBFQXdJRkFBTnBBREJtQWpFQXZRLzQ5bFhYckxZZE9JR3RUYVlXanBaUAotdFJCWFFpR1BNelV2bUtCazdnTTdiRjRpRlBzZEppa3lYSG11d3YzUkFqRUE4dnRVWDhmQUFCM2ZiaDVkRVhSbQotbDd0ejBTdy9SVzZBSEZ0YUlhdUdraEhxZUtJYUtJaTZXU2dIdTZ4OTd1eWcKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5NzRmNGMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNCekNDQVl1Z0F3SUJBZ0lKQU1GRDRuNWlROHpvTUF3R0NDcUdTTTQ5QkFNQ0JRQXdQakVMTUFrR0ExVUUKLUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjAKLUlFVkRJRU5CTUI0WERURTVNREl4TURFME5EUXdNRm9YRFRJNU1ESXhNREUwTkRRd01Gb3dQakVMTUFrR0ExVUUKLUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjAKLUlFVkRJRU5CTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUV3OW9yTkVFM1dDK0hWdjc4aWJvcFEwdE8KLTRHN0REbGRUTXpsWTFGSzBrWlU1Q3lQZlh4Y2tZa2o4R3BVcHppd3RoOEtJVW9DdjFtcXJJZDI0MHh4dVdMaksKLTZMSnBqdk5CclNuRHRGOTFwMGR2MVJrcFZXbWFVenNndEdZV1lETWVvMU13VVRBUEJnTlZIUk1CQWY4RUJUQUQKLUFRSC9NQjBHQTFVZERnUVdCQlNkYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBZkJnTlZIU01FR0RBV2dCU2QKLWJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZEQU1CZ2dxaGtqT1BRUURBZ1VBQTJnQU1HVUNNUURwTldmQklsenEKLTZ4VjJVd1FELzFZR3o5ZlFVTTdBZk5LelZhMlBWQnBmL1FEMVRBeWxUWVRGNEdJNnFsYjZFUFlDTUYvWVZhMjkKLU41eUMxbUZBaXIxOWpiOVBsOWlpSWtSbTE3ZE00eTZtNVZJTWVwRVBtL1ZsV0FhOEg1cDErQlBiR3c9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQuZGVyIGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQuZGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MGQ2YWJjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0LmRlcgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua2V5IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYmJhM2MuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUlHa0FnRUJCRENEMlJVT29ISHdWeEF6b3ppNGhzR21FVjF0dEFQaEtYWkYxNGR2STZ0RUlPcGtlNFd4ZHVlRgotbGFwMDF0R2tYdXFnQndZRks0RUVBQ0toWkFOaUFBVEQyaXMwUVRkWUw0ZFcvdnlKdWlsRFMwN2dic01PVjFNegotT1ZqVVVyU1JsVGtMSTk5ZkZ5UmlTUHdhbFNuT0xDMkh3b2hTZ0svV2Fxc2gzYmpUSEc1WXVNcm9zbW1PODBHdAotS2NPMFgzV25SMi9WR1NsVmFacFRPeUMwWmhaZ014ND0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua2V5LmRlciBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua2V5LmRlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY2NDE0MS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmtleS5kZXIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmtleS5lbmMgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmtleS5lbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiNzA5OTAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rZXkuZW5jCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLVByb2MtVHlwZTogNCxFTkNSWVBURUQKLURFSy1JbmZvOiBERVMtRURFMy1DQkMsMzA3RUFCNDY5OTMzRDY0RQotCi1JeGJyUm1LY0F6Y3RKcVBkVFFMQTRTV3lCWVlHWUpWa1lFbmErRjdQYTV0NVlnL2dLQURyRktjbTZCNzJlN0RHCi1paEV4dFpJNjQ4czB6ZFl3NnFTSjc0dnJQU3VXRGU1cW05M0Jxc2ZWSDlzdnRDeldIVzBwbTFwMEtUQkNGZlVxCi1Vc3VXVElUd0pJbWNubEFzMWdhUlozc0FXbTdjT1VpZEwwZm8yRzBmWVVGTmNZb0NTTGZmQ0ZURUhCdVBuYWdiCi1hNzd4L3NZMUJ2aWk4UzkvWGhEVGI2cFRNeDA2d3pybQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcmwuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcmwuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDNhMmMwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtY3JsLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJEQ0NBVjZnQXdJQkFnSVVOM0RBVnEwS245azNGUFVQWkdXMmQzclpuMjh3Q2dZSUtvWkl6ajBFQXdJdwotUGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aAotY25OemJDQlVaWE4wSUVWRElFTkJNQjRYRFRJek1EVXhOekEzTVRBek4xb1hEVE16TURVeE56QTNNVEF6TjFvdwotUGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aAotY25OemJDQlVaWE4wSUVWRElFTkJNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRXc5b3JORUUzV0MrSAotVnY3OGlib3BRMHRPNEc3RERsZFRNemxZMUZLMGtaVTVDeVBmWHhja1lrajhHcFVweml3dGg4S0lVb0N2MW1xcgotSWQyNDB4eHVXTGpLNkxKcGp2TkJyU25EdEY5MXAwZHYxUmtwVldtYVV6c2d0R1lXWURNZW94MHdHekFNQmdOVgotSFJNRUJUQURBUUgvTUFzR0ExVWREd1FFQXdJQkFqQUtCZ2dxaGtqT1BRUURBZ05vQURCbEFqQXhvcS9RNFBFQQotOFNEZDNjUWFWSXd4OG9KVkV6ZkpvMUJCMncxTG5qdlVYWnJReWRqTlhNVTRKZ29ybS8yL3VMZ0NNUUN5STZjWgotRUFJZ0tQWWxUNi96SkhCajQ1cWVqczUyN09mSTRYbitrUTdPdkhRdEhhQ0F6UXc0aDdKZngrZ1hhVW89Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmt1LWNybC5jcnQub3BlbnNzbC52M19leHQgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmt1LWNybC5jcnQub3BlbnNzbC52M19leHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiYzVkM2MuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcmwuY3J0Lm9wZW5zc2wudjNfZXh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1iYXNpY0NvbnN0cmFpbnRzID0gQ0E6dHJ1ZQotc3ViamVjdEtleUlkZW50aWZpZXI9bm9uZQota2V5VXNhZ2UgPSBjUkxTaWduCi0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtY3J0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtY3J0LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWNhZDdiMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmt1LWNydC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIyRENDQVY2Z0F3SUJBZ0lVWURjWUlKNkVCYkthZktlWExnUExFK1JzSlpvd0NnWUlLb1pJemowRUF3SXcKLVBqRUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGgKLWNuTnpiQ0JVWlhOMElFVkRJRU5CTUI0WERUSXpNRFV4TWpFd016RXdOVm9YRFRNek1EVXhNakV3TXpFd05Wb3cKLVBqRUxNQWtHQTFVRUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGgKLWNuTnpiQ0JVWlhOMElFVkRJRU5CTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUV3OW9yTkVFM1dDK0gKLVZ2NzhpYm9wUTB0TzRHN0REbGRUTXpsWTFGSzBrWlU1Q3lQZlh4Y2tZa2o4R3BVcHppd3RoOEtJVW9DdjFtcXIKLUlkMjQweHh1V0xqSzZMSnBqdk5CclNuRHRGOTFwMGR2MVJrcFZXbWFVenNndEdZV1lETWVveDB3R3pBTUJnTlYKLUhSTUVCVEFEQVFIL01Bc0dBMVVkRHdRRUF3SUNCREFLQmdncWhrak9QUVFEQWdOb0FEQmxBakJ3c2Z5WWlaQjYKLVBwRGdJYllSYlo0VlQ5R0dGTkUzTDRDMUlIOFJOd3p2eXdMdlFmVnAzb2NSQWt6RW9ScG1LQXNDTVFET0dtNDgKLWQ3ektsN0l6bUJ1T1dYWWx1a1dERFd3cE5JNjd6N2cwSmF3ZnlwS0l4Y1BUWkZpUVhWdERkVGRrckdZPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcnQuY3J0Lm9wZW5zc2wudjNfZXh0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcnQuY3J0Lm9wZW5zc2wudjNfZXh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTdjODkzLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtY3J0LmNydC5vcGVuc3NsLnYzX2V4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotYmFzaWNDb25zdHJhaW50cyA9IENBOnRydWUKLXN1YmplY3RLZXlJZGVudGlmaWVyPW5vbmUKLWtleVVzYWdlID0ga2V5Q2VydFNpZ24KLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcnRfY3JsLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtY3J0X2NybC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjNjk1ODIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcnRfY3JsLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQjJUQ0NBVjZnQXdJQkFnSVVkNWY0MkY0YWhqa3g5QUlOMDM1cGNGNFdGaWt3Q2dZSUtvWkl6ajBFQXdJdwotUGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aAotY25OemJDQlVaWE4wSUVWRElFTkJNQjRYRFRJek1EVXhOekEzTVRBek4xb1hEVE16TURVeE56QTNNVEF6TjFvdwotUGpFTE1Ba0dBMVVFQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aAotY25OemJDQlVaWE4wSUVWRElFTkJNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRXc5b3JORUUzV0MrSAotVnY3OGlib3BRMHRPNEc3RERsZFRNemxZMUZLMGtaVTVDeVBmWHhja1lrajhHcFVweml3dGg4S0lVb0N2MW1xcgotSWQyNDB4eHVXTGpLNkxKcGp2TkJyU25EdEY5MXAwZHYxUmtwVldtYVV6c2d0R1lXWURNZW94MHdHekFNQmdOVgotSFJNRUJUQURBUUgvTUFzR0ExVWREd1FFQXdJQkJqQUtCZ2dxaGtqT1BRUURBZ05wQURCbUFqRUE2SVV2UXdTdwotdkVrSGpVOVlOc1BjVXNKZjBVVEhVVzFUOG1OYmdrK3pDbDZmemVVNzNvQ1hINnpvaTVxNnZMZ2pBakVBdjYzQwoteGtubUpKNEgzWmxjK081R2xjWDlWUU5aRG4xeFY3aGYyeVcxR2Y3d0xUblNXVGY1YlhBVGFJUTZRTE8xCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmt1LWNydF9jcmwuY3J0Lm9wZW5zc2wudjNfZXh0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcnRfY3JsLmNydC5vcGVuc3NsLnYzX2V4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGZkNzNhMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmt1LWNydF9jcmwuY3J0Lm9wZW5zc2wudjNfZXh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1iYXNpY0NvbnN0cmFpbnRzID0gQ0E6dHJ1ZQotc3ViamVjdEtleUlkZW50aWZpZXI9bm9uZQota2V5VXNhZ2UgPSBrZXlDZXJ0U2lnbiwgY1JMU2lnbgotCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmt1LWRzLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtZHMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTA3YWE3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtZHMuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCMlRDQ0FWNmdBd0lCQWdJVWI1eHNPNkZFbUF6K1hwR0ZIcFc3T0RGdnVwMHdDZ1lJS29aSXpqMEVBd0l3Ci1QakVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoCi1jbk56YkNCVVpYTjBJRVZESUVOQk1CNFhEVEl6TURVeE56QTNNVEF6TjFvWERUTXpNRFV4TnpBM01UQXpOMW93Ci1QakVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoCi1jbk56YkNCVVpYTjBJRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFdzlvck5FRTNXQytICi1Wdjc4aWJvcFEwdE80RzdERGxkVE16bFkxRkswa1pVNUN5UGZYeGNrWWtqOEdwVXB6aXd0aDhLSVVvQ3YxbXFyCi1JZDI0MHh4dVdMaks2TEpwanZOQnJTbkR0RjkxcDBkdjFSa3BWV21hVXpzZ3RHWVdZRE1lb3gwd0d6QU1CZ05WCi1IUk1FQlRBREFRSC9NQXNHQTFVZER3UUVBd0lIZ0RBS0JnZ3Foa2pPUFFRREFnTnBBREJtQWpFQTQ0SFZ2R1l2Ci1tZUEzU3BhTkptdWJMS2pzUWxHTm5FVVVvMUlPME5CUDV5V0cwZFJGa1g4TlEwYnpILzFuNkZKY0FqRUFtOXdqCi14ZG1FUFVyNlBZNTRjMElRSk5lZUY3NkwxLytFc3pYclNEUTdUTHYxWUM0ZDR1TU5tcXdSOUVHdVVYKy8KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtZHMuY3J0Lm9wZW5zc2wudjNfZXh0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1kcy5jcnQub3BlbnNzbC52M19leHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4ZTQ5ZDQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1kcy5jcnQub3BlbnNzbC52M19leHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLWJhc2ljQ29uc3RyYWludHMgPSBDQTp0cnVlCi1zdWJqZWN0S2V5SWRlbnRpZmllcj1ub25lCi1rZXlVc2FnZSA9IGRpZ2l0YWxTaWduYXR1cmUKLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5yZXEuc2hhMjU2IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMi5yZXEuc2hhMjU2CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDQ2YjJhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTIucmVxLnNoYTI1NgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KLU1JSUJPVENCdlFJQkFEQStNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWEKLUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQUlnTmkKLUFBVEQyaXMwUVRkWUw0ZFcvdnlKdWlsRFMwN2dic01PVjFNek9WalVVclNSbFRrTEk5OWZGeVJpU1B3YWxTbk8KLUxDMkh3b2hTZ0svV2Fxc2gzYmpUSEc1WXVNcm9zbW1PODBHdEtjTzBYM1duUjIvVkdTbFZhWnBUT3lDMFpoWmcKLU14NmdBREFNQmdncWhrak9QUVFEQWdVQUEya0FNR1lDTVFERWxlZjkrS2ZSYlpPQTI5WnlVNzUwZkIzb2I4MkUKLThSNzExK2hrOUhPc2swRzlVY2NwM3RUKzFuaENjTU5obldzQ01RRDZZOGU5amNFYUtTUGlXV2ZnQ1o1TmFRNWwKLXB2UERVZGNQVjhzWnQyY2dOUzhmY1JJSUhibFFLdnI2bWlIWGw5WT0KLS0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtZnV0dXJlLWludmFsaWQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtZnV0dXJlLWludmFsaWQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzNlNDk3Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LWZ1dHVyZS1pbnZhbGlkLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ0JqQ0NBWXVnQXdJQkFnSUpBTUZENG41aVE4em9NQXdHQ0NxR1NNNDlCQU1DQlFBd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNQjRYRFRJNU1ESXhNREUwTkRRd01Gb1hEVE01TURJeE1ERTBORFF3TUZvd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRXc5b3JORUUzV0MrSFZ2NzhpYm9wUTB0TwotNEc3RERsZFRNemxZMUZLMGtaVTVDeVBmWHhja1lrajhHcFVweml3dGg4S0lVb0N2MW1xcklkMjQweHh1V0xqSwotNkxKcGp2TkJyU25EdEY5MXAwZHYxUmtwVldtYVV6c2d0R1lXWURNZW8xTXdVVEFQQmdOVkhSTUJBZjhFQlRBRAotQVFIL01CMEdBMVVkRGdRV0JCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFmQmdOVkhTTUVHREFXZ0JTZAotYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBTUJnZ3Foa2pPUFFRREFnVUFBMmNBTUdRQ01DRHd4cHZWMG16WgotNW55cjN0cExJTHlhRVJHeVZ1U0dIQUpxZDg4ZnNXRWlWNi94bWlPVGVJR2xOOFdMVkwwM0ZRSXdKWW5TSWVDagotdnd1UWFXemVJeXBFbkdJVDJBMmVKMklJckpyRnI5eHBhZnFOMXZSRFNLNVZadU0xQjRSdFcyT1UKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ0lEQ0NBYVdnQXdJQkFnSUJDakFLQmdncWhrak9QUVFEQWpBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIREFhQmdOVkJBTU1FMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEV3SGhjTgotTWpNd05URTNNRGN4TURNM1doY05Nek13TlRFME1EY3hNRE0zV2pBME1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkREJaTUJNR0J5cUdTTTQ5QWdFRwotQ0NxR1NNNDlBd0VIQTBJQUJJRlpNWFpKSlBvVnJhdWdNVzRPN1RNUitwRWxWY0d3d1p3RGNqNll1aTJrY2plSgotSDBNM2pSK09PdGp3VitndlQ4a0FwUGZiY3creXhnU1UwVUE3T09PamdaMHdnWm93Q1FZRFZSMFRCQUl3QURBZAotQmdOVkhRNEVGZ1FVZm1XUFBqTURGT1hodm1DeTRJVi9qT2RnSzNzd2JnWURWUjBqQkdjd1pZQVVuVzBnSkVrQgotUHl2TGVMVVp2SDRreWR2N05ueWhRcVJBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3RHdZRFZRUUtEQWhRYjJ4aAotY2xOVFRERWNNQm9HQTFVRUF3d1RVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRWUlKQU1GRDRuNWlROHpvTUFvRwotQ0NxR1NNNDlCQU1DQTJrQU1HWUNNUUM3bWxQK2JxL2M0aEtCM3pmSmdQZHdTbnp6UU9rWHdkQTJPNlF1bUMybwotWnVIeWpVWVY1L1p5VThRUTdjTm5LbllDTVFEOUJ5QTdkZHBWRTJHaytPVnVCUEdmd1Y0TzJDT2dGcmFzZnJUbgotS2dmdUNFRjk2QmhTakxEWFdLQjRJRldhWFVRPQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtZnV0dXJlLXByZXNlbnQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtZnV0dXJlLXByZXNlbnQuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDljY2EwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LWZ1dHVyZS1wcmVzZW50LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ0JqQ0NBWXVnQXdJQkFnSUpBTUZENG41aVE4em9NQXdHQ0NxR1NNNDlCQU1DQlFBd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNQjRYRFRJNU1ESXhNREUwTkRRd01Gb1hEVE01TURJeE1ERTBORFF3TUZvd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRXc5b3JORUUzV0MrSFZ2NzhpYm9wUTB0TwotNEc3RERsZFRNemxZMUZLMGtaVTVDeVBmWHhja1lrajhHcFVweml3dGg4S0lVb0N2MW1xcklkMjQweHh1V0xqSwotNkxKcGp2TkJyU25EdEY5MXAwZHYxUmtwVldtYVV6c2d0R1lXWURNZW8xTXdVVEFQQmdOVkhSTUJBZjhFQlRBRAotQVFIL01CMEdBMVVkRGdRV0JCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFmQmdOVkhTTUVHREFXZ0JTZAotYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBTUJnZ3Foa2pPUFFRREFnVUFBMmNBTUdRQ01DRHd4cHZWMG16WgotNW55cjN0cExJTHlhRVJHeVZ1U0dIQUpxZDg4ZnNXRWlWNi94bWlPVGVJR2xOOFdMVkwwM0ZRSXdKWW5TSWVDagotdnd1UWFXemVJeXBFbkdJVDJBMmVKMklJckpyRnI5eHBhZnFOMXZSRFNLNVZadU0xQjRSdFcyT1UKLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ0J6Q0NBWXVnQXdJQkFnSUpBTUZENG41aVE4em9NQXdHQ0NxR1NNNDlCQU1DQlFBd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNQjRYRFRFNU1ESXhNREUwTkRRd01Gb1hEVEk1TURJeE1ERTBORFF3TUZvd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRXc5b3JORUUzV0MrSFZ2NzhpYm9wUTB0TwotNEc3RERsZFRNemxZMUZLMGtaVTVDeVBmWHhja1lrajhHcFVweml3dGg4S0lVb0N2MW1xcklkMjQweHh1V0xqSwotNkxKcGp2TkJyU25EdEY5MXAwZHYxUmtwVldtYVV6c2d0R1lXWURNZW8xTXdVVEFQQmdOVkhSTUJBZjhFQlRBRAotQVFIL01CMEdBMVVkRGdRV0JCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFmQmdOVkhTTUVHREFXZ0JTZAotYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBTUJnZ3Foa2pPUFFRREFnVUFBMmdBTUdVQ01RRHBOV2ZCSWx6cQotNnhWMlV3UUQvMVlHejlmUVVNN0FmTkt6VmEyUFZCcGYvUUQxVEF5bFRZVEY0R0k2cWxiNkVQWUNNRi9ZVmEyOQotTjV5QzFtRkFpcjE5amI5UGw5aWlJa1JtMTdkTTR5Nm01VklNZXBFUG0vVmxXQWE4SDVwMStCUGJHdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wYXN0LWludmFsaWQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtcGFzdC1pbnZhbGlkLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTBiMGEyZi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wYXN0LWludmFsaWQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCL1RDQ0FZQ2dBd0lCQWdJQkFUQU1CZ2dxaGtqT1BRUURBZ1VBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEFlCi1GdzB3TXpBNU1qUXhOVFE1TkRoYUZ3MHhNekE1TWpReE5UUTVORGhhTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEIyCi1NQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQk1QYUt6UkJOMWd2aDFiKy9JbTZLVU5MVHVCdXd3NVhVek01Ci1XTlJTdEpHVk9Rc2ozMThYSkdKSS9CcVZLYzRzTFlmQ2lGS0FyOVpxcXlIZHVOTWNibGk0eXVpeWFZN3pRYTBwCi13N1JmZGFkSGI5VVpLVlZwbWxNN0lMUm1GbUF6SHFOUU1FNHdEQVlEVlIwVEJBVXdBd0VCL3pBZEJnTlZIUTRFCi1GZ1FVblcwZ0pFa0JQeXZMZUxVWnZINGt5ZHY3Tm53d0h3WURWUjBqQkJnd0ZvQVVuVzBnSkVrQlB5dkxlTFVaCi12SDRreWR2N05ud3dEQVlJS29aSXpqMEVBd0lGQUFOcEFEQm1BakVBdlEvNDlsWFhyTFlkT0lHdFRhWVdqcFpQCi10UkJYUWlHUE16VXZtS0JrN2dNN2JGNGlGUHNkSmlreVhIbXV3djNSQWpFQTh2dFVYOGZBQUIzZmJoNWRFWFJtCi1sN3R6MFN3L1JXNkFIRnRhSWF1R2toSHFlS0lhS0lpNldTZ0h1Nng5N3V5ZwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDSURDQ0FhV2dBd0lCQWdJQkNqQUtCZ2dxaGtqT1BRUURBakErTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEhEQWFCZ05WQkFNTUUxQnZiR0Z5YzNOc0lGUmxjM1FnUlVNZ1EwRXdIaGNOCi1Nak13TlRFM01EY3hNRE0zV2hjTk16TXdOVEUwTURjeE1ETTNXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQlpNQk1HQnlxR1NNNDlBZ0VHCi1DQ3FHU000OUF3RUhBMElBQklGWk1YWkpKUG9WcmF1Z01XNE83VE1SK3BFbFZjR3d3WndEY2o2WXVpMmtjamVKCi1IME0zalIrT090andWK2d2VDhrQXBQZmJjdyt5eGdTVTBVQTdPT09qZ1owd2dab3dDUVlEVlIwVEJBSXdBREFkCi1CZ05WSFE0RUZnUVVmbVdQUGpNREZPWGh2bUN5NElWL2pPZGdLM3N3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCCi1QeXZMZUxVWnZINGt5ZHY3Tm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0RBaFFiMnhoCi1jbE5UVERFY01Cb0dBMVVFQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQW9HCi1DQ3FHU000OUJBTUNBMmtBTUdZQ01RQzdtbFArYnEvYzRoS0IzemZKZ1Bkd1NuenpRT2tYd2RBMk82UXVtQzJvCi1adUh5alVZVjUvWnlVOFFRN2NObktuWUNNUUQ5QnlBN2RkcFZFMkdrK09WdUJQR2Z3VjRPMkNPZ0ZyYXNmclRuCi1LZ2Z1Q0VGOTZCaFNqTERYV0tCNElGV2FYVVE9Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wYXN0LXByZXNlbnQuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtcGFzdC1wcmVzZW50LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRlMDVjNi4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wYXN0LXByZXNlbnQuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlCL1RDQ0FZQ2dBd0lCQWdJQkFUQU1CZ2dxaGtqT1BRUURBZ1VBTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEFlCi1GdzB3TXpBNU1qUXhOVFE1TkRoYUZ3MHhNekE1TWpReE5UUTVORGhhTUQ0eEN6QUpCZ05WQkFZVEFrNU1NUkV3Ci1Ed1lEVlFRS0V3aFFiMnhoY2xOVFRERWNNQm9HQTFVRUF4TVRVRzlzWVhKemMyd2dWR1Z6ZENCRlF5QkRRVEIyCi1NQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQk1QYUt6UkJOMWd2aDFiKy9JbTZLVU5MVHVCdXd3NVhVek01Ci1XTlJTdEpHVk9Rc2ozMThYSkdKSS9CcVZLYzRzTFlmQ2lGS0FyOVpxcXlIZHVOTWNibGk0eXVpeWFZN3pRYTBwCi13N1JmZGFkSGI5VVpLVlZwbWxNN0lMUm1GbUF6SHFOUU1FNHdEQVlEVlIwVEJBVXdBd0VCL3pBZEJnTlZIUTRFCi1GZ1FVblcwZ0pFa0JQeXZMZUxVWnZINGt5ZHY3Tm53d0h3WURWUjBqQkJnd0ZvQVVuVzBnSkVrQlB5dkxlTFVaCi12SDRreWR2N05ud3dEQVlJS29aSXpqMEVBd0lGQUFOcEFEQm1BakVBdlEvNDlsWFhyTFlkT0lHdFRhWVdqcFpQCi10UkJYUWlHUE16VXZtS0JrN2dNN2JGNGlGUHNkSmlreVhIbXV3djNSQWpFQTh2dFVYOGZBQUIzZmJoNWRFWFJtCi1sN3R6MFN3L1JXNkFIRnRhSWF1R2toSHFlS0lhS0lpNldTZ0h1Nng5N3V5ZwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDQnpDQ0FZdWdBd0lCQWdJSkFNRkQ0bjVpUTh6b01Bd0dDQ3FHU000OUJBTUNCUUF3UGpFTE1Ba0dBMVVFCi1CaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wCi1JRVZESUVOQk1CNFhEVEU1TURJeE1ERTBORFF3TUZvWERUSTVNREl4TURFME5EUXdNRm93UGpFTE1Ba0dBMVVFCi1CaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wCi1JRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFdzlvck5FRTNXQytIVnY3OGlib3BRMHRPCi00RzdERGxkVE16bFkxRkswa1pVNUN5UGZYeGNrWWtqOEdwVXB6aXd0aDhLSVVvQ3YxbXFySWQyNDB4eHVXTGpLCi02TEpwanZOQnJTbkR0RjkxcDBkdjFSa3BWV21hVXpzZ3RHWVdZRE1lbzFNd1VUQVBCZ05WSFJNQkFmOEVCVEFECi1BUUgvTUIwR0ExVWREZ1FXQkJTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZEQWZCZ05WSFNNRUdEQVdnQlNkCi1iU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFNQmdncWhrak9QUVFEQWdVQUEyZ0FNR1VDTVFEcE5XZkJJbHpxCi02eFYyVXdRRC8xWUd6OWZRVU03QWZOS3pWYTJQVkJwZi9RRDFUQXlsVFlURjRHSTZxbGI2RVBZQ01GL1lWYTI5Ci1ONXlDMW1GQWlyMTlqYjlQbDlpaUlrUm0xN2RNNHk2bTVWSU1lcEVQbS9WbFdBYThINXAxK0JQYkd3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LXByZXNlbnQtZnV0dXJlLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LXByZXNlbnQtZnV0dXJlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjUzOTQ3OS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wcmVzZW50LWZ1dHVyZS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNCekNDQVl1Z0F3SUJBZ0lKQU1GRDRuNWlROHpvTUF3R0NDcUdTTTQ5QkFNQ0JRQXdQakVMTUFrR0ExVUUKLUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjAKLUlFVkRJRU5CTUI0WERURTVNREl4TURFME5EUXdNRm9YRFRJNU1ESXhNREUwTkRRd01Gb3dQakVMTUFrR0ExVUUKLUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjAKLUlFVkRJRU5CTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUV3OW9yTkVFM1dDK0hWdjc4aWJvcFEwdE8KLTRHN0REbGRUTXpsWTFGSzBrWlU1Q3lQZlh4Y2tZa2o4R3BVcHppd3RoOEtJVW9DdjFtcXJJZDI0MHh4dVdMaksKLTZMSnBqdk5CclNuRHRGOTFwMGR2MVJrcFZXbWFVenNndEdZV1lETWVvMU13VVRBUEJnTlZIUk1CQWY4RUJUQUQKLUFRSC9NQjBHQTFVZERnUVdCQlNkYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBZkJnTlZIU01FR0RBV2dCU2QKLWJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZEQU1CZ2dxaGtqT1BRUURBZ1VBQTJnQU1HVUNNUURwTldmQklsenEKLTZ4VjJVd1FELzFZR3o5ZlFVTTdBZk5LelZhMlBWQnBmL1FEMVRBeWxUWVRGNEdJNnFsYjZFUFlDTUYvWVZhMjkKLU41eUMxbUZBaXIxOWpiOVBsOWlpSWtSbTE3ZE00eTZtNVZJTWVwRVBtL1ZsV0FhOEg1cDErQlBiR3c9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDQmpDQ0FZdWdBd0lCQWdJSkFNRkQ0bjVpUTh6b01Bd0dDQ3FHU000OUJBTUNCUUF3UGpFTE1Ba0dBMVVFCi1CaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wCi1JRVZESUVOQk1CNFhEVEk1TURJeE1ERTBORFF3TUZvWERUTTVNREl4TURFME5EUXdNRm93UGpFTE1Ba0dBMVVFCi1CaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wCi1JRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFdzlvck5FRTNXQytIVnY3OGlib3BRMHRPCi00RzdERGxkVE16bFkxRkswa1pVNUN5UGZYeGNrWWtqOEdwVXB6aXd0aDhLSVVvQ3YxbXFySWQyNDB4eHVXTGpLCi02TEpwanZOQnJTbkR0RjkxcDBkdjFSa3BWV21hVXpzZ3RHWVdZRE1lbzFNd1VUQVBCZ05WSFJNQkFmOEVCVEFECi1BUUgvTUIwR0ExVWREZ1FXQkJTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZEQWZCZ05WSFNNRUdEQVdnQlNkCi1iU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFNQmdncWhrak9QUVFEQWdVQUEyY0FNR1FDTUNEd3hwdlYwbXpaCi01bnlyM3RwTElMeWFFUkd5VnVTR0hBSnFkODhmc1dFaVY2L3htaU9UZUlHbE44V0xWTDAzRlFJd0pZblNJZUNqCi12d3VRYVd6ZUl5cEVuR0lUMkEyZUoySUlySnJGcjl4cGFmcU4xdlJEU0s1Vlp1TTFCNFJ0VzJPVQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtcHJlc2VudC1wYXN0LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LXByZXNlbnQtcGFzdC5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4YWVlZWEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtcHJlc2VudC1wYXN0LmNydAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQ0J6Q0NBWXVnQXdJQkFnSUpBTUZENG41aVE4em9NQXdHQ0NxR1NNNDlCQU1DQlFBd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNQjRYRFRFNU1ESXhNREUwTkRRd01Gb1hEVEk1TURJeE1ERTBORFF3TUZvd1BqRUxNQWtHQTFVRQotQmhNQ1Rrd3hFVEFQQmdOVkJBb01DRkJ2YkdGeVUxTk1NUnd3R2dZRFZRUUREQk5RYjJ4aGNuTnpiQ0JVWlhOMAotSUVWRElFTkJNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRXc5b3JORUUzV0MrSFZ2NzhpYm9wUTB0TwotNEc3RERsZFRNemxZMUZLMGtaVTVDeVBmWHhja1lrajhHcFVweml3dGg4S0lVb0N2MW1xcklkMjQweHh1V0xqSwotNkxKcGp2TkJyU25EdEY5MXAwZHYxUmtwVldtYVV6c2d0R1lXWURNZW8xTXdVVEFQQmdOVkhSTUJBZjhFQlRBRAotQVFIL01CMEdBMVVkRGdRV0JCU2RiU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFmQmdOVkhTTUVHREFXZ0JTZAotYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBTUJnZ3Foa2pPUFFRREFnVUFBMmdBTUdVQ01RRHBOV2ZCSWx6cQotNnhWMlV3UUQvMVlHejlmUVVNN0FmTkt6VmEyUFZCcGYvUUQxVEF5bFRZVEY0R0k2cWxiNkVQWUNNRi9ZVmEyOQotTjV5QzFtRkFpcjE5amI5UGw5aWlJa1JtMTdkTTR5Nm01VklNZXBFUG0vVmxXQWE4SDVwMStCUGJHdz09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUIvVENDQVlDZ0F3SUJBZ0lCQVRBTUJnZ3Foa2pPUFFRREFnVUFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLRXdoUWIyeGhjbE5UVERFY01Cb0dBMVVFQXhNVFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFUQWUKLUZ3MHdNekE1TWpReE5UUTVORGhhRncweE16QTVNalF4TlRRNU5EaGFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXcKLUR3WURWUVFLRXdoUWIyeGhjbE5UVERFY01Cb0dBMVVFQXhNVFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFUQjIKLU1CQUdCeXFHU000OUFnRUdCU3VCQkFBaUEySUFCTVBhS3pSQk4xZ3ZoMWIrL0ltNktVTkxUdUJ1d3c1WFV6TTUKLVdOUlN0SkdWT1FzajMxOFhKR0pJL0JxVktjNHNMWWZDaUZLQXI5WnFxeUhkdU5NY2JsaTR5dWl5YVk3elFhMHAKLXc3UmZkYWRIYjlVWktWVnBtbE03SUxSbUZtQXpIcU5RTUU0d0RBWURWUjBUQkFVd0F3RUIvekFkQmdOVkhRNEUKLUZnUVVuVzBnSkVrQlB5dkxlTFVadkg0a3lkdjdObnd3SHdZRFZSMGpCQmd3Rm9BVW5XMGdKRWtCUHl2TGVMVVoKLXZINGt5ZHY3Tm53d0RBWUlLb1pJemowRUF3SUZBQU5wQURCbUFqRUF2US80OWxYWHJMWWRPSUd0VGFZV2pwWlAKLXRSQlhRaUdQTXpVdm1LQms3Z003YkY0aUZQc2RKaWt5WEhtdXd2M1JBakVBOHZ0VVg4ZkFBQjNmYmg1ZEVYUm0KLWw3dHowU3cvUlc2QUhGdGFJYXVHa2hIcWVLSWFLSWk2V1NnSHU2eDk3dXlnCi0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU0YmNjMS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUkRDQ0FpeWdBd0lCQWdJQkF6QU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREF3V2hjTk1qa3dNakV3TVRRME5EQXdXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUdqCi1VekJSTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4Ci14LzMvTUI4R0ExVWRJd1FZTUJhQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NQTBHQ1NxR1NJYjNEUUVCCi1CUVVBQTRJQkFRQ3o1NTdaWm1XdjVVVFRIZWJ6VHlWemt1NWxkcGNpY0pQcUtIUDN4WjR0UFBZNTJKUXlKZy9UCi1oc1JCNDR5VHlObzMvam85b3IyS2dWbmMrL25DbW5sdlRxMjJhL2oyNkR0S1o3d0Q5TVd4dW5wa3FSd0V4dEEvCi1HODE2bXNybDZYNm01MFd3ZExYVHZhVkpHWENZcDhUUFZMeDVZWTNXUElWb1gwQ1BON0hzOWlOSk5pRVdvNFFmCi03ZEFxaldCQi9RcHVzbVdoamFEU2M0K2NGaFQyNFlvOUh1UzF5cmtVVHJCdEphajBBeWtUc2l5Rm02U0JWRE5ICi05WEl4Q2dZeTlRclliREtOdEpYaHVldnBOMHlVTVYvYVVuSWtVMndUVG91aE96Wmlzak5rMHNTMWd1cW1TSHpmCi1obGY4cW90T2hOdkZYcEVzQ0d3WlV5d2F5bzdjNER0TwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlDQnpDQ0FZdWdBd0lCQWdJSkFNRkQ0bjVpUTh6b01Bd0dDQ3FHU000OUJBTUNCUUF3UGpFTE1Ba0dBMVVFCi1CaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wCi1JRVZESUVOQk1CNFhEVEU1TURJeE1ERTBORFF3TUZvWERUSTVNREl4TURFME5EUXdNRm93UGpFTE1Ba0dBMVVFCi1CaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wCi1JRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFdzlvck5FRTNXQytIVnY3OGlib3BRMHRPCi00RzdERGxkVE16bFkxRkswa1pVNUN5UGZYeGNrWWtqOEdwVXB6aXd0aDhLSVVvQ3YxbXFySWQyNDB4eHVXTGpLCi02TEpwanZOQnJTbkR0RjkxcDBkdjFSa3BWV21hVXpzZ3RHWVdZRE1lbzFNd1VUQVBCZ05WSFJNQkFmOEVCVEFECi1BUUgvTUIwR0ExVWREZ1FXQkJTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZEQWZCZ05WSFNNRUdEQVdnQlNkCi1iU0FrU1FFL0s4dDR0Um04ZmlUSjIvczJmREFNQmdncWhrak9QUVFEQWdVQUEyZ0FNR1VDTVFEcE5XZkJJbHpxCi02eFYyVXdRRC8xWUd6OWZRVU03QWZOS3pWYTJQVkJwZi9RRDFUQXlsVFlURjRHSTZxbGI2RVBZQ01GL1lWYTI5Ci1ONXlDMW1GQWlyMTlqYjlQbDlpaUlrUm0xN2RNNHk2bTVWSU1lcEVQbS9WbFdBYThINXAxK0JQYkd3PT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYV9jYXQyMS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MjEuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDkwZGM2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYV9jYXQyMS5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUNCekNDQVl1Z0F3SUJBZ0lKQU1GRDRuNWlROHpvTUF3R0NDcUdTTTQ5QkFNQ0JRQXdQakVMTUFrR0ExVUUKLUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjAKLUlFVkRJRU5CTUI0WERURTVNREl4TURFME5EUXdNRm9YRFRJNU1ESXhNREUwTkRRd01Gb3dQakVMTUFrR0ExVUUKLUJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjAKLUlFVkRJRU5CTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUV3OW9yTkVFM1dDK0hWdjc4aWJvcFEwdE8KLTRHN0REbGRUTXpsWTFGSzBrWlU1Q3lQZlh4Y2tZa2o4R3BVcHppd3RoOEtJVW9DdjFtcXJJZDI0MHh4dVdMaksKLTZMSnBqdk5CclNuRHRGOTFwMGR2MVJrcFZXbWFVenNndEdZV1lETWVvMU13VVRBUEJnTlZIUk1CQWY4RUJUQUQKLUFRSC9NQjBHQTFVZERnUVdCQlNkYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBZkJnTlZIU01FR0RBV2dCU2QKLWJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZEQU1CZ2dxaGtqT1BRUURBZ1VBQTJnQU1HVUNNUURwTldmQklsenEKLTZ4VjJVd1FELzFZR3o5ZlFVTTdBZk5LelZhMlBWQnBmL1FEMVRBeWxUWVRGNEdJNnFsYjZFUFlDTUYvWVZhMjkKLU41eUMxbUZBaXIxOWpiOVBsOWlpSWtSbTE3ZE00eTZtNVZJTWVwRVBtL1ZsV0FhOEg1cDErQlBiR3c9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEUkRDQ0FpeWdBd0lCQWdJQkF6QU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFd01UUTBOREF3V2hjTk1qa3dNakV3TVRRME5EQXdXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUdqCi1VekJSTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4Ci14LzMvTUI4R0ExVWRJd1FZTUJhQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NQTBHQ1NxR1NJYjNEUUVCCi1CUVVBQTRJQkFRQ3o1NTdaWm1XdjVVVFRIZWJ6VHlWemt1NWxkcGNpY0pQcUtIUDN4WjR0UFBZNTJKUXlKZy9UCi1oc1JCNDR5VHlObzMvam85b3IyS2dWbmMrL25DbW5sdlRxMjJhL2oyNkR0S1o3d0Q5TVd4dW5wa3FSd0V4dEEvCi1HODE2bXNybDZYNm01MFd3ZExYVHZhVkpHWENZcDhUUFZMeDVZWTNXUElWb1gwQ1BON0hzOWlOSk5pRVdvNFFmCi03ZEFxaldCQi9RcHVzbVdoamFEU2M0K2NGaFQyNFlvOUh1UzF5cmtVVHJCdEphajBBeWtUc2l5Rm02U0JWRE5ICi05WEl4Q2dZeTlRclliREtOdEpYaHVldnBOMHlVTVYvYVVuSWtVMndUVG91aE96Wmlzak5rMHNTMWd1cW1TSHpmCi1obGY4cW90T2hOdkZYcEVzQ0d3WlV5d2F5bzdjNER0TwotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhX3ByaW50YWJsZS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfcHJpbnRhYmxlLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU5NWI2ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfcHJpbnRhYmxlLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRGh6Q0NBbStnQXdJQkFnSUJBekFOQmdrcWhraUc5dzBCQVFVRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUgotTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTgotTVRrd01qRXhNVE0wTlRJNVdoY05Namt3TWpFeE1UTTBOVEk1V2pBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdnZ0VpTUEwRwotQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUURBM3pmOEY3dmdscDAvaHQ2V01uMUVwUmFnelNIeAotbWRUczZzdDhHRmdJbEtYc204V0wzeG9lbVRpWmh4NTd3STA1M3poZGNIZ0gwNTdaaytpNWNsSEZ6cU13VXFueQotNTBCd0ZNdEVvbklMd3VWQStUN2xwZzZ6K2V4S1k4QzRLUUIwbkZjN3FLVUVrSEh4dllQWlA5YWw0andxais4bgotWU1QR244dTY3R0I5dCthRU1yNVArMWdtSWdOYjFMVFYrL1hqbGk1d3dPUXV2Znd1N3VKQlZjQTBMbjBrY21uTAotUjdFVVFJTjlaL1NHOWpHcjhYbWtzclV1RXZtRUYvQmlieWMrRTFpeFZBMGhtbk0zb1REUGI1TGM5dW44ck5zdQotS05GK0Frc2pvQlh5T0dWa0Nlb01ibzRiRjZCeHlMT2J5YXZwdy9MUGg1YVBnQUl5bnBsWWI2TFZBZ01CQUFHagotZ1pVd2daSXdIUVlEVlIwT0JCWUVGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvTUdNR0ExVWRJd1JjTUZxQQotRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL29UK2tQVEE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHQTFVRQotQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBHQ0FRTXdEQVlEVlIwVAotQkFVd0F3RUIvekFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBYmhhRkJDdXFPZW5rSmR3UXZyM0IzaFg4TUdFUgotczBQV2dLd1NrcmtmYVJwOFZnMkdCYVZ0K0dkcXRMK3dwbzlOWW9lb1ByRU9qV0htN2dyZG9saGNLT3M5U2RLcQotWHNpUUtDSnF2d3FpSjBQZkl3U0EzMFpxSUd0YjNJOVdMWEJYcmVnay9rdTlzZTJHaEtsTENZZVcwOVRxM3BleAotdEdvdHRWVnlwTkp1TWVkK3lYMk1VTUhyQVc3Ky9aSmh4ZlRWVHY2WVlxcXI2ZXVmdkxpWVBoVWdpaFRuZHFqOQotS2VrbzFrT2I3WHlZTUdLR0VtTFlGWFM0b0pjNXV2d2hreVRJaklacjZlbllSempMVGttaFZwem5TWGRFUktqbAotYjhKaC9oemR3czh5UU9DaytObHFaUEt6OUxEUWlJNXA1dFQ0ZUdtWDV3NGZEMzBRWXpnVFFXTFNLUT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjk0MWJiZS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQotTUlJRXBBSUJBQUtDQVFFQXdOODMvQmU3NEphZFA0YmVsako5UktVV29NMGg4Wm5VN09yTGZCaFlDSlNsN0p2RgotaTk4YUhwazRtWWNlZThDTk9kODRYWEI0QjlPZTJaUG91WEpSeGM2ak1GS3A4dWRBY0JUTFJLSnlDOExsUVBrKwotNWFZT3MvbnNTbVBBdUNrQWRKeFhPNmlsQkpCeDhiMkQyVC9XcGVJOEtvL3ZKMkREeHAvTHV1eGdmYmZtaERLKwotVC90WUppSURXOVMwMWZ2MTQ1WXVjTURrTHIzOEx1N2lRVlhBTkM1OUpISnB5MGV4RkVDRGZXZjBodll4cS9GNQotcExLMUxoTDVoQmZ3WW04blBoTllzVlFOSVpwek42RXd6MitTM1BicC9LemJMaWpSZmdKTEk2QVY4amhsWkFucQotREc2T0d4ZWdjY2l6bThtcjZjUHl6NGVXajRBQ01wNlpXRytpMVFJREFRQUJBb0lCQUQvM0I5TTBiOXZKTjdlRQotM0RkRjRXT3R1TFoxc2NjMXRIY3FXM2Y1ZnVEQm85RzN5Nmxhd1lmYVd2b1g1TlU0QTk1b21JSHN0ZklxamVrcwotODZibE1oZC9NNEhvT0hMVm5QcE8reWIxRlF1dmhHYXJBdUFZMVpGODFvL0pTM1lJS3gyQmFERGgrbkJzRTA0UQotQXpVK3hjcFlJSW9oR0RpZ0QrM0V1MFZ2OVlSYnNNOU9uVmdUYXpVMWFhSFN4UExCU0FRZ1VibHJwRjJsUzRTSQotUTBpWkxMdWtsOWJXR1Bic1hORXhTY255and0Tjd3a0MvbjM5dTY4cmc1UWl4S2MrWnZYZ1Y5enk3U3crZ1hSMgotSHBadmRCNHlEaFF4MEhUdzlBZTl3OUVpd3FpVmtnWi9Rd0tSdk4wakFZbVVJRVJrOVIxbjBvL29hYVVwSmVaUQotbk9QcHkzVUNnWUVBNGlrK3FtdlZXUjZjNWtmVnR0Zmo4WTZlNllOZkVKOWo3QVJFekQvNDJUb1g0RS8rMkUzTgotUmxSMHZ3ckVaNXluMklsbFRQMVlLa2NQOURlMlZiQWQ3YWM1L0UranhIVTZvNWluUmZWbXkzeGwrNEFqNXYvOQotbVIrT2EvOWVrMmJmYkcvRDlqZ3UvMm0xcks2N3huRVdhOUQ0SXRuNG9uSWcwdUk2Y0V2ZXF5OENnWUVBMmxHYgotdUxJcUZIVllRSTBuY1BveFNMQWdJVFQ2VEZlb0VZanpwNjRoNmJZcjBjMm4rTmdNaW5ZaU5VVE9QeVVwZzMxNQotcHpIVzdMSy8yalMyOXJJNzgzaGFCSU16UHFMaWdZSVQxRFVYWTV1ZXhJMlJUQU4zeDNGYjdvTnQxWGlJOWl4NQotd2txMGVaQnd2OTgwVnBaeDR3NW9rYnpxeXpQQXZrWFgvREQ5QVRzQ2dZRUEwcDhxdHpnWnh4ZVZjM2l1OWN0MQotZzM4WlM4dUcrMG9WbXJZWEJFa0hqZlptU2diMkJhZmZab0k4LzdZZFY0a3pYNXdGZFgvelhkdzBaWEtGSXFRVQotRzBIRDVOQ2VhZFhyT0hSd1E5elpVT1NYYlhQVys4aW4rclRDeEoxZEROV2ZlYk5Vd3Jkc1BYM0xMZmpFODNoYQotTXlxNERHMEcrdkppMDBMUXZjaEtwUTBDZ1lFQTFLbVFGZDYvTE1TTm5mdWh3dVNENDNsbEl0TzNTV3hObEI4aQotc1dEbk9nQ3hPS0tyRDdSc3F1ZWVOT044UUhoVHN2a2o2cUNhNm1ESWo2YXYzeWtKU3dZZU1hMFgydGpSNlRPcgotV3hnSVc0ZjRwUi85dTl6WTdaZFg1TU56MXZDZUFhYWJTSTU2dEx2bGlKSEZLdDlMdXRDTFBnT1hkeTlIZmxFTQotcm1XTjNvY0NnWUFnSkEvU3I4SW9PNWNnc3BKSjZ3bG9RTEsrMGNPRGxEUTQxc25zTkFuNVFXMWNRcFQzQlB3eQotT1dtOEhQcytZWmpBZ05nMlI4TnR3aTduZ1NvWE5HUXdUcGE3SmhhNVFUYitpdFpUZktyc09VSlE3K096QVNneQoteW0zMW1oNmZONzcrT0NBaWtZek5sUUx5VFc4YXRFUHdHZDlsd0pMbm5TOEo1K3hwcU1LUERRPT0KLS0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfdXBwZXJjYXNlLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYV91cHBlcmNhc2UuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTI2YTExLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYV91cHBlcmNhc2UuY3J0CisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCi1NSUlEaHpDQ0FtK2dBd0lCQWdJQkF6QU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSCi1NQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOCi1NVGt3TWpFeE1UTTBOVFEzV2hjTk1qa3dNakV4TVRNME5UUTNXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHCi1BMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd2dnRWlNQTBHCi1DU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4Ci1tZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55Ci01MEJ3Rk10RW9uSUx3dVZBK1Q3bHBnNnorZXhLWThDNEtRQjBuRmM3cUtVRWtISHh2WVBaUDlhbDRqd3FqKzhuCi1ZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MCi1SN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1Ci1LTkYrQWtzam9CWHlPR1ZrQ2VvTWJvNGJGNkJ4eUxPYnlhdnB3L0xQaDVhUGdBSXlucGxZYjZMVkFnTUJBQUdqCi1nWlV3Z1pJd0hRWURWUjBPQkJZRUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NR01HQTFVZEl3UmNNRnFBCi1GTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvb1Qra1BUQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdBMVVFCi1DZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEdDQVFNd0RBWURWUjBUCi1CQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUVVGQUFPQ0FRRUFGczJURE5IblNBT05oQUpjYXo0VzVnaTlHemRxCi1QZ0czMHdUZjJGV0N0Ym1ZN2IvdFBmWGkrTzh6bjQyY211VkM2bTdscDVha2lzTjM0YnViUU5qck1ZdmhrZzlvCi1QSyttSUp3OS9KeGZNWDhKWUNRYVU4VVY0Syt4YUJZOUd1OWpOaFprbHQwUlVLZ2Roci85cjIxN1I5Q2xYNVhaCi0rSEJtUUNVRzFBWGxEOHFtTXh1MlZWa2dCdWJNTFpRUXhzeTZMM2IzeDBOS1h4MFNpTzdZQlZ0RlRCOUtwd2xHCi0wUjZsc28rWGZyUUszUTBnL2tBU3lodWFhRGZJR05QdE5HK3dFZS9nQTlLM05VWTk5VHdLV3BIaHo1WWQrbWZXCi1ySmNQODlMN3RoWGl6cmlwUlQyMmIvRWxQSWdMU1lhcmpLQTMxN3drUUp4WVEzRWxrcGdOYmhhS0hnPT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYV91dGY4LmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1jYV91dGY4LmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmRhZGM3Ny4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtY2FfdXRmOC5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSURoekNDQW0rZ0F3SUJBZ0lCQXpBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1Ua3dNakV4TVRNME5URTBXaGNOTWprd01qRXhNVE0wTlRFMFdqQTdNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEcKLUNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQTN6ZjhGN3ZnbHAwL2h0NldNbjFFcFJhZ3pTSHgKLW1kVHM2c3Q4R0ZnSWxLWHNtOFdMM3hvZW1UaVpoeDU3d0kwNTN6aGRjSGdIMDU3WmsraTVjbEhGenFNd1VxbnkKLTUwQndGTXRFb25JTHd1VkErVDdscGc2eitleEtZOEM0S1FCMG5GYzdxS1VFa0hIeHZZUFpQOWFsNGp3cWorOG4KLVlNUEduOHU2N0dCOXQrYUVNcjVQKzFnbUlnTmIxTFRWKy9YamxpNXd3T1F1dmZ3dTd1SkJWY0EwTG4wa2NtbkwKLVI3RVVRSU45Wi9TRzlqR3I4WG1rc3JVdUV2bUVGL0JpYnljK0UxaXhWQTBobW5NM29URFBiNUxjOXVuOHJOc3UKLUtORitBa3Nqb0JYeU9HVmtDZW9NYm80YkY2Qnh5TE9ieWF2cHcvTFBoNWFQZ0FJeW5wbFliNkxWQWdNQkFBR2oKLWdaVXdnWkl3SFFZRFZSME9CQllFRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL01HTUdBMVVkSXdSY01GcUEKLUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9vVCtrUFRBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R0ExVUUKLUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwR0NBUU13REFZRFZSMFQKLUJBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQUtlUHlHVUM0K0VoYjEvZTBsZHdpcGo4U1paUGUKLVFFWHdVZkYyVDNLbS9CZ283dFJoQ01vUmtNYnF0R2hoV00vblZmSGxzRmo2OG5RaXN4cEd5dUZ6TWRiLzU2YVgKLVpoNUtTb2NubHZ2RmVEM25RQ1FDbG5DUmlib1JldWFzSXBIN1VyRlNMSmdrMzBPKzdtQVdITFJEM241MWhPVHkKLTUwc2VMQmdCVWJYdy93WWN4cFM3MThEVFV3OXRTdVJEeEIvdUdCNWl3aHoxbE9ubnNsTDB2c3dLYWNORmlzR2QKLTdIN1Z5bjZZUUZGdXc2VzA0VjRSekNsWEV5UFRKZzVRUk1LUit2R010b01UQ05VRytzQXd3TTVOaUFNNENEWGMKLTB2UEFMenB2bFhuZjJwaTFXV1NaU0xnR01nbjk5Tis3WFhhQTVXMUZKOTdmVHpwclRuT0c2a2wwWUE9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYS1leHAuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYS1leHAuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzVjN2RiLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EtZXhwLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRUFUQ0NBNGVnQXdJQkFnSUJEakFLQmdncWhrak9QUVFEQWpBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIREFhQmdOVkJBTU1FMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEV3SGhjTgotTVRNd05URTJNRGN4TURNM1doY05Nak13TlRFM01EY3hNRE0zV2pCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hKakFrQmdOVkJBTU1IVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0WldScAotWVhSbElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQW8xT2M4bnI2Zk1UcQotdm93VitDcEM1NWk1QlpHRkdjNTBFYjRSTEJTUlRIMWU3SmVwZEZqQVZiQnR5UVJKU2lZMWphMHRnTFFEREtaUgotd2ZFSStiNGF6c2U0NjBJblBIdjdDMVROMHVwWGx4dWo2bTlCMUlsUCtzQmFNN1dCQzZkVmZQTytqVk1JeGdrRgotQ2FCQ0xoaGRLMUZqZjhIamtUL1BrY3RXbmhvOE5Ud2l2YzkrbnFSWmpYZS9lSWNxbTVId2pERGh1K2d6K28wZwotVno5TWZaTmkxSnlDck95TlpjeStjcjJRZU5uTlZHbkZxOHhUeHR1NmRMdW5ocG1MRmoybW0wVmp3YTdZcGo1cQotQWpwcVRNdER2cWJSdVRveW95emFqaE1OY0NBZjdnd3pJdXBKSkZWZGpkdGdZQWNRd3ppa3dGNUhvSVRKenpKMgotcWd4RjdDbXZHWk5iN0c5OW1MZExkaHRjbEgzd0FRS0hZd0VHSm83WEt5TkV1SFBRZ0IrZTBjZzFTRDFIcWxBTQotdUNmR0dUV1E2bWU3QmphbjN0ME56b1RkRHE2SXBLVGVzYmFZKy85ZTJ4bjhEQ3JoQktMWFFNWkZEWnFVb0xZQQota0dQT0VHZ3ZsUG5JSVhBYXdvdXhDYU5ZRWg1VXc4NzFZTVNQVDI4ckxkRnI0OWR3WU90RGc5Zm9BOGhESVcyUAotZDZLWGJyWnRlZXN2QTFuWXpFT3MrM0FqcmJUNzlNZDJXOEJ6OWJxQlZObE5PRVNTcW00a2lDSkZtc2xtLzZicgotTnAwTVNRZCtvMjJQUTR4UnRtUDZVc1RmVTB1ZWlNcFljOFRZWWhNYmZuZkZ5bzRtNzA3ZWJjZmxQYkJFTjJkZwotdXBkUTY2Y3ZmQ0pCMFFKdDl1cGFmWTBscGRWMXFVa0NBd0VBQWFPQm9EQ0JuVEFkQmdOVkhRNEVGZ1FVT0hmWQotYTNlY0tIZUNpMDdZRzZrZTk1UVd0dzR3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCUHl2TGVMVVp2SDRreWR2NwotTm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0RBaFFiMnhoY2xOVFRERWNNQm9HQTFVRQotQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQXdHQTFVZEV3UUZNQU1CQWY4dwotQ2dZSUtvWkl6ajBFQXdJRGFBQXdaUUl4QUpIMGU0ZnlTSkkybkp0MUtuZCt5VTd6bjFqVEZEQUFCSk1ibmRoUgotMDdPU002dndVYUdTTVZhdFN6cjhhaCtVRGdJd2FJL01CY29yU3hUOTJqQVFiMVc1ZEprRXVkb1lTZzQ5ZmpBZgotejBCdExDVmhGd1FscnpDcWdYQzk4U0dmVDZzWgotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYS5jcnQgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGIyODQ2ZC4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJRUFUQ0NBNGVnQXdJQkFnSUJEakFLQmdncWhrak9QUVFEQWpBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hIREFhQmdOVkJBTU1FMUJ2YkdGeWMzTnNJRlJsYzNRZ1JVTWdRMEV3SGhjTgotTWpNd05URTNNRGN4TURNM1doY05Nek13TlRFM01EY3hNRE0zV2pCSU1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hKakFrQmdOVkJBTU1IVkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0WldScAotWVhSbElFTkJNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQW8xT2M4bnI2Zk1UcQotdm93VitDcEM1NWk1QlpHRkdjNTBFYjRSTEJTUlRIMWU3SmVwZEZqQVZiQnR5UVJKU2lZMWphMHRnTFFEREtaUgotd2ZFSStiNGF6c2U0NjBJblBIdjdDMVROMHVwWGx4dWo2bTlCMUlsUCtzQmFNN1dCQzZkVmZQTytqVk1JeGdrRgotQ2FCQ0xoaGRLMUZqZjhIamtUL1BrY3RXbmhvOE5Ud2l2YzkrbnFSWmpYZS9lSWNxbTVId2pERGh1K2d6K28wZwotVno5TWZaTmkxSnlDck95TlpjeStjcjJRZU5uTlZHbkZxOHhUeHR1NmRMdW5ocG1MRmoybW0wVmp3YTdZcGo1cQotQWpwcVRNdER2cWJSdVRveW95emFqaE1OY0NBZjdnd3pJdXBKSkZWZGpkdGdZQWNRd3ppa3dGNUhvSVRKenpKMgotcWd4RjdDbXZHWk5iN0c5OW1MZExkaHRjbEgzd0FRS0hZd0VHSm83WEt5TkV1SFBRZ0IrZTBjZzFTRDFIcWxBTQotdUNmR0dUV1E2bWU3QmphbjN0ME56b1RkRHE2SXBLVGVzYmFZKy85ZTJ4bjhEQ3JoQktMWFFNWkZEWnFVb0xZQQota0dQT0VHZ3ZsUG5JSVhBYXdvdXhDYU5ZRWg1VXc4NzFZTVNQVDI4ckxkRnI0OWR3WU90RGc5Zm9BOGhESVcyUAotZDZLWGJyWnRlZXN2QTFuWXpFT3MrM0FqcmJUNzlNZDJXOEJ6OWJxQlZObE5PRVNTcW00a2lDSkZtc2xtLzZicgotTnAwTVNRZCtvMjJQUTR4UnRtUDZVc1RmVTB1ZWlNcFljOFRZWWhNYmZuZkZ5bzRtNzA3ZWJjZmxQYkJFTjJkZwotdXBkUTY2Y3ZmQ0pCMFFKdDl1cGFmWTBscGRWMXFVa0NBd0VBQWFPQm9EQ0JuVEFkQmdOVkhRNEVGZ1FVT0hmWQotYTNlY0tIZUNpMDdZRzZrZTk1UVd0dzR3YmdZRFZSMGpCR2N3WllBVW5XMGdKRWtCUHl2TGVMVVp2SDRreWR2NwotTm55aFFxUkFNRDR4Q3pBSkJnTlZCQVlUQWs1TU1SRXdEd1lEVlFRS0RBaFFiMnhoY2xOVFRERWNNQm9HQTFVRQotQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQXdHQTFVZEV3UUZNQU1CQWY4dwotQ2dZSUtvWkl6ajBFQXdJRGFBQXdaUUl4QU9BY2grZ3o0ckhmSS9wbThNSURzc010SkNxelM2eHRPdlFISlo5bAotZmRnV2ZKVjVjU0hKcE9JV0dYZUZLS1IxOHdJd09EVFJuVElpb3krYllhY05xOFRRUGp6ZFZsVDlYYllrV0lZTgotSkF1VjlmTEpKZEI1blpVRzNsODVEdDI3Vk5rVAotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYS5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGZkNjJmMy4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhLmtleQorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS0KLU1JSUpLUUlCQUFLQ0FnRUFvMU9jOG5yNmZNVHF2b3dWK0NwQzU1aTVCWkdGR2M1MEViNFJMQlNSVEgxZTdKZXAKLWRGakFWYkJ0eVFSSlNpWTFqYTB0Z0xRRERLWlJ3ZkVJK2I0YXpzZTQ2MEluUEh2N0MxVE4wdXBYbHh1ajZtOUIKLTFJbFArc0JhTTdXQkM2ZFZmUE8ralZNSXhna0ZDYUJDTGhoZEsxRmpmOEhqa1QvUGtjdFduaG84TlR3aXZjOSsKLW5xUlpqWGUvZUljcW01SHdqRERodStneitvMGdWejlNZlpOaTFKeUNyT3lOWmN5K2NyMlFlTm5OVkduRnE4eFQKLXh0dTZkTHVuaHBtTEZqMm1tMFZqd2E3WXBqNXFBanBxVE10RHZxYlJ1VG95b3l6YWpoTU5jQ0FmN2d3ekl1cEoKLUpGVmRqZHRnWUFjUXd6aWt3RjVIb0lUSnp6SjJxZ3hGN0NtdkdaTmI3Rzk5bUxkTGRodGNsSDN3QVFLSFl3RUcKLUpvN1hLeU5FdUhQUWdCK2UwY2cxU0QxSHFsQU11Q2ZHR1RXUTZtZTdCamFuM3QwTnpvVGREcTZJcEtUZXNiYVkKLSsvOWUyeG44RENyaEJLTFhRTVpGRFpxVW9MWUFrR1BPRUdndmxQbklJWEFhd291eENhTllFaDVVdzg3MVlNU1AKLVQyOHJMZEZyNDlkd1lPdERnOWZvQThoRElXMlBkNktYYnJadGVlc3ZBMW5ZekVPcyszQWpyYlQ3OU1kMlc4QnoKLTlicUJWTmxOT0VTU3FtNGtpQ0pGbXNsbS82YnJOcDBNU1FkK28yMlBRNHhSdG1QNlVzVGZVMHVlaU1wWWM4VFkKLVloTWJmbmZGeW80bTcwN2ViY2ZsUGJCRU4yZGd1cGRRNjZjdmZDSkIwUUp0OXVwYWZZMGxwZFYxcVVrQ0F3RUEKLUFRS0NBZ0VBZ3l1eHp1U0pyQThTWUxwdElvUCtlN1lpVXFDT2Z5MVo5cTNwYUxlVUFoUm1XaWxyeEs5S3VRY2IKLUJPaFdYQ0RYdmRNcHlrWElkUzVXVnlaWUNRdHV5RWVLOGhhTklIeUtJSTJaU0IxQS8zRUpja3lzV0I5M2huRloKLWdGSHpOQUxPRzY0K2lZMzRhK1B1a2M2Tm1DdWxHQmNqakFXUjJLT2c5dnlSc2lScjJtMVRrWkhGcFc5bEpNTFoKLW1ka2tsUkRlV2hrZ0VpUHBLdjZRek1GZmt6TDltcmVnRTNWZ0VqUWZlRk5hWmxTMkhXZGRoQjV6NGkreVRmSXcKLUYxL1ZYcVZnMnk4ZGNQNFZyVjVQRVQ4TkJHUHpJbmtqMGxrMU5ldmVFMkNsMkRsVXE0Qk15V3ZVRmtRaEFMOEIKLVpkNEd6bUw5bmltWjZRYjhkVldZQy9ZVGFob0lMMytZVUNaQUdJZWN6QW82ZHJ5aGVVc2oxdzNwU0VyT0lZOVUKLWRHU3lxOUk5WFlYcWNSTmV5ZmtvTlZPWjd1Z3FrNER2TXl2NjR0dCtOSUl5OVNaR2NIdVdvM0dMMEZkS2lSNWMKLVhibjE4dEQrV3dya2EwTzFudHZ6WDFxa3dKY3B2dTUreE5WYm9ia000RGlsdW9pdk9xKzI5Q0dBTnRHMkV0N1MKLW02S0NVd1NFbEtzdnBJNGROVzRuV2NiZGo4aThnY0xpS2pxUnU5bjJCZGt2QUhhTWhWYmw5eG5wOXN2ZUdMY1IKLWlGZzZtRHNDUXVWRUg4YkdQSU1JYXYvM1ZVankxd2JNQUE1NFBzcUtNMGFUQStESG5sZVhjaFZBaE1tOWVIRDgKLXlyVjhlYjgvYmNDYld2aEREaTgwa3VSSWFEU3NZVHdNV3B6ano2TVU5djhPdUZHWlphRUNnZ0VCQU5MNDRWUTcKLTd0b2s1WGVKSmduUlYvUEdObEhLa3NjdFBNait5ZThpU0RyUnZIVmxISHF2WjI2TVpKUGdYd0hDTy9OVklXdjYKLWhmQ1lsZm1QLzYzZloxV0pxRFVEeEhPZ2pJYlB0T0lLVHNKaTNQYmJPRFZyc3ljWjN5NU9qcGJqWEtHOTdjS00KLTZSWDZ6Ym5qdEdLUGZiVUp4K2t1QU94bWtGTGlMSkdObExxemFKYWZrZ1dqVUFWL25UNlFtMjY2M21zZlovTWQKLTd1REZETk9UYlBTNzRraTVKVGpsajh4bXhBUGNueGpOSjJpakRRN2VpQ0FtNkpvekpZeTlQWWl4bXVTY0ZGMngKLUQyTjZFOS9KV1VjWWV6eWJVZ09MemJ3enZKa0NSSm9CWGowOUY4Y2IzbTZaUTA0bjJwZVFnLzBibjZIVVZvdkYKLW9wWkpXOXVaVFJtRmFlMENnZ0VCQU1ZdmVCbllSWHlXcUVOZjhQWjh4bHFpT3ZKQkFSYUlZUU9QeTF0NExlT3YKLXQ0c3N2a1NKUEVHMHRQMklUNnB0ZWNOTjlDVlJkUEpuN3RzZ3ZqZ1B2cWd5bUxsYXc4RGhlRlMzRUs0c0ZkMGEKLVNJd3JZY1hZOGZ5QUZ1R2JiY3gySlRmbXh3TEdZWGVXRzRNRGtjWWN0VWhYaU9iTWIwWUkyZVhsVHU0SlhxSkgKLXExbXlsN3BpM2d1eDdKY0ZqcjBBTmg5bURPWVh6TDUyV3FaT2JhVlVVTm44cC9hTldwYXRpOVo5UEwydUpOeFkKLW15WmJUcVdHVHBaOFhsWm5aWWc4YkhWSkdvYzcvc2VTREVuU3JlR1F0WGw2TXJuc045YkRVNlVodWZJMGlBaUgKLWZDZUVMcHhqQnB2WmkyVHpZbmx0WCsyMWYzb1VYdXJYVDRlWVBKbTZZVTBDZ2dFQkFJckpVU3BodHZKb3ZVL1MKLXVHUlRCRUlJemVrbWswSldIeHUyaVU4NFJUMzBoYjdRd2xodkZXTGpGck0xTWlydEJSVkJscGY3R2F1NkpVY2sKLWxMVmtOdzFOWG90cHJBM0l1MGxnVUlVMjlMTHA2S1M0ZUJTa2dobWg2bkVER3NobVQ2VFRWaHJiS2ViY3RBT3EKLXFSc0JmRmZoVkZLd2dja0NlOFVhcHVrbHM0YlN5V1gxR1ZGK0t3RkMvMFdPU2NJaFNubzhFZDBjZnUzOGswQ0kKLVJuQUZQWXBMeWhIUTZyVXprWlZjeUlpL1JVS1BxT0owUUNhdWtld0c0NWZmVWlDZmZkOFFVbEdFVGpSSnRkTk4KLUdOOHRXcnozREkvcW8zQkF0THdQZ3VPeExMYXFmdjdyOVhyYWRpMXZDRjBXbzgyWkkzMkpPMW45ck1TakE3dkYKLThMTnVVYzBDZ2dFQWVkQlBoOE13NHFWUGd5b0RWOTNWcFh1MXM1VlU3OTZma3FyZG1ibENxNElqMUwySnJXS1UKLTBPWWJvUUlaeFcxSXZFeTcxZnc5WDRtV2ZNV2haWi8zMWpaVFBRcVc2NFVxaXhlQ2Z5dkZ2SU1kT0ZxcDNBdSsKLW9TNng0YlhCUlQwUkgwMFA0WnJCNmRrdnk5Vnowa3R1K2Fva0VZaHlsSjk0SHlCVTVXYUk3a0lUQmkwSnFaeC8KLVVyem42T09YbW4vNHhFL2JlY29ESk1abWJYWWpXczE2YktJcE14Z3JLQlkvcjNTRzB5ZW9yRzhoM2UrZFpZd3AKLTNjRlAwdGYyeGtndGVlR1hGcXcvcTdjUEtvaitLM2pnc212enBlZVZZc0hvTmNXSEgySStncytUOWszK3dFejEKLWtQR2tCa2E2cmx3VjdHdjBrTHJZcEl2MjdDY2NpSGpRdVFLQ0FRQWN0UU0zRFRDM3B6RXd3UGVZTW5TWEw5L3MKLXVEcWJqM01WNkg4ZnhQSUdKV2ZwRHN0N25XWGhUODF1S0c2ZlltZWc1WjZuSlhmUDBkVUY1VHBXMXprNlZHd24KLXQvY2g2VTdIWXBzZVpzeXdkWlBWSW8vdXBna293WFNsNm1mcXl4ekduZ1h1T1JoNHpoUnBjbjRHVHd6SEcyVGUKLXhOcU1FYi9pL0lXbnZ0ZnZ5ZmhFQmV3SmNNcjlOcHdyZzYxNXBDaVo4eTNjanZKZi9nbDBjR1o1TEl1V0JRQjUKLUYxNkp4RjNtbTFYQ3VrVFhaTzkwdmczWTFKeGVCK1lZeUYrMWFRTCtEZ3ZoR1pOUnJHckJUL1F1WFFwaU1DTWYKLVZNOW9aVnJJN2NZVk5uUEJFb0hWY3lQMjFOUTVBV29GVGFTcE1KaUhaNEZCaWUwQkdPNklrek1jRzIzcgotLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmNydCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmNydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBmMzliOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUM2VENDQWRHZ0F3SUJBZ0lCRHpBTkJna3Foa2lHOXcwQkFRc0ZBREE3TVFzd0NRWURWUVFHRXdKT1RERVIKLU1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY04KLU1qTXdOVEUzTURreU56QXlXaGNOTXpNd05URTNNRGt5TnpBeVdqQkxNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4S1RBbkJnTlZCQU1NSUZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFOE9paDNmWDVTTGVOMWRtRm5jUWwKLVdNdzkrWTZzWGJsaGxyWEJ4aFh4andkd3BDSEVObitmb1VWZHJxWVZZYTdTdXYzUVZlTzZuSjE5SDNRTml4VzgKLWlrMVAraHhzYmFxOGJ0YTc4dkF5SG1DNEVtWFFMZzF3N294YjlRODJxWDFZbzRHVk1JR1NNQjBHQTFVZERnUVcKLUJCUVBpYjFqUWV2TFhoY28vMmd3UGNHSTBKeFlPVEJqQmdOVkhTTUVYREJhZ0JTMFd1U2xzOTdTVXZhNTFhYVYKLUQrcyt2TWY5LzZFL3BEMHdPekVMTUFrR0ExVUVCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sa3cKLUZ3WURWUVFEREJCUWIyeGhjbE5UVENCVVpYTjBJRU5CZ2dFRE1Bd0dBMVVkRXdRRk1BTUJBZjh3RFFZSktvWkkKLWh2Y05BUUVMQlFBRGdnRUJBSFROMFVSclAyTXB3RDh2T0R5bWpqcTdpYUI3V0ZaNENXVWp4OUxXdTNQUFpiWDIKLTEyTXh6a3lGYVZSN3JuUEtaU0ZISkpFbU5hUERKV3dZaEdRUlhMQ29ENk5pSnk2RGU0ZmE1Z1NZb1h0aFJHRmYKLUduRlhadTNlMzdHREtvS1A4N1RaK1ZYY3l4NlBIdlB4SkIzLzlOOTRWajJZaDNoQ3M3RjcyR213ZkR3dzZvb2oKLXdoSXFoeEJZT2hQbGVBTnM3MEZaN1k3dGpaVjFSdFExLzlzUmNieXY5T3ZkUHVXdnVrQlZxMUtNNm5xVkhCWjMKLS80a0hCV2FGYVdNcS9BQXhNeGFUR0ZBT0E4UzJ5VTU2amtCNjV2aVFycFFRV2ZmQkpXSytXZnJjZ3hSV3FSMzMKLWhxRzN5VDFJV2JKNUUxMVhMOVRDS0QrRFJlcWVYSHlZYXd4OGZCVT0KLS0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmtleSBiL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmtleQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRmNWI3YS4uMDAwMDAwMAotLS0gYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5rZXkKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLS0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQotTUlHa0FnRUJCREF0eE9IVVY0YmUxTWRIMWZyQkh6eElUQ3lVU3hyVmpKTjhRVHZUVms1NThrYTBhM3poZDRQYgotZWtXdDd3QlBYUWVnQndZRks0RUVBQ0toWkFOaUFBVHc2S0hkOWZsSXQ0M1YyWVdkeENWWXpEMzVqcXhkdVdHVwotdGNIR0ZmR1BCM0NrSWNRMmY1K2hSVjJ1cGhWaHJ0SzYvZEJWNDdxY25YMGZkQTJMRmJ5S1RVLzZIR3h0cXJ4dQotMXJ2eThESWVZTGdTWmRBdURYRHVqRnYxRHphcGZWZz0KLS0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EzLWJhZHNpZ24uY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYTMtYmFkc2lnbi5jcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMzYzMTUuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYTMtYmFkc2lnbi5jcnQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KLU1JSUJzekNDQVRxZ0F3SUJBZ0lCVFRBS0JnZ3Foa2pPUFFRREFqQkxNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEcKLUExVUVDZ3dJVUc5c1lYSlRVMHd4S1RBbkJnTlZCQU1NSUZCdmJHRnlVMU5NSUZSbGMzUWdTVzUwWlhKdFpXUnAKLVlYUmxJRVZESUVOQk1CNFhEVEl6TURVeE56QTNNVEF6TjFvWERUTXpNRFV4TnpBM01UQXpOMW93U2pFTE1Ba0cKLUExVUVCaE1DVlVzeEVUQVBCZ05WQkFvTUNHMWlaV1FnVkV4VE1TZ3dKZ1lEVlFRRERCOXRZbVZrSUZSTVV5QlUKLVpYTjBJR2x1ZEdWeWJXVmthV0YwWlNCRFFTQXpNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUKLTczMmZXSExOUE1Qc1AxVTFpYlh2YjU1ZXJsRVZNbHBYQkdzaitLWXdWcVUxWENtVzlaOWhoUDdYLzVqcy9EWDkKLTJKL3V0b0h5alV0VnBRT3pkVHJic2FNUU1BNHdEQVlEVlIwVEJBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRREFnTm4KLUFEQmtBakFaeDhrMHErRHRUL0xKZDFGalBjRy9wZW9RRGZNQkwyalMvNlB3eFcrMytaUE1wSFpuMHIrSnBDYUYKLStWL3NNOWtDTUdxY3hRd3gvYnNNYUsweTl6cXNoQzcvUzVoVmxBK1dSVnlNZkVHSm1YbmZiZHdoNkNCeUtJd3YKLTFHUmU4NmRnMTA9PQotLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYTMuY3J0IGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYTMuY3J0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWE2NGIxLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EzLmNydAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQotTUlJQnN6Q0NBVHFnQXdJQkFnSUJUVEFLQmdncWhrak9QUVFEQWpCTE1Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4RwotQTFVRUNnd0lVRzlzWVhKVFUwd3hLVEFuQmdOVkJBTU1JRkJ2YkdGeVUxTk1JRlJsYzNRZ1NXNTBaWEp0WldScAotWVhSbElFVkRJRU5CTUI0WERUSXpNRFV4TnpBM01UQXpOMW9YRFRNek1EVXhOekEzTVRBek4xb3dTakVMTUFrRwotQTFVRUJoTUNWVXN4RVRBUEJnTlZCQW9NQ0cxaVpXUWdWRXhUTVNnd0pnWURWUVFEREI5dFltVmtJRlJNVXlCVQotWlhOMElHbHVkR1Z5YldWa2FXRjBaU0JEUVNBek1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRQotNzMyZldITE5QTVBzUDFVMWliWHZiNTVlcmxFVk1scFhCR3NqK0tZd1ZxVTFYQ21XOVo5aGhQN1gvNWpzL0RYOQotMkovdXRvSHlqVXRWcFFPemRUcmJzYU1RTUE0d0RBWURWUjBUQkFVd0F3RUIvekFLQmdncWhrak9QUVFEQWdObgotQURCa0FqQVp4OGswcStEdFQvTEpkMUZqUGNHL3Blb1FEZk1CTDJqUy82UHd4VyszK1pQTXBIWm4wcitKcENhRgotK1Yvc005a0NNR3FjeFF3eC9ic01hSzB5OXpxc2hDNy9TNWhWbEErV1JWeU1mRUdKbVhuZmJkd2g2Q0J5S0l3dgotMUdSZTg2ZGcxQT09Ci0tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMy5rZXkgYi90ZXN0cy9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMy5rZXkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiY2M3MTEuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0LWludC1jYTMua2V5CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0tLS0tLUJFR0lOIEVDIFBBUkFNRVRFUlMtLS0tLQotQmdncWhrak9QUU1CQnc9PQotLS0tLS1FTkQgRUMgUEFSQU1FVEVSUy0tLS0tCi0tLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KLU1IY0NBUUVFSUM5elR0OGpnakJsYnErcUNzR2o2dWNsYUtMWUJxeFlTbVVpdUJkTTFLRzlvQW9HQ0NxR1NNNDkKLUF3RUhvVVFEUWdBRTczMmZXSExOUE1Qc1AxVTFpYlh2YjU1ZXJsRVZNbHBYQkdzaitLWXdWcVUxWENtVzlaOWgKLWhQN1gvNWpzL0RYOTJKL3V0b0h5alV0VnBRT3pkVHJic1E9PQotLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90ZXN0X2NlcnRzLmguamluamEyIGIvdGVzdHMvZGF0YV9maWxlcy90ZXN0X2NlcnRzLmguamluamEyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTY0YjNhLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL2RhdGFfZmlsZXMvdGVzdF9jZXJ0cy5oLmppbmphMgorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiAgWC41MDkgdGVzdCBjZXJ0aWZpY2F0ZXMKLSAqCi0gKiAgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0gKi8KLQotLyogVEhJUyBGSUxFIGlzIGdlbmVyYXRlZCBieSBgdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2NlcnRfbWFjcm9zLnB5YCAqLwotLyogKklOREVOVC1PRkYqICovCi0KLXslIGZvciBtb2RlLCBuYW1lLCB2YWx1ZSBpbiBtYWNyb3MgJX0KLSAgICB7JSBpZiBtb2RlID09ICdzdHJpbmcnICV9Ci0vKiBUaGlzIGlzIHRha2VuIGZyb20ge3t2YWx1ZX19LiAqLwotLyogQkVHSU4gRklMRSBzdHJpbmcgbWFjcm8ge3tuYW1lfX0ge3t2YWx1ZX19ICovCi0jZGVmaW5lIHt7bmFtZX19e3sgJ1xcJyB8IHB1dF90b19jb2x1bW4ocG9zaXRpb249ODAtOS1uYW1lfGxlbmd0aCl9fQotICAgICAgICB7JSBmb3IgbGluZSBpbiB2YWx1ZSB8IHJlYWRfbGluZXMgJX0KLSAgICAie3tsaW5lfX1cclxuInslIGlmIG5vdCBsb29wLmxhc3QgJX17eyAnXFwnIHwgcHV0X3RvX2NvbHVtbihwb3NpdGlvbj04MC0xMC0xLWxpbmV8bGVuZ3RoKX19Ci0gICAgICAgIHslIGVuZGlmICV9Ci0gICAgICAgIHslIGVuZGZvciAlfQotCi0vKiBFTkQgRklMRSAqLwotICAgIHslIGVuZGlmICV9Ci0gICAgeyUgaWYgbW9kZSA9PSAnYmluYXJ5JyAlfQotLyogVGhpcyBpcyBnZW5lcmF0ZWQgZnJvbSB7e3ZhbHVlfX0uICovCi0vKiBCRUdJTiBGSUxFIGJpbmFyeSBtYWNybyB7e25hbWV9fSB7e3ZhbHVlfX0gKi8KLSNkZWZpbmUge3tuYW1lfX0geyUgcmF3IC0lfSB7IHslLSBlbmRyYXcgJX0ge3sgJ1xcJyB8IHB1dF90b19jb2x1bW4ocG9zaXRpb249ODAtMTEtbmFtZXxsZW5ndGgpfX0KLSAgICAgICAgeyUgZm9yIGxpbmUgaW4gdmFsdWUgfCByZWFkX2FzX2NfYXJyYXkgJX0KLSAgICAgICAgICAgIHslIGlmIG5vdCBsb29wLmxhc3QgJX0KLSAgICAgICAge3tsaW5lfX0se3sgJ1xcJyB8IHB1dF90b19jb2x1bW4ocG9zaXRpb249ODAtOS1saW5lfGxlbmd0aCl9fQotICAgICAgICAgICAgeyUgZWxzZSAlfQotICAgICAgICB7e2xpbmV9fXt7ICdcXCcgfCBwdXRfdG9fY29sdW1uKHBvc2l0aW9uPTgwLTgtbGluZXxsZW5ndGgpfX0KLSAgICAgICAgICAgIHslIGVuZGlmICV9Ci0gICAgICAgIHslIGVuZGZvciAlfQoteyUgcmF3IC0lfSB9IHslLSBlbmRyYXcgJX0KLQotLyogRU5EIEZJTEUgKi8KLSAgICB7JSBlbmRpZiAlfQotICAgIHslIGlmIG1vZGUgPT0gJ3Bhc3N3b3JkJyAlfQotI2RlZmluZSB7e25hbWV9fSAie3t2YWx1ZX19IgotICAgIHslIGVuZGlmICV9Ci0KLXslIGVuZGZvciAlfQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YV9maWxlcy90bHMxM19lYXJseV9kYXRhLnR4dCBiL3Rlc3RzL2RhdGFfZmlsZXMvdGxzMTNfZWFybHlfZGF0YS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1ODExZmQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZGF0YV9maWxlcy90bHMxM19lYXJseV9kYXRhLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotRWFybHlEYXRhIGNvbnRleHQ6IGxpbmUgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZgotRWFybHlEYXRhIGNvbnRleHQ6IGxpbmUgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZgotRWFybHlEYXRhIGNvbnRleHQ6IGxpbmUgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZgotRWFybHlEYXRhIGNvbnRleHQ6IElmIGl0IGFwcGVhcnMsIHRoYXQgbWVhbnMgZWFybHlfZGF0YSByZWNlaXZlZC4KZGlmZiAtLWdpdCBhL3Rlc3RzL2luY2x1ZGUvdGVzdC9iaWdudW1fY29kZXBhdGhfY2hlY2suaCBiL3Rlc3RzL2luY2x1ZGUvdGVzdC9iaWdudW1fY29kZXBhdGhfY2hlY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDcyYmUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvaW5jbHVkZS90ZXN0L2JpZ251bV9jb2RlcGF0aF9jaGVjay5oCkBAIC0wLDAgKzEsOTQgQEAKKy8qKiBTdXBwb3J0IGZvciBwYXRoIHRyYWNraW5nIGluIG9wdGlvbmFsbHkgc2FmZSBiaWdudW0gZnVuY3Rpb25zCisgKgorICogVGhlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIHdoZW4gYW4gb3B0aW9uYWxseSBzYWZlIHBhdGggaXMgdGFrZW4gYW5kIGxvZ3MgaXQgd2l0aCBhIHNpbmdsZQorICogdmFyaWFibGUuIFRoaXMgdmFyaWFibGUgaXMgYXQgYW55IHRpbWUgaW4gb25lIG9mIHRocmVlIHN0YXRlczoKKyAqICAgICAgLSBNQkVEVExTX01QSV9JU19URVNUOiBObyBvcHRpb25hbGx5IHNhZmUgcGF0aCBoYXMgYmVlbiB0YWtlbiBzaW5jZSB0aGUgbGFzdCByZXNldAorICogICAgICAtIE1CRURUTFNfTVBJX0lTX1NFQ1JFVDogT25seSBzYWZlIHBhdGhzIHdlcmUgdGVrZW4gc2luY2UgdGhlIGxhc3QgcmVzZXQKKyAqICAgICAgLSBNQkVEVExTX01QSV9JU19QVUJMSUM6IEF0IGxlYXN0IG9uZSB1bnNhZmUgcGF0aCBoYXMgYmVlbiB0YWtlbiBzaW5jZSB0aGUgbGFzdCByZXNldAorICoKKyAqIFVzZSBhIHNpbXBsZSBnbG9iYWwgdmFyaWFibGUgdG8gdHJhY2sgZXhlY3V0aW9uIHBhdGguIE1ha2luZyBpdCB3b3JrIHdpdGggbXVsdGl0aHJlYWRpbmcKKyAqIGlzbid0IHdvcnRoIHRoZSBlZmZvcnQgYXMgbXVsdGl0aHJlYWRlZCB0ZXN0cyBhZGQgbGl0dGxlIHRvIG5vIHZhbHVlIGhlcmUuCisgKi8KKy8qCisgKiAgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKKyAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCisgKi8KKworI2lmbmRlZiBCSUdOVU1fQ09ERVBBVEhfQ0hFQ0tfSAorI2RlZmluZSBCSUdOVU1fQ09ERVBBVEhfQ0hFQ0tfSAorCisjaW5jbHVkZSAiYmlnbnVtX2NvcmUuaCIKKworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorCitleHRlcm4gaW50IG1iZWR0bHNfY29kZXBhdGhfY2hlY2s7CisKKy8qKgorICogXGJyaWVmICAgICAgICAgU2V0dXAgdGhlIGNvZGVwYXRoIHRlc3QgaG9va3MgdXNlZCBieSBvcHRpb25hbGx5IHNhZmUgYmlnbnVtIGZ1bmN0aW9ucyB0byBzaWduYWwKKyAqICAgICAgICAgICAgICAgIHRoZSBwYXRoIHRha2VuLgorICovCit2b2lkIG1iZWR0bHNfY29kZXBhdGhfdGVzdF9ob29rc19zZXR1cCh2b2lkKTsKKworLyoqCisgKiBcYnJpZWYgICAgICAgICBUZWFyZG93biB0aGUgY29kZXBhdGggdGVzdCBob29rcyB1c2VkIGJ5IG9wdGlvbmFsbHkgc2FmZSBiaWdudW0gZnVuY3Rpb25zIHRvCisgKiAgICAgICAgICAgICAgICBzaWduYWwgdGhlIHBhdGggdGFrZW4uCisgKi8KK3ZvaWQgbWJlZHRsc19jb2RlcGF0aF90ZXN0X2hvb2tzX3RlYXJkb3duKHZvaWQpOworCisvKioKKyAqIFxicmllZiAgICAgICAgIFJlc2V0IHRoZSBzdGF0ZSBvZiB0aGUgY29kZXBhdGggdG8gdGhlIGluaXRpYWwgc3RhdGUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBtYmVkdGxzX2NvZGVwYXRoX3Jlc2V0KHZvaWQpCit7CisgICAgbWJlZHRsc19jb2RlcGF0aF9jaGVjayA9IE1CRURUTFNfTVBJX0lTX1RFU1Q7Cit9CisKKy8qKiBDaGVjayB0aGUgY29kZXBhdGggdGFrZW4gYW5kIGZhaWwgaWYgaXQgZG9lc24ndCBtYXRjaC4KKyAqCisgKiBXaGVuIGEgZnVuY3Rpb24gcmV0dXJucyB3aXRoIGFuIGVycm9yLCBpdCBjYW4gZG8gc28gYmVmb3JlIHJlYWNoaW5nIGFueSBpbnRlcmVzdGluZyBjb2RlcGF0aC4gVGhlCisgKiBzYW1lIGNhbiBoYXBwZW4gaWYgYSBwYXJhbWV0ZXIgdG8gdGhlIGZ1bmN0aW9uIGlzIHplcm8uIEluIHRoZXNlIGNhc2VzIHdlIG5lZWQgdG8gYWxsb3cKKyAqIHRoZSBjb2RlcGF0aCB0cmFja2luZyB2YXJpYWJsZSB0byBzdGlsbCBoYXZlIGl0cyBpbml0aWFsICJub3Qgc2V0IiB2YWx1ZS4KKyAqCisgKiBUaGlzIG1hY3JvIGV4cGFuZHMgdG8gYW4gaW5zdHJ1Y3Rpb24sIG5vdCBhbiBleHByZXNzaW9uLgorICogSXQgbWF5IGp1bXAgdG8gdGhlIFxjIGV4aXQgbGFiZWwuCisgKgorICogXHBhcmFtIHBhdGggICAgICBUaGUgZXhwZWN0ZWQgY29kZXBhdGguCisgKiAgICAgICAgICAgICAgICAgIFRoaXMgZXhwcmVzc2lvbiBtYXkgYmUgZXZhbHVhdGVkIG11bHRpcGxlIHRpbWVzLgorICogXHBhcmFtIHJldCAgICAgICBUaGUgZXhwZWN0ZWQgcmV0dXJuIHZhbHVlLgorICogXHBhcmFtIEUgICAgICAgICBUaGUgTVBJIHBhcmFtZXRlciB0aGF0IGNhbiBjYXVzZSBzaG9ydGN1dHMuCisgKi8KKyNkZWZpbmUgQVNTRVJUX0JJR05VTV9DT0RFUEFUSChwYXRoLCByZXQsIEUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKChyZXQpICE9IDAgfHwgKEUpLm4gPT0gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfY29kZXBhdGhfY2hlY2sgPT0gKHBhdGgpIHx8ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfY29kZXBhdGhfY2hlY2sgPT0gTUJFRFRMU19NUElfSVNfVEVTVCk7IFwKKyAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIFRFU1RfRVFVQUwobWJlZHRsc19jb2RlcGF0aF9jaGVjaywgKHBhdGgpKTsgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorCisvKiogQ2hlY2sgdGhlIGNvZGVwYXRoIHRha2VuIGFuZCBmYWlsIGlmIGl0IGRvZXNuJ3QgbWF0Y2guCisgKgorICogV2hlbiBhIGZ1bmN0aW9uIHJldHVybnMgd2l0aCBhbiBlcnJvciwgaXQgY2FuIGRvIHNvIGJlZm9yZSByZWFjaGluZyBhbnkgaW50ZXJlc3RpbmcgY29kZXBhdGguIEluCisgKiB0aGlzIGNhc2Ugd2UgbmVlZCB0byBhbGxvdyB0aGUgY29kZXBhdGggdHJhY2tpbmcgdmFyaWFibGUgdG8gc3RpbGwgaGF2ZSBpdHMKKyAqIGluaXRpYWwgIm5vdCBzZXQiIHZhbHVlLgorICoKKyAqIFRoaXMgbWFjcm8gZXhwYW5kcyB0byBhbiBpbnN0cnVjdGlvbiwgbm90IGFuIGV4cHJlc3Npb24uCisgKiBJdCBtYXkganVtcCB0byB0aGUgXGMgZXhpdCBsYWJlbC4KKyAqCisgKiBccGFyYW0gcGF0aCAgICAgIFRoZSBleHBlY3RlZCBjb2RlcGF0aC4KKyAqICAgICAgICAgICAgICAgICAgVGhpcyBleHByZXNzaW9uIG1heSBiZSBldmFsdWF0ZWQgbXVsdGlwbGUgdGltZXMuCisgKiBccGFyYW0gcmV0ICAgICAgIFRoZSBleHBlY3RlZCByZXR1cm4gdmFsdWUuCisgKi8KKyNkZWZpbmUgQVNTRVJUX1JTQV9DT0RFUEFUSChwYXRoLCByZXQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKChyZXQpICE9IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfY29kZXBhdGhfY2hlY2sgPT0gKHBhdGgpIHx8ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfY29kZXBhdGhfY2hlY2sgPT0gTUJFRFRMU19NUElfSVNfVEVTVCk7IFwKKyAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIFRFU1RfRVFVQUwobWJlZHRsc19jb2RlcGF0aF9jaGVjaywgKHBhdGgpKTsgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorI2VuZGlmIC8qIE1CRURUTFNfVEVTVF9IT09LUyAmJiAhTUJFRFRMU19USFJFQURJTkdfQyAqLworCisjZW5kaWYgLyogQklHTlVNX0NPREVQQVRIX0NIRUNLX0ggKi8KZGlmZiAtLWdpdCBhL3Rlc3RzL2luY2x1ZGUvdGVzdC9kcml2ZXJzL2NyeXB0b19jb25maWdfdGVzdF9kcml2ZXJfZXh0ZW5zaW9uLmggYi90ZXN0cy9pbmNsdWRlL3Rlc3QvZHJpdmVycy9jcnlwdG9fY29uZmlnX3Rlc3RfZHJpdmVyX2V4dGVuc2lvbi5oCmluZGV4IGRhYzA3YWMuLjY2Mzc4ZTcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2luY2x1ZGUvdGVzdC9kcml2ZXJzL2NyeXB0b19jb25maWdfdGVzdF9kcml2ZXJfZXh0ZW5zaW9uLmgKKysrIGIvdGVzdHMvaW5jbHVkZS90ZXN0L2RyaXZlcnMvY3J5cHRvX2NvbmZpZ190ZXN0X2RyaXZlcl9leHRlbnNpb24uaApAQCAtMSw5ICsxLDI0IEBACiAvKioKLSAqIFRoaXMgZmlsZSBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIGJ1aWxkIFBTQSB0ZXN0IGRyaXZlciBsaWJyYXJpZXMuIEl0IGlzCi0gKiBpbnRlbmRlZCB0byBiZSBhcHBlbmRlZCBieSB0aGUgdGVzdCBidWlsZCBzeXN0ZW0gdG8gdGhlIGNyeXB0b19jb25maWcuaCBmaWxlCi0gKiBvZiB0aGUgTWJlZCBUTFMgbGlicmFyeSB0aGUgdGVzdCBsaWJyYXJ5IHdpbGwgYmUgbGlua2VkIHRvLiBJdCBtaXJyb3JzIHRoZQotICogUFNBX0FDQ0VMXyogbWFjcm9zIGRlZmluaW5nIHRoZSBjcnlwdG9ncmFwaGljIG9wZXJhdGlvbnMgdGhlIHRlc3QgbGlicmFyeQotICogc3VwcG9ydHMuCisgKiBUaGlzIGZpbGUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCB0byBidWlsZCBQU0EgZXh0ZXJuYWwgdGVzdCBkcml2ZXIKKyAqIGxpYnJhcmllcyAobGlidGVzdGRyaXZlcjEpLgorICoKKyAqIEl0IGlzIGludGVuZGVkIHRvIGJlIGFwcGVuZGVkIGJ5IHRoZSB0ZXN0IGJ1aWxkIHN5c3RlbSB0byB0aGUKKyAqIGNyeXB0b19jb25maWcuaCBmaWxlIG9mIHRoZSBNYmVkIFRMUyBsaWJyYXJ5IHRoZSB0ZXN0IGxpYnJhcnkgd2lsbCBiZQorICogbGlua2VkIHRvIChzZWUgYHRlc3RzL01ha2VmaWxlYCBsaWJ0ZXN0ZHJpdmVyMSB0YXJnZXQpLiBUaGlzIGlzIGRvbmUgaW4KKyAqIG9yZGVyIHRvIGluc2VydCBpdCBhdCB0aGUgcmlnaHQgdGltZTogYWZ0ZXIgdGhlIG1haW4gY29uZmlndXJhdGlvbgorICogKFBTQV9XQU5UKSBidXQgYmVmb3JlIHRoZSBsb2dpYyB0aGF0IGRldGVybWluZXMgd2hhdCBidWlsdC1pbnMgdG8gZW5hYmxlCisgKiBiYXNlZCBvbiBQU0FfV0FOVCBhbmQgTUJFRFRMU19QU0FfQUNDRUwgbWFjcm9zLgorICoKKyAqIEl0IHJldmVyc2VzIHRoZSBQU0FfQUNDRUxfKiBtYWNyb3MgZGVmaW5pbmcgdGhlIGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9ucworICogdGhhdCB3aWxsIGJlIGFjY2VsZXJhdGVkIGluIHRoZSBtYWluIGxpYnJhcnk6CisgKiAtIFdoZW4gc29tZXRoaW5nIGlzIGFjY2VsZXJhdGVkIGluIHRoZSBtYWluIGxpYnJhcnksIHdlIG5lZWQgaXQgc3VwcG9ydGVkCisgKiAgIGluIGxpYnRlc3Rkcml2ZXIxLCBzbyB3ZSBkaXNhYmxlIHRoZSBhY2NlbCBtYWNybyBpbiBvcmRlciB0byB0aGUgYnVpbHQtaW4KKyAqICAgdG8gYmUgZW5hYmxlZC4KKyAqIC0gV2hlbiBzb21ldGhpbmcgaXMgTk9UIGFjY2VsZXJhdGVkIGluIHRoZSBtYWluIGxpYnJhcnksIHdlIGRvbid0IG5lZWQgaXQKKyAqICAgaW4gbGlidGVzdGRyaXZlcjEsIHNvIHdlIGVuYWJsZSBpdHMgYWNjZWwgbWFjcm8gaW4gb3JkZXIgdG8gdGhlIGJ1aWx0LWluCisgKiAgIHRvIGJlIGRpc2FibGVkLCB0byBrZWVwIGxpYnRlc3Rkcml2ZXIxIG1pbmltYWwuIChXZSBjYW4ndCBhZGp1c3QgdGhlCisgKiAgIFBTQV9XQU5UIG1hY3JvcyBhcyB0aGV5IG5lZWQgdG8gYmUgdGhlIHNhbWUgYmV0d2VlbiBsaWJ0ZXN0ZHJpdmVyMSBhbmQKKyAqICAgdGhlIG1haW4gbGlicmFyeSwgc2luY2UgdGhleSBkZXRlcm1pbmUgdGhlIEFCSSBiZXR3ZWVuIHRoZSB0d28uKQogICovCiAKICNpbmNsdWRlICJwc2EvY3J5cHRvX2xlZ2FjeS5oIgpkaWZmIC0tZ2l0IGEvdGVzdHMvaW5jbHVkZS90ZXN0L3BzYV9jcnlwdG9faGVscGVycy5oIGIvdGVzdHMvaW5jbHVkZS90ZXN0L3BzYV9jcnlwdG9faGVscGVycy5oCmluZGV4IDczMDZkOGUuLjgyZjMzM2MgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2luY2x1ZGUvdGVzdC9wc2FfY3J5cHRvX2hlbHBlcnMuaAorKysgYi90ZXN0cy9pbmNsdWRlL3Rlc3QvcHNhX2NyeXB0b19oZWxwZXJzLmgKQEAgLTExLDExICsxMSwxNCBAQAogCiAjaW5jbHVkZSAidGVzdC9oZWxwZXJzLmgiCiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DKQorI2lmIChNQkVEVExTX1ZFUlNJT05fTUFKT1IgPCA0ICYmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0MpKSB8fCBcCisgICAgKE1CRURUTFNfVkVSU0lPTl9NQUpPUiA+PSA0ICYmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVCkpCiAjaW5jbHVkZSAidGVzdC9wc2FfaGVscGVycy5oIgogI2luY2x1ZGUgPHBzYS9jcnlwdG8uaD4KICNlbmRpZgogCisjaW5jbHVkZSA8bWJlZHRscy9jdHJfZHJiZy5oPgorCiAjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQykKIC8qKiBJbml0aWFsaXplIHRoZSBQU0EgQ3J5cHRvIHN1YnN5c3RlbS4gKi8KICNkZWZpbmUgUFNBX0lOSVQoKSBQU0FfQVNTRVJUKHBzYV9jcnlwdG9faW5pdCgpKQpAQCAtMzgsMTIgKzQxLDE2IEBACiAgICAgICAgIG1iZWR0bHNfcHNhX2NyeXB0b19mcmVlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgd2hpbGUgKDApCi0jZWxzZSAvKk1CRURUTFNfUFNBX0NSWVBUT19DICovCisjZWxpZiBNQkVEVExTX1ZFUlNJT05fTUFKT1IgPj0gNCAmJiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DTElFTlQpCisjZGVmaW5lIFBTQV9JTklUKCkgUFNBX0FTU0VSVChwc2FfY3J5cHRvX2luaXQoKSkKKyNkZWZpbmUgUFNBX0RPTkUoKSBtYmVkdGxzX3BzYV9jcnlwdG9fZnJlZSgpOworI2Vsc2UgIC8qIE1CRURUTFNfUFNBX0NSWVBUT19DTElFTlQgJiYgIU1CRURUTFNfUFNBX0NSWVBUT19DICovCiAjZGVmaW5lIFBTQV9JTklUKCkgKCh2b2lkKSAwKQogI2RlZmluZSBQU0FfRE9ORSgpICgodm9pZCkgMCkKICNlbmRpZiAvKiBNQkVEVExTX1BTQV9DUllQVE9fQyAqLwogCi0jaWYgZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQykKKyNpZiAoTUJFRFRMU19WRVJTSU9OX01BSk9SIDwgNCAmJiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DKSkgfHwgXAorICAgIChNQkVEVExTX1ZFUlNJT05fTUFKT1IgPj0gNCAmJiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DTElFTlQpKQogCiAjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DKQogCkBAIC0yNTEsMTUgKzI1OCwxNSBAQAogI2lmIGRlZmluZWQoTUJFRFRMU19BRVNfQUxUKSB8fCBcCiAgICAgZGVmaW5lZChNQkVEVExTX0FFU19TRVRLRVlfRU5DX0FMVCkgfHwgXAogICAgIGRlZmluZWQoTUJFRFRMU19QU0FfQUNDRUxfS0VZX1RZUEVfQUVTKQotI2RlZmluZSBNQkVEVExTX1RFU1RfSEFWRV9BTFRfQUVTIDEKKyNkZWZpbmUgTUJFRFRMU19URVNUX0hBVkVfQUNDRUxfQUVTIDEKICNlbHNlCi0jZGVmaW5lIE1CRURUTFNfVEVTVF9IQVZFX0FMVF9BRVMgMAorI2RlZmluZSBNQkVEVExTX1RFU1RfSEFWRV9BQ0NFTF9BRVMgMAogI2VuZGlmCiAKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9TS0lQX0lGX0FMVF9BRVNfMTkyKGtleV90eXBlLCBrZXlfYml0cykgICAgICAgIFwKICAgICBkbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGlmICgoTUJFRFRMU19URVNUX0hBVkVfQUxUX0FFUykgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICgoTUJFRFRMU19URVNUX0hBVkVfQUNDRUxfQUVTKSAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICgoa2V5X3R5cGUpID09IFBTQV9LRVlfVFlQRV9BRVMpICYmICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAoa2V5X2JpdHMgPT0gMTkyKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjkxLDE4ICsyOTgsMTkgQEAKICAqICBccGFyYW0gIGFsZyAgICAgICAgICAgICBUaGUgQUVBRCBhbGdvcml0aG0uCiAgKiAgXHBhcmFtICBub25jZV9sZW5ndGggICAgVGhlIG5vbmNlIGxlbmd0aCBpbiBudW1iZXIgb2YgYnl0ZXMuCiAgKi8KKwogI2lmIGRlZmluZWQoTUJFRFRMU19HQ01fQUxUKSB8fCBcCiAgICAgZGVmaW5lZChNQkVEVExTX1BTQV9BQ0NFTF9BTEdfR0NNKQotI2RlZmluZSBNQkVEVExTX1RFU1RfSEFWRV9BTFRfR0NNICAxCisjZGVmaW5lIE1CRURUTFNfVEVTVF9IQVZFX0FDQ0VMX0dDTSAgMQogI2Vsc2UKLSNkZWZpbmUgTUJFRFRMU19URVNUX0hBVkVfQUxUX0dDTSAgMAorI2RlZmluZSBNQkVEVExTX1RFU1RfSEFWRV9BQ0NFTF9HQ00gIDAKICNlbmRpZgogCiAjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfU0tJUF9JRl9BTFRfR0NNX05PVF8xMkJZVEVTX05PTkNFKGFsZywgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uY2VfbGVuZ3RoKSBcCiAgICAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGlmICgoTUJFRFRMU19URVNUX0hBVkVfQUxUX0dDTSkgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoKE1CRURUTFNfVEVTVF9IQVZFX0FDQ0VMX0dDTSkgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgKFBTQV9BTEdfQUVBRF9XSVRIX1NIT1JURU5FRF9UQUcoKGFsZyksIDApID09ICAgICAgICAgICAgXAogICAgICAgICAgICAgIFBTQV9BTEdfQUVBRF9XSVRIX1NIT1JURU5FRF9UQUcoUFNBX0FMR19HQ00sIDApKSAmJiAgICAgICBcCiAgICAgICAgICAgICAoKG5vbmNlX2xlbmd0aCkgIT0gMTIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMzEzLDcgKzMyMSwyMiBAQAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHdoaWxlICgwKQogCi0jZW5kaWYgLyogTUJFRFRMU19QU0FfQ1JZUFRPX0MgKi8KKyNlbmRpZiAvKiBNQkVEVExTX1BTQV9DUllQVE9fQ0xJRU5UIHx8IE1CRURUTFNfUFNBX0NSWVBUT19DICovCisKKyNpZiBNQkVEVExTX1ZFUlNJT05fTUFKT1IgPj0gNAorLyogTGVnYWN5IFBTQV9JTklUKCkgLyBQU0FfRE9ORSgpIHZhcmlhbnRzIGZyb20gMy42ICovCisjZGVmaW5lIFVTRV9QU0FfSU5JVCgpICAgICAgICAgIFBTQV9JTklUKCkKKyNkZWZpbmUgVVNFX1BTQV9ET05FKCkgICAgICAgICAgUFNBX0RPTkUoKQorI2RlZmluZSBNRF9QU0FfSU5JVCgpICAgICAgICAgICBQU0FfSU5JVCgpCisjZGVmaW5lIE1EX1BTQV9ET05FKCkgICAgICAgICAgIFBTQV9ET05FKCkKKyNkZWZpbmUgQkxPQ0tfQ0lQSEVSX1BTQV9JTklUKCkgUFNBX0lOSVQoKQorI2RlZmluZSBCTE9DS19DSVBIRVJfUFNBX0RPTkUoKSBQU0FfRE9ORSgpCisjZGVmaW5lIE1EX09SX1VTRV9QU0FfSU5JVCgpICAgIFBTQV9JTklUKCkKKyNkZWZpbmUgTURfT1JfVVNFX1BTQV9ET05FKCkgICAgUFNBX0RPTkUoKQorI2RlZmluZSBBRVNfUFNBX0lOSVQoKSAgICAgICAgICBQU0FfSU5JVCgpCisjZGVmaW5lIEFFU19QU0FfRE9ORSgpICAgICAgICAgIFBTQV9ET05FKCkKKworI2Vsc2UgLyogTUJFRFRMU19WRVJTSU9OX01BSk9SIDwgNCAqLwogCiAvKiogXGRlZiBVU0VfUFNBX0lOSVQKICAqCkBAIC0zMzIsOSArMzU1LDE4IEBACiAgKiBUaGlzIGlzIGxpa2UgI1BTQV9ET05FIGV4Y2VwdCBpdCBkb2VzIG5vdGhpbmcgdW5kZXIgdGhlIHNhbWUgY29uZGl0aW9ucyBhcwogICogI1VTRV9QU0FfSU5JVC4KICAqLwotI2lmIGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykgfHwgZGVmaW5lZChNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMpCisjaWYgZGVmaW5lZChNQkVEVExTX1VTRV9QU0FfQ1JZUFRPKQogI2RlZmluZSBVU0VfUFNBX0lOSVQoKSBQU0FfSU5JVCgpCiAjZGVmaW5lIFVTRV9QU0FfRE9ORSgpIFBTQV9ET05FKCkKKyNlbGlmIGRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zKQorLyogVExTIDEuMyBtdXN0IHdvcmsgd2l0aG91dCBoYXZpbmcgY2FsbGVkIHBzYV9jcnlwdG9faW5pdCgpLCBmb3IgYmFja3dhcmQKKyAqIGNvbXBhdGliaWxpdHkgd2l0aCBNYmVkIFRMUyA8PSAzLjUgd2hlbiBjb25uZWN0aW5nIHdpdGggYSBwZWVyIHRoYXQKKyAqIHN1cHBvcnRzIGJvdGggVExTIDEuMiBhbmQgVExTIDEuMy4gU2VlIG1iZWR0bHNfc3NsX3RsczEzX2NyeXB0b19pbml0KCkKKyAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTA3MiAuICovCisjZGVmaW5lIFVTRV9QU0FfSU5JVCgpICgodm9pZCkgMCkKKy8qIFRMUyAxLjMgbWF5IGhhdmUgaW5pdGlhbGl6ZWQgdGhlIFBTQSBzdWJzeXN0ZW0uIFNodXQgaXQgZG93biBjbGVhbmx5LAorICogb3RoZXJ3aXNlIEFzYW4gYW5kIFZhbGdyaW5kIHdvdWxkIG5vdGljZSBhIHJlc291cmNlIGxlYWsuICovCisjZGVmaW5lIFVTRV9QU0FfRE9ORSgpIFBTQV9ET05FKCkKICNlbHNlIC8qIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gfHwgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zICovCiAvKiBEZWZpbmUgZW1wdHkgbWFjcm9zIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSBwcmVhbWJsZSBhbmQgdGVhcmRvd24KICAqIG9mIGV2ZXJ5IHRlc3QgZnVuY3Rpb24gdGhhdCB1c2VzIFBTQSBjb25kaXRpb25hbGx5IGJhc2VkIG9uCkBAIC00MDYsMTMgKzQzOCwxMiBAQAogICogVGhpcyBpcyBsaWtlICNQU0FfRE9ORSBleGNlcHQgaXQgZG9lcyBub3RoaW5nIHVuZGVyIHRoZSBzYW1lIGNvbmRpdGlvbnMgYXMKICAqICNNRF9PUl9VU0VfUFNBX0lOSVQuCiAgKi8KLSNpZiBkZWZpbmVkKE1CRURUTFNfTURfU09NRV9QU0EpIHx8IFwKLSAgICBkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pIHx8IGRlZmluZWQoTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zKQorI2lmIGRlZmluZWQoTUJFRFRMU19NRF9TT01FX1BTQSkKICNkZWZpbmUgTURfT1JfVVNFX1BTQV9JTklUKCkgICBQU0FfSU5JVCgpCiAjZGVmaW5lIE1EX09SX1VTRV9QU0FfRE9ORSgpICAgUFNBX0RPTkUoKQogI2Vsc2UKLSNkZWZpbmUgTURfT1JfVVNFX1BTQV9JTklUKCkgKCh2b2lkKSAwKQotI2RlZmluZSBNRF9PUl9VU0VfUFNBX0RPTkUoKSAoKHZvaWQpIDApCisjZGVmaW5lIE1EX09SX1VTRV9QU0FfSU5JVCgpICAgVVNFX1BTQV9JTklUKCkKKyNkZWZpbmUgTURfT1JfVVNFX1BTQV9ET05FKCkgICBVU0VfUFNBX0RPTkUoKQogI2VuZGlmCiAKIC8qKiBcZGVmIEFFU19QU0FfSU5JVApAQCAtNDMwLDEyICs0NjEsNzMgQEAKICAqIFRoaXMgaXMgbGlrZSAjUFNBX0RPTkUgZXhjZXB0IGl0IGRvZXMgbm90aGluZyB1bmRlciB0aGUgc2FtZSBjb25kaXRpb25zIGFzCiAgKiAjQUVTX1BTQV9JTklULgogICovCi0jaWYgZGVmaW5lZChNQkVEVExTX0FFU19DKQotI2RlZmluZSBBRVNfUFNBX0lOSVQoKSAoKHZvaWQpIDApCi0jZGVmaW5lIEFFU19QU0FfRE9ORSgpICgodm9pZCkgMCkKLSNlbHNlIC8qIE1CRURUTFNfQUVTX0MgKi8KKyNpZiBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfVVNFX1BTQV9DUllQVE8pCiAjZGVmaW5lIEFFU19QU0FfSU5JVCgpICAgUFNBX0lOSVQoKQogI2RlZmluZSBBRVNfUFNBX0RPTkUoKSAgIFBTQV9ET05FKCkKLSNlbmRpZiAvKiBNQkVEVExTX0FFU19DICovCisjZWxzZSAvKiBNQkVEVExTX0NUUl9EUkJHX1VTRV9QU0FfQ1JZUFRPICovCisjZGVmaW5lIEFFU19QU0FfSU5JVCgpICgodm9pZCkgMCkKKyNkZWZpbmUgQUVTX1BTQV9ET05FKCkgKCh2b2lkKSAwKQorI2VuZGlmIC8qIE1CRURUTFNfQ1RSX0RSQkdfVVNFX1BTQV9DUllQVE8gKi8KKworI2VuZGlmIC8qIE1CRURUTFNfVkVSU0lPTl9NQUpPUiA+PSA0ICovCisKKyNpZiAhZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fRVhURVJOQUxfUk5HKSAmJiAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfQykgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfVVNFX1BTQV9DUllQVE8pCisvKiBXaGVuIEFFU19DIGlzIG5vdCBkZWZpbmVkIGFuZCBQU0EgZG9lcyBub3QgaGF2ZSBhbiBleHRlcm5hbCBSTkcsCisgKiB0aGVuIENUUl9EUkJHIHVzZXMgUFNBIHRvIHBlcmZvcm0gQUVTLUVDQi4gSW4gdGhpcyBzY2VuYXJpbyAxIGtleQorICogc2xvdCBpcyB1c2VkIGludGVybmFsbHkgZnJvbSBQU0EgdG8gaG9sZCB0aGUgQUVTIGtleSBhbmQgaXQgc2hvdWxkCisgKiBub3QgYmUgdGFrZW4gaW50byBhY2NvdW50IHdoZW4gZXZhbHVhdGluZyByZW1haW5pbmcgb3BlbiBzbG90cy4gKi8KKyNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9JTlRFUk5BTF9LRVlTX0ZPUl9EUkJHIDEKKyNlbHNlCisjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfSU5URVJOQUxfS0VZU19GT1JfRFJCRyAwCisjZW5kaWYKKworLyoqIFRoZSBudW1iZXIgb2Ygdm9sYXRpbGUga2V5cyB0aGF0IFBTQSBjcnlwdG8gdXNlcyBpbnRlcm5hbGx5LgorICoKKyAqIFdlIGV4cGVjdCB0aGF0IG1hbnkgdm9sYXRpbGUga2V5cyB0byBiZSBpbiB1c2UgYWZ0ZXIgYSBzdWNjZXNzZnVsCisgKiBwc2FfY3J5cHRvX2luaXQoKS4KKyAqLworI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0lOVEVSTkFMX0tFWVMgICAgICAgICAgXAorICAgIE1CRURUTFNfVEVTVF9QU0FfSU5URVJOQUxfS0VZU19GT1JfRFJCRworCisvKiBBIGNvdXBsZSBvZiBoZWxwZXIgbWFjcm9zIHRvIHZlcmlmeSBpZiBNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RfQlVGRkVSX1NJWkUgaXMKKyAqIGxhcmdlIGVub3VnaCB0byBjb250YWluIGFuIFJTQSBrZXkgcGFpciBvZiB0aGUgZ2l2ZW4gc2l6ZS4gVGhpcyBpcyBtZWFudCB0byBiZQorICogdXNlZCBpbiB0ZXN0IGNhc2VzIHdoZXJlIE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMgaXMgZW5hYmxlZC4gKi8KKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DKQorCisjaWYgKE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVF9CVUZGRVJfU0laRSA+PSBQU0FfS0VZX0VYUE9SVF9SU0FfS0VZX1BBSVJfTUFYX1NJWkUoNDA5NikpCisjZGVmaW5lIE1CRURUTFNfVEVTVF9TVEFUSUNfS0VZX1NMT1RTX1NVUFBPUlRfUlNBXzQwOTYKKyNlbmRpZgorCisjaWYgKE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVF9CVUZGRVJfU0laRSA+PSBQU0FfS0VZX0VYUE9SVF9SU0FfS0VZX1BBSVJfTUFYX1NJWkUoMjA0OCkpCisjZGVmaW5lIE1CRURUTFNfVEVTVF9TVEFUSUNfS0VZX1NMT1RTX1NVUFBPUlRfUlNBXzIwNDgKKyNlbmRpZgorCisjZW5kaWYgLyogTUJFRFRMU19QU0FfQ1JZUFRPX0MgKi8KKworLyogSGVscGVyIG1hY3JvIHRvIGdldCB0aGUgc2l6ZSBvZiB0aGUgZWFjaCBrZXkgc2xvdCBidWZmZXIuICovCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RTKQorI2RlZmluZSBNQkVEVExTX1BTQV9LRVlfQlVGRkVSX01BWF9TSVpFICAgICBNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RfQlVGRkVSX1NJWkUKKyNlbHNlCisjZGVmaW5lIE1CRURUTFNfUFNBX0tFWV9CVUZGRVJfTUFYX1NJWkUgICAgIFNJWkVfTUFYCisjZW5kaWYKKworLyogSGVscGVyIG1hY3JvIGZvciB0aGUgUEsgbW9kdWxlIHRvIGNoZWNrIHdoZXRoZXIgTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFCisgKiBpcyBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiA0MDk2LWJpdCBSU0Ega2V5IHBhaXJzLiBPZiBjb3Vyc2UgdGhpcyBjaGVjayBpcyBvbmx5CisgKiBuZWNlc3NhcnkgaWYgUEsgcmVsaWVzIG9uIFBTQSAoaS5lLiBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPKSB0byBzdG9yZSBhbmQgbWFuYWdlCisgKiB0aGUga2V5LiAqLworI2lmIGRlZmluZWQoTUJFRFRMU19VU0VfUFNBX0NSWVBUTykKKworI2lmICFkZWZpbmVkKE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMpIHx8IFwKKyAgICBkZWZpbmVkKE1CRURUTFNfVEVTVF9TVEFUSUNfS0VZX1NMT1RTX1NVUFBPUlRfUlNBXzQwOTYpCisjZGVmaW5lIE1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorI2VuZGlmCisKKyNlbHNlIC8qIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKi8KKworI2RlZmluZSBNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKKworI2VuZGlmIC8qIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKi8KIAogI2VuZGlmIC8qIFBTQV9DUllQVE9fSEVMUEVSU19IICovCmRpZmYgLS1naXQgYS90ZXN0cy9pbmNsdWRlL3Rlc3QvcHNhX3Rlc3Rfd3JhcHBlcnMuaCBiL3Rlc3RzL2luY2x1ZGUvdGVzdC9wc2FfdGVzdF93cmFwcGVycy5oCmluZGV4IGVjZjkyNmUuLjEzNGE1NDcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2luY2x1ZGUvdGVzdC9wc2FfdGVzdF93cmFwcGVycy5oCisrKyBiL3Rlc3RzL2luY2x1ZGUvdGVzdC9wc2FfdGVzdF93cmFwcGVycy5oCkBAIC0xNyw3ICsxNyw2IEBACiAgICAgIWRlZmluZWQoUkVDT1JEX1BTQV9TVEFUVVNfQ09WRVJBR0VfTE9HKQogCiAjaW5jbHVkZSA8cHNhL2NyeXB0by5oPgotCiAjaW5jbHVkZSA8dGVzdC9tZW1vcnkuaD4KICNpbmNsdWRlIDx0ZXN0L3BzYV9jcnlwdG9faGVscGVycy5oPgogI2luY2x1ZGUgPHRlc3QvcHNhX3Rlc3Rfd3JhcHBlcnMuaD4KQEAgLTI2MiwxMiArMjYxLDE1IEBACiAjZGVmaW5lIHBzYV9jb3B5X2tleShhcmcwX3NvdXJjZV9rZXksIGFyZzFfYXR0cmlidXRlcywgYXJnMl90YXJnZXRfa2V5KSBcCiAgICAgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2NvcHlfa2V5KGFyZzBfc291cmNlX2tleSwgYXJnMV9hdHRyaWJ1dGVzLCBhcmcyX3RhcmdldF9rZXkpCiAKKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfY2lwaGVyX3N1aXRlKAogICAgIGNvbnN0IHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfaW5wdXRzX3QgKmFyZzBfaW5wdXRzLAogICAgIHBzYV9wYWtlX2NpcGhlcl9zdWl0ZV90ICphcmcxX2NpcGhlcl9zdWl0ZSk7CiAjZGVmaW5lIHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X2NpcGhlcl9zdWl0ZShhcmcwX2lucHV0cywgYXJnMV9jaXBoZXJfc3VpdGUpIFwKICAgICBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9jaXBoZXJfc3VpdGUoYXJnMF9pbnB1dHMsIGFyZzFfY2lwaGVyX3N1aXRlKQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAorI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wYXNzd29yZCgKICAgICBjb25zdCBwc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2lucHV0c190ICphcmcwX2lucHV0cywKICAgICB1aW50OF90ICphcmcxX2J1ZmZlciwKQEAgLTI3NSwxMyArMjc3LDE3IEBACiAgICAgc2l6ZV90ICphcmczX2J1ZmZlcl9sZW5ndGgpOwogI2RlZmluZSBwc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wYXNzd29yZChhcmcwX2lucHV0cywgYXJnMV9idWZmZXIsIGFyZzJfYnVmZmVyX3NpemUsIGFyZzNfYnVmZmVyX2xlbmd0aCkgXAogICAgIG1iZWR0bHNfdGVzdF93cmFwX3BzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3Bhc3N3b3JkKGFyZzBfaW5wdXRzLCBhcmcxX2J1ZmZlciwgYXJnMl9idWZmZXJfc2l6ZSwgYXJnM19idWZmZXJfbGVuZ3RoKQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAorI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wYXNzd29yZF9sZW4oCiAgICAgY29uc3QgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9pbnB1dHNfdCAqYXJnMF9pbnB1dHMsCiAgICAgc2l6ZV90ICphcmcxX3Bhc3N3b3JkX2xlbik7CiAjZGVmaW5lIHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3Bhc3N3b3JkX2xlbihhcmcwX2lucHV0cywgYXJnMV9wYXNzd29yZF9sZW4pIFwKICAgICBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wYXNzd29yZF9sZW4oYXJnMF9pbnB1dHMsIGFyZzFfcGFzc3dvcmRfbGVuKQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAorI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wZWVyKAogICAgIGNvbnN0IHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfaW5wdXRzX3QgKmFyZzBfaW5wdXRzLAogICAgIHVpbnQ4X3QgKmFyZzFfcGVlcl9pZCwKQEAgLTI4OSwxMyArMjk1LDE3IEBACiAgICAgc2l6ZV90ICphcmczX3BlZXJfaWRfbGVuZ3RoKTsKICNkZWZpbmUgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfcGVlcihhcmcwX2lucHV0cywgYXJnMV9wZWVyX2lkLCBhcmcyX3BlZXJfaWRfc2l6ZSwgYXJnM19wZWVyX2lkX2xlbmd0aCkgXAogICAgIG1iZWR0bHNfdGVzdF93cmFwX3BzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3BlZXIoYXJnMF9pbnB1dHMsIGFyZzFfcGVlcl9pZCwgYXJnMl9wZWVyX2lkX3NpemUsIGFyZzNfcGVlcl9pZF9sZW5ndGgpCisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCisjaWYgZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKQogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3BlZXJfbGVuKAogICAgIGNvbnN0IHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfaW5wdXRzX3QgKmFyZzBfaW5wdXRzLAogICAgIHNpemVfdCAqYXJnMV9wZWVyX2xlbik7CiAjZGVmaW5lIHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3BlZXJfbGVuKGFyZzBfaW5wdXRzLCBhcmcxX3BlZXJfbGVuKSBcCiAgICAgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfcGVlcl9sZW4oYXJnMF9pbnB1dHMsIGFyZzFfcGVlcl9sZW4pCisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCisjaWYgZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKQogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3VzZXIoCiAgICAgY29uc3QgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9pbnB1dHNfdCAqYXJnMF9pbnB1dHMsCiAgICAgdWludDhfdCAqYXJnMV91c2VyX2lkLApAQCAtMzAzLDEyICszMTMsMTUgQEAKICAgICBzaXplX3QgKmFyZzNfdXNlcl9pZF9sZW4pOwogI2RlZmluZSBwc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF91c2VyKGFyZzBfaW5wdXRzLCBhcmcxX3VzZXJfaWQsIGFyZzJfdXNlcl9pZF9zaXplLCBhcmczX3VzZXJfaWRfbGVuKSBcCiAgICAgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfdXNlcihhcmcwX2lucHV0cywgYXJnMV91c2VyX2lkLCBhcmcyX3VzZXJfaWRfc2l6ZSwgYXJnM191c2VyX2lkX2xlbikKKyNlbmRpZiAvKiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpICovCiAKKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfdXNlcl9sZW4oCiAgICAgY29uc3QgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9pbnB1dHNfdCAqYXJnMF9pbnB1dHMsCiAgICAgc2l6ZV90ICphcmcxX3VzZXJfbGVuKTsKICNkZWZpbmUgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfdXNlcl9sZW4oYXJnMF9pbnB1dHMsIGFyZzFfdXNlcl9sZW4pIFwKICAgICBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF91c2VyX2xlbihhcmcwX2lucHV0cywgYXJnMV91c2VyX2xlbikKKyNlbmRpZiAvKiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpICovCiAKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2luaXQodm9pZCk7CiAjZGVmaW5lIHBzYV9jcnlwdG9faW5pdCgpIFwKQEAgLTM0MSw2ICszNTQsMTUgQEAKICNkZWZpbmUgcHNhX2dlbmVyYXRlX2tleShhcmcwX2F0dHJpYnV0ZXMsIGFyZzFfa2V5KSBcCiAgICAgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2dlbmVyYXRlX2tleShhcmcwX2F0dHJpYnV0ZXMsIGFyZzFfa2V5KQogCitwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2dlbmVyYXRlX2tleV9jdXN0b20oCisgICAgY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmFyZzBfYXR0cmlidXRlcywKKyAgICBjb25zdCBwc2FfY3VzdG9tX2tleV9wYXJhbWV0ZXJzX3QgKmFyZzFfY3VzdG9tLAorICAgIGNvbnN0IHVpbnQ4X3QgKmFyZzJfY3VzdG9tX2RhdGEsCisgICAgc2l6ZV90IGFyZzNfY3VzdG9tX2RhdGFfbGVuZ3RoLAorICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90ICphcmc0X2tleSk7CisjZGVmaW5lIHBzYV9nZW5lcmF0ZV9rZXlfY3VzdG9tKGFyZzBfYXR0cmlidXRlcywgYXJnMV9jdXN0b20sIGFyZzJfY3VzdG9tX2RhdGEsIGFyZzNfY3VzdG9tX2RhdGFfbGVuZ3RoLCBhcmc0X2tleSkgXAorICAgIG1iZWR0bHNfdGVzdF93cmFwX3BzYV9nZW5lcmF0ZV9rZXlfY3VzdG9tKGFyZzBfYXR0cmlidXRlcywgYXJnMV9jdXN0b20sIGFyZzJfY3VzdG9tX2RhdGEsIGFyZzNfY3VzdG9tX2RhdGFfbGVuZ3RoLCBhcmc0X2tleSkKKwogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9nZW5lcmF0ZV9rZXlfZXh0KAogICAgIGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphcmcwX2F0dHJpYnV0ZXMsCiAgICAgY29uc3QgcHNhX2tleV9wcm9kdWN0aW9uX3BhcmFtZXRlcnNfdCAqYXJnMV9wYXJhbXMsCkBAIC00ODMsNiArNTA1LDE2IEBACiAjZGVmaW5lIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5KGFyZzBfYXR0cmlidXRlcywgYXJnMV9vcGVyYXRpb24sIGFyZzJfa2V5KSBcCiAgICAgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXkoYXJnMF9hdHRyaWJ1dGVzLCBhcmcxX29wZXJhdGlvbiwgYXJnMl9rZXkpCiAKK3BzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oCisgICAgY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmFyZzBfYXR0cmlidXRlcywKKyAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3BlcmF0aW9uX3QgKmFyZzFfb3BlcmF0aW9uLAorICAgIGNvbnN0IHBzYV9jdXN0b21fa2V5X3BhcmFtZXRlcnNfdCAqYXJnMl9jdXN0b20sCisgICAgY29uc3QgdWludDhfdCAqYXJnM19jdXN0b21fZGF0YSwKKyAgICBzaXplX3QgYXJnNF9jdXN0b21fZGF0YV9sZW5ndGgsCisgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgKmFyZzVfa2V5KTsKKyNkZWZpbmUgcHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfY3VzdG9tKGFyZzBfYXR0cmlidXRlcywgYXJnMV9vcGVyYXRpb24sIGFyZzJfY3VzdG9tLCBhcmczX2N1c3RvbV9kYXRhLCBhcmc0X2N1c3RvbV9kYXRhX2xlbmd0aCwgYXJnNV9rZXkpIFwKKyAgICBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oYXJnMF9hdHRyaWJ1dGVzLCBhcmcxX29wZXJhdGlvbiwgYXJnMl9jdXN0b20sIGFyZzNfY3VzdG9tX2RhdGEsIGFyZzRfY3VzdG9tX2RhdGFfbGVuZ3RoLCBhcmc1X2tleSkKKwogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2V4dCgKICAgICBjb25zdCBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCAqYXJnMF9hdHRyaWJ1dGVzLAogICAgIHBzYV9rZXlfZGVyaXZhdGlvbl9vcGVyYXRpb25fdCAqYXJnMV9vcGVyYXRpb24sCkBAIC01NjYsMTcgKzU5OCwyMiBAQAogI2RlZmluZSBwc2FfbWFjX3ZlcmlmeV9zZXR1cChhcmcwX29wZXJhdGlvbiwgYXJnMV9rZXksIGFyZzJfYWxnKSBcCiAgICAgbWJlZHRsc190ZXN0X3dyYXBfcHNhX21hY192ZXJpZnlfc2V0dXAoYXJnMF9vcGVyYXRpb24sIGFyZzFfa2V5LCBhcmcyX2FsZykKIAorI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcGFrZV9hYm9ydCgKICAgICBwc2FfcGFrZV9vcGVyYXRpb25fdCAqYXJnMF9vcGVyYXRpb24pOwogI2RlZmluZSBwc2FfcGFrZV9hYm9ydChhcmcwX29wZXJhdGlvbikgXAogICAgIG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX2Fib3J0KGFyZzBfb3BlcmF0aW9uKQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAorI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcGFrZV9nZXRfaW1wbGljaXRfa2V5KAogICAgIHBzYV9wYWtlX29wZXJhdGlvbl90ICphcmcwX29wZXJhdGlvbiwKICAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3BlcmF0aW9uX3QgKmFyZzFfb3V0cHV0KTsKICNkZWZpbmUgcHNhX3Bha2VfZ2V0X2ltcGxpY2l0X2tleShhcmcwX29wZXJhdGlvbiwgYXJnMV9vdXRwdXQpIFwKICAgICBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcGFrZV9nZXRfaW1wbGljaXRfa2V5KGFyZzBfb3BlcmF0aW9uLCBhcmcxX291dHB1dCkKKyNlbmRpZiAvKiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpICovCiAKKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2VfaW5wdXQoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIHBzYV9wYWtlX3N0ZXBfdCBhcmcxX3N0ZXAsCkBAIC01ODQsNyArNjIxLDkgQEAKICAgICBzaXplX3QgYXJnM19pbnB1dF9sZW5ndGgpOwogI2RlZmluZSBwc2FfcGFrZV9pbnB1dChhcmcwX29wZXJhdGlvbiwgYXJnMV9zdGVwLCBhcmcyX2lucHV0LCBhcmczX2lucHV0X2xlbmd0aCkgXAogICAgIG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX2lucHV0KGFyZzBfb3BlcmF0aW9uLCBhcmcxX3N0ZXAsIGFyZzJfaW5wdXQsIGFyZzNfaW5wdXRfbGVuZ3RoKQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAorI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcGFrZV9vdXRwdXQoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIHBzYV9wYWtlX3N0ZXBfdCBhcmcxX3N0ZXAsCkBAIC01OTMsMzggKzYzMiw0OSBAQAogICAgIHNpemVfdCAqYXJnNF9vdXRwdXRfbGVuZ3RoKTsKICNkZWZpbmUgcHNhX3Bha2Vfb3V0cHV0KGFyZzBfb3BlcmF0aW9uLCBhcmcxX3N0ZXAsIGFyZzJfb3V0cHV0LCBhcmczX291dHB1dF9zaXplLCBhcmc0X291dHB1dF9sZW5ndGgpIFwKICAgICBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcGFrZV9vdXRwdXQoYXJnMF9vcGVyYXRpb24sIGFyZzFfc3RlcCwgYXJnMl9vdXRwdXQsIGFyZzNfb3V0cHV0X3NpemUsIGFyZzRfb3V0cHV0X2xlbmd0aCkKKyNlbmRpZiAvKiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpICovCiAKKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2Vfc2V0X3Bhc3N3b3JkX2tleSgKICAgICBwc2FfcGFrZV9vcGVyYXRpb25fdCAqYXJnMF9vcGVyYXRpb24sCiAgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgYXJnMV9wYXNzd29yZCk7CiAjZGVmaW5lIHBzYV9wYWtlX3NldF9wYXNzd29yZF9rZXkoYXJnMF9vcGVyYXRpb24sIGFyZzFfcGFzc3dvcmQpIFwKICAgICBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcGFrZV9zZXRfcGFzc3dvcmRfa2V5KGFyZzBfb3BlcmF0aW9uLCBhcmcxX3Bhc3N3b3JkKQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAorI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcGFrZV9zZXRfcGVlcigKICAgICBwc2FfcGFrZV9vcGVyYXRpb25fdCAqYXJnMF9vcGVyYXRpb24sCiAgICAgY29uc3QgdWludDhfdCAqYXJnMV9wZWVyX2lkLAogICAgIHNpemVfdCBhcmcyX3BlZXJfaWRfbGVuKTsKICNkZWZpbmUgcHNhX3Bha2Vfc2V0X3BlZXIoYXJnMF9vcGVyYXRpb24sIGFyZzFfcGVlcl9pZCwgYXJnMl9wZWVyX2lkX2xlbikgXAogICAgIG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX3NldF9wZWVyKGFyZzBfb3BlcmF0aW9uLCBhcmcxX3BlZXJfaWQsIGFyZzJfcGVlcl9pZF9sZW4pCisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCisjaWYgZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKQogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX3NldF9yb2xlKAogICAgIHBzYV9wYWtlX29wZXJhdGlvbl90ICphcmcwX29wZXJhdGlvbiwKICAgICBwc2FfcGFrZV9yb2xlX3QgYXJnMV9yb2xlKTsKICNkZWZpbmUgcHNhX3Bha2Vfc2V0X3JvbGUoYXJnMF9vcGVyYXRpb24sIGFyZzFfcm9sZSkgXAogICAgIG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX3NldF9yb2xlKGFyZzBfb3BlcmF0aW9uLCBhcmcxX3JvbGUpCisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCisjaWYgZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKQogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX3NldF91c2VyKAogICAgIHBzYV9wYWtlX29wZXJhdGlvbl90ICphcmcwX29wZXJhdGlvbiwKICAgICBjb25zdCB1aW50OF90ICphcmcxX3VzZXJfaWQsCiAgICAgc2l6ZV90IGFyZzJfdXNlcl9pZF9sZW4pOwogI2RlZmluZSBwc2FfcGFrZV9zZXRfdXNlcihhcmcwX29wZXJhdGlvbiwgYXJnMV91c2VyX2lkLCBhcmcyX3VzZXJfaWRfbGVuKSBcCiAgICAgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2Vfc2V0X3VzZXIoYXJnMF9vcGVyYXRpb24sIGFyZzFfdXNlcl9pZCwgYXJnMl91c2VyX2lkX2xlbikKKyNlbmRpZiAvKiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpICovCiAKKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2Vfc2V0dXAoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIGNvbnN0IHBzYV9wYWtlX2NpcGhlcl9zdWl0ZV90ICphcmcxX2NpcGhlcl9zdWl0ZSk7CiAjZGVmaW5lIHBzYV9wYWtlX3NldHVwKGFyZzBfb3BlcmF0aW9uLCBhcmcxX2NpcGhlcl9zdWl0ZSkgXAogICAgIG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX3NldHVwKGFyZzBfb3BlcmF0aW9uLCBhcmcxX2NpcGhlcl9zdWl0ZSkKKyNlbmRpZiAvKiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpICovCiAKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcHVyZ2Vfa2V5KAogICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90IGFyZzBfa2V5KTsKZGlmZiAtLWdpdCBhL3Rlc3RzL29wdC10ZXN0Y2FzZXMvc2FtcGxlLnNoIGIvdGVzdHMvb3B0LXRlc3RjYXNlcy9zYW1wbGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY4NDdjYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL29wdC10ZXN0Y2FzZXMvc2FtcGxlLnNoCkBAIC0wLDAgKzEsMzc0IEBACisjIFRlc3QgdGhhdCBTU0wgc2FtcGxlIHByb2dyYW1zIGNhbiBpbnRlcm9wZXJhdGUgd2l0aCBlYWNoIG90aGVyCisjIGFuZCB3aXRoIE9wZW5TU0wgYW5kIEdudVRMUy4KKworIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCisKKzogJHtQUk9HUkFNU19ESVI6PS4uL3Byb2dyYW1zL3NzbH0KKworcnVuX3Rlc3QgICAgIlNhbXBsZTogc3NsX2NsaWVudDEsIHNzbF9zZXJ2ZXIyIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9zZXJ2ZXIyIiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfY2xpZW50MSIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTIKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9jbGllbnQxLCBvcGVuc3NsIHNlcnZlciwgVExTIDEuMiIgXAorICAgICAgICAgICAgLVAgNDQzMyBcCisgICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIiIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9jbGllbnQxIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1jICJQcm90b2NvbC4qVExTdjEuMiIgXAorICAgICAgICAgICAgLVMgIkVSUk9SIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTIKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9jbGllbnQxLCBnbnV0bHMgc2VydmVyLCBUTFMgMS4yIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkR19TUlYgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtVExTLUFMTDorVkVSUy1UTFMxLjIiIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9jbGllbnQxIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJWZXJzaW9uOiBUTFMxLjIiIFwKKyAgICAgICAgICAgIC1jICI8VEQ+UHJvdG9jb2wgdmVyc2lvbjo8L1REPjxURD5UTFMxLjI8L1REPiIgXAorICAgICAgICAgICAgLVMgIkVycm9yIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTMKK3JlcXVpcmVzX29wZW5zc2xfdGxzMV8zCitydW5fdGVzdCAgICAiU2FtcGxlOiBzc2xfY2xpZW50MSwgb3BlbnNzbCBzZXJ2ZXIsIFRMUyAxLjMiIFwKKyAgICAgICAgICAgIC1QIDQ0MzMgXAorICAgICAgICAgICAgIiRPX05FWFRfU1JWIC10bHMxXzMiIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9jbGllbnQxIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1jICJOZXcsIFRMU3YxLjMsIENpcGhlciBpcyIgXAorICAgICAgICAgICAgLVMgIkVSUk9SIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTMKK3JlcXVpcmVzX2dudXRsc190bHMxXzMKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9jbGllbnQxLCBnbnV0bHMgc2VydmVyLCBUTFMgMS4zIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkR19ORVhUX1NSViAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1UTFMtQUxMOitWRVJTLVRMUzEuMyIgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvc3NsX2NsaWVudDEiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLXMgIlZlcnNpb246IFRMUzEuMyIgXAorICAgICAgICAgICAgLWMgIjxURD5Qcm90b2NvbCB2ZXJzaW9uOjwvVEQ+PFREPlRMUzEuMzwvVEQ+IiBcCisgICAgICAgICAgICAtUyAiRXJyb3IiIFwKKyAgICAgICAgICAgIC1DICJlcnJvciIKKworIyBUaGUgc2VydmVyIGNvbXBsYWlucyBvZiBleHRyYSBkYXRhIGFmdGVyIGl0IGNsb3NlcyB0aGUgY29ubmVjdGlvbgorIyBiZWNhdXNlIHRoZSBjbGllbnQga2VlcHMgc2VuZGluZyBkYXRhLCBzbyB0aGUgc2VydmVyIHJlY2VpdmVzCisjIG1vcmUgYXBwbGljYXRpb24gZGF0YSB3aGVuIGl0IGV4cGVjdHMgYSBuZXcgaGFuZHNoYWtlLiBXZSBjb25zaWRlcgorIyB0aGUgdGVzdCBhIHN1Y2Nlc3MgaWYgYm90aCBzaWRlcyBoYXZlIHNlbnQgYW5kIHJlY2VpdmVkIGFwcGxpY2F0aW9uCisjIGRhdGEsIG5vIG1hdHRlciB3aGF0IGhhcHBlbnMgYWZ0ZXJ3YXJkcy4KK3J1bl90ZXN0ICAgICJTYW1wbGU6IGR0bHNfY2xpZW50LCBzc2xfc2VydmVyMiIgXAorICAgICAgICAgICAgLVAgNDQzMyBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfc2VydmVyMiBkdGxzPTEgc2VydmVyX2FkZHI9bG9jYWxob3N0IiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9kdGxzX2NsaWVudCIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLUMgImVycm9yIgorCisjIFRoZSBkdGxzX2NsaWVudCBwcm9ncmFtIGNvbm5lY3RzIHRvIGxvY2FsaG9zdC4gVGhpcyB0ZXN0IGNhc2UgZmFpbHMgb24KKyMgc3lzdGVtcyB3aGVyZSB0aGUgbmFtZSAibG9jYWxob3N0IiByZXNvbHZlcyB0byBhbiBJUHY2IGFkZHJlc3MsIGJ1dAorIyB0aGUgSVB2NiBjb25uZWN0aW9uIGlzIG5vdCBwb3NzaWJsZS4gUG9zc2libGUgcmVhc29ucyBpbmNsdWRlOgorIyAqIE9wZW5TU0wgaXMgdG9vIG9sZCAoSVB2NiBzdXBwb3J0IHdhcyBhZGRlZCBpbiAxLjEuMCkuCisjICogT3BlblNTTCB3YXMgYnVpbHQgd2l0aG91dCBJUHY2IHN1cHBvcnQuCisjICogQSBmaXJld2FsbCBibG9ja3MgSVB2Ni4KKyMKKyMgVG8gZmFjaWxpdGF0ZSB3b3JraW5nIHdpdGggdGhpcyB0ZXN0IGNhc2UsIGhhdmUgaXQgcnVuIHdpdGggJE9QRU5TU0xfTkVYVAorIyB3aGljaCBpcyBhdCBsZWFzdCAxLjEuMWEuIEF0IHRoZSB0aW1lIGl0IHdhcyBpbnRyb2R1Y2VkLCB0aGlzIHRlc3QgY2FzZQorIyBwYXNzZWQgd2l0aCBPcGVuU1NMIDEuMC4yZyBvbiBhbiBlbnZpcm9ubWVudCB3aGVyZSBJUHY2IGlzIGRpc2FibGVkLgorcmVxdWlyZXNfcHJvdG9jb2xfdmVyc2lvbiBkdGxzMTIKK3J1bl90ZXN0ICAgICJTYW1wbGU6IGR0bHNfY2xpZW50LCBvcGVuc3NsIHNlcnZlciwgRFRMUyAxLjIiIFwKKyAgICAgICAgICAgIC1QIDQ0MzMgXAorICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1kdGxzMV8yIiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9kdGxzX2NsaWVudCIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiRWNobyB0aGlzIiBcCisgICAgICAgICAgICAtYyAiRWNobyB0aGlzIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLWMgIlsxLTldWzAtOV0qIGJ5dGVzIHJlYWQiIFwKKyAgICAgICAgICAgIC1TICJFUlJPUiIgXAorICAgICAgICAgICAgLUMgImVycm9yIgorCityZXF1aXJlc19wcm90b2NvbF92ZXJzaW9uIGR0bHMxMgorcnVuX3Rlc3QgICAgIlNhbXBsZTogZHRsc19jbGllbnQsIGdudXRscyBzZXJ2ZXIsIERUTFMgMS4yIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkR19TUlYgLXUgLS1lY2hvIC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLVRMUy1BTEw6K1ZFUlMtVExTMS4yIiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9kdGxzX2NsaWVudCIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiU2VydmVyIGxpc3RlbmluZyIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIGNvbW1hbmQ6IiBcCisgICAgICAgICAgICAtYyAiRWNobyB0aGlzIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLWMgIlsxLTldWzAtOV0qIGJ5dGVzIHJlYWQiIFwKKyAgICAgICAgICAgIC1TICJFcnJvciIgXAorICAgICAgICAgICAgLUMgImVycm9yIgorCitydW5fdGVzdCAgICAiU2FtcGxlOiBzc2xfc2VydmVyLCBzc2xfY2xpZW50MiIgXAorICAgICAgICAgICAgLVAgNDQzMyBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfc2VydmVyIiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfY2xpZW50MiIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9jbGllbnQxIHdpdGggc3NsX3NlcnZlciIgXAorICAgICAgICAgICAgLVAgNDQzMyBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfc2VydmVyIiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfY2xpZW50MSIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTIKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9zZXJ2ZXIsIG9wZW5zc2wgY2xpZW50LCBUTFMgMS4yIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9zZXJ2ZXIiIFwKKyAgICAgICAgICAgICIkT19DTEkgLXRsczFfMiIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiU3VjY2Vzc2Z1bCBjb25uZWN0aW9uIHVzaW5nOiBUTFMtIiBcCisgICAgICAgICAgICAtYyAiUHJvdG9jb2wuKlRMU3YxLjIiIFwKKyAgICAgICAgICAgIC1TICJlcnJvciIgXAorICAgICAgICAgICAgLUMgIkVSUk9SIgorCityZXF1aXJlc19wcm90b2NvbF92ZXJzaW9uIHRsczEyCitydW5fdGVzdCAgICAiU2FtcGxlOiBzc2xfc2VydmVyLCBnbnV0bHMgY2xpZW50LCBUTFMgMS4yIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9zZXJ2ZXIiIFwKKyAgICAgICAgICAgICIkR19DTEkgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtVExTLUFMTDorVkVSUy1UTFMxLjIgbG9jYWxob3N0IiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJTdWNjZXNzZnVsIGNvbm5lY3Rpb24gdXNpbmc6IFRMUy0iIFwKKyAgICAgICAgICAgIC1jICJEZXNjcmlwdGlvbjouKlRMUzEuMiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiRVJST1IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTMKK3JlcXVpcmVzX29wZW5zc2xfdGxzMV8zCitydW5fdGVzdCAgICAiU2FtcGxlOiBzc2xfc2VydmVyLCBvcGVuc3NsIGNsaWVudCwgVExTIDEuMyIgXAorICAgICAgICAgICAgLVAgNDQzMyBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfc2VydmVyIiBcCisgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLXRsczFfMyIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiU3VjY2Vzc2Z1bCBjb25uZWN0aW9uIHVzaW5nOiBUTFMxLTMtIiBcCisgICAgICAgICAgICAtYyAiTmV3LCBUTFN2MS4zLCBDaXBoZXIgaXMiIFwKKyAgICAgICAgICAgIC1TICJlcnJvciIgXAorICAgICAgICAgICAgLUMgIkVSUk9SIgorCityZXF1aXJlc19wcm90b2NvbF92ZXJzaW9uIHRsczEzCityZXF1aXJlc19nbnV0bHNfdGxzMV8zCitydW5fdGVzdCAgICAiU2FtcGxlOiBzc2xfc2VydmVyLCBnbnV0bHMgY2xpZW50LCBUTFMgMS4zIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9zZXJ2ZXIiIFwKKyAgICAgICAgICAgICIkR19ORVhUX0NMSSAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1UTFMtQUxMOitWRVJTLVRMUzEuMyBsb2NhbGhvc3QiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLXMgIlN1Y2Nlc3NmdWwgY29ubmVjdGlvbiB1c2luZzogVExTMS0zLSIgXAorICAgICAgICAgICAgLWMgIkRlc2NyaXB0aW9uOi4qVExTMS4zIiBcCisgICAgICAgICAgICAtUyAiZXJyb3IiIFwKKyAgICAgICAgICAgIC1DICJFUlJPUiIKKworcnVuX3Rlc3QgICAgIlNhbXBsZTogc3NsX2Zvcmtfc2VydmVyLCBzc2xfY2xpZW50MiIgXAorICAgICAgICAgICAgLVAgNDQzMyBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfZm9ya19zZXJ2ZXIiIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9jbGllbnQyIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLWMgIlsxLTldWzAtOV0qIGJ5dGVzIHJlYWQiIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyB3cml0dGVuIiBcCisgICAgICAgICAgICAtUyAiZXJyb3IiIFwKKyAgICAgICAgICAgIC1DICJlcnJvciIKKworcnVuX3Rlc3QgICAgIlNhbXBsZTogc3NsX2NsaWVudDEgd2l0aCBzc2xfZm9ya19zZXJ2ZXIiIFwKKyAgICAgICAgICAgIC1QIDQ0MzMgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvc3NsX2Zvcmtfc2VydmVyIiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfY2xpZW50MSIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTIKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9mb3JrX3NlcnZlciwgb3BlbnNzbCBjbGllbnQsIFRMUyAxLjIiIFwKKyAgICAgICAgICAgIC1QIDQ0MzMgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvc3NsX2Zvcmtfc2VydmVyIiBcCisgICAgICAgICAgICAiJE9fQ0xJIC10bHMxXzIiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLXMgIlN1Y2Nlc3NmdWwgY29ubmVjdGlvbiB1c2luZzogVExTLSIgXAorICAgICAgICAgICAgLWMgIlByb3RvY29sLipUTFN2MS4yIiBcCisgICAgICAgICAgICAtUyAiZXJyb3IiIFwKKyAgICAgICAgICAgIC1DICJFUlJPUiIKKworcmVxdWlyZXNfcHJvdG9jb2xfdmVyc2lvbiB0bHMxMgorcnVuX3Rlc3QgICAgIlNhbXBsZTogc3NsX2Zvcmtfc2VydmVyLCBnbnV0bHMgY2xpZW50LCBUTFMgMS4yIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9mb3JrX3NlcnZlciIgXAorICAgICAgICAgICAgIiRHX0NMSSAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1UTFMtQUxMOitWRVJTLVRMUzEuMiBsb2NhbGhvc3QiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLXMgIlN1Y2Nlc3NmdWwgY29ubmVjdGlvbiB1c2luZzogVExTLSIgXAorICAgICAgICAgICAgLWMgIkRlc2NyaXB0aW9uOi4qVExTMS4yIiBcCisgICAgICAgICAgICAtUyAiZXJyb3IiIFwKKyAgICAgICAgICAgIC1DICJFUlJPUiIKKworcmVxdWlyZXNfcHJvdG9jb2xfdmVyc2lvbiB0bHMxMworcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9mb3JrX3NlcnZlciwgb3BlbnNzbCBjbGllbnQsIFRMUyAxLjMiIFwKKyAgICAgICAgICAgIC1QIDQ0MzMgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvc3NsX2Zvcmtfc2VydmVyIiBcCisgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLXRsczFfMyIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiU3VjY2Vzc2Z1bCBjb25uZWN0aW9uIHVzaW5nOiBUTFMxLTMtIiBcCisgICAgICAgICAgICAtYyAiTmV3LCBUTFN2MS4zLCBDaXBoZXIgaXMiIFwKKyAgICAgICAgICAgIC1TICJlcnJvciIgXAorICAgICAgICAgICAgLUMgIkVSUk9SIgorCityZXF1aXJlc19wcm90b2NvbF92ZXJzaW9uIHRsczEzCityZXF1aXJlc19nbnV0bHNfdGxzMV8zCitydW5fdGVzdCAgICAiU2FtcGxlOiBzc2xfZm9ya19zZXJ2ZXIsIGdudXRscyBjbGllbnQsIFRMUyAxLjMiIFwKKyAgICAgICAgICAgIC1QIDQ0MzMgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvc3NsX2Zvcmtfc2VydmVyIiBcCisgICAgICAgICAgICAiJEdfTkVYVF9DTEkgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtVExTLUFMTDorVkVSUy1UTFMxLjMgbG9jYWxob3N0IiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJTdWNjZXNzZnVsIGNvbm5lY3Rpb24gdXNpbmc6IFRMUzEtMy0iIFwKKyAgICAgICAgICAgIC1jICJEZXNjcmlwdGlvbjouKlRMUzEuMyIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiRVJST1IiCisKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9wdGhyZWFkX3NlcnZlciwgc3NsX2NsaWVudDIiIFwKKyAgICAgICAgICAgIC1QIDQ0MzMgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvc3NsX3B0aHJlYWRfc2VydmVyIiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfY2xpZW50MiIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9jbGllbnQxIHdpdGggc3NsX3B0aHJlYWRfc2VydmVyIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9wdGhyZWFkX3NlcnZlciIgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvc3NsX2NsaWVudDEiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHJlYWQiIFwKKyAgICAgICAgICAgIC1zICJbMS05XVswLTldKiBieXRlcyB3cml0dGVuIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLWMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1TICJlcnJvciIgXAorICAgICAgICAgICAgLUMgImVycm9yIgorCityZXF1aXJlc19wcm90b2NvbF92ZXJzaW9uIHRsczEyCitydW5fdGVzdCAgICAiU2FtcGxlOiBzc2xfcHRocmVhZF9zZXJ2ZXIsIG9wZW5zc2wgY2xpZW50LCBUTFMgMS4yIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9wdGhyZWFkX3NlcnZlciIgXAorICAgICAgICAgICAgIiRPX0NMSSAtdGxzMV8yIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJTdWNjZXNzZnVsIGNvbm5lY3Rpb24gdXNpbmc6IFRMUy0iIFwKKyAgICAgICAgICAgIC1jICJQcm90b2NvbC4qVExTdjEuMiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiRVJST1IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTIKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9wdGhyZWFkX3NlcnZlciwgZ251dGxzIGNsaWVudCwgVExTIDEuMiIgXAorICAgICAgICAgICAgLVAgNDQzMyBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9zc2xfcHRocmVhZF9zZXJ2ZXIiIFwKKyAgICAgICAgICAgICIkR19DTEkgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtVExTLUFMTDorVkVSUy1UTFMxLjIgbG9jYWxob3N0IiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJTdWNjZXNzZnVsIGNvbm5lY3Rpb24gdXNpbmc6IFRMUy0iIFwKKyAgICAgICAgICAgIC1jICJEZXNjcmlwdGlvbjouKlRMUzEuMiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiRVJST1IiCisKK3JlcXVpcmVzX3Byb3RvY29sX3ZlcnNpb24gdGxzMTMKK3JlcXVpcmVzX29wZW5zc2xfdGxzMV8zCitydW5fdGVzdCAgICAiU2FtcGxlOiBzc2xfcHRocmVhZF9zZXJ2ZXIsIG9wZW5zc2wgY2xpZW50LCBUTFMgMS4zIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9wdGhyZWFkX3NlcnZlciIgXAorICAgICAgICAgICAgIiRPX05FWFRfQ0xJIC10bHMxXzMiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLXMgIlN1Y2Nlc3NmdWwgY29ubmVjdGlvbiB1c2luZzogVExTMS0zLSIgXAorICAgICAgICAgICAgLWMgIk5ldywgVExTdjEuMywgQ2lwaGVyIGlzIiBcCisgICAgICAgICAgICAtUyAiZXJyb3IiIFwKKyAgICAgICAgICAgIC1DICJFUlJPUiIKKworcmVxdWlyZXNfcHJvdG9jb2xfdmVyc2lvbiB0bHMxMworcmVxdWlyZXNfZ251dGxzX3RsczFfMworcnVuX3Rlc3QgICAgIlNhbXBsZTogc3NsX3B0aHJlYWRfc2VydmVyLCBnbnV0bHMgY2xpZW50LCBUTFMgMS4zIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL3NzbF9wdGhyZWFkX3NlcnZlciIgXAorICAgICAgICAgICAgIiRHX05FWFRfQ0xJIC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLVRMUy1BTEw6K1ZFUlMtVExTMS4zIGxvY2FsaG9zdCIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiU3VjY2Vzc2Z1bCBjb25uZWN0aW9uIHVzaW5nOiBUTFMxLTMtIiBcCisgICAgICAgICAgICAtYyAiRGVzY3JpcHRpb246LipUTFMxLjMiIFwKKyAgICAgICAgICAgIC1TICJlcnJvciIgXAorICAgICAgICAgICAgLUMgIkVSUk9SIgorCitydW5fdGVzdCAgICAiU2FtcGxlOiBkdGxzX2NsaWVudCB3aXRoIGR0bHNfc2VydmVyIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL2R0bHNfc2VydmVyIiBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9kdGxzX2NsaWVudCIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtYyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLVMgImVycm9yIiBcCisgICAgICAgICAgICAtQyAiZXJyb3IiCisKK3J1bl90ZXN0ICAgICJTYW1wbGU6IHNzbF9jbGllbnQyLCBkdGxzX3NlcnZlciIgXAorICAgICAgICAgICAgLVAgNDQzMyBcCisgICAgICAgICAgICAiJFBST0dSQU1TX0RJUi9kdGxzX3NlcnZlciIgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvc3NsX2NsaWVudDIgZHRscz0xIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJbMS05XVswLTldKiBieXRlcyByZWFkIiBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgd3JpdHRlbiIgXAorICAgICAgICAgICAgLWMgIlsxLTldWzAtOV0qIGJ5dGVzIHJlYWQiIFwKKyAgICAgICAgICAgIC1jICJbMS05XVswLTldKiBieXRlcyB3cml0dGVuIiBcCisgICAgICAgICAgICAtUyAiZXJyb3IiIFwKKyAgICAgICAgICAgIC1DICJlcnJvciIKKworcmVxdWlyZXNfcHJvdG9jb2xfdmVyc2lvbiBkdGxzMTIKK3J1bl90ZXN0ICAgICJTYW1wbGU6IGR0bHNfc2VydmVyLCBvcGVuc3NsIGNsaWVudCwgRFRMUyAxLjIiIFwKKyAgICAgICAgICAgIC1QIDQ0MzMgXAorICAgICAgICAgICAgIiRQUk9HUkFNU19ESVIvZHRsc19zZXJ2ZXIiIFwKKyAgICAgICAgICAgICIkT19DTEkgLWR0bHMxXzIiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHJlYWQiIFwKKyAgICAgICAgICAgIC1zICJbMS05XVswLTldKiBieXRlcyB3cml0dGVuIiBcCisgICAgICAgICAgICAtYyAiUHJvdG9jb2wuKlRMU3YxLjIiIFwKKyAgICAgICAgICAgIC1TICJlcnJvciIgXAorICAgICAgICAgICAgLUMgIkVSUk9SIgorCityZXF1aXJlc19wcm90b2NvbF92ZXJzaW9uIGR0bHMxMgorcnVuX3Rlc3QgICAgIlNhbXBsZTogZHRsc19zZXJ2ZXIsIGdudXRscyBjbGllbnQsIERUTFMgMS4yIiBcCisgICAgICAgICAgICAtUCA0NDMzIFwKKyAgICAgICAgICAgICIkUFJPR1JBTVNfRElSL2R0bHNfc2VydmVyIiBcCisgICAgICAgICAgICAiJEdfQ0xJIC11IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLVRMUy1BTEw6K1ZFUlMtVExTMS4yIGxvY2FsaG9zdCIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtcyAiWzEtOV1bMC05XSogYnl0ZXMgcmVhZCIgXAorICAgICAgICAgICAgLXMgIlsxLTldWzAtOV0qIGJ5dGVzIHdyaXR0ZW4iIFwKKyAgICAgICAgICAgIC1jICJEZXNjcmlwdGlvbjouKkRUTFMxLjIiIFwKKyAgICAgICAgICAgIC1TICJlcnJvciIgXAorICAgICAgICAgICAgLUMgIkVSUk9SIgpkaWZmIC0tZ2l0IGEvdGVzdHMvb3B0LXRlc3RjYXNlcy90bHMxMy1jb21wYXQuc2ggYi90ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLWNvbXBhdC5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggOWNmMjU1MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLWNvbXBhdC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MjM5ICswLDAgQEAKLSMhL2Jpbi9zaAotCi0jIHRsczEzLWNvbXBhdC5zaAotIwotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0jIFB1cnBvc2UKLSMKLSMgTGlzdCBUTFMxLjMgY29tcGF0IHRlc3QgY2FzZXMuIFRoZXkgYXJlIGdlbmVyYXRlZCBieQotIyBgLi90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3RsczEzX2NvbXBhdF90ZXN0cy5weSAtYSAtbyAuL3Rlc3RzL29wdC10ZXN0Y2FzZXMvdGxzMTMtY29tcGF0LnNoYC4KLSMKLSMgUExFQVNFIERPIE5PVCBFRElUIFRISVMgRklMRS4gSUYgTkVFREVELCBQTEVBU0UgTU9ESUZZIGBnZW5lcmF0ZV90bHMxM19jb21wYXRfdGVzdHMucHlgCi0jIEFORCBSRUdFTkVSQVRFIFRISVMgRklMRS4KLSMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDI1NnIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMzg0cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3A1MjFyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfR0NNX1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYseDI1NTE5LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfR0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LGZmZGhlMjA0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18yNTZfR0NNX1NIQTM4NCx4MjU1MTksZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQseDI1NTE5LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHg0NDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQseDQ0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18yNTZfR0NNX1NIQTM4NCx4NDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHg0NDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsZmZkaGUyMDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LGZmZGhlMjA0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMjU2cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDUyMXIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4MjU1MTkscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsZmZkaGUyMDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDI1NnIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMzg0cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3A1MjFyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNX1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYseDI1NTE5LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LGZmZGhlMjA0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDI1NnIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfR0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18yNTZfR0NNX1NIQTM4NCx4NDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18yNTZfR0NNX1NIQTM4NCxmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18yNTZfR0NNX1NIQTM4NCxmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNX1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDI1NnIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMjU2cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDUyMXIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0dDTV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1Nix4MjU1MTkscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9HQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0dDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9HQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUyMDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18yNTZfR0NNX1NIQTM4NCx4MjU1MTksZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMjU2X0dDTV9TSEEzODQseDI1NTE5LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LHg0NDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMjU2X0dDTV9TSEEzODQseDQ0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18yNTZfR0NNX1NIQTM4NCx4NDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LHg0NDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18yNTZfR0NNX1NIQTM4NCxmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzI1Nl9HQ01fU0hBMzg0LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMjU2X0dDTV9TSEEzODQsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18yNTZfR0NNX1NIQTM4NCxmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDI1NnIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMzg0cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3A1MjFyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDI1NTE5LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LGZmZGhlMjA0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMjU2cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDUyMXIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1Nix4MjU1MTkscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNX1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV9TSEEyNTYsZmZkaGUyMDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDI1NnIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgUC0yNTYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgcnNhX3Bzc19yc2FlX3NoYTI1NiAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBQLTUyMSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDI1NTE5LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgWDI1NTE5IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLWdyb3VwcyBYNDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyByc2FfcHNzX3JzYWVfc2hhMjU2IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiAtc2lnYWxncyBlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEFFU18xMjhfQ0NNXzhfU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC1jaXBoZXJzdWl0ZXMgVExTX0FFU18xMjhfQ0NNXzhfU0hBMjU2IC1zaWdhbGdzIHJzYV9wc3NfcnNhZV9zaGEyNTYgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMjU2cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMzg0cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0dDTV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1Nix4MjU1MTkscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9HQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0dDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9HQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDI1NnIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwMjU2cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDI1NnIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AzODRyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwMzg0cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDUyMXIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3A1MjFyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDUyMXIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQseDI1NTE5LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18yNTZfR0NNX1NIQTM4NCx4MjU1MTksZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQseDI1NTE5LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18yNTZfR0NNX1NIQTM4NCx4NDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzI1Nl9HQ01fU0hBMzg0LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQsZmZkaGUyMDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzI1Nl9HQ01fU0hBMzg0LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMjU2LUdDTTorU0hBMzg0OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18yNTZfR0NNX1NIQTM4NCxmZmRoZTIwNDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMjU2X0dDTV9TSEEzODQsZmZkaGUyMDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0yNTYtR0NNOitTSEEzODQ6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3A1MjFyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHg0NDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0hBQ0hBMjAtUE9MWTEzMDU6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NIQUNIQTIwLVBPTFkxMzA1OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LGZmZGhlMjA0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitDSEFDSEEyMC1QT0xZMTMwNTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMjU2cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMzg0cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1Nix4MjU1MTkscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTTorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNX1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwMjU2cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDI1NlIxLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NDorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDUyMXIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AzODRSMS1TSEEzODQ6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTI6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4MjU1MTkscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLUVDRFNBLVNFQ1AyNTZSMS1TSEEyNTY6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUNDTS04OitTSEEyNTY6K0FFQUQ6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1DQ00tODorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMzg0UjEtU0hBMzg0OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQNTIxUjEtU0hBNTEyOitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9DQ01fOF9TSEEyNTYsZmZkaGUyMDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtQ0NNLTg6K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwMzg0cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfR0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsc2VjcDUyMXIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfR0NNX1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfR0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfR0NNX1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMSApIC0gVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDEgKSAtIFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUyMDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAxICkgLSBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwMjU2cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDI1NnIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwMjU2cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwMzg0cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3AzODRyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3A1MjFyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsc2VjcDUyMXIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHNlY3A1MjFyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18yNTZfR0NNX1NIQTM4NCx4MjU1MTksZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQseDI1NTE5LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18yNTZfR0NNX1NIQTM4NCx4MjU1MTkscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LHg0NDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18yNTZfR0NNX1NIQTM4NCx4NDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LGZmZGhlMjA0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgKCBpZD00ODY2ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDIgKSAtIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18yNTZfR0NNX1NIQTM4NCxmZmRoZTIwNDgsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0ICggaWQ9NDg2NiApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAyICkgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMjU2X0dDTV9TSEEzODQsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzI1Nl9HQ01fU0hBMzg0LGZmZGhlMjA0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCAoIGlkPTQ4NjYgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMiApIC0gVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDI1NnIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3AzODRyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDI1NTE5LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LHg0NDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2ICggaWQ9NDg2NyApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzAzICkgLSBUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiAoIGlkPTQ4NjcgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwMyApIC0gVExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IENIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgKCBpZD00ODY3ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDMgKSAtIFRMUzEtMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDI1NnIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMjU2cjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMzg0cjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3AzODRyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwMzg0cjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDUyMXIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHNlY3A1MjFyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsc2VjcDUyMXIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYseDI1NTE5LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNX1NIQTI1Nix4MjU1MTksZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNX1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNX1NIQTI1Nix4NDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiAoIGlkPTQ4NjggKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNCApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgKCBpZD00ODY4ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDQgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNX1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV9TSEEyNTYsZmZkaGUyMDQ4LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2ICggaWQ9NDg2OCApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA0ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AyNTZyMSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHNlY3AyNTZyMSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDQwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NTAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDM4NHIxLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9c2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsc2VjcDM4NHIxLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwODA0ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNTAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1zZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg2MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixzZWNwNTIxcjEscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDQwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHgyNTUxOSxlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA2MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHgyNTUxOSxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4ODA0IiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDQ0OCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NDAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA0MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1Nix4NDQ4LGVjZHNhX3NlY3AzODRyMV9zaGEzODQiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMzg0cjFfc2hhMzg0IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg1MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDUwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LHg0NDgsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9eDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDYwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNjAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYseDQ0OCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPXg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg4MDQiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDgwNCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2ICggaWQ9NDg2OSApIiBcCi0gICAgICAgICAtcyAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHg0MDMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCAxMzA1ICkgLSBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYiIFwKLSAgICAgICAgIC1jICJDZXJ0aWZpY2F0ZSBWZXJpZnk6IFNpZ25hdHVyZSBhbGdvcml0aG0gKCAwNDAzICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEFFU18xMjhfQ0NNXzhfU0hBMjU2LGZmZGhlMjA0OCxlY2RzYV9zZWNwMzg0cjFfc2hhMzg0IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPWVjZHNhX3NlY3AzODRyMV9zaGEzODQgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDUwMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA1MDMgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogQUVTXzEyOF9DQ01fOF9TSEEyNTYsZmZkaGUyMDQ4LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiBzaWdfYWxncz1lY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBncm91cHM9ZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiAoIGlkPTQ4NjkgKSIgXAotICAgICAgICAgLXMgInJlY2VpdmVkIHNpZ25hdHVyZSBhbGdvcml0aG06IDB4NjAzIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6ICggMTMwNSApIC0gVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IiBcCi0gICAgICAgICAtYyAiQ2VydGlmaWNhdGUgVmVyaWZ5OiBTaWduYXR1cmUgYWxnb3JpdGhtICggMDYwMyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLUMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBBRVNfMTI4X0NDTV84X1NIQTI1NixmZmRoZTIwNDgscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1DQ00tOC1TSEEyNTYgKCBpZD00ODY5ICkiIFwKLSAgICAgICAgIC1zICJyZWNlaXZlZCBzaWduYXR1cmUgYWxnb3JpdGhtOiAweDgwNCIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiAoIDEzMDUgKSAtIFRMUzEtMy1BRVMtMTI4LUNDTS04LVNIQTI1NiIgXAotICAgICAgICAgLWMgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIDA4MDQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHNlY3AyNTZyMSAtPiBzZWNwMzg0cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWdyb3VwcyBQLTI1NjpQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDM4NHIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHNlY3AyNTZyMSAtPiBzZWNwNTIxcjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWdyb3VwcyBQLTI1NjpQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDUyMXIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHNlY3AyNTZyMSAtPiB4MjU1MTkiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWdyb3VwcyBQLTI1NjpYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiBzZWNwMjU2cjEgLT4geDQ0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWdyb3VwcyBQLTI1NjpYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiBzZWNwMjU2cjEgLT4gZmZkaGUyMDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgUC0yNTY6ZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBmZmRoZTIwNDgiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBIUlIgc2VjcDM4NHIxIC0+IHNlY3AyNTZyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIFAtMzg0OlAtMjU2IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMjU2cjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBIUlIgc2VjcDM4NHIxIC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIFAtMzg0OlAtNTIxIC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwNTIxcjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBIUlIgc2VjcDM4NHIxIC0+IHgyNTUxOSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIFAtMzg0OlgyNTUxOSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDI1NTE5IgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHNlY3AzODRyMSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIFAtMzg0Olg0NDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiB4NDQ4IgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHNlY3AzODRyMSAtPiBmZmRoZTIwNDgiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWdyb3VwcyBQLTM4NDpmZmRoZTIwNDggLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IGZmZGhlMjA0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiBzZWNwNTIxcjEgLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgUC01MjE6UC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AyNTZyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiBzZWNwNTIxcjEgLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgUC01MjE6UC0zODQgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AzODRyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiBzZWNwNTIxcjEgLT4geDI1NTE5IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgUC01MjE6WDI1NTE5IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiB4MjU1MTkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBIUlIgc2VjcDUyMXIxIC0+IHg0NDgiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgUC01MjE6WDQ0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHg0NDgiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBIUlIgc2VjcDUyMXIxIC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIFAtNTIxOmZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogZmZkaGUyMDQ4IgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHgyNTUxOSAtPiBzZWNwMjU2cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWdyb3VwcyBYMjU1MTk6UC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AyNTZyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiB4MjU1MTkgLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgWDI1NTE5OlAtMzg0IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMzg0cjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBIUlIgeDI1NTE5IC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIFgyNTUxOTpQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDUyMXIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHgyNTUxOSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIFgyNTUxOTpYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiB4MjU1MTkgLT4gZmZkaGUyMDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgWDI1NTE5OmZmZGhlMjA0OCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogZmZkaGUyMDQ4IgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHg0NDggLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgWDQ0ODpQLTI1NiAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDI1NnIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHg0NDggLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgWDQ0ODpQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDM4NHIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHg0NDggLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgWDQ0ODpQLTUyMSAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDUyMXIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIHg0NDggLT4geDI1NTE5IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgWDQ0ODpYMjU1MTkgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiB4NDQ4IC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIFg0NDg6ZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBmZmRoZTIwNDgiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIGZmZGhlMjA0OCAtPiBzZWNwMjU2cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWdyb3VwcyBmZmRoZTIwNDg6UC0yNTYgLW1zZyAtdGxzMV8zIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AyNTZyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1ydW5fdGVzdCAiVExTIDEuMyBPLT5tOiBIUlIgZmZkaGUyMDQ4IC0+IHNlY3AzODRyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIGZmZGhlMjA0ODpQLTM4NCAtbXNnIC10bHMxXzMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDM4NHIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2ZmZGgKLXJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IEhSUiBmZmRoZTIwNDggLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC1ncm91cHMgZmZkaGUyMDQ4OlAtNTIxIC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwNTIxcjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIGZmZGhlMjA0OCAtPiB4MjU1MTkiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLWdyb3VwcyBmZmRoZTIwNDg6WDI1NTE5IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiB4MjU1MTkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcnVuX3Rlc3QgIlRMUyAxLjMgTy0+bTogSFJSIGZmZGhlMjA0OCAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtZ3JvdXBzIGZmZGhlMjA0ODpYNDQ4IC1tc2cgLXRsczFfMyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHNlY3AyNTZyMSAtPiBzZWNwMzg0cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVNFQ1AyNTZSMTorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMzg0cjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEhSUiBzZWNwMjU2cjEgLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1TRUNQMjU2UjE6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDUyMXIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgc2VjcDI1NnIxIC0+IHgyNTUxOSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDI1NlIxOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHNlY3AyNTZyMSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDI1NlIxOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgc2VjcDI1NnIxIC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDI1NlIxOitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IGZmZGhlMjA0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHNlY3AzODRyMSAtPiBzZWNwMjU2cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVNFQ1AzODRSMTorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMjU2cjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEhSUiBzZWNwMzg0cjEgLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1TRUNQMzg0UjE6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDUyMXIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgc2VjcDM4NHIxIC0+IHgyNTUxOSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDM4NFIxOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHNlY3AzODRyMSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDM4NFIxOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgc2VjcDM4NHIxIC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDM4NFIxOitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IGZmZGhlMjA0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHNlY3A1MjFyMSAtPiBzZWNwMjU2cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVNFQ1A1MjFSMTorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMjU2cjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEhSUiBzZWNwNTIxcjEgLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1TRUNQNTIxUjE6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDM4NHIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgc2VjcDUyMXIxIC0+IHgyNTUxOSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDUyMVIxOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHNlY3A1MjFyMSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDUyMVIxOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgc2VjcDUyMXIxIC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDUyMVIxOitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IGZmZGhlMjA0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHgyNTUxOSAtPiBzZWNwMjU2cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVgyNTUxOTorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMjU2cjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEhSUiB4MjU1MTkgLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1YMjU1MTk6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDM4NHIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgeDI1NTE5IC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtWDI1NTE5OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3A1MjFyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHgyNTUxOSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtWDI1NTE5OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgeDI1NTE5IC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtWDI1NTE5OitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IGZmZGhlMjA0OCIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHg0NDggLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1YNDQ4OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AyNTZyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHg0NDggLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1YNDQ4OitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AzODRyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHg0NDggLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1YNDQ4OitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3A1MjFyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIHg0NDggLT4geDI1NTE5IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1YNDQ4OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgeDQ0OCAtPiBmZmRoZTIwNDgiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVg0NDg6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogZmZkaGUyMDQ4IgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgZmZkaGUyMDQ4IC0+IHNlY3AyNTZyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtRkZESEUyMDQ4OitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AyNTZyMSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIGZmZGhlMjA0OCAtPiBzZWNwMzg0cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLUZGREhFMjA0ODorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMzg0cjEiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEhSUiBmZmRoZTIwNDggLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1GRkRIRTIwNDg6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3A1MjFyMSgwMDE5KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDUyMXIxIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1ydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBIUlIgZmZkaGUyMDQ4IC0+IHgyNTUxOSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtRkZESEUyMDQ4OitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogSFJSIGZmZGhlMjA0OCAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtRkZESEUyMDQ4OitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiBzZWNwMjU2cjEgLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBQLTM4NCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEsc2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI0ICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgc2VjcDI1NnIxIC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxLHNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNSApIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHNlY3AyNTZyMSAtPiB4MjU1MTkiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEseDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgc2VjcDI1NnIxIC0+IHg0NDgiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxLHg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDMwICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHNlY3AyNTZyMSAtPiBmZmRoZTIwNDgiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEsZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNTYgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiBzZWNwMzg0cjEgLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEsc2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDIzICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgc2VjcDM4NHIxIC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxLHNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNSApIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHNlY3AzODRyMSAtPiB4MjU1MTkiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEseDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgc2VjcDM4NHIxIC0+IHg0NDgiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxLHg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDMwICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHNlY3AzODRyMSAtPiBmZmRoZTIwNDgiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEsZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNTYgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiBzZWNwNTIxcjEgLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEsc2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDIzICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgc2VjcDUyMXIxIC0+IHNlY3AzODRyMSIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxLHNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNCApIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHNlY3A1MjFyMSAtPiB4MjU1MTkiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFgyNTUxOSAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEseDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgc2VjcDUyMXIxIC0+IHg0NDgiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFg0NDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxLHg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDMwICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHNlY3A1MjFyMSAtPiBmZmRoZTIwNDgiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIGZmZGhlMjA0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEsZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNTYgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiB4MjU1MTkgLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTksc2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDIzICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgeDI1NTE5IC0+IHNlY3AzODRyMSIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5LHNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNCApIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHgyNTUxOSAtPiBzZWNwNTIxcjEiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSxzZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjUgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiB4MjU1MTkgLT4geDQ0OCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkseDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMzAgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9mZmRoCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgeDI1NTE5IC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgZmZkaGUyMDQ4IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSxmZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI1NiApIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHg0NDggLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4LHNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjMgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiB4NDQ4IC0+IHNlY3AzODRyMSIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgUC0zODQgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCxzZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI0ICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgeDQ0OCAtPiBzZWNwNTIxcjEiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFAtNTIxIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDgsc2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNSApIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHg0NDggLT4geDI1NTE5IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCx4MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIHg0NDggLT4gZmZkaGUyMDQ4IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBmZmRoZTIwNDggLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCxmZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNTYgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiBmZmRoZTIwNDggLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgsc2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyMyApIgotCi1yZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+TzogSFJSIGZmZGhlMjA0OCAtPiBzZWNwMzg0cjEiIFwKLSAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAta2V5IGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtZ3JvdXBzIFAtMzg0IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCxzZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBvayIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI0ICkiCi0KLXJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5POiBIUlIgZmZkaGUyMDQ4IC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgUC01MjEgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4LHNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjUgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiBmZmRoZTIwNDggLT4geDI1NTE5IiBcCi0gICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLWtleSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLWdyb3VwcyBYMjU1MTkgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4LHgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjkgKSIKLQotcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPk86IEhSUiBmZmRoZTIwNDggLT4geDQ0OCIgXAotICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC1rZXkgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC1ncm91cHMgWDQ0OCAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgseDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIG9rIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDMwICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiBzZWNwMjU2cjEgLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDM4NFIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxLHNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNCApIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBIUlIgc2VjcDI1NnIxIC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSxzZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjUgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHNlY3AyNTZyMSAtPiB4MjU1MTkiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1YMjU1MTk6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEseDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiBzZWNwMjU2cjEgLT4geDQ0OCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEseDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMzAgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHNlY3AyNTZyMSAtPiBmZmRoZTIwNDgiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEsZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNTYgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHNlY3AzODRyMSAtPiBzZWNwMjU2cjEiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1TRUNQMjU2UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEsc2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDIzICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiBzZWNwMzg0cjEgLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDUyMVIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxLHNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNSApIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBIUlIgc2VjcDM4NHIxIC0+IHgyNTUxOSIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVgyNTUxOTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSx4MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjkgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHNlY3AzODRyMSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSx4NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAzMCApIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBIUlIgc2VjcDM4NHIxIC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSxmZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI1NiApIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBIUlIgc2VjcDUyMXIxIC0+IHNlY3AyNTZyMSIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVNFQ1AyNTZSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSxzZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjMgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHNlY3A1MjFyMSAtPiBzZWNwMzg0cjEiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEsc2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI0ICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiBzZWNwNTIxcjEgLT4geDI1NTE5IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxLHgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyOSApIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBIUlIgc2VjcDUyMXIxIC0+IHg0NDgiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1YNDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxLHg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDMwICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiBzZWNwNTIxcjEgLT4gZmZkaGUyMDQ4IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtRkZESEUyMDQ4OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxLGZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjU2ICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiB4MjU1MTkgLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5LHNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyMyApIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBIUlIgeDI1NTE5IC0+IHNlY3AzODRyMSIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSxzZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjQgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHgyNTUxOSAtPiBzZWNwNTIxcjEiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTksc2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI1ICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiB4MjU1MTkgLT4geDQ0OCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVg0NDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkseDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMzAgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHgyNTUxOSAtPiBmZmRoZTIwNDgiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1GRkRIRTIwNDg6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTksZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNTYgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHg0NDggLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCxzZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDIzICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiB4NDQ4IC0+IHNlY3AzODRyMSIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVNFQ1AzODRSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDgsc2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNCApIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBIUlIgeDQ0OCAtPiBzZWNwNTIxcjEiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1TRUNQNTIxUjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4LHNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjUgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIHg0NDggLT4geDI1NTE5IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCx4MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiB4NDQ4IC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLUZGREhFMjA0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDgsZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjU2ICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiBmZmRoZTIwNDggLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtU0VDUDI1NlIxOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4LHNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjMgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIGZmZGhlMjA0OCAtPiBzZWNwMzg0cjEiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSAtLXByaW9yaXR5PU5PTkU6K0NJUEhFUi1BTEw6K01BQy1BTEw6K1NJR04tQUxMOitHUk9VUC1TRUNQMzg0UjE6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgsc2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNCApIgotCi1yZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKLXJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBIUlIgZmZkaGUyMDQ4IC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IC0tcHJpb3JpdHk9Tk9ORTorQ0lQSEVSLUFMTDorTUFDLUFMTDorU0lHTi1BTEw6K0dST1VQLVNFQ1A1MjFSMTorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCxzZWNwNTIxcjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI1ICkiCi0KLXJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAotcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEhSUiBmZmRoZTIwNDggLT4geDI1NTE5IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtWDI1NTE5OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4LHgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjkgKSIKLQotcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0Ci1yZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogSFJSIGZmZGhlMjA0OCAtPiB4NDQ4IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgLS1wcmlvcml0eT1OT05FOitDSVBIRVItQUxMOitNQUMtQUxMOitTSUdOLUFMTDorR1JPVVAtWDQ0ODorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCx4NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMzAgKSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHNlY3AyNTZyMSAtPiBzZWNwMzg0cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSxzZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMzg0cjEiIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNCApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBIUlIgc2VjcDI1NnIxIC0+IHNlY3A1MjFyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxLHNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3A1MjFyMSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI1ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBzZWNwMjU2cjEgLT4geDI1NTE5IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEseDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDI1NTE5IiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjkgKSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHNlY3AyNTZyMSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxLHg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHg0NDgiIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAzMCApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBzZWNwMjU2cjEgLT4gZmZkaGUyMDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEsZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IGZmZGhlMjA0OCIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI1NiApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBIUlIgc2VjcDM4NHIxIC0+IHNlY3AyNTZyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDI1NnIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxLHNlY3AyNTZyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDI1NnIxKDAwMTcpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AyNTZyMSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDIzICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBzZWNwMzg0cjEgLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEsc2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDUyMXIxIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjUgKSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHNlY3AzODRyMSAtPiB4MjU1MTkiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSx4MjU1MTkiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHgyNTUxOSgwMDFkKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiB4MjU1MTkiIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyOSApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBIUlIgc2VjcDM4NHIxIC0+IHg0NDgiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEseDQ0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDQ0OCgwMDFlKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDMwICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHNlY3AzODRyMSAtPiBmZmRoZTIwNDgiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSxmZmRoZTIwNDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IGZmZGhlMjA0OCgwMTAwKSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogZmZkaGUyMDQ4IiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjU2ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBzZWNwNTIxcjEgLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEsc2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AyNTZyMSAoIDE3ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDI1NnIxIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjMgKSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHNlY3A1MjFyMSAtPiBzZWNwMzg0cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AzODRyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSxzZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDM4NHIxICggMTggKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMzg0cjEiIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNCApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBIUlIgc2VjcDUyMXIxIC0+IHgyNTUxOSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxLHgyNTUxOSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogeDI1NTE5KDAwMWQpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBzZWNwNTIxcjEgLT4geDQ0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3A1MjFyMSx4NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiB4NDQ4IiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMzAgKSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4Ci1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBIUlIgc2VjcDUyMXIxIC0+IGZmZGhlMjA0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9ZmZkaGUyMDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDUyMXIxLGZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBmZmRoZTIwNDggKCAxMDAgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBmZmRoZTIwNDgiIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNTYgKSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHgyNTUxOSAtPiBzZWNwMjU2cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSxzZWNwMjU2cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AyNTZyMSgwMDE3KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDI1NnIxICggMTcgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwMjU2cjEiIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyMyApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBIUlIgeDI1NTE5IC0+IHNlY3AzODRyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5LHNlY3AzODRyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDM4NHIxKDAwMTgpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHgyNTUxOSAoIDFkICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AzODRyMSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI0ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiB4MjU1MTkgLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTksc2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3A1MjFyMSAoIDE5ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDUyMXIxIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjUgKSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHgyNTUxOSAtPiB4NDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDI1NTE5LHg0NDgiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHg0NDgoMDAxZSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHg0NDgiIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAzMCApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiB4MjU1MTkgLT4gZmZkaGUyMDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTksZmZkaGUyMDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBmZmRoZTIwNDgoMDEwMCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDI1NTE5ICggMWQgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IGZmZGhlMjA0OCIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI1NiApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBIUlIgeDQ0OCAtPiBzZWNwMjU2cjEiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXNlY3AyNTZyMSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDgsc2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AyNTZyMSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDIzICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiB4NDQ4IC0+IHNlY3AzODRyMSIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9c2VjcDM4NHIxIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCxzZWNwMzg0cjEiIFwKLSAgICAgICAgIDAgXAotICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1zICJnb3QgbmFtZWQgZ3JvdXA6IHNlY3AzODRyMSgwMDE4KSIgXAotICAgICAgICAgLXMgIkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIgXAotICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4NDQ4ICggMWUgKSIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHNlY3AzODRyMSAoIDE4ICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogc2VjcDM4NHIxIiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjQgKSIKLQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHg0NDggLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4LHNlY3A1MjFyMSIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogc2VjcDUyMXIxKDAwMTkpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogc2VjcDUyMXIxICggMTkgKSIgXAotICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCi0gICAgICAgICAtcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiBzZWNwNTIxcjEiIFwKLSAgICAgICAgIC1jICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiBcCi0gICAgICAgICAtYyAic2VsZWN0ZWRfZ3JvdXAgKCAyNSApIgotCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1ydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBIUlIgeDQ0OCAtPiB4MjU1MTkiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXgyNTUxOSB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPXg0NDgseDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OAotcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogSFJSIHg0NDggLT4gZmZkaGUyMDQ4IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDggdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14NDQ4LGZmZGhlMjA0OCIgXAotICAgICAgICAgMCBcCi0gICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLXMgImdvdCBuYW1lZCBncm91cDogZmZkaGUyMDQ4KDAxMDApIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IHg0NDggKCAxZSApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogZmZkaGUyMDQ4IiBcCi0gICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgLWMgInNlbGVjdGVkX2dyb3VwICggMjU2ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBmZmRoZTIwNDggLT4gc2VjcDI1NnIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMjU2cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgsc2VjcDI1NnIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMjU2cjEoMDAxNykiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMjU2cjEgKCAxNyApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AyNTZyMSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDIzICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBmZmRoZTIwNDggLT4gc2VjcDM4NHIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwMzg0cjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgsc2VjcDM4NHIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwMzg0cjEoMDAxOCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwMzg0cjEgKCAxOCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3AzODRyMSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI0ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBmZmRoZTIwNDggLT4gc2VjcDUyMXIxIiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1zZWNwNTIxcjEgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgsc2VjcDUyMXIxIiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiBzZWNwNTIxcjEoMDAxOSkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiBzZWNwNTIxcjEgKCAxOSApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHNlY3A1MjFyMSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI1ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBmZmRoZTIwNDggLT4geDI1NTE5IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz14MjU1MTkgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQgZGVidWdfbGV2ZWw9NCBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2IGdyb3Vwcz1mZmRoZTIwNDgseDI1NTE5IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4MjU1MTkoMDAxZCkiIFwKLSAgICAgICAgIC1zICJDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gd2FzIHNraXBwZWQiIFwKLSAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogZmZkaGUyMDQ4ICggMTAwICkiIFwKLSAgICAgICAgIC1jICJOYW1lZEdyb3VwOiB4MjU1MTkgKCAxZCApIiBcCi0gICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKLSAgICAgICAgIC1zICJIUlIgc2VsZWN0ZWRfZ3JvdXA6IHgyNTUxOSIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDI5ICkiCi0KLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgKLXJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEhSUiBmZmRoZTIwNDggLT4geDQ0OCIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IGRlYnVnX2xldmVsPTQgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBncm91cHM9eDQ0OCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCBkZWJ1Z19sZXZlbD00IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgZ3JvdXBzPWZmZGhlMjA0OCx4NDQ4IiBcCi0gICAgICAgICAwIFwKLSAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCi0gICAgICAgICAtcyAiZ290IG5hbWVkIGdyb3VwOiB4NDQ4KDAwMWUpIiBcCi0gICAgICAgICAtcyAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIiBcCi0gICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAotICAgICAgICAgLWMgIk5hbWVkR3JvdXA6IGZmZGhlMjA0OCAoIDEwMCApIiBcCi0gICAgICAgICAtYyAiTmFtZWRHcm91cDogeDQ0OCAoIDFlICkiIFwKLSAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAotICAgICAgICAgLXMgIkhSUiBzZWxlY3RlZF9ncm91cDogeDQ0OCIgXAotICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgIC1jICJzZWxlY3RlZF9ncm91cCAoIDMwICkiCmRpZmYgLS1naXQgYS90ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLWtleC1tb2Rlcy5zaCBiL3Rlc3RzL29wdC10ZXN0Y2FzZXMvdGxzMTMta2V4LW1vZGVzLnNoCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQKaW5kZXggYmQ0Zjg3Ny4uMWJiMjUxZgotLS0gYS90ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLWtleC1tb2Rlcy5zaAorKysgYi90ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLWtleC1tb2Rlcy5zaApAQCAtMSwxNiArMSwxNiBAQAotIyEvYmluL3NoCi0KLSMgdGxzMTMta2V4LW1vZGVzLnNoCi0jCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLSMKKyMgU3lzdGVtYXRpYyB0ZXN0aW5nIG9mIFRMUyAxLjMga2V5IGV4Y2hhbmdlIG1vZGVzLgogCiAjIERPIE5PVCBBREQgTkVXIFRFU1QgQ0FTRVMgSU5UTyBUSElTIEZJTEUuIFRoZSBsZWZ0IGNhc2VzIHdpbGwgYmUgZ2VuZXJhdGVkIGJ5CiAjIHNjcmlwdHMgaW4gZnV0dXJlKCM2MjgwKQogCisjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKyMKKwogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogYWxsL3BzaywgZ29vZCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtMjksNyArMjksOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGFsbC9wc2ssIGZhaWwsIGtleSBpZCBtaXNtYXRjaCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtNDcsNyArNDksOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGFsbC9wc2ssIGZhaWwsIGtleSBtYXRlcmlhbCBtaXNtYXRjaCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtNjUsNyArNjksOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IHBza19vcl9lcGhlbWVyYWwvcHNrLCBnb29kIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2sgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCkBAIC04NCw3ICs5MCw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogcHNrX29yX2VwaGVtZXJhbC9wc2ssIGZhaWwsIGtleSBpZCBtaXNtYXRjaCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtMTAyLDcgKzExMCw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogcHNrX29yX2VwaGVtZXJhbC9wc2ssIGZhaWwsIGtleSBtYXRlcmlhbCBtaXNtYXRjaCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtMTIwLDcgKzEzMCw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGVwaGVtZXJhbF9hbGwvcHNrX2VwaGVtZXJhbCwgZ29vZCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKQEAgLTEzOSw3ICsxNTEsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBlcGhlbWVyYWxfYWxsL3Bza19lcGhlbWVyYWwsIGZhaWwsIGtleSBpZCBtaXNtYXRjaCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKQEAgLTE1Nyw3ICsxNzEsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBlcGhlbWVyYWxfYWxsL3Bza19lcGhlbWVyYWwsIGZhaWwsIGtleSBtYXRlcmlhbCBtaXNtYXRjaCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKQEAgLTE3NSw3ICsxOTEsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBhbGwvcHNrX2VwaGVtZXJhbCwgZ29vZCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKQEAgLTE5NCw3ICsyMTIsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBhbGwvcHNrX2VwaGVtZXJhbCwgZmFpbCwga2V5IGlkIG1pc21hdGNoIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtMjEyLDcgKzIzMiw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGFsbC9wc2tfZXBoZW1lcmFsLCBmYWlsLCBrZXkgbWF0ZXJpYWwgbWlzbWF0Y2giIFwKICAgICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPXBza19lcGhlbWVyYWwgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCkBAIC0yMzAsNyArMjUyLDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogcHNrX29yX2VwaGVtZXJhbC9wc2tfZXBoZW1lcmFsLCBmYWlsLCBubyBjb21tb24ga2V4IG1vZGUiIFwKICAgICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPXBza19lcGhlbWVyYWwgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCkBAIC0yNDcsNyArMjcxLDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBlcGhlbWVyYWxfYWxsL3Bza19hbGwsIGdvb2QiIFwKQEAgLTI2Nyw3ICsyOTMsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGVwaGVtZXJhbF9hbGwvcHNrX2FsbCwgZmFpbCwga2V5IGlkIG1pc21hdGNoIiBcCkBAIC0yODYsNyArMzE0LDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBlcGhlbWVyYWxfYWxsL3Bza19hbGwsIGZhaWwsIGtleSBtYXRlcmlhbCBtaXNtYXRjaCIgXApAQCAtMzA1LDcgKzMzNSw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogYWxsL3Bza19hbGwsIGdvb2QiIFwKQEAgLTMyNSw3ICszNTcsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGFsbC9wc2tfYWxsLCBmYWlsLCBrZXkgaWQgbWlzbWF0Y2giIFwKQEAgLTM0NCw3ICszNzgsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGFsbC9wc2tfYWxsLCBmYWlsLCBrZXkgbWF0ZXJpYWwgbWlzbWF0Y2giIFwKQEAgLTM2Myw3ICszOTksOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IHBza19vcl9lcGhlbWVyYWwvcHNrX2FsbCwgZ29vZCIgXApAQCAtMzgzLDcgKzQyMSw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogcHNrX29yX2VwaGVtZXJhbC9wc2tfYWxsLCBmYWlsLCBrZXkgaWQgbWlzbWF0Y2giIFwKQEAgLTQwMiw3ICs0NDIsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IHBza19vcl9lcGhlbWVyYWwvcHNrX2FsbCwgZmFpbCwga2V5IG1hdGVyaWFsIG1pc21hdGNoIiBcCkBAIC00MjEsNyArNDYzLDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBlcGhlbWVyYWxfYWxsL2VwaGVtZXJhbF9hbGwsIGdvb2QiIFwKQEAgLTQ0MSw3ICs0ODUsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGVwaGVtZXJhbF9hbGwvZXBoZW1lcmFsX2FsbCwgZ29vZCwga2V5IGlkIG1pc21hdGNoLCBkaGUuIiBcCkBAIC00NjAsNyArNTA2LDkgQEAKICAgICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBlcGhlbWVyYWxfYWxsL2VwaGVtZXJhbF9hbGwsIGZhaWwsIGtleSBtYXRlcmlhbCBtaXNtYXRjaCIgXApAQCAtNDc5LDcgKzUyNyw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogYWxsL2VwaGVtZXJhbF9hbGwsIGdvb2QiIFwKQEAgLTQ5OSw3ICs1NDksOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGFsbC9lcGhlbWVyYWxfYWxsLCBnb29kLCBrZXkgaWQgbWlzbWF0Y2gsIGRoZS4iIFwKQEAgLTUxOCw3ICs1NzAsOSBAQAogICAgICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGFsbC9lcGhlbWVyYWxfYWxsLCBmYWlsLCBrZXkgbWF0ZXJpYWwgbWlzbWF0Y2giIFwKQEAgLTUzNyw3ICs1OTEsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IHBza19vcl9lcGhlbWVyYWwvZXBoZW1lcmFsX2FsbCwgZ29vZCIgXApAQCAtNTU4LDcgKzYxNCw5IEBACiAgICAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKQEAgLTU3OSw3ICs2MzcsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC01OTksNyArNjU5LDkgQEAKICAgICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRApAQCAtNjE5LDcgKzY4MSw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKQEAgLTY0MCw3ICs3MDQsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC02NjAsNyArNzI2LDkgQEAKICAgICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRApAQCAtNjgwLDcgKzc0OCw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKQEAgLTcwMSw3ICs3NzEsOSBAQAogICAgICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC03MjEsNyArNzkzLDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IGVwaGVtZXJhbF9hbGwvcHNrX29yX2VwaGVtZXJhbCwgZ29vZCIgXApAQCAtNzQyLDcgKzgxNiw5IEBACiAgICAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBhbGwvcHNrX29yX2VwaGVtZXJhbCwgZ29vZCIgXApAQCAtNzYyLDcgKzgzOCw5IEBACiAgICAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBhbGwvcHNrX29yX2VwaGVtZXJhbCwgZmFpbCwga2V5IG1hdGVyaWFsIG1pc21hdGNoIiBcCkBAIC03ODEsNyArODU5LDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IHBza19vcl9lcGhlbWVyYWwvcHNrX29yX2VwaGVtZXJhbCwgZ29vZCIgXApAQCAtODAxLDcgKzg4MSw5IEBACiAgICAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBwc2tfb3JfZXBoZW1lcmFsL3Bza19vcl9lcGhlbWVyYWwsIGZhaWwsIGtleSBtYXRlcmlhbCBtaXNtYXRjaCIgXApAQCAtODIwLDcgKzkwMiw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBwc2tfZXBoZW1lcmFsIGdyb3VwKHNlY3AyNTZyMSkgY2hlY2ssIGdvb2QiIFwKQEAgLTgzNSw3ICs5MTksOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogcHNrX2VwaGVtZXJhbCBncm91cChzZWNwMzg0cjEpIGNoZWNrLCBnb29kIiBcCkBAIC04NTAsNyArOTM2LDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEctPm06IHBza19lcGhlbWVyYWwgZ3JvdXAoc2VjcDUyMXIxKSBjaGVjaywgZ29vZCIgXApAQCAtODY1LDcgKzk1Myw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBwc2tfZXBoZW1lcmFsIGdyb3VwKHgyNTUxOSkgY2hlY2ssIGdvb2QiIFwKQEAgLTg4MCw3ICs5NzAsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogcHNrX2VwaGVtZXJhbCBncm91cCh4NDQ4KSBjaGVjaywgZ29vZCIgXApAQCAtODk1LDcgKzk4Nyw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IE8tPm06IGVwaGVtZXJhbF9hbGwvcHNrLCBmYWlsLCBubyBjb21tb24ga2V4IG1vZGUiIFwKICAgICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPXBzayBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKQEAgLTkxMSw3ICsxMDA1LDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogYWxsL3BzaywgZ29vZCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtOTI5LDcgKzEwMjUsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBPLT5tOiBhbGwvcHNrLCBmYWlsLCBrZXkgaWQgbWlzbWF0Y2giIFwKICAgICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPXBzayBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKQEAgLTk0Niw3ICsxMDQ0LDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogYWxsL3BzaywgZmFpbCwga2V5IG1hdGVyaWFsIG1pc21hdGNoIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2sgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCkBAIC05NjMsNyArMTA2Myw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IE8tPm06IGVwaGVtZXJhbF9hbGwvcHNrX2VwaGVtZXJhbCwgZ29vZCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKQEAgLTk4MSw3ICsxMDgzLDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogZXBoZW1lcmFsX2FsbC9wc2tfZXBoZW1lcmFsLCBmYWlsLCBrZXkgaWQgbWlzbWF0Y2giIFwKICAgICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPXBza19lcGhlbWVyYWwgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCkBAIC05OTgsNyArMTEwMiw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IE8tPm06IGVwaGVtZXJhbF9hbGwvcHNrX2VwaGVtZXJhbCwgZmFpbCwga2V5IG1hdGVyaWFsIG1pc21hdGNoIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtMTAxNSw3ICsxMTIxLDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogYWxsL3Bza19lcGhlbWVyYWwsIGdvb2QiIFwKICAgICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPXBza19lcGhlbWVyYWwgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCkBAIC0xMDMzLDcgKzExNDEsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBPLT5tOiBhbGwvcHNrX2VwaGVtZXJhbCwgZmFpbCwga2V5IGlkIG1pc21hdGNoIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXApAQCAtMTA1MCw3ICsxMTYwLDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogYWxsL3Bza19lcGhlbWVyYWwsIGZhaWwsIGtleSBtYXRlcmlhbCBtaXNtYXRjaCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKQEAgLTEwNjcsNyArMTE3OSw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogZXBoZW1lcmFsX2FsbC9wc2tfYWxsLCBnb29kIiBcCkBAIC0xMDg2LDcgKzEyMDAsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IE8tPm06IGVwaGVtZXJhbF9hbGwvcHNrX2FsbCwgZmFpbCwga2V5IGlkIG1pc21hdGNoIiBcCkBAIC0xMTA0LDcgKzEyMjAsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IE8tPm06IGVwaGVtZXJhbF9hbGwvcHNrX2FsbCwgZmFpbCwga2V5IG1hdGVyaWFsIG1pc21hdGNoIiBcCkBAIC0xMTIyLDcgKzEyNDAsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IE8tPm06IGFsbC9wc2tfYWxsLCBnb29kIiBcCkBAIC0xMTQxLDcgKzEyNjEsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IE8tPm06IGFsbC9wc2tfYWxsLCBmYWlsLCBrZXkgaWQgbWlzbWF0Y2giIFwKQEAgLTExNTksNyArMTI4MSw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogYWxsL3Bza19hbGwsIGZhaWwsIGtleSBtYXRlcmlhbCBtaXNtYXRjaCIgXApAQCAtMTE3Nyw3ICsxMzAxLDkgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBPLT5tOiBlcGhlbWVyYWxfYWxsL2VwaGVtZXJhbF9hbGwsIGdvb2QiIFwKQEAgLTExOTYsNyArMTMyMiw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogZXBoZW1lcmFsX2FsbC9lcGhlbWVyYWxfYWxsLCBnb29kLCBrZXkgaWQgbWlzbWF0Y2gsIGRoZS4iIFwKQEAgLTEyMTQsNyArMTM0Miw5IEBACiAgICAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogZXBoZW1lcmFsX2FsbC9lcGhlbWVyYWxfYWxsLCBmYWlsLCBrZXkgbWF0ZXJpYWwgbWlzbWF0Y2giIFwKQEAgLTEyMzIsNyArMTM2Miw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogYWxsL2VwaGVtZXJhbF9hbGwsIGdvb2QiIFwKQEAgLTEyNTEsNyArMTM4Myw5IEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogYWxsL2VwaGVtZXJhbF9hbGwsIGdvb2QsIGtleSBpZCBtaXNtYXRjaCwgZGhlLiIgXApAQCAtMTI2OSw3ICsxNDAzLDkgQEAKICAgICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBPLT5tOiBhbGwvZXBoZW1lcmFsX2FsbCwgZmFpbCwga2V5IG1hdGVyaWFsIG1pc21hdGNoIiBcCkBAIC0xMjg3LDcgKzE0MjMsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC0xMzA3LDcgKzE0NDUsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC0xMzI2LDcgKzE0NjYsOSBAQAogICAgICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC0xMzQ1LDcgKzE0ODcsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC0xMzY1LDcgKzE1MDksOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC0xMzg0LDcgKzE1MzAsOSBAQAogICAgICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC0xNDAzLDcgKzE1NTEsOSBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogZXBoZW1lcmFsX2FsbC9wc2tfb3JfZXBoZW1lcmFsLCBnb29kIiBcCkBAIC0xNDIzLDcgKzE1NzMsOSBAQAogICAgICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogYWxsL3Bza19vcl9lcGhlbWVyYWwsIGdvb2QiIFwKQEAgLTE0NDIsNyArMTU5NCw5IEBACiAgICAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBPLT5tOiBhbGwvcHNrX29yX2VwaGVtZXJhbCwgZmFpbCwga2V5IG1hdGVyaWFsIG1pc21hdGNoIiBcCkBAIC0xNDYwLDEwICsxNjE0LDEyIEBACiAgICAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfV0FOVF9BTEdfRUNESCBQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NgogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IE8tPm06IHBza19lcGhlbWVyYWwgZ3JvdXAoc2VjcDI1NnIxKSBjaGVjaywgZ29vZCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01IHBza19pZGVudGl0eT1DbGllbnRfaWRlbnRpdHkgcHNrPTYxNjI2MzY0NjU2NjY3Njg2OTZhNmI2YzZkNmU2ZjcwIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLXRsczFfMyAtbXNnICAtYWxsb3dfbm9fZGhlX2tleCAtZ3JvdXBzIFAtMjU2IFwKQEAgLTE0NzUsMTAgKzE2MzEsMTIgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9XQU5UX0FMR19FQ0RIIFBTQV9XQU5UX0VDQ19TRUNQX1IxXzM4NAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMzg0CiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogcHNrX2VwaGVtZXJhbCBncm91cChzZWNwMzg0cjEpIGNoZWNrLCBnb29kIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgcHNrX2lkZW50aXR5PUNsaWVudF9pZGVudGl0eSBwc2s9NjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzAiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSAtdGxzMV8zIC1tc2cgIC1hbGxvd19ub19kaGVfa2V4IC1ncm91cHMgc2VjcDM4NHIxIFwKQEAgLTE0OTAsMTAgKzE2NDgsMTIgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9XQU5UX0FMR19FQ0RIIFBTQV9XQU5UX0VDQ19TRUNQX1IxXzUyMQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfRUNDX1NFQ1BfUjFfNTIxCiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogcHNrX2VwaGVtZXJhbCBncm91cChzZWNwNTIxcjEpIGNoZWNrLCBnb29kIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgcHNrX2lkZW50aXR5PUNsaWVudF9pZGVudGl0eSBwc2s9NjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzAiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSAtdGxzMV8zIC1tc2cgIC1hbGxvd19ub19kaGVfa2V4IC1ncm91cHMgc2VjcDUyMXIxIFwKQEAgLTE1MDUsMTAgKzE2NjUsMTIgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9XQU5UX0FMR19FQ0RIIFBTQV9XQU5UX0VDQ19NT05UR09NRVJZXzI1NQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfRUNDX01PTlRHT01FUllfMjU1CiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogcHNrX2VwaGVtZXJhbCBncm91cCh4MjU1MTkpIGNoZWNrLCBnb29kIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgcHNrX2lkZW50aXR5PUNsaWVudF9pZGVudGl0eSBwc2s9NjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzAiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSAtdGxzMV8zIC1tc2cgIC1hbGxvd19ub19kaGVfa2V4IC1ncm91cHMgWDI1NTE5IFwKQEAgLTE1MjAsMTAgKzE2ODIsMTIgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9XQU5UX0FMR19FQ0RIIFBTQV9XQU5UX0VDQ19NT05UR09NRVJZXzQ0OAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfRUNDX01PTlRHT01FUllfNDQ4CiBydW5fdGVzdCAgICAiVExTIDEuMzogTy0+bTogcHNrX2VwaGVtZXJhbCBncm91cCh4NDQ4KSBjaGVjaywgZ29vZCIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01IHBza19pZGVudGl0eT1DbGllbnRfaWRlbnRpdHkgcHNrPTYxNjI2MzY0NjU2NjY3Njg2OTZhNmI2YzZkNmU2ZjcwIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLXRsczFfMyAtbXNnICAtYWxsb3dfbm9fZGhlX2tleCAtZ3JvdXBzIFg0NDggXApAQCAtMTUzNSwxMCArMTY5OSwxMiBAQAogICAgICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX1dBTlRfQUxHX0VDREggUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMzg0CityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICityZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9FQ0NfU0VDUF9SMV8zODQKIHJ1bl90ZXN0ICJUTFMgMS4zIE8tPm06IHBza19lcGhlbWVyYWwgZ3JvdXAoc2VjcDI1NnIxLT5zZWNwMzg0cjEpIGNoZWNrLCBnb29kIiBcCiAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgcHNrX2xpc3Q9Q2xpZW50X2lkZW50aXR5LDYxNjI2MzY0NjU2NjY3Njg2OTZhNmI2YzZkNmU2ZjcwLGFiYyxkZWFkLGRlZixiZWVmIGdyb3Vwcz1zZWNwMzg0cjEiIFwKICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC10bHMxXzMgLW1zZyAtYWxsb3dfbm9fZGhlX2tleCAtcHNrX2lkZW50aXR5IENsaWVudF9pZGVudGl0eSAtcHNrIDYxNjI2MzY0NjU2NjY3Njg2OTZhNmI2YzZkNmU2ZjcwIC1ncm91cHMgUC0yNTY6UC0zODQiIFwKQEAgLTE1NTIsMTAgKzE3MTgsMTIgQEAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAogcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX1dBTlRfQUxHX0VDREggUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMzg0CityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICityZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9FQ0NfU0VDUF9SMV8zODQKIHJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IHBza19lcGhlbWVyYWwgZ3JvdXAoc2VjcDI1NnIxLT5zZWNwMzg0cjEpIGNoZWNrLCBnb29kIiBcCiAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgcHNrX2xpc3Q9Q2xpZW50X2lkZW50aXR5LDYxNjI2MzY0NjU2NjY3Njg2OTZhNmI2YzZkNmU2ZjcwLGFiYyxkZWFkLGRlZixiZWVmIGdyb3Vwcz1zZWNwMzg0cjEiIFwKICAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS1wcmlvcml0eSBOT1JNQUw6LVZFUlMtQUxMOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzorUFNLOitWRVJTLVRMUzEuMzotR1JPVVAtQUxMOitHUk9VUC1TRUNQMjU2UjE6K0dST1VQLVNFQ1AzODRSMSAtLXBza3VzZXJuYW1lIENsaWVudF9pZGVudGl0eSAtLXBza2tleSA2MTYyNjM2NDY1NjY2NzY4Njk2YTZiNmM2ZDZlNmY3MCBsb2NhbGhvc3QiIFwKQEAgLTE4MDQsNyArMTk3Miw2IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogbS0+bTogcHNrX2VwaGVtZXJhbC9lcGhlbWVyYWwsIGZhaWwgLSBubyBjb21tb24ga2V4IG1vZGUiIFwKQEAgLTE4MzEsNyArMTk5OCw2IEBACiAgICAgICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIgogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECkBAIC0yNzI3LDcgKzI4OTMsNiBAQAogI09QRU5TU0wtU0VSVkVSIHBzayBtb2RlCiByZXF1aXJlc19vcGVuc3NsX3RsczFfMwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKQEAgLTI3NDUsNyArMjkxMCw2IEBACiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRApAQCAtMjc2Myw3ICsyOTI3LDYgQEAKICNPUEVOU1NMLVNFUlZFUiBwc2tfYWxsIG1vZGUKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECkBAIC0yNzgyLDcgKzI5NDUsNiBAQAogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRApAQCAtMjgwMiw3ICsyOTY0LDYgQEAKICNPUEVOU1NMLVNFUlZFUiBwc2tfZXBoZW1lcmFsIG1vZGUKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRApAQCAtMjgyMCw3ICsyOTgxLDYgQEAKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECkBAIC0yODM5LDcgKzI5OTksNiBAQAogI09QRU5TU0wtU0VSVkVSIGVwaGVtZXJhbCBtb2RlCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRApAQCAtMjg1Miw3ICszMDExLDYgQEAKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKQEAgLTI4NjYsNyArMzAyNCw2IEBACiAjT1BFTlNTTC1TRVJWRVIgZXBoZW1lcmFsX2FsbCBtb2RlCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRApAQCAtMjg4NSw3ICszMDQyLDYgQEAKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKQEAgLTI5MDUsNyArMzA2MSw2IEBACiAjT1BFTlNTTC1TRVJWRVIgYWxsIG1vZGUKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECkBAIC0yOTI1LDcgKzMwODAsNiBAQAogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRApAQCAtMjk0NiwxMiArMzEwMCwxMSBAQAogI0dOVVRMUy1TRVJWRVIgcHNrIG1vZGUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogbS0+RzogcHNrL2FsbCwgZ29vZCIgXAotICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6K1BTSyAtLXBza3Bhc3N3ZD1kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCisgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzorUFNLIC0tcHNrcGFzc3dkPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgcHNrPTAxMDIwMyBwc2tfaWRlbnRpdHk9MGEwYjBjIHRsczEzX2tleF9tb2Rlcz1wc2siIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIj0+IHdyaXRlIGNsaWVudCBoZWxsbyIgXApAQCAtMjk2NiwxMiArMzExOSwxMSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IG0tPkc6IHBzay9lcGhlbWVyYWxfYWxsLCBmYWlsIC0gbm8gY29tbW9uIGtleCBtb2RlIiBcCi0gICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzotUFNLIC0tcHNrcGFzc3dkPWRhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2siIFwKKyAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6LUtYLUFMTDorRUNESEUtUFNLOitESEUtUFNLOi1QU0sgLS1wc2twYXNzd2Q9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2siIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBwc2s9MDEwMjAzIHBza19pZGVudGl0eT0wYTBiMGMgdGxzMTNfa2V4X21vZGVzPXBzayIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiPT4gd3JpdGUgY2xpZW50IGhlbGxvIiBcCkBAIC0yOTg2LDEzICszMTM4LDEyIEBACiAjR05VVExTLVNFUlZFUiBwc2tfYWxsIG1vZGUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogbS0+RzogcHNrX2FsbC9hbGwsIGdvb2QiIFwKLSAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6LUtYLUFMTDorRUNESEUtUFNLOitESEUtUFNLOitQU0sgLS1wc2twYXNzd2Q9ZGF0YV9maWxlcy9zaW1wbGVwYXNzLnBzayIgXAorICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6K1BTSyAtLXBza3Bhc3N3ZD0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zaW1wbGVwYXNzLnBzayIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHBzaz0wMTAyMDMgcHNrX2lkZW50aXR5PTBhMGIwYyB0bHMxM19rZXhfbW9kZXM9cHNrX2FsbCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiPT4gd3JpdGUgY2xpZW50IGhlbGxvIiBcCkBAIC0zMDA3LDEzICszMTU4LDEyIEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogbS0+RzogcHNrX2FsbC9lcGhlbWVyYWxfYWxsLCBnb29kIiBcCi0gICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzotUFNLIC0tcHNrcGFzc3dkPWRhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2siIFwKKyAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6LUtYLUFMTDorRUNESEUtUFNLOitESEUtUFNLOi1QU0sgLS1wc2twYXNzd2Q9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2siIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBwc2s9MDEwMjAzIHBza19pZGVudGl0eT0wYTBiMGMgdGxzMTNfa2V4X21vZGVzPXBza19hbGwiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIj0+IHdyaXRlIGNsaWVudCBoZWxsbyIgXApAQCAtMzAyOSwxMiArMzE3OSwxMSBAQAogI0dOVVRMUy1TRVJWRVIgcHNrX2VwaGVtZXJhbCBtb2RlCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBtLT5HOiBwc2tfZXBoZW1lcmFsL2FsbCwgZ29vZCIgXAotICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6K1BTSyAtLXBza3Bhc3N3ZD1kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCisgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzorUFNLIC0tcHNrcGFzc3dkPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgcHNrPTAxMDIwMyBwc2tfaWRlbnRpdHk9MGEwYjBjIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICI9PiB3cml0ZSBjbGllbnQgaGVsbG8iIFwKQEAgLTMwNDksMTIgKzMxOTgsMTEgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogbS0+RzogcHNrX2VwaGVtZXJhbC9lcGhlbWVyYWxfYWxsLCBnb29kIiBcCi0gICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzotUFNLIC0tcHNrcGFzc3dkPWRhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2siIFwKKyAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6LUtYLUFMTDorRUNESEUtUFNLOitESEUtUFNLOi1QU0sgLS1wc2twYXNzd2Q9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2siIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBwc2s9MDEwMjAzIHBza19pZGVudGl0eT0wYTBiMGMgdGxzMTNfa2V4X21vZGVzPXBza19lcGhlbWVyYWwiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIj0+IHdyaXRlIGNsaWVudCBoZWxsbyIgXApAQCAtMzA3MCwxMiArMzIxOCwxMSBAQAogI0dOVVRMUy1TRVJWRVIgZXBoZW1lcmFsIG1vZGUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogbS0+RzogZXBoZW1lcmFsL2FsbCwgZ29vZCIgXAotICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6K1BTSyAtLXBza3Bhc3N3ZD1kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCisgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzorUFNLIC0tcHNrcGFzc3dkPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgcHNrPTAxMDIwMyBwc2tfaWRlbnRpdHk9MGEwYjBjIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIlNlbGVjdGVkIGtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiIFwKQEAgLTMwODMsMTIgKzMyMzAsMTEgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBtLT5HOiBlcGhlbWVyYWwvZXBoZW1lcmFsX2FsbCwgZ29vZCIgXAotICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6LVBTSyAtLXBza3Bhc3N3ZD1kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCisgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzotUFNLIC0tcHNrcGFzc3dkPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgcHNrPTAxMDIwMyBwc2tfaWRlbnRpdHk9MGEwYjBjIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIlNlbGVjdGVkIGtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiIFwKQEAgLTMwOTcsMTMgKzMyNDMsMTIgQEAKICNHTlVUTFMtU0VSVkVSIGVwaGVtZXJhbF9hbGwgbW9kZQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBtLT5HOiBlcGhlbWVyYWxfYWxsL2FsbCwgZ29vZCIgXAotICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6K1BTSyAtLXBza3Bhc3N3ZD1kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCisgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzorUFNLIC0tcHNrcGFzc3dkPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgcHNrPTAxMDIwMyBwc2tfaWRlbnRpdHk9MGEwYjBjIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWxfYWxsIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICI9PiB3cml0ZSBjbGllbnQgaGVsbG8iIFwKQEAgLTMxMTgsMTMgKzMyNjMsMTIgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBtLT5HOiBlcGhlbWVyYWxfYWxsL2VwaGVtZXJhbF9hbGwsIGdvb2QiIFwKLSAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6LUtYLUFMTDorRUNESEUtUFNLOitESEUtUFNLOi1QU0sgLS1wc2twYXNzd2Q9ZGF0YV9maWxlcy9zaW1wbGVwYXNzLnBzayIgXAorICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6LVBTSyAtLXBza3Bhc3N3ZD0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zaW1wbGVwYXNzLnBzayIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHBzaz0wMTAyMDMgcHNrX2lkZW50aXR5PTBhMGIwYyB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsX2FsbCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiPT4gd3JpdGUgY2xpZW50IGhlbGxvIiBcCkBAIC0zMTQwLDE0ICszMjg0LDEzIEBACiAjR05VVExTLVNFUlZFUiBhbGwgbW9kZQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IG0tPkc6IGFsbC9hbGwsIGdvb2QiIFwKLSAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6LUtYLUFMTDorRUNESEUtUFNLOitESEUtUFNLOitQU0sgLS1wc2twYXNzd2Q9ZGF0YV9maWxlcy9zaW1wbGVwYXNzLnBzayIgXAorICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6K1BTSyAtLXBza3Bhc3N3ZD0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zaW1wbGVwYXNzLnBzayIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHBzaz0wMTAyMDMgcHNrX2lkZW50aXR5PTBhMGIwYyB0bHMxM19rZXhfbW9kZXM9YWxsIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICI9PiB3cml0ZSBjbGllbnQgaGVsbG8iIFwKQEAgLTMxNjIsMTQgKzMzMDUsMTMgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IG0tPkc6IGFsbC9lcGhlbWVyYWxfYWxsLCBnb29kIiBcCi0gICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzotUFNLIC0tcHNrcGFzc3dkPWRhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2siIFwKKyAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6LUtYLUFMTDorRUNESEUtUFNLOitESEUtUFNLOi1QU0sgLS1wc2twYXNzd2Q9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2ltcGxlcGFzcy5wc2siIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBwc2s9MDEwMjAzIHBza19pZGVudGl0eT0wYTBiMGMgdGxzMTNfa2V4X21vZGVzPWFsbCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiPT4gd3JpdGUgY2xpZW50IGhlbGxvIiBcCmRpZmYgLS1naXQgYS90ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLW1pc2Muc2ggYi90ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLW1pc2Muc2gKb2xkIG1vZGUgMTAwNzU1Cm5ldyBtb2RlIDEwMDY0NAppbmRleCAxMGJiZjE5Li43NmNiZWVjCi0tLSBhL3Rlc3RzL29wdC10ZXN0Y2FzZXMvdGxzMTMtbWlzYy5zaAorKysgYi90ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLW1pc2Muc2gKQEAgLTEsMTggKzEsMTQgQEAKLSMhL2Jpbi9zaAorIyBNaXNjZWxsYW5lb3VzIHRlc3RzIG9mIFRMUyAxLjMgZmVhdHVyZXMuCiAKLSMgdGxzMTMtbWlzYy5zaAotIwogIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCiAjCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECi0KIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBQU0s6IE5vIHZhbGlkIGNpcGhlcnN1aXRlLiBHLT5tIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1hbGwgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9DTEkgLWQgMTAgLS1wcmlvcml0eSBOT1JNQUw6LVZFUlMtQUxMOi1DSVBIRVItQUxMOitBRVMtMjU2LUdDTTorQUVBRDorU0hBMzg0Oi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzorUFNLOitWRVJTLVRMUzEuMyBcCkBAIC0yNywxMSArMjMsOSBAQAogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfMwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKLQogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IFBTSzogTm8gdmFsaWQgY2lwaGVyc3VpdGUuIE8tPm0iIFwKICAgICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPWFsbCBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSAtdGxzMV8zIC1tc2cgLWFsbG93X25vX2RoZV9rZXggLWNpcGhlcnN1aXRlcyBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0XApAQCAtNDMsMTIgKzM3LDE2IEBACiAgICAgICAgICAgICAtcyAiRm91bmQgUFNLIEtFWCBNT0RFIiBcCiAgICAgICAgICAgICAtcyAiTm8gbWF0Y2hlZCBjaXBoZXJzdWl0ZSIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19ERUJVR19DIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogTXVsdGlwbGUgUFNLczogdmFsaWQgdGlja2V0LCByZWNvbm5lY3Qgd2l0aCB0aWNrZXQiIFwKICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPXBza19lcGhlbWVyYWwgZGVidWdfbGV2ZWw9NSBwc2tfaWRlbnRpdHk9Q2xpZW50X2lkZW50aXR5IHBzaz02MTYyNjM2NDY1NjY2NzY4Njk2YTZiNmM2ZDZlNmY3MCB0aWNrZXRzPTgiIFwKLSAgICAgICAgICIkUF9DTEkgdGxzMTNfa2V4X21vZGVzPXBza19lcGhlbWVyYWwgZGVidWdfbGV2ZWw9NSBwc2tfaWRlbnRpdHk9Q2xpZW50X2lkZW50aXR5IHBzaz02MTYyNjM2NDY1NjY2NzY4Njk2YTZiNmM2ZDZlNmY3MCByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX0NMSSB0bHMxM19rZXhfbW9kZXM9cHNrX2VwaGVtZXJhbCBkZWJ1Z19sZXZlbD01IHBza19pZGVudGl0eT1DbGllbnRfaWRlbnRpdHkgcHNrPTYxNjI2MzY0NjU2NjY3Njg2OTZhNmI2YzZkNmU2ZjcwIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJlLWNvbmZpZ3VyZWQgUFNLIG51bWJlciA9IDIiIFwKICAgICAgICAgIC1zICJzZW50IHNlbGVjdGVkX2lkZW50aXR5OiAwIiBcCkBAIC01NywxMiArNTUsMTYgQEAKICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsJCIgXAogICAgICAgICAgLVMgInRpY2tldCBpcyBub3QgYXV0aGVudGljIgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX0RFQlVHX0MgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBNdWx0aXBsZSBQU0tzOiBpbnZhbGlkIHRpY2tldCwgcmVjb25uZWN0IHdpdGggUFNLIiBcCiAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgcHNrX2lkZW50aXR5PUNsaWVudF9pZGVudGl0eSBwc2s9NjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzAgdGlja2V0cz04IGR1bW15X3RpY2tldD0xIiBcCi0gICAgICAgICAiJFBfQ0xJIHRsczEzX2tleF9tb2Rlcz1wc2tfZXBoZW1lcmFsIGRlYnVnX2xldmVsPTUgcHNrX2lkZW50aXR5PUNsaWVudF9pZGVudGl0eSBwc2s9NjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzAgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9DTEkgdGxzMTNfa2V4X21vZGVzPXBza19lcGhlbWVyYWwgZGVidWdfbGV2ZWw9NSBwc2tfaWRlbnRpdHk9Q2xpZW50X2lkZW50aXR5IHBzaz02MTYyNjM2NDY1NjY2NzY4Njk2YTZiNmM2ZDZlNmY3MCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByZS1jb25maWd1cmVkIFBTSyBudW1iZXIgPSAyIiBcCiAgICAgICAgICAtcyAic2VudCBzZWxlY3RlZF9pZGVudGl0eTogMSIgXApAQCAtNzIsNyArNzQsOSBAQAogICAgICAgICAgLXMgInRpY2tldCBpcyBub3QgYXV0aGVudGljIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBlcGhlbWVyYWxfYWxsL3BzaywgZmFpbCwgbm8gY29tbW9uIGtleCBtb2RlIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1wc2sgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCkBAIC04OSwxMSArOTMsMTIgQEAKICAgICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECi1yZXF1aXJlc19hbGxfY29uZmlnc19kaXNhYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19kaXNhYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogUFNLOiBjb25maWd1cmVkIHBzayBvbmx5LCBnb29kLiIgXAogICAgICAgICAgICAgIiRQX1NSViB0bHMxM19rZXhfbW9kZXM9YWxsIGRlYnVnX2xldmVsPTUgJChnZXRfc3J2X3Bza19saXN0KSIgXAogICAgICAgICAgICAgIiRHX05FWFRfQ0xJIC1kIDEwIC0tcHJpb3JpdHkgTk9STUFMOi1WRVJTLUFMTDotS1gtQUxMOitFQ0RIRS1QU0s6K0RIRS1QU0s6K1BTSzorVkVSUy1UTFMxLjM6K0dST1VQLUFMTCBcCkBAIC0xMDcsMTEgKzExMiwxMiBAQAogICAgICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBwc2skIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZGlzYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECityZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogRy0+bTogUFNLOiBjb25maWd1cmVkIHBza19lcGhlbWVyYWwgb25seSwgZ29vZC4iIFwKICAgICAgICAgICAgICIkUF9TUlYgdGxzMTNfa2V4X21vZGVzPWFsbCBkZWJ1Z19sZXZlbD01ICQoZ2V0X3Nydl9wc2tfbGlzdCkiIFwKICAgICAgICAgICAgICIkR19ORVhUX0NMSSAtZCAxMCAtLXByaW9yaXR5IE5PUk1BTDotVkVSUy1BTEw6LUtYLUFMTDorRUNESEUtUFNLOitESEUtUFNLOitQU0s6K1ZFUlMtVExTMS4zOitHUk9VUC1BTEwgXApAQCAtMTI1LDExICsxMzEsMTIgQEAKICAgICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogcHNrX2VwaGVtZXJhbCQiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2Rpc2FibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2Rpc2FibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2Rpc2FibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBHLT5tOiBQU0s6IGNvbmZpZ3VyZWQgZXBoZW1lcmFsIG9ubHksIGdvb2QuIiBcCiAgICAgICAgICAgICAiJFBfU1JWIHRsczEzX2tleF9tb2Rlcz1hbGwgZGVidWdfbGV2ZWw9NSAkKGdldF9zcnZfcHNrX2xpc3QpIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9DTEkgLWQgMTAgLS1wcmlvcml0eSBOT1JNQUw6LVZFUlMtQUxMOi1LWC1BTEw6K0VDREhFLVBTSzorREhFLVBTSzorUFNLOitWRVJTLVRMUzEuMzorR1JPVVAtQUxMIFwKQEAgLTEzOCwxNiArMTQ1LDE4IEBACiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsJCIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24iIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MiBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKLSAgICAgICAgICIkUF9DTEkgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MiBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgIiRQX0NMSSBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1jICJTYXZpbmcgc2Vzc2lvbiBmb3IgcmV1c2UuLi4gb2siIFwKQEAgLTE1NywxNyArMTY2LDE5IEBACiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IHBzayIgXAogICAgICAgICAgLXMgIlNlbGVjdCBQU0sgY2lwaGVyc3VpdGUiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiByZXN1bXB0aW9uIHdpdGggc2VydmVybmFtZSIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0yIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICBzbmk9bG9jYWxob3N0LGRhdGFfZmlsZXMvc2VydmVyMi5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSwtLC0sLSxwb2xhcnNzbC5leGFtcGxlLGRhdGFfZmlsZXMvc2VydmVyMS1ub3NwYWNlLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjEua2V5LC0sLSwtIiBcCi0gICAgICAgICAiJFBfQ0xJIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0yIGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi5jcnQsLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSwuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLW5vc3BhY2UuY3J0LC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5LC0sLSwtIiBcCisgICAgICAgICAiJFBfQ0xJIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1jICJTYXZpbmcgc2Vzc2lvbiBmb3IgcmV1c2UuLi4gb2siIFwKQEAgLTE3NywxNiArMTg4LDE4IEBACiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IHBzayIgXAogICAgICAgICAgLXMgIlNlbGVjdCBQU0sgY2lwaGVyc3VpdGUiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiByZXN1bXB0aW9uIHdpdGggdGlja2V0IG1heCBsaWZldGltZSAoN2QpIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTIgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldF90aW1lb3V0PTYwNDgwMCB0aWNrZXRzPTEiIFwKLSAgICAgICAgICIkUF9DTEkgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MiBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRfdGltZW91dD02MDQ4MDAgdGlja2V0cz0xIiBcCisgICAgICAgICAiJFBfQ0xJIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLWMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXApAQCAtMTk2LDE3ICsyMDksMTkgQEAKICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogcHNrIiBcCiAgICAgICAgICAtcyAiU2VsZWN0IFBTSyBjaXBoZXJzdWl0ZSIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2NpcGhlcnN1aXRlX2VuYWJsZWQgVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiB3aXRoIEFFUy0yNTYtR0NNLVNIQTM4NCBvbmx5IiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTIgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCi0gICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MiBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKQEAgLTIxNywxNiArMjMyLDE5IEBACiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IHBzayIgXAogICAgICAgICAgLXMgIlNlbGVjdCBQU0sgY2lwaGVyc3VpdGU6IDEzMDIgLSBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfRUFSTFlfREFUQSBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiByZXN1bXB0aW9uIHdpdGggZWFybHkgZGF0YSIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGVhcmx5X2RhdGE9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBlYXJseV9kYXRhPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBlYXJseV9kYXRhPTEgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBlYXJseV9kYXRhPTEgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtYyAiU2F2aW5nIHNlc3Npb24gZm9yIHJldXNlLi4uIG9rIiBcCkBAIC0yNDcsMTcgKzI2NSwyMCBAQAogICAgICAgICAgLXMgIkVuY3J5cHRlZEV4dGVuc2lvbnM6IGVhcmx5X2RhdGEoNDIpIGV4dGVuc2lvbiBleGlzdHMuIiBcCiAgICAgICAgICAtcyAiZWFybHkgZGF0YSBieXRlcyByZWFkIgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfRUFSTFlfREFUQSBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jaXBoZXJzdWl0ZV9lbmFibGVkIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24gd2l0aCBlYXJseSBkYXRhLCBBRVMtMjU2LUdDTS1TSEEzODQgb25seSIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGVhcmx5X2RhdGE9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IGVhcmx5X2RhdGE9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGVhcmx5X2RhdGE9MSBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgZWFybHlfZGF0YT0xIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQiIFwKQEAgLTI3OSwxNiArMzAwLDE5IEBACiAgICAgICAgICAtcyAiRW5jcnlwdGVkRXh0ZW5zaW9uczogZWFybHlfZGF0YSg0MikgZXh0ZW5zaW9uIGV4aXN0cy4iIFwKICAgICAgICAgIC1zICJlYXJseSBkYXRhIGJ5dGVzIHJlYWQiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24sIGVhcmx5IGRhdGEgY2xpLWVuYWJsZWQvc3J2LWRlZmF1bHQiIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBlYXJseV9kYXRhPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MSBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1jICJTYXZpbmcgc2Vzc2lvbiBmb3IgcmV1c2UuLi4gb2siIFwKQEAgLTMwOCwxNiArMzMyLDE5IEBACiAgICAgICAgICAtUyAiRW5jcnlwdGVkRXh0ZW5zaW9uczogZWFybHlfZGF0YSg0MikgZXh0ZW5zaW9uIGV4aXN0cy4iIFwKICAgICAgICAgIC1TICJlYXJseSBkYXRhIGJ5dGVzIHJlYWQiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24sIGVhcmx5IGRhdGEgY2xpLWVuYWJsZWQvc3J2LWRpc2FibGVkIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgZWFybHlfZGF0YT0wIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGVhcmx5X2RhdGE9MCBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MSBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1jICJTYXZpbmcgc2Vzc2lvbiBmb3IgcmV1c2UuLi4gb2siIFwKQEAgLTMzNywxNiArMzY0LDE5IEBACiAgICAgICAgICAtUyAiRW5jcnlwdGVkRXh0ZW5zaW9uczogZWFybHlfZGF0YSg0MikgZXh0ZW5zaW9uIGV4aXN0cy4iIFwKICAgICAgICAgIC1TICJlYXJseSBkYXRhIGJ5dGVzIHJlYWQiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24sIGVhcmx5IGRhdGEgY2xpLWRlZmF1bHQvc3J2LWVuYWJsZWQiIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBlYXJseV9kYXRhPTEgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCi0gICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBlYXJseV9kYXRhPTEgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1jICJTYXZpbmcgc2Vzc2lvbiBmb3IgcmV1c2UuLi4gb2siIFwKQEAgLTM2NiwxNiArMzk2LDE5IEBACiAgICAgICAgICAtUyAiRW5jcnlwdGVkRXh0ZW5zaW9uczogZWFybHlfZGF0YSg0MikgZXh0ZW5zaW9uIGV4aXN0cy4iIFwKICAgICAgICAgIC1TICJlYXJseSBkYXRhIGJ5dGVzIHJlYWQiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24sIGVhcmx5IGRhdGEgY2xpLWRpc2FibGVkL3Nydi1lbmFibGVkIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgZWFybHlfZGF0YT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MCByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGVhcmx5X2RhdGE9MSBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1jICJTYXZpbmcgc2Vzc2lvbiBmb3IgcmV1c2UuLi4gb2siIFwKQEAgLTM5NSwxNiArNDI4LDE4IEBACiAgICAgICAgICAtUyAiRW5jcnlwdGVkRXh0ZW5zaW9uczogZWFybHlfZGF0YSg0MikgZXh0ZW5zaW9uIGV4aXN0cy4iIFwKICAgICAgICAgIC1TICJlYXJseSBkYXRhIGJ5dGVzIHJlYWQiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiByZXN1bXB0aW9uIGZhaWxzLCB0aWNrZXQgbGlmZXRpbWUgdG9vIGxvbmcgKDdkICsgMXMpIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTIgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldF90aW1lb3V0PTYwNDgwMSB0aWNrZXRzPTEiIFwKLSAgICAgICAgICIkUF9DTEkgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MiBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRfdGltZW91dD02MDQ4MDEgdGlja2V0cz0xIiBcCisgICAgICAgICAiJFBfQ0xJIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMSBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLUMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXApAQCAtNDE0LDE2ICs0NDksMTggQEAKICAgICAgICAgIC1TICJTZWxlY3QgUFNLIGNpcGhlcnN1aXRlIiBcCiAgICAgICAgICAtcyAiVGlja2V0IGxpZmV0aW1lICg2MDQ4MDEpIGlzIGdyZWF0ZXIgdGhhbiA3IGRheXMuIgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiBmYWlscywgdGlja2V0IGxpZmV0aW1lPTAiIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MiBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0X3RpbWVvdXQ9MCB0aWNrZXRzPTEiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MiByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0yIGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldF90aW1lb3V0PTAgdGlja2V0cz0xIiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTIgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAxIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtQyAiU2F2aW5nIHNlc3Npb24gZm9yIHJldXNlLi4uIG9rIiBcCkBAIC00MzMsMTcgKzQ3MCwxOSBAQAogICAgICAgICAgLVMgImtleSBleGNoYW5nZSBtb2RlOiBwc2siIFwKICAgICAgICAgIC1TICJTZWxlY3QgUFNLIGNpcGhlcnN1aXRlIgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiBmYWlscywgc2VydmVybmFtZSBjaGVjayBmYWlsZWQiIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MiBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSxkYXRhX2ZpbGVzL3NlcnZlcjEtbm9zcGFjZS5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSwtLC0sLSIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHNlcnZlcl9uYW1lPWxvY2FsaG9zdCByZWNvX3NlcnZlcl9uYW1lPXJlbW90ZSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0yIGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi5jcnQsLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSwuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLW5vc3BhY2UuY3J0LC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5LC0sLSwtIiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgc2VydmVyX25hbWU9bG9jYWxob3N0IHJlY29fc2VydmVyX25hbWU9cmVtb3RlIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMSBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLWMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXApAQCAtNDUzLDE2ICs0OTIsMTggQEAKICAgICAgICAgIC1TICJrZXkgZXhjaGFuZ2UgbW9kZTogcHNrIiBcCiAgICAgICAgICAtUyAiU2VsZWN0IFBTSyBjaXBoZXJzdWl0ZSIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24gZmFpbHMsIHRpY2tldCBhdXRoIGZhaWxlZC4iIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz04IGR1bW15X3RpY2tldD0xIiBcCi0gICAgICAgICAiJFBfQ0xJIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz04IGR1bW15X3RpY2tldD0xIiBcCisgICAgICAgICAiJFBfQ0xJIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiIFwKQEAgLTQ3NiwxNiArNTE3LDE4IEBACiAgICAgICAgICAtUyAiVGlja2V0IGFnZSBleGNlZWRzIGxpbWl0YXRpb24iIFwKICAgICAgICAgIC1TICJUaWNrZXQgYWdlIG91dHNpZGUgdG9sZXJhbmNlIHdpbmRvdyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24gZmFpbHMsIHRpY2tldCBleHBpcmVkLiIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTggZHVtbXlfdGlja2V0PTIiIFwKLSAgICAgICAgICIkUF9DTEkgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTggZHVtbXlfdGlja2V0PTIiIFwKKyAgICAgICAgICIkUF9DTEkgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIgXApAQCAtNDk5LDE2ICs1NDIsMTggQEAKICAgICAgICAgIC1TICJUaWNrZXQgYWdlIGV4Y2VlZHMgbGltaXRhdGlvbiIgXAogICAgICAgICAgLVMgIlRpY2tldCBhZ2Ugb3V0c2lkZSB0b2xlcmFuY2Ugd2luZG93IgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiBmYWlscywgaW52YWxpZCBjcmVhdGlvbiB0aW1lLiIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTggZHVtbXlfdGlja2V0PTMiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldHM9OCBkdW1teV90aWNrZXQ9MyIgXAorICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiIFwKQEAgLTUyMiwxNiArNTY3LDE4IEBACiAgICAgICAgICAtUyAiVGlja2V0IGFnZSBleGNlZWRzIGxpbWl0YXRpb24iIFwKICAgICAgICAgIC1TICJUaWNrZXQgYWdlIG91dHNpZGUgdG9sZXJhbmNlIHdpbmRvdyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24gZmFpbHMsIHRpY2tldCBleHBpcmVkLCB0b28gb2xkIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldHM9OCBkdW1teV90aWNrZXQ9NCIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz04IGR1bW15X3RpY2tldD00IiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIgXApAQCAtNTQ1LDE2ICs1OTIsMTggQEAKICAgICAgICAgIC1zICJUaWNrZXQgYWdlIGV4Y2VlZHMgbGltaXRhdGlvbiIgXAogICAgICAgICAgLVMgIlRpY2tldCBhZ2Ugb3V0c2lkZSB0b2xlcmFuY2Ugd2luZG93IgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiBmYWlscywgYWdlIG91dHNpZGUgdG9sZXJhbmNlIHdpbmRvdywgdG9vIHlvdW5nIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldHM9OCBkdW1teV90aWNrZXQ9NSIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz04IGR1bW15X3RpY2tldD01IiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIgXApAQCAtNTY4LDE2ICs2MTcsMTggQEAKICAgICAgICAgIC1TICJUaWNrZXQgYWdlIGV4Y2VlZHMgbGltaXRhdGlvbiIgXAogICAgICAgICAgLXMgIlRpY2tldCBhZ2Ugb3V0c2lkZSB0b2xlcmFuY2Ugd2luZG93IgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiBmYWlscywgYWdlIG91dHNpZGUgdG9sZXJhbmNlIHdpbmRvdywgdG9vIG9sZCIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTggZHVtbXlfdGlja2V0PTYiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldHM9OCBkdW1teV90aWNrZXQ9NiIgXAorICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiIFwKQEAgLTU5MSwxNSArNjQyLDE3IEBACiAgICAgICAgICAtUyAiVGlja2V0IGFnZSBleGNlZWRzIGxpbWl0YXRpb24iIFwKICAgICAgICAgIC1zICJUaWNrZXQgYWdlIG91dHNpZGUgdG9sZXJhbmNlIHdpbmRvdyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24gZmFpbHMsIGNsaS90a3Qga2V4IG1vZGVzIHBzay9ub25lIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGR1bW15X3RpY2tldD03IiBcCi0gICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgdGxzMTNfa2V4X21vZGVzPXBza19vcl9lcGhlbWVyYWwgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0uLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBkdW1teV90aWNrZXQ9NyIgXAorICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHRsczEzX2tleF9tb2Rlcz1wc2tfb3JfZXBoZW1lcmFsIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiIFwKQEAgLTYwOSwxNSArNjYyLDE3IEBACiAgICAgICAgICAtcyAiTm8gc3VpdGFibGUgUFNLIGtleSBleGNoYW5nZSBtb2RlIiBcCiAgICAgICAgICAtcyAiTm8gdXNhYmxlIFBTSyBvciB0aWNrZXQiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBlcGhlbWVyYWwgb3ZlciBwc2sgcmVzdW1wdGlvbiwgY2xpL3RrdCBrZXggbW9kZXMgcHNrL3BzayIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBkdW1teV90aWNrZXQ9OCIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHRsczEzX2tleF9tb2Rlcz1wc2tfb3JfZXBoZW1lcmFsIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTgiIFwKKyAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9cHNrX29yX2VwaGVtZXJhbCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIiBcCkBAIC02MjcsMTUgKzY4MiwxNyBAQAogICAgICAgICAgLVMgIk5vIHN1aXRhYmxlIFBTSyBrZXkgZXhjaGFuZ2UgbW9kZSIgXAogICAgICAgICAgLVMgIk5vIHVzYWJsZSBQU0sgb3IgdGlja2V0IgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiBmYWlscywgY2xpL3RrdCBrZXggbW9kZXMgcHNrL3Bza19lcGhlbWVyYWwiIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTkiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9cHNrX29yX2VwaGVtZXJhbCByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGR1bW15X3RpY2tldD05IiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgdGxzMTNfa2V4X21vZGVzPXBza19vcl9lcGhlbWVyYWwgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIgXApAQCAtNjQ1LDE1ICs3MDIsMTcgQEAKICAgICAgICAgIC1zICJObyBzdWl0YWJsZSBQU0sga2V5IGV4Y2hhbmdlIG1vZGUiIFwKICAgICAgICAgIC1zICJObyB1c2FibGUgUFNLIG9yIHRpY2tldCIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IGVwaGVtZXJhbCBvdmVyIHBzayByZXN1bXB0aW9uLCBjbGkvdGt0IGtleCBtb2RlcyBwc2svcHNrX2FsbCIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBkdW1teV90aWNrZXQ9MTAiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9cHNrX29yX2VwaGVtZXJhbCByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGR1bW15X3RpY2tldD0xMCIgXAorICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHRsczEzX2tleF9tb2Rlcz1wc2tfb3JfZXBoZW1lcmFsIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiIFwKQEAgLTY2MywxNSArNzIyLDE3IEBACiAgICAgICAgICAtUyAiTm8gc3VpdGFibGUgUFNLIGtleSBleGNoYW5nZSBtb2RlIiBcCiAgICAgICAgICAtUyAiTm8gdXNhYmxlIFBTSyBvciB0aWNrZXQiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24gZmFpbHMsIGNsaS90a3Qga2V4IG1vZGVzIHBza19lcGhlbWVyYWwvbm9uZSIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBkdW1teV90aWNrZXQ9NyIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWxfYWxsIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTciIFwKKyAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsX2FsbCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIiBcCkBAIC02ODEsMTUgKzc0MiwxNyBAQAogICAgICAgICAgLXMgIk5vIHN1aXRhYmxlIFBTSyBrZXkgZXhjaGFuZ2UgbW9kZSIgXAogICAgICAgICAgLXMgIk5vIHVzYWJsZSBQU0sgb3IgdGlja2V0IgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiByZXN1bXB0aW9uIGZhaWxzLCBjbGkvdGt0IGtleCBtb2RlcyBwc2tfZXBoZW1lcmFsL3BzayIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBkdW1teV90aWNrZXQ9OCIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWxfYWxsIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTgiIFwKKyAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsX2FsbCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIiBcCkBAIC02OTksMTUgKzc2MiwxNyBAQAogICAgICAgICAgLXMgIk5vIHN1aXRhYmxlIFBTSyBrZXkgZXhjaGFuZ2UgbW9kZSIgXAogICAgICAgICAgLXMgIk5vIHVzYWJsZSBQU0sgb3IgdGlja2V0IgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiByZXN1bXB0aW9uLCBjbGkvdGt0IGtleCBtb2RlcyBwc2tfZXBoZW1lcmFsL3Bza19lcGhlbWVyYWwiIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTkiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsX2FsbCByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGR1bW15X3RpY2tldD05IiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbF9hbGwgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIgXApAQCAtNzE3LDE1ICs3ODIsMTcgQEAKICAgICAgICAgIC1TICJObyBzdWl0YWJsZSBQU0sga2V5IGV4Y2hhbmdlIG1vZGUiIFwKICAgICAgICAgIC1TICJObyB1c2FibGUgUFNLIG9yIHRpY2tldCIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiwgY2xpL3RrdCBrZXggbW9kZXMgcHNrX2VwaGVtZXJhbC9wc2tfYWxsIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGR1bW15X3RpY2tldD0xMCIgXAotICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWxfYWxsIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTEwIiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbF9hbGwgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtcyAia2V5IGV4Y2hhbmdlIG1vZGU6IGVwaGVtZXJhbCIgXApAQCAtNzM1LDE2ICs4MDIsMTggQEAKICAgICAgICAgIC1TICJObyBzdWl0YWJsZSBQU0sga2V5IGV4Y2hhbmdlIG1vZGUiIFwKICAgICAgICAgIC1TICJObyB1c2FibGUgUFNLIG9yIHRpY2tldCIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiByZXN1bXB0aW9uIGZhaWxzLCBjbGkvdGt0IGtleCBtb2RlcyBwc2tfYWxsL25vbmUiIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTciIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9YWxsIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTciIFwKKyAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9YWxsIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJlLWNvbmZpZ3VyZWQgUFNLIG51bWJlciA9IDEiIFwKICAgICAgICAgIC1TICJzZW50IHNlbGVjdGVkX2lkZW50aXR5OiIgXApAQCAtNzU0LDE2ICs4MjMsMTggQEAKICAgICAgICAgIC1zICJObyBzdWl0YWJsZSBQU0sga2V5IGV4Y2hhbmdlIG1vZGUiIFwKICAgICAgICAgIC1zICJObyB1c2FibGUgUFNLIG9yIHRpY2tldCIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBtLT5tOiBlcGhlbWVyYWwgb3ZlciBwc2sgcmVzdW1wdGlvbiwgY2xpL3RrdCBrZXggbW9kZXMgcHNrX2FsbC9wc2siIFwKLSAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTgiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9YWxsIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTgiIFwKKyAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9YWxsIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLXMgImtleSBleGNoYW5nZSBtb2RlOiBlcGhlbWVyYWwiIFwKQEAgLTc3MywxNiArODQ0LDE4IEBACiAgICAgICAgICAtUyAiTm8gc3VpdGFibGUgUFNLIGtleSBleGNoYW5nZSBtb2RlIiBcCiAgICAgICAgICAtUyAiTm8gdXNhYmxlIFBTSyBvciB0aWNrZXQiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+bTogcmVzdW1wdGlvbiwgY2xpL3RrdCBrZXggbW9kZXMgcHNrX2FsbC9wc2tfZXBoZW1lcmFsIiBcCi0gICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGR1bW15X3RpY2tldD05IiBcCi0gICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgdGxzMTNfa2V4X21vZGVzPWFsbCByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGR1bW15X3RpY2tldD05IiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgdGxzMTNfa2V4X21vZGVzPWFsbCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIiBcCkBAIC03OTIsMTYgKzg2NSwxOCBAQAogICAgICAgICAgLVMgIk5vIHN1aXRhYmxlIFBTSyBrZXkgZXhjaGFuZ2UgbW9kZSIgXAogICAgICAgICAgLVMgIk5vIHVzYWJsZSBQU0sgb3IgdGlja2V0IgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IHJlc3VtcHRpb24sIGNsaS90a3Qga2V4IG1vZGVzIHBza19hbGwvcHNrX2FsbCIgXAotICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBkdW1teV90aWNrZXQ9MTAiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCB0bHMxM19rZXhfbW9kZXM9YWxsIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5rZXkgZHVtbXlfdGlja2V0PTEwIiBcCisgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgdGxzMTNfa2V4X21vZGVzPWFsbCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIiBcCkBAIC04MTIsMTUgKzg4NywxNSBAQAogICAgICAgICAgLVMgIk5vIHVzYWJsZSBQU0sgb3IgdGlja2V0IgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMyBtLT5POiByZXN1bXB0aW9uIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtLW51bV90aWNrZXRzIDEiIFwKLSAgICAgICAgICAgICIkUF9DTEkgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiU2F2aW5nIHNlc3Npb24gZm9yIHJldXNlLi4uIG9rIiBcCkBAIC04MjgsOSArOTAzLDggQEAKICAgICAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgb2siCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCiBydW5fdGVzdCAgICAiVExTIDEuMyBtLT5POiByZXN1bXB0aW9uIGZhaWxzLCBubyB0aWNrZXQgc3VwcG9ydCIgXAogICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1tc2cgLXRsczFfMyAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUgLS1udW1fdGlja2V0cyAxIiBcCkBAIC04MzksNyArOTEzLDMzIEBACiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgICAgLUMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXAogICAgICAgICAgICAgLUMgIlJlY29ubmVjdGluZyB3aXRoIHNhdmVkIHNlc3Npb24uLi4gb2siIFwKLSAgICAgICAgICAgIC1jICJJZ25vcmUgTmV3U2Vzc2lvblRpY2tldCwgbm90IHN1cHBvcnRlZC4iCisgICAgICAgICAgICAtYyAiSWdub3JpbmcgTmV3U2Vzc2lvblRpY2tldCwgbm90IHN1cHBvcnRlZC4iCisKK3JlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+TzogcmVzdW1wdGlvbiBmYWlscywgdGlja2V0IGhhbmRsaW5nIGRpc2FibGVkIChleHBsaWNpdCkiIFwKKyAgICAgICAgICAgICIkT19ORVhUX1NSViAtbXNnIC10bHMxXzMgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIC0tbnVtX3RpY2tldHMgMSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIG5ld19zZXNzaW9uX3RpY2tldHM9MCByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgICAgMSBcCisgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAorICAgICAgICAgICAgLUMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXAorICAgICAgICAgICAgLUMgIlJlY29ubmVjdGluZyB3aXRoIHNhdmVkIHNlc3Npb24uLi4gb2siIFwKKyAgICAgICAgICAgIC1jICJJZ25vcmluZyBOZXdTZXNzaW9uVGlja2V0LCBoYW5kbGluZyBkaXNhYmxlZC4iCisKK3JlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+TzogcmVzdW1wdGlvbiBmYWlscywgdGlja2V0IGhhbmRsaW5nIGRpc2FibGVkIChkZWZhdWx0KSIgXAorICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1tc2cgLXRsczFfMyAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUgLS1udW1fdGlja2V0cyAxIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICAgIDEgXAorICAgICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKKyAgICAgICAgICAgIC1DICJTYXZpbmcgc2Vzc2lvbiBmb3IgcmV1c2UuLi4gb2siIFwKKyAgICAgICAgICAgIC1DICJSZWNvbm5lY3Rpbmcgd2l0aCBzYXZlZCBzZXNzaW9uLi4uIG9rIiBcCisgICAgICAgICAgICAtYyAiSWdub3JpbmcgTmV3U2Vzc2lvblRpY2tldCwgaGFuZGxpbmcgZGlzYWJsZWQuIgogCiAjIE5vIGVhcmx5IGRhdGEgbS0+TyB0ZXN0cyBmb3IgdGhlIHRpbWUgYmVpbmcuIFRoZSBvcHRpb24gLWVhcmx5X2RhdGEgaXMgbmVlZGVkCiAjIHRvIGVuYWJsZSBlYXJseSBkYXRhIG9uIE9wZW5TU0wgc2VydmVyIGFuZCBpdCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHRoZQpAQCAtODQ4LDE3ICs5NDgsMTggQEAKICMgZXBoZW1lcmFsIHRoZW4gdGlja2V0IGJhc2VkIHNjZW5hcmlvIHdlIHVzZSBmb3IgZWFybHkgZGF0YSB0ZXN0aW5nIHRoZSBmaXJzdAogIyBoYW5kc2hha2UgZmFpbHMuIFRoZSBmb2xsb3dpbmcgc2tpcHBlZCB0ZXN0IGlzIGhlcmUgdG8gaWxsdXN0cmF0ZSB0aGUga2luZAogIyBvZiB0ZXN0aW5nIHdlIHdvdWxkIGxpa2UgdG8gZG8uCisjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTgyCiBza2lwX25leHRfdGVzdAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIG0tPk86IHJlc3VtcHRpb24gd2l0aCBlYXJseSBkYXRhIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlZfRUFSTFlfREFUQSAtbXNnIC10bHMxXzMgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIC0tbnVtX3RpY2tldHMgMSIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MSBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiU2F2aW5nIHNlc3Npb24gZm9yIHJldXNlLi4uIG9rIiBcCkBAIC04NzIsMTUgKzk3MywxNSBAQAogICAgICAgICAgICAgLXMgImRlY3J5cHRlZCBlYXJseSBkYXRhIHdpdGggbGVuZ3RoOiIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+RzogcmVzdW1wdGlvbiIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDUgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMyAtLWRpc2FibGUtY2xpZW50LWNlcnQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiU2F2aW5nIHNlc3Npb24gZm9yIHJldXNlLi4uIG9rIiBcCkBAIC04ODgsOSArOTg5LDggQEAKICAgICAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCiBydW5fdGVzdCAgICAiVExTIDEuMyBtLT5HOiByZXN1bXB0aW9uIGZhaWxzLCBubyB0aWNrZXQgc3VwcG9ydCIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDUgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMyAtLWRpc2FibGUtY2xpZW50LWNlcnQiIFwKQEAgLTg5OSwxOSArOTk5LDQ1IEBACiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgICAgLUMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXAogICAgICAgICAgICAgLUMgIlJlY29ubmVjdGluZyB3aXRoIHNhdmVkIHNlc3Npb24uLi4gb2siIFwKLSAgICAgICAgICAgIC1jICJJZ25vcmUgTmV3U2Vzc2lvblRpY2tldCwgbm90IHN1cHBvcnRlZC4iCisgICAgICAgICAgICAtYyAiSWdub3JpbmcgTmV3U2Vzc2lvblRpY2tldCwgbm90IHN1cHBvcnRlZC4iCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3J1bl90ZXN0ICAgICJUTFMgMS4zIG0tPkc6IHJlc3VtcHRpb24gZmFpbHMsIHRpY2tldCBoYW5kbGluZyBkaXNhYmxlZCAoZXhwbGljaXQpIiBcCisgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNSAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zIC0tZGlzYWJsZS1jbGllbnQtY2VydCIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIG5ld19zZXNzaW9uX3RpY2tldHM9MCByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgICAgMSBcCisgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAorICAgICAgICAgICAgLUMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXAorICAgICAgICAgICAgLUMgIlJlY29ubmVjdGluZyB3aXRoIHNhdmVkIHNlc3Npb24uLi4gb2siIFwKKyAgICAgICAgICAgIC1jICJJZ25vcmluZyBOZXdTZXNzaW9uVGlja2V0LCBoYW5kbGluZyBkaXNhYmxlZC4iCisKK3JlcXVpcmVzX2dudXRsc190bHMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+RzogcmVzdW1wdGlvbiBmYWlscywgdGlja2V0IGhhbmRsaW5nIGRpc2FibGVkIChkZWZhdWx0KSIgXAorICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDUgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMyAtLWRpc2FibGUtY2xpZW50LWNlcnQiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgICAgMSBcCisgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAorICAgICAgICAgICAgLUMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXAorICAgICAgICAgICAgLUMgIlJlY29ubmVjdGluZyB3aXRoIHNhdmVkIHNlc3Npb24uLi4gb2siIFwKKyAgICAgICAgICAgIC1jICJJZ25vcmluZyBOZXdTZXNzaW9uVGlja2V0LCBoYW5kbGluZyBkaXNhYmxlZC4iCisKK3JlcXVpcmVzX2dudXRsc190bHMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY2lwaGVyc3VpdGVfZW5hYmxlZCBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0CiBydW5fdGVzdCAgICAiVExTIDEuMyBtLT5HOiByZXN1bXB0aW9uIHdpdGggQUVTLTI1Ni1HQ00tU0hBMzg0IG9ubHkiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA1IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjMgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgICAgIC1jICJDaXBoZXJzdWl0ZSBpcyBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCkBAIC05MjAsMTYgKzEwNDYsMTYgQEAKICAgICAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfRUFSTFlfREFUQSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMyBtLT5HOiByZXN1bXB0aW9uIHdpdGggZWFybHkgZGF0YSIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDUgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMyAtLWRpc2FibGUtY2xpZW50LWNlcnQgXAogICAgICAgICAgICAgICAgICAgICAgICAgIC0tZWFybHlkYXRhIC0tbWF4ZWFybHlkYXRhIDE2Mzg0IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgZWFybHlfZGF0YT0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgZWFybHlfZGF0YT0xIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgICAgLWMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXApAQCAtOTQzLDE3ICsxMDY5LDE3IEBACiAgICAgICAgICAgICAtcyAiZGVjcnlwdGVkIGVhcmx5IGRhdGEgd2l0aCBsZW5ndGg6IgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcmVxdWlyZXNfY2lwaGVyc3VpdGVfZW5hYmxlZCBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0CiBydW5fdGVzdCAgICAiVExTIDEuMyBtLT5HOiByZXN1bXB0aW9uIHdpdGggZWFybHkgZGF0YSwgQUVTLTI1Ni1HQ00tU0hBMzg0IG9ubHkiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA1IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjMgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAtLWVhcmx5ZGF0YSAtLW1heGVhcmx5ZGF0YSAxNjM4NCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQgZWFybHlfZGF0YT0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCBlYXJseV9kYXRhPTEgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMgVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCIgXApAQCAtOTY4LDE1ICsxMDk0LDE1IEBACiAgICAgICAgICAgICAtcyAiZGVjcnlwdGVkIGVhcmx5IGRhdGEgd2l0aCBsZW5ndGg6IgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+RzogcmVzdW1wdGlvbiwgZWFybHkgZGF0YSBjbGktZW5hYmxlZC9zcnYtZGlzYWJsZWQiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA1IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6K0VDREhFLVBTSzorUFNLIC0tZGlzYWJsZS1jbGllbnQtY2VydCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGVhcmx5X2RhdGE9MSBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgICAgIC1jICJTYXZpbmcgc2Vzc2lvbiBmb3IgcmV1c2UuLi4gb2siIFwKQEAgLTk4NiwxNiArMTExMiwxNiBAQAogICAgICAgICAgICAgLUMgIk5ld1Nlc3Npb25UaWNrZXQ6IGVhcmx5X2RhdGEoNDIpIGV4dGVuc2lvbiByZWNlaXZlZC4iIFwKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIG0tPkc6IHJlc3VtcHRpb24sIGVhcmx5IGRhdGEgY2xpLWRlZmF1bHQvc3J2LWVuYWJsZWQiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtZCA1IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjMgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAtLWVhcmx5ZGF0YSAtLW1heGVhcmx5ZGF0YSAxNjM4NCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiU2F2aW5nIHNlc3Npb24gZm9yIHJldXNlLi4uIG9rIiBcCkBAIC0xMDA2LDE2ICsxMTMyLDE2IEBACiAgICAgICAgICAgICAtQyAiQ2xpZW50SGVsbG86IGVhcmx5X2RhdGEoNDIpIGV4dGVuc2lvbiBleGlzdHMuIiBcCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfRUFSTFlfREFUQSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMyBtLT5HOiByZXN1bXB0aW9uLCBlYXJseSBkYXRhIGNsaS1kaXNhYmxlZC9zcnYtZW5hYmxlZCIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC1kIDUgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMyAtLWRpc2FibGUtY2xpZW50LWNlcnQgXAogICAgICAgICAgICAgICAgICAgICAgICAgIC0tZWFybHlkYXRhIC0tbWF4ZWFybHlkYXRhIDE2Mzg0IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgZWFybHlfZGF0YT0wIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgZWFybHlfZGF0YT0wIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvX21vZGU9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgICAgLWMgIlNhdmluZyBzZXNzaW9uIGZvciByZXVzZS4uLiBvayIgXApAQCAtMTAyNiw5ICsxMTUyLDkgQEAKICAgICAgICAgICAgIC1DICJDbGllbnRIZWxsbzogZWFybHlfZGF0YSg0MikgZXh0ZW5zaW9uIGV4aXN0cy4iIFwKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogIyBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL2lzc3Vlcy8xMDcxNApAQCAtMTA0MywxMCArMTE2OSwxMSBAQAogICAgICAgICAgICAgLXMgIlNlbGVjdCBQU0sgY2lwaGVyc3VpdGUiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIEctPm06IHJlc3VtcHRpb24iIFwKQEAgLTEwNTgsMTAgKzExODUsMTEgQEAKICAgICAgICAgICAgIC1zICJTZWxlY3QgUFNLIGNpcGhlcnN1aXRlIgogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jaXBoZXJzdWl0ZV9lbmFibGVkIFRMUzEtMy1BRVMtMjU2LUdDTS1TSEEzODQKQEAgLTEwODAsMTAgKzEyMDgsMTIgQEAKIEVBUkxZX0RBVEFfSU5QVVRfTEVOPSQoKCAkRUFSTFlfREFUQV9JTlBVVF9MRU5fQkxPQ0tTICogMzIgKSkKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMgTUJFRFRMU19IQVZFX1RJTUUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX1NTTF9FQVJMWV9EQVRBIE1CRURUTFNfREVCVUdfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19IQVZFX1RJTUUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAiVExTIDEuMyBHLT5tOiByZXN1bXB0aW9uIHdpdGggZWFybHkgZGF0YSIgXApAQCAtMTEwNCwxMCArMTIzNCwxMiBAQAogICAgICAgICAgLXMgIjEwNiBlYXJseSBkYXRhIGJ5dGVzIHJlYWQiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19TU0xfRUFSTFlfREFUQSBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcmVxdWlyZXNfY2lwaGVyc3VpdGVfZW5hYmxlZCBUTFMxLTMtQUVTLTI1Ni1HQ00tU0hBMzg0CkBAIC0xMTM1LDEwICsxMjY3LDEyIEBACiAjIGhhbmRzaGFrZS4gVGhlIEdudVRMUyBjbGllbnQgYmVoYXZpb3IgaXMgbm90IGNvbXBsaWFudCBoZXJlIHdpdGggdGhlIFRMUyAxLjMKICMgc3BlY2lmaWNhdGlvbiBhbmQgdGh1cyBpdHMgYmVoYXZpb3IgbWF5IGNoYW5nZSBpbiBmb2xsb3dpbmcgdmVyc2lvbnMuCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBNQkVEVExTX0hBVkVfVElNRSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEgTUJFRFRMU19ERUJVR19DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IHJlc3VtcHRpb24sIGVhcmx5IGRhdGEgY2xpLWVuYWJsZWQvc3J2LWRlZmF1bHQiIFwKQEAgLTExNjQsMTAgKzEyOTgsMTIgQEAKICMgaGFuZHNoYWtlLiBUaGUgR251VExTIGNsaWVudCBiZWhhdmlvciBpcyBub3QgY29tcGxpYW50IGhlcmUgd2l0aCB0aGUgVExTIDEuMwogIyBzcGVjaWZpY2F0aW9uIGFuZCB0aHVzIGl0cyBiZWhhdmlvciBtYXkgY2hhbmdlIGluIGZvbGxvd2luZyB2ZXJzaW9ucy4KIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19TU0xfRUFSTFlfREFUQSBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogcmVzdW1wdGlvbiwgZWFybHkgZGF0YSBjbGktZW5hYmxlZC9zcnYtZGlzYWJsZWQiIFwKQEAgLTExODcsMTAgKzEzMjMsMTIgQEAKICAgICAgICAgIC1zICJFYXJseURhdGE6IFRvbyBtdWNoIGVhcmx5IGRhdGEgcmVjZWl2ZWQiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19TU0xfRUFSTFlfREFUQSBNQkVEVExTX0RFQlVHX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfSEFWRV9USU1FCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogcmVzdW1wdGlvbiwgZWFybHkgZGF0YSBjbGktZGlzYWJsZWQvc3J2LWVuYWJsZWQiIFwKQEAgLTEyMDUsMTQgKzEzNDMsMTcgQEAKICAgICAgICAgIC1TICJDbGllbnRIZWxsbzogZWFybHlfZGF0YSg0MikgZXh0ZW5zaW9uIGV4aXN0cy4iIFwKICAgICAgICAgIC1TICJFbmNyeXB0ZWRFeHRlbnNpb25zOiBlYXJseV9kYXRhKDQyKSBleHRlbnNpb24gZXhpc3RzLiIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19ERUJVR19DIE1CRURUTFNfSEFWRV9USU1FIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0hBVkVfVElNRQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPm06IEVwaGVtZXJhbCBvdmVyIFBTSyBrZXggd2l0aCBlYXJseSBkYXRhIGVuYWJsZWQiIFwKICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMyBkZWJ1Z19sZXZlbD00IGVhcmx5X2RhdGE9MSBtYXhfZWFybHlfZGF0YV9zaXplPTEwMjQiIFwKLSAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBlYXJseV9kYXRhPTEgdGxzMTNfa2V4X21vZGVzPXBza19vcl9lcGhlbWVyYWwgcmVjb19tb2RlPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBlYXJseV9kYXRhPTEgdGxzMTNfa2V4X21vZGVzPXBza19vcl9lcGhlbWVyYWwgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29fbW9kZT0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1zICJrZXkgZXhjaGFuZ2UgbW9kZTogZXBoZW1lcmFsIiBcCiAgICAgICAgICAtUyAia2V5IGV4Y2hhbmdlIG1vZGU6IHBzayIgXApkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9hbGwtY29yZS5zaCBiL3Rlc3RzL3NjcmlwdHMvYWxsLWNvcmUuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI2ZWU0NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvYWxsLWNvcmUuc2gKQEAgLTAsMCArMSwxMDI1IEBACisjIGFsbC1jb3JlLnNoCisjCisjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBEb2N1bWVudGF0aW9uCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgUHVycG9zZQorIyAtLS0tLS0tCisjCisjIFRvIHJ1biBhbGwgdGVzdHMgcG9zc2libGUgb3IgYXZhaWxhYmxlIG9uIHRoZSBwbGF0Zm9ybS4KKyMKKyMgRmlsZXMgc3RydWN0dXJlCisjIC0tLS0tLS0tLS0tLS0tLQorIworIyBUaGUgZXhlY3V0YWJsZSBlbnRyeSBwb2ludCBmb3IgdXNlcnMgYW5kIHRoZSBDSSBpcyB0ZXN0cy9zY3JpcHRzL2FsbC5zaC4KKyMKKyMgVGhlIGFjdHVhbCBjb250ZW50IGlzIGluIHRoZSBmb2xsb3dpbmcgZmlsZXM6CisjIC0gYWxsLWNvcmUuc2ggY29udGFpbnMgdGhlIGNvcmUgbG9naWMgZm9yIHJ1bm5pbmcgdGVzdCBjb21wb25lbnRzLAorIyAgIHByb2Nlc3NpbmcgY29tbWFuZCBsaW5lIG9wdGlvbnMsIHJlcG9ydGluZyByZXN1bHRzLCBldGMuCisjIC0gYWxsLWhlbHBlcnMuc2ggY29udGFpbnMgaGVscGVyIGZ1bmN0aW9ucyB1c2VkIGJ5IG1vcmUgdGhhbiAxIGNvbXBvbmVudC4KKyMgLSBjb21wb25lbnRzLSouc2ggY29udGFpbiB0aGUgZGVmaW5pdGlvbnMgb2YgdGhlIHZhcmlvdXMgY29tcG9uZW50cy4KKyMKKyMgVGhlIGZpcnN0IHR3byBwYXJ0cyBhcmUgc2hhcmVkIGJldHdlZW4gcmVwb3MgYW5kIGJyYW5jaGVzOworIyB0aGUgY29tcG9uZW50IGZpbGVzIGFyZSByZXBvJmJyYW5jaC1zcGVjaWZpYy4KKyMKKyMgVGhlIGZpbGVzIGFsbC0qLnNoIGFuZCBjb21wb25lbnRzLSouc2ggc2hvdWxkIG9ubHkgZGVmaW5lIGZ1bmN0aW9ucyBhbmQgbm90CisjIHJ1biBjb2RlIHdoZW4gc291cmNlZDsgdGhlIG9ubHkgZXhjZXB0aW9uIGJlaW5nIHRoYXQgYWxsLWNvcmUuc2ggcnVucworIyAnc2hvcHQnIGJlY2F1c2UgdGhhdCBpcyBuZWNlc3NhcnkgZm9yIHRoZSByZXN0IG9mIHRoZSBmaWxlIHRvIHBhcnNlLgorIworIyBOb3RlcyBmb3IgdXNlcnMKKyMgLS0tLS0tLS0tLS0tLS0tCisjCisjIFdhcm5pbmc6IHRoZSB0ZXN0IGlzIGRlc3RydWN0aXZlLiBJdCBpbmNsdWRlcyB2YXJpb3VzIGJ1aWxkIG1vZGVzIGFuZAorIyBjb25maWd1cmF0aW9ucywgYW5kIGNhbiBhbmQgd2lsbCBhcmJpdHJhcmlseSBjaGFuZ2UgdGhlIGN1cnJlbnQgQ01ha2UKKyMgY29uZmlndXJhdGlvbi4gVGhlIGZvbGxvd2luZyBmaWxlcyBtdXN0IGJlIGNvbW1pdHRlZCBpbnRvIGdpdDoKKyMgICAgKiBpbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaAorIyAgICAqIE1ha2VmaWxlLCBsaWJyYXJ5L01ha2VmaWxlLCBwcm9ncmFtcy9NYWtlZmlsZSwgdGVzdHMvTWFrZWZpbGUsCisjICAgICAgcHJvZ3JhbXMvZnV6ei9NYWtlZmlsZQorIyBBZnRlciBydW5uaW5nIHRoaXMgc2NyaXB0LCB0aGUgQ01ha2UgY2FjaGUgd2lsbCBiZSBsb3N0IGFuZCBDTWFrZQorIyB3aWxsIG5vIGxvbmdlciBiZSBpbml0aWFsaXNlZC4KKyMKKyMgVGhlIHNjcmlwdCBhc3N1bWVzIHRoZSBwcmVzZW5jZSBvZiBhIG51bWJlciBvZiB0b29sczoKKyMgICAqIEJhc2ljIFVuaXggdG9vbHMgKFdpbmRvd3MgdXNlcnMgbm90ZTogYSBVbml4LXN0eWxlIGZpbmQgbXVzdCBiZSBiZWZvcmUKKyMgICAgIHRoZSBXaW5kb3dzIGZpbmQgaW4gdGhlIFBBVEgpCisjICAgKiBQZXJsCisjICAgKiBHTlUgTWFrZQorIyAgICogQ01ha2UKKyMgICAqIEdDQyBhbmQgQ2xhbmcgKHJlY2VudCBlbm91Z2ggZm9yIHVzaW5nIEFTYW4gd2l0aCBnY2MgYW5kIE1lbVNhbiB3aXRoIGNsYW5nLCBvciB2YWxncmluZCkKKyMgICAqIEcrKworIyAgICogYXJtLWdjYyBhbmQgbWluZ3ctZ2NjCisjICAgKiBBcm1DQyA2IChha2EgYXJtY2xhbmcpLCB1bmxlc3MgaW52b2tlZCB3aXRoIC0tbm8tYXJtY2MKKyMgICAqIE9wZW5TU0wgYW5kIEdudVRMUyBjb21tYW5kIGxpbmUgdG9vbHMsIGluIHN1aXRhYmxlIHZlcnNpb25zIGZvciB0aGUKKyMgICAgIGludGVyb3BlcmFiaWxpdHkgdGVzdHMuIFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBvZmZpY2lhbCB2ZXJzaW9ucyBhdCB0aGUKKyMgICAgIHRpbWUgb2Ygd3JpdGluZzoKKyMgICAgICogR05VVExTX3tDTEksU0VSVn0gPSAzLjQuMTAKKyMgICAgICogR05VVExTX05FWFRfe0NMSSxTRVJWfSA9IDMuNy4yCisjICAgICAqIE9QRU5TU0wgPSAxLjAuMmcgKHdpdGhvdXQgRGViaWFuL1VidW50dSBwYXRjaGVzKQorIyAgICAgKiBPUEVOU1NMX05FWFQgPSAzLjEuMgorIyBTZWUgdGhlIGludm9jYXRpb24gb2YgY2hlY2tfdG9vbHMgYmVsb3cgZm9yIGRldGFpbHMuCisjCisjIFRoaXMgc2NyaXB0IG11c3QgYmUgaW52b2tlZCBmcm9tIHRoZSB0b3BsZXZlbCBkaXJlY3Rvcnkgb2YgYSBnaXQKKyMgd29ya2luZyBjb3B5IG9mIE1iZWQgVExTLgorIworIyBUaGUgYmVoYXZpb3Igb24gYW4gZXJyb3IgZGVwZW5kcyBvbiB3aGV0aGVyIC0ta2VlcC1nb2luZyAoYWxpYXMgLWspCisjIGlzIGluIGVmZmVjdC4KKyMgICogV2l0aG91dCAtLWtlZXAtZ29pbmc6IHRoZSBzY3JpcHQgc3RvcHMgb24gdGhlIGZpcnN0IGVycm9yIHdpdGhvdXQKKyMgICAgY2xlYW5pbmcgdXAuIFRoaXMgbGV0cyB5b3Ugd29yayBpbiB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZmFpbGluZworIyAgICBjb21wb25lbnQuCisjICAqIFdpdGggLS1rZWVwLWdvaW5nOiB0aGUgc2NyaXB0IHJ1bnMgYWxsIHJlcXVlc3RlZCBjb21wb25lbnRzIGFuZAorIyAgICByZXBvcnRzIGZhaWx1cmVzIGF0IHRoZSBlbmQuIEluIHBhcnRpY3VsYXIgdGhlIHNjcmlwdCBhbHdheXMgY2xlYW5zCisjICAgIHVwIG9uIGV4aXQuCisjCisjIE5vdGUgdGhhdCB0aGUgb3V0cHV0IGlzIG5vdCBzYXZlZC4gWW91IG1heSB3YW50IHRvIHJ1bgorIyAgIHNjcmlwdCAtYyB0ZXN0cy9zY3JpcHRzL2FsbC5zaAorIyBvcgorIyAgIHRlc3RzL3NjcmlwdHMvYWxsLnNoID5hbGwubG9nIDI+JjEKKyMKKyMgTm90ZXMgZm9yIG1haW50YWluZXJzCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIworIyBUaGUgYnVsayBvZiB0aGUgY29kZSBpcyBvcmdhbml6ZWQgaW50byBmdW5jdGlvbnMgdGhhdCBmb2xsb3cgb25lIG9mIHRoZQorIyBmb2xsb3dpbmcgbmFtaW5nIGNvbnZlbnRpb25zOgorIyAqIGluIGFsbC1jb3JlLnNoOgorIyAgICogcHJlX1hYWDogdGhpbmdzIHRvIGRvIGJlZm9yZSBydW5uaW5nIHRoZSB0ZXN0cywgaW4gb3JkZXIuCisjICAgKiBwb3N0X1hYWDogdGhpbmdzIHRvIGRvIGFmdGVyIHJ1bm5pbmcgdGhlIHRlc3RzLgorIyAqIGluIGNvbXBvbmVudHMtKi5zaDoKKyMgICAqIGNvbXBvbmVudF9YWFg6IGluZGVwZW5kZW50IGNvbXBvbmVudHMuIFRoZXkgY2FuIGJlIHJ1biBpbiBhbnkgb3JkZXIuCisjICAgICAqIGNvbXBvbmVudF9jaGVja19YWFg6IHF1aWNrIHRlc3RzIHRoYXQgYXJlbid0IHdvcnRoIHBhcmFsbGVsaXppbmcuCisjICAgICAqIGNvbXBvbmVudF9idWlsZF9YWFg6IGJ1aWxkIHRoaW5ncyBidXQgZG9uJ3QgcnVuIHRoZW0uCisjICAgICAqIGNvbXBvbmVudF90ZXN0X1hYWDogYnVpbGQgYW5kIHRlc3QuCisjICAgICAqIGNvbXBvbmVudF9yZWxlYXNlX1hYWDogdGVzdHMgdGhhdCB0aGUgQ0kgc2hvdWxkIHNraXAgZHVyaW5nIFBSIHRlc3RpbmcuCisjICAgKiBzdXBwb3J0X1hYWDogaWYgc3VwcG9ydF9YWFggZXhpc3RzIGFuZCByZXR1cm5zIGZhbHNlIHRoZW4KKyMgICAgIGNvbXBvbmVudF9YWFggaXMgbm90IHJ1biBieSBkZWZhdWx0LgorIyAqIGluIHZhcmlvdXMgZmlsZXM6CisjICAgKiBvdGhlcjogbWlzY2VsbGFuZW91cyBzdXBwb3J0IGZ1bmN0aW9ucy4KKyMKKyMgRWFjaCBjb21wb25lbnQgbXVzdCBzdGFydCBieSBpbnZva2luZyBgbXNnYCB3aXRoIGEgc2hvcnQgaW5mb3JtYXRpdmUgbWVzc2FnZS4KKyMKKyMgV2FybmluZzogZHVlIHRvIHRoZSB3YXkgYmFzaCBkZXRlY3RzIGVycm9ycywgdGhlIGZhaWx1cmUgb2YgYSBjb21tYW5kCisjIGluc2lkZSAnaWYnIG9yICchJyBpcyBub3QgZGV0ZWN0ZWQuIFVzZSB0aGUgJ25vdCcgZnVuY3Rpb24gaW5zdGVhZCBvZiAnIScuCisjCisjIEVhY2ggY29tcG9uZW50IGlzIGV4ZWN1dGVkIGluIGEgc2VwYXJhdGUgc2hlbGwgcHJvY2Vzcy4gVGhlIGNvbXBvbmVudAorIyBmYWlscyBpZiBhbnkgY29tbWFuZCBpbiBpdCByZXR1cm5zIGEgbm9uLXplcm8gc3RhdHVzLgorIworIyBUaGUgZnJhbWV3b3JrIHBlcmZvcm1zIHNvbWUgY2xlYW51cCB0YXNrcyBhZnRlciBlYWNoIGNvbXBvbmVudC4gVGhpcworIyBtZWFucyB0aGF0IGNvbXBvbmVudHMgY2FuIGFzc3VtZSB0aGF0IHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpcyBpbiBhCisjIGNsZWFuZWQtdXAgc3RhdGUsIGFuZCBkb24ndCBuZWVkIHRvIHBlcmZvcm0gdGhlIGNsZWFudXAgdGhlbXNlbHZlcy4KKyMgKiBSdW4gYG1ha2UgY2xlYW5gLgorIyAqIFJlc3RvcmUgYGluY2x1ZGUvbWJlZHRscy9tYmVkdGxzX2NvbmZpZy5oYCBmcm9tIGEgYmFja3VwIG1hZGUgYmVmb3JlIHJ1bm5pbmcKKyMgICB0aGUgY29tcG9uZW50LgorIyAqIENoZWNrIG91dCBgTWFrZWZpbGVgLCBgbGlicmFyeS9NYWtlZmlsZWAsIGBwcm9ncmFtcy9NYWtlZmlsZWAsCisjICAgYHRlc3RzL01ha2VmaWxlYCBhbmQgYHByb2dyYW1zL2Z1enovTWFrZWZpbGVgIGZyb20gZ2l0LgorIyAgIFRoaXMgY2xlYW5zIHVwIGFmdGVyIGFuIGluLXRyZWUgdXNlIG9mIENNYWtlLgorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMgSW5pdGlhbGl6YXRpb24gYW5kIGNvbW1hbmQgbGluZSBwYXJzaW5nCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgRW5hYmxlIGtzaC9iYXNoIGV4dGVuZGVkIGZpbGUgbWF0Y2hpbmcgcGF0dGVybnMuCisjIE11c3QgY29tZSBiZWZvcmUgZnVuY3Rpb24gZGVmaW5pdGlvbnMgb3Igc29tZSBvZiB0aGVtIHdvdWxkbid0IHBhcnNlLgorc2hvcHQgLXMgZXh0Z2xvYgorCitwcmVfc2V0X3NoZWxsX29wdGlvbnMgKCkgeworICAgICMgQWJvcnQgb24gZXJyb3JzIChldmVuIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhIHBpcGUpLgorICAgICMgVHJlYXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZXMgYXMgZXJyb3JzLgorICAgIHNldCAtZSAtbyBwaXBlZmFpbCAtdQorfQorCisjIEZvciBwcm9qZWN0IGRldGVjdGlvbgoraW5fbWJlZHRsc19yZXBvICgpIHsKKyAgICB0ZXN0ICIkUFJPSkVDVF9OQU1FIiA9ICJNYmVkIFRMUyIKK30KKworaW5fdGZfcHNhX2NyeXB0b19yZXBvICgpIHsKKyAgICB0ZXN0ICIkUFJPSkVDVF9OQU1FIiA9ICJURi1QU0EtQ3J5cHRvIgorfQorCitwcmVfY2hlY2tfZW52aXJvbm1lbnQgKCkgeworICAgICMgRm9yIHByb2plY3QgZGV0ZWN0aW9uCisgICAgUFJPSkVDVF9OQU1FX0ZJTEU9Jy4vc2NyaXB0cy9wcm9qZWN0X25hbWUudHh0JworICAgIGlmIHJlYWQgLXIgUFJPSkVDVF9OQU1FIDwgIiRQUk9KRUNUX05BTUVfRklMRSI7IHRoZW4gOjsgZWxzZQorICAgICAgICBlY2hvICIkUFJPSkVDVF9OQU1FX0ZJTEUgZG9lcyBub3QgZXhpc3QuLi4gRXhpdGluZy4uLiIgPiYyCisgICAgICAgIGV4aXQgMQorICAgIGZpCisKKyAgICBpZiBpbl9tYmVkdGxzX3JlcG8gfHwgaW5fdGZfcHNhX2NyeXB0b19yZXBvOyB0aGVuIDo7IGVsc2UKKyAgICAgICAgZWNobyAiTXVzdCBiZSBydW4gZnJvbSBNYmVkIFRMUyAvIFRGLVBTQS1DcnlwdG8gcm9vdCIgPiYyCisgICAgICAgIGV4aXQgMQorICAgIGZpCit9CisKKyMgTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHByZV9pbml0aWFsaXplX3ZhcmlhYmxlcyB3aGljaCBzZXRzIEFMTF9DT01QT05FTlRTLgorcHJlX2xvYWRfY29tcG9uZW50cyAoKSB7CisgICAgIyBJbmNsdWRlIHRoZSBjb21wb25lbnRzIGZyb20gY29tcG9uZW50cy5zaAorICAgIHRlc3Rfc2NyaXB0X2Rpcj0iJHswJS8qfSIKKyAgICBmb3IgZmlsZSBpbiAiJHRlc3Rfc2NyaXB0X2RpciIvY29tcG9uZW50cy0qLnNoOyBkbworICAgICAgICBzb3VyY2UgJGZpbGUKKyAgICBkb25lCit9CisKK3ByZV9pbml0aWFsaXplX3ZhcmlhYmxlcyAoKSB7CisgICAgaWYgaW5fbWJlZHRsc19yZXBvOyB0aGVuCisgICAgICAgIENPTkZJR19IPSdpbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaCcKKyAgICAgICAgaWYgWyAtZCB0Zi1wc2EtY3J5cHRvIF07IHRoZW4KKyAgICAgICAgICAgIENSWVBUT19DT05GSUdfSD0ndGYtcHNhLWNyeXB0by9pbmNsdWRlL3BzYS9jcnlwdG9fY29uZmlnLmgnCisgICAgICAgICAgICBQU0FfQ09SRV9QQVRIPSd0Zi1wc2EtY3J5cHRvL2NvcmUnCisgICAgICAgICAgICBCVUlMVElOX1NSQ19QQVRIPSd0Zi1wc2EtY3J5cHRvL2RyaXZlcnMvYnVpbHRpbi9zcmMnCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIENSWVBUT19DT05GSUdfSD0naW5jbHVkZS9wc2EvY3J5cHRvX2NvbmZpZy5oJworICAgICAgICAgICAgIyBoZWxwZXJfYXJtYzZfYnVpbGRfdGVzdCgpIHJlbGllcyBvbiB0aGVzZSBiZWluZyBkZWZpbmVkLAorICAgICAgICAgICAgIyBidXQgZW1wdHkgaWYgdGhlIHBhdGhzIGRvbid0IGV4aXN0IChhcyBpbiAzLjYpLgorICAgICAgICAgICAgUFNBX0NPUkVfUEFUSD0nJworICAgICAgICAgICAgQlVJTFRJTl9TUkNfUEFUSD0nJworICAgICAgICBmaQorICAgIGVsc2UKKyAgICAgICAgQ09ORklHX0g9J2RyaXZlcnMvYnVpbHRpbi9pbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaCcKKyAgICAgICAgQ1JZUFRPX0NPTkZJR19IPSdpbmNsdWRlL3BzYS9jcnlwdG9fY29uZmlnLmgnCisgICAgICAgIFBTQV9DT1JFX1BBVEg9J2NvcmUnCisgICAgICAgIEJVSUxUSU5fU1JDX1BBVEg9J2RyaXZlcnMvYnVpbHRpbi9zcmMnCisgICAgZmkKKyAgICBDT05GSUdfVEVTVF9EUklWRVJfSD0ndGVzdHMvaW5jbHVkZS90ZXN0L2RyaXZlcnMvY29uZmlnX3Rlc3RfZHJpdmVyLmgnCisKKyAgICAjIEZpbGVzIHRoYXQgYXJlIGNsb2JiZXJlZCBieSBzb21lIGpvYnMgd2lsbCBiZSBiYWNrZWQgdXAuIFVzZSBhIGRpZmZlcmVudAorICAgICMgc3VmZml4IGZyb20gYXV4aWxpYXJ5IHNjcmlwdHMgc28gdGhhdCBhbGwuc2ggYW5kIGF1eGlsaWFyeSBzY3JpcHRzIGNhbgorICAgICMgaW5kZXBlbmRlbnRseSBkZWNpZGUgd2hlbiB0byByZW1vdmUgdGhlIGJhY2t1cCBmaWxlLgorICAgIGJhY2t1cF9zdWZmaXg9Jy5hbGwuYmFrJworICAgICMgRmlsZXMgY2xvYmJlcmVkIGJ5IGNvbmZpZy5weQorICAgIGZpbGVzX3RvX2JhY2tfdXA9IiRDT05GSUdfSCAkQ1JZUFRPX0NPTkZJR19IICRDT05GSUdfVEVTVF9EUklWRVJfSCIKKyAgICBpZiBpbl9tYmVkdGxzX3JlcG87IHRoZW4KKyAgICAgICAgIyBGaWxlcyBjbG9iYmVyZWQgYnkgaW4tdHJlZSBjbWFrZQorICAgICAgICBmaWxlc190b19iYWNrX3VwPSIkZmlsZXNfdG9fYmFja191cCBNYWtlZmlsZSBsaWJyYXJ5L01ha2VmaWxlIHByb2dyYW1zL01ha2VmaWxlIHRlc3RzL01ha2VmaWxlIHByb2dyYW1zL2Z1enovTWFrZWZpbGUiCisgICAgZmkKKworICAgIGFwcGVuZF9vdXRjb21lPTAKKyAgICBNRU1PUlk9MAorICAgIEZPUkNFPTAKKyAgICBRVUlFVD0wCisgICAgS0VFUF9HT0lORz0wCisKKyAgICAjIFNlZWQgdmFsdWUgdXNlZCB3aXRoIHRoZSAtLXJlbGVhc2UtdGVzdCBvcHRpb24uCisgICAgIworICAgICMgU2VlIGFsc28gUkVMRUFTRV9TRUVEIGluIGJhc2ljLWJ1aWxkLXRlc3Quc2guIERlYnVnZ2luZyBpcyBlYXNpZXIgaWYKKyAgICAjIGJvdGggdmFsdWVzIGFyZSBrZXB0IGluIHN5bmMuIElmIHlvdSBjaGFuZ2UgdGhlIHZhbHVlIGhlcmUgYmVjYXVzZSBpdAorICAgICMgYnJlYWtzIHNvbWUgdGVzdHMsIHlvdSdsbCBkZWZpbml0ZWx5IHdhbnQgdG8gY2hhbmdlIGl0IGluCisgICAgIyBiYXNpYy1idWlsZC10ZXN0LnNoIGFzIHdlbGwuCisgICAgUkVMRUFTRV9TRUVEPTEKKworICAgICMgU3BlY2lmeSBjaGFyYWN0ZXIgY29sbGF0aW9uIGZvciByZWd1bGFyIGV4cHJlc3Npb25zIGFuZCBzb3J0aW5nIHdpdGggQyBsb2NhbGUKKyAgICBleHBvcnQgTENfQ09MTEFURT1DCisKKyAgICA6ICR7TUJFRFRMU19URVNUX09VVENPTUVfRklMRT19CisgICAgOiAke01CRURUTFNfVEVTVF9QTEFURk9STT0iJCh1bmFtZSAtcyB8IHRyIC1jIFxcbjAtOUEtWmEteiBfKS0kKHVuYW1lIC1tIHwgdHIgLWMgXFxuMC05QS1aYS16IF8pIn0KKyAgICBleHBvcnQgTUJFRFRMU19URVNUX09VVENPTUVfRklMRQorICAgIGV4cG9ydCBNQkVEVExTX1RFU1RfUExBVEZPUk0KKworICAgICMgRGVmYXVsdCBjb21tYW5kcywgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGVudmlyb25tZW50CisgICAgOiAke09QRU5TU0w6PSJvcGVuc3NsIn0KKyAgICA6ICR7T1BFTlNTTF9ORVhUOj0iJE9QRU5TU0wifQorICAgIDogJHtHTlVUTFNfQ0xJOj0iZ251dGxzLWNsaSJ9CisgICAgOiAke0dOVVRMU19TRVJWOj0iZ251dGxzLXNlcnYifQorICAgIDogJHtPVVRfT0ZfU09VUkNFX0RJUjo9Li9tYmVkdGxzX291dF9vZl9zb3VyY2VfYnVpbGR9CisgICAgOiAke0FSTUM2X0JJTl9ESVI6PS91c3IvYmlufQorICAgIDogJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVg6PWFybS1ub25lLWVhYmktfQorICAgIDogJHtBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYOj1hcm0tbGludXgtZ251ZWFiaS19CisgICAgOiAke0FSTV9MSU5VWF9HTlVFQUJJSEZfR0NDX1BSRUZJWDo9YXJtLWxpbnV4LWdudWVhYmloZi19CisgICAgOiAke0FBUkNINjRfTElOVVhfR05VX0dDQ19QUkVGSVg6PWFhcmNoNjQtbGludXgtZ251LX0KKyAgICA6ICR7Q0xBTkdfTEFURVNUOj0iY2xhbmctbGF0ZXN0In0KKyAgICA6ICR7Q0xBTkdfRUFSTElFU1Q6PSJjbGFuZy1lYXJsaWVzdCJ9CisgICAgOiAke0dDQ19MQVRFU1Q6PSJnY2MtbGF0ZXN0In0KKyAgICA6ICR7R0NDX0VBUkxJRVNUOj0iZ2NjLWVhcmxpZXN0In0KKyAgICAjIGlmIE1BS0VGTEFHUyBpcyBub3Qgc2V0IGFkZCB0aGUgLWogb3B0aW9uIHRvIHNwZWVkIHVwIGludm9jYXRpb25zIG9mIG1ha2UKKyAgICBpZiBbIC16ICIke01BS0VGTEFHUytzZXR9IiBdOyB0aGVuCisgICAgICAgIGV4cG9ydCBNQUtFRkxBR1M9Ii1qJChhbGxfc2hfbnByb2MpIgorICAgIGZpCisgICAgIyBpZiBDQyBpcyBub3Qgc2V0LCB1c2UgY2xhbmcgYnkgZGVmYXVsdCAoaWYgcHJlc2VudCkgdG8gaW1wcm92ZSBidWlsZCB0aW1lcworICAgIGlmIFsgLXogIiR7Q0Mrc2V0fSIgXSAmJiAodHlwZSBjbGFuZyA+IC9kZXYvbnVsbCAyPiYxKTsgdGhlbgorICAgICAgICBleHBvcnQgQ0M9ImNsYW5nIgorICAgIGZpCisKKyAgICBpZiBbIC1uICIke09QRU5TU0xfMytzZXR9IiBdOyB0aGVuCisgICAgICAgIGV4cG9ydCBPUEVOU1NMX05FWFQ9IiRPUEVOU1NMXzMiCisgICAgZmkKKworICAgICMgSW5jbHVkZSBtb3JlIHZlcmJvc2Ugb3V0cHV0IGZvciBmYWlsaW5nIHRlc3RzIHJ1biBieSBDTWFrZSBvciBtYWtlCisgICAgZXhwb3J0IENURVNUX09VVFBVVF9PTl9GQUlMVVJFPTEKKworICAgICMgQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBBc2FuIGJ1aWxkcyB0aGF0IGRvbid0IHVzZSBDTWFrZQorICAgICMgZGVmYXVsdCB0byAtTzIsIHVzZSAtT3ggX2FmdGVyXyB0aGlzIGlmIHlvdSB3YW50IGFub3RoZXIgbGV2ZWwKKyAgICBBU0FOX0NGTEFHUz0nLU8yIC1XZXJyb3IgLWZzYW5pdGl6ZT1hZGRyZXNzLHVuZGVmaW5lZCAtZm5vLXNhbml0aXplLXJlY292ZXI9YWxsJworICAgICMgTm9ybWFsbHksIHRlc3RzIHNob3VsZCB1c2UgdGhpcyBjb21waWxlciBmb3IgQVNBTiB0ZXN0aW5nCisgICAgQVNBTl9DQz1jbGFuZworCisgICAgIyBQbGF0Zm9ybSB0ZXN0cyBoYXZlIGFuIGFsbG9jYXRpb24gdGhhdCByZXR1cm5zIG51bGwKKyAgICBleHBvcnQgQVNBTl9PUFRJT05TPSJhbGxvY2F0b3JfbWF5X3JldHVybl9udWxsPTEiCisgICAgZXhwb3J0IE1TQU5fT1BUSU9OUz0iYWxsb2NhdG9yX21heV9yZXR1cm5fbnVsbD0xIgorCisgICAgIyBHYXRoZXIgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbXBvbmVudHMuIFRoZXNlIGFyZSB0aGUgZnVuY3Rpb25zCisgICAgIyBkZWZpbmVkIGluIHRoaXMgc2NyaXB0IHdob3NlIG5hbWUgc3RhcnRzIHdpdGggImNvbXBvbmVudF8iLgorICAgIEFMTF9DT01QT05FTlRTPSQoY29tcGdlbiAtQSBmdW5jdGlvbiBjb21wb25lbnRfIHwgc2VkICdzL2NvbXBvbmVudF8vLycpCisKKyAgICBQU0FTSU1fUEFUSD0ndGVzdHMvcHNhLWNsaWVudC1zZXJ2ZXIvcHNhc2ltLycKKworICAgICMgRGVsYXkgZGV0ZXJtaW5pbmcgU1VQUE9SVEVEX0NPTVBPTkVOVFMgdW50aWwgdGhlIGNvbW1hbmQgbGluZSBvcHRpb25zIGhhdmUgYSBjaGFuY2UgdG8gb3ZlcnJpZGUKKyAgICAjIHRoZSBjb21tYW5kcyBzZXQgYnkgdGhlIGVudmlyb25tZW50Cit9CisKK3NldHVwX3F1aWV0X3dyYXBwZXJzKCkKK3sKKyAgICAjIFBpY2sgdXAgInF1aWV0IiB3cmFwcGVycyBmb3IgbWFrZSBhbmQgY21ha2UsIHdoaWNoIGRvbid0IG91dHB1dCB2ZXJ5IG11Y2gKKyAgICAjIHVubGVzcyB0aGVyZSBpcyBhbiBlcnJvci4gVGhpcyByZWR1Y2VzIGxvZ2dpbmcgb3ZlcmhlYWQgaW4gdGhlIENJLgorICAgICMKKyAgICAjIE5vdGUgdGhhdCB0aGUgY21ha2Ugd3JhcHBlciBicmVha3MgdW5sZXNzIHdlIHVzZSBhbiBhYnNvbHV0ZSBwYXRoIGhlcmUuCisgICAgaWYgW1sgLWUgJHtQV0R9L3Rlc3RzL3NjcmlwdHMvcXVpZXQgXV07IHRoZW4KKyAgICAgICAgZXhwb3J0IFBBVEg9JHtQV0R9L3Rlc3RzL3NjcmlwdHMvcXVpZXQ6JFBBVEgKKyAgICBmaQorfQorCisjIFRlc3Qgd2hldGhlciB0aGUgY29tcG9uZW50ICQxIGlzIGluY2x1ZGVkIGluIHRoZSBjb21tYW5kIGxpbmUgcGF0dGVybnMuCitpc19jb21wb25lbnRfaW5jbHVkZWQoKQoreworICAgICMgVGVtcG9yYXJpbHkgZGlzYWJsZSB3aWxkY2FyZCBleHBhbnNpb24gc28gdGhhdCAkQ09NTUFORF9MSU5FX0NPTVBPTkVOVFMKKyAgICAjIG9ubHkgZG9lcyB3b3JkIHNwbGl0dGluZy4KKyAgICBzZXQgLWYKKyAgICBmb3IgcGF0dGVybiBpbiAkQ09NTUFORF9MSU5FX0NPTVBPTkVOVFM7IGRvCisgICAgICAgIHNldCArZgorICAgICAgICBjYXNlICR7MSNjb21wb25lbnRffSBpbiAkcGF0dGVybikgcmV0dXJuIDA7OyBlc2FjCisgICAgZG9uZQorICAgIHNldCArZgorICAgIHJldHVybiAxCit9CisKK3VzYWdlKCkKK3sKKyAgICBjYXQgPDxFT0YKK1VzYWdlOiAkMCBbT1BUSU9OXS4uLiBbQ09NUE9ORU5UXS4uLgorUnVuIG1iZWR0bHMgcmVsZWFzZSB2YWxpZGF0aW9uIHRlc3RzLgorQnkgZGVmYXVsdCwgcnVuIGFsbCB0ZXN0cy4gV2l0aCBvbmUgb3IgbW9yZSBDT01QT05FTlQsIHJ1biBvbmx5IHRob3NlLgorQ09NUE9ORU5UIGNhbiBiZSB0aGUgbmFtZSBvZiBhIGNvbXBvbmVudCBvciBhIHNoZWxsIHdpbGRjYXJkIHBhdHRlcm4uCisKK0V4YW1wbGVzOgorICAkMCAiY2hlY2tfKiIKKyAgICBSdW4gYWxsIHNhbml0eSBjaGVja3MuCisgICQwIC0tbm8tYXJtY2MgLS1leGNlcHQgdGVzdF9tZW1zYW4KKyAgICBSdW4gZXZlcnl0aGluZyBleGNlcHQgYnVpbGRzIHRoYXQgcmVxdWlyZSBhcm1jYyBhbmQgTWVtU2FuLgorCitTcGVjaWFsIG9wdGlvbnM6CisgIC1ofC0taGVscCAgICAgICAgICAgICBQcmludCB0aGlzIGhlbHAgYW5kIGV4aXQuCisgIC0tbGlzdC1hbGwtY29tcG9uZW50cyBMaXN0IGFsbCBhdmFpbGFibGUgdGVzdCBjb21wb25lbnRzIGFuZCBleGl0LgorICAtLWxpc3QtY29tcG9uZW50cyAgICAgTGlzdCBjb21wb25lbnRzIHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtIGFuZCBleGl0LgorCitHZW5lcmFsIG9wdGlvbnM6CisgIC1xfC0tcXVpZXQgICAgICAgICAgICBPbmx5IG91dHB1dCBjb21wb25lbnQgbmFtZXMsIGFuZCBlcnJvcnMgaWYgYW55LgorICAtZnwtLWZvcmNlICAgICAgICAgICAgRm9yY2UgdGhlIHRlc3RzIHRvIG92ZXJ3cml0ZSBhbnkgbW9kaWZpZWQgZmlsZXMuCisgIC1rfC0ta2VlcC1nb2luZyAgICAgICBSdW4gYWxsIHRlc3RzIGFuZCByZXBvcnQgZXJyb3JzIGF0IHRoZSBlbmQuCisgIC1tfC0tbWVtb3J5ICAgICAgICAgICBBZGRpdGlvbmFsIG9wdGlvbmFsIG1lbW9yeSB0ZXN0cy4KKyAgICAgLS1hcHBlbmQtb3V0Y29tZSAgIEFwcGVuZCB0byB0aGUgb3V0Y29tZSBmaWxlIChpZiB1c2VkKS4KKyAgICAgLS1hcm0tbm9uZS1lYWJpLWdjYy1wcmVmaXg9PHN0cmluZz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFByZWZpeCBmb3IgYSBjcm9zcy1jb21waWxlciBmb3IgYXJtLW5vbmUtZWFiaQorICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQ6ICIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH0iKQorICAgICAtLWFybS1saW51eC1nbnVlYWJpLWdjYy1wcmVmaXg9PHN0cmluZz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFByZWZpeCBmb3IgYSBjcm9zcy1jb21waWxlciBmb3IgYXJtLWxpbnV4LWdudWVhYmkKKyAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiAiJHtBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYfSIpCisgICAgIC0tYXJtLWxpbnV4LWdudWVhYmloZi1nY2MtcHJlZml4PTxzdHJpbmc+CisgICAgICAgICAgICAgICAgICAgICAgICBQcmVmaXggZm9yIGEgY3Jvc3MtY29tcGlsZXIgZm9yIGFybS1saW51eC1nbnVlYWJpaGYKKyAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiAiJHtBUk1fTElOVVhfR05VRUFCSUhGX0dDQ19QUkVGSVh9IikKKyAgICAgLS1hYXJjaDY0LWxpbnV4LWdudS1nY2MtcHJlZml4PTxzdHJpbmc+CisgICAgICAgICAgICAgICAgICAgICAgICBQcmVmaXggZm9yIGEgY3Jvc3MtY29tcGlsZXIgZm9yIGFhcmNoNjQtbGludXgtZ251CisgICAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDogIiR7QUFSQ0g2NF9MSU5VWF9HTlVfR0NDX1BSRUZJWH0iKQorICAgICAtLWFybWNjICAgICAgICAgICAgUnVuIEFSTSBDb21waWxlciBidWlsZHMgKG9uIGJ5IGRlZmF1bHQpLgorICAgICAtLXJlc3RvcmUgICAgICAgICAgRmlyc3QgY2xlYW4gdXAgdGhlIGJ1aWxkIHRyZWUsIHJlc3RvcmluZyBiYWNrZWQgdXAKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzLiBEbyBub3QgcnVuIGFueSBjb21wb25lbnRzIHVubGVzcyB0aGV5IGFyZQorICAgICAgICAgICAgICAgICAgICAgICAgZXhwbGljaXRseSBzcGVjaWZpZWQuCisgICAgIC0tZXJyb3ItdGVzdCAgICAgICBFcnJvciB0ZXN0IG1vZGU6IHJ1biBhIGZhaWxpbmcgZnVuY3Rpb24gaW4gYWRkaXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIHRvIGFueSBzcGVjaWZpZWQgY29tcG9uZW50LiBNYXkgYmUgcmVwZWF0ZWQuCisgICAgIC0tZXhjZXB0ICAgICAgICAgICBFeGNsdWRlIHRoZSBDT01QT05FTlRzIGxpc3RlZCBvbiB0aGUgY29tbWFuZCBsaW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiBydW5uaW5nIG9ubHkgdGhvc2UuCisgICAgIC0tbm8tYXBwZW5kLW91dGNvbWUgICAgV3JpdGUgYSBuZXcgb3V0Y29tZSBmaWxlIGFuZCBhbmFseXplIGl0IChkZWZhdWx0KS4KKyAgICAgLS1uby1hcm1jYyAgICAgICAgIFNraXAgQVJNIENvbXBpbGVyIGJ1aWxkcy4KKyAgICAgLS1uby1mb3JjZSAgICAgICAgIFJlZnVzZSB0byBvdmVyd3JpdGUgbW9kaWZpZWQgZmlsZXMgKGRlZmF1bHQpLgorICAgICAtLW5vLWtlZXAtZ29pbmcgICAgU3RvcCBhdCB0aGUgZmlyc3QgZXJyb3IgKGRlZmF1bHQpLgorICAgICAtLW5vLW1lbW9yeSAgICAgICAgTm8gYWRkaXRpb25hbCBtZW1vcnkgdGVzdHMgKGRlZmF1bHQpLgorICAgICAtLW5vLXF1aWV0ICAgICAgICAgUHJpbnQgZnVsbCBvdXRwdXQgZnJvbSBjb21wb25lbnRzLgorICAgICAtLW91dC1vZi1zb3VyY2UtZGlyPTxwYXRoPiAgRGlyZWN0b3J5IHVzZWQgZm9yIENNYWtlIG91dC1vZi1zb3VyY2UgYnVpbGQgdGVzdHMuCisgICAgIC0tb3V0Y29tZS1maWxlPTxwYXRoPiAgRmlsZSB3aGVyZSB0ZXN0IG91dGNvbWVzIGFyZSB3cml0dGVuIChub3QgZG9uZSBpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5OyBkZWZhdWx0OiBcJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUpLgorICAgICAtLXJhbmRvbS1zZWVkICAgICAgVXNlIGEgcmFuZG9tIHNlZWQgdmFsdWUgZm9yIHJhbmRvbWl6ZWQgdGVzdHMgKGRlZmF1bHQpLgorICAtcnwtLXJlbGVhc2UtdGVzdCAgICAgUnVuIHRoaXMgc2NyaXB0IGluIHJlbGVhc2UgbW9kZS4gVGhpcyBmaXhlcyB0aGUgc2VlZCB2YWx1ZSB0byAke1JFTEVBU0VfU0VFRH0uCisgIC1zfC0tc2VlZCAgICAgICAgICAgICBJbnRlZ2VyIHNlZWQgdmFsdWUgdG8gdXNlIGZvciB0aGlzIHRlc3QgcnVuLgorCitUb29sIHBhdGggb3B0aW9uczoKKyAgICAgLS1hcm1jNi1iaW4tZGlyPTxBUk1DNl9iaW5fZGlyX3BhdGg+ICAgICAgIEFSTSBDb21waWxlciA2IGJpbiBkaXJlY3RvcnkuCisgICAgIC0tY2xhbmctZWFybGllc3Q9PENsYW5nX2VhcmxpZXN0X3BhdGg+ICAgICBFYXJsaWVzdCB2ZXJzaW9uIG9mIGNsYW5nIGF2YWlsYWJsZQorICAgICAtLWNsYW5nLWxhdGVzdD08Q2xhbmdfbGF0ZXN0X3BhdGg+ICAgICAgICAgTGF0ZXN0IHZlcnNpb24gb2YgY2xhbmcgYXZhaWxhYmxlCisgICAgIC0tZ2NjLWVhcmxpZXN0PTxHQ0NfZWFybGllc3RfcGF0aD4gICAgICAgICBFYXJsaWVzdCB2ZXJzaW9uIG9mIEdDQyBhdmFpbGFibGUKKyAgICAgLS1nY2MtbGF0ZXN0PTxHQ0NfbGF0ZXN0X3BhdGg+ICAgICAgICAgICAgIExhdGVzdCB2ZXJzaW9uIG9mIEdDQyBhdmFpbGFibGUKKyAgICAgLS1nbnV0bHMtY2xpPTxHbnVUTFNfY2xpX3BhdGg+ICAgICAgICAgICAgIEdudVRMUyBjbGllbnQgZXhlY3V0YWJsZSB0byB1c2UgZm9yIG1vc3QgdGVzdHMuCisgICAgIC0tZ251dGxzLXNlcnY9PEdudVRMU19zZXJ2X3BhdGg+ICAgICAgICAgICBHbnVUTFMgc2VydmVyIGV4ZWN1dGFibGUgdG8gdXNlIGZvciBtb3N0IHRlc3RzLgorICAgICAtLW9wZW5zc2w9PE9wZW5TU0xfcGF0aD4gICAgICAgICAgICAgICAgICAgT3BlblNTTCBleGVjdXRhYmxlIHRvIHVzZSBmb3IgbW9zdCB0ZXN0cy4KKyAgICAgLS1vcGVuc3NsLW5leHQ9PE9wZW5TU0xfcGF0aD4gICAgICAgICAgICAgIE9wZW5TU0wgZXhlY3V0YWJsZSB0byB1c2UgZm9yIHJlY2VudCB0aGluZ3MgbGlrZSBBUklBCitFT0YKK30KKworIyBDbGVhbnVwIGJlZm9yZS9hZnRlciBydW5uaW5nIGEgY29tcG9uZW50LgorIyBSZW1vdmUgYnVpbHQgZmlsZXMgYXMgd2VsbCBhcyB0aGUgY21ha2UgY2FjaGUvY29uZmlnLgorIyBEb2VzIG5vdCByZW1vdmUgZ2VuZXJhdGVkIHNvdXJjZSBmaWxlcy4KK2NsZWFudXAoKQoreworICAgIGlmIGluX21iZWR0bHNfcmVwbzsgdGhlbgorICAgICAgICBjb21tYW5kIG1ha2UgY2xlYW4KKyAgICBmaQorCisgICAgIyBSZW1vdmUgQ01ha2UgYXJ0ZWZhY3RzCisgICAgZmluZCAuIC1uYW1lIC5naXQgLXBydW5lIC1vIFwKKyAgICAgICAgICAgLWluYW1lIENNYWtlRmlsZXMgLWV4ZWMgcm0gLXJmIHt9IFwrIC1vIFwKKyAgICAgICAgICAgXCggLWluYW1lIGNtYWtlX2luc3RhbGwuY21ha2UgLW8gXAorICAgICAgICAgICAgICAtaW5hbWUgQ1Rlc3RUZXN0ZmlsZS5jbWFrZSAtbyBcCisgICAgICAgICAgICAgIC1pbmFtZSBDTWFrZUNhY2hlLnR4dCAtbyBcCisgICAgICAgICAgICAgIC1wYXRoICcuL2NtYWtlLyouY21ha2UnIFwpIC1leGVjIHJtIC1mIHt9IFwrCisgICAgIyBSZW1vdmUgTWFrZWZpbGVzIGdlbmVyYXRlZCBieSBpbi10cmVlIENNYWtlIGJ1aWxkcworICAgICMgKE5vdCBhbGwgZmlsZXMgd2lsbCBleGlzdCBpbiBhbGwgYnJhbmNoZXMsIGJ1dCB0aGF0J3MgT0suKQorICAgIHJtIC1mIDNyZHBhcnR5L01ha2VmaWxlIDNyZHBhcnR5LyovTWFrZWZpbGUKKyAgICBybSAtZiBwa2djb25maWcvTWFrZWZpbGUgZnJhbWV3b3JrL01ha2VmaWxlCisgICAgcm0gLWYgaW5jbHVkZS9NYWtlZmlsZSBwcm9ncmFtcy8hKGZ1enopL01ha2VmaWxlCisgICAgcm0gLWYgdGYtcHNhLWNyeXB0by9NYWtlZmlsZSB0Zi1wc2EtY3J5cHRvL2luY2x1ZGUvTWFrZWZpbGUKKyAgICBybSAtZiB0Zi1wc2EtY3J5cHRvL2NvcmUvTWFrZWZpbGUgdGYtcHNhLWNyeXB0by9kcml2ZXJzL01ha2VmaWxlCisgICAgcm0gLWYgdGYtcHNhLWNyeXB0by90ZXN0cy9NYWtlZmlsZQorICAgIHJtIC1mIHRmLXBzYS1jcnlwdG8vZHJpdmVycy9ldmVyZXN0L01ha2VmaWxlCisgICAgcm0gLWYgdGYtcHNhLWNyeXB0by9kcml2ZXJzL3AyNTYtbS9NYWtlZmlsZQorICAgIHJtIC1mIHRmLXBzYS1jcnlwdG8vZHJpdmVycy9idWlsdGluL01ha2VmaWxlCisgICAgcm0gLWYgdGYtcHNhLWNyeXB0by9kcml2ZXJzL2J1aWx0aW4vc3JjL01ha2VmaWxlCisKKyAgICAjIFJlbW92ZSBhbnkgYXJ0aWZhY3RzIGZyb20gdGhlIGNvbXBvbmVudF90ZXN0X2NtYWtlX2FzX3N1YmRpcmVjdG9yeSB0ZXN0LgorICAgIHJtIC1yZiBwcm9ncmFtcy90ZXN0L2NtYWtlX3N1YnByb2plY3QvYnVpbGQKKyAgICBybSAtZiBwcm9ncmFtcy90ZXN0L2NtYWtlX3N1YnByb2plY3QvTWFrZWZpbGUKKyAgICBybSAtZiBwcm9ncmFtcy90ZXN0L2NtYWtlX3N1YnByb2plY3QvY21ha2Vfc3VicHJvamVjdAorCisgICAgIyBSZW1vdmUgYW55IGFydGlmYWN0cyBmcm9tIHRoZSBjb21wb25lbnRfdGVzdF9jbWFrZV9hc19wYWNrYWdlIHRlc3QuCisgICAgcm0gLXJmIHByb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZS9idWlsZAorICAgIHJtIC1mIHByb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZS9NYWtlZmlsZQorICAgIHJtIC1mIHByb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZS9jbWFrZV9wYWNrYWdlCisKKyAgICAjIFJlbW92ZSBhbnkgYXJ0aWZhY3RzIGZyb20gdGhlIGNvbXBvbmVudF90ZXN0X2NtYWtlX2FzX2luc3RhbGxlZF9wYWNrYWdlIHRlc3QuCisgICAgcm0gLXJmIHByb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZV9pbnN0YWxsL2J1aWxkCisgICAgcm0gLWYgcHJvZ3JhbXMvdGVzdC9jbWFrZV9wYWNrYWdlX2luc3RhbGwvTWFrZWZpbGUKKyAgICBybSAtZiBwcm9ncmFtcy90ZXN0L2NtYWtlX3BhY2thZ2VfaW5zdGFsbC9jbWFrZV9wYWNrYWdlX2luc3RhbGwKKworICAgICMgUmVzdG9yZSBmaWxlcyB0aGF0IG1heSBoYXZlIGJlZW4gY2xvYmJlcmVkIGJ5IHRoZSBqb2IKKyAgICByZXN0b3JlX2JhY2tlZF91cF9maWxlcworfQorCisjIFJlc3RvcmUgZmlsZXMgdGhhdCBtYXkgaGF2ZSBiZWVuIGNsb2JiZXJlZAorcmVzdG9yZV9iYWNrZWRfdXBfZmlsZXMgKCkgeworICAgIGZvciB4IGluICRmaWxlc190b19iYWNrX3VwOyBkbworICAgICAgICBpZiBbWyAtZSAiJHgkYmFja3VwX3N1ZmZpeCIgXV07IHRoZW4KKyAgICAgICAgICAgIGNwIC1wICIkeCRiYWNrdXBfc3VmZml4IiAiJHgiCisgICAgICAgIGZpCisgICAgZG9uZQorfQorCisjIEZpbmFsIGNsZWFudXAgd2hlbiB0aGlzIHNjcmlwdCBleGl0cyAoZXhjZXB0IHdoZW4gZXhpdGluZyBvbiBhIGZhaWx1cmUKKyMgaW4gbm9uLWtlZXAtZ29pbmcgbW9kZSkuCitmaW5hbF9jbGVhbnVwICgpIHsKKyAgICBjbGVhbnVwCisKKyAgICBmb3IgeCBpbiAkZmlsZXNfdG9fYmFja191cDsgZG8KKyAgICAgICAgcm0gLWYgIiR4JGJhY2t1cF9zdWZmaXgiCisgICAgZG9uZQorfQorCisjIEV4ZWN1dGVkIG9uIGV4aXQuIE1heSBiZSByZWRlZmluZWQgZGVwZW5kaW5nIG9uIGNvbW1hbmQgbGluZSBvcHRpb25zLgorZmluYWxfcmVwb3J0ICgpIHsKKyAgICA6Cit9CisKK2ZhdGFsX3NpZ25hbCAoKSB7CisgICAgZmluYWxfY2xlYW51cAorICAgIGZpbmFsX3JlcG9ydCAkMQorICAgIHRyYXAgLSAkMQorICAgIGtpbGwgLSQxICQkCit9CisKK3ByZV9zZXRfc2lnbmFsX2hhbmRsZXJzICgpIHsKKyAgICB0cmFwICdmYXRhbF9zaWduYWwgSFVQJyBIVVAKKyAgICB0cmFwICdmYXRhbF9zaWduYWwgSU5UJyBJTlQKKyAgICB0cmFwICdmYXRhbF9zaWduYWwgVEVSTScgVEVSTQorfQorCisjIE51bWJlciBvZiBwcm9jZXNzb3JzIG9uIHRoaXMgbWFjaGluZS4gVXNlZCBhcyB0aGUgZGVmYXVsdCBzZXR0aW5nCisjIGZvciBwYXJhbGxlbCBtYWtlLgorYWxsX3NoX25wcm9jICgpCit7CisgICAgeworICAgICAgICBucHJvYyB8fCAjIExpbnV4CisgICAgICAgIHN5c2N0bCAtbiBody5uY3B1b25saW5lIHx8ICMgTmV0QlNELCBPcGVuQlNECisgICAgICAgIHN5c2N0bCAtbiBody5uY3B1IHx8ICMgRnJlZUJTRAorICAgICAgICBlY2hvIDEKKyAgICB9IDI+L2Rldi9udWxsCit9CisKK21zZygpCit7CisgICAgaWYgWyAtbiAiJHtjdXJyZW50X2NvbXBvbmVudDotfSIgXTsgdGhlbgorICAgICAgICBjdXJyZW50X3NlY3Rpb249IiR7Y3VycmVudF9jb21wb25lbnQjY29tcG9uZW50X306ICQxIgorICAgIGVsc2UKKyAgICAgICAgY3VycmVudF9zZWN0aW9uPSIkMSIKKyAgICBmaQorCisgICAgaWYgWyAkUVVJRVQgLWVxIDEgXTsgdGhlbgorICAgICAgICByZXR1cm4KKyAgICBmaQorCisgICAgZWNobyAiIgorICAgIGVjaG8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIKKyAgICBlY2hvICIqICRjdXJyZW50X3NlY3Rpb24gIgorICAgIHByaW50ZiAiKiAiOyBkYXRlCisgICAgZWNobyAiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIgorfQorCitlcnJfbXNnKCkKK3sKKyAgICBlY2hvICIkMSIgPiYyCit9CisKK2NoZWNrX3Rvb2xzKCkKK3sKKyAgICBmb3IgdG9vbCBpbiAiJEAiOyBkbworICAgICAgICBpZiAhIGB0eXBlICIkdG9vbCIgPi9kZXYvbnVsbCAyPiYxYDsgdGhlbgorICAgICAgICAgICAgZXJyX21zZyAiJHRvb2wgbm90IGZvdW5kISIKKyAgICAgICAgICAgIGV4aXQgMQorICAgICAgICBmaQorICAgIGRvbmUKK30KKworcHJlX3BhcnNlX2NvbW1hbmRfbGluZSAoKSB7CisgICAgQ09NTUFORF9MSU5FX0NPTVBPTkVOVFM9CisgICAgYWxsX2V4Y2VwdD0wCisgICAgZXJyb3JfdGVzdD0wCisgICAgbGlzdF9jb21wb25lbnRzPTAKKyAgICByZXN0b3JlX2ZpcnN0PTAKKyAgICBub19hcm1jYz0KKworICAgICMgTm90ZSB0aGF0IGxlZ2FjeSBvcHRpb25zIGFyZSBpZ25vcmVkIGluc3RlYWQgb2YgYmVpbmcgb21pdHRlZCBmcm9tIHRoaXMKKyAgICAjIGxpc3Qgb2Ygb3B0aW9ucywgc28gaW52b2NhdGlvbnMgdGhhdCB3b3JrZWQgd2l0aCBwcmV2aW91cyB2ZXJzaW9uIG9mCisgICAgIyBhbGwuc2ggd2lsbCBzdGlsbCBydW4gYW5kIHdvcmsgcHJvcGVybHkuCisgICAgd2hpbGUgWyAkIyAtZ3QgMCBdOyBkbworICAgICAgICBjYXNlICIkMSIgaW4KKyAgICAgICAgICAgIC0tYXBwZW5kLW91dGNvbWUpIGFwcGVuZF9vdXRjb21lPTE7OworICAgICAgICAgICAgLS1hcm0tbm9uZS1lYWJpLWdjYy1wcmVmaXgpIHNoaWZ0OyBBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVg9IiQxIjs7CisgICAgICAgICAgICAtLWFybS1saW51eC1nbnVlYWJpLWdjYy1wcmVmaXgpIHNoaWZ0OyBBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYPSIkMSI7OworICAgICAgICAgICAgLS1hcm0tbGludXgtZ251ZWFiaWhmLWdjYy1wcmVmaXgpIHNoaWZ0OyBBUk1fTElOVVhfR05VRUFCSUhGX0dDQ19QUkVGSVg9IiQxIjs7CisgICAgICAgICAgICAtLWFhcmNoNjQtbGludXgtZ251LWdjYy1wcmVmaXgpIHNoaWZ0OyBBQVJDSDY0X0xJTlVYX0dOVV9HQ0NfUFJFRklYPSIkMSI7OworICAgICAgICAgICAgLS1hcm1jYykgbm9fYXJtY2M9OzsKKyAgICAgICAgICAgIC0tYXJtYzYtYmluLWRpcikgc2hpZnQ7IEFSTUM2X0JJTl9ESVI9IiQxIjs7CisgICAgICAgICAgICAtLWNsYW5nLWVhcmxpZXN0KSBzaGlmdDsgQ0xBTkdfRUFSTElFU1Q9IiQxIjs7CisgICAgICAgICAgICAtLWNsYW5nLWxhdGVzdCkgc2hpZnQ7IENMQU5HX0xBVEVTVD0iJDEiOzsKKyAgICAgICAgICAgIC0tZXJyb3ItdGVzdCkgZXJyb3JfdGVzdD0kKChlcnJvcl90ZXN0ICsgMSkpOzsKKyAgICAgICAgICAgIC0tZXhjZXB0KSBhbGxfZXhjZXB0PTE7OworICAgICAgICAgICAgLS1mb3JjZXwtZikgRk9SQ0U9MTs7CisgICAgICAgICAgICAtLWdjYy1lYXJsaWVzdCkgc2hpZnQ7IEdDQ19FQVJMSUVTVD0iJDEiOzsKKyAgICAgICAgICAgIC0tZ2NjLWxhdGVzdCkgc2hpZnQ7IEdDQ19MQVRFU1Q9IiQxIjs7CisgICAgICAgICAgICAtLWdudXRscy1jbGkpIHNoaWZ0OyBHTlVUTFNfQ0xJPSIkMSI7OworICAgICAgICAgICAgLS1nbnV0bHMtbGVnYWN5LWNsaSkgc2hpZnQ7OyAjIGlnbm9yZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKKyAgICAgICAgICAgIC0tZ251dGxzLWxlZ2FjeS1zZXJ2KSBzaGlmdDs7ICMgaWdub3JlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQorICAgICAgICAgICAgLS1nbnV0bHMtc2Vydikgc2hpZnQ7IEdOVVRMU19TRVJWPSIkMSI7OworICAgICAgICAgICAgLS1oZWxwfC1oKSB1c2FnZTsgZXhpdDs7CisgICAgICAgICAgICAtLWtlZXAtZ29pbmd8LWspIEtFRVBfR09JTkc9MTs7CisgICAgICAgICAgICAtLWxpc3QtYWxsLWNvbXBvbmVudHMpIHByaW50ZiAnJXNcbicgJEFMTF9DT01QT05FTlRTOyBleGl0OzsKKyAgICAgICAgICAgIC0tbGlzdC1jb21wb25lbnRzKSBsaXN0X2NvbXBvbmVudHM9MTs7CisgICAgICAgICAgICAtLW1lbW9yeXwtbSkgTUVNT1JZPTE7OworICAgICAgICAgICAgLS1uby1hcHBlbmQtb3V0Y29tZSkgYXBwZW5kX291dGNvbWU9MDs7CisgICAgICAgICAgICAtLW5vLWFybWNjKSBub19hcm1jYz0xOzsKKyAgICAgICAgICAgIC0tbm8tZm9yY2UpIEZPUkNFPTA7OworICAgICAgICAgICAgLS1uby1rZWVwLWdvaW5nKSBLRUVQX0dPSU5HPTA7OworICAgICAgICAgICAgLS1uby1tZW1vcnkpIE1FTU9SWT0wOzsKKyAgICAgICAgICAgIC0tbm8tcXVpZXQpIFFVSUVUPTA7OworICAgICAgICAgICAgLS1vcGVuc3NsKSBzaGlmdDsgT1BFTlNTTD0iJDEiOzsKKyAgICAgICAgICAgIC0tb3BlbnNzbC1uZXh0KSBzaGlmdDsgT1BFTlNTTF9ORVhUPSIkMSI7OworICAgICAgICAgICAgLS1vdXRjb21lLWZpbGUpIHNoaWZ0OyBNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFPSIkMSI7OworICAgICAgICAgICAgLS1vdXQtb2Ytc291cmNlLWRpcikgc2hpZnQ7IE9VVF9PRl9TT1VSQ0VfRElSPSIkMSI7OworICAgICAgICAgICAgLS1xdWlldHwtcSkgUVVJRVQ9MTs7CisgICAgICAgICAgICAtLXJhbmRvbS1zZWVkKSB1bnNldCBTRUVEOzsKKyAgICAgICAgICAgIC0tcmVsZWFzZS10ZXN0fC1yKSBTRUVEPSRSRUxFQVNFX1NFRUQ7OworICAgICAgICAgICAgLS1yZXN0b3JlKSByZXN0b3JlX2ZpcnN0PTE7OworICAgICAgICAgICAgLS1zZWVkfC1zKSBzaGlmdDsgU0VFRD0iJDEiOzsKKyAgICAgICAgICAgIC0qKQorICAgICAgICAgICAgICAgIGVjaG8gPiYyICJVbmtub3duIG9wdGlvbjogJDEiCisgICAgICAgICAgICAgICAgZWNobyA+JjIgIlJ1biAkMCAtLWhlbHAgZm9yIHVzYWdlLiIKKyAgICAgICAgICAgICAgICBleGl0IDEyMAorICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAqKSBDT01NQU5EX0xJTkVfQ09NUE9ORU5UUz0iJENPTU1BTkRfTElORV9DT01QT05FTlRTICQxIjs7CisgICAgICAgIGVzYWMKKyAgICAgICAgc2hpZnQKKyAgICBkb25lCisKKyAgICAjIEV4Y2x1ZGUgY29tcG9uZW50cyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uCisgICAgU1VQUE9SVEVEX0NPTVBPTkVOVFM9CisgICAgZm9yIGNvbXBvbmVudCBpbiAkQUxMX0NPTVBPTkVOVFM7IGRvCisgICAgICAgIGNhc2UgJCh0eXBlICJzdXBwb3J0XyRjb21wb25lbnQiIDI+JjEpIGluCisgICAgICAgICAgICAqJyBmdW5jdGlvbicqKQorICAgICAgICAgICAgICAgIGlmICEgc3VwcG9ydF8kY29tcG9uZW50OyB0aGVuIGNvbnRpbnVlOyBmaTs7CisgICAgICAgIGVzYWMKKyAgICAgICAgU1VQUE9SVEVEX0NPTVBPTkVOVFM9IiRTVVBQT1JURURfQ09NUE9ORU5UUyAkY29tcG9uZW50IgorICAgIGRvbmUKKworICAgIGlmIFsgJGxpc3RfY29tcG9uZW50cyAtZXEgMSBdOyB0aGVuCisgICAgICAgIHByaW50ZiAnJXNcbicgJFNVUFBPUlRFRF9DT01QT05FTlRTCisgICAgICAgIGV4aXQKKyAgICBmaQorCisgICAgIyBXaXRoIG5vIGxpc3Qgb2YgY29tcG9uZW50cywgcnVuIGV2ZXJ5dGhpbmcuCisgICAgaWYgWyAteiAiJENPTU1BTkRfTElORV9DT01QT05FTlRTIiBdICYmIFsgJHJlc3RvcmVfZmlyc3QgLWVxIDAgXTsgdGhlbgorICAgICAgICBhbGxfZXhjZXB0PTEKKyAgICBmaQorCisgICAgIyAtLW5vLWFybWNjIGlzIGEgbGVnYWN5IG9wdGlvbi4gVGhlIG1vZGVybiB3YXkgaXMgLS1leGNlcHQgJypfYXJtY2MqJy4KKyAgICAjIElnbm9yZSBpdCBpZiBjb21wb25lbnRzIGFyZSBsaXN0ZWQgZXhwbGljaXRseSBvbiB0aGUgY29tbWFuZCBsaW5lLgorICAgIGlmIFsgLW4gIiRub19hcm1jYyIgXSAmJiBbICRhbGxfZXhjZXB0IC1lcSAxIF07IHRoZW4KKyAgICAgICAgQ09NTUFORF9MSU5FX0NPTVBPTkVOVFM9IiRDT01NQU5EX0xJTkVfQ09NUE9ORU5UUyAqX2FybWNjKiIKKyAgICBmaQorCisgICAgIyBFcnJvciBvdXQgaWYgYW4gZXhwbGljaXRseSByZXF1ZXN0ZWQgY29tcG9uZW50IGRvZXNuJ3QgZXhpc3QuCisgICAgaWYgWyAkYWxsX2V4Y2VwdCAtZXEgMCBdOyB0aGVuCisgICAgICAgIHVuc3VwcG9ydGVkPTAKKyAgICAgICAgIyBUZW1wb3JhcmlseSBkaXNhYmxlIHdpbGRjYXJkIGV4cGFuc2lvbiBzbyB0aGF0ICRDT01NQU5EX0xJTkVfQ09NUE9ORU5UUworICAgICAgICAjIG9ubHkgZG9lcyB3b3JkIHNwbGl0dGluZy4KKyAgICAgICAgc2V0IC1mCisgICAgICAgIGZvciBjb21wb25lbnQgaW4gJENPTU1BTkRfTElORV9DT01QT05FTlRTOyBkbworICAgICAgICAgICAgc2V0ICtmCisgICAgICAgICAgICAjIElmIHRoZSByZXF1ZXN0ZWQgbmFtZSBpbmNsdWRlcyBhIHdpbGRjYXJkIGNoYXJhY3RlciwgZG9uJ3QKKyAgICAgICAgICAgICMgY2hlY2sgaXQuIEFjY2VwdCB3aWxkY2FyZCBwYXR0ZXJucyB0aGF0IGRvbid0IG1hdGNoIGFueXRoaW5nLgorICAgICAgICAgICAgY2FzZSAkY29tcG9uZW50IGluCisgICAgICAgICAgICAgICAgKlsqP1xbXSopIGNvbnRpbnVlOzsKKyAgICAgICAgICAgIGVzYWMKKyAgICAgICAgICAgIGNhc2UgIiAkU1VQUE9SVEVEX0NPTVBPTkVOVFMgIiBpbgorICAgICAgICAgICAgICAgICoiICRjb21wb25lbnQgIiopIDo7OworICAgICAgICAgICAgICAgICopCisgICAgICAgICAgICAgICAgICAgIGVjaG8gPiYyICJDb21wb25lbnQgJGNvbXBvbmVudCB3YXMgZXhwbGljaXRseSByZXF1ZXN0ZWQsIGJ1dCBpcyBub3Qga25vd24gb3Igbm90IHN1cHBvcnRlZC4iCisgICAgICAgICAgICAgICAgICAgIHVuc3VwcG9ydGVkPSQoKHVuc3VwcG9ydGVkICsgMSkpOzsKKyAgICAgICAgICAgIGVzYWMKKyAgICAgICAgZG9uZQorICAgICAgICBzZXQgK2YKKyAgICAgICAgaWYgWyAkdW5zdXBwb3J0ZWQgLW5lIDAgXTsgdGhlbgorICAgICAgICAgICAgZXhpdCAyCisgICAgICAgIGZpCisgICAgZmkKKworICAgICMgQnVpbGQgdGhlIGxpc3Qgb2YgY29tcG9uZW50cyB0byBydW4uCisgICAgUlVOX0NPTVBPTkVOVFM9CisgICAgZm9yIGNvbXBvbmVudCBpbiAkU1VQUE9SVEVEX0NPTVBPTkVOVFM7IGRvCisgICAgICAgIGlmIGlzX2NvbXBvbmVudF9pbmNsdWRlZCAiJGNvbXBvbmVudCI7IFsgJD8gLWVxICRhbGxfZXhjZXB0IF07IHRoZW4KKyAgICAgICAgICAgIFJVTl9DT01QT05FTlRTPSIkUlVOX0NPTVBPTkVOVFMgJGNvbXBvbmVudCIKKyAgICAgICAgZmkKKyAgICBkb25lCisKKyAgICB1bnNldCBhbGxfZXhjZXB0CisgICAgdW5zZXQgbm9fYXJtY2MKK30KKworcHJlX2NoZWNrX2dpdCAoKSB7CisgICAgaWYgWyAkRk9SQ0UgLWVxIDEgXTsgdGhlbgorICAgICAgICBybSAtcmYgIiRPVVRfT0ZfU09VUkNFX0RJUiIKKyAgICAgICAgZ2l0IGNoZWNrb3V0LWluZGV4IC1mIC1xICRDT05GSUdfSAorICAgICAgICBjbGVhbnVwCisgICAgZWxzZQorCisgICAgICAgIGlmIFsgLWQgIiRPVVRfT0ZfU09VUkNFX0RJUiIgXTsgdGhlbgorICAgICAgICAgICAgZWNobyAiV2FybmluZyAtIHRoZXJlIGlzIGFuIGV4aXN0aW5nIGRpcmVjdG9yeSBhdCAnJE9VVF9PRl9TT1VSQ0VfRElSJyIgPiYyCisgICAgICAgICAgICBlY2hvICJZb3UgY2FuIGVpdGhlciBkZWxldGUgdGhpcyBkaXJlY3RvcnkgbWFudWFsbHksIG9yIGZvcmNlIHRoZSB0ZXN0IGJ5IHJlcnVubmluZyIKKyAgICAgICAgICAgIGVjaG8gInRoZSBzY3JpcHQgYXM6ICQwIC0tZm9yY2UgLS1vdXQtb2Ytc291cmNlLWRpciAkT1VUX09GX1NPVVJDRV9ESVIiCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgZmkKKworICAgICAgICBpZiAhIGdpdCBkaWZmIC0tcXVpZXQgIiRDT05GSUdfSCI7IHRoZW4KKyAgICAgICAgICAgIGVycl9tc2cgIldhcm5pbmcgLSB0aGUgY29uZmlndXJhdGlvbiBmaWxlICckQ09ORklHX0gnIGhhcyBiZWVuIGVkaXRlZC4gIgorICAgICAgICAgICAgZWNobyAiWW91IGNhbiBlaXRoZXIgZGVsZXRlIG9yIHByZXNlcnZlIHlvdXIgd29yaywgb3IgZm9yY2UgdGhlIHRlc3QgYnkgcmVydW5uaW5nIHRoZSIKKyAgICAgICAgICAgIGVjaG8gInNjcmlwdCBhczogJDAgLS1mb3JjZSIKKyAgICAgICAgICAgIGV4aXQgMQorICAgICAgICBmaQorICAgIGZpCit9CisKK3ByZV9yZXN0b3JlX2ZpbGVzICgpIHsKKyAgICAjIElmIHRoZSBtYWtlZmlsZXMgaGF2ZSBiZWVuIGdlbmVyYXRlZCBieSBhIGZyYW1ld29yayBzdWNoIGFzIGNtYWtlLAorICAgICMgcmVzdG9yZSB0aGVtIGZyb20gZ2l0LiBJZiB0aGUgbWFrZWZpbGVzIGxvb2sgbGlrZSBtb2RpZmljYXRpb25zIGZyb20KKyAgICAjIHRoZSBvbmVzIGNoZWNrZWQgaW50byBnaXQsIHRha2UgY2FyZSBub3QgdG8gbW9kaWZ5IHRoZW0uIFdoYXRldmVyCisgICAgIyB0aGlzIGZ1bmN0aW9uIGxlYXZlcyBiZWhpbmQgaXMgd2hhdCB0aGUgc2NyaXB0IHdpbGwgcmVzdG9yZSBiZWZvcmUKKyAgICAjIGVhY2ggY29tcG9uZW50LgorICAgIGNhc2UgIiQoaGVhZCAtbjEgTWFrZWZpbGUpIiBpbgorICAgICAgICAqW0dnXWVuZXJhdGVkKikKKyAgICAgICAgICAgIGdpdCB1cGRhdGUtaW5kZXggLS1uby1za2lwLXdvcmt0cmVlIE1ha2VmaWxlIGxpYnJhcnkvTWFrZWZpbGUgcHJvZ3JhbXMvTWFrZWZpbGUgdGVzdHMvTWFrZWZpbGUgcHJvZ3JhbXMvZnV6ei9NYWtlZmlsZQorICAgICAgICAgICAgZ2l0IGNoZWNrb3V0IC0tIE1ha2VmaWxlIGxpYnJhcnkvTWFrZWZpbGUgcHJvZ3JhbXMvTWFrZWZpbGUgdGVzdHMvTWFrZWZpbGUgcHJvZ3JhbXMvZnV6ei9NYWtlZmlsZQorICAgICAgICAgICAgOzsKKyAgICBlc2FjCit9CisKK3ByZV9iYWNrX3VwICgpIHsKKyAgICBmb3IgeCBpbiAkZmlsZXNfdG9fYmFja191cDsgZG8KKyAgICAgICAgY3AgLXAgIiR4IiAiJHgkYmFja3VwX3N1ZmZpeCIKKyAgICBkb25lCit9CisKK3ByZV9zZXR1cF9rZWVwX2dvaW5nICgpIHsKKyAgICBmYWlsdXJlX2NvdW50PTAgIyBOdW1iZXIgb2YgZmFpbGVkIGNvbXBvbmVudHMKKyAgICBsYXN0X2ZhaWx1cmVfc3RhdHVzPTAgIyBMYXN0IGZhaWx1cmUgc3RhdHVzIGluIHRoaXMgY29tcG9uZW50CisKKyAgICAjIFNlZSBlcnJfdHJhcAorICAgIHByZXZpb3VzX2ZhaWx1cmVfc3RhdHVzPTAKKyAgICBwcmV2aW91c19mYWlsZWRfY29tbWFuZD0KKyAgICBwcmV2aW91c19mYWlsdXJlX2Z1bmNhbGxfZGVwdGg9MAorICAgIHVuc2V0IHJlcG9ydF9mYWlsZWRfY29tbWFuZAorCisgICAgc3RhcnRfcmVkPQorICAgIGVuZF9jb2xvcj0KKyAgICBpZiBbIC10IDEgXTsgdGhlbgorICAgICAgICBjYXNlICIke1RFUk06LX0iIGluCisgICAgICAgICAgICAqY29sb3IqfGN5Z3dpbnxsaW51eHxyeHZ0KnxzY3JlZW58W0VleF10ZXJtKikKKyAgICAgICAgICAgICAgICBzdGFydF9yZWQ9JChwcmludGYgJ1wwMzNbMzFtJykKKyAgICAgICAgICAgICAgICBlbmRfY29sb3I9JChwcmludGYgJ1wwMzNbMG0nKQorICAgICAgICAgICAgICAgIDs7CisgICAgICAgIGVzYWMKKyAgICBmaQorCisgICAgIyBLZWVwIGEgc3VtbWFyeSBvZiBmYWlsdXJlcyBpbiBhIGZpbGUuIFdlJ2xsIHByaW50IGl0IG91dCBhdCB0aGUgZW5kLgorICAgIGZhaWx1cmVfc3VtbWFyeV9maWxlPSRQV0QvYWxsLXNoLWZhaWx1cmVzLSQkLmxvZworICAgIDogPiIkZmFpbHVyZV9zdW1tYXJ5X2ZpbGUiCisKKyAgICAjIFdoZXRoZXIgaXQgbWFrZXMgc2Vuc2UgdG8ga2VlcCBhIGNvbXBvbmVudCBnb2luZyBhZnRlciB0aGUgc3BlY2lmaWVkCisgICAgIyBjb21tYW5kIGZhaWxzICh0ZXN0IGNvbW1hbmQpIG9yIG5vdCAoY29uZmlndXJlIG9yIGJ1aWxkKS4KKyAgICAjIFRoaXMgZnVuY3Rpb24gbm9ybWFsbHkgcmVjZWl2ZXMgdGhlIGZhaWxpbmcgc2ltcGxlIGNvbW1hbmQKKyAgICAjICgkQkFTSF9DT01NQU5EKSBhcyBhbiBhcmd1bWVudCwgYnV0IGlmICRyZXBvcnRfZmFpbGVkX2NvbW1hbmQgaXMgc2V0LAorICAgICMgdGhpcyBpcyBwYXNzZWQgaW5zdGVhZC4KKyAgICAjIFRoaXMgZG9lc24ndCBoYXZlIHRvIGJlIDEwMCUgYWNjdXJhdGU6IGFsbCBmYWlsdXJlcyBhcmUgcmVjb3JkZWQgYW55d2F5LgorICAgICMgRmFsc2UgcG9zaXRpdmVzIHJlc3VsdCBpbiBydW5uaW5nIHRoaW5ncyB0aGF0IGNhbid0IGJlIGV4cGVjdGVkIHRvCisgICAgIyB3b3JrLiBGYWxzZSBuZWdhdGl2ZXMgcmVzdWx0IGluIHRoaW5ncyBub3QgcnVubmluZyBhZnRlciBzb21ldGhpbmcgZWxzZQorICAgICMgZmFpbGVkIGV2ZW4gdGhvdWdoIHRoZXkgbWlnaHQgaGF2ZSBnaXZlbiB1c2VmdWwgZmVlZGJhY2suCisgICAgY2FuX2tlZXBfZ29pbmdfYWZ0ZXJfZmFpbHVyZSAoKSB7CisgICAgICAgIGNhc2UgIiQxIiBpbgorICAgICAgICAgICAgIm1zZyAiKikgZmFsc2U7OworICAgICAgICAgICAgImNkICIqKSBmYWxzZTs7CisgICAgICAgICAgICAiZGlmZiAiKikgdHJ1ZTs7CisgICAgICAgICAgICAqbWFrZSpbXCAvXXRlc3RzKikgZmFsc2U7OyAjIG1ha2UgdGVzdHMsIG1ha2UgQ0ZMQUdTPS1JLi4vdGVzdHMsIC4uLgorICAgICAgICAgICAgKnRlc3QqKSB0cnVlOzsgIyBtYWtlIHRlc3QsIHRlc3RzL3N0dWZmLCBlbnYgVj12IHRlc3RzL3N0dWZmLCAuLi4KKyAgICAgICAgICAgICptYWtlKmNoZWNrKikgdHJ1ZTs7CisgICAgICAgICAgICAiZ3JlcCAiKikgdHJ1ZTs7CisgICAgICAgICAgICAiWyAiKikgdHJ1ZTs7CisgICAgICAgICAgICAiISAiKikgdHJ1ZTs7CisgICAgICAgICAgICAqKSBmYWxzZTs7CisgICAgICAgIGVzYWMKKyAgICB9CisKKyAgICAjIFRoaXMgZnVuY3Rpb24gcnVucyBpZiB0aGVyZSBpcyBhbnkgZXJyb3IgaW4gYSBjb21wb25lbnQuCisgICAgIyBJdCBtdXN0IGVpdGhlciBleGl0IHdpdGggYSBub256ZXJvIHN0YXR1cywgb3Igc2V0CisgICAgIyBsYXN0X2ZhaWx1cmVfc3RhdHVzIHRvIGEgbm9uemVybyB2YWx1ZS4KKyAgICBlcnJfdHJhcCAoKSB7CisgICAgICAgICMgU2F2ZSAkPyAoc3RhdHVzIG9mIHRoZSBmYWlsaW5nIGNvbW1hbmQpLiBUaGlzIG11c3QgYmUgdGhlIHZlcnkKKyAgICAgICAgIyBmaXJzdCB0aGluZywgYmVmb3JlICQ/IGlzIG92ZXJyaWRkZW4uCisgICAgICAgIGxhc3RfZmFpbHVyZV9zdGF0dXM9JD8KKyAgICAgICAgZmFpbGVkX2NvbW1hbmQ9JHtyZXBvcnRfZmFpbGVkX2NvbW1hbmQtJEJBU0hfQ09NTUFORH0KKworICAgICAgICBpZiBbWyAkbGFzdF9mYWlsdXJlX3N0YXR1cyAtZXEgJHByZXZpb3VzX2ZhaWx1cmVfc3RhdHVzICYmCisgICAgICAgICAgICAgICIkZmFpbGVkX2NvbW1hbmQiID09ICIkcHJldmlvdXNfZmFpbGVkX2NvbW1hbmQiICYmCisgICAgICAgICAgICAgICR7I0ZVTkNOQU1FW0BdfSA9PSAkKChwcmV2aW91c19mYWlsdXJlX2Z1bmNhbGxfZGVwdGggLSAxKSkgXV0KKyAgICAgICAgdGhlbgorICAgICAgICAgICAgIyBUaGUgc2FtZSBjb21tYW5kIGZhaWxlZCB0d2ljZSBpbiBhIHJvdywgYnV0IHRoaXMgdGltZSBvbmUgbGV2ZWwKKyAgICAgICAgICAgICMgbGVzcyBkZWVwIGluIHRoZSBmdW5jdGlvbiBjYWxsIHN0YWNrLiBUaGlzIGhhcHBlbnMgd2hlbiB0aGUgbGFzdAorICAgICAgICAgICAgIyBjb21tYW5kIG9mIGEgZnVuY3Rpb24gcmV0dXJucyBhIG5vbnplcm8gc3RhdHVzLCBhbmQgdGhlIGZ1bmN0aW9uCisgICAgICAgICAgICAjIHJldHVybnMgdGhhdCBzYW1lIHN0YXR1cy4gSWdub3JlIHRoZSBzZWNvbmQgZmFpbHVyZS4KKyAgICAgICAgICAgIHByZXZpb3VzX2ZhaWx1cmVfZnVuY2FsbF9kZXB0aD0keyNGVU5DTkFNRVtAXX0KKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBmaQorICAgICAgICBwcmV2aW91c19mYWlsdXJlX3N0YXR1cz0kbGFzdF9mYWlsdXJlX3N0YXR1cworICAgICAgICBwcmV2aW91c19mYWlsZWRfY29tbWFuZD0kZmFpbGVkX2NvbW1hbmQKKyAgICAgICAgcHJldmlvdXNfZmFpbHVyZV9mdW5jYWxsX2RlcHRoPSR7I0ZVTkNOQU1FW0BdfQorCisgICAgICAgIHRleHQ9IiRjdXJyZW50X3NlY3Rpb246ICRmYWlsZWRfY29tbWFuZCAtPiAkbGFzdF9mYWlsdXJlX3N0YXR1cyIKKyAgICAgICAgZWNobyAiJHtzdGFydF9yZWR9Xl5eXiR0ZXh0Xl5eXiR7ZW5kX2NvbG9yfSIgPiYyCisgICAgICAgIGVjaG8gIiR0ZXh0IiA+PiIkZmFpbHVyZV9zdW1tYXJ5X2ZpbGUiCisKKyAgICAgICAgIyBJZiB0aGUgY29tbWFuZCBpcyBmYXRhbCAoY29uZmlndXJlIG9yIGJ1aWxkIGNvbW1hbmQpLCBzdG9wIHRoaXMKKyAgICAgICAgIyBjb21wb25lbnQuIE90aGVyd2lzZSAodGVzdCBjb21tYW5kKSBrZWVwIHRoZSBjb21wb25lbnQgcnVubmluZworICAgICAgICAjIChydW4gbW9yZSB0ZXN0cyBmcm9tIHRoZSBzYW1lIGJ1aWxkKS4KKyAgICAgICAgaWYgISBjYW5fa2VlcF9nb2luZ19hZnRlcl9mYWlsdXJlICIkZmFpbGVkX2NvbW1hbmQiOyB0aGVuCisgICAgICAgICAgICBleGl0ICRsYXN0X2ZhaWx1cmVfc3RhdHVzCisgICAgICAgIGZpCisgICAgfQorCisgICAgZmluYWxfcmVwb3J0ICgpIHsKKyAgICAgICAgaWYgWyAkZmFpbHVyZV9jb3VudCAtZ3QgMCBdOyB0aGVuCisgICAgICAgICAgICBlY2hvCisgICAgICAgICAgICBlY2hvICIhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEiCisgICAgICAgICAgICBlY2hvICIke3N0YXJ0X3JlZH1GQUlMRUQ6ICRmYWlsdXJlX2NvdW50IGNvbXBvbmVudHMke2VuZF9jb2xvcn0iCisgICAgICAgICAgICBjYXQgIiRmYWlsdXJlX3N1bW1hcnlfZmlsZSIKKyAgICAgICAgICAgIGVjaG8gIiEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISIKKyAgICAgICAgZWxpZiBbIC16ICIkezEtfSIgXTsgdGhlbgorICAgICAgICAgICAgZWNobyAiU1VDQ0VTUyA6KSIKKyAgICAgICAgZmkKKyAgICAgICAgaWYgWyAtbiAiJHsxLX0iIF07IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIktpbGxlZCBieSBTSUckMS4iCisgICAgICAgIGZpCisgICAgICAgIHJtIC1mICIkZmFpbHVyZV9zdW1tYXJ5X2ZpbGUiCisgICAgICAgIGlmIFsgJGZhaWx1cmVfY291bnQgLWd0IDAgXTsgdGhlbgorICAgICAgICAgICAgZXhpdCAxCisgICAgICAgIGZpCisgICAgfQorfQorCisjICchIHRydWUnIGRvZXMgbm90IHRyaWdnZXIgdGhlIEVSUiB0cmFwLiBBcnJhbmdlIHRvIHRyaWdnZXIgaXQsIHdpdGgKKyMgYSByZWFzb25hYmx5IGluZm9ybWF0aXZlIGVycm9yIG1lc3NhZ2UgKG5vdCBqdXN0ICIkQCIpLgorbm90ICgpIHsKKyAgICBpZiAiJEAiOyB0aGVuCisgICAgICAgIHJlcG9ydF9mYWlsZWRfY29tbWFuZD0iISAkKiIKKyAgICAgICAgZmFsc2UKKyAgICAgICAgdW5zZXQgcmVwb3J0X2ZhaWxlZF9jb21tYW5kCisgICAgZmkKK30KKworcHJlX3ByZXBhcmVfb3V0Y29tZV9maWxlICgpIHsKKyAgICBjYXNlICIkTUJFRFRMU19URVNUX09VVENPTUVfRklMRSIgaW4KKyAgICAgIFshL10qKSBNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFPSIkUFdELyRNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFIjs7CisgICAgZXNhYworICAgIGlmIFsgLW4gIiRNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFIiBdICYmIFsgIiRhcHBlbmRfb3V0Y29tZSIgLWVxIDAgXTsgdGhlbgorICAgICAgICBybSAtZiAiJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUiCisgICAgZmkKK30KKworcHJlX3ByaW50X2NvbmZpZ3VyYXRpb24gKCkgeworICAgIGlmIFsgJFFVSUVUIC1lcSAxIF07IHRoZW4KKyAgICAgICAgcmV0dXJuCisgICAgZmkKKworICAgIG1zZyAiaW5mbzogJDAgY29uZmlndXJhdGlvbiIKKyAgICBlY2hvICJNRU1PUlk6ICRNRU1PUlkiCisgICAgZWNobyAiRk9SQ0U6ICRGT1JDRSIKKyAgICBlY2hvICJNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFOiAke01CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEU6LShub25lKX0iCisgICAgZWNobyAiU0VFRDogJHtTRUVELSJVTlNFVCJ9IgorICAgIGVjaG8KKyAgICBlY2hvICJPUEVOU1NMOiAkT1BFTlNTTCIKKyAgICBlY2hvICJPUEVOU1NMX05FWFQ6ICRPUEVOU1NMX05FWFQiCisgICAgZWNobyAiR05VVExTX0NMSTogJEdOVVRMU19DTEkiCisgICAgZWNobyAiR05VVExTX1NFUlY6ICRHTlVUTFNfU0VSViIKKyAgICBlY2hvICJBUk1DNl9CSU5fRElSOiAkQVJNQzZfQklOX0RJUiIKK30KKworIyBNYWtlIHN1cmUgdGhlIHRvb2xzIHdlIG5lZWQgYXJlIGF2YWlsYWJsZS4KK3ByZV9jaGVja190b29scyAoKSB7CisgICAgIyBCdWlsZCB0aGUgbGlzdCBvZiB2YXJpYWJsZXMgdG8gcGFzcyB0byBvdXRwdXRfZW52LnNoLgorICAgIHNldCBlbnYKKworICAgIGNhc2UgIiAkUlVOX0NPTVBPTkVOVFMgIiBpbgorICAgICAgICAjIFJlcXVpcmUgT3BlblNTTCBhbmQgR251VExTIGlmIHJ1bm5pbmcgYW55IHRlc3RzIChhcyBvcHBvc2VkIHRvCisgICAgICAgICMgb25seSBkb2luZyBidWlsZHMpLiBOb3QgYWxsIHRlc3RzIHJ1biBPcGVuU1NMIGFuZCBHbnVUTFMsIGJ1dCB0aGlzCisgICAgICAgICMgaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIGluIHByYWN0aWNlLgorICAgICAgICAqIiB0ZXN0XyIqIHwgKiIgcmVsZWFzZV90ZXN0XyIqKQorICAgICAgICAgICAgIyBUbyBhdm9pZCBzZXR0aW5nIE9wZW5TU0wgYW5kIEdudVRMUyBmb3IgZWFjaCBjYWxsIHRvIGNvbXBhdC5zaAorICAgICAgICAgICAgIyBhbmQgc3NsLW9wdC5zaCwgd2UganVzdCBleHBvcnQgdGhlIHZhcmlhYmxlcyB0aGV5IHJlcXVpcmUuCisgICAgICAgICAgICBleHBvcnQgT1BFTlNTTD0iJE9QRU5TU0wiCisgICAgICAgICAgICBleHBvcnQgR05VVExTX0NMST0iJEdOVVRMU19DTEkiCisgICAgICAgICAgICBleHBvcnQgR05VVExTX1NFUlY9IiRHTlVUTFNfU0VSViIKKyAgICAgICAgICAgICMgQXZvaWQgcGFzc2luZyAtLXNlZWQgZmxhZyBpbiBldmVyeSBjYWxsIHRvIHNzbC1vcHQuc2gKKyAgICAgICAgICAgIGlmIFsgLW4gIiR7U0VFRC19IiBdOyB0aGVuCisgICAgICAgICAgICAgICAgZXhwb3J0IFNFRUQKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICBzZXQgIiRAIiBPUEVOU1NMPSIkT1BFTlNTTCIKKyAgICAgICAgICAgIHNldCAiJEAiIEdOVVRMU19DTEk9IiRHTlVUTFNfQ0xJIiBHTlVUTFNfU0VSVj0iJEdOVVRMU19TRVJWIgorICAgICAgICAgICAgY2hlY2tfdG9vbHMgIiRPUEVOU1NMIiAiJE9QRU5TU0xfTkVYVCIgXAorICAgICAgICAgICAgICAgICAgICAgICAgIiRHTlVUTFNfQ0xJIiAiJEdOVVRMU19TRVJWIgorICAgICAgICAgICAgOzsKKyAgICBlc2FjCisKKyAgICBjYXNlICIgJFJVTl9DT01QT05FTlRTICIgaW4KKyAgICAgICAgKl9kb3h5Z2VuW19cIF0qKSBjaGVja190b29scyAiZG94eWdlbiIgImRvdCI7OworICAgIGVzYWMKKworICAgIGNhc2UgIiAkUlVOX0NPTVBPTkVOVFMgIiBpbgorICAgICAgICAqX2FybV9ub25lX2VhYmlfZ2NjW19cIF0qKSBjaGVja190b29scyAiJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIjs7CisgICAgZXNhYworCisgICAgY2FzZSAiICRSVU5fQ09NUE9ORU5UUyAiIGluCisgICAgICAgICpfbWluZ3dbX1wgXSopIGNoZWNrX3Rvb2xzICJpNjg2LXc2NC1taW5ndzMyLWdjYyI7OworICAgIGVzYWMKKworICAgIGNhc2UgIiAkUlVOX0NPTVBPTkVOVFMgIiBpbgorICAgICAgICAqIiB0ZXN0X3plcm9pemUgIiopIGNoZWNrX3Rvb2xzICJnZGIiOzsKKyAgICBlc2FjCisKKyAgICBjYXNlICIgJFJVTl9DT01QT05FTlRTICIgaW4KKyAgICAgICAgKl9hcm1jYyopCisgICAgICAgICAgICBBUk1DNl9DQz0iJEFSTUM2X0JJTl9ESVIvYXJtY2xhbmciCisgICAgICAgICAgICBBUk1DNl9BUj0iJEFSTUM2X0JJTl9ESVIvYXJtYXIiCisgICAgICAgICAgICBBUk1DNl9GUk9NRUxGPSIkQVJNQzZfQklOX0RJUi9mcm9tZWxmIgorICAgICAgICAgICAgY2hlY2tfdG9vbHMgIiRBUk1DNl9DQyIgIiRBUk1DNl9BUiIgIiRBUk1DNl9GUk9NRUxGIjs7CisgICAgZXNhYworCisgICAgIyBwYXN0IHRoaXMgcG9pbnQsIG5vIGNhbGwgdG8gY2hlY2tfdG9vbCwgb25seSBwcmludGluZyBvdXRwdXQKKyAgICBpZiBbICRRVUlFVCAtZXEgMSBdOyB0aGVuCisgICAgICAgIHJldHVybgorICAgIGZpCisKKyAgICBtc2cgImluZm86IG91dHB1dF9lbnYuc2giCisgICAgY2FzZSAkUlVOX0NPTVBPTkVOVFMgaW4KKyAgICAgICAgKl9hcm1jYyopCisgICAgICAgICAgICBzZXQgIiRAIiBBUk1DNl9DQz0iJEFSTUM2X0NDIiBSVU5fQVJNQ0M9MTs7CisgICAgICAgICopIHNldCAiJEAiIFJVTl9BUk1DQz0wOzsKKyAgICBlc2FjCisgICAgIiRAIiBzY3JpcHRzL291dHB1dF9lbnYuc2gKK30KKworcHJlX2dlbmVyYXRlX2ZpbGVzKCkgeworICAgICMgc2luY2UgbWFrZSBkb2Vzbid0IGhhdmUgcHJvcGVyIGRlcGVuZGVuY2llcywgcmVtb3ZlIGFueSBwb3NzaWJseSBvdXRkYXRlCisgICAgIyBmaWxlIHRoYXQgbWlnaHQgYmUgYXJvdW5kIGJlZm9yZSBnZW5lcmF0aW5nIGZyZXNoIG9uZXMKKyAgICBtYWtlIG5lYXQKKyAgICBpZiBbICRRVUlFVCAtZXEgMSBdOyB0aGVuCisgICAgICAgIG1ha2UgZ2VuZXJhdGVkX2ZpbGVzID4vZGV2L251bGwKKyAgICBlbHNlCisgICAgICAgIG1ha2UgZ2VuZXJhdGVkX2ZpbGVzCisgICAgZmkKK30KKworcHJlX2xvYWRfaGVscGVycyAoKSB7CisgICAgIyBUaGUgcGF0aCBpcyBnb2luZyB0byBjaGFuZ2Ugd2hlbiB0aGlzIGlzIG1vdmVkIHRvIHRoZSBmcmFtZXdvcmsKKyAgICB0ZXN0X3NjcmlwdF9kaXI9IiR7MCUvKn0iCisgICAgc291cmNlICIkdGVzdF9zY3JpcHRfZGlyIi9hbGwtaGVscGVycy5zaAorfQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIFRlcm1pbmF0aW9uCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK3Bvc3RfcmVwb3J0ICgpIHsKKyAgICBtc2cgIkRvbmUsIGNsZWFuaW5nIHVwIgorICAgIGZpbmFsX2NsZWFudXAKKworICAgIGZpbmFsX3JlcG9ydAorfQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIFJ1biBhbGwgdGhlIHRoaW5ncworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIEZ1bmN0aW9uIGludm9rZWQgYnkgLS1lcnJvci10ZXN0IHRvIHRlc3QgZXJyb3IgcmVwb3J0aW5nLgorcHNldWRvX2NvbXBvbmVudF9lcnJvcl90ZXN0ICgpIHsKKyAgICBtc2cgIlRlc3RpbmcgZXJyb3IgcmVwb3J0aW5nICRlcnJvcl90ZXN0X2kiCisgICAgaWYgWyAkS0VFUF9HT0lORyAtbmUgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkV4cGVjdCB0aHJlZSBmYWlsaW5nIGNvbW1hbmRzLiIKKyAgICBmaQorICAgICMgSWYgdGhlIGNvbXBvbmVudCBkb2Vzbid0IHJ1biBpbiBhIHN1YnNoZWxsLCBjaGFuZ2luZyBlcnJvcl90ZXN0X2kgdG8gYW4KKyAgICAjIGludmFsaWQgaW50ZWdlciB3aWxsIGNhdXNlIGFuIGVycm9yIGluIHRoZSBsb29wIHRoYXQgcnVucyB0aGlzIGZ1bmN0aW9uLgorICAgIGVycm9yX3Rlc3RfaT10aGlzX3Nob3VsZF9ub3RfYmVfdXNlZF9zaW5jZV90aGVfY29tcG9uZW50X3J1bnNfaW5fYV9zdWJzaGVsbAorICAgICMgRXhwZWN0ZWQgZXJyb3I6ICdncmVwIG5vbl9leGlzdGVudCAvZGV2L251bGwgLT4gMScKKyAgICBncmVwIG5vbl9leGlzdGVudCAvZGV2L251bGwKKyAgICAjIEV4cGVjdGVkIGVycm9yOiAnISBncmVwIC1xIC4gdGVzdHMvc2NyaXB0cy9hbGwuc2ggLT4gMScKKyAgICBub3QgZ3JlcCAtcSAuICIkMCIKKyAgICAjIEV4cGVjdGVkIGVycm9yOiAnbWFrZSB1bmtub3duX3RhcmdldCAtPiAyJworICAgIG1ha2UgdW5rbm93bl90YXJnZXQKKyAgICBmYWxzZSAidGhpcyBzaG91bGQgbm90IGJlIGV4ZWN1dGVkIgorfQorCisjIFJ1biBvbmUgY29tcG9uZW50IGFuZCBjbGVhbiB1cCBhZnRlcndhcmRzLgorcnVuX2NvbXBvbmVudCAoKSB7CisgICAgY3VycmVudF9jb21wb25lbnQ9IiQxIgorICAgIGV4cG9ydCBNQkVEVExTX1RFU1RfQ09ORklHVVJBVElPTj0iJGN1cnJlbnRfY29tcG9uZW50IgorCisgICAgIyBVbmNvbmRpdGlvbmFsbHkgY3JlYXRlIGEgc2VlZGZpbGUgdGhhdCdzIHN1ZmZpY2llbnRseSBsb25nLgorICAgICMgRG8gdGhpcyBiZWZvcmUgZWFjaCBjb21wb25lbnQsIGJlY2F1c2UgYSBwcmV2aW91cyBjb21wb25lbnQgbWF5CisgICAgIyBoYXZlIG1lc3NlZCBpdCB1cCBvciBzaG9ydGVuZWQgaXQuCisgICAgbG9jYWwgZGRfY21kCisgICAgZGRfY21kPShkZCBpZj0vZGV2L3VyYW5kb20gb2Y9Li90ZXN0cy9zZWVkZmlsZSBicz02NCBjb3VudD0xKQorICAgIGNhc2UgJE9TVFlQRSBpbgorICAgICAgICBsaW51eCp8ZnJlZWJzZCp8b3BlbmJzZCopIGRkX2NtZCs9KHN0YXR1cz1ub25lKQorICAgIGVzYWMKKyAgICAiJHtkZF9jbWRbQF19IgorCisgICAgaWYgWyAtZCB0Zi1wc2EtY3J5cHRvIF07IHRoZW4KKyAgICAgICAgZGRfY21kPShkZCBpZj0vZGV2L3VyYW5kb20gb2Y9Li90Zi1wc2EtY3J5cHRvL3Rlc3RzL3NlZWRmaWxlIGJzPTY0IGNvdW50PTEpCisgICAgICAgIGNhc2UgJE9TVFlQRSBpbgorICAgICAgICAgICAgbGludXgqfGZyZWVic2QqfG9wZW5ic2QqKSBkZF9jbWQrPShzdGF0dXM9bm9uZSkKKyAgICAgICAgZXNhYworICAgICAgICAiJHtkZF9jbWRbQF19IgorICAgIGZpCisKKyAgICAjIFJ1biB0aGUgY29tcG9uZW50IGluIGEgc3Vic2hlbGwsIHdpdGggZXJyb3IgdHJhcHBpbmcgYW5kIG91dHB1dAorICAgICMgcmVkaXJlY3Rpb24gc2V0IHVwIGJhc2VkIG9uIHRoZSByZWxldmFudCBvcHRpb25zLgorICAgIGlmIFsgJEtFRVBfR09JTkcgLWVxIDEgXTsgdGhlbgorICAgICAgICAjIFdlIHdhbnQgdG8ga2VlcCBydW5uaW5nIGlmIHRoZSBzdWJzaGVsbCBmYWlscywgc28gJ3NldCAtZScgbXVzdAorICAgICAgICAjIGJlIG9mZiB3aGVuIHRoZSBzdWJzaGVsbCBydW5zLgorICAgICAgICBzZXQgK2UKKyAgICBmaQorICAgICgKKyAgICAgICAgaWYgWyAkUVVJRVQgLWVxIDEgXTsgdGhlbgorICAgICAgICAgICAgIyBtc2coKSB3aWxsIGJlIHNpbGVuY2VkLCBzbyBqdXN0IHByaW50IHRoZSBjb21wb25lbnQgbmFtZSBoZXJlLgorICAgICAgICAgICAgZWNobyAiJHtjdXJyZW50X2NvbXBvbmVudCNjb21wb25lbnRffSIKKyAgICAgICAgICAgIGV4ZWMgPi9kZXYvbnVsbAorICAgICAgICBmaQorICAgICAgICBpZiBbICRLRUVQX0dPSU5HIC1lcSAxIF07IHRoZW4KKyAgICAgICAgICAgICMgS2VlcCAic2V0IC1lIiBvZmYsIGFuZCBydW4gYW4gRVJSIHRyYXAgaW5zdGVhZCB0byByZWNvcmQgZmFpbHVyZXMuCisgICAgICAgICAgICBzZXQgLUUKKyAgICAgICAgICAgIHRyYXAgZXJyX3RyYXAgRVJSCisgICAgICAgIGZpCisgICAgICAgICMgVGhlIG5leHQgbGluZSBpcyB3aGF0IHJ1bnMgdGhlIGNvbXBvbmVudAorICAgICAgICAiJEAiCisgICAgICAgIGlmIFsgJEtFRVBfR09JTkcgLWVxIDEgXTsgdGhlbgorICAgICAgICAgICAgdHJhcCAtIEVSUgorICAgICAgICAgICAgZXhpdCAkbGFzdF9mYWlsdXJlX3N0YXR1cworICAgICAgICBmaQorICAgICkKKyAgICBjb21wb25lbnRfc3RhdHVzPSQ/CisgICAgaWYgWyAkS0VFUF9HT0lORyAtZXEgMSBdOyB0aGVuCisgICAgICAgIHNldCAtZQorICAgICAgICBpZiBbICRjb21wb25lbnRfc3RhdHVzIC1uZSAwIF07IHRoZW4KKyAgICAgICAgICAgIGZhaWx1cmVfY291bnQ9JCgoZmFpbHVyZV9jb3VudCArIDEpKQorICAgICAgICBmaQorICAgIGZpCisKKyAgICAjIFJlc3RvcmUgdGhlIGJ1aWxkIHRyZWUgdG8gYSBjbGVhbiBzdGF0ZS4KKyAgICBjbGVhbnVwCisgICAgdW5zZXQgY3VycmVudF9jb21wb25lbnQKK30KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBNYWluCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK21haW4gKCkgeworICAgICMgUHJlbGltaW5hcnkgc2V0dXAKKyAgICBwcmVfc2V0X3NoZWxsX29wdGlvbnMKKyAgICBwcmVfc2V0X3NpZ25hbF9oYW5kbGVycworICAgIHByZV9jaGVja19lbnZpcm9ubWVudAorICAgIHByZV9sb2FkX2hlbHBlcnMKKyAgICBwcmVfbG9hZF9jb21wb25lbnRzCisgICAgcHJlX2luaXRpYWxpemVfdmFyaWFibGVzCisgICAgcHJlX3BhcnNlX2NvbW1hbmRfbGluZSAiJEAiCisKKyAgICBzZXR1cF9xdWlldF93cmFwcGVycworICAgIHByZV9jaGVja19naXQKKyAgICBwcmVfcmVzdG9yZV9maWxlcworICAgIHByZV9iYWNrX3VwCisKKyAgICBidWlsZF9zdGF0dXM9MAorICAgIGlmIFsgJEtFRVBfR09JTkcgLWVxIDEgXTsgdGhlbgorICAgICAgICBwcmVfc2V0dXBfa2VlcF9nb2luZworICAgIGZpCisgICAgcHJlX3ByZXBhcmVfb3V0Y29tZV9maWxlCisgICAgcHJlX3ByaW50X2NvbmZpZ3VyYXRpb24KKyAgICBwcmVfY2hlY2tfdG9vbHMKKyAgICBjbGVhbnVwCisgICAgaWYgaW5fbWJlZHRsc19yZXBvOyB0aGVuCisgICAgICAgIHByZV9nZW5lcmF0ZV9maWxlcworICAgIGZpCisKKyAgICAjIFJ1biB0aGUgcmVxdWVzdGVkIHRlc3RzLgorICAgIGZvciAoKGVycm9yX3Rlc3RfaT0xOyBlcnJvcl90ZXN0X2kgPD0gZXJyb3JfdGVzdDsgZXJyb3JfdGVzdF9pKyspKTsgZG8KKyAgICAgICAgcnVuX2NvbXBvbmVudCBwc2V1ZG9fY29tcG9uZW50X2Vycm9yX3Rlc3QKKyAgICBkb25lCisgICAgdW5zZXQgZXJyb3JfdGVzdF9pCisgICAgZm9yIGNvbXBvbmVudCBpbiAkUlVOX0NPTVBPTkVOVFM7IGRvCisgICAgICAgIHJ1bl9jb21wb25lbnQgImNvbXBvbmVudF8kY29tcG9uZW50IgorICAgIGRvbmUKKworICAgICMgV2UncmUgZG9uZS4KKyAgICBwb3N0X3JlcG9ydAorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9hbGwtaGVscGVycy5zaCBiL3Rlc3RzL3NjcmlwdHMvYWxsLWhlbHBlcnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RiM2Y0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvYWxsLWhlbHBlcnMuc2gKQEAgLTAsMCArMSwzMjcgQEAKKyMgYWxsLWhlbHBlcnMuc2gKKyMKKyMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgorCisjIFRoaXMgZmlsZSBjb250YWlucyBoZWxwZXJzIGZvciB0ZXN0IGNvbXBvbmVudHMgdGhhdCBhcmUgZXhlY3V0ZWQgYnkgYWxsLnNoLgorIyBTZWUgIkZpbGVzIHN0cnVjdHVyZSIgaW4gYWxsLWNvcmUuc2ggZm9yIG90aGVyIGZpbGVzIHVzZWQgYnkgYWxsLnNoLgorIworIyBUaGlzIGZpbGUgaXMgdGhlIHJpZ2h0IHBsYWNlIGZvciBoZWxwZXJzOgorIyAtIHRoYXQgYXJlIHVzZWQgYnkgbW9yZSB0aGFuIG9uZSBjb21wb25lbnQgbGl2aW5nIGluIG1vcmUgdGhhbiBvbmUgZmlsZTsKKyMgLSBvciAoaW5jbHVzaXZlKSB0aGF0IHdlIHdhbnQgdG8gc2hhcmUgYWNjcm9zcyByZXBvcyBvciBicmFuY2hlcy4KKyMKKyMgSGVscGVycyB0aGF0IGFyZSB1c2VkIGluIGEgc2luZ2xlIGNvbXBvbmVudCBmaWxlIHRoYXQgaXMKKyMgcmVwbyZicmFuY2gtc3BlY2lmaWMgY2FuIGJlIGRlZmluZWQgaW4gdGhlIGZpbGUgd2hlcmUgdGhleSBhcmUgdXNlZC4KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBIZWxwZXJzIGZvciBjb21wb25lbnRzIHVzaW5nIGxpYnRlc3Rkcml2ZXIxCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgSG93IHRvIHVzZSBsaWJ0ZXN0ZHJpdmVyMQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjCisjIDEuIERlZmluZSB0aGUgbGlzdCBhbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZSwKKyMgICAgZGVzaWduYXRlZCB0aGUgc2FtZSB3YXkgYXMgUFNBX1dBTlRfIG1hY3JvcyBidXQgd2l0aG91dCBQU0FfV0FOVF8uCisjICAgIEV4YW1wbGVzOgorIyAgICAgIC0gbG9jX2FjY2VsX2xpc3Q9IkFMR19KUEFLRSIKKyMgICAgICAtIGxvY19hY2NlbF9saXN0PSJBTEdfRkZESCBLRVlfVFlQRV9ESF9LRVlfUEFJUiBLRVlfVFlQRV9ESF9QVUJMSUNfS0VZIgorIyAyLiBNYWtlIGNvbmZpZ3VyYXRpb25zIGNoYW5nZXMgZm9yIHRoZSBkcml2ZXIgYW5kL29yIG1haW4gbGlicmFyaWVzLgorIyAgICAyYS4gQ2FsbCBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyA8YmFzZT4sIHdoZXJlIHRoZSBhcmd1bWVudAorIyAgICAgICAgY2FuIGJlIGVpdGhlciAiZGVmYXVsdCIgdG8gc3RhcnQgd2l0aCB0aGUgZGVmYXVsdCBjb25maWcsIG9yIGEgbmFtZQorIyAgICAgICAgc3VwcG9ydGVkIGJ5IHNjcmlwdHMvY29uZmlnLnB5IChmb3IgZXhhbXBsZSwgImZ1bGwiKS4gVGhpcyBzZWxlY3RzCisjICAgICAgICB0aGUgYmFzZSB0byB1c2UsIGFuZCBtYWtlcyBjb21tb24gYWRqdXN0bWVudHMuCisjICAgIDJiLiBJZiBkZXNpcmVkLCBhZGp1c3QgdGhlIFBTQV9XQU5UIHN5bWJvbHMgaW4gcHNhL2NyeXB0b19jb25maWcuaC4KKyMgICAgICAgIFRoZXNlIGNoYW5nZXMgYWZmZWN0IGJvdGggdGhlIGRyaXZlciBhbmQgdGhlIG1haW4gbGlicmFyaWVzLgorIyAgICAgICAgKE5vdGU6IHRoZXkgbmVlZCB0byBoYXZlIHRoZSBzYW1lIHNldCBvZiBQU0FfV0FOVCBzeW1ib2xzLCBhcyB0aGF0CisjICAgICAgICBkZXRlcm1pbmVzIHRoZSBBQkkgYmV0d2VlbiB0aGVtLikKKyMgICAgMmMuIEFkanVzdCBNQkVEVExTXyBzeW1ib2xzIGluIG1iZWR0bHNfY29uZmlnLmguIFRoaXMgb25seSBhZmZlY3RzIHRoZQorIyAgICAgICAgbWFpbiBsaWJyYXJpZXMuIFR5cGljYWxseSwgeW91IHdhbnQgdG8gZGlzYWJsZSB0aGUgbW9kdWxlKHMpIHRoYXQgYXJlCisjICAgICAgICBiZWluZyBhY2NlbGVyYXRlZC4gWW91IG1heSBuZWVkIHRvIGFsc28gZGlzYWJsZSBtb2R1bGVzIHRoYXQgZGVwZW5kCisjICAgICAgICBvbiB0aGVtIG9yIG9wdGlvbnMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCB3aXRoIGRyaXZlcnMuCisjICAgIDJkLiBPbiB0b3Agb2YgcHNhL2NyeXB0b19jb25maWcuaCwgdGhlIGRyaXZlciBsaWJyYXJ5IHVzZXMgaXRzIG93biBjb25maWcKKyMgICAgICAgIGZpbGU6IHRlc3RzL2luY2x1ZGUvdGVzdC9kcml2ZXJzL2NvbmZpZ190ZXN0X2RyaXZlci5oLiBZb3UgdXN1YWxseQorIyAgICAgICAgZG9uJ3QgbmVlZCB0byBlZGl0IGl0OiB1c2luZyBsb2NfZXh0cmFfbGlzdCAoc2VlIGJlbG93KSBpcyBwcmVmZXJyZWQuCisjICAgICAgICBIb3dldmVyLCB3aGVuIHRoZXJlJ3Mgbm8gUFNBIHN5bWJvbCBmb3Igd2hhdCB5b3Ugd2FudCB0byBlbmFibGUsCisjICAgICAgICBjYWxsaW5nIHNjcmlwdHMvY29uZmlnLnB5IG9uIHRoaXMgZmlsZSByZW1haW5zIHRoZSBvbmx5IG9wdGlvbi4KKyMgMy4gQnVpbGQgdGhlIGRyaXZlciBsaWJyYXJ5LCB0aGVuIHRoZSBtYWluIGxpYnJhcmllcywgdGVzdCwgYW5kIHByb2dyYW1zLgorIyAgICAzYS4gQ2FsbCBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiLiBZb3UgbWF5CisjICAgICAgICBuZWVkIHRvIGVuYWJsZSBtb3JlIGFsZ29yaXRobXMgaGVyZSwgdHlwaWNhbGx5IGhhc2ggYWxnb3JpdGhtcyB3aGVuCisjICAgICAgICBhY2NlbGVyYXRpbmcgc29tZSBzaWduYXR1cmUgYWxnb3JpdGhtcyAoRUNEU0EsIFJTQXYyKS4gVGhpcyBpcyBkb25lCisjICAgICAgICBieSBwYXNzaW5nIGEgMm5kIGFyZ3VtZW50IGxpc3RpbmcgdGhlIGV4dHJhIGFsZ29yaXRobXMuCisjICAgICAgICBFeGFtcGxlOgorIyAgICAgICAgICBsb2NfZXh0cmFfbGlzdD0iQUxHX1NIQV8yMjQgQUxHX1NIQV8yNTYgQUxHX1NIQV8zODQgQUxHX1NIQV81MTIiCisjICAgICAgICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIgIiRsb2NfZXh0cmFfbGlzdCIKKyMgICAgM2IuIENhbGwgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0Ii4gQW55CisjICAgICAgICBhZGRpdGlvbmFsIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZCB0byBtYWtlOiB0aGlzIGNhbiBiZSB1c2VmdWwgaWYKKyMgICAgICAgIHlvdSBkb24ndCB3YW50IHRvIGJ1aWxkIGV2ZXJ5dGhpbmcgd2hlbiBpdGVyYXRpbmcgZHVyaW5nIGRldmVsb3BtZW50LgorIyAgICAgICAgRXhhbXBsZToKKyMgICAgICAgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IiAtQyB0ZXN0cyB0ZXN0X3N1aXRlX2ZvbworIyA0LiBSdW4gdGhlIHRlc3RzIHlvdSB3YW50LgorCisjIEFkanVzdCB0aGUgY29uZmlndXJhdGlvbiAtIGZvciBib3RoIGxpYnRlc3Rkcml2ZXIxIGFuZCBtYWluIGxpYnJhcnksCisjIGFzIHRoZXkgc2hvdWxkIGhhdmUgdGhlIHNhbWUgUFNBX1dBTlQgbWFjcm9zLgoraGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcoKSB7CisgICAgYmFzZV9jb25maWc9JDEKKyAgICAjIFNlbGVjdCB0aGUgYmFzZSBjb25maWd1cmF0aW9uCisgICAgaWYgWyAiJGJhc2VfY29uZmlnIiAhPSAiZGVmYXVsdCIgXTsgdGhlbgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAiJGJhc2VfY29uZmlnIgorICAgIGZpCisKKyAgICAjIEVuYWJsZSBQU0EtYmFzZWQgY29uZmlnIChuZWNlc3NhcnkgdG8gdXNlIGRyaXZlcnMpCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcKKworICAgICMgRHluYW1pYyBzZWN1cmUgZWxlbWVudCBzdXBwb3J0IGlzIGEgZGVwcmVjYXRlZCBmZWF0dXJlIGFuZCBuZWVkcyB0byBiZSBkaXNhYmxlZCBoZXJlLgorICAgICMgVGhpcyBpcyBkb25lIHRvIGhhdmUgdGhlIHNhbWUgZm9ybSBvZiBwc2Ffa2V5X2F0dHJpYnV0ZXNfcyBmb3IgbGliZHJpdmVyIGFuZCBsaWJyYXJ5LgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TRV9DCisKKyAgICAjIElmIHRocmVhZGluZyBpcyBlbmFibGVkIG9uIHRoZSBub3JtYWwgYnVpbGQsIHRoZW4gd2UgbmVlZCB0byBlbmFibGUgaXQgaW4gdGhlIGRyaXZlcnMgYXMgd2VsbCwKKyAgICAjIG90aGVyd2lzZSB3ZSB3aWxsIGVuZCB1cCBydW5uaW5nIG11bHRpdGhyZWFkZWQgdGVzdHMgd2l0aG91dCBtdXRleGVzIHRvIHByb3RlY3QgdGhlbS4KKyAgICBpZiBzY3JpcHRzL2NvbmZpZy5weSBnZXQgTUJFRFRMU19USFJFQURJTkdfQzsgdGhlbgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENPTkZJR19URVNUX0RSSVZFUl9IIiBzZXQgTUJFRFRMU19USFJFQURJTkdfQworICAgIGZpCisKKyAgICBpZiBzY3JpcHRzL2NvbmZpZy5weSBnZXQgTUJFRFRMU19USFJFQURJTkdfUFRIUkVBRDsgdGhlbgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENPTkZJR19URVNUX0RSSVZFUl9IIiBzZXQgTUJFRFRMU19USFJFQURJTkdfUFRIUkVBRAorICAgIGZpCit9CisKKyMgQnVpbGQgdGhlIGRyaXZlcnMgbGlicmFyeSBsaWJ0ZXN0ZHJpdmVyMS5hICh3aXRoIEFTYW4pLgorIworIyBQYXJhbWV0ZXJzOgorIyAxLiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRoaW5ncyB0byBhY2NlbGVyYXRlOworIyAyLiBvcHRpb25hbDogYSBzcGFjZS1zZXBhcmF0ZSBsaXN0IG9mIHRoaW5ncyB0byBhbHNvIHN1cHBvcnQuCisjIEhlcmUgInRoaW5ncyIgYXJlIFBTQV9XQU5UXyBzeW1ib2xzIGJ1dCB3aXRoIFBTQV9XQU5UXyByZW1vdmVkLgoraGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycygpIHsKKyAgICBsb2NfYWNjZWxfZmxhZ3M9JCggZWNobyAiJDEgJHsyLX0iIHwgc2VkICdzL1teIF0qICovLURMSUJURVNURFJJVkVSMV9NQkVEVExTX1BTQV9BQ0NFTF8mL2cnICkKKyAgICBtYWtlIENDPSRBU0FOX0NDIC1DIHRlc3RzIGxpYnRlc3Rkcml2ZXIxLmEgQ0ZMQUdTPSIgJEFTQU5fQ0ZMQUdTICRsb2NfYWNjZWxfZmxhZ3MiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKK30KKworIyBCdWlsZCB0aGUgbWFpbiBsaWJyYXJpZXMsIHByb2dyYW1zIGFuZCB0ZXN0cywKKyMgbGlua2luZyB0byB0aGUgZHJpdmVycyBsaWJyYXJ5ICh3aXRoIEFTYW4pLgorIworIyBQYXJhbWV0ZXJzOgorIyAxLiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRoaW5ncyB0byBhY2NlbGVyYXRlOworIyAqLiByZW1haW5pbmcgYXJndW1lbnRzIGlmIGFueSBhcmUgcGFzc2VkIGRpcmVjdGx5IHRvIG1ha2UKKyMgICAgKGV4YW1wbGVzOiBsaWIsIC1DIHRlc3RzIHRlc3Rfc3VpdGVfeHh4LCBldGMuKQorIyBIZXJlICJ0aGluZ3MiIGFyZSBQU0FfV0FOVF8gc3ltYm9scyBidXQgd2l0aCBQU0FfV0FOVF8gcmVtb3ZlZC4KK2hlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4oKSB7CisgICAgbG9jX2FjY2VsX2xpc3Q9JDEKKyAgICBzaGlmdAorCisgICAgIyB3ZSBuZWVkIGZsYWdzIGJvdGggd2l0aCBhbmQgd2l0aG91dCB0aGUgTElCVEVTVERSSVZFUjFfIHByZWZpeAorICAgIGxvY19hY2NlbF9mbGFncz0kKCBlY2hvICIkbG9jX2FjY2VsX2xpc3QiIHwgc2VkICdzL1teIF0qICovLURMSUJURVNURFJJVkVSMV9NQkVEVExTX1BTQV9BQ0NFTF8mL2cnICkKKyAgICBsb2NfYWNjZWxfZmxhZ3M9IiRsb2NfYWNjZWxfZmxhZ3MgJCggZWNobyAiJGxvY19hY2NlbF9saXN0IiB8IHNlZCAncy9bXiBdKiAqLy1ETUJFRFRMU19QU0FfQUNDRUxfJi9nJyApIgorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLUkuLi90ZXN0cy9pbmNsdWRlIC1JLi4vdGVzdHMgLUkuLi8uLi90ZXN0cyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1RFU1RfTElCVEVTVERSSVZFUjEgJGxvY19hY2NlbF9mbGFncyIgTERGTEFHUz0iLWx0ZXN0ZHJpdmVyMSAkQVNBTl9DRkxBR1MiICIkQCIKK30KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBIZWxwZXJzIGZvciBjb21wb25lbnRzIHVzaW5nIHBzYXNpbQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFNldCBzb21lIGRlZmF1bHQgdmFsdWVzICRDT05GSUdfSCBpbiBvcmRlciB0byBidWlsZCBzZXJ2ZXIgb3IgY2xpZW50IHNpZGVzCisjIGluIFBTQVNJTS4gVGhlcmUgaXMgb25seSAxIG1hbmRhdG9yeSBwYXJhbWV0ZXI6CisjIC0gJDE6IHRhcmdldCB3aGljaCBjYW4gYmUgImNsaWVudCIgb3IgInNlcnZlciIKK2hlbHBlcl9wc2FzaW1fY29uZmlnKCkgeworICAgIFRBUkdFVD0kMQorCisgICAgaWYgWyAiJFRBUkdFVCIgPT0gImNsaWVudCIgXTsgdGhlbgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MKKyAgICAgICAgIyBEeW5hbWljIHNlY3VyZSBlbGVtZW50IHN1cHBvcnQgaXMgYSBkZXByZWNhdGVkIGZlYXR1cmUgYW5kIGl0IGlzIG5vdAorICAgICAgICAjIGF2YWlsYWJsZSB3aGVuIENSWVBUT19DIGFuZCBQU0FfQ1JZUFRPX1NUT1JBR0VfQyBhcmUgZGlzYWJsZWQuCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TRV9DCisgICAgICAgICMgRGlzYWJsZSBwb3RlbnRpYWxseSBwcm9ibGVtYXRpYyBmZWF0dXJlcworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9SU0FfRU5BQkxFRAorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9SU0FfRU5BQkxFRAorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX1JTQV9FTkFCTEVECisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19LRVlfSURfRU5DT0RFU19PV05FUgorICAgIGVsc2UKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgY3J5cHRvX2Z1bGwKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0JVSUxUSU5fS0VZUworICAgICAgICAjIFdlIG5lZWQgdG8gbWF0Y2ggdGhlIGNsaWVudCB3aXRoIE1CRURUTFNfUFNBX0NSWVBUT19TRV9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TRV9DCisgICAgICAgICMgQWxzbyBlbnN1cmUgTUJFRFRMU19QU0FfQ1JZUFRPX0tFWV9JRF9FTkNPREVTX09XTkVSIG5vdCBzZXQgKHRvIG1hdGNoIGNsaWVudCkKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0tFWV9JRF9FTkNPREVTX09XTkVSCisgICAgZmkKK30KKworIyBUaGlzIGlzIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGJlIHVzZWQgaW4gcHNhc2ltIGJ1aWxkcy4gSXQgaXMgbWVhbnQgdG8gY2xlYW4KKyMgdXAgdGhlIGxpYnJhcnkncyB3b3Jrc3BhY2UgYWZ0ZXIgdGhlIHNlcnZlciBidWlsZCBhbmQgYmVmb3JlIHRoZSBjbGllbnQKKyMgYnVpbGQuIEJ1aWx0IGxpYnJhcmllcyAobWJlZGNyeXB0bywgbWJlZHg1MDkgYW5kIG1iZWR0bHMpIGFyZSBzdXBwb3NlZCB0byBiZQorIyBhbHJlYWR5IGNvcGllZCB0byBwc2FzaW0gZm9sZGVyIGF0IHRoaXMgcG9pbnQuCitoZWxwZXJfcHNhc2ltX2NsZWFudXBfYmVmb3JlX2NsaWVudCgpIHsKKyAgICAjIENsZWFuIHVwIGxpYnJhcnkgZmlsZXMKKyAgICBtYWtlIC1DIGxpYnJhcnkgY2xlYW4KKworICAgICMgUmVzdG9yZSBmaWxlcyB0aGF0IHdlcmUgYmFja3VwIGJlZm9yZSBidWlsZGluZyBsaWJyYXJ5IGZpbGVzLiBUaGlzCisgICAgIyBpbmNsdWRlcyAkQ09ORklHX0ggYW5kICRDUllQVE9fQ09ORklHX0guCisgICAgcmVzdG9yZV9iYWNrZWRfdXBfZmlsZXMKK30KKworIyBIZWxwZXIgdG8gYnVpbGQgdGhlIGxpYnJhcmllcyBmb3IgY2xpZW50L3NlcnZlciBpbiBQU0FTSU0uIElmIHRoZSBzZXJ2ZXIgaXMKKyMgYmVpbmcgYnVpbHQsIHRoZW4gaXQgYnVpbGRzIGFsc28gdGhlIGZpbmFsIGV4ZWN1dGFibGUuCisjIFRoZXJlIGlzIG9ubHkgMSBtYW5kYXRvcnkgcGFyYW1ldGVyOgorIyAtICQxOiB0YXJnZXQgd2hpY2ggY2FuIGJlICJjbGllbnQiIG9yICJzZXJ2ZXIiCitoZWxwZXJfcHNhc2ltX2J1aWxkKCkgeworICAgIFRBUkdFVD0kMQorICAgIHNoaWZ0CisgICAgVEFSR0VUX0xJQj0ke1RBUkdFVH1fbGlicworCisgICAgbWFrZSAtQyAkUFNBU0lNX1BBVEggQ0ZMQUdTPSIkQVNBTl9DRkxBR1MiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIgJFRBUkdFVF9MSUIgIiRAIgorCisgICAgIyBCdWlsZCBhbHNvIHRoZSBzZXJ2ZXIgYXBwbGljYXRpb24gYWZ0ZXIgaXRzIGxpYnJhcmllcyBoYXZlIGJlZW4gYnVpbHQuCisgICAgaWYgWyAiJFRBUkdFVCIgPT0gInNlcnZlciIgXTsgdGhlbgorICAgICAgICBtYWtlIC1DICRQU0FTSU1fUEFUSCBDRkxBR1M9IiRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIiB0ZXN0L3BzYV9zZXJ2ZXIKKyAgICBmaQorfQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIENvbmZpZ3VyYXRpb24gaGVscGVycworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFdoZW4gY2FsbGVkIHdpdGggbm8gcGFyYW1ldGVyIHRoaXMgZnVuY3Rpb24gZGlzYWJsZXMgYWxsIGJ1aWx0aW4gY3VydmVzLgorIyBUaGUgZnVuY3Rpb24gb3B0aW9uYWxseSBhY2NlcHRzIDEgcGFyYW1ldGVyOiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRoZQorIyBjdXJ2ZXMgdGhhdCBzaG91bGQgYmUga2VwdCBlbmFibGVkLgoraGVscGVyX2Rpc2FibGVfYnVpbHRpbl9jdXJ2ZXMoKSB7CisgICAgYWxsb3dlZF9saXN0PSIkezE6LX0iCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQtYWxsICJNQkVEVExTX0VDUF9EUF9bMC05QS1aX2Etel0qX0VOQUJMRUQiCisKKyAgICBmb3IgY3VydmUgaW4gJGFsbG93ZWRfbGlzdDsgZG8KKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgc2V0ICRjdXJ2ZQorICAgIGRvbmUKK30KKworIyBIZWxwZXIgcmV0dXJuaW5nIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBlbGxpcHRpYyBjdXJ2ZXMgZnJvbSBDUllQVE9fQ09ORklHX0gsCisjIHdpdGhvdXQgdGhlICJQU0FfV0FOVF8iIHByZWZpeC4gVGhpcyBiZWNvbWVzIGhhbmR5IGZvciBhY2NlbGVyYXRpbmcgY3VydmVzCisjIGluIHRoZSBmb2xsb3dpbmcgaGVscGVycy4KK2hlbHBlcl9nZXRfcHNhX2N1cnZlX2xpc3QgKCkgeworICAgIGxvY19saXN0PSIiCisgICAgZm9yIGl0ZW0gaW4gJChzZWQgLW4gJ3MvXiNkZWZpbmUgUFNBX1dBTlRfXChFQ0NfWzAtOUEtWl9hLXpdKlwpLiovXDEvcCcgPCIkQ1JZUFRPX0NPTkZJR19IIik7IGRvCisgICAgICAgIGxvY19saXN0PSIkbG9jX2xpc3QgJGl0ZW0iCisgICAgZG9uZQorCisgICAgZWNobyAiJGxvY19saXN0IgorfQorCisjIEhlbHBlciByZXR1cm5pbmcgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIERIIGdyb3VwcyBmcm9tIENSWVBUT19DT05GSUdfSCwKKyMgd2l0aG91dCB0aGUgIlBTQV9XQU5UXyIgcHJlZml4LiBUaGlzIGJlY29tZXMgaGFuZHkgZm9yIGFjY2VsZXJhdGluZyBESCBncm91cHMKKyMgaW4gdGhlIGZvbGxvd2luZyBoZWxwZXJzLgoraGVscGVyX2dldF9wc2FfZGhfZ3JvdXBfbGlzdCAoKSB7CisgICAgbG9jX2xpc3Q9IiIKKyAgICBmb3IgaXRlbSBpbiAkKHNlZCAtbiAncy9eI2RlZmluZSBQU0FfV0FOVF9cKERIX1JGQzc5MTlfWzAtOV0qXCkuKi9cMS9wJyA8IiRDUllQVE9fQ09ORklHX0giKTsgZG8KKyAgICAgICAgbG9jX2xpc3Q9IiRsb2NfbGlzdCAkaXRlbSIKKyAgICBkb25lCisKKyAgICBlY2hvICIkbG9jX2xpc3QiCit9CisKKyMgR2V0IHRoZSBsaXN0IG9mIHVuY29tbWVudGVkIFBTQV9XQU5UX0tFWV9UWVBFX3h4eF8gZnJvbSBDUllQVE9fQ09ORklHX0guIFRoaXMKKyMgaXMgdXNlZnVsIHRvIGVhc2lseSBnZXQgYSBsaXN0IG9mIGtleSB0eXBlIHN5bWJvbHMgdG8gYWNjZWxlcmF0ZS4KKyMgVGhlIGZ1bmN0aW9uIGFjY2VwdHMgYSBzaW5nbGUgYXJndW1lbnQgd2hpY2ggaXMgdGhlIGtleSB0eXBlOiBFQ0MsIERILCBSU0EuCitoZWxwZXJfZ2V0X3BzYV9rZXlfdHlwZV9saXN0KCkgeworICAgIGtleV90eXBlPSIkMSIKKyAgICBsb2NfbGlzdD0iIgorICAgIGZvciBpdGVtIGluICQoc2VkIC1uICJzL14jZGVmaW5lIFBTQV9XQU5UX1woS0VZX1RZUEVfJHtrZXlfdHlwZX1fWzAtOUEtWl9hLXpdKlwpLiovXDEvcCIgPCIkQ1JZUFRPX0NPTkZJR19IIik7IGRvCisgICAgICAgICMgU2tpcCBERVJJVkUgZm9yIGVsbGlwdGljIGtleXMgc2luY2UgdGhlcmUgaXMgbm8gZHJpdmVyIGRpc3BhdGNoIGZvcgorICAgICAgICAjIGl0IHNvIGl0IGNhbm5vdCBiZSBhY2NlbGVyYXRlZC4KKyAgICAgICAgaWYgWyAiJGl0ZW0iICE9ICJLRVlfVFlQRV9FQ0NfS0VZX1BBSVJfREVSSVZFIiBdOyB0aGVuCisgICAgICAgICAgICBsb2NfbGlzdD0iJGxvY19saXN0ICRpdGVtIgorICAgICAgICBmaQorICAgIGRvbmUKKworICAgIGVjaG8gIiRsb2NfbGlzdCIKK30KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBNaXNjLiBoZWxwZXJzIGZvciBjb21wb25lbnRzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2hlbHBlcl9hcm1jNl9idWlsZF90ZXN0KCkKK3sKKyAgICBGTEFHUz0iJDEiCisKKyAgICBtc2cgImJ1aWxkOiBBUk0gQ29tcGlsZXIgNiAoJEZMQUdTKSIKKyAgICBtYWtlIGNsZWFuCisgICAgQVJNX1RPT0xfVkFSSUFOVD0idWx0IiBDQz0iJEFSTUM2X0NDIiBBUj0iJEFSTUM2X0FSIiBDRkxBR1M9IiRGTEFHUyIgXAorICAgICAgICAgICAgICAgICAgICBXQVJOSU5HX0NGTEFHUz0nLVdlcnJvciAteGMgLXN0ZD1jOTknIG1ha2UgbGliCisKKyAgICBtc2cgInNpemU6IEFSTSBDb21waWxlciA2ICgkRkxBR1MpIgorICAgICIkQVJNQzZfRlJPTUVMRiIgLXogbGlicmFyeS8qLm8KKyAgICBpZiBbIC1uICIke1BTQV9DT1JFX1BBVEh9IiBdOyB0aGVuCisgICAgICAgICIkQVJNQzZfRlJPTUVMRiIgLXogJHtQU0FfQ09SRV9QQVRIfS8qLm8KKyAgICBmaQorICAgIGlmIFsgLW4gIiR7QlVJTFRJTl9TUkNfUEFUSH0iIF07IHRoZW4KKyAgICAgICAgIiRBUk1DNl9GUk9NRUxGIiAteiAke0JVSUxUSU5fU1JDX1BBVEh9LyoubworICAgIGZpCit9CisKK2NsYW5nX3ZlcnNpb24oKSB7CisgICAgaWYgY29tbWFuZCAtdiBjbGFuZyA+IC9kZXYvbnVsbCA7IHRoZW4KKyAgICAgICAgY2xhbmcgLS12ZXJzaW9ufGdyZXAgdmVyc2lvbnxzZWQgLUUgJ3MjLip2ZXJzaW9uIChbMC05XSspLiojXDEjJworICAgIGVsc2UKKyAgICAgICAgZWNobyAwICAjIHJlcG9ydCB2ZXJzaW9uIDAgZm9yICJubyBjbGFuZyIKKyAgICBmaQorfQorCitnY2NfdmVyc2lvbigpIHsKKyAgICBnY2M9IiQxIgorICAgIGlmIGNvbW1hbmQgLXYgIiRnY2MiID4gL2Rldi9udWxsIDsgdGhlbgorICAgICAgICAiJGdjYyIgLS12ZXJzaW9uIHwgc2VkIC1FbiAnMXMvXlteIF0qIFwoW14pXSpcKSAoWzAtOV0rKS4qL1wxL3AnCisgICAgZWxzZQorICAgICAgICBlY2hvIDAgICMgcmVwb3J0IHZlcnNpb24gMCBmb3IgIm5vIGdjYyIKKyAgICBmaQorfQorCitjYW5fcnVuX2NjX291dHB1dCgpIHsKKyAgICBjYz0iJDEiCisgICAgcmVzdWx0PWZhbHNlCisgICAgaWYgdHlwZSAiJGNjIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgdGVzdGJpbj0kKG1rdGVtcCkKKyAgICAgICAgaWYgZWNobyAnaW50IG1haW4odm9pZCl7cmV0dXJuIDA7fScgfCAiJGNjIiAtbyAiJHRlc3RiaW4iIC14IGMgLTsgdGhlbgorICAgICAgICAgICAgaWYgIiR0ZXN0YmluIiAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgICAgIHJlc3VsdD10cnVlCisgICAgICAgICAgICBmaQorICAgICAgICBmaQorICAgICAgICBybSAtZiAiJHRlc3RiaW4iCisgICAgZmkKKyAgICAkcmVzdWx0Cit9CisKK2Nhbl9ydW5fYXJtX2xpbnV4X2dudWVhYmk9CitjYW5fcnVuX2FybV9saW51eF9nbnVlYWJpICgpIHsKKyAgICBpZiBbIC16ICIkY2FuX3J1bl9hcm1fbGludXhfZ251ZWFiaSIgXTsgdGhlbgorICAgICAgICBpZiBjYW5fcnVuX2NjX291dHB1dCAiJHtBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYfWdjYyI7IHRoZW4KKyAgICAgICAgICAgIGNhbl9ydW5fYXJtX2xpbnV4X2dudWVhYmk9dHJ1ZQorICAgICAgICBlbHNlCisgICAgICAgICAgICBjYW5fcnVuX2FybV9saW51eF9nbnVlYWJpPWZhbHNlCisgICAgICAgIGZpCisgICAgZmkKKyAgICAkY2FuX3J1bl9hcm1fbGludXhfZ251ZWFiaQorfQorCitjYW5fcnVuX2FybV9saW51eF9nbnVlYWJpaGY9CitjYW5fcnVuX2FybV9saW51eF9nbnVlYWJpaGYgKCkgeworICAgIGlmIFsgLXogIiRjYW5fcnVuX2FybV9saW51eF9nbnVlYWJpaGYiIF07IHRoZW4KKyAgICAgICAgaWYgY2FuX3J1bl9jY19vdXRwdXQgIiR7QVJNX0xJTlVYX0dOVUVBQklIRl9HQ0NfUFJFRklYfWdjYyI7IHRoZW4KKyAgICAgICAgICAgIGNhbl9ydW5fYXJtX2xpbnV4X2dudWVhYmloZj10cnVlCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNhbl9ydW5fYXJtX2xpbnV4X2dudWVhYmloZj1mYWxzZQorICAgICAgICBmaQorICAgIGZpCisgICAgJGNhbl9ydW5fYXJtX2xpbnV4X2dudWVhYmloZgorfQorCitjYW5fcnVuX2FhcmNoNjRfbGludXhfZ251PQorY2FuX3J1bl9hYXJjaDY0X2xpbnV4X2dudSAoKSB7CisgICAgaWYgWyAteiAiJGNhbl9ydW5fYWFyY2g2NF9saW51eF9nbnUiIF07IHRoZW4KKyAgICAgICAgaWYgY2FuX3J1bl9jY19vdXRwdXQgIiR7QUFSQ0g2NF9MSU5VWF9HTlVfR0NDX1BSRUZJWH1nY2MiOyB0aGVuCisgICAgICAgICAgICBjYW5fcnVuX2FhcmNoNjRfbGludXhfZ251PXRydWUKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY2FuX3J1bl9hYXJjaDY0X2xpbnV4X2dudT1mYWxzZQorICAgICAgICBmaQorICAgIGZpCisgICAgJGNhbl9ydW5fYWFyY2g2NF9saW51eF9nbnUKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvYWxsLnNoIGIvdGVzdHMvc2NyaXB0cy9hbGwuc2gKaW5kZXggYjEyYTg2Zi4uNjcwOGRlMSAxMDA3NTUKLS0tIGEvdGVzdHMvc2NyaXB0cy9hbGwuc2gKKysrIGIvdGVzdHMvc2NyaXB0cy9hbGwuc2gKQEAgLTUsNjU0NCArNSwxMSBAQAogIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCiAKKyMgVGhpcyBmaWxlIGlzIGV4ZWN1dGFibGU7IGl0IGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgdXNlcnMgYW5kIHRoZSBDSS4KKyMgU2VlICJGaWxlcyBzdHJ1Y3R1cmUiIGluIGFsbC1jb3JlLnNoIGZvciBvdGhlciBmaWxlcyB1c2VkLgogCisjIFRoZSBwYXRoIGlzIGdvaW5nIHRvIGNoYW5nZSB3aGVuIHRoaXMgaXMgbW92ZWQgdG8gdGhlIGZyYW1ld29yawordGVzdF9zY3JpcHRfZGlyPSIkezAlLyp9Igorc291cmNlICIkdGVzdF9zY3JpcHRfZGlyIi9hbGwtY29yZS5zaAogCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMjIERvY3VtZW50YXRpb24KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBQdXJwb3NlCi0jIC0tLS0tLS0KLSMKLSMgVG8gcnVuIGFsbCB0ZXN0cyBwb3NzaWJsZSBvciBhdmFpbGFibGUgb24gdGhlIHBsYXRmb3JtLgotIwotIyBOb3RlcyBmb3IgdXNlcnMKLSMgLS0tLS0tLS0tLS0tLS0tCi0jCi0jIFdhcm5pbmc6IHRoZSB0ZXN0IGlzIGRlc3RydWN0aXZlLiBJdCBpbmNsdWRlcyB2YXJpb3VzIGJ1aWxkIG1vZGVzIGFuZAotIyBjb25maWd1cmF0aW9ucywgYW5kIGNhbiBhbmQgd2lsbCBhcmJpdHJhcmlseSBjaGFuZ2UgdGhlIGN1cnJlbnQgQ01ha2UKLSMgY29uZmlndXJhdGlvbi4gVGhlIGZvbGxvd2luZyBmaWxlcyBtdXN0IGJlIGNvbW1pdHRlZCBpbnRvIGdpdDoKLSMgICAgKiBpbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaAotIyAgICAqIE1ha2VmaWxlLCBsaWJyYXJ5L01ha2VmaWxlLCBwcm9ncmFtcy9NYWtlZmlsZSwgdGVzdHMvTWFrZWZpbGUsCi0jICAgICAgcHJvZ3JhbXMvZnV6ei9NYWtlZmlsZQotIyBBZnRlciBydW5uaW5nIHRoaXMgc2NyaXB0LCB0aGUgQ01ha2UgY2FjaGUgd2lsbCBiZSBsb3N0IGFuZCBDTWFrZQotIyB3aWxsIG5vIGxvbmdlciBiZSBpbml0aWFsaXNlZC4KLSMKLSMgVGhlIHNjcmlwdCBhc3N1bWVzIHRoZSBwcmVzZW5jZSBvZiBhIG51bWJlciBvZiB0b29sczoKLSMgICAqIEJhc2ljIFVuaXggdG9vbHMgKFdpbmRvd3MgdXNlcnMgbm90ZTogYSBVbml4LXN0eWxlIGZpbmQgbXVzdCBiZSBiZWZvcmUKLSMgICAgIHRoZSBXaW5kb3dzIGZpbmQgaW4gdGhlIFBBVEgpCi0jICAgKiBQZXJsCi0jICAgKiBHTlUgTWFrZQotIyAgICogQ01ha2UKLSMgICAqIEdDQyBhbmQgQ2xhbmcgKHJlY2VudCBlbm91Z2ggZm9yIHVzaW5nIEFTYW4gd2l0aCBnY2MgYW5kIE1lbVNhbiB3aXRoIGNsYW5nLCBvciB2YWxncmluZCkKLSMgICAqIEcrKwotIyAgICogYXJtLWdjYyBhbmQgbWluZ3ctZ2NjCi0jICAgKiBBcm1DQyA1IGFuZCBBcm1DQyA2LCB1bmxlc3MgaW52b2tlZCB3aXRoIC0tbm8tYXJtY2MKLSMgICAqIE9wZW5TU0wgYW5kIEdudVRMUyBjb21tYW5kIGxpbmUgdG9vbHMsIGluIHN1aXRhYmxlIHZlcnNpb25zIGZvciB0aGUKLSMgICAgIGludGVyb3BlcmFiaWxpdHkgdGVzdHMuIFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBvZmZpY2lhbCB2ZXJzaW9ucyBhdCB0aGUKLSMgICAgIHRpbWUgb2Ygd3JpdGluZzoKLSMgICAgICogR05VVExTX3tDTEksU0VSVn0gPSAzLjQuMTAKLSMgICAgICogR05VVExTX05FWFRfe0NMSSxTRVJWfSA9IDMuNy4yCi0jICAgICAqIE9QRU5TU0wgPSAxLjAuMmcgKHdpdGhvdXQgRGViaWFuL1VidW50dSBwYXRjaGVzKQotIyAgICAgKiBPUEVOU1NMX05FWFQgPSAzLjEuMgotIyBTZWUgdGhlIGludm9jYXRpb24gb2YgY2hlY2tfdG9vbHMgYmVsb3cgZm9yIGRldGFpbHMuCi0jCi0jIFRoaXMgc2NyaXB0IG11c3QgYmUgaW52b2tlZCBmcm9tIHRoZSB0b3BsZXZlbCBkaXJlY3Rvcnkgb2YgYSBnaXQKLSMgd29ya2luZyBjb3B5IG9mIE1iZWQgVExTLgotIwotIyBUaGUgYmVoYXZpb3Igb24gYW4gZXJyb3IgZGVwZW5kcyBvbiB3aGV0aGVyIC0ta2VlcC1nb2luZyAoYWxpYXMgLWspCi0jIGlzIGluIGVmZmVjdC4KLSMgICogV2l0aG91dCAtLWtlZXAtZ29pbmc6IHRoZSBzY3JpcHQgc3RvcHMgb24gdGhlIGZpcnN0IGVycm9yIHdpdGhvdXQKLSMgICAgY2xlYW5pbmcgdXAuIFRoaXMgbGV0cyB5b3Ugd29yayBpbiB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZmFpbGluZwotIyAgICBjb21wb25lbnQuCi0jICAqIFdpdGggLS1rZWVwLWdvaW5nOiB0aGUgc2NyaXB0IHJ1bnMgYWxsIHJlcXVlc3RlZCBjb21wb25lbnRzIGFuZAotIyAgICByZXBvcnRzIGZhaWx1cmVzIGF0IHRoZSBlbmQuIEluIHBhcnRpY3VsYXIgdGhlIHNjcmlwdCBhbHdheXMgY2xlYW5zCi0jICAgIHVwIG9uIGV4aXQuCi0jCi0jIE5vdGUgdGhhdCB0aGUgb3V0cHV0IGlzIG5vdCBzYXZlZC4gWW91IG1heSB3YW50IHRvIHJ1bgotIyAgIHNjcmlwdCAtYyB0ZXN0cy9zY3JpcHRzL2FsbC5zaAotIyBvcgotIyAgIHRlc3RzL3NjcmlwdHMvYWxsLnNoID5hbGwubG9nIDI+JjEKLSMKLSMgTm90ZXMgZm9yIG1haW50YWluZXJzCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIwotIyBUaGUgYnVsayBvZiB0aGUgY29kZSBpcyBvcmdhbml6ZWQgaW50byBmdW5jdGlvbnMgdGhhdCBmb2xsb3cgb25lIG9mIHRoZQotIyBmb2xsb3dpbmcgbmFtaW5nIGNvbnZlbnRpb25zOgotIyAgKiBwcmVfWFhYOiB0aGluZ3MgdG8gZG8gYmVmb3JlIHJ1bm5pbmcgdGhlIHRlc3RzLCBpbiBvcmRlci4KLSMgICogY29tcG9uZW50X1hYWDogaW5kZXBlbmRlbnQgY29tcG9uZW50cy4gVGhleSBjYW4gYmUgcnVuIGluIGFueSBvcmRlci4KLSMgICAgICAqIGNvbXBvbmVudF9jaGVja19YWFg6IHF1aWNrIHRlc3RzIHRoYXQgYXJlbid0IHdvcnRoIHBhcmFsbGVsaXppbmcuCi0jICAgICAgKiBjb21wb25lbnRfYnVpbGRfWFhYOiBidWlsZCB0aGluZ3MgYnV0IGRvbid0IHJ1biB0aGVtLgotIyAgICAgICogY29tcG9uZW50X3Rlc3RfWFhYOiBidWlsZCBhbmQgdGVzdC4KLSMgICAgICAqIGNvbXBvbmVudF9yZWxlYXNlX1hYWDogdGVzdHMgdGhhdCB0aGUgQ0kgc2hvdWxkIHNraXAgZHVyaW5nIFBSIHRlc3RpbmcuCi0jICAqIHN1cHBvcnRfWFhYOiBpZiBzdXBwb3J0X1hYWCBleGlzdHMgYW5kIHJldHVybnMgZmFsc2UgdGhlbgotIyAgICBjb21wb25lbnRfWFhYIGlzIG5vdCBydW4gYnkgZGVmYXVsdC4KLSMgICogcG9zdF9YWFg6IHRoaW5ncyB0byBkbyBhZnRlciBydW5uaW5nIHRoZSB0ZXN0cy4KLSMgICogb3RoZXI6IG1pc2NlbGxhbmVvdXMgc3VwcG9ydCBmdW5jdGlvbnMuCi0jCi0jIEVhY2ggY29tcG9uZW50IG11c3Qgc3RhcnQgYnkgaW52b2tpbmcgYG1zZ2Agd2l0aCBhIHNob3J0IGluZm9ybWF0aXZlIG1lc3NhZ2UuCi0jCi0jIFdhcm5pbmc6IGR1ZSB0byB0aGUgd2F5IGJhc2ggZGV0ZWN0cyBlcnJvcnMsIHRoZSBmYWlsdXJlIG9mIGEgY29tbWFuZAotIyBpbnNpZGUgJ2lmJyBvciAnIScgaXMgbm90IGRldGVjdGVkLiBVc2UgdGhlICdub3QnIGZ1bmN0aW9uIGluc3RlYWQgb2YgJyEnLgotIwotIyBFYWNoIGNvbXBvbmVudCBpcyBleGVjdXRlZCBpbiBhIHNlcGFyYXRlIHNoZWxsIHByb2Nlc3MuIFRoZSBjb21wb25lbnQKLSMgZmFpbHMgaWYgYW55IGNvbW1hbmQgaW4gaXQgcmV0dXJucyBhIG5vbi16ZXJvIHN0YXR1cy4KLSMKLSMgVGhlIGZyYW1ld29yayBwZXJmb3JtcyBzb21lIGNsZWFudXAgdGFza3MgYWZ0ZXIgZWFjaCBjb21wb25lbnQuIFRoaXMKLSMgbWVhbnMgdGhhdCBjb21wb25lbnRzIGNhbiBhc3N1bWUgdGhhdCB0aGUgd29ya2luZyBkaXJlY3RvcnkgaXMgaW4gYQotIyBjbGVhbmVkLXVwIHN0YXRlLCBhbmQgZG9uJ3QgbmVlZCB0byBwZXJmb3JtIHRoZSBjbGVhbnVwIHRoZW1zZWx2ZXMuCi0jICogUnVuIGBtYWtlIGNsZWFuYC4KLSMgKiBSZXN0b3JlIGBpbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaGAgZnJvbSBhIGJhY2t1cCBtYWRlIGJlZm9yZSBydW5uaW5nCi0jICAgdGhlIGNvbXBvbmVudC4KLSMgKiBDaGVjayBvdXQgYE1ha2VmaWxlYCwgYGxpYnJhcnkvTWFrZWZpbGVgLCBgcHJvZ3JhbXMvTWFrZWZpbGVgLAotIyAgIGB0ZXN0cy9NYWtlZmlsZWAgYW5kIGBwcm9ncmFtcy9mdXp6L01ha2VmaWxlYCBmcm9tIGdpdC4KLSMgICBUaGlzIGNsZWFucyB1cCBhZnRlciBhbiBpbi10cmVlIHVzZSBvZiBDTWFrZS4KLSMKLSMgVGhlIHRlc3RzIGFyZSByb3VnaGx5IGluIG9yZGVyIGZyb20gZmFzdGVzdCB0byBzbG93ZXN0LiBUaGlzIGRvZXNuJ3QKLSMgaGF2ZSB0byBiZSBleGFjdCwgYnV0IGluIGdlbmVyYWwgeW91IHNob3VsZCBhZGQgc2xvd2VyIHRlc3RzIHRvd2FyZHMKLSMgdGhlIGVuZCBhbmQgZmFzdCBjaGVja3MgbmVhciB0aGUgYmVnaW5uaW5nLgotCi0KLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyBJbml0aWFsaXphdGlvbiBhbmQgY29tbWFuZCBsaW5lIHBhcnNpbmcKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBBYm9ydCBvbiBlcnJvcnMgKGV2ZW4gb24gdGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgcGlwZSkuCi0jIFRyZWF0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGVzIGFzIGVycm9ycy4KLXNldCAtZSAtbyBwaXBlZmFpbCAtdQotCi0jIEVuYWJsZSBrc2gvYmFzaCBleHRlbmRlZCBmaWxlIG1hdGNoaW5nIHBhdHRlcm5zCi1zaG9wdCAtcyBleHRnbG9iCi0KLWluX21iZWR0bHNfcmVwbyAoKSB7Ci0gICAgdGVzdCAtZCBpbmNsdWRlIC1hIC1kIGxpYnJhcnkgLWEgLWQgcHJvZ3JhbXMgLWEgLWQgdGVzdHMKLX0KLQotaW5fdGZfcHNhX2NyeXB0b19yZXBvICgpIHsKLSAgICB0ZXN0IC1kIGluY2x1ZGUgLWEgLWQgY29yZSAtYSAtZCBkcml2ZXJzIC1hIC1kIHByb2dyYW1zIC1hIC1kIHRlc3RzCi19Ci0KLXByZV9jaGVja19lbnZpcm9ubWVudCAoKSB7Ci0gICAgaWYgaW5fbWJlZHRsc19yZXBvIHx8IGluX3RmX3BzYV9jcnlwdG9fcmVwbzsgdGhlbiA6OyBlbHNlCi0gICAgICAgIGVjaG8gIk11c3QgYmUgcnVuIGZyb20gTWJlZCBUTFMgLyBURi1QU0EtQ3J5cHRvIHJvb3QiID4mMgotICAgICAgICBleGl0IDEKLSAgICBmaQotfQotCi1wcmVfaW5pdGlhbGl6ZV92YXJpYWJsZXMgKCkgewotICAgIGlmIGluX21iZWR0bHNfcmVwbzsgdGhlbgotICAgICAgICBDT05GSUdfSD0naW5jbHVkZS9tYmVkdGxzL21iZWR0bHNfY29uZmlnLmgnCi0gICAgZWxzZQotICAgICAgICBDT05GSUdfSD0nZHJpdmVycy9idWlsdGluL2luY2x1ZGUvbWJlZHRscy9tYmVkdGxzX2NvbmZpZy5oJwotICAgIGZpCi0gICAgQ1JZUFRPX0NPTkZJR19IPSdpbmNsdWRlL3BzYS9jcnlwdG9fY29uZmlnLmgnCi0gICAgQ09ORklHX1RFU1RfRFJJVkVSX0g9J3Rlc3RzL2luY2x1ZGUvdGVzdC9kcml2ZXJzL2NvbmZpZ190ZXN0X2RyaXZlci5oJwotCi0gICAgIyBGaWxlcyB0aGF0IGFyZSBjbG9iYmVyZWQgYnkgc29tZSBqb2JzIHdpbGwgYmUgYmFja2VkIHVwLiBVc2UgYSBkaWZmZXJlbnQKLSAgICAjIHN1ZmZpeCBmcm9tIGF1eGlsaWFyeSBzY3JpcHRzIHNvIHRoYXQgYWxsLnNoIGFuZCBhdXhpbGlhcnkgc2NyaXB0cyBjYW4KLSAgICAjIGluZGVwZW5kZW50bHkgZGVjaWRlIHdoZW4gdG8gcmVtb3ZlIHRoZSBiYWNrdXAgZmlsZS4KLSAgICBiYWNrdXBfc3VmZml4PScuYWxsLmJhaycKLSAgICAjIEZpbGVzIGNsb2JiZXJlZCBieSBjb25maWcucHkKLSAgICBmaWxlc190b19iYWNrX3VwPSIkQ09ORklHX0ggJENSWVBUT19DT05GSUdfSCAkQ09ORklHX1RFU1RfRFJJVkVSX0giCi0gICAgaWYgaW5fbWJlZHRsc19yZXBvOyB0aGVuCi0gICAgICAgICMgRmlsZXMgY2xvYmJlcmVkIGJ5IGluLXRyZWUgY21ha2UKLSAgICAgICAgZmlsZXNfdG9fYmFja191cD0iJGZpbGVzX3RvX2JhY2tfdXAgTWFrZWZpbGUgbGlicmFyeS9NYWtlZmlsZSBwcm9ncmFtcy9NYWtlZmlsZSB0ZXN0cy9NYWtlZmlsZSBwcm9ncmFtcy9mdXp6L01ha2VmaWxlIgotICAgIGZpCi0KLSAgICBhcHBlbmRfb3V0Y29tZT0wCi0gICAgTUVNT1JZPTAKLSAgICBGT1JDRT0wCi0gICAgUVVJRVQ9MAotICAgIEtFRVBfR09JTkc9MAotCi0gICAgIyBTZWVkIHZhbHVlIHVzZWQgd2l0aCB0aGUgLS1yZWxlYXNlLXRlc3Qgb3B0aW9uLgotICAgICMKLSAgICAjIFNlZSBhbHNvIFJFTEVBU0VfU0VFRCBpbiBiYXNpYy1idWlsZC10ZXN0LnNoLiBEZWJ1Z2dpbmcgaXMgZWFzaWVyIGlmCi0gICAgIyBib3RoIHZhbHVlcyBhcmUga2VwdCBpbiBzeW5jLiBJZiB5b3UgY2hhbmdlIHRoZSB2YWx1ZSBoZXJlIGJlY2F1c2UgaXQKLSAgICAjIGJyZWFrcyBzb21lIHRlc3RzLCB5b3UnbGwgZGVmaW5pdGVseSB3YW50IHRvIGNoYW5nZSBpdCBpbgotICAgICMgYmFzaWMtYnVpbGQtdGVzdC5zaCBhcyB3ZWxsLgotICAgIFJFTEVBU0VfU0VFRD0xCi0KLSAgICAjIFNwZWNpZnkgY2hhcmFjdGVyIGNvbGxhdGlvbiBmb3IgcmVndWxhciBleHByZXNzaW9ucyBhbmQgc29ydGluZyB3aXRoIEMgbG9jYWxlCi0gICAgZXhwb3J0IExDX0NPTExBVEU9QwotCi0gICAgOiAke01CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEU9fQotICAgIDogJHtNQkVEVExTX1RFU1RfUExBVEZPUk09IiQodW5hbWUgLXMgfCB0ciAtYyBcXG4wLTlBLVphLXogXyktJCh1bmFtZSAtbSB8IHRyIC1jIFxcbjAtOUEtWmEteiBfKSJ9Ci0gICAgZXhwb3J0IE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUKLSAgICBleHBvcnQgTUJFRFRMU19URVNUX1BMQVRGT1JNCi0KLSAgICAjIERlZmF1bHQgY29tbWFuZHMsIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBlbnZpcm9ubWVudAotICAgIDogJHtPUEVOU1NMOj0ib3BlbnNzbCJ9Ci0gICAgOiAke09QRU5TU0xfTkVYVDo9IiRPUEVOU1NMIn0KLSAgICA6ICR7R05VVExTX0NMSTo9ImdudXRscy1jbGkifQotICAgIDogJHtHTlVUTFNfU0VSVjo9ImdudXRscy1zZXJ2In0KLSAgICA6ICR7T1VUX09GX1NPVVJDRV9ESVI6PS4vbWJlZHRsc19vdXRfb2Zfc291cmNlX2J1aWxkfQotICAgIDogJHtBUk1DNV9CSU5fRElSOj0vdXNyL2Jpbn0KLSAgICA6ICR7QVJNQzZfQklOX0RJUjo9L3Vzci9iaW59Ci0gICAgOiAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWDo9YXJtLW5vbmUtZWFiaS19Ci0gICAgOiAke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVg6PWFybS1saW51eC1nbnVlYWJpLX0KLSAgICA6ICR7Q0xBTkdfTEFURVNUOj0iY2xhbmctbGF0ZXN0In0KLSAgICA6ICR7Q0xBTkdfRUFSTElFU1Q6PSJjbGFuZy1lYXJsaWVzdCJ9Ci0gICAgOiAke0dDQ19MQVRFU1Q6PSJnY2MtbGF0ZXN0In0KLSAgICA6ICR7R0NDX0VBUkxJRVNUOj0iZ2NjLWVhcmxpZXN0In0KLSAgICAjIGlmIE1BS0VGTEFHUyBpcyBub3Qgc2V0IGFkZCB0aGUgLWogb3B0aW9uIHRvIHNwZWVkIHVwIGludm9jYXRpb25zIG9mIG1ha2UKLSAgICBpZiBbIC16ICIke01BS0VGTEFHUytzZXR9IiBdOyB0aGVuCi0gICAgICAgIGV4cG9ydCBNQUtFRkxBR1M9Ii1qJChhbGxfc2hfbnByb2MpIgotICAgIGZpCi0gICAgIyBpZiBDQyBpcyBub3Qgc2V0LCB1c2UgY2xhbmcgYnkgZGVmYXVsdCAoaWYgcHJlc2VudCkgdG8gaW1wcm92ZSBidWlsZCB0aW1lcwotICAgIGlmIFsgLXogIiR7Q0Mrc2V0fSIgXSAmJiAodHlwZSBjbGFuZyA+IC9kZXYvbnVsbCAyPiYxKTsgdGhlbgotICAgICAgICBleHBvcnQgQ0M9ImNsYW5nIgotICAgIGZpCi0KLSAgICBpZiBbIC1uICIke09QRU5TU0xfMytzZXR9IiBdOyB0aGVuCi0gICAgICAgIGV4cG9ydCBPUEVOU1NMX05FWFQ9IiRPUEVOU1NMXzMiCi0gICAgZmkKLQotICAgICMgSW5jbHVkZSBtb3JlIHZlcmJvc2Ugb3V0cHV0IGZvciBmYWlsaW5nIHRlc3RzIHJ1biBieSBDTWFrZSBvciBtYWtlCi0gICAgZXhwb3J0IENURVNUX09VVFBVVF9PTl9GQUlMVVJFPTEKLQotICAgICMgQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBBc2FuIGJ1aWxkcyB0aGF0IGRvbid0IHVzZSBDTWFrZQotICAgICMgZGVmYXVsdCB0byAtTzIsIHVzZSAtT3ggX2FmdGVyXyB0aGlzIGlmIHlvdSB3YW50IGFub3RoZXIgbGV2ZWwKLSAgICBBU0FOX0NGTEFHUz0nLU8yIC1XZXJyb3IgLWZzYW5pdGl6ZT1hZGRyZXNzLHVuZGVmaW5lZCAtZm5vLXNhbml0aXplLXJlY292ZXI9YWxsJwotICAgICMgTm9ybWFsbHksIHRlc3RzIHNob3VsZCB1c2UgdGhpcyBjb21waWxlciBmb3IgQVNBTiB0ZXN0aW5nCi0gICAgQVNBTl9DQz1jbGFuZwotCi0gICAgIyBQbGF0Zm9ybSB0ZXN0cyBoYXZlIGFuIGFsbG9jYXRpb24gdGhhdCByZXR1cm5zIG51bGwKLSAgICBleHBvcnQgQVNBTl9PUFRJT05TPSJhbGxvY2F0b3JfbWF5X3JldHVybl9udWxsPTEiCi0gICAgZXhwb3J0IE1TQU5fT1BUSU9OUz0iYWxsb2NhdG9yX21heV9yZXR1cm5fbnVsbD0xIgotCi0gICAgIyBHYXRoZXIgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbXBvbmVudHMuIFRoZXNlIGFyZSB0aGUgZnVuY3Rpb25zCi0gICAgIyBkZWZpbmVkIGluIHRoaXMgc2NyaXB0IHdob3NlIG5hbWUgc3RhcnRzIHdpdGggImNvbXBvbmVudF8iLgotICAgIEFMTF9DT01QT05FTlRTPSQoY29tcGdlbiAtQSBmdW5jdGlvbiBjb21wb25lbnRfIHwgc2VkICdzL2NvbXBvbmVudF8vLycpCi0KLSAgICAjIERlbGF5IGRldGVybWluaW5nIFNVUFBPUlRFRF9DT01QT05FTlRTIHVudGlsIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBoYXZlIGEgY2hhbmNlIHRvIG92ZXJyaWRlCi0gICAgIyB0aGUgY29tbWFuZHMgc2V0IGJ5IHRoZSBlbnZpcm9ubWVudAotfQotCi1zZXR1cF9xdWlldF93cmFwcGVycygpCi17Ci0gICAgIyBQaWNrIHVwICJxdWlldCIgd3JhcHBlcnMgZm9yIG1ha2UgYW5kIGNtYWtlLCB3aGljaCBkb24ndCBvdXRwdXQgdmVyeSBtdWNoCi0gICAgIyB1bmxlc3MgdGhlcmUgaXMgYW4gZXJyb3IuIFRoaXMgcmVkdWNlcyBsb2dnaW5nIG92ZXJoZWFkIGluIHRoZSBDSS4KLSAgICAjCi0gICAgIyBOb3RlIHRoYXQgdGhlIGNtYWtlIHdyYXBwZXIgYnJlYWtzIHVubGVzcyB3ZSB1c2UgYW4gYWJzb2x1dGUgcGF0aCBoZXJlLgotICAgIGlmIFtbIC1lICR7UFdEfS90ZXN0cy9zY3JpcHRzL3F1aWV0IF1dOyB0aGVuCi0gICAgICAgIGV4cG9ydCBQQVRIPSR7UFdEfS90ZXN0cy9zY3JpcHRzL3F1aWV0OiRQQVRICi0gICAgZmkKLX0KLQotIyBUZXN0IHdoZXRoZXIgdGhlIGNvbXBvbmVudCAkMSBpcyBpbmNsdWRlZCBpbiB0aGUgY29tbWFuZCBsaW5lIHBhdHRlcm5zLgotaXNfY29tcG9uZW50X2luY2x1ZGVkKCkKLXsKLSAgICAjIFRlbXBvcmFyaWx5IGRpc2FibGUgd2lsZGNhcmQgZXhwYW5zaW9uIHNvIHRoYXQgJENPTU1BTkRfTElORV9DT01QT05FTlRTCi0gICAgIyBvbmx5IGRvZXMgd29yZCBzcGxpdHRpbmcuCi0gICAgc2V0IC1mCi0gICAgZm9yIHBhdHRlcm4gaW4gJENPTU1BTkRfTElORV9DT01QT05FTlRTOyBkbwotICAgICAgICBzZXQgK2YKLSAgICAgICAgY2FzZSAkezEjY29tcG9uZW50X30gaW4gJHBhdHRlcm4pIHJldHVybiAwOzsgZXNhYwotICAgIGRvbmUKLSAgICBzZXQgK2YKLSAgICByZXR1cm4gMQotfQotCi11c2FnZSgpCi17Ci0gICAgY2F0IDw8RU9GCi1Vc2FnZTogJDAgW09QVElPTl0uLi4gW0NPTVBPTkVOVF0uLi4KLVJ1biBtYmVkdGxzIHJlbGVhc2UgdmFsaWRhdGlvbiB0ZXN0cy4KLUJ5IGRlZmF1bHQsIHJ1biBhbGwgdGVzdHMuIFdpdGggb25lIG9yIG1vcmUgQ09NUE9ORU5ULCBydW4gb25seSB0aG9zZS4KLUNPTVBPTkVOVCBjYW4gYmUgdGhlIG5hbWUgb2YgYSBjb21wb25lbnQgb3IgYSBzaGVsbCB3aWxkY2FyZCBwYXR0ZXJuLgotCi1FeGFtcGxlczoKLSAgJDAgImNoZWNrXyoiCi0gICAgUnVuIGFsbCBzYW5pdHkgY2hlY2tzLgotICAkMCAtLW5vLWFybWNjIC0tZXhjZXB0IHRlc3RfbWVtc2FuCi0gICAgUnVuIGV2ZXJ5dGhpbmcgZXhjZXB0IGJ1aWxkcyB0aGF0IHJlcXVpcmUgYXJtY2MgYW5kIE1lbVNhbi4KLQotU3BlY2lhbCBvcHRpb25zOgotICAtaHwtLWhlbHAgICAgICAgICAgICAgUHJpbnQgdGhpcyBoZWxwIGFuZCBleGl0LgotICAtLWxpc3QtYWxsLWNvbXBvbmVudHMgTGlzdCBhbGwgYXZhaWxhYmxlIHRlc3QgY29tcG9uZW50cyBhbmQgZXhpdC4KLSAgLS1saXN0LWNvbXBvbmVudHMgICAgIExpc3QgY29tcG9uZW50cyBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybSBhbmQgZXhpdC4KLQotR2VuZXJhbCBvcHRpb25zOgotICAtcXwtLXF1aWV0ICAgICAgICAgICAgT25seSBvdXRwdXQgY29tcG9uZW50IG5hbWVzLCBhbmQgZXJyb3JzIGlmIGFueS4KLSAgLWZ8LS1mb3JjZSAgICAgICAgICAgIEZvcmNlIHRoZSB0ZXN0cyB0byBvdmVyd3JpdGUgYW55IG1vZGlmaWVkIGZpbGVzLgotICAta3wtLWtlZXAtZ29pbmcgICAgICAgUnVuIGFsbCB0ZXN0cyBhbmQgcmVwb3J0IGVycm9ycyBhdCB0aGUgZW5kLgotICAtbXwtLW1lbW9yeSAgICAgICAgICAgQWRkaXRpb25hbCBvcHRpb25hbCBtZW1vcnkgdGVzdHMuCi0gICAgIC0tYXBwZW5kLW91dGNvbWUgICBBcHBlbmQgdG8gdGhlIG91dGNvbWUgZmlsZSAoaWYgdXNlZCkuCi0gICAgIC0tYXJtLW5vbmUtZWFiaS1nY2MtcHJlZml4PTxzdHJpbmc+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQcmVmaXggZm9yIGEgY3Jvc3MtY29tcGlsZXIgZm9yIGFybS1ub25lLWVhYmkKLSAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiAiJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9IikKLSAgICAgLS1hcm0tbGludXgtZ251ZWFiaS1nY2MtcHJlZml4PTxzdHJpbmc+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQcmVmaXggZm9yIGEgY3Jvc3MtY29tcGlsZXIgZm9yIGFybS1saW51eC1nbnVlYWJpCi0gICAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDogIiR7QVJNX0xJTlVYX0dOVUVBQklfR0NDX1BSRUZJWH0iKQotICAgICAtLWFybWNjICAgICAgICAgICAgUnVuIEFSTSBDb21waWxlciBidWlsZHMgKG9uIGJ5IGRlZmF1bHQpLgotICAgICAtLXJlc3RvcmUgICAgICAgICAgRmlyc3QgY2xlYW4gdXAgdGhlIGJ1aWxkIHRyZWUsIHJlc3RvcmluZyBiYWNrZWQgdXAKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzLiBEbyBub3QgcnVuIGFueSBjb21wb25lbnRzIHVubGVzcyB0aGV5IGFyZQotICAgICAgICAgICAgICAgICAgICAgICAgZXhwbGljaXRseSBzcGVjaWZpZWQuCi0gICAgIC0tZXJyb3ItdGVzdCAgICAgICBFcnJvciB0ZXN0IG1vZGU6IHJ1biBhIGZhaWxpbmcgZnVuY3Rpb24gaW4gYWRkaXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgIHRvIGFueSBzcGVjaWZpZWQgY29tcG9uZW50LiBNYXkgYmUgcmVwZWF0ZWQuCi0gICAgIC0tZXhjZXB0ICAgICAgICAgICBFeGNsdWRlIHRoZSBDT01QT05FTlRzIGxpc3RlZCBvbiB0aGUgY29tbWFuZCBsaW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiBydW5uaW5nIG9ubHkgdGhvc2UuCi0gICAgIC0tbm8tYXBwZW5kLW91dGNvbWUgICAgV3JpdGUgYSBuZXcgb3V0Y29tZSBmaWxlIGFuZCBhbmFseXplIGl0IChkZWZhdWx0KS4KLSAgICAgLS1uby1hcm1jYyAgICAgICAgIFNraXAgQVJNIENvbXBpbGVyIGJ1aWxkcy4KLSAgICAgLS1uby1mb3JjZSAgICAgICAgIFJlZnVzZSB0byBvdmVyd3JpdGUgbW9kaWZpZWQgZmlsZXMgKGRlZmF1bHQpLgotICAgICAtLW5vLWtlZXAtZ29pbmcgICAgU3RvcCBhdCB0aGUgZmlyc3QgZXJyb3IgKGRlZmF1bHQpLgotICAgICAtLW5vLW1lbW9yeSAgICAgICAgTm8gYWRkaXRpb25hbCBtZW1vcnkgdGVzdHMgKGRlZmF1bHQpLgotICAgICAtLW5vLXF1aWV0ICAgICAgICAgUHJpbnQgZnVsbCBvdXRwdXQgZnJvbSBjb21wb25lbnRzLgotICAgICAtLW91dC1vZi1zb3VyY2UtZGlyPTxwYXRoPiAgRGlyZWN0b3J5IHVzZWQgZm9yIENNYWtlIG91dC1vZi1zb3VyY2UgYnVpbGQgdGVzdHMuCi0gICAgIC0tb3V0Y29tZS1maWxlPTxwYXRoPiAgRmlsZSB3aGVyZSB0ZXN0IG91dGNvbWVzIGFyZSB3cml0dGVuIChub3QgZG9uZSBpZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5OyBkZWZhdWx0OiBcJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUpLgotICAgICAtLXJhbmRvbS1zZWVkICAgICAgVXNlIGEgcmFuZG9tIHNlZWQgdmFsdWUgZm9yIHJhbmRvbWl6ZWQgdGVzdHMgKGRlZmF1bHQpLgotICAtcnwtLXJlbGVhc2UtdGVzdCAgICAgUnVuIHRoaXMgc2NyaXB0IGluIHJlbGVhc2UgbW9kZS4gVGhpcyBmaXhlcyB0aGUgc2VlZCB2YWx1ZSB0byAke1JFTEVBU0VfU0VFRH0uCi0gIC1zfC0tc2VlZCAgICAgICAgICAgICBJbnRlZ2VyIHNlZWQgdmFsdWUgdG8gdXNlIGZvciB0aGlzIHRlc3QgcnVuLgotCi1Ub29sIHBhdGggb3B0aW9uczoKLSAgICAgLS1hcm1jNS1iaW4tZGlyPTxBUk1DNV9iaW5fZGlyX3BhdGg+ICAgICAgIEFSTSBDb21waWxlciA1IGJpbiBkaXJlY3RvcnkuCi0gICAgIC0tYXJtYzYtYmluLWRpcj08QVJNQzZfYmluX2Rpcl9wYXRoPiAgICAgICBBUk0gQ29tcGlsZXIgNiBiaW4gZGlyZWN0b3J5LgotICAgICAtLWNsYW5nLWVhcmxpZXN0PTxDbGFuZ19lYXJsaWVzdF9wYXRoPiAgICAgRWFybGllc3QgdmVyc2lvbiBvZiBjbGFuZyBhdmFpbGFibGUKLSAgICAgLS1jbGFuZy1sYXRlc3Q9PENsYW5nX2xhdGVzdF9wYXRoPiAgICAgICAgIExhdGVzdCB2ZXJzaW9uIG9mIGNsYW5nIGF2YWlsYWJsZQotICAgICAtLWdjYy1lYXJsaWVzdD08R0NDX2VhcmxpZXN0X3BhdGg+ICAgICAgICAgRWFybGllc3QgdmVyc2lvbiBvZiBHQ0MgYXZhaWxhYmxlCi0gICAgIC0tZ2NjLWxhdGVzdD08R0NDX2xhdGVzdF9wYXRoPiAgICAgICAgICAgICBMYXRlc3QgdmVyc2lvbiBvZiBHQ0MgYXZhaWxhYmxlCi0gICAgIC0tZ251dGxzLWNsaT08R251VExTX2NsaV9wYXRoPiAgICAgICAgICAgICBHbnVUTFMgY2xpZW50IGV4ZWN1dGFibGUgdG8gdXNlIGZvciBtb3N0IHRlc3RzLgotICAgICAtLWdudXRscy1zZXJ2PTxHbnVUTFNfc2Vydl9wYXRoPiAgICAgICAgICAgR251VExTIHNlcnZlciBleGVjdXRhYmxlIHRvIHVzZSBmb3IgbW9zdCB0ZXN0cy4KLSAgICAgLS1vcGVuc3NsPTxPcGVuU1NMX3BhdGg+ICAgICAgICAgICAgICAgICAgIE9wZW5TU0wgZXhlY3V0YWJsZSB0byB1c2UgZm9yIG1vc3QgdGVzdHMuCi0gICAgIC0tb3BlbnNzbC1uZXh0PTxPcGVuU1NMX3BhdGg+ICAgICAgICAgICAgICBPcGVuU1NMIGV4ZWN1dGFibGUgdG8gdXNlIGZvciByZWNlbnQgdGhpbmdzIGxpa2UgQVJJQQotRU9GCi19Ci0KLSMgQ2xlYW51cCBiZWZvcmUvYWZ0ZXIgcnVubmluZyBhIGNvbXBvbmVudC4KLSMgUmVtb3ZlIGJ1aWx0IGZpbGVzIGFzIHdlbGwgYXMgdGhlIGNtYWtlIGNhY2hlL2NvbmZpZy4KLSMgRG9lcyBub3QgcmVtb3ZlIGdlbmVyYXRlZCBzb3VyY2UgZmlsZXMuCi1jbGVhbnVwKCkKLXsKLSAgICBpZiBpbl9tYmVkdGxzX3JlcG87IHRoZW4KLSAgICAgICAgY29tbWFuZCBtYWtlIGNsZWFuCi0gICAgZmkKLQotICAgICMgUmVtb3ZlIENNYWtlIGFydGVmYWN0cwotICAgIGZpbmQgLiAtbmFtZSAuZ2l0IC1wcnVuZSAtbyBcCi0gICAgICAgICAgIC1pbmFtZSBDTWFrZUZpbGVzIC1leGVjIHJtIC1yZiB7fSBcKyAtbyBcCi0gICAgICAgICAgIFwoIC1pbmFtZSBjbWFrZV9pbnN0YWxsLmNtYWtlIC1vIFwKLSAgICAgICAgICAgICAgLWluYW1lIENUZXN0VGVzdGZpbGUuY21ha2UgLW8gXAotICAgICAgICAgICAgICAtaW5hbWUgQ01ha2VDYWNoZS50eHQgLW8gXAotICAgICAgICAgICAgICAtcGF0aCAnLi9jbWFrZS8qLmNtYWtlJyBcKSAtZXhlYyBybSAtZiB7fSBcKwotICAgICMgUmVjb3ZlciBmaWxlcyBvdmVyd3JpdHRlbiBieSBpbi10cmVlIENNYWtlIGJ1aWxkcwotICAgIHJtIC1mIGluY2x1ZGUvTWFrZWZpbGUgaW5jbHVkZS9tYmVkdGxzL01ha2VmaWxlIHByb2dyYW1zLyEoZnV6eikvTWFrZWZpbGUKLQotICAgICMgUmVtb3ZlIGFueSBhcnRpZmFjdHMgZnJvbSB0aGUgY29tcG9uZW50X3Rlc3RfY21ha2VfYXNfc3ViZGlyZWN0b3J5IHRlc3QuCi0gICAgcm0gLXJmIHByb2dyYW1zL3Rlc3QvY21ha2Vfc3VicHJvamVjdC9idWlsZAotICAgIHJtIC1mIHByb2dyYW1zL3Rlc3QvY21ha2Vfc3VicHJvamVjdC9NYWtlZmlsZQotICAgIHJtIC1mIHByb2dyYW1zL3Rlc3QvY21ha2Vfc3VicHJvamVjdC9jbWFrZV9zdWJwcm9qZWN0Ci0KLSAgICAjIFJlbW92ZSBhbnkgYXJ0aWZhY3RzIGZyb20gdGhlIGNvbXBvbmVudF90ZXN0X2NtYWtlX2FzX3BhY2thZ2UgdGVzdC4KLSAgICBybSAtcmYgcHJvZ3JhbXMvdGVzdC9jbWFrZV9wYWNrYWdlL2J1aWxkCi0gICAgcm0gLWYgcHJvZ3JhbXMvdGVzdC9jbWFrZV9wYWNrYWdlL01ha2VmaWxlCi0gICAgcm0gLWYgcHJvZ3JhbXMvdGVzdC9jbWFrZV9wYWNrYWdlL2NtYWtlX3BhY2thZ2UKLQotICAgICMgUmVtb3ZlIGFueSBhcnRpZmFjdHMgZnJvbSB0aGUgY29tcG9uZW50X3Rlc3RfY21ha2VfYXNfaW5zdGFsbGVkX3BhY2thZ2UgdGVzdC4KLSAgICBybSAtcmYgcHJvZ3JhbXMvdGVzdC9jbWFrZV9wYWNrYWdlX2luc3RhbGwvYnVpbGQKLSAgICBybSAtZiBwcm9ncmFtcy90ZXN0L2NtYWtlX3BhY2thZ2VfaW5zdGFsbC9NYWtlZmlsZQotICAgIHJtIC1mIHByb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZV9pbnN0YWxsL2NtYWtlX3BhY2thZ2VfaW5zdGFsbAotCi0gICAgIyBSZXN0b3JlIGZpbGVzIHRoYXQgbWF5IGhhdmUgYmVlbiBjbG9iYmVyZWQgYnkgdGhlIGpvYgotICAgIGZvciB4IGluICRmaWxlc190b19iYWNrX3VwOyBkbwotICAgICAgICBpZiBbWyAtZSAiJHgkYmFja3VwX3N1ZmZpeCIgXV07IHRoZW4KLSAgICAgICAgICAgIGNwIC1wICIkeCRiYWNrdXBfc3VmZml4IiAiJHgiCi0gICAgICAgIGZpCi0gICAgZG9uZQotfQotCi0jIEZpbmFsIGNsZWFudXAgd2hlbiB0aGlzIHNjcmlwdCBleGl0cyAoZXhjZXB0IHdoZW4gZXhpdGluZyBvbiBhIGZhaWx1cmUKLSMgaW4gbm9uLWtlZXAtZ29pbmcgbW9kZSkuCi1maW5hbF9jbGVhbnVwICgpIHsKLSAgICBjbGVhbnVwCi0KLSAgICBmb3IgeCBpbiAkZmlsZXNfdG9fYmFja191cDsgZG8KLSAgICAgICAgcm0gLWYgIiR4JGJhY2t1cF9zdWZmaXgiCi0gICAgZG9uZQotfQotCi0jIEV4ZWN1dGVkIG9uIGV4aXQuIE1heSBiZSByZWRlZmluZWQgZGVwZW5kaW5nIG9uIGNvbW1hbmQgbGluZSBvcHRpb25zLgotZmluYWxfcmVwb3J0ICgpIHsKLSAgICA6Ci19Ci0KLWZhdGFsX3NpZ25hbCAoKSB7Ci0gICAgZmluYWxfY2xlYW51cAotICAgIGZpbmFsX3JlcG9ydCAkMQotICAgIHRyYXAgLSAkMQotICAgIGtpbGwgLSQxICQkCi19Ci0KLXRyYXAgJ2ZhdGFsX3NpZ25hbCBIVVAnIEhVUAotdHJhcCAnZmF0YWxfc2lnbmFsIElOVCcgSU5UCi10cmFwICdmYXRhbF9zaWduYWwgVEVSTScgVEVSTQotCi0jIE51bWJlciBvZiBwcm9jZXNzb3JzIG9uIHRoaXMgbWFjaGluZS4gVXNlZCBhcyB0aGUgZGVmYXVsdCBzZXR0aW5nCi0jIGZvciBwYXJhbGxlbCBtYWtlLgotYWxsX3NoX25wcm9jICgpCi17Ci0gICAgewotICAgICAgICBucHJvYyB8fCAjIExpbnV4Ci0gICAgICAgIHN5c2N0bCAtbiBody5uY3B1b25saW5lIHx8ICMgTmV0QlNELCBPcGVuQlNECi0gICAgICAgIHN5c2N0bCAtbiBody5uY3B1IHx8ICMgRnJlZUJTRAotICAgICAgICBlY2hvIDEKLSAgICB9IDI+L2Rldi9udWxsCi19Ci0KLW1zZygpCi17Ci0gICAgaWYgWyAtbiAiJHtjdXJyZW50X2NvbXBvbmVudDotfSIgXTsgdGhlbgotICAgICAgICBjdXJyZW50X3NlY3Rpb249IiR7Y3VycmVudF9jb21wb25lbnQjY29tcG9uZW50X306ICQxIgotICAgIGVsc2UKLSAgICAgICAgY3VycmVudF9zZWN0aW9uPSIkMSIKLSAgICBmaQotCi0gICAgaWYgWyAkUVVJRVQgLWVxIDEgXTsgdGhlbgotICAgICAgICByZXR1cm4KLSAgICBmaQotCi0gICAgZWNobyAiIgotICAgIGVjaG8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIKLSAgICBlY2hvICIqICRjdXJyZW50X3NlY3Rpb24gIgotICAgIHByaW50ZiAiKiAiOyBkYXRlCi0gICAgZWNobyAiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIgotfQotCi1hcm1jNl9idWlsZF90ZXN0KCkKLXsKLSAgICBGTEFHUz0iJDEiCi0KLSAgICBtc2cgImJ1aWxkOiBBUk0gQ29tcGlsZXIgNiAoJEZMQUdTKSIKLSAgICBtYWtlIGNsZWFuCi0gICAgQVJNX1RPT0xfVkFSSUFOVD0idWx0IiBDQz0iJEFSTUM2X0NDIiBBUj0iJEFSTUM2X0FSIiBDRkxBR1M9IiRGTEFHUyIgXAotICAgICAgICAgICAgICAgICAgICBXQVJOSU5HX0NGTEFHUz0nLVdlcnJvciAteGMgLXN0ZD1jOTknIG1ha2UgbGliCi0KLSAgICBtc2cgInNpemU6IEFSTSBDb21waWxlciA2ICgkRkxBR1MpIgotICAgICIkQVJNQzZfRlJPTUVMRiIgLXogbGlicmFyeS8qLm8KLX0KLQotZXJyX21zZygpCi17Ci0gICAgZWNobyAiJDEiID4mMgotfQotCi1jaGVja190b29scygpCi17Ci0gICAgZm9yIHRvb2wgaW4gIiRAIjsgZG8KLSAgICAgICAgaWYgISBgdHlwZSAiJHRvb2wiID4vZGV2L251bGwgMj4mMWA7IHRoZW4KLSAgICAgICAgICAgIGVycl9tc2cgIiR0b29sIG5vdCBmb3VuZCEiCi0gICAgICAgICAgICBleGl0IDEKLSAgICAgICAgZmkKLSAgICBkb25lCi19Ci0KLXByZV9wYXJzZV9jb21tYW5kX2xpbmUgKCkgewotICAgIENPTU1BTkRfTElORV9DT01QT05FTlRTPQotICAgIGFsbF9leGNlcHQ9MAotICAgIGVycm9yX3Rlc3Q9MAotICAgIGxpc3RfY29tcG9uZW50cz0wCi0gICAgcmVzdG9yZV9maXJzdD0wCi0gICAgbm9fYXJtY2M9Ci0KLSAgICAjIE5vdGUgdGhhdCBsZWdhY3kgb3B0aW9ucyBhcmUgaWdub3JlZCBpbnN0ZWFkIG9mIGJlaW5nIG9taXR0ZWQgZnJvbSB0aGlzCi0gICAgIyBsaXN0IG9mIG9wdGlvbnMsIHNvIGludm9jYXRpb25zIHRoYXQgd29ya2VkIHdpdGggcHJldmlvdXMgdmVyc2lvbiBvZgotICAgICMgYWxsLnNoIHdpbGwgc3RpbGwgcnVuIGFuZCB3b3JrIHByb3Blcmx5LgotICAgIHdoaWxlIFsgJCMgLWd0IDAgXTsgZG8KLSAgICAgICAgY2FzZSAiJDEiIGluCi0gICAgICAgICAgICAtLWFwcGVuZC1vdXRjb21lKSBhcHBlbmRfb3V0Y29tZT0xOzsKLSAgICAgICAgICAgIC0tYXJtLW5vbmUtZWFiaS1nY2MtcHJlZml4KSBzaGlmdDsgQVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYPSIkMSI7OwotICAgICAgICAgICAgLS1hcm0tbGludXgtZ251ZWFiaS1nY2MtcHJlZml4KSBzaGlmdDsgQVJNX0xJTlVYX0dOVUVBQklfR0NDX1BSRUZJWD0iJDEiOzsKLSAgICAgICAgICAgIC0tYXJtY2MpIG5vX2FybWNjPTs7Ci0gICAgICAgICAgICAtLWFybWM1LWJpbi1kaXIpIHNoaWZ0OyBBUk1DNV9CSU5fRElSPSIkMSI7OwotICAgICAgICAgICAgLS1hcm1jNi1iaW4tZGlyKSBzaGlmdDsgQVJNQzZfQklOX0RJUj0iJDEiOzsKLSAgICAgICAgICAgIC0tY2xhbmctZWFybGllc3QpIHNoaWZ0OyBDTEFOR19FQVJMSUVTVD0iJDEiOzsKLSAgICAgICAgICAgIC0tY2xhbmctbGF0ZXN0KSBzaGlmdDsgQ0xBTkdfTEFURVNUPSIkMSI7OwotICAgICAgICAgICAgLS1lcnJvci10ZXN0KSBlcnJvcl90ZXN0PSQoKGVycm9yX3Rlc3QgKyAxKSk7OwotICAgICAgICAgICAgLS1leGNlcHQpIGFsbF9leGNlcHQ9MTs7Ci0gICAgICAgICAgICAtLWZvcmNlfC1mKSBGT1JDRT0xOzsKLSAgICAgICAgICAgIC0tZ2NjLWVhcmxpZXN0KSBzaGlmdDsgR0NDX0VBUkxJRVNUPSIkMSI7OwotICAgICAgICAgICAgLS1nY2MtbGF0ZXN0KSBzaGlmdDsgR0NDX0xBVEVTVD0iJDEiOzsKLSAgICAgICAgICAgIC0tZ251dGxzLWNsaSkgc2hpZnQ7IEdOVVRMU19DTEk9IiQxIjs7Ci0gICAgICAgICAgICAtLWdudXRscy1sZWdhY3ktY2xpKSBzaGlmdDs7ICMgaWdub3JlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQotICAgICAgICAgICAgLS1nbnV0bHMtbGVnYWN5LXNlcnYpIHNoaWZ0OzsgIyBpZ25vcmVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5Ci0gICAgICAgICAgICAtLWdudXRscy1zZXJ2KSBzaGlmdDsgR05VVExTX1NFUlY9IiQxIjs7Ci0gICAgICAgICAgICAtLWhlbHB8LWgpIHVzYWdlOyBleGl0OzsKLSAgICAgICAgICAgIC0ta2VlcC1nb2luZ3wtaykgS0VFUF9HT0lORz0xOzsKLSAgICAgICAgICAgIC0tbGlzdC1hbGwtY29tcG9uZW50cykgcHJpbnRmICclc1xuJyAkQUxMX0NPTVBPTkVOVFM7IGV4aXQ7OwotICAgICAgICAgICAgLS1saXN0LWNvbXBvbmVudHMpIGxpc3RfY29tcG9uZW50cz0xOzsKLSAgICAgICAgICAgIC0tbWVtb3J5fC1tKSBNRU1PUlk9MTs7Ci0gICAgICAgICAgICAtLW5vLWFwcGVuZC1vdXRjb21lKSBhcHBlbmRfb3V0Y29tZT0wOzsKLSAgICAgICAgICAgIC0tbm8tYXJtY2MpIG5vX2FybWNjPTE7OwotICAgICAgICAgICAgLS1uby1mb3JjZSkgRk9SQ0U9MDs7Ci0gICAgICAgICAgICAtLW5vLWtlZXAtZ29pbmcpIEtFRVBfR09JTkc9MDs7Ci0gICAgICAgICAgICAtLW5vLW1lbW9yeSkgTUVNT1JZPTA7OwotICAgICAgICAgICAgLS1uby1xdWlldCkgUVVJRVQ9MDs7Ci0gICAgICAgICAgICAtLW9wZW5zc2wpIHNoaWZ0OyBPUEVOU1NMPSIkMSI7OwotICAgICAgICAgICAgLS1vcGVuc3NsLW5leHQpIHNoaWZ0OyBPUEVOU1NMX05FWFQ9IiQxIjs7Ci0gICAgICAgICAgICAtLW91dGNvbWUtZmlsZSkgc2hpZnQ7IE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEU9IiQxIjs7Ci0gICAgICAgICAgICAtLW91dC1vZi1zb3VyY2UtZGlyKSBzaGlmdDsgT1VUX09GX1NPVVJDRV9ESVI9IiQxIjs7Ci0gICAgICAgICAgICAtLXF1aWV0fC1xKSBRVUlFVD0xOzsKLSAgICAgICAgICAgIC0tcmFuZG9tLXNlZWQpIHVuc2V0IFNFRUQ7OwotICAgICAgICAgICAgLS1yZWxlYXNlLXRlc3R8LXIpIFNFRUQ9JFJFTEVBU0VfU0VFRDs7Ci0gICAgICAgICAgICAtLXJlc3RvcmUpIHJlc3RvcmVfZmlyc3Q9MTs7Ci0gICAgICAgICAgICAtLXNlZWR8LXMpIHNoaWZ0OyBTRUVEPSIkMSI7OwotICAgICAgICAgICAgLSopCi0gICAgICAgICAgICAgICAgZWNobyA+JjIgIlVua25vd24gb3B0aW9uOiAkMSIKLSAgICAgICAgICAgICAgICBlY2hvID4mMiAiUnVuICQwIC0taGVscCBmb3IgdXNhZ2UuIgotICAgICAgICAgICAgICAgIGV4aXQgMTIwCi0gICAgICAgICAgICAgICAgOzsKLSAgICAgICAgICAgICopIENPTU1BTkRfTElORV9DT01QT05FTlRTPSIkQ09NTUFORF9MSU5FX0NPTVBPTkVOVFMgJDEiOzsKLSAgICAgICAgZXNhYwotICAgICAgICBzaGlmdAotICAgIGRvbmUKLQotICAgICMgRXhjbHVkZSBjb21wb25lbnRzIHRoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4KLSAgICBTVVBQT1JURURfQ09NUE9ORU5UUz0KLSAgICBmb3IgY29tcG9uZW50IGluICRBTExfQ09NUE9ORU5UUzsgZG8KLSAgICAgICAgY2FzZSAkKHR5cGUgInN1cHBvcnRfJGNvbXBvbmVudCIgMj4mMSkgaW4KLSAgICAgICAgICAgIConIGZ1bmN0aW9uJyopCi0gICAgICAgICAgICAgICAgaWYgISBzdXBwb3J0XyRjb21wb25lbnQ7IHRoZW4gY29udGludWU7IGZpOzsKLSAgICAgICAgZXNhYwotICAgICAgICBTVVBQT1JURURfQ09NUE9ORU5UUz0iJFNVUFBPUlRFRF9DT01QT05FTlRTICRjb21wb25lbnQiCi0gICAgZG9uZQotCi0gICAgaWYgWyAkbGlzdF9jb21wb25lbnRzIC1lcSAxIF07IHRoZW4KLSAgICAgICAgcHJpbnRmICclc1xuJyAkU1VQUE9SVEVEX0NPTVBPTkVOVFMKLSAgICAgICAgZXhpdAotICAgIGZpCi0KLSAgICAjIFdpdGggbm8gbGlzdCBvZiBjb21wb25lbnRzLCBydW4gZXZlcnl0aGluZy4KLSAgICBpZiBbIC16ICIkQ09NTUFORF9MSU5FX0NPTVBPTkVOVFMiIF0gJiYgWyAkcmVzdG9yZV9maXJzdCAtZXEgMCBdOyB0aGVuCi0gICAgICAgIGFsbF9leGNlcHQ9MQotICAgIGZpCi0KLSAgICAjIC0tbm8tYXJtY2MgaXMgYSBsZWdhY3kgb3B0aW9uLiBUaGUgbW9kZXJuIHdheSBpcyAtLWV4Y2VwdCAnKl9hcm1jYyonLgotICAgICMgSWdub3JlIGl0IGlmIGNvbXBvbmVudHMgYXJlIGxpc3RlZCBleHBsaWNpdGx5IG9uIHRoZSBjb21tYW5kIGxpbmUuCi0gICAgaWYgWyAtbiAiJG5vX2FybWNjIiBdICYmIFsgJGFsbF9leGNlcHQgLWVxIDEgXTsgdGhlbgotICAgICAgICBDT01NQU5EX0xJTkVfQ09NUE9ORU5UUz0iJENPTU1BTkRfTElORV9DT01QT05FTlRTICpfYXJtY2MqIgotICAgIGZpCi0KLSAgICAjIEVycm9yIG91dCBpZiBhbiBleHBsaWNpdGx5IHJlcXVlc3RlZCBjb21wb25lbnQgZG9lc24ndCBleGlzdC4KLSAgICBpZiBbICRhbGxfZXhjZXB0IC1lcSAwIF07IHRoZW4KLSAgICAgICAgdW5zdXBwb3J0ZWQ9MAotICAgICAgICAjIFRlbXBvcmFyaWx5IGRpc2FibGUgd2lsZGNhcmQgZXhwYW5zaW9uIHNvIHRoYXQgJENPTU1BTkRfTElORV9DT01QT05FTlRTCi0gICAgICAgICMgb25seSBkb2VzIHdvcmQgc3BsaXR0aW5nLgotICAgICAgICBzZXQgLWYKLSAgICAgICAgZm9yIGNvbXBvbmVudCBpbiAkQ09NTUFORF9MSU5FX0NPTVBPTkVOVFM7IGRvCi0gICAgICAgICAgICBzZXQgK2YKLSAgICAgICAgICAgICMgSWYgdGhlIHJlcXVlc3RlZCBuYW1lIGluY2x1ZGVzIGEgd2lsZGNhcmQgY2hhcmFjdGVyLCBkb24ndAotICAgICAgICAgICAgIyBjaGVjayBpdC4gQWNjZXB0IHdpbGRjYXJkIHBhdHRlcm5zIHRoYXQgZG9uJ3QgbWF0Y2ggYW55dGhpbmcuCi0gICAgICAgICAgICBjYXNlICRjb21wb25lbnQgaW4KLSAgICAgICAgICAgICAgICAqWyo/XFtdKikgY29udGludWU7OwotICAgICAgICAgICAgZXNhYwotICAgICAgICAgICAgY2FzZSAiICRTVVBQT1JURURfQ09NUE9ORU5UUyAiIGluCi0gICAgICAgICAgICAgICAgKiIgJGNvbXBvbmVudCAiKikgOjs7Ci0gICAgICAgICAgICAgICAgKikKLSAgICAgICAgICAgICAgICAgICAgZWNobyA+JjIgIkNvbXBvbmVudCAkY29tcG9uZW50IHdhcyBleHBsaWNpdGx5IHJlcXVlc3RlZCwgYnV0IGlzIG5vdCBrbm93biBvciBub3Qgc3VwcG9ydGVkLiIKLSAgICAgICAgICAgICAgICAgICAgdW5zdXBwb3J0ZWQ9JCgodW5zdXBwb3J0ZWQgKyAxKSk7OwotICAgICAgICAgICAgZXNhYwotICAgICAgICBkb25lCi0gICAgICAgIHNldCArZgotICAgICAgICBpZiBbICR1bnN1cHBvcnRlZCAtbmUgMCBdOyB0aGVuCi0gICAgICAgICAgICBleGl0IDIKLSAgICAgICAgZmkKLSAgICBmaQotCi0gICAgIyBCdWlsZCB0aGUgbGlzdCBvZiBjb21wb25lbnRzIHRvIHJ1bi4KLSAgICBSVU5fQ09NUE9ORU5UUz0KLSAgICBmb3IgY29tcG9uZW50IGluICRTVVBQT1JURURfQ09NUE9ORU5UUzsgZG8KLSAgICAgICAgaWYgaXNfY29tcG9uZW50X2luY2x1ZGVkICIkY29tcG9uZW50IjsgWyAkPyAtZXEgJGFsbF9leGNlcHQgXTsgdGhlbgotICAgICAgICAgICAgUlVOX0NPTVBPTkVOVFM9IiRSVU5fQ09NUE9ORU5UUyAkY29tcG9uZW50IgotICAgICAgICBmaQotICAgIGRvbmUKLQotICAgIHVuc2V0IGFsbF9leGNlcHQKLSAgICB1bnNldCBub19hcm1jYwotfQotCi1wcmVfY2hlY2tfZ2l0ICgpIHsKLSAgICBpZiBbICRGT1JDRSAtZXEgMSBdOyB0aGVuCi0gICAgICAgIHJtIC1yZiAiJE9VVF9PRl9TT1VSQ0VfRElSIgotICAgICAgICBnaXQgY2hlY2tvdXQtaW5kZXggLWYgLXEgJENPTkZJR19ICi0gICAgICAgIGNsZWFudXAKLSAgICBlbHNlCi0KLSAgICAgICAgaWYgWyAtZCAiJE9VVF9PRl9TT1VSQ0VfRElSIiBdOyB0aGVuCi0gICAgICAgICAgICBlY2hvICJXYXJuaW5nIC0gdGhlcmUgaXMgYW4gZXhpc3RpbmcgZGlyZWN0b3J5IGF0ICckT1VUX09GX1NPVVJDRV9ESVInIiA+JjIKLSAgICAgICAgICAgIGVjaG8gIllvdSBjYW4gZWl0aGVyIGRlbGV0ZSB0aGlzIGRpcmVjdG9yeSBtYW51YWxseSwgb3IgZm9yY2UgdGhlIHRlc3QgYnkgcmVydW5uaW5nIgotICAgICAgICAgICAgZWNobyAidGhlIHNjcmlwdCBhczogJDAgLS1mb3JjZSAtLW91dC1vZi1zb3VyY2UtZGlyICRPVVRfT0ZfU09VUkNFX0RJUiIKLSAgICAgICAgICAgIGV4aXQgMQotICAgICAgICBmaQotCi0gICAgICAgIGlmICEgZ2l0IGRpZmYgLS1xdWlldCAiJENPTkZJR19IIjsgdGhlbgotICAgICAgICAgICAgZXJyX21zZyAiV2FybmluZyAtIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgJyRDT05GSUdfSCcgaGFzIGJlZW4gZWRpdGVkLiAiCi0gICAgICAgICAgICBlY2hvICJZb3UgY2FuIGVpdGhlciBkZWxldGUgb3IgcHJlc2VydmUgeW91ciB3b3JrLCBvciBmb3JjZSB0aGUgdGVzdCBieSByZXJ1bm5pbmcgdGhlIgotICAgICAgICAgICAgZWNobyAic2NyaXB0IGFzOiAkMCAtLWZvcmNlIgotICAgICAgICAgICAgZXhpdCAxCi0gICAgICAgIGZpCi0gICAgZmkKLX0KLQotcHJlX3Jlc3RvcmVfZmlsZXMgKCkgewotICAgICMgSWYgdGhlIG1ha2VmaWxlcyBoYXZlIGJlZW4gZ2VuZXJhdGVkIGJ5IGEgZnJhbWV3b3JrIHN1Y2ggYXMgY21ha2UsCi0gICAgIyByZXN0b3JlIHRoZW0gZnJvbSBnaXQuIElmIHRoZSBtYWtlZmlsZXMgbG9vayBsaWtlIG1vZGlmaWNhdGlvbnMgZnJvbQotICAgICMgdGhlIG9uZXMgY2hlY2tlZCBpbnRvIGdpdCwgdGFrZSBjYXJlIG5vdCB0byBtb2RpZnkgdGhlbS4gV2hhdGV2ZXIKLSAgICAjIHRoaXMgZnVuY3Rpb24gbGVhdmVzIGJlaGluZCBpcyB3aGF0IHRoZSBzY3JpcHQgd2lsbCByZXN0b3JlIGJlZm9yZQotICAgICMgZWFjaCBjb21wb25lbnQuCi0gICAgY2FzZSAiJChoZWFkIC1uMSBNYWtlZmlsZSkiIGluCi0gICAgICAgICpbR2ddZW5lcmF0ZWQqKQotICAgICAgICAgICAgZ2l0IHVwZGF0ZS1pbmRleCAtLW5vLXNraXAtd29ya3RyZWUgTWFrZWZpbGUgbGlicmFyeS9NYWtlZmlsZSBwcm9ncmFtcy9NYWtlZmlsZSB0ZXN0cy9NYWtlZmlsZSBwcm9ncmFtcy9mdXp6L01ha2VmaWxlCi0gICAgICAgICAgICBnaXQgY2hlY2tvdXQgLS0gTWFrZWZpbGUgbGlicmFyeS9NYWtlZmlsZSBwcm9ncmFtcy9NYWtlZmlsZSB0ZXN0cy9NYWtlZmlsZSBwcm9ncmFtcy9mdXp6L01ha2VmaWxlCi0gICAgICAgICAgICA7OwotICAgIGVzYWMKLX0KLQotcHJlX2JhY2tfdXAgKCkgewotICAgIGZvciB4IGluICRmaWxlc190b19iYWNrX3VwOyBkbwotICAgICAgICBjcCAtcCAiJHgiICIkeCRiYWNrdXBfc3VmZml4IgotICAgIGRvbmUKLX0KLQotcHJlX3NldHVwX2tlZXBfZ29pbmcgKCkgewotICAgIGZhaWx1cmVfY291bnQ9MCAjIE51bWJlciBvZiBmYWlsZWQgY29tcG9uZW50cwotICAgIGxhc3RfZmFpbHVyZV9zdGF0dXM9MCAjIExhc3QgZmFpbHVyZSBzdGF0dXMgaW4gdGhpcyBjb21wb25lbnQKLQotICAgICMgU2VlIGVycl90cmFwCi0gICAgcHJldmlvdXNfZmFpbHVyZV9zdGF0dXM9MAotICAgIHByZXZpb3VzX2ZhaWxlZF9jb21tYW5kPQotICAgIHByZXZpb3VzX2ZhaWx1cmVfZnVuY2FsbF9kZXB0aD0wCi0gICAgdW5zZXQgcmVwb3J0X2ZhaWxlZF9jb21tYW5kCi0KLSAgICBzdGFydF9yZWQ9Ci0gICAgZW5kX2NvbG9yPQotICAgIGlmIFsgLXQgMSBdOyB0aGVuCi0gICAgICAgIGNhc2UgIiR7VEVSTTotfSIgaW4KLSAgICAgICAgICAgICpjb2xvcip8Y3lnd2lufGxpbnV4fHJ4dnQqfHNjcmVlbnxbRWV4XXRlcm0qKQotICAgICAgICAgICAgICAgIHN0YXJ0X3JlZD0kKHByaW50ZiAnXDAzM1szMW0nKQotICAgICAgICAgICAgICAgIGVuZF9jb2xvcj0kKHByaW50ZiAnXDAzM1swbScpCi0gICAgICAgICAgICAgICAgOzsKLSAgICAgICAgZXNhYwotICAgIGZpCi0KLSAgICAjIEtlZXAgYSBzdW1tYXJ5IG9mIGZhaWx1cmVzIGluIGEgZmlsZS4gV2UnbGwgcHJpbnQgaXQgb3V0IGF0IHRoZSBlbmQuCi0gICAgZmFpbHVyZV9zdW1tYXJ5X2ZpbGU9JFBXRC9hbGwtc2gtZmFpbHVyZXMtJCQubG9nCi0gICAgOiA+IiRmYWlsdXJlX3N1bW1hcnlfZmlsZSIKLQotICAgICMgV2hldGhlciBpdCBtYWtlcyBzZW5zZSB0byBrZWVwIGEgY29tcG9uZW50IGdvaW5nIGFmdGVyIHRoZSBzcGVjaWZpZWQKLSAgICAjIGNvbW1hbmQgZmFpbHMgKHRlc3QgY29tbWFuZCkgb3Igbm90IChjb25maWd1cmUgb3IgYnVpbGQpLgotICAgICMgVGhpcyBmdW5jdGlvbiBub3JtYWxseSByZWNlaXZlcyB0aGUgZmFpbGluZyBzaW1wbGUgY29tbWFuZAotICAgICMgKCRCQVNIX0NPTU1BTkQpIGFzIGFuIGFyZ3VtZW50LCBidXQgaWYgJHJlcG9ydF9mYWlsZWRfY29tbWFuZCBpcyBzZXQsCi0gICAgIyB0aGlzIGlzIHBhc3NlZCBpbnN0ZWFkLgotICAgICMgVGhpcyBkb2Vzbid0IGhhdmUgdG8gYmUgMTAwJSBhY2N1cmF0ZTogYWxsIGZhaWx1cmVzIGFyZSByZWNvcmRlZCBhbnl3YXkuCi0gICAgIyBGYWxzZSBwb3NpdGl2ZXMgcmVzdWx0IGluIHJ1bm5pbmcgdGhpbmdzIHRoYXQgY2FuJ3QgYmUgZXhwZWN0ZWQgdG8KLSAgICAjIHdvcmsuIEZhbHNlIG5lZ2F0aXZlcyByZXN1bHQgaW4gdGhpbmdzIG5vdCBydW5uaW5nIGFmdGVyIHNvbWV0aGluZyBlbHNlCi0gICAgIyBmYWlsZWQgZXZlbiB0aG91Z2ggdGhleSBtaWdodCBoYXZlIGdpdmVuIHVzZWZ1bCBmZWVkYmFjay4KLSAgICBjYW5fa2VlcF9nb2luZ19hZnRlcl9mYWlsdXJlICgpIHsKLSAgICAgICAgY2FzZSAiJDEiIGluCi0gICAgICAgICAgICAibXNnICIqKSBmYWxzZTs7Ci0gICAgICAgICAgICAiY2QgIiopIGZhbHNlOzsKLSAgICAgICAgICAgICJkaWZmICIqKSB0cnVlOzsKLSAgICAgICAgICAgICptYWtlKltcIC9ddGVzdHMqKSBmYWxzZTs7ICMgbWFrZSB0ZXN0cywgbWFrZSBDRkxBR1M9LUkuLi90ZXN0cywgLi4uCi0gICAgICAgICAgICAqdGVzdCopIHRydWU7OyAjIG1ha2UgdGVzdCwgdGVzdHMvc3R1ZmYsIGVudiBWPXYgdGVzdHMvc3R1ZmYsIC4uLgotICAgICAgICAgICAgKm1ha2UqY2hlY2sqKSB0cnVlOzsKLSAgICAgICAgICAgICJncmVwICIqKSB0cnVlOzsKLSAgICAgICAgICAgICJbICIqKSB0cnVlOzsKLSAgICAgICAgICAgICIhICIqKSB0cnVlOzsKLSAgICAgICAgICAgICopIGZhbHNlOzsKLSAgICAgICAgZXNhYwotICAgIH0KLQotICAgICMgVGhpcyBmdW5jdGlvbiBydW5zIGlmIHRoZXJlIGlzIGFueSBlcnJvciBpbiBhIGNvbXBvbmVudC4KLSAgICAjIEl0IG11c3QgZWl0aGVyIGV4aXQgd2l0aCBhIG5vbnplcm8gc3RhdHVzLCBvciBzZXQKLSAgICAjIGxhc3RfZmFpbHVyZV9zdGF0dXMgdG8gYSBub256ZXJvIHZhbHVlLgotICAgIGVycl90cmFwICgpIHsKLSAgICAgICAgIyBTYXZlICQ/IChzdGF0dXMgb2YgdGhlIGZhaWxpbmcgY29tbWFuZCkuIFRoaXMgbXVzdCBiZSB0aGUgdmVyeQotICAgICAgICAjIGZpcnN0IHRoaW5nLCBiZWZvcmUgJD8gaXMgb3ZlcnJpZGRlbi4KLSAgICAgICAgbGFzdF9mYWlsdXJlX3N0YXR1cz0kPwotICAgICAgICBmYWlsZWRfY29tbWFuZD0ke3JlcG9ydF9mYWlsZWRfY29tbWFuZC0kQkFTSF9DT01NQU5EfQotCi0gICAgICAgIGlmIFtbICRsYXN0X2ZhaWx1cmVfc3RhdHVzIC1lcSAkcHJldmlvdXNfZmFpbHVyZV9zdGF0dXMgJiYKLSAgICAgICAgICAgICAgIiRmYWlsZWRfY29tbWFuZCIgPT0gIiRwcmV2aW91c19mYWlsZWRfY29tbWFuZCIgJiYKLSAgICAgICAgICAgICAgJHsjRlVOQ05BTUVbQF19ID09ICQoKHByZXZpb3VzX2ZhaWx1cmVfZnVuY2FsbF9kZXB0aCAtIDEpKSBdXQotICAgICAgICB0aGVuCi0gICAgICAgICAgICAjIFRoZSBzYW1lIGNvbW1hbmQgZmFpbGVkIHR3aWNlIGluIGEgcm93LCBidXQgdGhpcyB0aW1lIG9uZSBsZXZlbAotICAgICAgICAgICAgIyBsZXNzIGRlZXAgaW4gdGhlIGZ1bmN0aW9uIGNhbGwgc3RhY2suIFRoaXMgaGFwcGVucyB3aGVuIHRoZSBsYXN0Ci0gICAgICAgICAgICAjIGNvbW1hbmQgb2YgYSBmdW5jdGlvbiByZXR1cm5zIGEgbm9uemVybyBzdGF0dXMsIGFuZCB0aGUgZnVuY3Rpb24KLSAgICAgICAgICAgICMgcmV0dXJucyB0aGF0IHNhbWUgc3RhdHVzLiBJZ25vcmUgdGhlIHNlY29uZCBmYWlsdXJlLgotICAgICAgICAgICAgcHJldmlvdXNfZmFpbHVyZV9mdW5jYWxsX2RlcHRoPSR7I0ZVTkNOQU1FW0BdfQotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGZpCi0gICAgICAgIHByZXZpb3VzX2ZhaWx1cmVfc3RhdHVzPSRsYXN0X2ZhaWx1cmVfc3RhdHVzCi0gICAgICAgIHByZXZpb3VzX2ZhaWxlZF9jb21tYW5kPSRmYWlsZWRfY29tbWFuZAotICAgICAgICBwcmV2aW91c19mYWlsdXJlX2Z1bmNhbGxfZGVwdGg9JHsjRlVOQ05BTUVbQF19Ci0KLSAgICAgICAgdGV4dD0iJGN1cnJlbnRfc2VjdGlvbjogJGZhaWxlZF9jb21tYW5kIC0+ICRsYXN0X2ZhaWx1cmVfc3RhdHVzIgotICAgICAgICBlY2hvICIke3N0YXJ0X3JlZH1eXl5eJHRleHReXl5eJHtlbmRfY29sb3J9IiA+JjIKLSAgICAgICAgZWNobyAiJHRleHQiID4+IiRmYWlsdXJlX3N1bW1hcnlfZmlsZSIKLQotICAgICAgICAjIElmIHRoZSBjb21tYW5kIGlzIGZhdGFsIChjb25maWd1cmUgb3IgYnVpbGQgY29tbWFuZCksIHN0b3AgdGhpcwotICAgICAgICAjIGNvbXBvbmVudC4gT3RoZXJ3aXNlICh0ZXN0IGNvbW1hbmQpIGtlZXAgdGhlIGNvbXBvbmVudCBydW5uaW5nCi0gICAgICAgICMgKHJ1biBtb3JlIHRlc3RzIGZyb20gdGhlIHNhbWUgYnVpbGQpLgotICAgICAgICBpZiAhIGNhbl9rZWVwX2dvaW5nX2FmdGVyX2ZhaWx1cmUgIiRmYWlsZWRfY29tbWFuZCI7IHRoZW4KLSAgICAgICAgICAgIGV4aXQgJGxhc3RfZmFpbHVyZV9zdGF0dXMKLSAgICAgICAgZmkKLSAgICB9Ci0KLSAgICBmaW5hbF9yZXBvcnQgKCkgewotICAgICAgICBpZiBbICRmYWlsdXJlX2NvdW50IC1ndCAwIF07IHRoZW4KLSAgICAgICAgICAgIGVjaG8KLSAgICAgICAgICAgIGVjaG8gIiEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISIKLSAgICAgICAgICAgIGVjaG8gIiR7c3RhcnRfcmVkfUZBSUxFRDogJGZhaWx1cmVfY291bnQgY29tcG9uZW50cyR7ZW5kX2NvbG9yfSIKLSAgICAgICAgICAgIGNhdCAiJGZhaWx1cmVfc3VtbWFyeV9maWxlIgotICAgICAgICAgICAgZWNobyAiISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIgotICAgICAgICBlbGlmIFsgLXogIiR7MS19IiBdOyB0aGVuCi0gICAgICAgICAgICBlY2hvICJTVUNDRVNTIDopIgotICAgICAgICBmaQotICAgICAgICBpZiBbIC1uICIkezEtfSIgXTsgdGhlbgotICAgICAgICAgICAgZWNobyAiS2lsbGVkIGJ5IFNJRyQxLiIKLSAgICAgICAgZmkKLSAgICAgICAgcm0gLWYgIiRmYWlsdXJlX3N1bW1hcnlfZmlsZSIKLSAgICAgICAgaWYgWyAkZmFpbHVyZV9jb3VudCAtZ3QgMCBdOyB0aGVuCi0gICAgICAgICAgICBleGl0IDEKLSAgICAgICAgZmkKLSAgICB9Ci19Ci0KLSMgcmVjb3JkX3N0YXR1cygpIGFuZCBpZl9idWlsZF9zdWNjZWVkZWQoKSBhcmUga2VwdCB0ZW1wb3JhcmlseSBmb3IgYmFja3dhcmQKLSMgY29tcGF0aWJpbGl0eS4gRG9uJ3QgdXNlIHRoZW0gaW4gbmV3IGNvbXBvbmVudHMuCi1yZWNvcmRfc3RhdHVzICgpIHsKLSAgICAiJEAiCi19Ci1pZl9idWlsZF9zdWNjZWVkZWQgKCkgewotICAgICIkQCIKLX0KLQotIyAnISB0cnVlJyBkb2VzIG5vdCB0cmlnZ2VyIHRoZSBFUlIgdHJhcC4gQXJyYW5nZSB0byB0cmlnZ2VyIGl0LCB3aXRoCi0jIGEgcmVhc29uYWJseSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlIChub3QganVzdCAiJEAiKS4KLW5vdCAoKSB7Ci0gICAgaWYgIiRAIjsgdGhlbgotICAgICAgICByZXBvcnRfZmFpbGVkX2NvbW1hbmQ9IiEgJCoiCi0gICAgICAgIGZhbHNlCi0gICAgICAgIHVuc2V0IHJlcG9ydF9mYWlsZWRfY29tbWFuZAotICAgIGZpCi19Ci0KLXByZV9wcmVwYXJlX291dGNvbWVfZmlsZSAoKSB7Ci0gICAgY2FzZSAiJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUiIGluCi0gICAgICBbIS9dKikgTUJFRFRMU19URVNUX09VVENPTUVfRklMRT0iJFBXRC8kTUJFRFRMU19URVNUX09VVENPTUVfRklMRSI7OwotICAgIGVzYWMKLSAgICBpZiBbIC1uICIkTUJFRFRMU19URVNUX09VVENPTUVfRklMRSIgXSAmJiBbICIkYXBwZW5kX291dGNvbWUiIC1lcSAwIF07IHRoZW4KLSAgICAgICAgcm0gLWYgIiRNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFIgotICAgIGZpCi19Ci0KLXByZV9wcmludF9jb25maWd1cmF0aW9uICgpIHsKLSAgICBpZiBbICRRVUlFVCAtZXEgMSBdOyB0aGVuCi0gICAgICAgIHJldHVybgotICAgIGZpCi0KLSAgICBtc2cgImluZm86ICQwIGNvbmZpZ3VyYXRpb24iCi0gICAgZWNobyAiTUVNT1JZOiAkTUVNT1JZIgotICAgIGVjaG8gIkZPUkNFOiAkRk9SQ0UiCi0gICAgZWNobyAiTUJFRFRMU19URVNUX09VVENPTUVfRklMRTogJHtNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFOi0obm9uZSl9IgotICAgIGVjaG8gIlNFRUQ6ICR7U0VFRC0iVU5TRVQifSIKLSAgICBlY2hvCi0gICAgZWNobyAiT1BFTlNTTDogJE9QRU5TU0wiCi0gICAgZWNobyAiT1BFTlNTTF9ORVhUOiAkT1BFTlNTTF9ORVhUIgotICAgIGVjaG8gIkdOVVRMU19DTEk6ICRHTlVUTFNfQ0xJIgotICAgIGVjaG8gIkdOVVRMU19TRVJWOiAkR05VVExTX1NFUlYiCi0gICAgZWNobyAiQVJNQzVfQklOX0RJUjogJEFSTUM1X0JJTl9ESVIiCi0gICAgZWNobyAiQVJNQzZfQklOX0RJUjogJEFSTUM2X0JJTl9ESVIiCi19Ci0KLSMgTWFrZSBzdXJlIHRoZSB0b29scyB3ZSBuZWVkIGFyZSBhdmFpbGFibGUuCi1wcmVfY2hlY2tfdG9vbHMgKCkgewotICAgICMgQnVpbGQgdGhlIGxpc3Qgb2YgdmFyaWFibGVzIHRvIHBhc3MgdG8gb3V0cHV0X2Vudi5zaC4KLSAgICBzZXQgZW52Ci0KLSAgICBjYXNlICIgJFJVTl9DT01QT05FTlRTICIgaW4KLSAgICAgICAgIyBSZXF1aXJlIE9wZW5TU0wgYW5kIEdudVRMUyBpZiBydW5uaW5nIGFueSB0ZXN0cyAoYXMgb3Bwb3NlZCB0bwotICAgICAgICAjIG9ubHkgZG9pbmcgYnVpbGRzKS4gTm90IGFsbCB0ZXN0cyBydW4gT3BlblNTTCBhbmQgR251VExTLCBidXQgdGhpcwotICAgICAgICAjIGlzIGEgZ29vZCBlbm91Z2ggYXBwcm94aW1hdGlvbiBpbiBwcmFjdGljZS4KLSAgICAgICAgKiIgdGVzdF8iKiB8ICoiIHJlbGVhc2VfdGVzdF8iKikKLSAgICAgICAgICAgICMgVG8gYXZvaWQgc2V0dGluZyBPcGVuU1NMIGFuZCBHbnVUTFMgZm9yIGVhY2ggY2FsbCB0byBjb21wYXQuc2gKLSAgICAgICAgICAgICMgYW5kIHNzbC1vcHQuc2gsIHdlIGp1c3QgZXhwb3J0IHRoZSB2YXJpYWJsZXMgdGhleSByZXF1aXJlLgotICAgICAgICAgICAgZXhwb3J0IE9QRU5TU0w9IiRPUEVOU1NMIgotICAgICAgICAgICAgZXhwb3J0IEdOVVRMU19DTEk9IiRHTlVUTFNfQ0xJIgotICAgICAgICAgICAgZXhwb3J0IEdOVVRMU19TRVJWPSIkR05VVExTX1NFUlYiCi0gICAgICAgICAgICAjIEF2b2lkIHBhc3NpbmcgLS1zZWVkIGZsYWcgaW4gZXZlcnkgY2FsbCB0byBzc2wtb3B0LnNoCi0gICAgICAgICAgICBpZiBbIC1uICIke1NFRUQtfSIgXTsgdGhlbgotICAgICAgICAgICAgICAgIGV4cG9ydCBTRUVECi0gICAgICAgICAgICBmaQotICAgICAgICAgICAgc2V0ICIkQCIgT1BFTlNTTD0iJE9QRU5TU0wiCi0gICAgICAgICAgICBzZXQgIiRAIiBHTlVUTFNfQ0xJPSIkR05VVExTX0NMSSIgR05VVExTX1NFUlY9IiRHTlVUTFNfU0VSViIKLSAgICAgICAgICAgIGNoZWNrX3Rvb2xzICIkT1BFTlNTTCIgIiRPUEVOU1NMX05FWFQiIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICIkR05VVExTX0NMSSIgIiRHTlVUTFNfU0VSViIKLSAgICAgICAgICAgIDs7Ci0gICAgZXNhYwotCi0gICAgY2FzZSAiICRSVU5fQ09NUE9ORU5UUyAiIGluCi0gICAgICAgICpfZG94eWdlbltfXCBdKikgY2hlY2tfdG9vbHMgImRveHlnZW4iICJkb3QiOzsKLSAgICBlc2FjCi0KLSAgICBjYXNlICIgJFJVTl9DT01QT05FTlRTICIgaW4KLSAgICAgICAgKl9hcm1fbm9uZV9lYWJpX2djY1tfXCBdKikgY2hlY2tfdG9vbHMgIiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyI7OwotICAgIGVzYWMKLQotICAgIGNhc2UgIiAkUlVOX0NPTVBPTkVOVFMgIiBpbgotICAgICAgICAqX21pbmd3W19cIF0qKSBjaGVja190b29scyAiaTY4Ni13NjQtbWluZ3czMi1nY2MiOzsKLSAgICBlc2FjCi0KLSAgICBjYXNlICIgJFJVTl9DT01QT05FTlRTICIgaW4KLSAgICAgICAgKiIgdGVzdF96ZXJvaXplICIqKSBjaGVja190b29scyAiZ2RiIjs7Ci0gICAgZXNhYwotCi0gICAgY2FzZSAiICRSVU5fQ09NUE9ORU5UUyAiIGluCi0gICAgICAgICpfYXJtY2MqKQotICAgICAgICAgICAgQVJNQzVfQ0M9IiRBUk1DNV9CSU5fRElSL2FybWNjIgotICAgICAgICAgICAgQVJNQzVfQVI9IiRBUk1DNV9CSU5fRElSL2FybWFyIgotICAgICAgICAgICAgQVJNQzVfRlJPTUVMRj0iJEFSTUM1X0JJTl9ESVIvZnJvbWVsZiIKLSAgICAgICAgICAgIEFSTUM2X0NDPSIkQVJNQzZfQklOX0RJUi9hcm1jbGFuZyIKLSAgICAgICAgICAgIEFSTUM2X0FSPSIkQVJNQzZfQklOX0RJUi9hcm1hciIKLSAgICAgICAgICAgIEFSTUM2X0ZST01FTEY9IiRBUk1DNl9CSU5fRElSL2Zyb21lbGYiCi0gICAgICAgICAgICBjaGVja190b29scyAiJEFSTUM1X0NDIiAiJEFSTUM1X0FSIiAiJEFSTUM1X0ZST01FTEYiIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICIkQVJNQzZfQ0MiICIkQVJNQzZfQVIiICIkQVJNQzZfRlJPTUVMRiI7OwotICAgIGVzYWMKLQotICAgICMgcGFzdCB0aGlzIHBvaW50LCBubyBjYWxsIHRvIGNoZWNrX3Rvb2wsIG9ubHkgcHJpbnRpbmcgb3V0cHV0Ci0gICAgaWYgWyAkUVVJRVQgLWVxIDEgXTsgdGhlbgotICAgICAgICByZXR1cm4KLSAgICBmaQotCi0gICAgbXNnICJpbmZvOiBvdXRwdXRfZW52LnNoIgotICAgIGNhc2UgJFJVTl9DT01QT05FTlRTIGluCi0gICAgICAgICpfYXJtY2MqKQotICAgICAgICAgICAgc2V0ICIkQCIgQVJNQzVfQ0M9IiRBUk1DNV9DQyIgQVJNQzZfQ0M9IiRBUk1DNl9DQyIgUlVOX0FSTUNDPTE7OwotICAgICAgICAqKSBzZXQgIiRAIiBSVU5fQVJNQ0M9MDs7Ci0gICAgZXNhYwotICAgICIkQCIgc2NyaXB0cy9vdXRwdXRfZW52LnNoCi19Ci0KLXByZV9nZW5lcmF0ZV9maWxlcygpIHsKLSAgICAjIHNpbmNlIG1ha2UgZG9lc24ndCBoYXZlIHByb3BlciBkZXBlbmRlbmNpZXMsIHJlbW92ZSBhbnkgcG9zc2libHkgb3V0ZGF0ZQotICAgICMgZmlsZSB0aGF0IG1pZ2h0IGJlIGFyb3VuZCBiZWZvcmUgZ2VuZXJhdGluZyBmcmVzaCBvbmVzCi0gICAgbWFrZSBuZWF0Ci0gICAgaWYgWyAkUVVJRVQgLWVxIDEgXTsgdGhlbgotICAgICAgICBtYWtlIGdlbmVyYXRlZF9maWxlcyA+L2Rldi9udWxsCi0gICAgZWxzZQotICAgICAgICBtYWtlIGdlbmVyYXRlZF9maWxlcwotICAgIGZpCi19Ci0KLWNsYW5nX3ZlcnNpb24oKSB7Ci0gICAgaWYgY29tbWFuZCAtdiBjbGFuZyA+IC9kZXYvbnVsbCA7IHRoZW4KLSAgICAgICAgY2xhbmcgLS12ZXJzaW9ufGdyZXAgdmVyc2lvbnxzZWQgLUUgJ3MjLip2ZXJzaW9uIChbMC05XSspLiojXDEjJwotICAgIGVsc2UKLSAgICAgICAgZWNobyAwICAjIHJlcG9ydCB2ZXJzaW9uIDAgZm9yICJubyBjbGFuZyIKLSAgICBmaQotfQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMjIEhlbHBlcnMgZm9yIGNvbXBvbmVudHMgdXNpbmcgbGlidGVzdGRyaXZlcjEKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBIb3cgdG8gdXNlIGxpYnRlc3Rkcml2ZXIxCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMKLSMgMS4gRGVmaW5lIHRoZSBsaXN0IGFsZ29yaXRobXMgYW5kIGtleSB0eXBlcyB0byBhY2NlbGVyYXRlLAotIyAgICBkZXNpZ25hdGVkIHRoZSBzYW1lIHdheSBhcyBQU0FfV0FOVF8gbWFjcm9zIGJ1dCB3aXRob3V0IFBTQV9XQU5UXy4KLSMgICAgRXhhbXBsZXM6Ci0jICAgICAgLSBsb2NfYWNjZWxfbGlzdD0iQUxHX0pQQUtFIgotIyAgICAgIC0gbG9jX2FjY2VsX2xpc3Q9IkFMR19GRkRIIEtFWV9UWVBFX0RIX0tFWV9QQUlSIEtFWV9UWVBFX0RIX1BVQkxJQ19LRVkiCi0jIDIuIE1ha2UgY29uZmlndXJhdGlvbnMgY2hhbmdlcyBmb3IgdGhlIGRyaXZlciBhbmQvb3IgbWFpbiBsaWJyYXJpZXMuCi0jICAgIDJhLiBDYWxsIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnIDxiYXNlPiwgd2hlcmUgdGhlIGFyZ3VtZW50Ci0jICAgICAgICBjYW4gYmUgZWl0aGVyICJkZWZhdWx0IiB0byBzdGFydCB3aXRoIHRoZSBkZWZhdWx0IGNvbmZpZywgb3IgYSBuYW1lCi0jICAgICAgICBzdXBwb3J0ZWQgYnkgc2NyaXB0cy9jb25maWcucHkgKGZvciBleGFtcGxlLCAiZnVsbCIpLiBUaGlzIHNlbGVjdHMKLSMgICAgICAgIHRoZSBiYXNlIHRvIHVzZSwgYW5kIG1ha2VzIGNvbW1vbiBhZGp1c3RtZW50cy4KLSMgICAgMmIuIElmIGRlc2lyZWQsIGFkanVzdCB0aGUgUFNBX1dBTlQgc3ltYm9scyBpbiBwc2EvY3J5cHRvX2NvbmZpZy5oLgotIyAgICAgICAgVGhlc2UgY2hhbmdlcyBhZmZlY3QgYm90aCB0aGUgZHJpdmVyIGFuZCB0aGUgbWFpbiBsaWJyYXJpZXMuCi0jICAgICAgICAoTm90ZTogdGhleSBuZWVkIHRvIGhhdmUgdGhlIHNhbWUgc2V0IG9mIFBTQV9XQU5UIHN5bWJvbHMsIGFzIHRoYXQKLSMgICAgICAgIGRldGVybWluZXMgdGhlIEFCSSBiZXR3ZWVuIHRoZW0uKQotIyAgICAyYy4gQWRqdXN0IE1CRURUTFNfIHN5bWJvbHMgaW4gbWJlZHRsc19jb25maWcuaC4gVGhpcyBvbmx5IGFmZmVjdHMgdGhlCi0jICAgICAgICBtYWluIGxpYnJhcmllcy4gVHlwaWNhbGx5LCB5b3Ugd2FudCB0byBkaXNhYmxlIHRoZSBtb2R1bGUocykgdGhhdCBhcmUKLSMgICAgICAgIGJlaW5nIGFjY2VsZXJhdGVkLiBZb3UgbWF5IG5lZWQgdG8gYWxzbyBkaXNhYmxlIG1vZHVsZXMgdGhhdCBkZXBlbmQKLSMgICAgICAgIG9uIHRoZW0gb3Igb3B0aW9ucyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIHdpdGggZHJpdmVycy4KLSMgICAgMmQuIE9uIHRvcCBvZiBwc2EvY3J5cHRvX2NvbmZpZy5oLCB0aGUgZHJpdmVyIGxpYnJhcnkgdXNlcyBpdHMgb3duIGNvbmZpZwotIyAgICAgICAgZmlsZTogdGVzdHMvaW5jbHVkZS90ZXN0L2RyaXZlcnMvY29uZmlnX3Rlc3RfZHJpdmVyLmguIFlvdSB1c3VhbGx5Ci0jICAgICAgICBkb24ndCBuZWVkIHRvIGVkaXQgaXQ6IHVzaW5nIGxvY19leHRyYV9saXN0IChzZWUgYmVsb3cpIGlzIHByZWZlcnJlZC4KLSMgICAgICAgIEhvd2V2ZXIsIHdoZW4gdGhlcmUncyBubyBQU0Egc3ltYm9sIGZvciB3aGF0IHlvdSB3YW50IHRvIGVuYWJsZSwKLSMgICAgICAgIGNhbGxpbmcgc2NyaXB0cy9jb25maWcucHkgb24gdGhpcyBmaWxlIHJlbWFpbnMgdGhlIG9ubHkgb3B0aW9uLgotIyAzLiBCdWlsZCB0aGUgZHJpdmVyIGxpYnJhcnksIHRoZW4gdGhlIG1haW4gbGlicmFyaWVzLCB0ZXN0LCBhbmQgcHJvZ3JhbXMuCi0jICAgIDNhLiBDYWxsIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIuIFlvdSBtYXkKLSMgICAgICAgIG5lZWQgdG8gZW5hYmxlIG1vcmUgYWxnb3JpdGhtcyBoZXJlLCB0eXBpY2FsbHkgaGFzaCBhbGdvcml0aG1zIHdoZW4KLSMgICAgICAgIGFjY2VsZXJhdGluZyBzb21lIHNpZ25hdHVyZSBhbGdvcml0aG1zIChFQ0RTQSwgUlNBdjIpLiBUaGlzIGlzIGRvbmUKLSMgICAgICAgIGJ5IHBhc3NpbmcgYSAybmQgYXJndW1lbnQgbGlzdGluZyB0aGUgZXh0cmEgYWxnb3JpdGhtcy4KLSMgICAgICAgIEV4YW1wbGU6Ci0jICAgICAgICAgIGxvY19leHRyYV9saXN0PSJBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiIKLSMgICAgICAgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IiAiJGxvY19leHRyYV9saXN0IgotIyAgICAzYi4gQ2FsbCBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiLiBBbnkKLSMgICAgICAgIGFkZGl0aW9uYWwgYXJndW1lbnRzIHdpbGwgYmUgcGFzc2VkIHRvIG1ha2U6IHRoaXMgY2FuIGJlIHVzZWZ1bCBpZgotIyAgICAgICAgeW91IGRvbid0IHdhbnQgdG8gYnVpbGQgZXZlcnl0aGluZyB3aGVuIGl0ZXJhdGluZyBkdXJpbmcgZGV2ZWxvcG1lbnQuCi0jICAgICAgICBFeGFtcGxlOgotIyAgICAgICAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiIC1DIHRlc3RzIHRlc3Rfc3VpdGVfZm9vCi0jIDQuIFJ1biB0aGUgdGVzdHMgeW91IHdhbnQuCi0KLSMgQWRqdXN0IHRoZSBjb25maWd1cmF0aW9uIC0gZm9yIGJvdGggbGlidGVzdGRyaXZlcjEgYW5kIG1haW4gbGlicmFyeSwKLSMgYXMgdGhleSBzaG91bGQgaGF2ZSB0aGUgc2FtZSBQU0FfV0FOVCBtYWNyb3MuCi1oZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZygpIHsKLSAgICBiYXNlX2NvbmZpZz0kMQotICAgICMgU2VsZWN0IHRoZSBiYXNlIGNvbmZpZ3VyYXRpb24KLSAgICBpZiBbICIkYmFzZV9jb25maWciICE9ICJkZWZhdWx0IiBdOyB0aGVuCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5ICIkYmFzZV9jb25maWciCi0gICAgZmkKLQotICAgICMgRW5hYmxlIFBTQS1iYXNlZCBjb25maWcgKG5lY2Vzc2FyeSB0byB1c2UgZHJpdmVycykKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRwotCi0gICAgIyBEeW5hbWljIHNlY3VyZSBlbGVtZW50IHN1cHBvcnQgaXMgYSBkZXByZWNhdGVkIGZlYXR1cmUgYW5kIG5lZWRzIHRvIGJlIGRpc2FibGVkIGhlcmUuCi0gICAgIyBUaGlzIGlzIGRvbmUgdG8gaGF2ZSB0aGUgc2FtZSBmb3JtIG9mIHBzYV9rZXlfYXR0cmlidXRlc19zIGZvciBsaWJkcml2ZXIgYW5kIGxpYnJhcnkuCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MKLQotICAgICMgSWYgdGhyZWFkaW5nIGlzIGVuYWJsZWQgb24gdGhlIG5vcm1hbCBidWlsZCwgdGhlbiB3ZSBuZWVkIHRvIGVuYWJsZSBpdCBpbiB0aGUgZHJpdmVycyBhcyB3ZWxsLAotICAgICMgb3RoZXJ3aXNlIHdlIHdpbGwgZW5kIHVwIHJ1bm5pbmcgbXVsdGl0aHJlYWRlZCB0ZXN0cyB3aXRob3V0IG11dGV4ZXMgdG8gcHJvdGVjdCB0aGVtLgotICAgIGlmIHNjcmlwdHMvY29uZmlnLnB5IGdldCBNQkVEVExTX1RIUkVBRElOR19DOyB0aGVuCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ09ORklHX1RFU1RfRFJJVkVSX0giIHNldCBNQkVEVExTX1RIUkVBRElOR19DCi0gICAgZmkKLQotICAgIGlmIHNjcmlwdHMvY29uZmlnLnB5IGdldCBNQkVEVExTX1RIUkVBRElOR19QVEhSRUFEOyB0aGVuCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ09ORklHX1RFU1RfRFJJVkVSX0giIHNldCBNQkVEVExTX1RIUkVBRElOR19QVEhSRUFECi0gICAgZmkKLX0KLQotIyBXaGVuIGNhbGxlZCB3aXRoIG5vIHBhcmFtZXRlciB0aGlzIGZ1bmN0aW9uIGRpc2FibGVzIGFsbCBidWlsdGluIGN1cnZlcy4KLSMgVGhlIGZ1bmN0aW9uIG9wdGlvbmFsbHkgYWNjZXB0cyAxIHBhcmFtZXRlcjogYSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiB0aGUKLSMgY3VydmVzIHRoYXQgc2hvdWxkIGJlIGtlcHQgZW5hYmxlZC4KLWhlbHBlcl9kaXNhYmxlX2J1aWx0aW5fY3VydmVzKCkgewotICAgIGFsbG93ZWRfbGlzdD0iJHsxOi19IgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0LWFsbCAiTUJFRFRMU19FQ1BfRFBfWzAtOUEtWl9hLXpdKl9FTkFCTEVEIgotCi0gICAgZm9yIGN1cnZlIGluICRhbGxvd2VkX2xpc3Q7IGRvCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCAkY3VydmUKLSAgICBkb25lCi19Ci0KLSMgSGVscGVyIHJldHVybmluZyB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZWxsaXB0aWMgY3VydmVzIGZyb20gQ1JZUFRPX0NPTkZJR19ILAotIyB3aXRob3V0IHRoZSAiUFNBX1dBTlRfIiBwcmVmaXguIFRoaXMgYmVjb21lcyBoYW5keSBmb3IgYWNjZWxlcmF0aW5nIGN1cnZlcwotIyBpbiB0aGUgZm9sbG93aW5nIGhlbHBlcnMuCi1oZWxwZXJfZ2V0X3BzYV9jdXJ2ZV9saXN0ICgpIHsKLSAgICBsb2NfbGlzdD0iIgotICAgIGZvciBpdGVtIGluICQoc2VkIC1uICdzL14jZGVmaW5lIFBTQV9XQU5UX1woRUNDX1swLTlBLVpfYS16XSpcKS4qL1wxL3AnIDwiJENSWVBUT19DT05GSUdfSCIpOyBkbwotICAgICAgICBsb2NfbGlzdD0iJGxvY19saXN0ICRpdGVtIgotICAgIGRvbmUKLQotICAgIGVjaG8gIiRsb2NfbGlzdCIKLX0KLQotIyBIZWxwZXIgcmV0dXJuaW5nIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBESCBncm91cHMgZnJvbSBDUllQVE9fQ09ORklHX0gsCi0jIHdpdGhvdXQgdGhlICJQU0FfV0FOVF8iIHByZWZpeC4gVGhpcyBiZWNvbWVzIGhhbmR5IGZvciBhY2NlbGVyYXRpbmcgREggZ3JvdXBzCi0jIGluIHRoZSBmb2xsb3dpbmcgaGVscGVycy4KLWhlbHBlcl9nZXRfcHNhX2RoX2dyb3VwX2xpc3QgKCkgewotICAgIGxvY19saXN0PSIiCi0gICAgZm9yIGl0ZW0gaW4gJChzZWQgLW4gJ3MvXiNkZWZpbmUgUFNBX1dBTlRfXChESF9SRkM3OTE5X1swLTldKlwpLiovXDEvcCcgPCIkQ1JZUFRPX0NPTkZJR19IIik7IGRvCi0gICAgICAgIGxvY19saXN0PSIkbG9jX2xpc3QgJGl0ZW0iCi0gICAgZG9uZQotCi0gICAgZWNobyAiJGxvY19saXN0IgotfQotCi0jIEdldCB0aGUgbGlzdCBvZiB1bmNvbW1lbnRlZCBQU0FfV0FOVF9LRVlfVFlQRV94eHhfIGZyb20gQ1JZUFRPX0NPTkZJR19ILiBUaGlzCi0jIGlzIHVzZWZ1bCB0byBlYXNpbHkgZ2V0IGEgbGlzdCBvZiBrZXkgdHlwZSBzeW1ib2xzIHRvIGFjY2VsZXJhdGUuCi0jIFRoZSBmdW5jdGlvbiBhY2NlcHRzIGEgc2luZ2xlIGFyZ3VtZW50IHdoaWNoIGlzIHRoZSBrZXkgdHlwZTogRUNDLCBESCwgUlNBLgotaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCgpIHsKLSAgICBrZXlfdHlwZT0iJDEiCi0gICAgbG9jX2xpc3Q9IiIKLSAgICBmb3IgaXRlbSBpbiAkKHNlZCAtbiAicy9eI2RlZmluZSBQU0FfV0FOVF9cKEtFWV9UWVBFXyR7a2V5X3R5cGV9X1swLTlBLVpfYS16XSpcKS4qL1wxL3AiIDwiJENSWVBUT19DT05GSUdfSCIpOyBkbwotICAgICAgICAjIFNraXAgREVSSVZFIGZvciBlbGxpcHRpYyBrZXlzIHNpbmNlIHRoZXJlIGlzIG5vIGRyaXZlciBkaXNwYXRjaCBmb3IKLSAgICAgICAgIyBpdCBzbyBpdCBjYW5ub3QgYmUgYWNjZWxlcmF0ZWQuCi0gICAgICAgIGlmIFsgIiRpdGVtIiAhPSAiS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRSIgXTsgdGhlbgotICAgICAgICAgICAgbG9jX2xpc3Q9IiRsb2NfbGlzdCAkaXRlbSIKLSAgICAgICAgZmkKLSAgICBkb25lCi0KLSAgICBlY2hvICIkbG9jX2xpc3QiCi19Ci0KLSMgQnVpbGQgdGhlIGRyaXZlcnMgbGlicmFyeSBsaWJ0ZXN0ZHJpdmVyMS5hICh3aXRoIEFTYW4pLgotIwotIyBQYXJhbWV0ZXJzOgotIyAxLiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRoaW5ncyB0byBhY2NlbGVyYXRlOwotIyAyLiBvcHRpb25hbDogYSBzcGFjZS1zZXBhcmF0ZSBsaXN0IG9mIHRoaW5ncyB0byBhbHNvIHN1cHBvcnQuCi0jIEhlcmUgInRoaW5ncyIgYXJlIFBTQV9XQU5UXyBzeW1ib2xzIGJ1dCB3aXRoIFBTQV9XQU5UXyByZW1vdmVkLgotaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycygpIHsKLSAgICBsb2NfYWNjZWxfZmxhZ3M9JCggZWNobyAiJDEgJHsyLX0iIHwgc2VkICdzL1teIF0qICovLURMSUJURVNURFJJVkVSMV9NQkVEVExTX1BTQV9BQ0NFTF8mL2cnICkKLSAgICBtYWtlIENDPSRBU0FOX0NDIC1DIHRlc3RzIGxpYnRlc3Rkcml2ZXIxLmEgQ0ZMQUdTPSIgJEFTQU5fQ0ZMQUdTICRsb2NfYWNjZWxfZmxhZ3MiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLX0KLQotIyBCdWlsZCB0aGUgbWFpbiBsaWJyYXJpZXMsIHByb2dyYW1zIGFuZCB0ZXN0cywKLSMgbGlua2luZyB0byB0aGUgZHJpdmVycyBsaWJyYXJ5ICh3aXRoIEFTYW4pLgotIwotIyBQYXJhbWV0ZXJzOgotIyAxLiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRoaW5ncyB0byBhY2NlbGVyYXRlOwotIyAqLiByZW1haW5pbmcgYXJndW1lbnRzIGlmIGFueSBhcmUgcGFzc2VkIGRpcmVjdGx5IHRvIG1ha2UKLSMgICAgKGV4YW1wbGVzOiBsaWIsIC1DIHRlc3RzIHRlc3Rfc3VpdGVfeHh4LCBldGMuKQotIyBIZXJlICJ0aGluZ3MiIGFyZSBQU0FfV0FOVF8gc3ltYm9scyBidXQgd2l0aCBQU0FfV0FOVF8gcmVtb3ZlZC4KLWhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4oKSB7Ci0gICAgbG9jX2FjY2VsX2xpc3Q9JDEKLSAgICBzaGlmdAotCi0gICAgIyB3ZSBuZWVkIGZsYWdzIGJvdGggd2l0aCBhbmQgd2l0aG91dCB0aGUgTElCVEVTVERSSVZFUjFfIHByZWZpeAotICAgIGxvY19hY2NlbF9mbGFncz0kKCBlY2hvICIkbG9jX2FjY2VsX2xpc3QiIHwgc2VkICdzL1teIF0qICovLURMSUJURVNURFJJVkVSMV9NQkVEVExTX1BTQV9BQ0NFTF8mL2cnICkKLSAgICBsb2NfYWNjZWxfZmxhZ3M9IiRsb2NfYWNjZWxfZmxhZ3MgJCggZWNobyAiJGxvY19hY2NlbF9saXN0IiB8IHNlZCAncy9bXiBdKiAqLy1ETUJFRFRMU19QU0FfQUNDRUxfJi9nJyApIgotICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLUkuLi90ZXN0cy9pbmNsdWRlIC1JLi4vdGVzdHMgLUkuLi8uLi90ZXN0cyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1RFU1RfTElCVEVTVERSSVZFUjEgJGxvY19hY2NlbF9mbGFncyIgTERGTEFHUz0iLWx0ZXN0ZHJpdmVyMSAkQVNBTl9DRkxBR1MiICIkQCIKLX0KLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyBCYXNpYyBjaGVja3MKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIwotIyBUZXN0IFN1aXRlcyB0byBiZSBleGVjdXRlZAotIwotIyBUaGUgdGVzdCBvcmRlcmluZyB0cmllcyB0byBvcHRpbWl6ZSBmb3IgdGhlIGZvbGxvd2luZyBjcml0ZXJpYToKLSMgMS4gQ2F0Y2ggcG9zc2libGUgcHJvYmxlbXMgZWFybHksIGJ5IHJ1bm5pbmcgZmlyc3QgdGVzdHMgdGhhdCBydW4gcXVpY2tseQotIyAgICBhbmQvb3IgYXJlIG1vcmUgbGlrZWx5IHRvIGZhaWwgdGhhbiBvdGhlcnMgKGVnIEkgdXNlIENsYW5nIG1vc3Qgb2YgdGhlCi0jICAgIHRpbWUsIHNvIHN0YXJ0IHdpdGggYSBHQ0MgYnVpbGQpLgotIyAyLiBNaW5pbWl6ZSB0b3RhbCBydW5uaW5nIHRpbWUsIGJ5IGF2b2lkaW5nIHVzZWxlc3MgcmVidWlsZHMKLSMKLSMgSW5kaWNhdGl2ZSBydW5uaW5nIHRpbWVzIGFyZSBnaXZlbiBmb3IgcmVmZXJlbmNlLgotCi1jb21wb25lbnRfY2hlY2tfcmVjdXJzaW9uICgpIHsKLSAgICBtc2cgIkNoZWNrOiByZWN1cnNpb24ucGwiICMgPCAxcwotICAgIHRlc3RzL3NjcmlwdHMvcmVjdXJzaW9uLnBsIGxpYnJhcnkvKi5jCi19Ci0KLWNvbXBvbmVudF9jaGVja19nZW5lcmF0ZWRfZmlsZXMgKCkgewotICAgIG1zZyAiQ2hlY2s6IGNoZWNrLWdlbmVyYXRlZC1maWxlcywgZmlsZXMgZ2VuZXJhdGVkIHdpdGggbWFrZSIgIyAycwotICAgIG1ha2UgZ2VuZXJhdGVkX2ZpbGVzCi0gICAgdGVzdHMvc2NyaXB0cy9jaGVjay1nZW5lcmF0ZWQtZmlsZXMuc2gKLQotICAgIG1zZyAiQ2hlY2s6IGNoZWNrLWdlbmVyYXRlZC1maWxlcyAtdSwgZmlsZXMgcHJlc2VudCIgIyAycwotICAgIHRlc3RzL3NjcmlwdHMvY2hlY2stZ2VuZXJhdGVkLWZpbGVzLnNoIC11Ci0gICAgIyBDaGVjayB0aGF0IHRoZSBnZW5lcmF0ZWQgZmlsZXMgYXJlIGNvbnNpZGVyZWQgdXAgdG8gZGF0ZS4KLSAgICB0ZXN0cy9zY3JpcHRzL2NoZWNrLWdlbmVyYXRlZC1maWxlcy5zaAotCi0gICAgbXNnICJDaGVjazogY2hlY2stZ2VuZXJhdGVkLWZpbGVzIC11LCBmaWxlcyBhYnNlbnQiICMgMnMKLSAgICBjb21tYW5kIG1ha2UgbmVhdAotICAgIHRlc3RzL3NjcmlwdHMvY2hlY2stZ2VuZXJhdGVkLWZpbGVzLnNoIC11Ci0gICAgIyBDaGVjayB0aGF0IHRoZSBnZW5lcmF0ZWQgZmlsZXMgYXJlIGNvbnNpZGVyZWQgdXAgdG8gZGF0ZS4KLSAgICB0ZXN0cy9zY3JpcHRzL2NoZWNrLWdlbmVyYXRlZC1maWxlcy5zaAotCi0gICAgIyBUaGlzIGNvbXBvbmVudCBlbmRzIHdpdGggdGhlIGdlbmVyYXRlZCBmaWxlcyBwcmVzZW50IGluIHRoZSBzb3VyY2UgdHJlZS4KLSAgICAjIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBzdWJzZXF1ZW50IGNvbXBvbmVudHMhCi19Ci0KLWNvbXBvbmVudF9jaGVja19kb3h5X2Jsb2NrcyAoKSB7Ci0gICAgbXNnICJDaGVjazogZG94eWdlbiBtYXJrdXAgb3V0c2lkZSBkb3h5Z2VuIGJsb2NrcyIgIyA8IDFzCi0gICAgdGVzdHMvc2NyaXB0cy9jaGVjay1kb3h5LWJsb2Nrcy5wbAotfQotCi1jb21wb25lbnRfY2hlY2tfZmlsZXMgKCkgewotICAgIG1zZyAiQ2hlY2s6IGZpbGUgc2FuaXR5IGNoZWNrcyAocGVybWlzc2lvbnMsIGVuY29kaW5ncykiICMgPCAxcwotICAgIHRlc3RzL3NjcmlwdHMvY2hlY2tfZmlsZXMucHkKLX0KLQotY29tcG9uZW50X2NoZWNrX2NoYW5nZWxvZyAoKSB7Ci0gICAgbXNnICJDaGVjazogY2hhbmdlbG9nIGVudHJpZXMiICMgPCAxcwotICAgIHJtIC1mIENoYW5nZUxvZy5uZXcKLSAgICBzY3JpcHRzL2Fzc2VtYmxlX2NoYW5nZWxvZy5weSAtbyBDaGFuZ2VMb2cubmV3Ci0gICAgaWYgWyAtZSBDaGFuZ2VMb2cubmV3IF07IHRoZW4KLSAgICAgICAgIyBTaG93IHRoZSBkaWZmIGZvciBpbmZvcm1hdGlvbi4gSXQgaXNuJ3QgYW4gZXJyb3IgaWYgdGhlIGRpZmYgaXMKLSAgICAgICAgIyBub24tZW1wdHkuCi0gICAgICAgIGRpZmYgLXUgQ2hhbmdlTG9nIENoYW5nZUxvZy5uZXcgfHwgdHJ1ZQotICAgICAgICBybSBDaGFuZ2VMb2cubmV3Ci0gICAgZmkKLX0KLQotY29tcG9uZW50X2NoZWNrX25hbWVzICgpIHsKLSAgICBtc2cgIkNoZWNrOiBkZWNsYXJlZCBhbmQgZXhwb3J0ZWQgbmFtZXMgKGJ1aWxkcyB0aGUgbGlicmFyeSkiICMgPCAzcwotICAgIHRlc3RzL3NjcmlwdHMvY2hlY2tfbmFtZXMucHkgLXYKLX0KLQotY29tcG9uZW50X2NoZWNrX3Rlc3RfY2FzZXMgKCkgewotICAgIG1zZyAiQ2hlY2s6IHRlc3QgY2FzZSBkZXNjcmlwdGlvbnMiICMgPCAxcwotICAgIGlmIFsgJFFVSUVUIC1lcSAxIF07IHRoZW4KLSAgICAgICAgb3B0PSctLXF1aWV0JwotICAgIGVsc2UKLSAgICAgICAgb3B0PScnCi0gICAgZmkKLSAgICB0ZXN0cy9zY3JpcHRzL2NoZWNrX3Rlc3RfY2FzZXMucHkgLXEgJG9wdAotICAgIHVuc2V0IG9wdAotfQotCi1jb21wb25lbnRfY2hlY2tfdGVzdF9kZXBlbmRlbmNpZXMgKCkgewotICAgIG1zZyAiQ2hlY2s6IHRlc3QgY2FzZSBkZXBlbmRlbmNpZXM6IGxlZ2FjeSB2cyBQU0EiICMgPCAxcwotICAgICMgVGhlIHB1cnBvc2Ugb2YgdGhpcyBjb21wb25lbnQgaXMgdG8gY2F0Y2ggdW5qdXN0aWZpZWQgZGVwZW5kZW5jaWVzIG9uCi0gICAgIyBsZWdhY3kgZmVhdHVyZSBtYWNyb3MgKE1CRURUTFNfeHh4KSBpbiBQU0EgdGVzdHMuIEdlbmVyYWxseSBzcGVha2luZywKLSAgICAjIFBTQSB0ZXN0IHNob3VsZCB1c2UgUFNBIGZlYXR1cmUgbWFjcm9zIChQU0FfV0FOVF94eHgsIG1vcmUgcmFyZWx5Ci0gICAgIyBNQkVEVExTX1BTQV94eHgpLgotICAgICMKLSAgICAjIE1vc3Qgb2YgdGhlIHRpbWUsIHVzZSBvZiBsZWdhY3kgTUJFRFRMU194eHggbWFjcm9zIGFyZSBtaXN0YWtlcywgd2hpY2gKLSAgICAjIHRoaXMgY29tcG9uZW50IGlzIG1lYW50IHRvIGNhdGNoLiBIb3dldmVyIGEgZmV3IG9mIHRoZW0gYXJlIGp1c3RpZmllZCwKLSAgICAjIG1vc3RseSBieSB0aGUgYWJzZW5jZSBvZiBhIFBTQSBlcXVpdmFsZW50LCBzbyB0aGlzIGNvbXBvbmVudCBpbmNsdWRlcyBhCi0gICAgIyBsaXN0IG9mIGV4cGVjdGVkIGV4Y2VwdGlvbnMuCi0KLSAgICBmb3VuZD0iY2hlY2stdGVzdC1kZXBzLWZvdW5kLSQkIgotICAgIGV4cGVjdGVkPSJjaGVjay10ZXN0LWRlcHMtZXhwZWN0ZWQtJCQiCi0KLSAgICAjIEZpbmQgbGVnYWN5IGRlcGVuZGVuY2llcyBpbiBQU0EgdGVzdHMKLSAgICBncmVwICdkZXBlbmRzX29uJyBcCi0gICAgICAgIHRlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYSouZGF0YSB0ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2EqLmZ1bmN0aW9uIHwKLSAgICAgICAgZ3JlcCAtRW8gJyE/TUJFRFRMU19bXjogXSonIHwKLSAgICAgICAgZ3JlcCAtdiAtZSBNQkVEVExTX1BTQV8gLWUgTUJFRFRMU19URVNUXyB8Ci0gICAgICAgIHNvcnQgLXUgPiAkZm91bmQKLQotICAgICMgRXhwZWN0ZWQgb25lcyB3aXRoIGp1c3RpZmljYXRpb24gLSBrZWVwIGluIHNvcnRlZCBvcmRlciBieSBBU0NJSSB0YWJsZSEKLSAgICBybSAtZiAkZXhwZWN0ZWQKLSAgICAjIE5vIFBTQSBlcXVpdmFsZW50IC0gV0FOVF9LRVlfVFlQRV9BRVMgbWVhbnMgYWxsIHNpemVzCi0gICAgZWNobyAiIU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIiA+PiAkZXhwZWN0ZWQKLSAgICAjIE5vIFBTQSBlcXVpdmFsZW50IC0gdXNlZCB0byBza2lwIGRlY3J5cHRpb24gdGVzdHMgaW4gUFNBLUVDQiwgQ0JDL1hUUy9OSVNUX0tXL0RFUwotICAgIGVjaG8gIiFNQkVEVExTX0JMT0NLX0NJUEhFUl9OT19ERUNSWVBUIiA+PiAkZXhwZWN0ZWQKLSAgICAjIE1CRURUTFNfQVNOMV9XUklURV9DIGlzIHVzZWQgYnkgaW1wb3J0X3JzYV9tYWRlX3VwKCkgaW4gdGVzdF9zdWl0ZV9wc2FfY3J5cHRvCi0gICAgIyBpbiBvcmRlciB0byBidWlsZCBhIGZha2UgUlNBIGtleSBvZiB0aGUgd2FudGVkIHNpemUgYmFzZWQgb24KLSAgICAjIFBTQV9WRU5ET1JfUlNBX01BWF9LRVlfQklUUy4gVGhlIGxlZ2FjeSBtb2R1bGUgaXMgb25seSB1c2VkIGJ5Ci0gICAgIyB0aGUgdGVzdCBjb2RlIGFuZCB0aGF0J3MgcHJvYmFibHkgdGhlIG1vc3QgY29udmVuaWVudCB3YXkgb2YgYWNoaWV2aW5nCi0gICAgIyB0aGUgdGVzdCdzIGdvYWwuCi0gICAgZWNobyAiTUJFRFRMU19BU04xX1dSSVRFX0MiID4+ICRleHBlY3RlZAotICAgICMgTm8gUFNBIGVxdWl2YWxlbnQgLSB3ZSBzaG91bGQgcHJvYmFibHkgaGF2ZSBvbmUgaW4gdGhlIGZ1dHVyZS4KLSAgICBlY2hvICJNQkVEVExTX0VDUF9SRVNUQVJUQUJMRSIgPj4gJGV4cGVjdGVkCi0gICAgIyBObyBQU0EgZXF1aXZhbGVudCAtIG5lZWRlZCBieSBzb21lIGluaXQgdGVzdHMKLSAgICBlY2hvICJNQkVEVExTX0VOVFJPUFlfTlZfU0VFRCIgPj4gJGV4cGVjdGVkCi0gICAgIyBObyBQU0EgZXF1aXZhbGVudCAtIHJlcXVpcmVkIHRvIHJ1biB0aHJlYWRlZCB0ZXN0cy4KLSAgICBlY2hvICJNQkVEVExTX1RIUkVBRElOR19QVEhSRUFEIiA+PiAkZXhwZWN0ZWQKLQotICAgICMgQ29tcGFyZSByZWFsaXR5IHdpdGggZXhwZWN0YXRpb24uCi0gICAgIyBXZSB3YW50IGFuIGV4YWN0IG1hdGNoLCB0byBlbnN1cmUgdGhlIGFib3ZlIGxpc3QgcmVtYWlucyB1cC10by1kYXRlLgotICAgICMKLSAgICAjIFRoZSBvdXRwdXQgc2hvdWxkIGJlIGVtcHR5LiBXaGVuIGl0J3Mgbm90OgotICAgICMgLSBFYWNoICcrJyBsaW5lIGlzIGEgbWFjcm8gdGhhdCB3YXMgZm91bmQgYnV0IG5vdCBleHBlY3RlZC4gWW91IHdhbnQgdG8KLSAgICAjIGZpbmQgd2hlcmUgdGhhdCBtYWNybyBvY2N1cnMsIGFuZCBlaXRoZXIgcmVwbGFjZSBpdCB3aXRoIFBTQSBtYWNyb3MsIG9yCi0gICAgIyBhZGQgaXQgdG8gdGhlIGV4Y2VwdGlvbnMgbGlzdCBhYm92ZSB3aXRoIGEganVzdGlmaWNhdGlvbi4KLSAgICAjIC0gRWFjaCAnLScgbGluZSBpcyBhIG1hY3JvIHRoYXQgd2FzIGV4cGVjdGVkIGJ1dCBub3QgZm91bmQ7IGl0IG1lYW5zIHRoZQotICAgICMgZXhjZXB0aW9ucyBsaXN0IGFib3ZlIHNob3VsZCBiZSB1cGRhdGVkIGJ5IHJlbW92aW5nIHRoYXQgbWFjcm8uCi0gICAgZGlmZiAtVTAgJGV4cGVjdGVkICRmb3VuZAotCi0gICAgcm0gJGZvdW5kICRleHBlY3RlZAotfQotCi1jb21wb25lbnRfY2hlY2tfZG94eWdlbl93YXJuaW5ncyAoKSB7Ci0gICAgbXNnICJDaGVjazogZG94eWdlbiB3YXJuaW5ncyAoYnVpbGRzIHRoZSBkb2N1bWVudGF0aW9uKSIgIyB+IDNzCi0gICAgdGVzdHMvc2NyaXB0cy9kb3h5Z2VuLnNoCi19Ci0KLQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMjIEJ1aWxkIGFuZCB0ZXN0IG1hbnkgY29uZmlndXJhdGlvbnMgYW5kIHRhcmdldHMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotY29tcG9uZW50X3Rlc3RfZGVmYXVsdF9vdXRfb2ZfYm94ICgpIHsKLSAgICBtc2cgImJ1aWxkOiBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjFtaW4KLSAgICBtYWtlCi0gICAgIyBEaXNhYmxlIGZhbmN5IHN0dWZmCi0gICAgdW5zZXQgTUJFRFRMU19URVNUX09VVENPTUVfRklMRQotCi0gICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjEwcwotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJzZWxmdGVzdDogbWFrZSwgZGVmYXVsdCBjb25maWcgKG91dC1vZi1ib3gpIiAjIH4xMHMKLSAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0KLSAgICBtc2cgInByb2dyYW0gZGVtb3M6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSIgIyB+MTBzCi0gICAgdGVzdHMvc2NyaXB0cy9ydW5fZGVtb3MucHkKLX0KLQotY29tcG9uZW50X3Rlc3RfZGVmYXVsdF9jbWFrZV9nY2NfYXNhbiAoKSB7Ci0gICAgbXNnICJidWlsZDogY21ha2UsIGdjYywgQVNhbiIgIyB+IDEgbWluIDUwcwotICAgIENDPWdjYyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIiAjIH4gNTBzCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInByb2dyYW0gZGVtb3MgKEFTYW4gYnVpbGQpIiAjIH4xMHMKLSAgICB0ZXN0cy9zY3JpcHRzL3J1bl9kZW1vcy5weQotCi0gICAgbXNnICJ0ZXN0OiBzZWxmdGVzdCAoQVNhbiBidWlsZCkiICMgfiAxMHMKLSAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IG1ldGF0ZXN0cyAoR0NDLCBBU2FuIGJ1aWxkKSIKLSAgICB0ZXN0cy9zY3JpcHRzL3J1bi1tZXRhdGVzdHMuc2ggYW55IGFzYW4gcG9pc29uCi0KLSAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2ggKEFTYW4gYnVpbGQpIiAjIH4gMSBtaW4KLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi0KLSAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCAoQVNhbiBidWlsZCkiICMgfiA2IG1pbgotICAgIHRlc3RzL2NvbXBhdC5zaAotCi0gICAgbXNnICJ0ZXN0OiBjb250ZXh0LWluZm8uc2ggKEFTYW4gYnVpbGQpIiAjIH4gMTUgc2VjCi0gICAgdGVzdHMvY29udGV4dC1pbmZvLnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X2RlZmF1bHRfY21ha2VfZ2NjX2FzYW5fbmV3X2JpZ251bSAoKSB7Ci0gICAgbXNnICJidWlsZDogY21ha2UsIGdjYywgQVNhbiIgIyB+IDEgbWluIDUwcwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VDUF9XSVRIX01QSV9VSU5UCi0gICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoQVNhbiBidWlsZCkiICMgfiA1MHMKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAidGVzdDogc2VsZnRlc3QgKEFTYW4gYnVpbGQpIiAjIH4gMTBzCi0gICAgcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIChBU2FuIGJ1aWxkKSIgIyB+IDEgbWluCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotCi0gICAgbXNnICJ0ZXN0OiBjb21wYXQuc2ggKEFTYW4gYnVpbGQpIiAjIH4gNiBtaW4KLSAgICB0ZXN0cy9jb21wYXQuc2gKLQotICAgIG1zZyAidGVzdDogY29udGV4dC1pbmZvLnNoIChBU2FuIGJ1aWxkKSIgIyB+IDE1IHNlYwotICAgIHRlc3RzL2NvbnRleHQtaW5mby5zaAotfQotCi1jb21wb25lbnRfdGVzdF9mdWxsX2NtYWtlX2djY19hc2FuICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIGNvbmZpZywgY21ha2UsIGdjYywgQVNhbiIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoZnVsbCBjb25maWcsIEFTYW4gYnVpbGQpIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBzZWxmdGVzdCAoQVNhbiBidWlsZCkiICMgfiAxMHMKLSAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2ggKGZ1bGwgY29uZmlnLCBBU2FuIGJ1aWxkKSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi0KLSAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCAoZnVsbCBjb25maWcsIEFTYW4gYnVpbGQpIgotICAgIHRlc3RzL2NvbXBhdC5zaAotCi0gICAgbXNnICJ0ZXN0OiBjb250ZXh0LWluZm8uc2ggKGZ1bGwgY29uZmlnLCBBU2FuIGJ1aWxkKSIgIyB+IDE1IHNlYwotICAgIHRlc3RzL2NvbnRleHQtaW5mby5zaAotfQotCi0KLWNvbXBvbmVudF90ZXN0X2Z1bGxfY21ha2VfZ2NjX2FzYW5fbmV3X2JpZ251bSAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCBjb25maWcsIGNtYWtlLCBnY2MsIEFTYW4iCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VDUF9XSVRIX01QSV9VSU5UCi0gICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoZnVsbCBjb25maWcsIEFTYW4gYnVpbGQpIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBzZWxmdGVzdCAoQVNhbiBidWlsZCkiICMgfiAxMHMKLSAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2ggKGZ1bGwgY29uZmlnLCBBU2FuIGJ1aWxkKSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi0KLSAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCAoZnVsbCBjb25maWcsIEFTYW4gYnVpbGQpIgotICAgIHRlc3RzL2NvbXBhdC5zaAotCi0gICAgbXNnICJ0ZXN0OiBjb250ZXh0LWluZm8uc2ggKGZ1bGwgY29uZmlnLCBBU2FuIGJ1aWxkKSIgIyB+IDE1IHNlYwotICAgIHRlc3RzL2NvbnRleHQtaW5mby5zaAotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2tleV9pZF9lbmNvZGVzX293bmVyICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIGNvbmZpZyArIFBTQV9DUllQVE9fS0VZX0lEX0VOQ09ERVNfT1dORVIsIGNtYWtlLCBnY2MsIEFTYW4iCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fS0VZX0lEX0VOQ09ERVNfT1dORVIKLSAgICBDQz1nY2MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIGNvbmZpZyAtIFVTRV9QU0FfQ1JZUFRPICsgUFNBX0NSWVBUT19LRVlfSURfRU5DT0RFU19PV05FUiwgY21ha2UsIGdjYywgQVNhbiIKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfcHNhX2Fzc3VtZV9leGNsdXNpdmVfYnVmZmVycyAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgKyBNQkVEVExTX1BTQV9BU1NVTUVfRVhDTFVTSVZFX0JVRkZFUlMsIGNtYWtlLCBnY2MsIEFTYW4iCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9BU1NVTUVfRVhDTFVTSVZFX0JVRkZFUlMKLSAgICBDQz1nY2MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIGNvbmZpZyArIE1CRURUTFNfUFNBX0FTU1VNRV9FWENMVVNJVkVfQlVGRkVSUywgY21ha2UsIGdjYywgQVNhbiIKLSAgICBtYWtlIHRlc3QKLX0KLQotIyBjaGVja19yZW5hbWVkX3N5bWJvbHMgSEVBREVSIExJQgotIyBDaGVjayB0aGF0IGlmIEhFQURFUiBjb250YWlucyAnI2RlZmluZSBNQUNSTyAuLi4nIHRoZW4gTUFDUk8gaXMgbm90IGEgc3ltYm9sCi0jIG5hbWUgaXMgTElCLgotY2hlY2tfcmVuYW1lZF9zeW1ib2xzICgpIHsKLSAgICAhIG5tICIkMiIgfCBzZWQgJ3MvLiogLy8nIHwKLSAgICAgIGdyZXAgLXggLUYgIiQoc2VkIC1uICdzL14gKiMgKmRlZmluZSAgKlwoW0EtWl9hLXpdWzAtOUEtWl9hLXpdKlwpLi4qL1wxL3AnICIkMSIpIgotfQotCi1jb21wb25lbnRfYnVpbGRfcHNhX2NyeXB0b19zcG0gKCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnICsgUFNBX0NSWVBUT19LRVlfSURfRU5DT0RFU19PV05FUiArIFBTQV9DUllQVE9fU1BNLCBtYWtlLCBnY2MiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19CVUlMVElOX0tFWVMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0tFWV9JRF9FTkNPREVTX09XTkVSCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TUE0KLSAgICAjIFdlIGNhbiBvbmx5IGNvbXBpbGUsIG5vdCBsaW5rLCBzaW5jZSBvdXIgdGVzdCBhbmQgc2FtcGxlIHByb2dyYW1zCi0gICAgIyBhcmVuJ3QgZXF1aXBwZWQgZm9yIHRoZSBtb2RpZmllZCBuYW1lcyB1c2VkIHdoZW4gTUJFRFRMU19QU0FfQ1JZUFRPX1NQTQotICAgICMgaXMgYWN0aXZlLgotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1JLi4vdGVzdHMvaW5jbHVkZS9zcGUnIGxpYgotCi0gICAgIyBDaGVjayB0aGF0IGlmIGEgc3ltYm9sIGlzIHJlbmFtZWQgYnkgY3J5cHRvX3NwZS5oLCB0aGUgbm9uLXJlbmFtZWQKLSAgICAjIHZlcnNpb24gaXMgbm90IHByZXNlbnQuCi0gICAgZWNobyAiQ2hlY2tpbmcgZm9yIHJlbmFtZWQgc3ltYm9scyBpbiB0aGUgbGlicmFyeSIKLSAgICBjaGVja19yZW5hbWVkX3N5bWJvbHMgdGVzdHMvaW5jbHVkZS9zcGUvY3J5cHRvX3NwZS5oIGxpYnJhcnkvbGlibWJlZGNyeXB0by5hCi19Ci0KLSMgR2V0IGEgbGlzdCBvZiBsaWJyYXJ5LXdpc2UgdW5kZWZpbmVkIHN5bWJvbHMgYW5kIGVuc3VyZSB0aGF0IHRoZXkgb25seQotIyBiZWxvbmcgdG8gcHNhX3h4eCgpIGZ1bmN0aW9ucyBhbmQgbm90IHRvIG1iZWR0bHNfeXl5KCkgb25lcy4KLSMgVGhpcyBmdW5jdGlvbiBpcyBhIGNvbW1vbiBoZWxwZXIgdXNlZCBieSBib3RoOgotIyAtIGNvbXBvbmVudF90ZXN0X2RlZmF1bHRfcHNhX2NyeXB0b19jbGllbnRfd2l0aG91dF9jcnlwdG9fcHJvdmlkZXIKLSMgLSBjb21wb25lbnRfYnVpbGRfZnVsbF9wc2FfY3J5cHRvX2NsaWVudF93aXRob3V0X2NyeXB0b19wcm92aWRlci4KLWNvbW1vbl9jaGVja19tYmVkdGxzX21pc3Npbmdfc3ltYm9scygpIHsKLSAgICBubSBsaWJyYXJ5L2xpYm1iZWRjcnlwdG8uYSB8IGdyZXAgJyBbVFJyRENdICcgfCBncmVwIC1FbyAnKG1iZWR0bHNffHBzYV8pLionIHwgc29ydCAtdSA+IHN5bV9kZWYudHh0Ci0gICAgbm0gbGlicmFyeS9saWJtYmVkY3J5cHRvLmEgfCBncmVwICcgVSAnIHwgZ3JlcCAtRW8gJyhtYmVkdGxzX3xwc2FfKS4qJyB8IHNvcnQgLXUgPiBzeW1fdW5kZWYudHh0Ci0gICAgY29tbSBzeW1fZGVmLnR4dCBzeW1fdW5kZWYudHh0IC0xMyA+IGxpbmtpbmdfZXJyb3JzLnR4dAotICAgIG5vdCBncmVwIG1iZWR0bHNfIGxpbmtpbmdfZXJyb3JzLnR4dAotCi0gICAgcm0gc3ltX2RlZi50eHQgc3ltX3VuZGVmLnR4dCBsaW5raW5nX2Vycm9ycy50eHQKLX0KLQotY29tcG9uZW50X3Rlc3RfZGVmYXVsdF9wc2FfY3J5cHRvX2NsaWVudF93aXRob3V0X2NyeXB0b19wcm92aWRlciAoKSB7Ci0gICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgLSBQU0FfQ1JZUFRPX0MgKyBQU0FfQ1JZUFRPX0NMSUVOVCIKLQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NUT1JBR0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0lUU19GSUxFX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX0MKLQotICAgIG1ha2UKLQotICAgIG1zZyAiY2hlY2sgbWlzc2luZyBzeW1ib2xzOiBkZWZhdWx0IGNvbmZpZyAtIFBTQV9DUllQVE9fQyArIFBTQV9DUllQVE9fQ0xJRU5UIgotICAgIGNvbW1vbl9jaGVja19tYmVkdGxzX21pc3Npbmdfc3ltYm9scwotCi0gICAgbXNnICJ0ZXN0OiBkZWZhdWx0IGNvbmZpZyAtIFBTQV9DUllQVE9fQyArIFBTQV9DUllQVE9fQ0xJRU5UIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfYnVpbGRfZnVsbF9wc2FfY3J5cHRvX2NsaWVudF93aXRob3V0X2NyeXB0b19wcm92aWRlciAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgLSBQU0FfQ1JZUFRPX0MiCi0KLSAgICAjIFVzZSBmdWxsIGNvbmZpZyB3aGljaCBpbmNsdWRlcyBVU0VfUFNBIGFuZCBDUllQVE9fQ0xJRU5ULgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NUT1JBR0VfQwotICAgICMgRHluYW1pYyBzZWN1cmUgZWxlbWVudCBzdXBwb3J0IGlzIGEgZGVwcmVjYXRlZCBmZWF0dXJlIGFuZCBpdCBpcyBub3QKLSAgICAjIGF2YWlsYWJsZSB3aGVuIENSWVBUT19DIGFuZCBQU0FfQ1JZUFRPX1NUT1JBR0VfQyBhcmUgZGlzYWJsZWQuCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MKLQotICAgICMgU2luY2UgdGhlcmUgaXMgbm8gY3J5cHRvIHByb3ZpZGVyIGluIHRoaXMgYnVpbGQgaXQgaXMgbm90IHBvc3NpYmxlIHRvCi0gICAgIyBidWlsZCBhbGwgdGhlIHRlc3QgZXhlY3V0YWJsZXMgYW5kIHByb2dyZW1zIGR1ZSB0byBtaXNzaW5nIFBTQSBmdW5jdGlvbnMKLSAgICAjIGF0IGxpbmsgdGltZS4gVGhlcmVmb3JlIHdlIHdpbGwganVzdCBidWlsZCBsaWJyYXJpZXMgYW5kIHdlJ2xsIGNoZWNrCi0gICAgIyB0aGF0IHN5bWJvbHMgb2YgaW50ZXJlc3QgYXJlIHRoZXJlLgotICAgIG1ha2UgbGliCi0KLSAgICBtc2cgImNoZWNrIG1pc3Npbmcgc3ltYm9sczogZnVsbCBjb25maWcgLSBQU0FfQ1JZUFRPX0MiCi0KLSAgICBjb21tb25fY2hlY2tfbWJlZHRsc19taXNzaW5nX3N5bWJvbHMKLQotICAgICMgRW5zdXJlIHRoYXQgZGVzaXJlZCBmdW5jdGlvbnMgYXJlIGluY2x1ZGVkIGludG8gdGhlIGJ1aWxkIChleHRlbmQgdGhlCi0gICAgIyBmb2xsb3dpbmcgbGlzdCBhcyByZXF1aXJlZCkuCi0gICAgZ3JlcCBtYmVkdGxzX3BrX2dldF9wc2FfYXR0cmlidXRlcyBsaWJyYXJ5L2xpYm1iZWRjcnlwdG8uYQotICAgIGdyZXAgbWJlZHRsc19wa19pbXBvcnRfaW50b19wc2EgbGlicmFyeS9saWJtYmVkY3J5cHRvLmEKLSAgICBncmVwIG1iZWR0bHNfcGtfY29weV9mcm9tX3BzYSBsaWJyYXJ5L2xpYm1iZWRjcnlwdG8uYQotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX3JzYV9ub19nZW5wcmltZSgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyBtaW51cyBNQkVEVExTX0dFTlBSSU1FIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0VOUFJJTUUKLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnIG1pbnVzIE1CRURUTFNfR0VOUFJJTUUiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3JlZl9jb25maWdzICgpIHsKLSAgICBtc2cgInRlc3QvYnVpbGQ6IHJlZi1jb25maWdzIChBU2FuIGJ1aWxkKSIgIyB+IDYgbWluIDIwcwotICAgICMgdGVzdC1yZWYtY29uZmlncyB3b3JrcyBieSBvdmVyd3JpdGluZyBtYmVkdGxzX2NvbmZpZy5oOyB0aGlzIG1ha2VzIGNtYWtlCi0gICAgIyB3YW50IHRvIHJlLWdlbmVyYXRlIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGRlcGVuZCBvbiBpdCwgcXVpdGUgY29ycmVjdGx5LgotICAgICMgSG93ZXZlciB0aGlzIGRvZXNuJ3Qgd29yayBhcyB0aGUgZ2VuZXJhdGlvbiBzY3JpcHQgZXhwZWN0cyBhIHNwZWNpZmljCi0gICAgIyBmb3JtYXQgZm9yIG1iZWR0bHNfY29uZmlnLmgsIHdoaWNoIHRoZSBvdGhlciBmaWxlcyBkb24ndCBmb2xsb3cuIEFsc28sCi0gICAgIyBjbWFrZSBjYW4ndCBrbm93IHRoaXMsIGJ1dCByZS1nZW5lcmF0aW9uIGlzIGFjdHVhbGx5IG5vdCBuZWNlc3NhcnkgYXMKLSAgICAjIHRoZSBnZW5lcmF0ZWQgZmlsZXMgb25seSBkZXBlbmQgb24gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMsIG5vdAotICAgICMgd2hldGhlciB0aGV5J3JlIG9uIG9yIG9mZi4gU28sIGRpc2FibGUgY21ha2UncyAob3Zlci1zZW5zaXRpdmUgaGVyZSkKLSAgICAjIGRlcGVuZGVuY3kgcmVzb2x1dGlvbiBmb3IgZ2VuZXJhdGVkIGZpbGVzIGFuZCBqdXN0IHJlbHkgb24gdGhlbSBiZWluZwotICAgICMgcHJlc2VudCAodGhhbmtzIHRvIHByZV9nZW5lcmF0ZV9maWxlcykgYnkgdHVybmluZyBHRU5fRklMRVMgb2ZmLgotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIEdFTl9GSUxFUz1PZmYgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCi0gICAgdGVzdHMvc2NyaXB0cy90ZXN0LXJlZi1jb25maWdzLnBsCi19Ci0KLWNvbXBvbmVudF90ZXN0X25vX3JlbmVnb3RpYXRpb24gKCkgewotICAgIG1zZyAiYnVpbGQ6IERlZmF1bHQgKyAhTUJFRFRMU19TU0xfUkVORUdPVElBVElPTiAoQVNhbiBidWlsZCkiICMgfiA2IG1pbgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1JFTkVHT1RJQVRJT04KLSAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6ICFNQkVEVExTX1NTTF9SRU5FR09USUFUSU9OIC0gbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoQVNhbiBidWlsZCkiICMgfiA1MHMKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAidGVzdDogIU1CRURUTFNfU1NMX1JFTkVHT1RJQVRJT04gLSBzc2wtb3B0LnNoIChBU2FuIGJ1aWxkKSIgIyB+IDYgbWluCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotfQotCi1jb21wb25lbnRfdGVzdF9ub19wZW1fbm9fZnMgKCkgewotICAgIG1zZyAiYnVpbGQ6IERlZmF1bHQgKyAhTUJFRFRMU19QRU1fUEFSU0VfQyArICFNQkVEVExTX0ZTX0lPIChBU2FuIGJ1aWxkKSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BFTV9QQVJTRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19GU19JTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0lUU19GSUxFX0MgIyByZXF1aXJlcyBhIGZpbGVzeXN0ZW0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DICMgcmVxdWlyZXMgUFNBIElUUwotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogIU1CRURUTFNfUEVNX1BBUlNFX0MgIU1CRURUTFNfRlNfSU8gLSBtYWluIHN1aXRlcyAoaW5jLiBzZWxmdGVzdHMpIChBU2FuIGJ1aWxkKSIgIyB+IDUwcwotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiAhTUJFRFRMU19QRU1fUEFSU0VfQyAhTUJFRFRMU19GU19JTyAtIHNzbC1vcHQuc2ggKEFTYW4gYnVpbGQpIiAjIH4gNiBtaW4KLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X3JzYV9ub19jcnQgKCkgewotICAgIG1zZyAiYnVpbGQ6IERlZmF1bHQgKyBSU0FfTk9fQ1JUIChBU2FuIGJ1aWxkKSIgIyB+IDYgbWluCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUlNBX05PX0NSVAotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogUlNBX05PX0NSVCAtIG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIiAjIH4gNTBzCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IFJTQV9OT19DUlQgLSBSU0EtcmVsYXRlZCBwYXJ0IG9mIHNzbC1vcHQuc2ggKEFTYW4gYnVpbGQpIiAjIH4gNXMKLSAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mIFJTQQotCi0gICAgbXNnICJ0ZXN0OiBSU0FfTk9fQ1JUIC0gUlNBLXJlbGF0ZWQgcGFydCBvZiBjb21wYXQuc2ggKEFTYW4gYnVpbGQpIiAjIH4gMyBtaW4KLSAgICB0ZXN0cy9jb21wYXQuc2ggLXQgUlNBCi0KLSAgICBtc2cgInRlc3Q6IFJTQV9OT19DUlQgLSBSU0EtcmVsYXRlZCBwYXJ0IG9mIGNvbnRleHQtaW5mby5zaCAoQVNhbiBidWlsZCkiICMgfiAxNSBzZWMKLSAgICB0ZXN0cy9jb250ZXh0LWluZm8uc2gKLX0KLQotY29tcG9uZW50X3Rlc3Rfbm9fY3RyX2RyYmdfY2xhc3NpYyAoKSB7Ci0gICAgbXNnICJidWlsZDogRnVsbCBtaW51cyBDVFJfRFJCRywgY2xhc3NpYyBjcnlwdG8gaW4gVExTIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NUUl9EUkJHX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0KLSAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IEZ1bGwgbWludXMgQ1RSX0RSQkcsIGNsYXNzaWMgY3J5cHRvIC0gbWFpbiBzdWl0ZXMiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICAjIEluIHRoaXMgY29uZmlndXJhdGlvbiwgdGhlIFRMUyB0ZXN0IHByb2dyYW1zIHVzZSBITUFDX0RSQkcuCi0gICAgIyBUaGUgU1NMIHRlc3RzIGFyZSBzbG93LCBzbyBydW4gYSBzbWFsbCBzdWJzZXQsIGp1c3QgZW5vdWdoIHRvIGdldAotICAgICMgY29uZmlkZW5jZSB0aGF0IHRoZSBTU0wgY29kZSBjb3BlcyB3aXRoIEhNQUNfRFJCRy4KLSAgICBtc2cgInRlc3Q6IEZ1bGwgbWludXMgQ1RSX0RSQkcsIGNsYXNzaWMgY3J5cHRvIC0gc3NsLW9wdC5zaCAoc3Vic2V0KSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICdEZWZhdWx0XHxTU0wgYXN5bmMgcHJpdmF0ZS4qZGVsYXk9XHx0aWNrZXRzIGVuYWJsZWQgb24gc2VydmVyJwotCi0gICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIENUUl9EUkJHLCBjbGFzc2ljIGNyeXB0byAtIGNvbXBhdC5zaCAoc3Vic2V0KSIKLSAgICB0ZXN0cy9jb21wYXQuc2ggLW0gdGxzMTIgLXQgJ0VDRFNBIFBTSycgLVYgTk8gLXAgT3BlblNTTAotfQotCi1jb21wb25lbnRfdGVzdF9ub19jdHJfZHJiZ191c2VfcHNhICgpIHsKLSAgICBtc2cgImJ1aWxkOiBGdWxsIG1pbnVzIENUUl9EUkJHLCBQU0EgY3J5cHRvIGluIFRMUyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DVFJfRFJCR19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLQotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogRnVsbCBtaW51cyBDVFJfRFJCRywgVVNFX1BTQV9DUllQVE8gLSBtYWluIHN1aXRlcyIKLSAgICBtYWtlIHRlc3QKLQotICAgICMgSW4gdGhpcyBjb25maWd1cmF0aW9uLCB0aGUgVExTIHRlc3QgcHJvZ3JhbXMgdXNlIEhNQUNfRFJCRy4KLSAgICAjIFRoZSBTU0wgdGVzdHMgYXJlIHNsb3csIHNvIHJ1biBhIHNtYWxsIHN1YnNldCwganVzdCBlbm91Z2ggdG8gZ2V0Ci0gICAgIyBjb25maWRlbmNlIHRoYXQgdGhlIFNTTCBjb2RlIGNvcGVzIHdpdGggSE1BQ19EUkJHLgotICAgIG1zZyAidGVzdDogRnVsbCBtaW51cyBDVFJfRFJCRywgVVNFX1BTQV9DUllQVE8gLSBzc2wtb3B0LnNoIChzdWJzZXQpIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgJ0RlZmF1bHRcfFNTTCBhc3luYyBwcml2YXRlLipkZWxheT1cfHRpY2tldHMgZW5hYmxlZCBvbiBzZXJ2ZXInCi0KLSAgICBtc2cgInRlc3Q6IEZ1bGwgbWludXMgQ1RSX0RSQkcsIFVTRV9QU0FfQ1JZUFRPIC0gY29tcGF0LnNoIChzdWJzZXQpIgotICAgIHRlc3RzL2NvbXBhdC5zaCAtbSB0bHMxMiAtdCAnRUNEU0EgUFNLJyAtViBOTyAtcCBPcGVuU1NMCi19Ci0KLWNvbXBvbmVudF90ZXN0X25vX2htYWNfZHJiZ19jbGFzc2ljICgpIHsKLSAgICBtc2cgImJ1aWxkOiBGdWxsIG1pbnVzIEhNQUNfRFJCRywgY2xhc3NpYyBjcnlwdG8gaW4gVExTIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hNQUNfRFJCR19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9ERVRFUk1JTklTVElDICMgcmVxdWlyZXMgSE1BQ19EUkJHCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotCi0gICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIEhNQUNfRFJCRywgY2xhc3NpYyBjcnlwdG8gLSBtYWluIHN1aXRlcyIKLSAgICBtYWtlIHRlc3QKLQotICAgICMgTm9ybWFsbHkgb3VyIEVDRFNBIGltcGxlbWVudGF0aW9uIHVzZXMgZGV0ZXJtaW5pc3RpYyBFQ0RTQS4gQnV0IHNpbmNlCi0gICAgIyBITUFDX0RSQkcgaXMgZGlzYWJsZWQgaW4gdGhpcyBjb25maWd1cmF0aW9uLCByYW5kb21pemVkIEVDRFNBIGlzIHVzZWQKLSAgICAjIGluc3RlYWQuCi0gICAgIyBUZXN0IFNTTCB3aXRoIG5vbi1kZXRlcm1pbmlzdGljIEVDRFNBLiBPbmx5IHRlc3QgZmVhdHVyZXMgdGhhdAotICAgICMgbWlnaHQgYmUgYWZmZWN0ZWQgYnkgaG93IEVDRFNBIHNpZ25hdHVyZSBpcyBwZXJmb3JtZWQuCi0gICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIEhNQUNfRFJCRywgY2xhc3NpYyBjcnlwdG8gLSBzc2wtb3B0LnNoIChzdWJzZXQpIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgJ0RlZmF1bHRcfFNTTCBhc3luYyBwcml2YXRlOiBzaWduJwotCi0gICAgIyBUbyBzYXZlIHRpbWUsIG9ubHkgdGVzdCBvbmUgcHJvdG9jb2wgdmVyc2lvbiwgc2luY2UgdGhpcyBwYXJ0IG9mCi0gICAgIyB0aGUgcHJvdG9jb2wgaXMgaWRlbnRpY2FsIGluIChEKVRMUyB1cCB0byAxLjIuCi0gICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIEhNQUNfRFJCRywgY2xhc3NpYyBjcnlwdG8gLSBjb21wYXQuc2ggKEVDRFNBKSIKLSAgICB0ZXN0cy9jb21wYXQuc2ggLW0gdGxzMTIgLXQgJ0VDRFNBJwotfQotCi1jb21wb25lbnRfdGVzdF9ub19obWFjX2RyYmdfdXNlX3BzYSAoKSB7Ci0gICAgbXNnICJidWlsZDogRnVsbCBtaW51cyBITUFDX0RSQkcsIFBTQSBjcnlwdG8gaW4gVExTIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hNQUNfRFJCR19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9ERVRFUk1JTklTVElDICMgcmVxdWlyZXMgSE1BQ19EUkJHCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLQotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogRnVsbCBtaW51cyBITUFDX0RSQkcsIFVTRV9QU0FfQ1JZUFRPIC0gbWFpbiBzdWl0ZXMiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICAjIE5vcm1hbGx5IG91ciBFQ0RTQSBpbXBsZW1lbnRhdGlvbiB1c2VzIGRldGVybWluaXN0aWMgRUNEU0EuIEJ1dCBzaW5jZQotICAgICMgSE1BQ19EUkJHIGlzIGRpc2FibGVkIGluIHRoaXMgY29uZmlndXJhdGlvbiwgcmFuZG9taXplZCBFQ0RTQSBpcyB1c2VkCi0gICAgIyBpbnN0ZWFkLgotICAgICMgVGVzdCBTU0wgd2l0aCBub24tZGV0ZXJtaW5pc3RpYyBFQ0RTQS4gT25seSB0ZXN0IGZlYXR1cmVzIHRoYXQKLSAgICAjIG1pZ2h0IGJlIGFmZmVjdGVkIGJ5IGhvdyBFQ0RTQSBzaWduYXR1cmUgaXMgcGVyZm9ybWVkLgotICAgIG1zZyAidGVzdDogRnVsbCBtaW51cyBITUFDX0RSQkcsIFVTRV9QU0FfQ1JZUFRPIC0gc3NsLW9wdC5zaCAoc3Vic2V0KSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICdEZWZhdWx0XHxTU0wgYXN5bmMgcHJpdmF0ZTogc2lnbicKLQotICAgICMgVG8gc2F2ZSB0aW1lLCBvbmx5IHRlc3Qgb25lIHByb3RvY29sIHZlcnNpb24sIHNpbmNlIHRoaXMgcGFydCBvZgotICAgICMgdGhlIHByb3RvY29sIGlzIGlkZW50aWNhbCBpbiAoRClUTFMgdXAgdG8gMS4yLgotICAgIG1zZyAidGVzdDogRnVsbCBtaW51cyBITUFDX0RSQkcsIFVTRV9QU0FfQ1JZUFRPIC0gY29tcGF0LnNoIChFQ0RTQSkiCi0gICAgdGVzdHMvY29tcGF0LnNoIC1tIHRsczEyIC10ICdFQ0RTQScKLX0KLQotY29tcG9uZW50X3Rlc3RfcHNhX2V4dGVybmFsX3JuZ19ub19kcmJnX2NsYXNzaWMgKCkgewotICAgIG1zZyAiYnVpbGQ6IFBTQV9DUllQVE9fRVhURVJOQUxfUk5HIG1pbnVzICpfRFJCRywgY2xhc3NpYyBjcnlwdG8gaW4gVExTIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19FWFRFUk5BTF9STkcKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VOVFJPUFlfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRU5UUk9QWV9OVl9TRUVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QTEFURk9STV9OVl9TRUVEX0FMVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ1RSX0RSQkdfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSE1BQ19EUkJHX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0RFVEVSTUlOSVNUSUMgIyByZXF1aXJlcyBITUFDX0RSQkcKLSAgICAjIFdoZW4gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBpcyBkaXNhYmxlZCBhbmQgdGhlcmUgaXMgbm8gRFJCRywKLSAgICAjIHRoZSBTU0wgdGVzdCBwcm9ncmFtcyBkb24ndCBoYXZlIGFuIFJORyBhbmQgY2FuJ3Qgd29yay4gRXhwbGljaXRseQotICAgICMgbWFrZSB0aGVtIHVzZSB0aGUgUFNBIFJORyB3aXRoIC1ETUJFRFRMU19URVNUX1VTRV9QU0FfQ1JZUFRPX1JORy4KLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1ETUJFRFRMU19URVNUX1VTRV9QU0FfQ1JZUFRPX1JORyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotCi0gICAgbXNnICJ0ZXN0OiBQU0FfQ1JZUFRPX0VYVEVSTkFMX1JORyBtaW51cyAqX0RSQkcsIGNsYXNzaWMgY3J5cHRvIC0gbWFpbiBzdWl0ZXMiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IFBTQV9DUllQVE9fRVhURVJOQUxfUk5HIG1pbnVzICpfRFJCRywgY2xhc3NpYyBjcnlwdG8gLSBzc2wtb3B0LnNoIChzdWJzZXQpIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgJ0RlZmF1bHQnCi19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9leHRlcm5hbF9ybmdfbm9fZHJiZ191c2VfcHNhICgpIHsKLSAgICBtc2cgImJ1aWxkOiBQU0FfQ1JZUFRPX0VYVEVSTkFMX1JORyBtaW51cyAqX0RSQkcsIFBTQSBjcnlwdG8gaW4gVExTIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0VYVEVSTkFMX1JORwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRU5UUk9QWV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FTlRST1BZX05WX1NFRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BMQVRGT1JNX05WX1NFRURfQUxUCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DVFJfRFJCR19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ITUFDX0RSQkdfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfREVURVJNSU5JU1RJQyAjIHJlcXVpcmVzIEhNQUNfRFJCRwotICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLQotICAgIG1zZyAidGVzdDogUFNBX0NSWVBUT19FWFRFUk5BTF9STkcgbWludXMgKl9EUkJHLCBQU0EgY3J5cHRvIC0gbWFpbiBzdWl0ZXMiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IFBTQV9DUllQVE9fRVhURVJOQUxfUk5HIG1pbnVzICpfRFJCRywgUFNBIGNyeXB0byAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAnRGVmYXVsdFx8b3BhcXVlJwotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfZXh0ZXJuYWxfcm5nX3VzZV9wc2FfY3J5cHRvICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsICsgUFNBX0NSWVBUT19FWFRFUk5BTF9STkcgKyBVU0VfUFNBX0NSWVBUTyBtaW51cyBDVFJfRFJCRyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19FWFRFUk5BTF9STkcKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ1RSX0RSQkdfQwotICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLQotICAgIG1zZyAidGVzdDogZnVsbCArIFBTQV9DUllQVE9fRVhURVJOQUxfUk5HICsgVVNFX1BTQV9DUllQVE8gbWludXMgQ1RSX0RSQkciCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IGZ1bGwgKyBQU0FfQ1JZUFRPX0VYVEVSTkFMX1JORyArIFVTRV9QU0FfQ1JZUFRPIG1pbnVzIENUUl9EUkJHIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgJ0RlZmF1bHRcfG9wYXF1ZScKLX0KLQotY29tcG9uZW50X3Rlc3RfcHNhX2luamVjdF9lbnRyb3B5ICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsICsgTUJFRFRMU19QU0FfSU5KRUNUX0VOVFJPUFkiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9JTkpFQ1RfRU5UUk9QWQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VOVFJPUFlfTlZfU0VFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX05PX0RFRkFVTFRfRU5UUk9QWV9TT1VSQ0VTCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QTEFURk9STV9OVl9TRUVEX0FMVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUExBVEZPUk1fU1REX05WX1NFRURfUkVBRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUExBVEZPUk1fU1REX05WX1NFRURfV1JJVEUKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTICctRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdXNlci1jb25maWctZm9yLXRlc3QuaFwiJyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotCi0gICAgbXNnICJ0ZXN0OiBmdWxsICsgTUJFRFRMU19QU0FfSU5KRUNUX0VOVFJPUFkiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3N3X2luZXRfcHRvbiAoKSB7Ci0gICAgbXNnICJidWlsZDogZGVmYXVsdCBwbHVzIE1CRURUTFNfVEVTVF9TV19JTkVUX1BUT04iCi0KLSAgICAjIE1CRURUTFNfVEVTVF9IT09LUyByZXF1aXJlZCBmb3IgeDUwOV9jcnRfcGFyc2VfY25faW5ldF9wdG9uCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVEVTVF9IT09LUwotICAgIG1ha2UgQ0ZMQUdTPSItRE1CRURUTFNfVEVTVF9TV19JTkVUX1BUT04iCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgcGx1cyBNQkVEVExTX1RFU1RfU1dfSU5FVF9QVE9OIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfZnVsbF9ub19wa3BhcnNlX3Brd3JpdGUoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCB3aXRob3V0IHBrcGFyc2UgYW5kIHBrd3JpdGUiCi0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBjcnlwdG9fZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfUEFSU0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfV1JJVEVfQwotCi0gICAgbWFrZSBDRkxBR1M9IiRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotCi0gICAgIyBFbnN1cmUgdGhhdCBQS19bUEFSU0V8V1JJVEVdX0Mgd2VyZSBub3QgcmUtZW5hYmxlZCBhY2NpZGVudGFsbHkgKGFkZGl0aXZlIGNvbmZpZykuCi0gICAgbm90IGdyZXAgbWJlZHRsc19wa19wYXJzZV9rZXkgbGlicmFyeS9wa3BhcnNlLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX3BrX3dyaXRlX2tleV9kZXIgbGlicmFyeS9wa3dyaXRlLm8KLQotICAgIG1zZyAidGVzdDogZnVsbCB3aXRob3V0IHBrcGFyc2UgYW5kIHBrd3JpdGUiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2NyeXB0b19mdWxsX21kX2xpZ2h0X29ubHkgKCkgewotICAgIG1zZyAiYnVpbGQ6IGNyeXB0b19mdWxsIHdpdGggb25seSB0aGUgbGlnaHQgc3Vic2V0IG9mIE1EIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGNyeXB0b19mdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRwotICAgICMgRGlzYWJsZSBNRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTURfQwotICAgICMgRGlzYWJsZSBkaXJlY3QgZGVwZW5kZW5jaWVzIG9mIE1EX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hLREZfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSE1BQ19EUkJHX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M3X0MKLSAgICAjIERpc2FibGUgaW5kaXJlY3QgZGVwZW5kZW5jaWVzIG9mIE1EX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0RFVEVSTUlOSVNUSUMgIyBuZWVkcyBITUFDX0RSQkcKLSAgICAjIERpc2FibGUgdGhpbmdzIHRoYXQgd291bGQgYXV0by1lbmFibGUgTURfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzVfQwotCi0gICAgIyBOb3RlOiBNRC1saWdodCBpcyBhdXRvLWVuYWJsZWQgaW4gYnVpbGRfaW5mby5oIGJ5IG1vZHVsZXMgdGhhdCBuZWVkIGl0LAotICAgICMgd2hpY2ggd2UgaGF2ZW4ndCBkaXNhYmxlZCwgc28gbm8gbmVlZCB0byBleHBsaWNpdGx5IGVuYWJsZSBpdC4KLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi0KLSAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIHRoZSBITUFDIGZ1bmN0aW9ucywgYnV0IHRoZSBoYXNoaW5nIGZ1bmN0aW9ucwotICAgIG5vdCBncmVwIG1iZWR0bHNfbWRfaG1hYyBsaWJyYXJ5L21kLm8KLSAgICBncmVwIG1iZWR0bHNfbWQgbGlicmFyeS9tZC5vCi0KLSAgICBtc2cgInRlc3Q6IGNyeXB0b19mdWxsIHdpdGggb25seSB0aGUgbGlnaHQgc3Vic2V0IG9mIE1EIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9mdWxsX25vX2NpcGhlcl9ub19wc2FfY3J5cHRvICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIG5vIENJUEhFUiBubyBQU0FfQ1JZUFRPX0MiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX0MKLSAgICAjIERvbid0IHB1bGwgaW4gY2lwaGVyIHZpYSBQU0EgbWVjaGFuaXNtcwotICAgICMgKGN1cnJlbnRseSBpZ25vcmVkIGFueXdheSBiZWNhdXNlIHdlIGNvbXBsZXRlbHkgZGlzYWJsZSBQU0EpCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRwotICAgICMgRGlzYWJsZSBmZWF0dXJlcyB0aGF0IGRlcGVuZCBvbiBDSVBIRVJfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ01BQ19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19OSVNUX0tXX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DTElFTlQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFNfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCi0gICAgIyBEaXNhYmxlIGZlYXR1cmVzIHRoYXQgZGVwZW5kIG9uIFBTQV9DUllQVE9fQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NUT1JBR0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0xNU19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfUFJJVkFURQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIG5vIENJUEhFUiBubyBQU0FfQ1JZUFRPX0MiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLSMgVGhpcyBpcyBhIGNvbW1vbiBjb25maWd1cmF0b3IgYW5kIHRlc3QgZnVuY3Rpb24gdGhhdCBpcyB1c2VkIGluOgotIyAtIGNvbXBvbmVudF90ZXN0X2Z1bGxfbm9fY2lwaGVyX3dpdGhfcHNhX2NyeXB0bwotIyAtIGNvbXBvbmVudF90ZXN0X2Z1bGxfbm9fY2lwaGVyX3dpdGhfcHNhX2NyeXB0b19jb25maWcKLSMgSXQgYWNjZXB0cyAyIGlucHV0IHBhcmFtZXRlcnM6Ci0jIC0gJDE6IGJvb2xlYW4gdmFsdWUgd2hpY2ggYmFzaWNhbGx5IHJlZmxlY3RzIHN0YXR1cyBvZiBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHCi0jIC0gJDI6IGEgdGV4dCBzdHJpbmcgd2hpY2ggZGVzY3JpYmVzIHRoZSB0ZXN0IGNvbXBvbmVudAotY29tbW9uX3Rlc3RfZnVsbF9ub19jaXBoZXJfd2l0aF9wc2FfY3J5cHRvICgpIHsKLSAgICBVU0VfQ1JZUFRPX0NPTkZJRz0iJDEiCi0gICAgQ09NUE9ORU5UX0RFU0NSSVBUSU9OPSIkMiIKLQotICAgIG1zZyAiYnVpbGQ6ICRDT01QT05FTlRfREVTQ1JJUFRJT04iCi0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfQwotCi0gICAgaWYgWyAiJFVTRV9DUllQVE9fQ09ORklHIiAtZXEgMSBdOyB0aGVuCi0gICAgICAgICMgVGhlIGJ1aWx0LWluIGltcGxlbWVudGF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgYWxncy9rZXktdHlwZXMgZGVwZW5kcwotICAgICAgICAjIG9uIENJUEhFUl9DIHNvIHdlIGRpc2FibGUgdGhlbS4KLSAgICAgICAgIyBUaGlzIGRvZXMgbm90IGhvbGQgZm9yIEtFWV9UWVBFX0NIQUNIQTIwIGFuZCBBTEdfQ0hBQ0hBMjBfUE9MWTEzMDUKLSAgICAgICAgIyBzbyB3ZSBrZWVwIHRoZW0gZW5hYmxlZC4KLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfQ0NNX1NUQVJfTk9fVEFHCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICRDUllQVE9fQ09ORklHX0ggdW5zZXQgUFNBX1dBTlRfQUxHX0NNQUMKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfQ0JDX05PX1BBRERJTkcKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfQ0JDX1BLQ1M3Ci0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICRDUllQVE9fQ09ORklHX0ggdW5zZXQgUFNBX1dBTlRfQUxHX0NGQgotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0FMR19DVFIKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfRUNCX05PX1BBRERJTkcKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfT0ZCCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICRDUllQVE9fQ09ORklHX0ggdW5zZXQgUFNBX1dBTlRfQUxHX1NUUkVBTV9DSVBIRVIKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9LRVlfVFlQRV9ERVMKLSAgICBlbHNlCi0gICAgICAgICMgRG9uJ3QgcHVsbCBpbiBjaXBoZXIgdmlhIFBTQSBtZWNoYW5pc21zCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcKLSAgICAgICAgIyBEaXNhYmxlIGNpcGhlciBtb2Rlcy9rZXlzIHRoYXQgbWFrZSBQU0EgZGVwZW5kIG9uIENJUEhFUl9DLgotICAgICAgICAjIEtlZXAgQ0hBQ0hBMjAgYW5kIENIQUNIQVBPTFkgZW5hYmxlZCBzaW5jZSB0aGV5IGRvIG5vdCBkZXBlbmQgb24gQ0lQSEVSX0MuCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0LWFsbCBNQkVEVExTX0NJUEhFUl9NT0RFCi0gICAgZmkKLSAgICAjIFRoZSBmb2xsb3dpbmcgbW9kdWxlcyBkaXJlY3RseSBkZXBlbmRzIG9uIENJUEhFUl9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DTUFDX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX05JU1RfS1dfQwotCi0gICAgbWFrZQotCi0gICAgIyBFbnN1cmUgdGhhdCBDSVBIRVJfQyB3YXMgbm90IHJlLWVuYWJsZWQKLSAgICBub3QgZ3JlcCBtYmVkdGxzX2NpcGhlcl9pbml0IGxpYnJhcnkvY2lwaGVyLm8KLQotICAgIG1zZyAidGVzdDogJENPTVBPTkVOVF9ERVNDUklQVElPTiIKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfZnVsbF9ub19jaXBoZXJfd2l0aF9wc2FfY3J5cHRvKCkgewotICAgIGNvbW1vbl90ZXN0X2Z1bGxfbm9fY2lwaGVyX3dpdGhfcHNhX2NyeXB0byAwICJmdWxsIG5vIENJUEhFUiBubyBDUllQVE9fQ09ORklHIgotfQotCi1jb21wb25lbnRfdGVzdF9mdWxsX25vX2NpcGhlcl93aXRoX3BzYV9jcnlwdG9fY29uZmlnKCkgewotICAgIGNvbW1vbl90ZXN0X2Z1bGxfbm9fY2lwaGVyX3dpdGhfcHNhX2NyeXB0byAxICJmdWxsIG5vIENJUEhFUiIKLX0KLQotY29tcG9uZW50X3Rlc3RfZnVsbF9ub19jY20oKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCBubyBQU0FfV0FOVF9BTEdfQ0NNIgotCi0gICAgIyBGdWxsIGNvbmZpZyBlbmFibGVzOgotICAgICMgLSBVU0VfUFNBX0NSWVBUTyBzbyB0aGF0IFRMUyBjb2RlIGRpc3BhdGNoZXMgY2lwaGVyL0FFQUQgdG8gUFNBCi0gICAgIyAtIENSWVBUT19DT05GSUcgc28gdGhhdCBQU0FfV0FOVCBjb25maWcgc3ltYm9scyBhcmUgZXZhbHVhdGVkCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotCi0gICAgIyBEaXNhYmxlIFBTQV9XQU5UX0FMR19DQ00gc28gdGhhdCBDQ00gaXMgbm90IHN1cHBvcnRlZCBpbiBQU0EuIENDTV9DIGlzIHN0aWxsCi0gICAgIyBlbmFibGVkLCBidXQgbm90IHVzZWQgZnJvbSBUTFMgc2luY2UgVVNFX1BTQSBpcyBzZXQuCi0gICAgIyBUaGlzIGlzIGhlbHBmdWwgdG8gZW5zdXJlIHRoYXQgVExTIHRlc3RzIGJlbG93IGhhdmUgcHJvcGVyIGRlcGVuZGVuY2llcy4KLSAgICAjCi0gICAgIyBOb3RlOiBhbHNvIFBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUcgaXMgZW5hYmxlZCwgYnV0IGl0IGRvZXMgbm90IGNhdXNlCi0gICAgIyBQU0FfV0FOVF9BTEdfQ0NNIHRvIGJlIHJlLWVuYWJsZWQuCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DQ00KLQotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogZnVsbCBubyBQU0FfV0FOVF9BTEdfQ0NNIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9mdWxsX25vX2NjbV9zdGFyX25vX3RhZygpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIG5vIFBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUciCi0KLSAgICAjIEZ1bGwgY29uZmlnIGVuYWJsZXMgQ1JZUFRPX0NPTkZJRyBzbyB0aGF0IFBTQV9XQU5UIGNvbmZpZyBzeW1ib2xzIGFyZSBldmFsdWF0ZWQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0KLSAgICAjIERpc2FibGUgQ0NNX1NUQVJfTk9fVEFHLCB3aGljaCBpcyB0aGUgdGFyZ2V0IG9mIHRoaXMgdGVzdCwgYXMgd2VsbCBhcyBhbGwKLSAgICAjIG90aGVyIGNvbXBvbmVudHMgdGhhdCBlbmFibGUgTUJFRFRMU19QU0FfQlVJTFRJTl9DSVBIRVIgaW50ZXJuYWwgc3ltYm9sLgotICAgICMgVGhpcyBiYXNpY2FsbHkgZGlzYWJsZXMgYWxsIHVuYXV0aGVudGljYXRlZCBjaXBoZXJzIG9uIHRoZSBQU0Egc2lkZSwgd2hpbGUKLSAgICAjIGtlZXBpbmcgQUVBRHMgZW5hYmxlZC4KLSAgICAjCi0gICAgIyBOb3RlOiBQU0FfV0FOVF9BTEdfQ0NNIGlzIGVuYWJsZWQsIGJ1dCBpdCBkb2VzIG5vdCBjYXVzZQotICAgICMgUFNBX1dBTlRfQUxHX0NDTV9TVEFSX05PX1RBRyB0byBiZSByZS1lbmFibGVkLgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfQ0NNX1NUQVJfTk9fVEFHCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TVFJFQU1fQ0lQSEVSCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DVFIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NGQgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfT0ZCCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19FQ0JfTk9fUEFERElORwotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfQ0JDX05PX1BBRERJTkcKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NCQ19QS0NTNwotCi0gICAgbWFrZQotCi0gICAgIyBFbnN1cmUgTUJFRFRMU19QU0FfQlVJTFRJTl9DSVBIRVIgd2FzIG5vdCBlbmFibGVkCi0gICAgbm90IGdyZXAgbWJlZHRsc19wc2FfY2lwaGVyIGxpYnJhcnkvcHNhX2NyeXB0b19jaXBoZXIubwotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIG5vIFBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUciCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2Z1bGxfbm9fYmlnbnVtICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIG1pbnVzIGJpZ251bSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19CSUdOVU1fQwotICAgICMgRGlyZWN0IGRlcGVuZGVuY2llcyBvZiBiaWdudW0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19SU0FfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfREhNX0MKLSAgICAjIERpcmVjdCBkZXBlbmRlbmNpZXMgb2YgRUNQCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RIX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDSlBBS0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFCi0gICAgIyBEaXNhYmxlIHdoYXQgYXV0by1lbmFibGVzIEVDUF9MSUdIVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfUEFSU0VfRUNfRVhURU5ERUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQKLSAgICAjIEluZGlyZWN0IGRlcGVuZGVuY2llcyBvZiBFQ1AKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX1JTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfUFNLX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9SU0FfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0pQQUtFX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECi0gICAgIyBEaXJlY3QgZGVwZW5kZW5jaWVzIG9mIERITQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9QU0tfRU5BQkxFRAotICAgICMgRGlyZWN0IGRlcGVuZGVuY2llcyBvZiBSU0EKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9ESEVfUlNBX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9SU0FfUFNLX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9SU0FfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLSAgICAjIFBLIGFuZCBpdHMgZGVwZW5kZW5jaWVzCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19QQVJTRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19XUklURV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X1VTRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X0NSTF9QQVJTRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X0NTUl9QQVJTRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X0NSRUFURV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X0NSVF9XUklURV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X0NTUl9XUklURV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTN19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfU0VSVkVSX05BTUVfSU5ESUNBVElPTgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0FTWU5DX1BSSVZBVEUKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSwotCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIG1pbnVzIGJpZ251bSIKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfc3RyZWFtX2NpcGhlcl9vbmx5ICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IHdpdGggb25seSBzdHJlYW0gY2lwaGVyIgotCi0gICAgIyBEaXNhYmxlIEFFQUQgKGNvbnRyb2xsZWQgYnkgdGhlIHByZXNlbmNlIG9mIG9uZSBvZiBHQ01fQywgQ0NNX0MsIENIQUNIQVBPTFlfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NDTV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKLSAgICAjRGlzYWJsZSBUTFMgMS4zIChhcyBubyBBRUFEKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgICMgRGlzYWJsZSBDQkMtbGVnYWN5IChjb250cm9sbGVkIGJ5IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDIHBsdXMgYXQgbGVhc3Qgb25lIGJsb2NrIGNpcGhlciAoQUVTLCBBUklBLCBDYW1lbGxpYSwgREVTKSkKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotICAgICMgRGlzYWJsZSBDQkMtRXRNIChjb250cm9sbGVkIGJ5IHRoZSBzYW1lIGFzIENCQy1sZWdhY3kgcGx1cyBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMKLSAgICAjIEVuYWJsZSBzdHJlYW0gKGN1cnJlbnRseSB0aGF0J3MganVzdCB0aGUgTlVMTCBwc2V1ZG8tY2lwaGVyIChjb250cm9sbGVkIGJ5IE1CRURUTFNfQ0lQSEVSX05VTExfQ0lQSEVSKSkKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIKLSAgICAjIE1vZHVsZXMgdGhhdCBkZXBlbmQgb24gQUVBRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0NPTlRFWFRfU0VSSUFMSVpBVElPTgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCi0KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IHN0cmVhbSBjaXBoZXIiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICAjIE5vdCBydW5uaW5nIHNzbC1vcHQuc2ggYmVjYXVzZSBtb3N0IHRlc3RzIHJlcXVpcmUgYSBub24tTlVMTCBjaXBoZXJzdWl0ZS4KLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfc3RyZWFtX2NpcGhlcl9vbmx5X3VzZV9wc2EgKCkgewotICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgd2l0aCBvbmx5IHN0cmVhbSBjaXBoZXIgdXNlIHBzYSIKLQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgIyBEaXNhYmxlIEFFQUQgKGNvbnRyb2xsZWQgYnkgdGhlIHByZXNlbmNlIG9mIG9uZSBvZiBHQ01fQywgQ0NNX0MsIENIQUNIQVBPTFlfQykKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0dDTV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQ01fQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0hBQ0hBUE9MWV9DCi0gICAgI0Rpc2FibGUgVExTIDEuMyAoYXMgbm8gQUVBRCkKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLSAgICAjIERpc2FibGUgQ0JDLWxlZ2FjeSAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQyBwbHVzIGF0IGxlYXN0IG9uZSBibG9jayBjaXBoZXIgKEFFUywgQVJJQSwgQ2FtZWxsaWEsIERFUykpCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLSAgICAjIERpc2FibGUgQ0JDLUV0TSAoY29udHJvbGxlZCBieSB0aGUgc2FtZSBhcyBDQkMtbGVnYWN5IHBsdXMgTUJFRFRMU19TU0xfRU5DUllQVF9USEVOX01BQykKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDCi0gICAgIyBFbmFibGUgc3RyZWFtIChjdXJyZW50bHkgdGhhdCdzIGp1c3QgdGhlIE5VTEwgcHNldWRvLWNpcGhlciAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUikpCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQ0lQSEVSX05VTExfQ0lQSEVSCi0gICAgIyBNb2R1bGVzIHRoYXQgZGVwZW5kIG9uIEFFQUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9DT05URVhUX1NFUklBTElaQVRJT04KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9USUNLRVRfQwotCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHdpdGggb25seSBzdHJlYW0gY2lwaGVyIHVzZSBwc2EiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICAjIE5vdCBydW5uaW5nIHNzbC1vcHQuc2ggYmVjYXVzZSBtb3N0IHRlc3RzIHJlcXVpcmUgYSBub24tTlVMTCBjaXBoZXJzdWl0ZS4KLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfY2JjX2xlZ2FjeV9jaXBoZXJfb25seSAoKSB7Ci0gICAgbXNnICJidWlsZDogZGVmYXVsdCB3aXRoIG9ubHkgQ0JDLWxlZ2FjeSBjaXBoZXIiCi0KLSAgICAjIERpc2FibGUgQUVBRCAoY29udHJvbGxlZCBieSB0aGUgcHJlc2VuY2Ugb2Ygb25lIG9mIEdDTV9DLCBDQ01fQywgQ0hBQ0hBUE9MWV9DKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NDTV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKLSAgICAjRGlzYWJsZSBUTFMgMS4zIChhcyBubyBBRUFEKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgICMgRW5hYmxlIENCQy1sZWdhY3kgKGNvbnRyb2xsZWQgYnkgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMgcGx1cyBhdCBsZWFzdCBvbmUgYmxvY2sgY2lwaGVyIChBRVMsIEFSSUEsIENhbWVsbGlhLCBERVMpKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotICAgICMgRGlzYWJsZSBDQkMtRXRNIChjb250cm9sbGVkIGJ5IHRoZSBzYW1lIGFzIENCQy1sZWdhY3kgcGx1cyBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMKLSAgICAjIERpc2FibGUgc3RyZWFtIChjdXJyZW50bHkgdGhhdCdzIGp1c3QgdGhlIE5VTEwgcHNldWRvLWNpcGhlciAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUikpCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIKLSAgICAjIE1vZHVsZXMgdGhhdCBkZXBlbmQgb24gQUVBRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0NPTlRFWFRfU0VSSUFMSVpBVElPTgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCi0KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgY2lwaGVyIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHdpdGggb25seSBDQkMtbGVnYWN5IGNpcGhlciAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiVExTIDEuMiIKLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlYWZ1bHRfY2JjX2xlZ2FjeV9jaXBoZXJfb25seV91c2VfcHNhICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IHdpdGggb25seSBDQkMtbGVnYWN5IGNpcGhlciB1c2UgcHNhIgotCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICAjIERpc2FibGUgQUVBRCAoY29udHJvbGxlZCBieSB0aGUgcHJlc2VuY2Ugb2Ygb25lIG9mIEdDTV9DLCBDQ01fQywgQ0hBQ0hBUE9MWV9DKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NDTV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKLSAgICAjRGlzYWJsZSBUTFMgMS4zIChhcyBubyBBRUFEKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgICMgRW5hYmxlIENCQy1sZWdhY3kgKGNvbnRyb2xsZWQgYnkgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMgcGx1cyBhdCBsZWFzdCBvbmUgYmxvY2sgY2lwaGVyIChBRVMsIEFSSUEsIENhbWVsbGlhLCBERVMpKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotICAgICMgRGlzYWJsZSBDQkMtRXRNIChjb250cm9sbGVkIGJ5IHRoZSBzYW1lIGFzIENCQy1sZWdhY3kgcGx1cyBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMKLSAgICAjIERpc2FibGUgc3RyZWFtIChjdXJyZW50bHkgdGhhdCdzIGp1c3QgdGhlIE5VTEwgcHNldWRvLWNpcGhlciAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUikpCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIKLSAgICAjIE1vZHVsZXMgdGhhdCBkZXBlbmQgb24gQUVBRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0NPTlRFWFRfU0VSSUFMSVpBVElPTgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCi0KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgY2lwaGVyIHVzZSBwc2EiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgY2lwaGVyIHVzZSBwc2EgLSBzc2wtb3B0LnNoIChzdWJzZXQpIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgIlRMUyAxLjIiCi19Ci0KLWNvbXBvbmVudF90ZXN0X3RsczFfMl9kZWZhdWx0X2NiY19sZWdhY3lfY2JjX2V0bV9jaXBoZXJfb25seSAoKSB7Ci0gICAgbXNnICJidWlsZDogZGVmYXVsdCB3aXRoIG9ubHkgQ0JDLWxlZ2FjeSBhbmQgQ0JDLUV0TSBjaXBoZXJzIgotCi0gICAgIyBEaXNhYmxlIEFFQUQgKGNvbnRyb2xsZWQgYnkgdGhlIHByZXNlbmNlIG9mIG9uZSBvZiBHQ01fQywgQ0NNX0MsIENIQUNIQVBPTFlfQykKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0dDTV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQ01fQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0hBQ0hBUE9MWV9DCi0gICAgI0Rpc2FibGUgVExTIDEuMyAoYXMgbm8gQUVBRCkKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLSAgICAjIEVuYWJsZSBDQkMtbGVnYWN5IChjb250cm9sbGVkIGJ5IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDIHBsdXMgYXQgbGVhc3Qgb25lIGJsb2NrIGNpcGhlciAoQUVTLCBBUklBLCBDYW1lbGxpYSwgREVTKSkKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLSAgICAjIEVuYWJsZSBDQkMtRXRNIChjb250cm9sbGVkIGJ5IHRoZSBzYW1lIGFzIENCQy1sZWdhY3kgcGx1cyBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDCi0gICAgIyBEaXNhYmxlIHN0cmVhbSAoY3VycmVudGx5IHRoYXQncyBqdXN0IHRoZSBOVUxMIHBzZXVkby1jaXBoZXIgKGNvbnRyb2xsZWQgYnkgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIpKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX05VTExfQ0lQSEVSCi0gICAgIyBNb2R1bGVzIHRoYXQgZGVwZW5kIG9uIEFFQUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9DT05URVhUX1NFUklBTElaQVRJT04KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9USUNLRVRfQwotCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHdpdGggb25seSBDQkMtbGVnYWN5IGFuZCBDQkMtRXRNIGNpcGhlcnMiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgYW5kIENCQy1FdE0gY2lwaGVycyAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiVExTIDEuMiIKLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfY2JjX2xlZ2FjeV9jYmNfZXRtX2NpcGhlcl9vbmx5X3VzZV9wc2EgKCkgewotICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgYW5kIENCQy1FdE0gY2lwaGVycyB1c2UgcHNhIgotCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICAjIERpc2FibGUgQUVBRCAoY29udHJvbGxlZCBieSB0aGUgcHJlc2VuY2Ugb2Ygb25lIG9mIEdDTV9DLCBDQ01fQywgQ0hBQ0hBUE9MWV9DKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NDTV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKLSAgICAjRGlzYWJsZSBUTFMgMS4zIChhcyBubyBBRUFEKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgICMgRW5hYmxlIENCQy1sZWdhY3kgKGNvbnRyb2xsZWQgYnkgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMgcGx1cyBhdCBsZWFzdCBvbmUgYmxvY2sgY2lwaGVyIChBRVMsIEFSSUEsIENhbWVsbGlhLCBERVMpKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotICAgICMgRW5hYmxlIENCQy1FdE0gKGNvbnRyb2xsZWQgYnkgdGhlIHNhbWUgYXMgQ0JDLWxlZ2FjeSBwbHVzIE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMpCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMKLSAgICAjIERpc2FibGUgc3RyZWFtIChjdXJyZW50bHkgdGhhdCdzIGp1c3QgdGhlIE5VTEwgcHNldWRvLWNpcGhlciAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUikpCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIKLSAgICAjIE1vZHVsZXMgdGhhdCBkZXBlbmQgb24gQUVBRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0NPTlRFWFRfU0VSSUFMSVpBVElPTgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCi0KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgYW5kIENCQy1FdE0gY2lwaGVycyB1c2UgcHNhIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHdpdGggb25seSBDQkMtbGVnYWN5IGFuZCBDQkMtRXRNIGNpcGhlcnMgdXNlIHBzYSAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiVExTIDEuMiIKLX0KLQotIyBXZSdyZSBub3QgYXdhcmUgb2YgYW55IG90aGVyIChvcGVuIHNvdXJjZSkgaW1wbGVtZW50YXRpb24gb2YgRUMgSi1QQUtFIGluIFRMUwotIyB0aGF0IHdlIGNvdWxkIHVzZSBmb3IgaW50ZXJvcCB0ZXN0aW5nLiBIb3dldmVyLCB3ZSBub3cgaGF2ZSBzb3J0IG9mIHR3bwotIyBpbXBsZW1lbnRhdGlvbnMgb3Vyc2VsdmVzOiBvbmUgdXNpbmcgUFNBLCB0aGUgb3RoZXIgbm90LiBBdCBsZWFzdCB0ZXN0IHRoYXQKLSMgdGhlc2UgdHdvIGludGVyb3BlcmF0ZSB3aXRoIGVhY2ggb3RoZXIuCi1jb21wb25lbnRfdGVzdF90bHMxXzJfZWNqcGFrZV9jb21wYXRpYmlsaXR5KCkgewotICAgIG1zZyAiYnVpbGQ6IFRMUzEuMiBzZXJ2ZXIrY2xpZW50IHcvIEVDLUpQQUtFIHcvbyBVU0VfUFNBIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0pQQUtFX0VOQUJMRUQKLSAgICAjIEV4cGxpY2l0bHkgbWFrZSBsaWIgZmlyc3QgdG8gYXZvaWQgYSByYWNlIGNvbmRpdGlvbjoKLSAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy84MjI5Ci0gICAgbWFrZSBsaWIKLSAgICBtYWtlIC1DIHByb2dyYW1zIHNzbC9zc2xfc2VydmVyMiBzc2wvc3NsX2NsaWVudDIKLSAgICBjcCBwcm9ncmFtcy9zc2wvc3NsX3NlcnZlcjIgczJfbm9fdXNlX3BzYQotICAgIGNwIHByb2dyYW1zL3NzbC9zc2xfY2xpZW50MiBjMl9ub191c2VfcHNhCi0KLSAgICBtc2cgImJ1aWxkOiBUTFMxLjIgc2VydmVyK2NsaWVudCB3LyBFQy1KUEFLRSB3LyBVU0VfUFNBIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgbWFrZSBjbGVhbgotICAgIG1ha2UgbGliCi0gICAgbWFrZSAtQyBwcm9ncmFtcyBzc2wvc3NsX3NlcnZlcjIgc3NsL3NzbF9jbGllbnQyCi0gICAgbWFrZSAtQyBwcm9ncmFtcyB0ZXN0L3VkcF9wcm94eSB0ZXN0L3F1ZXJ5X2NvbXBpbGVfdGltZV9jb25maWcKLQotICAgIG1zZyAidGVzdDogc2VydmVyIHcvbyBVU0VfUFNBIC0gY2xpZW50IHcvIFVTRV9QU0EsIHRleHQgcGFzc3dvcmQiCi0gICAgUF9TUlY9Li4vczJfbm9fdXNlX3BzYSB0ZXN0cy9zc2wtb3B0LnNoIC1mICJFQ0pQQUtFOiB3b3JraW5nLCBUTFMiCi0gICAgbXNnICJ0ZXN0OiBzZXJ2ZXIgdy9vIFVTRV9QU0EgLSBjbGllbnQgdy8gVVNFX1BTQSwgb3BhcXVlIHBhc3N3b3JkIgotICAgIFBfU1JWPS4uL3MyX25vX3VzZV9wc2EgdGVzdHMvc3NsLW9wdC5zaCAtZiAiRUNKUEFLRTogb3BhcXVlIHBhc3N3b3JkIGNsaWVudCBvbmx5LCB3b3JraW5nLCBUTFMiCi0gICAgbXNnICJ0ZXN0OiBjbGllbnQgdy9vIFVTRV9QU0EgLSBzZXJ2ZXIgdy8gVVNFX1BTQSwgdGV4dCBwYXNzd29yZCIKLSAgICBQX0NMST0uLi9jMl9ub191c2VfcHNhIHRlc3RzL3NzbC1vcHQuc2ggLWYgIkVDSlBBS0U6IHdvcmtpbmcsIFRMUyIKLSAgICBtc2cgInRlc3Q6IGNsaWVudCB3L28gVVNFX1BTQSAtIHNlcnZlciB3LyBVU0VfUFNBLCBvcGFxdWUgcGFzc3dvcmQiCi0gICAgUF9DTEk9Li4vYzJfbm9fdXNlX3BzYSB0ZXN0cy9zc2wtb3B0LnNoIC1mICJFQ0pQQUtFOiBvcGFxdWUgcGFzc3dvcmQgc2VydmVyIG9ubHksIHdvcmtpbmcsIFRMUyIKLQotICAgIHJtIHMyX25vX3VzZV9wc2EgYzJfbm9fdXNlX3BzYQotfQotCi1jb21wb25lbnRfdGVzdF9ldmVyZXN0ICgpIHsKLSAgICBtc2cgImJ1aWxkOiBFdmVyZXN0IEVDREggY29udGV4dCAoQVNhbiBidWlsZCkiICMgfiA2IG1pbgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VDREhfVkFSSUFOVF9FVkVSRVNUX0VOQUJMRUQKLSAgICBDQz1jbGFuZyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IEV2ZXJlc3QgRUNESCBjb250ZXh0IC0gbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoQVNhbiBidWlsZCkiICMgfiA1MHMKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAidGVzdDogbWV0YXRlc3RzIChjbGFuZywgQVNhbikiCi0gICAgdGVzdHMvc2NyaXB0cy9ydW4tbWV0YXRlc3RzLnNoIGFueSBhc2FuIHBvaXNvbgotCi0gICAgbXNnICJ0ZXN0OiBFdmVyZXN0IEVDREggY29udGV4dCAtIEVDREgtcmVsYXRlZCBwYXJ0IG9mIHNzbC1vcHQuc2ggKEFTYW4gYnVpbGQpIiAjIH4gNXMKLSAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mIEVDREgKLQotICAgIG1zZyAidGVzdDogRXZlcmVzdCBFQ0RIIGNvbnRleHQgLSBjb21wYXQuc2ggd2l0aCBzb21lIEVDREggY2lwaGVyc3VpdGVzIChBU2FuIGJ1aWxkKSIgIyB+IDMgbWluCi0gICAgIyBFeGNsdWRlIHNvbWUgc3ltbWV0cmljIGNpcGhlcnMgdGhhdCBhcmUgcmVkdW5kYW50IGhlcmUgdG8gZ2FpbiB0aW1lLgotICAgIHRlc3RzL2NvbXBhdC5zaCAtZiBFQ0RIIC1WIE5PIC1lICdBUklBXHxDQU1FTExJQVx8Q0hBQ0hBJwotfQotCi1jb21wb25lbnRfdGVzdF9ldmVyZXN0X2N1cnZlMjU1MTlfb25seSAoKSB7Ci0gICAgbXNnICJidWlsZDogRXZlcmVzdCBFQ0RIIGNvbnRleHQsIG9ubHkgQ3VydmUyNTUxOSIgIyB+IDYgbWluCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRUNESF9WQVJJQU5UX0VWRVJFU1RfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfRUNEU0FfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDSlBBS0VfQwotICAgICMgRGlzYWJsZSBhbGwgY3VydmVzCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQtYWxsICJNQkVEVExTX0VDUF9EUF9bMC05QS1aX2Etel0qX0VOQUJMRUQiCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRUNQX0RQX0NVUlZFMjU1MTlfRU5BQkxFRAotCi0gICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotCi0gICAgbXNnICJ0ZXN0OiBFdmVyZXN0IEVDREggY29udGV4dCwgb25seSBDdXJ2ZTI1NTE5IiAjIH4gNTBzCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3NtYWxsX3NzbF9vdXRfY29udGVudF9sZW4gKCkgewotICAgIG1zZyAiYnVpbGQ6IHNtYWxsIFNTTF9PVVRfQ09OVEVOVF9MRU4gKEFTYW4gYnVpbGQpIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9JTl9DT05URU5UX0xFTiAxNjM4NAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9PVVRfQ09OVEVOVF9MRU4gNDA5NgotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogc21hbGwgU1NMX09VVF9DT05URU5UX0xFTiAtIHNzbC1vcHQuc2ggTUZMIGFuZCBsYXJnZSBwYWNrZXQgdGVzdHMiCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiTWF4IGZyYWdtZW50XHxMYXJnZSBwYWNrZXQiCi19Ci0KLWNvbXBvbmVudF90ZXN0X3NtYWxsX3NzbF9pbl9jb250ZW50X2xlbiAoKSB7Ci0gICAgbXNnICJidWlsZDogc21hbGwgU1NMX0lOX0NPTlRFTlRfTEVOIChBU2FuIGJ1aWxkKSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TU0xfSU5fQ09OVEVOVF9MRU4gNDA5NgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9PVVRfQ09OVEVOVF9MRU4gMTYzODQKLSAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IHNtYWxsIFNTTF9JTl9DT05URU5UX0xFTiAtIHNzbC1vcHQuc2ggTUZMIHRlc3RzIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgIk1heCBmcmFnbWVudCIKLX0KLQotY29tcG9uZW50X3Rlc3Rfc21hbGxfc3NsX2R0bHNfbWF4X2J1ZmZlcmluZyAoKSB7Ci0gICAgbXNnICJidWlsZDogc21hbGwgTUJFRFRMU19TU0xfRFRMU19NQVhfQlVGRkVSSU5HICMwIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9EVExTX01BWF9CVUZGRVJJTkcgMTAwMAotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogc21hbGwgTUJFRFRMU19TU0xfRFRMU19NQVhfQlVGRkVSSU5HICMwIC0gc3NsLW9wdC5zaCBzcGVjaWZpYyByZW9yZGVyaW5nIHRlc3QiCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiRFRMUyByZW9yZGVyaW5nOiBCdWZmZXIgb3V0LW9mLW9yZGVyIGhzIG1zZyBiZWZvcmUgcmVhc3NlbWJsaW5nIG5leHQsIGZyZWUgYnVmZmVyZWQgbXNnIgotfQotCi1jb21wb25lbnRfdGVzdF9zbWFsbF9tYmVkdGxzX3NzbF9kdGxzX21heF9idWZmZXJpbmcgKCkgewotICAgIG1zZyAiYnVpbGQ6IHNtYWxsIE1CRURUTFNfU1NMX0RUTFNfTUFYX0JVRkZFUklORyAjMSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TU0xfRFRMU19NQVhfQlVGRkVSSU5HIDE5MAotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogc21hbGwgTUJFRFRMU19TU0xfRFRMU19NQVhfQlVGRkVSSU5HICMxIC0gc3NsLW9wdC5zaCBzcGVjaWZpYyByZW9yZGVyaW5nIHRlc3QiCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiRFRMUyByZW9yZGVyaW5nOiBCdWZmZXIgZW5jcnlwdGVkIEZpbmlzaGVkIG1lc3NhZ2UsIGRyb3AgZm9yIGZyYWdtZW50ZWQgTmV3U2Vzc2lvblRpY2tldCIKLX0KLQotY29tcG9uZW50X3Rlc3RfcHNhX2NvbGxlY3Rfc3RhdHVzZXMgKCkgewotICBtc2cgImJ1aWxkK3Rlc3Q6IHBzYV9jb2xsZWN0X3N0YXR1c2VzIiAjIH4zMHMKLSAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICB0ZXN0cy9zY3JpcHRzL3BzYV9jb2xsZWN0X3N0YXR1c2VzLnB5Ci0gICMgQ2hlY2sgdGhhdCBwc2FfY3J5cHRvX2luaXQoKSBzdWNjZWVkZWQgYXQgbGVhc3Qgb25jZQotICBncmVwIC1xICdeMDpwc2FfY3J5cHRvX2luaXQ6JyB0ZXN0cy9zdGF0dXNlcy5sb2cKLSAgcm0gLWYgdGVzdHMvc3RhdHVzZXMubG9nCi19Ci0KLWNvbXBvbmVudF90ZXN0X2Z1bGxfY21ha2VfY2xhbmcgKCkgewotICAgIG1zZyAiYnVpbGQ6IGNtYWtlLCBmdWxsIGNvbmZpZywgY2xhbmciICMgfiA1MHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgQ0M9Y2xhbmcgQ1hYPWNsYW5nIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPVJlbGVhc2UgLUQgRU5BQkxFX1RFU1RJTkc9T24gLUQgVEVTVF9DUFA9MSAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyAoZnVsbCBjb25maWcsIGNsYW5nKSIgIyB+IDVzCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IGNwcF9kdW1teV9idWlsZCAoZnVsbCBjb25maWcsIGNsYW5nKSIgIyB+IDFzCi0gICAgcHJvZ3JhbXMvdGVzdC9jcHBfZHVtbXlfYnVpbGQKLQotICAgIG1zZyAidGVzdDogbWV0YXRlc3RzIChjbGFuZykiCi0gICAgdGVzdHMvc2NyaXB0cy9ydW4tbWV0YXRlc3RzLnNoIGFueSBwdGhyZWFkCi0KLSAgICBtc2cgInByb2dyYW0gZGVtb3MgKGZ1bGwgY29uZmlnLCBjbGFuZykiICMgfjEwcwotICAgIHRlc3RzL3NjcmlwdHMvcnVuX2RlbW9zLnB5Ci0KLSAgICBtc2cgInRlc3Q6IHBzYV9jb25zdGFudF9uYW1lcyAoZnVsbCBjb25maWcsIGNsYW5nKSIgIyB+IDFzCi0gICAgdGVzdHMvc2NyaXB0cy90ZXN0X3BzYV9jb25zdGFudF9uYW1lcy5weQotCi0gICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIGRlZmF1bHQsIEVDSlBBS0UsIFNTTCBhc3luYyAoZnVsbCBjb25maWcpIiAjIH4gMXMKLSAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICdEZWZhdWx0XHxFQ0pQQUtFXHxTU0wgYXN5bmMgcHJpdmF0ZScKLQotICAgIG1zZyAidGVzdDogY29tcGF0LnNoIE5VTEwgKGZ1bGwgY29uZmlnKSIgIyB+IDIgbWluCi0gICAgdGVzdHMvY29tcGF0LnNoIC1lICdeJCcgLWYgJ05VTEwnCi0KLSAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCBBUklBICsgQ2hhY2hhUG9seSIKLSAgICBlbnYgT1BFTlNTTD0iJE9QRU5TU0xfTkVYVCIgdGVzdHMvY29tcGF0LnNoIC1lICdeJCcgLWYgJ0FSSUFcfENIQUNIQScKLX0KLQotc2tpcF9zdWl0ZXNfd2l0aG91dF9jb25zdGFudF9mbG93ICgpIHsKLSAgICAjIFNraXAgdGhlIHRlc3Qgc3VpdGVzIHRoYXQgZG9uJ3QgaGF2ZSBhbnkgY29uc3RhbnQtZmxvdyBhbm5vdGF0aW9ucy4KLSAgICAjIFRoaXMgd2lsbCBuZWVkIHRvIGJlIGFkanVzdGVkIGlmIHdlIGV2ZXIgc3RhcnQgZGVjbGFyaW5nIHRoaW5ncyBhcwotICAgICMgc2VjcmV0IGZyb20gbWFjcm9zIG9yIGZ1bmN0aW9ucyBpbnNpZGUgdGVzdHMvaW5jbHVkZSBvciB0ZXN0cy9zcmMuCi0gICAgU0tJUF9URVNUX1NVSVRFUz0kKAotICAgICAgICBnaXQgLUMgdGVzdHMvc3VpdGVzIGdyZXAgLUwgVEVTVF9DRl8gJ3Rlc3Rfc3VpdGVfKi5mdW5jdGlvbicgfAotICAgICAgICAgICAgc2VkICdzL3Rlc3Rfc3VpdGVfLy87IHMvXC5mdW5jdGlvbiQvLycgfAotICAgICAgICAgICAgdHIgJ1xuJyAsKQotICAgIGV4cG9ydCBTS0lQX1RFU1RfU1VJVEVTCi19Ci0KLXNraXBfYWxsX2V4Y2VwdF9naXZlbl9zdWl0ZSAoKSB7Ci0gICAgIyBTa2lwIGFsbCBidXQgdGhlIGdpdmVuIHRlc3Qgc3VpdGUKLSAgICBTS0lQX1RFU1RfU1VJVEVTPSQoCi0gICAgICAgIGxzIC0xIHRlc3RzL3N1aXRlcy90ZXN0X3N1aXRlXyouZnVuY3Rpb24gfAotICAgICAgICBncmVwIC12ICQxLmZ1bmN0aW9uIHwKLSAgICAgICAgIHNlZCAncy90ZXN0cy5zdWl0ZXMudGVzdF9zdWl0ZV8vLzsgcy9cLmZ1bmN0aW9uJC8vJyB8Ci0gICAgICAgIHRyICdcbicgLCkKLSAgICBleHBvcnQgU0tJUF9URVNUX1NVSVRFUwotfQotCi1jb21wb25lbnRfdGVzdF9tZW1zYW5fY29uc3RhbnRfZmxvdyAoKSB7Ci0gICAgIyBUaGlzIHRlc3RzIGJvdGggKDEpIGFjY2Vzc2VzIHRvIHVuZGVmaW5lZCBtZW1vcnksIGFuZCAoMikgYnJhbmNoZXMgb3IKLSAgICAjIG1lbW9yeSBhY2Nlc3MgZGVwZW5kaW5nIG9uIHNlY3JldCB2YWx1ZXMuIFRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhvc2U6Ci0gICAgIyAtIHVuc2V0IE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX01FTVNBTiAtIGRvZXMgdGhlIGZhaWx1cmUgcGVyc2lzdD8KLSAgICAjIC0gb3IgYWx0ZXJuYXRpdmVseSwgY2hhbmdlIHRoZSBidWlsZCB0eXBlIHRvIE1lbVNhbkRiZywgd2hpY2ggZW5hYmxlcwotICAgICMgb3JpZ2luIHRyYWNraW5nIGFuZCBuaWNlciBzdGFjayB0cmFjZXMgKHdoaWNoIGFyZSB1c2VmdWwgZm9yIGRlYnVnZ2luZwotICAgICMgYW55d2F5KSwgYW5kIGNoZWNrIGlmIHRoZSBvcmlnaW4gd2FzIFRFU1RfQ0ZfU0VDUkVUKCkgb3Igc29tZXRoaW5nIGVsc2UuCi0gICAgbXNnICJidWlsZDogY21ha2UgTVNhbiAoY2xhbmcpLCBmdWxsIGNvbmZpZyBtaW51cyBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIHdpdGggY29uc3RhbnQgZmxvdyB0ZXN0aW5nIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfTUVNU0FOCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQyAjIG1lbXNhbiBkb2Vzbid0IGdyb2sgYXNtCi0gICAgQ0M9Y2xhbmcgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9TWVtU2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChmdWxsIG1pbnVzIE1CRURUTFNfVVNFX1BTQV9DUllQVE8sIE1zYW4gKyBjb25zdGFudCBmbG93KSIKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfbWVtc2FuX2NvbnN0YW50X2Zsb3dfcHNhICgpIHsKLSAgICAjIFRoaXMgdGVzdHMgYm90aCAoMSkgYWNjZXNzZXMgdG8gdW5kZWZpbmVkIG1lbW9yeSwgYW5kICgyKSBicmFuY2hlcyBvcgotICAgICMgbWVtb3J5IGFjY2VzcyBkZXBlbmRpbmcgb24gc2VjcmV0IHZhbHVlcy4gVG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aG9zZToKLSAgICAjIC0gdW5zZXQgTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfTUVNU0FOIC0gZG9lcyB0aGUgZmFpbHVyZSBwZXJzaXN0PwotICAgICMgLSBvciBhbHRlcm5hdGl2ZWx5LCBjaGFuZ2UgdGhlIGJ1aWxkIHR5cGUgdG8gTWVtU2FuRGJnLCB3aGljaCBlbmFibGVzCi0gICAgIyBvcmlnaW4gdHJhY2tpbmcgYW5kIG5pY2VyIHN0YWNrIHRyYWNlcyAod2hpY2ggYXJlIHVzZWZ1bCBmb3IgZGVidWdnaW5nCi0gICAgIyBhbnl3YXkpLCBhbmQgY2hlY2sgaWYgdGhlIG9yaWdpbiB3YXMgVEVTVF9DRl9TRUNSRVQoKSBvciBzb21ldGhpbmcgZWxzZS4KLSAgICBtc2cgImJ1aWxkOiBjbWFrZSBNU2FuIChjbGFuZyksIGZ1bGwgY29uZmlnIHdpdGggY29uc3RhbnQgZmxvdyB0ZXN0aW5nIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfTUVNU0FOCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DICMgbWVtc2FuIGRvZXNuJ3QgZ3JvayBhc20KLSAgICBDQz1jbGFuZyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1NZW1TYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMgKE1zYW4gKyBjb25zdGFudCBmbG93KSIKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3JlbGVhc2VfdGVzdF92YWxncmluZF9jb25zdGFudF9mbG93ICgpIHsKLSAgICAjIFRoaXMgdGVzdHMgYm90aCAoMSkgZXZlcnl0aGluZyB0aGF0IHZhbGdyaW5kJ3MgbWVtY2hlY2sgdXN1YWxseSBjaGVja3MKLSAgICAjIChoZWFwIGJ1ZmZlciBvdmVyZmxvd3MsIHVzZSBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSwgdXNlLWFmdGVyLWZyZWUsCi0gICAgIyBldGMuKSBhbmQgKDIpIGJyYW5jaGVzIG9yIG1lbW9yeSBhY2Nlc3MgZGVwZW5kaW5nIG9uIHNlY3JldCB2YWx1ZXMsCi0gICAgIyB3aGljaCB3aWxsIGJlIHJlcG9ydGVkIGFzIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LiBUbyBkaXN0aW5ndWlzaCBiZXR3ZWVuCi0gICAgIyBzZWNyZXQgYW5kIGFjdHVhbGx5IHVuaW5pdGlhbGl6ZWQ6Ci0gICAgIyAtIHVuc2V0IE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX1ZBTEdSSU5EIC0gZG9lcyB0aGUgZmFpbHVyZSBwZXJzaXN0PwotICAgICMgLSBvciBhbHRlcm5hdGl2ZWx5LCBidWlsZCB3aXRoIGRlYnVnIGluZm8gYW5kIG1hbnVhbGx5IHJ1biB0aGUgb2ZmZW5kaW5nCi0gICAgIyB0ZXN0IHN1aXRlIHdpdGggdmFsZ3JpbmQgLS10cmFjay1vcmlnaW5zPXllcywgdGhlbiBjaGVjayBpZiB0aGUgb3JpZ2luCi0gICAgIyB3YXMgVEVTVF9DRl9TRUNSRVQoKSBvciBzb21ldGhpbmcgZWxzZS4KLSAgICBtc2cgImJ1aWxkOiBjbWFrZSByZWxlYXNlIEdDQywgZnVsbCBjb25maWcgbWludXMgTUJFRFRMU19VU0VfUFNBX0NSWVBUTyB3aXRoIGNvbnN0YW50IGZsb3cgdGVzdGluZyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX1ZBTEdSSU5ECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNraXBfc3VpdGVzX3dpdGhvdXRfY29uc3RhbnRfZmxvdwotICAgIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPVJlbGVhc2UgLgotICAgIG1ha2UKLQotICAgICMgdGhpcyBvbmx5IHNob3dzIGEgc3VtbWFyeSBvZiB0aGUgcmVzdWx0cyAoaG93IG1hbnkgb2YgZWFjaCB0eXBlKQotICAgICMgZGV0YWlscyBhcmUgbGVmdCBpbiBUZXN0aW5nLzxkYXRlPi9EeW5hbWljQW5hbHlzaXMueG1sCi0gICAgbXNnICJ0ZXN0OiBzb21lIHN1aXRlcyAoZnVsbCBtaW51cyBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPLCB2YWxncmluZCArIGNvbnN0YW50IGZsb3cpIgotICAgIG1ha2UgbWVtY2hlY2sKLQotICAgICMgVGVzdCBhc20gcGF0aCBpbiBjb25zdGFudCB0aW1lIG1vZHVsZSAtIGJ5IGRlZmF1bHQsIGl0IHdpbGwgdGVzdCB0aGUgcGxhaW4gQwotICAgICMgcGF0aCB1bmRlciBWYWxncmluZCBvciBNZW1zYW4uIFJ1bm5pbmcgb25seSB0aGUgY29uc3RhbnRfdGltZSB0ZXN0cyBpcyBmYXN0ICg8MXMpCi0gICAgbXNnICJ0ZXN0OiB2YWxncmluZCBhc20gY29uc3RhbnRfdGltZSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtLWZvcmNlIHNldCBNQkVEVExTX1RFU1RfQ09OU1RBTlRfRkxPV19BU00KLSAgICBza2lwX2FsbF9leGNlcHRfZ2l2ZW5fc3VpdGUgdGVzdF9zdWl0ZV9jb25zdGFudF90aW1lCi0gICAgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9UmVsZWFzZSAuCi0gICAgbWFrZSBjbGVhbgotICAgIG1ha2UKLSAgICBtYWtlIG1lbWNoZWNrCi19Ci0KLWNvbXBvbmVudF9yZWxlYXNlX3Rlc3RfdmFsZ3JpbmRfY29uc3RhbnRfZmxvd19wc2EgKCkgewotICAgICMgVGhpcyB0ZXN0cyBib3RoICgxKSBldmVyeXRoaW5nIHRoYXQgdmFsZ3JpbmQncyBtZW1jaGVjayB1c3VhbGx5IGNoZWNrcwotICAgICMgKGhlYXAgYnVmZmVyIG92ZXJmbG93cywgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LCB1c2UtYWZ0ZXItZnJlZSwKLSAgICAjIGV0Yy4pIGFuZCAoMikgYnJhbmNoZXMgb3IgbWVtb3J5IGFjY2VzcyBkZXBlbmRpbmcgb24gc2VjcmV0IHZhbHVlcywKLSAgICAjIHdoaWNoIHdpbGwgYmUgcmVwb3J0ZWQgYXMgdW5pbml0aWFsaXplZCBtZW1vcnkuIFRvIGRpc3Rpbmd1aXNoIGJldHdlZW4KLSAgICAjIHNlY3JldCBhbmQgYWN0dWFsbHkgdW5pbml0aWFsaXplZDoKLSAgICAjIC0gdW5zZXQgTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfVkFMR1JJTkQgLSBkb2VzIHRoZSBmYWlsdXJlIHBlcnNpc3Q/Ci0gICAgIyAtIG9yIGFsdGVybmF0aXZlbHksIGJ1aWxkIHdpdGggZGVidWcgaW5mbyBhbmQgbWFudWFsbHkgcnVuIHRoZSBvZmZlbmRpbmcKLSAgICAjIHRlc3Qgc3VpdGUgd2l0aCB2YWxncmluZCAtLXRyYWNrLW9yaWdpbnM9eWVzLCB0aGVuIGNoZWNrIGlmIHRoZSBvcmlnaW4KLSAgICAjIHdhcyBURVNUX0NGX1NFQ1JFVCgpIG9yIHNvbWV0aGluZyBlbHNlLgotICAgIG1zZyAiYnVpbGQ6IGNtYWtlIHJlbGVhc2UgR0NDLCBmdWxsIGNvbmZpZyB3aXRoIGNvbnN0YW50IGZsb3cgdGVzdGluZyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX1ZBTEdSSU5ECi0gICAgc2tpcF9zdWl0ZXNfd2l0aG91dF9jb25zdGFudF9mbG93Ci0gICAgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9UmVsZWFzZSAuCi0gICAgbWFrZQotCi0gICAgIyB0aGlzIG9ubHkgc2hvd3MgYSBzdW1tYXJ5IG9mIHRoZSByZXN1bHRzIChob3cgbWFueSBvZiBlYWNoIHR5cGUpCi0gICAgIyBkZXRhaWxzIGFyZSBsZWZ0IGluIFRlc3RpbmcvPGRhdGU+L0R5bmFtaWNBbmFseXNpcy54bWwKLSAgICBtc2cgInRlc3Q6IHNvbWUgc3VpdGVzICh2YWxncmluZCArIGNvbnN0YW50IGZsb3cpIgotICAgIG1ha2UgbWVtY2hlY2sKLX0KLQotY29tcG9uZW50X3Rlc3RfdHNhbiAoKSB7Ci0gICAgbXNnICJidWlsZDogVFNhbiAoY2xhbmcpIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19USFJFQURJTkdfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1RIUkVBRElOR19QVEhSRUFECi0gICAgIyBTZWxmLXRlc3RzIGRvIG5vdCBjdXJyZW50bHkgdXNlIG11bHRpcGxlIHRocmVhZHMuCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TRUxGX1RFU1QKLQotICAgICMgVGhlIGRlcHJlY2F0ZWQgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MgaW50ZXJmYWNlIGlzIG5vdCB0aHJlYWQgc2FmZS4KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU0VfQwotCi0gICAgQ0M9Y2xhbmcgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9VFNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyAoVFNhbikiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2RlZmF1bHRfbm9fZGVwcmVjYXRlZCAoKSB7Ci0gICAgIyBUZXN0IHRoYXQgcmVtb3ZpbmcgdGhlIGRlcHJlY2F0ZWQgZmVhdHVyZXMgZnJvbSB0aGUgZGVmYXVsdAotICAgICMgY29uZmlndXJhdGlvbiBsZWF2ZXMgc29tZXRoaW5nIGNvbnNpc3RlbnQuCi0gICAgbXNnICJidWlsZDogbWFrZSwgZGVmYXVsdCArIE1CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVEIiAjIH4gMzBzCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVECi0gICAgbWFrZSBDRkxBR1M9Jy1PIC1XZXJyb3IgLVdhbGwgLVdleHRyYScKLQotICAgIG1zZyAidGVzdDogbWFrZSwgZGVmYXVsdCArIE1CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVEIiAjIH4gNXMKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfZnVsbF9ub19kZXByZWNhdGVkICgpIHsKLSAgICBtc2cgImJ1aWxkOiBtYWtlLCBmdWxsX25vX2RlcHJlY2F0ZWQgY29uZmlnIiAjIH4gMzBzCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbF9ub19kZXByZWNhdGVkCi0gICAgbWFrZSBDRkxBR1M9Jy1PIC1XZXJyb3IgLVdhbGwgLVdleHRyYScKLQotICAgIG1zZyAidGVzdDogbWFrZSwgZnVsbF9ub19kZXByZWNhdGVkIGNvbmZpZyIgIyB+IDVzCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IGVuc3VyZSB0aGF0IFg1MDkgaGFzIG5vIGRpcmVjdCBkZXBlbmRlbmN5IG9uIEJJR05VTV9DIgotICAgIG5vdCBncmVwIG1iZWR0bHNfbXBpIGxpYnJhcnkvbGlibWJlZHg1MDkuYQotfQotCi1jb21wb25lbnRfdGVzdF9mdWxsX25vX2RlcHJlY2F0ZWRfZGVwcmVjYXRlZF93YXJuaW5nICgpIHsKLSAgICAjIFRlc3QgdGhhdCB0aGVyZSBpcyBub3RoaW5nIGRlcHJlY2F0ZWQgaW4gImZ1bGxfbm9fZGVwcmVjYXRlZCIuCi0gICAgIyBBIGRlcHJlY2F0ZWQgZmVhdHVyZSB3b3VsZCB0cmlnZ2VyIGEgd2FybmluZyAobWFkZSBmYXRhbCkgZnJvbQotICAgICMgTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkcuCi0gICAgbXNnICJidWlsZDogbWFrZSwgZnVsbF9ub19kZXByZWNhdGVkIGNvbmZpZywgTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkciICMgfiAzMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsX25vX2RlcHJlY2F0ZWQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFUFJFQ0FURURfUkVNT1ZFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0RFUFJFQ0FURURfV0FSTklORwotICAgIG1ha2UgQ0ZMQUdTPSctTyAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnCi0KLSAgICBtc2cgInRlc3Q6IG1ha2UsIGZ1bGxfbm9fZGVwcmVjYXRlZCBjb25maWcsIE1CRURUTFNfREVQUkVDQVRFRF9XQVJOSU5HIiAjIH4gNXMKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfZnVsbF9kZXByZWNhdGVkX3dhcm5pbmcgKCkgewotICAgICMgVGVzdCB0aGF0IHdoZW4gTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkcgaXMgZW5hYmxlZCwgdGhlIGJ1aWxkIHBhc3NlcwotICAgICMgd2l0aCBvbmx5IGNlcnRhaW4gd2hpdGVsaXN0ZWQgdHlwZXMgb2Ygd2FybmluZ3MuCi0gICAgbXNnICJidWlsZDogbWFrZSwgZnVsbCBjb25maWcgKyBNQkVEVExTX0RFUFJFQ0FURURfV0FSTklORywgZXhwZWN0IHdhcm5pbmdzIiAjIH4gMzBzCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0RFUFJFQ0FURURfV0FSTklORwotICAgICMgRXhwZWN0IHdhcm5pbmdzIGZyb20gJyN3YXJuaW5nJyBkaXJlY3RpdmVzIGluIGNoZWNrX2NvbmZpZy5oLgotICAgICMgTm90ZSB0aGF0IGdjYyBpcyByZXF1aXJlZCB0byBhbGxvdyB0aGUgdXNlIG9mIC1Xbm8tZXJyb3I9Y3BwLCB3aGljaCBhbGxvd3MgdXMgdG8KLSAgICAjIGRpc3BsYXkgI3dhcm5pbmcgbWVzc2FnZXMgd2l0aG91dCB0aGVtIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzLgotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLU8gLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1Xbm8tZXJyb3I9Y3BwJyBsaWIgcHJvZ3JhbXMKLQotICAgIG1zZyAiYnVpbGQ6IG1ha2UgdGVzdHMsIGZ1bGwgY29uZmlnICsgTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkcsIGV4cGVjdCB3YXJuaW5ncyIgIyB+IDMwcwotICAgICMgU2V0IE1CRURUTFNfVEVTVF9ERVBSRUNBVEVEIHRvIGVuYWJsZSB0ZXN0cyBmb3IgZGVwcmVjYXRlZCBmZWF0dXJlcy4KLSAgICAjIEJ5IGRlZmF1bHQgdGhvc2UgYXJlIGRpc2FibGVkIHdoZW4gTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkcgaXMgc2V0LgotICAgICMgRXhwZWN0IHdhcm5pbmdzIGZyb20gJyN3YXJuaW5nJyBkaXJlY3RpdmVzIGluIGNoZWNrX2NvbmZpZy5oIGFuZAotICAgICMgZnJvbSB0aGUgdXNlIG9mIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIGluIHRlc3Qgc3VpdGVzLgotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLU8gLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1Xbm8tZXJyb3I9ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMgLVduby1lcnJvcj1jcHAgLURNQkVEVExTX1RFU1RfREVQUkVDQVRFRCcgdGVzdHMKLQotICAgIG1zZyAidGVzdDogZnVsbCBjb25maWcgKyBNQkVEVExTX1RFU1RfREVQUkVDQVRFRCIgIyB+IDMwcwotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJwcm9ncmFtIGRlbW9zOiBmdWxsIGNvbmZpZyArIE1CRURUTFNfVEVTVF9ERVBSRUNBVEVEIiAjIH4xMHMKLSAgICB0ZXN0cy9zY3JpcHRzL3J1bl9kZW1vcy5weQotfQotCi0jIENoZWNrIHRoYXQgdGhlIHNwZWNpZmllZCBsaWJyYXJpZXMgZXhpc3QgYW5kIGFyZSBlbXB0eS4KLWFyZV9lbXB0eV9saWJyYXJpZXMgKCkgewotICBubSAiJEAiID4vZGV2L251bGwgMj4vZGV2L251bGwKLSAgISBubSAiJEAiIDI+L2Rldi9udWxsIHwgZ3JlcCAtdiAnOiQnIHwgZ3JlcCAuCi19Ci0KLWNvbXBvbmVudF9idWlsZF9jcnlwdG9fZGVmYXVsdCAoKSB7Ci0gIG1zZyAiYnVpbGQ6IG1ha2UsIGNyeXB0byBvbmx5IgotICBzY3JpcHRzL2NvbmZpZy5weSBjcnlwdG8KLSAgbWFrZSBDRkxBR1M9Jy1PMSAtV2Vycm9yJwotICBhcmVfZW1wdHlfbGlicmFyaWVzIGxpYnJhcnkvbGlibWJlZHg1MDkuKiBsaWJyYXJ5L2xpYm1iZWR0bHMuKgotfQotCi1jb21wb25lbnRfYnVpbGRfY3J5cHRvX2Z1bGwgKCkgewotICBtc2cgImJ1aWxkOiBtYWtlLCBjcnlwdG8gb25seSwgZnVsbCBjb25maWciCi0gIHNjcmlwdHMvY29uZmlnLnB5IGNyeXB0b19mdWxsCi0gIG1ha2UgQ0ZMQUdTPSctTzEgLVdlcnJvcicKLSAgYXJlX2VtcHR5X2xpYnJhcmllcyBsaWJyYXJ5L2xpYm1iZWR4NTA5LiogbGlicmFyeS9saWJtYmVkdGxzLioKLX0KLQotY29tcG9uZW50X3Rlc3RfY3J5cHRvX2Zvcl9wc2Ffc2VydmljZSAoKSB7Ci0gIG1zZyAiYnVpbGQ6IG1ha2UsIGNvbmZpZyBmb3IgUFNBIGNyeXB0byBzZXJ2aWNlIgotICBzY3JpcHRzL2NvbmZpZy5weSBjcnlwdG8KLSAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19LRVlfSURfRU5DT0RFU19PV05FUgotICAjIERpc2FibGUgdGhpbmdzIHRoYXQgYXJlIG5vdCBuZWVkZWQgZm9yIGp1c3QgY3J5cHRvZ3JhcGh5LCB0bwotICAjIHJlYWNoIGEgY29uZmlndXJhdGlvbiB0aGF0IHdvdWxkIGJlIHR5cGljYWwgZm9yIGEgUFNBIGNyeXB0b2dyYXBoeQotICAjIHNlcnZpY2UgcHJvdmlkaW5nIGFsbCBpbXBsZW1lbnRlZCBQU0EgYWxnb3JpdGhtcy4KLSAgIyBTeXN0ZW0gc3R1ZmYKLSAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FUlJPUl9DCi0gIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVElNSU5HX0MKLSAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19WRVJTSU9OX0ZFQVRVUkVTCi0gICMgQ3J5cHRvIHN0dWZmIHdpdGggbm8gUFNBIGludGVyZmFjZQotICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0JBU0U2NF9DCi0gICMgS2VlcCBNQkVEVExTX0NJUEhFUl9DIGJlY2F1c2UgcHNhX2NyeXB0b19jaXBoZXIsIENDTSBhbmQgR0NNIG5lZWQgaXQuCi0gIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSEtERl9DICMgUFNBJ3MgSEtERiBpcyBpbmRlcGVuZGVudAotICAjIEtlZXAgTUJFRFRMU19NRF9DIGJlY2F1c2UgZGV0ZXJtaW5pc3RpYyBFQ0RTQSBuZWVkcyBpdCBmb3IgSE1BQ19EUkJHLgotICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX05JU1RfS1dfQwotICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BFTV9QQVJTRV9DCi0gIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEVNX1dSSVRFX0MKLSAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMTJfQwotICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M1X0MKLSAgIyBNQkVEVExTX1BLX1BBUlNFX0MgYW5kIE1CRURUTFNfUEtfV1JJVEVfQyBhcmUgYWN0dWFsbHkgY3VycmVudGx5IG5lZWRlZAotICAjIGluIFBTQSBjb2RlIHRvIHdvcmsgd2l0aCBSU0Ega2V5cy4gV2UgZG9uJ3QgcmVxdWlyZSB1c2VycyB0byBzZXQgdGhvc2U6Ci0gICMgdGhleSB3aWxsIGJlIHJlZW5hYmxlZCBpbiBidWlsZF9pbmZvLmguCi0gIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfQwotICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0MKLSAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19XUklURV9DCi0gIG1ha2UgQ0ZMQUdTPSctTzEgLVdlcnJvcicgYWxsIHRlc3QKLSAgYXJlX2VtcHR5X2xpYnJhcmllcyBsaWJyYXJ5L2xpYm1iZWR4NTA5LiogbGlicmFyeS9saWJtYmVkdGxzLioKLX0KLQotY29tcG9uZW50X2J1aWxkX2NyeXB0b19iYXJlbWV0YWwgKCkgewotICBtc2cgImJ1aWxkOiBtYWtlLCBjcnlwdG8gb25seSwgYmFyZW1ldGFsIGNvbmZpZyIKLSAgc2NyaXB0cy9jb25maWcucHkgY3J5cHRvX2JhcmVtZXRhbAotICBtYWtlIENGTEFHUz0iLU8xIC1XZXJyb3IgLUkkUFdEL3Rlc3RzL2luY2x1ZGUvYmFyZW1ldGFsLW92ZXJyaWRlLyIKLSAgYXJlX2VtcHR5X2xpYnJhcmllcyBsaWJyYXJ5L2xpYm1iZWR4NTA5LiogbGlicmFyeS9saWJtYmVkdGxzLioKLX0KLXN1cHBvcnRfYnVpbGRfY3J5cHRvX2JhcmVtZXRhbCAoKSB7Ci0gICAgc3VwcG9ydF9idWlsZF9iYXJlbWV0YWwgIiRAIgotfQotCi1jb21wb25lbnRfYnVpbGRfYmFyZW1ldGFsICgpIHsKLSAgbXNnICJidWlsZDogbWFrZSwgYmFyZW1ldGFsIGNvbmZpZyIKLSAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCi0gIG1ha2UgQ0ZMQUdTPSItTzEgLVdlcnJvciAtSSRQV0QvdGVzdHMvaW5jbHVkZS9iYXJlbWV0YWwtb3ZlcnJpZGUvIgotfQotc3VwcG9ydF9idWlsZF9iYXJlbWV0YWwgKCkgewotICAgICMgT2xkZXIgR2xpYmMgdmVyc2lvbnMgaW5jbHVkZSB0aW1lLmggZnJvbSBvdGhlciBoZWFkZXJzIHN1Y2ggYXMgc3RkbGliLmgsCi0gICAgIyB3aGljaCBtYWtlcyB0aGUgbm8tdGltZS5oLWluLWJhcmVtZXRhbCBjaGVjayBmYWlsLiBVYnVudHUgMTYuMDQgaGFzIHRoaXMKLSAgICAjIHByb2JsZW0sIFVidW50dSAxOC4wNCBpcyBvay4KLSAgICAhIGdyZXAgLXEgLUYgdGltZS5oIC91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251L3N5cy90eXBlcy5oCi19Ci0KLSMgZGVwZW5kcy5weSBmYW1pbHkgb2YgdGVzdHMKLWNvbXBvbmVudF90ZXN0X2RlcGVuZHNfcHlfY2lwaGVyX2lkICgpIHsKLSAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgY2lwaGVyX2lkIChnY2MpIgotICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBjaXBoZXJfaWQgLS11bnNldC11c2UtcHNhCi19Ci0KLWNvbXBvbmVudF90ZXN0X2RlcGVuZHNfcHlfY2lwaGVyX2NoYWluaW5nICgpIHsKLSAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgY2lwaGVyX2NoYWluaW5nIChnY2MpIgotICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBjaXBoZXJfY2hhaW5pbmcgLS11bnNldC11c2UtcHNhCi19Ci0KLWNvbXBvbmVudF90ZXN0X2RlcGVuZHNfcHlfY2lwaGVyX3BhZGRpbmcgKCkgewotICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBjaXBoZXJfcGFkZGluZyAoZ2NjKSIKLSAgICB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkgY2lwaGVyX3BhZGRpbmcgLS11bnNldC11c2UtcHNhCi19Ci0KLWNvbXBvbmVudF90ZXN0X2RlcGVuZHNfcHlfY3VydmVzICgpIHsKLSAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgY3VydmVzIChnY2MpIgotICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBjdXJ2ZXMgLS11bnNldC11c2UtcHNhCi19Ci0KLWNvbXBvbmVudF90ZXN0X2RlcGVuZHNfcHlfaGFzaGVzICgpIHsKLSAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgaGFzaGVzIChnY2MpIgotICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBoYXNoZXMgLS11bnNldC11c2UtcHNhCi19Ci0KLWNvbXBvbmVudF90ZXN0X2RlcGVuZHNfcHlfa2V4ICgpIHsKLSAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkga2V4IChnY2MpIgotICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBrZXggLS11bnNldC11c2UtcHNhCi19Ci0KLWNvbXBvbmVudF90ZXN0X2RlcGVuZHNfcHlfcGthbGdzICgpIHsKLSAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgcGthbGdzIChnY2MpIgotICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBwa2FsZ3MgLS11bnNldC11c2UtcHNhCi19Ci0KLSMgUFNBIGVxdWl2YWxlbnRzIG9mIHRoZSBkZXBlbmRzLnB5IHRlc3RzCi1jb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2NpcGhlcl9pZF9wc2EgKCkgewotICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBjaXBoZXJfaWQgKGdjYykgd2l0aCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGRlZmluZWQiCi0gICAgdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IGNpcGhlcl9pZAotfQotCi1jb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2NpcGhlcl9jaGFpbmluZ19wc2EgKCkgewotICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBjaXBoZXJfY2hhaW5pbmcgKGdjYykgd2l0aCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGRlZmluZWQiCi0gICAgdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IGNpcGhlcl9jaGFpbmluZwotfQotCi1jb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2NpcGhlcl9wYWRkaW5nX3BzYSAoKSB7Ci0gICAgbXNnICJ0ZXN0L2J1aWxkOiBkZXBlbmRzLnB5IGNpcGhlcl9wYWRkaW5nIChnY2MpIHdpdGggTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBkZWZpbmVkIgotICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBjaXBoZXJfcGFkZGluZwotfQotCi1jb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2N1cnZlc19wc2EgKCkgewotICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBjdXJ2ZXMgKGdjYykgd2l0aCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGRlZmluZWQiCi0gICAgdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IGN1cnZlcwotfQotCi1jb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2hhc2hlc19wc2EgKCkgewotICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBoYXNoZXMgKGdjYykgd2l0aCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGRlZmluZWQiCi0gICAgdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IGhhc2hlcwotfQotCi1jb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2tleF9wc2EgKCkgewotICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBrZXggKGdjYykgd2l0aCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGRlZmluZWQiCi0gICAgdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IGtleAotfQotCi1jb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X3BrYWxnc19wc2EgKCkgewotICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBwa2FsZ3MgKGdjYykgd2l0aCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGRlZmluZWQiCi0gICAgdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IHBrYWxncwotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19mZmRoXzIwNDhfb25seSAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgLSBvbmx5IERIIDIwNDgiCi0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0KLSAgICAjIERpc2FibGUgYWxsIERIIGdyb3VwcyBvdGhlciB0aGFuIDIwNDguCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0RIX1JGQzc5MTlfMzA3MgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9ESF9SRkM3OTE5XzQwOTYKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfREhfUkZDNzkxOV82MTQ0Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0RIX1JGQzc5MTlfODE5MgotCi0gICAgbWFrZSBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtV2Vycm9yIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi0KLSAgICBtc2cgInRlc3Q6IGZ1bGwgY29uZmlnIC0gb25seSBESCAyMDQ4IgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJzc2wtb3B0OiBmdWxsIGNvbmZpZyAtIG9ubHkgREggMjA0OCIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICJmZmRoIgotfQotCi1jb21wb25lbnRfYnVpbGRfbm9fcGtfcnNhX2FsdF9zdXBwb3J0ICgpIHsKLSAgICBtc2cgImJ1aWxkOiAhTUJFRFRMU19QS19SU0FfQUxUX1NVUFBPUlQiICMgfjMwcwotCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfUlNBX0FMVF9TVVBQT1JUCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUlNBX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19YNTA5X0NSVF9XUklURV9DCi0KLSAgICAjIE9ubHkgY29tcGlsZSAtIHRoaXMgaXMgcHJpbWFyaWx5IHRvIHRlc3QgZm9yIGNvbXBpbGUgaXNzdWVzCi0gICAgbWFrZSBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtSS4uL3Rlc3RzL2luY2x1ZGUvYWx0LWR1bW15JwotfQotCi1jb21wb25lbnRfYnVpbGRfbW9kdWxlX2FsdCAoKSB7Ci0gICAgbXNnICJidWlsZDogTUJFRFRMU19YWFhfQUxUIiAjIH4zMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0KLSAgICAjIERpc2FibGUgb3B0aW9ucyB0aGF0IGFyZSBpbmNvbXBhdGlibGUgd2l0aCBzb21lIEFMVCBpbXBsZW1lbnRhdGlvbnM6Ci0gICAgIyBhZXNuaS5jIGFuZCBwYWRsb2NrLmMgcmVmZXJlbmNlIG1iZWR0bHNfYWVzX2NvbnRleHQgZmllbGRzIGRpcmVjdGx5LgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEFETE9DS19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNDRV9DCi0gICAgIyBNQkVEVExTX0VDUF9SRVNUQVJUQUJMRSBpcyBkb2N1bWVudGVkIGFzIGluY29tcGF0aWJsZS4KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9SRVNUQVJUQUJMRQotICAgICMgWW91IGNhbiBvbmx5IGhhdmUgb25lIHRocmVhZGluZyBpbXBsZW1lbnRhdGlvbjogYWx0IG9yIHB0aHJlYWQsIG5vdCBib3RoLgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVEhSRUFESU5HX1BUSFJFQUQKLSAgICAjIFRoZSBTcGVjaWZpZWRFQ0RvbWFpbiBwYXJzaW5nIGNvZGUgYWNjZXNzZXMgbWJlZHRsc19lY3BfZ3JvdXAgZmllbGRzCi0gICAgIyBkaXJlY3RseSBhbmQgYXNzdW1lcyB0aGUgaW1wbGVtZW50YXRpb24gd29ya3Mgd2l0aCBwYXJ0aWFsIGdyb3Vwcy4KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0VDX0VYVEVOREVECi0gICAgIyBNQkVEVExTX1NIQTI1Nl8qQUxUIGNhbid0IGJlIHVzZWQgd2l0aCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fKgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BUk1WOF9BX0NSWVBUT19JRl9QUkVTRU5UCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX09OTFkKLSAgICAjIE1CRURUTFNfU0hBNTEyXypBTFQgY2FuJ3QgYmUgdXNlZCB3aXRoIE1CRURUTFNfU0hBNTEyX1VTRV9BNjRfQ1JZUFRPXyoKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTUxMl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEE1MTJfVVNFX0E2NF9DUllQVE9fT05MWQotCi0gICAgIyBFbmFibGUgYWxsIE1CRURUTFNfWFhYX0FMVCBmb3Igd2hvbGUgbW9kdWxlcy4gRG8gbm90IGVuYWJsZQotICAgICMgTUJFRFRMU19YWFhfWVlZX0FMVCB3aGljaCBhcmUgZm9yIHNpbmdsZSBmdW5jdGlvbnMuCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0LWFsbCAnTUJFRFRMU18oW0EtWjAtOV0qfE5JU1RfS1cpX0FMVCcKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RITV9BTFQgI2luY29tcGF0aWJsZSB3aXRoIE1CRURUTFNfREVCVUdfQwotCi0gICAgIyBXZSBjYW4gb25seSBjb21waWxlLCBub3QgbGluaywgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgaW1wbGVtZW50YXRpb25zCi0gICAgIyBzdWl0YWJsZSBmb3IgdGVzdGluZyB3aXRoIHRoZSBkdW1teSBhbHQgaGVhZGVycy4KLSAgICBtYWtlIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1JLi4vdGVzdHMvaW5jbHVkZS9hbHQtZHVtbXknIGxpYgotfQotCi1jb21wb25lbnRfYnVpbGRfZGhtX2FsdCAoKSB7Ci0gICAgbXNnICJidWlsZDogTUJFRFRMU19ESE1fQUxUIiAjIH4zMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfREhNX0FMVAotICAgICMgZGVidWcuYyBjdXJyZW50bHkgcmVmZXJlbmNlcyBtYmVkdGxzX2RobV9jb250ZXh0IGZpZWxkcyBkaXJlY3RseS4KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFQlVHX0MKLSAgICAjIFdlIGNhbiBvbmx5IGNvbXBpbGUsIG5vdCBsaW5rLCBzaW5jZSB3ZSBkb24ndCBoYXZlIGFueSBpbXBsZW1lbnRhdGlvbnMKLSAgICAjIHN1aXRhYmxlIGZvciB0ZXN0aW5nIHdpdGggdGhlIGR1bW15IGFsdCBoZWFkZXJzLgotICAgIG1ha2UgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEgLUkuLi90ZXN0cy9pbmNsdWRlL2FsdC1kdW1teScgbGliCi19Ci0KLWNvbXBvbmVudF90ZXN0X25vX3BzYV9jcnlwdG9fZnVsbF9jbWFrZV9hc2FuKCkgewotICAgICMgZnVsbCBtaW51cyBNQkVEVExTX1BTQV9DUllQVE9fQzogcnVuIHRoZSBzYW1lIHNldCBvZiB0ZXN0cyBhcyBiYXNpYy1idWlsZC10ZXN0LnNoCi0gICAgbXNnICJidWlsZDogY21ha2UsIGZ1bGwgY29uZmlnIG1pbnVzIFBTQSBjcnlwdG8sIEFTYW4iCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9JVFNfRklMRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX1BSSVZBVEUKLSAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChmdWxsIG1pbnVzIFBTQSBjcnlwdG8pIgotICAgIG1ha2UgdGVzdAotCi0gICAgIyBOb3RlOiBzc2wtb3B0LnNoIGhhcyBzb21lIHRlc3QgY2FzZXMgdGhhdCBkZXBlbmQgb24KLSAgICAjIE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFICYmICFNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgIyBUaGlzIGlzIHRoZSBvbmx5IGNvbXBvbmVudCB3aGVyZSB0aG9zZSB0ZXN0cyBhcmUgbm90IHNraXBwZWQuCi0gICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIChmdWxsIG1pbnVzIFBTQSBjcnlwdG8pIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLQotICAgIG1zZyAidGVzdDogY29tcGF0LnNoIGRlZmF1bHQgKGZ1bGwgbWludXMgUFNBIGNyeXB0bykiCi0gICAgdGVzdHMvY29tcGF0LnNoCi0KLSAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCBOVUxMIChmdWxsIG1pbnVzIFBTQSBjcnlwdG8pIgotICAgIHRlc3RzL2NvbXBhdC5zaCAtZiAnTlVMTCcKLQotICAgIG1zZyAidGVzdDogY29tcGF0LnNoIEFSSUEgKyBDaGFjaGFQb2x5IChmdWxsIG1pbnVzIFBTQSBjcnlwdG8pIgotICAgIGVudiBPUEVOU1NMPSIkT1BFTlNTTF9ORVhUIiB0ZXN0cy9jb21wYXQuc2ggLWUgJ14kJyAtZiAnQVJJQVx8Q0hBQ0hBJwotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2RzYSAoKSB7Ci0gICAgbXNnICJidWlsZDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkIEVDRFNBIgotCi0gICAgIyBBbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZQotICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNEU0EgQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EgXAotICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2tleV90eXBlX2xpc3QgIkVDQyIpIFwKLSAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9jdXJ2ZV9saXN0KSIKLQotICAgICMgQ29uZmlndXJlCi0gICAgIyAtLS0tLS0tLS0KLQotICAgICMgU3RhcnQgZnJvbSBkZWZhdWx0IGNvbmZpZyAobm8gVVNFX1BTQSkgKyBUTFMgMS4zCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImRlZmF1bHQiCi0KLSAgICAjIERpc2FibGUgdGhlIG1vZHVsZSB0aGF0J3MgYWNjZWxlcmF0ZWQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0MKLQotICAgICMgRGlzYWJsZSB0aGluZ3MgdGhhdCBkZXBlbmQgb24gaXQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9FQ0RTQV9FTkFCTEVECi0KLSAgICAjIEJ1aWxkCi0gICAgIyAtLS0tLQotCi0gICAgIyBUaGVzZSBoYXNoZXMgYXJlIG5lZWRlZCBmb3Igc29tZSBFQ0RTQSBzaWduYXR1cmUgdGVzdHMuCi0gICAgbG9jX2V4dHJhX2xpc3Q9IkFMR19TSEFfMjI0IEFMR19TSEFfMjU2IEFMR19TSEFfMzg0IEFMR19TSEFfNTEyIFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX1NIQTNfMjI0IEFMR19TSEEzXzI1NiBBTEdfU0hBM18zODQgQUxHX1NIQTNfNTEyIgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IiAiJGxvY19leHRyYV9saXN0IgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgIyBNYWtlIHN1cmUgdGhpcyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKLSAgICBub3QgZ3JlcCBtYmVkdGxzX2VjZHNhXyBsaWJyYXJ5L2VjZHNhLm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0OiBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHIHdpdGggYWNjZWxlcmF0ZWQgRUNEU0EiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjZGggKCkgewotICAgIG1zZyAiYnVpbGQ6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBFQ0RIIgotCi0gICAgIyBBbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZQotICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNESCBcCi0gICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiRUNDIikgXAotICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2N1cnZlX2xpc3QpIgotCi0gICAgIyBDb25maWd1cmUKLSAgICAjIC0tLS0tLS0tLQotCi0gICAgIyBTdGFydCBmcm9tIGRlZmF1bHQgY29uZmlnIChubyBVU0VfUFNBKQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJkZWZhdWx0IgotCi0gICAgIyBEaXNhYmxlIHRoZSBtb2R1bGUgdGhhdCdzIGFjY2VsZXJhdGVkCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RIX0MKLQotICAgICMgRGlzYWJsZSB0aGluZ3MgdGhhdCBkZXBlbmQgb24gaXQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX1JTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9FQ0RTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1JTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfUFNLX0VOQUJMRUQKLQotICAgICMgQnVpbGQKLSAgICAjIC0tLS0tCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCi0KLSAgICAjIE1ha2Ugc3VyZSB0aGlzIHdhcyBub3QgcmUtZW5hYmxlZCBieSBhY2NpZGVudCAoYWRkaXRpdmUgY29uZmlnKQotICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkaF8gbGlicmFyeS9lY2RoLm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0OiBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHIHdpdGggYWNjZWxlcmF0ZWQgRUNESCIKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZmZkaCAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCB3aXRoIGFjY2VsZXJhdGVkIEZGREgiCi0KLSAgICAjIEFsZ29yaXRobXMgYW5kIGtleSB0eXBlcyB0byBhY2NlbGVyYXRlCi0gICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19GRkRIIFwKLSAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9rZXlfdHlwZV9saXN0ICJESCIpIFwKLSAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9kaF9ncm91cF9saXN0KSIKLQotICAgICMgQ29uZmlndXJlCi0gICAgIyAtLS0tLS0tLS0KLQotICAgICMgc3RhcnQgd2l0aCBmdWxsIChVU0VfUFNBIGFuZCBUTFMgMS4zKQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgotCi0gICAgIyBEaXNhYmxlIHRoZSBtb2R1bGUgdGhhdCdzIGFjY2VsZXJhdGVkCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ESE1fQwotCi0gICAgIyBEaXNhYmxlIHRoaW5ncyB0aGF0IGRlcGVuZCBvbiBpdAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9QU0tfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9SU0FfRU5BQkxFRAotCi0gICAgIyBCdWlsZAotICAgICMgLS0tLS0KLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgICMgTWFrZSBzdXJlIHRoaXMgd2FzIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZSBjb25maWcpCi0gICAgbm90IGdyZXAgbWJlZHRsc19kaG1fIGxpYnJhcnkvZGhtLm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgRkZESCIKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAic3NsLW9wdDogZnVsbCB3aXRoIGFjY2VsZXJhdGVkIEZGREggYWxnIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgImZmZGgiCi19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9mZmRoICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIHdpdGggbm9uLWFjY2VsZXJhdGVkIEZGREgiCi0KLSAgICAjIFN0YXJ0IHdpdGggZnVsbCAoVVNFX1BTQSBhbmQgVExTIDEuMykKLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKLQotICAgICMgRGlzYWJsZSB0aGluZ3MgdGhhdCBhcmUgbm90IHN1cHBvcnRlZAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9QU0tfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9SU0FfRU5BQkxFRAotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdCBzdWl0ZXM6IGZ1bGwgd2l0aCBub24tYWNjZWxlcmF0ZWQgRkZESCBhbGciCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInNzbC1vcHQ6IGZ1bGwgd2l0aCBub24tYWNjZWxlcmF0ZWQgRkZESCBhbGciCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiZmZkaCIKLX0KLQotY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfcGFrZSgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgUEFLRSIKLQotICAgIGxvY19hY2NlbF9saXN0PSJBTEdfSlBBS0UgXAotICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2tleV90eXBlX2xpc3QgIkVDQyIpIFwKLSAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9jdXJ2ZV9saXN0KSIKLQotICAgICMgQ29uZmlndXJlCi0gICAgIyAtLS0tLS0tLS0KLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgotCi0gICAgIyBNYWtlIGJ1aWx0LWluIGZhbGxiYWNrIG5vdCBhdmFpbGFibGUKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDSlBBS0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDSlBBS0VfRU5BQkxFRAotCi0gICAgIyBCdWlsZAotICAgICMgLS0tLS0KLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgICMgTWFrZSBzdXJlIHRoaXMgd2FzIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZSBjb25maWcpCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY2pwYWtlX2luaXQgbGlicmFyeS9lY2pwYWtlLm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgUEFLRSIKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX3NvbWVfa2V5X3R5cGVzICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgRUMgYWxncyBhbmQgc29tZSBrZXkgdHlwZXMiCi0KLSAgICAjIEFsZ29yaXRobXMgYW5kIGtleSB0eXBlcyB0byBhY2NlbGVyYXRlCi0gICAgIyBGb3Iga2V5IHR5cGVzLCB1c2UgYW4gZXhwbGljaXRseSBsaXN0IHRvIG9taXQgR0VORVJBVEUgKGFuZCBERVJJVkUpCi0gICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19FQ0RTQSBBTEdfREVURVJNSU5JU1RJQ19FQ0RTQSBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19FQ0RIIFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX0pQQUtFIFwKLSAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkgXAotICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9FQ0NfS0VZX1BBSVJfQkFTSUMgXAotICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUIFwKLSAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0VYUE9SVCBcCi0gICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2FfY3VydmVfbGlzdCkiCi0KLSAgICAjIENvbmZpZ3VyZQotICAgICMgLS0tLS0tLS0tCi0KLSAgICAjIHN0YXJ0IHdpdGggY29uZmlnIGZ1bGwgZm9yIG1heGltdW0gY292ZXJhZ2UgKGFsc28gZW5hYmxlcyBVU0VfUFNBKQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgotCi0gICAgIyBEaXNhYmxlIG1vZHVsZXMgdGhhdCBhcmUgYWNjZWxlcmF0ZWQgLSBzb21lIHdpbGwgYmUgcmUtZW5hYmxlZAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0pQQUtFX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9DCi0KLSAgICAjIERpc2FibGUgYWxsIGN1cnZlcyAtIHRob3NlIHRoYXQgYXJlbid0IGFjY2VsZXJhdGVkIHNob3VsZCBiZSByZS1lbmFibGVkCi0gICAgaGVscGVyX2Rpc2FibGVfYnVpbHRpbl9jdXJ2ZXMKLQotICAgICMgUmVzdGFydGFibGUgZmVhdHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZCBieSBQU0EuIE9uY2UgaXQgd2lsbCBpbgotICAgICMgdGhlIGZ1dHVyZSwgdGhlIGZvbGxvd2luZyBsaW5lIGNvdWxkIGJlIHJlbW92ZWQgKHNlZSBpc3N1ZXMKLSAgICAjIDYwNjEsIDYzMzIgYW5kIGZvbGxvd2luZyBvbmVzKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFCi0KLSAgICAjIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyIEFQSSB5ZXQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRQotCi0gICAgIyBCdWlsZAotICAgICMgLS0tLS0KLQotICAgICMgVGhlc2UgaGFzaGVzIGFyZSBuZWVkZWQgZm9yIHNvbWUgRUNEU0Egc2lnbmF0dXJlIHRlc3RzLgotICAgIGxvY19leHRyYV9saXN0PSJBTEdfU0hBXzEgQUxHX1NIQV8yMjQgQUxHX1NIQV8yNTYgQUxHX1NIQV8zODQgQUxHX1NIQV81MTIgXAotICAgICAgICAgICAgICAgICAgICBBTEdfU0hBM18yMjQgQUxHX1NIQTNfMjU2IEFMR19TSEEzXzM4NCBBTEdfU0hBM181MTIiCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IiAiJGxvY19leHRyYV9saXN0IgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgIyBFQ1Agc2hvdWxkIGJlIHJlLWVuYWJsZWQgYnV0IG5vdCB0aGUgb3RoZXJzCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY2RoXyBsaWJyYXJ5L2VjZGgubwotICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2EgbGlicmFyeS9lY2RzYS5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY2pwYWtlICBsaWJyYXJ5L2VjanBha2UubwotICAgIGdyZXAgbWJlZHRsc19lY3AgbGlicmFyeS9lY3AubwotCi0gICAgIyBSdW4gdGhlIHRlc3RzCi0gICAgIyAtLS0tLS0tLS0tLS0tCi0KLSAgICBtc2cgInRlc3Qgc3VpdGVzOiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgRUMgYWxncyBhbmQgc29tZSBrZXkgdHlwZXMiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLSMgUnVuIHRlc3RzIHdpdGggb25seSAobm9uLSlXZWllcnN0cmFzcyBhY2NlbGVyYXRlZAotIyBDb21tb24gY29kZSB1c2VkIGluOgotIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY193ZWllcnN0cmFzc19jdXJ2ZXMKLSMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfbm9uX3dlaWVyc3RyYXNzX2N1cnZlcwotY29tbW9uX3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX3NvbWVfY3VydmVzICgpIHsKLSAgICB3ZWllcnN0cmFzcz0kMQotICAgIGlmIFsgJHdlaWVyc3RyYXNzIC1lcSAxIF07IHRoZW4KLSAgICAgICAgZGVzYz0iV2VpZXJzdHJhc3MiCi0gICAgZWxzZQotICAgICAgICBkZXNjPSJub24tV2VpZXJzdHJhc3MiCi0gICAgZmkKLQotICAgIG1zZyAiYnVpbGQ6IGNyeXB0b19mdWxsIG1pbnVzIFBLIHdpdGggYWNjZWxlcmF0ZWQgRUMgYWxncyBhbmQgJGRlc2MgY3VydmVzIgotCi0gICAgIyBOb3RlOiBDdXJ2ZXMgYXJlIGhhbmRsZWQgaW4gYSBzcGVjaWFsIHdheSBieSB0aGUgbGlidGVzdGRyaXZlciBtYWNoaW5lcnksCi0gICAgIyBzbyB3ZSBvbmx5IHdhbnQgdG8gaW5jbHVkZSB0aGVtIGluIHRoZSBhY2NlbCBsaXN0IHdoZW4gYnVpbGRpbmcgdGhlIG1haW4KLSAgICAjIGxpYnJhcmllcywgaGVuY2UgdGhlIHVzZSBvZiBhIHNlcGFyYXRlIHZhcmlhYmxlLgotICAgICMgTm90ZTogdGhlIGZvbGxvd2luZyBsb29wIGlzIGEgbW9kaWZpZWQgdmVyc2lvbiBvZgotICAgICMgaGVscGVyX2dldF9wc2FfY3VydmVfbGlzdCB0aGF0IG9ubHkga2VlcHMgV2VpZXJzdHJhc3MgZmFtaWxpZXMuCi0gICAgbG9jX3dlaWVyc3RyYXNzX2xpc3Q9IiIKLSAgICBsb2Nfbm9uX3dlaWVyc3RyYXNzX2xpc3Q9IiIKLSAgICBmb3IgaXRlbSBpbiAkKHNlZCAtbiAncy9eI2RlZmluZSBQU0FfV0FOVF9cKEVDQ19bMC05QS1aX2Etel0qXCkuKi9cMS9wJyA8IiRDUllQVE9fQ09ORklHX0giKTsgZG8KLSAgICAgICAgY2FzZSAkaXRlbSBpbgotICAgICAgICAgICAgRUNDX0JSQUlOUE9PTCp8RUNDX1NFQ1AqKQotICAgICAgICAgICAgICAgIGxvY193ZWllcnN0cmFzc19saXN0PSIkbG9jX3dlaWVyc3RyYXNzX2xpc3QgJGl0ZW0iCi0gICAgICAgICAgICAgICAgOzsKLSAgICAgICAgICAgICopCi0gICAgICAgICAgICAgICAgbG9jX25vbl93ZWllcnN0cmFzc19saXN0PSIkbG9jX25vbl93ZWllcnN0cmFzc19saXN0ICRpdGVtIgotICAgICAgICAgICAgICAgIDs7Ci0gICAgICAgIGVzYWMKLSAgICBkb25lCi0gICAgaWYgWyAkd2VpZXJzdHJhc3MgLWVxIDEgXTsgdGhlbgotICAgICAgICBsb2NfY3VydmVfbGlzdD0kbG9jX3dlaWVyc3RyYXNzX2xpc3QKLSAgICBlbHNlCi0gICAgICAgIGxvY19jdXJ2ZV9saXN0PSRsb2Nfbm9uX3dlaWVyc3RyYXNzX2xpc3QKLSAgICBmaQotCi0gICAgIyBBbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZQotICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNEU0EgQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EgXAotICAgICAgICAgICAgICAgICAgICBBTEdfRUNESCBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19KUEFLRSBcCi0gICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiRUNDIikgXAotICAgICAgICAgICAgICAgICAgICAkbG9jX2N1cnZlX2xpc3QiCi0KLSAgICAjIENvbmZpZ3VyZQotICAgICMgLS0tLS0tLS0tCi0KLSAgICAjIFN0YXJ0IHdpdGggY29uZmlnIGNyeXB0b19mdWxsIGFuZCByZW1vdmUgUEtfQzoKLSAgICAjIHRoYXQncyB3aGF0J3Mgc3VwcG9ydGVkIG5vdywgc2VlIGRvY3MvZHJpdmVyLW9ubHktYnVpbGRzLm1kLgotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJjcnlwdG9fZnVsbCIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1dSSVRFX0MKLQotICAgICMgRGlzYWJsZSBtb2R1bGVzIHRoYXQgYXJlIGFjY2VsZXJhdGVkIC0gc29tZSB3aWxsIGJlIHJlLWVuYWJsZWQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDREhfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNKUEFLRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfQwotCi0gICAgIyBEaXNhYmxlIGFsbCBjdXJ2ZXMgLSB0aG9zZSB0aGF0IGFyZW4ndCBhY2NlbGVyYXRlZCBzaG91bGQgYmUgcmUtZW5hYmxlZAotICAgIGhlbHBlcl9kaXNhYmxlX2J1aWx0aW5fY3VydmVzCi0KLSAgICAjIFJlc3RhcnRhYmxlIGZlYXR1cmUgaXMgbm90IHlldCBzdXBwb3J0ZWQgYnkgUFNBLiBPbmNlIGl0IHdpbGwgaW4KLSAgICAjIHRoZSBmdXR1cmUsIHRoZSBmb2xsb3dpbmcgbGluZSBjb3VsZCBiZSByZW1vdmVkIChzZWUgaXNzdWVzCi0gICAgIyA2MDYxLCA2MzMyIGFuZCBmb2xsb3dpbmcgb25lcykKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9SRVNUQVJUQUJMRQotCi0gICAgIyB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciBBUEkgeWV0Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9ERVJJVkUKLQotICAgICMgQnVpbGQKLSAgICAjIC0tLS0tCi0KLSAgICAjIFRoZXNlIGhhc2hlcyBhcmUgbmVlZGVkIGZvciBzb21lIEVDRFNBIHNpZ25hdHVyZSB0ZXN0cy4KLSAgICBsb2NfZXh0cmFfbGlzdD0iQUxHX1NIQV8xIEFMR19TSEFfMjI0IEFMR19TSEFfMjU2IEFMR19TSEFfMzg0IEFMR19TSEFfNTEyIFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX1NIQTNfMjI0IEFMR19TSEEzXzI1NiBBTEdfU0hBM18zODQgQUxHX1NIQTNfNTEyIgotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIgIiRsb2NfZXh0cmFfbGlzdCIKLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgICMgV2UgZXhwZWN0IEVDREggdG8gYmUgcmUtZW5hYmxlZCBmb3IgdGhlIG1pc3NpbmcgY3VydmVzCi0gICAgZ3JlcCBtYmVkdGxzX2VjZGhfIGxpYnJhcnkvZWNkaC5vCi0gICAgIyBXZSBleHBlY3QgRUNQIHRvIGJlIHJlLWVuYWJsZWQsIGhvd2V2ZXIgdGhlIHBhcnRzIHNwZWNpZmljIHRvIHRoZQotICAgICMgZmFtaWxpZXMgb2YgY3VydmVzIHRoYXQgYXJlIGFjY2VsZXJhdGVkIHNob3VsZCBiZSBvbW1pdGVkLgotICAgICMgLSBmdW5jdGlvbnMgd2l0aCBteHogaW4gdGhlIG5hbWUgYXJlIHNwZWNpZmljIHRvIE1vbnRnb21lcnkgY3VydmVzCi0gICAgIyAtIGVjcF9tdWxhZGQgaXMgc3BlY2lmaWMgdG8gV2VpZXJzdHJhc3MgY3VydmVzCi0gICAgIyNubSBsaWJyYXJ5L2VjcC5vIHwgdGVlIGVjcC5zeW1zCi0gICAgaWYgWyAkd2VpZXJzdHJhc3MgLWVxIDEgXTsgdGhlbgotICAgICAgICBub3QgZ3JlcCBtYmVkdGxzX2VjcF9tdWxhZGQgbGlicmFyeS9lY3AubwotICAgICAgICBncmVwIG14eiBsaWJyYXJ5L2VjcC5vCi0gICAgZWxzZQotICAgICAgICBncmVwIG1iZWR0bHNfZWNwX211bGFkZCBsaWJyYXJ5L2VjcC5vCi0gICAgICAgIG5vdCBncmVwIG14eiBsaWJyYXJ5L2VjcC5vCi0gICAgZmkKLSAgICAjIFdlIGV4cGVjdCBFQ0RTQSBhbmQgRUNKUEFLRSB0byBiZSByZS1lbmFibGVkIG9ubHkgd2hlbgotICAgICMgV2VpZXJzdHJhc3MgY3VydmVzIGFyZSBub3QgYWNjZWxlcmF0ZWQKLSAgICBpZiBbICR3ZWllcnN0cmFzcyAtZXEgMSBdOyB0aGVuCi0gICAgICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2EgbGlicmFyeS9lY2RzYS5vCi0gICAgICAgIG5vdCBncmVwIG1iZWR0bHNfZWNqcGFrZSAgbGlicmFyeS9lY2pwYWtlLm8KLSAgICBlbHNlCi0gICAgICAgIGdyZXAgbWJlZHRsc19lY2RzYSBsaWJyYXJ5L2VjZHNhLm8KLSAgICAgICAgZ3JlcCBtYmVkdGxzX2VjanBha2UgIGxpYnJhcnkvZWNqcGFrZS5vCi0gICAgZmkKLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0IHN1aXRlczogY3J5cHRvX2Z1bGwgbWludXMgUEsgd2l0aCBhY2NlbGVyYXRlZCBFQyBhbGdzIGFuZCAkZGVzYyBjdXJ2ZXMiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY193ZWllcnN0cmFzc19jdXJ2ZXMgKCkgewotICAgIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19zb21lX2N1cnZlcyAxCi19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19ub25fd2VpZXJzdHJhc3NfY3VydmVzICgpIHsKLSAgICBjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfc29tZV9jdXJ2ZXMgMAotfQotCi0jIEF1eGlsaWFyeSBmdW5jdGlvbiB0byBidWlsZCBjb25maWcgZm9yIGFsbCBFQyBiYXNlZCBhbGdvcml0aG1zIChFQy1KUEFLRSwKLSMgRUNESCwgRUNEU0EpIHdpdGggYW5kIHdpdGhvdXQgZHJpdmVycy4KLSMgVGhlIGlucHV0IHBhcmFtZXRlciBpcyBhIGJvb2xlYW4gdmFsdWUgd2hpY2ggaW5kaWNhdGVzOgotIyAtIDAga2VlcCBidWlsdC1pbiBFQyBhbGdzLAotIyAtIDEgZXhjbHVkZSBidWlsdC1pbiBFQyBhbGdzIChkcml2ZXIgb25seSkuCi0jCi0jIFRoaXMgaXMgdXNlZCBieSB0aGUgdHdvIGZvbGxvd2luZyBjb21wb25lbnRzIHRvIGVuc3VyZSB0aGV5IGFsd2F5cyB1c2UgdGhlCi0jIHNhbWUgY29uZmlnLCBleGNlcHQgZm9yIHRoZSB1c2Ugb2YgZHJpdmVyIG9yIGJ1aWx0LWluIEVDIGFsZ29yaXRobXM6Ci0jIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX2VjcF9saWdodF9vbmx5OwotIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZWNwX2xpZ2h0X29ubHkuCi0jIFRoaXMgc3VwcG9ydHMgY29tcGFyaW5nIHRoZWlyIHRlc3QgY292ZXJhZ2Ugd2l0aCBhbmFseXplX291dGNvbWVzLnB5LgotY29uZmlnX3BzYV9jcnlwdG9fY29uZmlnX2VjcF9saWdodF9vbmx5ICgpIHsKLSAgICBkcml2ZXJfb25seT0iJDEiCi0gICAgIyBzdGFydCB3aXRoIGNvbmZpZyBmdWxsIGZvciBtYXhpbXVtIGNvdmVyYWdlIChhbHNvIGVuYWJsZXMgVVNFX1BTQSkKLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKLSAgICBpZiBbICIkZHJpdmVyX29ubHkiIC1lcSAxIF07IHRoZW4KLSAgICAgICAgIyBEaXNhYmxlIG1vZHVsZXMgdGhhdCBhcmUgYWNjZWxlcmF0ZWQKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNKUEFLRV9DCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNQX0MKLSAgICBmaQotCi0gICAgIyBSZXN0YXJ0YWJsZSBmZWF0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGJ5IFBTQS4gT25jZSBpdCB3aWxsIGluCi0gICAgIyB0aGUgZnV0dXJlLCB0aGUgZm9sbG93aW5nIGxpbmUgY291bGQgYmUgcmVtb3ZlZCAoc2VlIGlzc3VlcwotICAgICMgNjA2MSwgNjMzMiBhbmQgZm9sbG93aW5nIG9uZXMpCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfUkVTVEFSVEFCTEUKLX0KLQotIyBLZWVwIGluIHN5bmMgd2l0aCBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX2VjcF9saWdodF9vbmx5Ci1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZWNwX2xpZ2h0X29ubHkgKCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBFQyBhbGdzIgotCi0gICAgIyBBbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZQotICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNEU0EgQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EgXAotICAgICAgICAgICAgICAgICAgICBBTEdfRUNESCBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19KUEFLRSBcCi0gICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiRUNDIikgXAotICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2N1cnZlX2xpc3QpIgotCi0gICAgIyBDb25maWd1cmUKLSAgICAjIC0tLS0tLS0tLQotCi0gICAgIyBVc2UgdGhlIHNhbWUgY29uZmlnIGFzIHJlZmVyZW5jZSwgb25seSB3aXRob3V0IGJ1aWx0LWluIEVDIGFsZ3MKLSAgICBjb25maWdfcHNhX2NyeXB0b19jb25maWdfZWNwX2xpZ2h0X29ubHkgMQotCi0gICAgIyBEbyBub3QgZGlzYWJsZSBidWlsdGluIGN1cnZlcyBiZWNhdXNlIHRoYXQgc3VwcG9ydCBpcyByZXF1aXJlZCBmb3I6Ci0gICAgIyAtIE1CRURUTFNfUEtfUEFSU0VfRUNfRVhURU5ERUQKLSAgICAjIC0gTUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VECi0KLSAgICAjIEJ1aWxkCi0gICAgIyAtLS0tLQotCi0gICAgIyBUaGVzZSBoYXNoZXMgYXJlIG5lZWRlZCBmb3Igc29tZSBFQ0RTQSBzaWduYXR1cmUgdGVzdHMuCi0gICAgbG9jX2V4dHJhX2xpc3Q9IkFMR19TSEFfMSBBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19TSEEzXzIyNCBBTEdfU0hBM18yNTYgQUxHX1NIQTNfMzg0IEFMR19TSEEzXzUxMiIKLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiICIkbG9jX2V4dHJhX2xpc3QiCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCi0KLSAgICAjIE1ha2Ugc3VyZSBhbnkgYnVpbHQtaW4gRUMgYWxnIHdhcyBub3QgcmUtZW5hYmxlZCBieSBhY2NpZGVudCAoYWRkaXRpdmUgY29uZmlnKQotICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2FfIGxpYnJhcnkvZWNkc2EubwotICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkaF8gbGlicmFyeS9lY2RoLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2VjanBha2VfIGxpYnJhcnkvZWNqcGFrZS5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY3BfbXVsIGxpYnJhcnkvZWNwLm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0IHN1aXRlczogZnVsbCB3aXRoIGFjY2VsZXJhdGVkIEVDIGFsZ3MiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInNzbC1vcHQ6IGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBFQyBhbGdzIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotIyBLZWVwIGluIHN5bmMgd2l0aCBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZWNwX2xpZ2h0X29ubHkKLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZWNwX2xpZ2h0X29ubHkgKCkgewotICAgIG1zZyAiYnVpbGQ6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBub24tYWNjZWxlcmF0ZWQgRUMgYWxncyIKLQotICAgIGNvbmZpZ19wc2FfY3J5cHRvX2NvbmZpZ19lY3BfbGlnaHRfb25seSAwCi0KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Qgc3VpdGVzOiBmdWxsIHdpdGggbm9uLWFjY2VsZXJhdGVkIEVDIGFsZ3MiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInNzbC1vcHQ6IGZ1bGwgd2l0aCBub24tYWNjZWxlcmF0ZWQgRUMgYWxncyIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi19Ci0KLSMgVGhpcyBoZWxwZXIgZnVuY3Rpb24gaXMgdXNlZCBieToKLSMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfbm9fZWNwX2F0X2FsbCgpCi0jIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19ub19lY3BfYXRfYWxsKCkKLSMgdG8gZW5zdXJlIHRoYXQgYm90aCB0ZXN0cyB1c2UgdGhlIHNhbWUgdW5kZXJseWluZyBjb25maWd1cmF0aW9uIHdoZW4gdGVzdGluZwotIyBkcml2ZXIncyBjb3ZlcmFnZSB3aXRoIGFuYWx5emVfb3V0Y29tZXMucHkuCi0jCi0jIFRoaXMgZnVuY3Rpb25zIGFjY2VwdHMgMSBib29sZWFuIHBhcmFtZXRlciBhcyBmb2xsb3dzOgotIyAtIDE6IGJ1aWxkaW5nIHdpdGggYWNjZWxlcmF0ZWQgRUMgYWxnb3JpdGhtcyAoRUNEU0EsIEVDREgsIEVDSlBBS0UpLCB0aGVyZWZvcmUKLSMgICAgICBleGNsdWRpbmcgdGhlaXIgYnVpbHQtaW4gaW1wbGVtZW50YXRpb24gYXMgd2VsbCBhcyBFQ1BfQyAmIEVDUF9MSUdIVAotIyAtIDA6IGluY2x1ZGUgYnVpbHQtaW4gaW1wbGVtZW50YXRpb24gb2YgRUMgYWxnb3JpdGhtcy4KLSMKLSMgUEtfQyBhbmQgUlNBX0MgYXJlIGFsd2F5cyBkaXNhYmxlZCB0byBlbnN1cmUgdGhlcmUgaXMgbm8gcmVtYWluaW5nIGRlcGVuZGVuY3kKLSMgb24gdGhlIEVDUCBtb2R1bGUuCi1jb25maWdfcHNhX2NyeXB0b19ub19lY3BfYXRfYWxsICgpIHsKLSAgICBkcml2ZXJfb25seT0iJDEiCi0gICAgIyBzdGFydCB3aXRoIGZ1bGwgY29uZmlnIGZvciBtYXhpbXVtIGNvdmVyYWdlIChhbHNvIGVuYWJsZXMgVVNFX1BTQSkKLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKLQotICAgIGlmIFsgIiRkcml2ZXJfb25seSIgLWVxIDEgXTsgdGhlbgotICAgICAgICAjIERpc2FibGUgbW9kdWxlcyB0aGF0IGFyZSBhY2NlbGVyYXRlZAotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0MKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RIX0MKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0pQQUtFX0MKLSAgICAgICAgIyBEaXNhYmxlIEVDUCBtb2R1bGUgKGVudGlyZWx5KQotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9DCi0gICAgZmkKLQotICAgICMgRGlzYWJsZSBhbGwgdGhlIGZlYXR1cmVzIHRoYXQgYXV0by1lbmFibGUgRUNQX0xJR0hUIChzZWUgYnVpbGRfaW5mby5oKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfUEFSU0VfRUNfRVhURU5ERUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRQotCi0gICAgIyBSZXN0YXJ0YWJsZSBmZWF0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGJ5IFBTQS4gT25jZSBpdCB3aWxsIGluCi0gICAgIyB0aGUgZnV0dXJlLCB0aGUgZm9sbG93aW5nIGxpbmUgY291bGQgYmUgcmVtb3ZlZCAoc2VlIGlzc3VlcwotICAgICMgNjA2MSwgNjMzMiBhbmQgZm9sbG93aW5nIG9uZXMpCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfUkVTVEFSVEFCTEUKLX0KLQotIyBCdWlsZCBhbmQgdGVzdCBhIGNvbmZpZ3VyYXRpb24gd2hlcmUgZHJpdmVyIGFjY2VsZXJhdGVzIGFsbCBFQyBhbGdzIHdoaWxlCi0jIGFsbCBzdXBwb3J0IGFuZCBkZXBlbmRlbmNpZXMgZnJvbSBFQ1AgYW5kIEVDUF9MSUdIVCBhcmUgcmVtb3ZlZCBvbiB0aGUgbGlicmFyeQotIyBzaWRlLgotIwotIyBLZWVwIGluIHN5bmMgd2l0aCBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX25vX2VjcF9hdF9hbGwoKQotY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX25vX2VjcF9hdF9hbGwgKCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBhY2NlbGVyYXRlZCBFQyBhbGdzIC0gRUNQIgotCi0gICAgIyBBbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZQotICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNEU0EgQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EgXAotICAgICAgICAgICAgICAgICAgICBBTEdfRUNESCBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19KUEFLRSBcCi0gICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiRUNDIikgXAotICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2N1cnZlX2xpc3QpIgotCi0gICAgIyBDb25maWd1cmUKLSAgICAjIC0tLS0tLS0tLQotCi0gICAgIyBTZXQgY29tbW9uIGNvbmZpZ3VyYXRpb25zIGJldHdlZW4gbGlicmFyeSdzIGFuZCBkcml2ZXIncyBidWlsZHMKLSAgICBjb25maWdfcHNhX2NyeXB0b19ub19lY3BfYXRfYWxsIDEKLSAgICAjIERpc2FibGUgYWxsIHRoZSBidWlsdGluIGN1cnZlcy4gQWxsIHRoZSByZXF1aXJlZCBhbGdzIGFyZSBhY2NlbGVyYXRlZC4KLSAgICBoZWxwZXJfZGlzYWJsZV9idWlsdGluX2N1cnZlcwotCi0gICAgIyBCdWlsZAotICAgICMgLS0tLS0KLQotICAgICMgVGhpbmdzIHdlIHdhbnRlZCBzdXBwb3J0ZWQgaW4gbGlidGVzdGRyaXZlcjEsIGJ1dCBub3QgYWNjZWxlcmF0ZWQgaW4gdGhlIG1haW4gbGlicmFyeToKLSAgICAjIFNIQS0xIGFuZCBhbGwgU0hBLTIvMyB2YXJpYW50cywgYXMgdGhleSBhcmUgdXNlZCBieSBFQ0RTQSBkZXRlcm1pbmlzdGljLgotICAgIGxvY19leHRyYV9saXN0PSJBTEdfU0hBXzEgQUxHX1NIQV8yMjQgQUxHX1NIQV8yNTYgQUxHX1NIQV8zODQgQUxHX1NIQV81MTIgXAotICAgICAgICAgICAgICAgICAgICBBTEdfU0hBM18yMjQgQUxHX1NIQTNfMjU2IEFMR19TSEEzXzM4NCBBTEdfU0hBM181MTIiCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiICIkbG9jX2V4dHJhX2xpc3QiCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCi0KLSAgICAjIE1ha2Ugc3VyZSBhbnkgYnVpbHQtaW4gRUMgYWxnIHdhcyBub3QgcmUtZW5hYmxlZCBieSBhY2NpZGVudCAoYWRkaXRpdmUgY29uZmlnKQotICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2FfIGxpYnJhcnkvZWNkc2EubwotICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkaF8gbGlicmFyeS9lY2RoLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2VjanBha2VfIGxpYnJhcnkvZWNqcGFrZS5vCi0gICAgIyBBbHNvIGVuc3VyZSB0aGF0IEVDUCBtb2R1bGUgd2FzIG5vdCByZS1lbmFibGVkCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY3BfIGxpYnJhcnkvZWNwLm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsICsgYWNjZWxlcmF0ZWQgRUMgYWxncyAtIEVDUCIKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAic3NsLW9wdDogZnVsbCArIGFjY2VsZXJhdGVkIEVDIGFsZ3MgLSBFQ1AiCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotfQotCi0jIFJlZmVyZW5jZSBmdW5jdGlvbiB1c2VkIGZvciBkcml2ZXIncyBjb3ZlcmFnZSBhbmFseXNpcyBpbiBhbmFseXplX291dGNvbWVzLnB5Ci0jIGluIGNvbmp1bmN0aW9uIHdpdGggY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX25vX2VjcF9hdF9hbGwoKS4KLSMgS2VlcCBpbiBzeW5jIHdpdGggaXRzIGFjY2VsZXJhdGVkIGNvdW50ZXJwYXJ0LgotY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19ub19lY3BfYXRfYWxsICgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsICsgbm9uIGFjY2VsZXJhdGVkIEVDIGFsZ3MiCi0KLSAgICBjb25maWdfcHNhX2NyeXB0b19ub19lY3BfYXRfYWxsIDAKLQotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogZnVsbCArIG5vbiBhY2NlbGVyYXRlZCBFQyBhbGdzIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJzc2wtb3B0OiBmdWxsICsgbm9uIGFjY2VsZXJhdGVkIEVDIGFsZ3MiCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotfQotCi0jIFRoaXMgaXMgYSBjb21tb24gY29uZmlndXJhdGlvbiBoZWxwZXIgdXNlZCBkaXJlY3RseSBmcm9tOgotIyAtIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19mZmRoX25vX2JpZ251bQotIyAtIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZmZkaF9ub19iaWdudW0KLSMgYW5kIGluZGlyZWN0bHkgZnJvbToKLSMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfbm9fYmlnbnVtCi0jICAgICAgIC0gYWNjZWxlcmF0ZSBhbGwgRUMgYWxncywgZGlzYWJsZSBSU0EgYW5kIEZGREgKLSMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX25vX2JpZ251bQotIyAgICAgICAtIHRoaXMgaXMgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQgb2YgdGhlIGFib3ZlCi0jICAgICAgIC0gaXQgc3RpbGwgZGlzYWJsZXMgUlNBIGFuZCBGRkRILCBidXQgaXQgdXNlcyBidWlsdGluIEVDIGFsZ3MKLSMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0KLSMgICAgICAgLSBhY2NlbGVyYXRlIGFsbCBFQyBhbmQgRkZESCBhbGdzLCBkaXNhYmxlIG9ubHkgUlNBCi0jIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bQotIyAgICAgICAtIHRoaXMgaXMgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQgb2YgdGhlIGFib3ZlCi0jICAgICAgIC0gaXQgc3RpbGwgZGlzYWJsZXMgUlNBLCBidXQgaXQgdXNlcyBidWlsdGluIEVDIGFuZCBGRkRIIGFsZ3MKLSMKLSMgVGhpcyBmdW5jdGlvbiBhY2NlcHRzIDIgcGFyYW1ldGVyczoKLSMgJDE6IGEgYm9vbGVhbiB2YWx1ZSB3aGljaCBzdGF0ZXMgaWYgd2UgYXJlIHRlc3RpbmcgYW4gYWNjZWxlcmF0ZWQgc2NlbmFyaW8KLSMgICAgIG9yIG5vdC4KLSMgJDI6IGEgc3RyaW5nIHZhbHVlIHdoaWNoIHN0YXRlcyB3aGljaCBjb21wb25lbnRzIGFyZSB0ZXN0ZWQuIEFsbG93ZWQgdmFsdWVzCi0jICAgICBhcmUgIkVDQyIgb3IgIkVDQ19ESCIuCi1jb25maWdfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX2ZmZGhfbm9fYmlnbnVtKCkgewotICAgIGRyaXZlcl9vbmx5PSIkMSIKLSAgICB0ZXN0X3RhcmdldD0iJDIiCi0gICAgIyBzdGFydCB3aXRoIGZ1bGwgY29uZmlnIGZvciBtYXhpbXVtIGNvdmVyYWdlIChhbHNvIGVuYWJsZXMgVVNFX1BTQSkKLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKLQotICAgIGlmIFsgIiRkcml2ZXJfb25seSIgLWVxIDEgXTsgdGhlbgotICAgICAgICAjIERpc2FibGUgbW9kdWxlcyB0aGF0IGFyZSBhY2NlbGVyYXRlZAotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0MKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RIX0MKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0pQQUtFX0MKLSAgICAgICAgIyBEaXNhYmxlIEVDUCBtb2R1bGUgKGVudGlyZWx5KQotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9DCi0gICAgICAgICMgQWxzbyBkaXNhYmxlIGJpZ251bQotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0JJR05VTV9DCi0gICAgZmkKLQotICAgICMgRGlzYWJsZSBhbGwgdGhlIGZlYXR1cmVzIHRoYXQgYXV0by1lbmFibGUgRUNQX0xJR0hUIChzZWUgYnVpbGRfaW5mby5oKQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfUEFSU0VfRUNfRVhURU5ERUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRQotCi0gICAgIyBSU0Egc3VwcG9ydCBpcyBpbnRlbnRpb25hbGx5IGRpc2FibGVkIG9uIHRoaXMgdGVzdCBiZWNhdXNlIFJTQV9DIGRlcGVuZHMKLSAgICAjIG9uIEJJR05VTV9DLgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldC1hbGwgIlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9bMC05QS1aX2Etel0qIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldC1hbGwgIlBTQV9XQU5UX0FMR19SU0FfWzAtOUEtWl9hLXpdKiIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1JTQV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMTUKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1MxX1YyMQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLSAgICAjIEFsc28gZGlzYWJsZSBrZXkgZXhjaGFuZ2VzIHRoYXQgZGVwZW5kIG9uIFJTQQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX1JTQV9QU0tfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX1JTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1JTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfUlNBX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX1JTQV9FTkFCTEVECi0KLSAgICBpZiBbICIkdGVzdF90YXJnZXQiID0gIkVDQyIgXTsgdGhlbgotICAgICAgICAjIFdoZW4gdGVzdGluZyBFQ0Mgb25seSwgd2UgZGlzYWJsZSBGRkRIIHN1cHBvcnQsIGJvdGggZnJvbSBidWlsdGluIGFuZAotICAgICAgICAjIFBTQSBzaWRlcywgYW5kIGFsc28gZGlzYWJsZSB0aGUga2V5IGV4Y2hhbmdlcyB0aGF0IGRlcGVuZCBvbiBESE0uCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mIGluY2x1ZGUvcHNhL2NyeXB0b19jb25maWcuaCB1bnNldCBQU0FfV0FOVF9BTEdfRkZESAotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQtYWxsICJQU0FfV0FOVF9LRVlfVFlQRV9ESF9bMC05QS1aX2Etel0qIgotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQtYWxsICJQU0FfV0FOVF9ESF9SRkM3OTE5X1swLTldKiIKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ESE1fQwotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9ESEVfUFNLX0VOQUJMRUQKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1JTQV9FTkFCTEVECi0gICAgZWxzZQotICAgICAgICAjIFdoZW4gdGVzdGluZyBFQ0MgYW5kIERIIGluc3RlYWQsIHdlIGRpc2FibGUgREhNIGFuZCBkZXBlbmRpbmcga2V5Ci0gICAgICAgICMgZXhjaGFuZ2VzIG9ubHkgaW4gdGhlIGFjY2VsZXJhdGVkIGJ1aWxkCi0gICAgICAgIGlmIFsgIiRkcml2ZXJfb25seSIgLWVxIDEgXTsgdGhlbgotICAgICAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ESE1fQwotICAgICAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1BTS19FTkFCTEVECi0gICAgICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9ESEVfUlNBX0VOQUJMRUQKLSAgICAgICAgZmkKLSAgICBmaQotCi0gICAgIyBSZXN0YXJ0YWJsZSBmZWF0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGJ5IFBTQS4gT25jZSBpdCB3aWxsIGluCi0gICAgIyB0aGUgZnV0dXJlLCB0aGUgZm9sbG93aW5nIGxpbmUgY291bGQgYmUgcmVtb3ZlZCAoc2VlIGlzc3VlcwotICAgICMgNjA2MSwgNjMzMiBhbmQgZm9sbG93aW5nIG9uZXMpCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfUkVTVEFSVEFCTEUKLX0KLQotIyBDb21tb24gaGVscGVyIHVzZWQgYnk6Ci0jIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX25vX2JpZ251bQotIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19mZmRoX25vX2JpZ251bQotIwotIyBUaGUgZ29hbCBpcyB0byBidWlsZCBhbmQgdGVzdCBhY2NlbGVyYXRpbmcgZWl0aGVyOgotIyAtIEVDQyBvbmx5IG9yCi0jIC0gYm90aCBFQ0MgYW5kIEZGREgKLSMKLSMgSXQgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoCi0jIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZmZkaF9ub19iaWdudW0oKSBmb3IgZHJpdmVycwotIyBjb3ZlcmFnZSBhbmFseXNpcyBpbiB0aGUgImFuYWx5emVfb3V0Y29tZXMucHkiIHNjcmlwdC4KLWNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19mZmRoX25vX2JpZ251bSAoKSB7Ci0gICAgdGVzdF90YXJnZXQ9IiQxIgotCi0gICAgIyBUaGlzIGlzIGFuIGludGVybmFsIGhlbHBlciB0byBzaW1wbGlmeSB0ZXh0IG1lc3NhZ2UgaGFuZGxpbmcKLSAgICBpZiBbICIkdGVzdF90YXJnZXQiID0gIkVDQ19ESCIgXTsgdGhlbgotICAgICAgICBhY2NlbF90ZXh0PSJFQ0MvRkZESCIKLSAgICAgICAgcmVtb3ZlZF90ZXh0PSJFQ1AgLSBESCIKLSAgICBlbHNlCi0gICAgICAgIGFjY2VsX3RleHQ9IkVDQyIKLSAgICAgICAgcmVtb3ZlZF90ZXh0PSJFQ1AiCi0gICAgZmkKLQotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBhY2NlbGVyYXRlZCAkYWNjZWxfdGV4dCBhbGdzICsgVVNFX1BTQSAtICRyZW1vdmVkX3RleHQgLSBCSUdOVU0iCi0KLSAgICAjIEJ5IGRlZmF1bHQgd2UgYWNjZWxlcmF0ZSBhbGwgRUMga2V5cy9hbGdzCi0gICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19FQ0RTQSBBTEdfREVURVJNSU5JU1RJQ19FQ0RTQSBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19FQ0RIIFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX0pQQUtFIFwKLSAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9rZXlfdHlwZV9saXN0ICJFQ0MiKSBcCi0gICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2FfY3VydmVfbGlzdCkiCi0gICAgIyBPcHRpb25hbGx5IHdlIGNhbiBhbHNvIGFkZCBESCB0byB0aGUgbGlzdCBvZiBhY2NlbGVyYXRlZCBpdGVtcwotICAgIGlmIFsgIiR0ZXN0X3RhcmdldCIgPSAiRUNDX0RIIiBdOyB0aGVuCi0gICAgICAgIGxvY19hY2NlbF9saXN0PSIkbG9jX2FjY2VsX2xpc3QgXAotICAgICAgICAgICAgICAgICAgICAgICAgQUxHX0ZGREggXAotICAgICAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9rZXlfdHlwZV9saXN0ICJESCIpIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2FfZGhfZ3JvdXBfbGlzdCkiCi0gICAgZmkKLQotICAgICMgQ29uZmlndXJlCi0gICAgIyAtLS0tLS0tLS0KLQotICAgICMgU2V0IGNvbW1vbiBjb25maWd1cmF0aW9ucyBiZXR3ZWVuIGxpYnJhcnkncyBhbmQgZHJpdmVyJ3MgYnVpbGRzCi0gICAgY29uZmlnX3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19mZmRoX25vX2JpZ251bSAxICIkdGVzdF90YXJnZXQiCi0gICAgIyBEaXNhYmxlIGFsbCB0aGUgYnVpbHRpbiBjdXJ2ZXMuIEFsbCB0aGUgcmVxdWlyZWQgYWxncyBhcmUgYWNjZWxlcmF0ZWQuCi0gICAgaGVscGVyX2Rpc2FibGVfYnVpbHRpbl9jdXJ2ZXMKLQotICAgICMgQnVpbGQKLSAgICAjIC0tLS0tCi0KLSAgICAjIFRoaW5ncyB3ZSB3YW50ZWQgc3VwcG9ydGVkIGluIGxpYnRlc3Rkcml2ZXIxLCBidXQgbm90IGFjY2VsZXJhdGVkIGluIHRoZSBtYWluIGxpYnJhcnk6Ci0gICAgIyBTSEEtMSBhbmQgYWxsIFNIQS0yLzMgdmFyaWFudHMsIGFzIHRoZXkgYXJlIHVzZWQgYnkgRUNEU0EgZGV0ZXJtaW5pc3RpYy4KLSAgICBsb2NfZXh0cmFfbGlzdD0iQUxHX1NIQV8xIEFMR19TSEFfMjI0IEFMR19TSEFfMjU2IEFMR19TSEFfMzg0IEFMR19TSEFfNTEyIFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX1NIQTNfMjI0IEFMR19TSEEzXzI1NiBBTEdfU0hBM18zODQgQUxHX1NIQTNfNTEyIgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IiAiJGxvY19leHRyYV9saXN0IgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgIyBNYWtlIHN1cmUgYW55IGJ1aWx0LWluIEVDIGFsZyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKLSAgICBub3QgZ3JlcCBtYmVkdGxzX2VjZHNhXyBsaWJyYXJ5L2VjZHNhLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2VjZGhfIGxpYnJhcnkvZWNkaC5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY2pwYWtlXyBsaWJyYXJ5L2VjanBha2UubwotICAgICMgQWxzbyBlbnN1cmUgdGhhdCBFQ1AsIFJTQSwgW0RITV0gb3IgQklHTlVNIG1vZHVsZXMgd2VyZSBub3QgcmUtZW5hYmxlZAotICAgIG5vdCBncmVwIG1iZWR0bHNfZWNwXyBsaWJyYXJ5L2VjcC5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19yc2FfIGxpYnJhcnkvcnNhLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX21waV8gbGlicmFyeS9iaWdudW0ubwotICAgIG5vdCBncmVwIG1iZWR0bHNfZGhtXyBsaWJyYXJ5L2RobS5vCi0KLSAgICAjIFJ1biB0aGUgdGVzdHMKLSAgICAjIC0tLS0tLS0tLS0tLS0KLQotICAgIG1zZyAidGVzdCBzdWl0ZXM6IGZ1bGwgKyBhY2NlbGVyYXRlZCAkYWNjZWxfdGV4dCBhbGdzICsgVVNFX1BTQSAtICRyZW1vdmVkX3RleHQgLSBESE0gLSBCSUdOVU0iCi0KLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAic3NsLW9wdDogZnVsbCArIGFjY2VsZXJhdGVkICRhY2NlbF90ZXh0IGFsZ3MgKyBVU0VfUFNBIC0gJHJlbW92ZWRfdGV4dCAtIEJJR05VTSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi19Ci0KLSMgQ29tbW9uIGhlbHBlciB1c2VkIGJ5OgotIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2Nfbm9fYmlnbnVtCi0jIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bQotIwotIyBUaGUgZ29hbCBpcyB0byBidWlsZCBhbmQgdGVzdCBhIHJlZmVyZW5jZSBzY2VuYXJpbyAoaS5lLiB3aXRoIGJ1aWx0aW4KLSMgY29tcG9uZW50cykgY29tcGFyZWQgdG8gdGhlIG9uZXMgdXNlZCBpbgotIyBjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0oKSBhYm92ZS4KLSMKLSMgSXQgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoCi0jIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19mZmRoX25vX2JpZ251bSgpIGZvciBkcml2ZXJzJwotIyBjb3ZlcmFnZSBhbmFseXNpcyBpbiAiYW5hbHl6ZV9vdXRjb21lcy5weSIgc2NyaXB0LgotY29tbW9uX3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bSAoKSB7Ci0gICAgdGVzdF90YXJnZXQ9IiQxIgotCi0gICAgIyBUaGlzIGlzIGFuIGludGVybmFsIGhlbHBlciB0byBzaW1wbGlmeSB0ZXh0IG1lc3NhZ2UgaGFuZGxpbmcKLSAgICBpZiBbICIkdGVzdF90YXJnZXQiID0gIkVDQ19ESCIgXTsgdGhlbgotICAgICAgICBhY2NlbF90ZXh0PSJFQ0MvRkZESCIKLSAgICBlbHNlCi0gICAgICAgIGFjY2VsX3RleHQ9IkVDQyIKLSAgICBmaQotCi0gICAgbXNnICJidWlsZDogZnVsbCArIG5vbiBhY2NlbGVyYXRlZCAkYWNjZWxfdGV4dCBhbGdzICsgVVNFX1BTQSIKLQotICAgIGNvbmZpZ19wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0gMCAiJHRlc3RfdGFyZ2V0IgotCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0IHN1aXRlczogZnVsbCArIG5vbiBhY2NlbGVyYXRlZCBFQyBhbGdzICsgVVNFX1BTQSIKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAic3NsLW9wdDogZnVsbCArIG5vbiBhY2NlbGVyYXRlZCAkYWNjZWxfdGV4dCBhbGdzICsgVVNFX1BTQSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19ub19iaWdudW0gKCkgewotICAgIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19mZmRoX25vX2JpZ251bSAiRUNDIgotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX25vX2JpZ251bSAoKSB7Ci0gICAgY29tbW9uX3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bSAiRUNDIgotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0gKCkgewotICAgIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19mZmRoX25vX2JpZ251bSAiRUNDX0RIIgotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX2ZmZGhfbm9fYmlnbnVtICgpIHsKLSAgICBjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX2ZmZGhfbm9fYmlnbnVtICJFQ0NfREgiCi19Ci0KLSMgSGVscGVyIGZvciBzZXR0aW5nIGNvbW1vbiBjb25maWd1cmF0aW9ucyBiZXR3ZWVuOgotIyAtIGNvbXBvbmVudF90ZXN0X3RmbV9jb25maWdfcDI1Nm1fZHJpdmVyX2FjY2VsX2VjKCkKLSMgLSBjb21wb25lbnRfdGVzdF90Zm1fY29uZmlnKCkKLWNvbW1vbl90Zm1fY29uZmlnICgpIHsKLSAgICAjIEVuYWJsZSBURi1NIGNvbmZpZwotICAgIGNwIGNvbmZpZ3MvY29uZmlnLXRmbS5oICIkQ09ORklHX0giCi0gICAgZWNobyAiI3VuZGVmIE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUdfRklMRSIgPj4gIiRDT05GSUdfSCIKLSAgICBjcCBjb25maWdzL2V4dC9jcnlwdG9fY29uZmlnX3Byb2ZpbGVfbWVkaXVtLmggIiRDUllQVE9fQ09ORklHX0giCi0KLSAgICAjIE90aGVyIGNvbmZpZyBhZGp1c3RtZW50IHRvIG1ha2UgdGhlIHRlc3RzIHBhc3MuCi0gICAgIyBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSBhZG9wdGVkIHVwc3RyZWFtLgotICAgICMKLSAgICAjIC0gVVNFX1BTQV9DUllQVE8gZm9yIFBLX0hBVkVfRUNDX0tFWVMKLSAgICBlY2hvICIjZGVmaW5lIE1CRURUTFNfVVNFX1BTQV9DUllQVE8iID4+ICIkQ09ORklHX0giCi0KLSAgICAjIENvbmZpZyBhZGp1c3RtZW50IGZvciBiZXR0ZXIgdGVzdCBjb3ZlcmFnZSBpbiBvdXIgZW52aXJvbm1lbnQuCi0gICAgIyBUaGlzIGlzIG5vdCBuZWVkZWQganVzdCB0byBidWlsZCBhbmQgcGFzcyB0ZXN0cy4KLSAgICAjCi0gICAgIyBFbmFibGUgZmlsZXN5c3RlbSBJL08gZm9yIHRoZSBiZW5lZml0IG9mIFBLIHBhcnNlL3dyaXRlIHRlc3RzLgotICAgIGVjaG8gIiNkZWZpbmUgTUJFRFRMU19GU19JTyIgPj4gIiRDT05GSUdfSCIKLX0KLQotIyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGNvbXBvbmVudF90ZXN0X3RmbV9jb25maWcoKSBhcyB0aGV5IGFyZSBib3RoIG1lYW50Ci0jIHRvIGJlIHVzZWQgaW4gYW5hbHl6ZV9vdXRjb21lcy5weSBmb3IgZHJpdmVyJ3MgY292ZXJhZ2UgYW5hbHlzaXMuCi1jb21wb25lbnRfdGVzdF90Zm1fY29uZmlnX3AyNTZtX2RyaXZlcl9hY2NlbF9lYyAoKSB7Ci0gICAgbXNnICJidWlsZDogVEYtTSBjb25maWcgKyBwMjU2bSBkcml2ZXIgKyBhY2NlbCBFQ0RIKEUpL0VDRFNBIgotCi0gICAgY29tbW9uX3RmbV9jb25maWcKLQotICAgICMgQnVpbGQgY3J5cHRvIGxpYnJhcnkKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1JLi4vdGVzdHMvaW5jbHVkZS9zcGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLQotICAgICMgTWFrZSBzdXJlIGFueSBidWlsdC1pbiBFQyBhbGcgd2FzIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZSBjb25maWcpCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY2RzYV8gbGlicmFyeS9lY2RzYS5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY2RoXyBsaWJyYXJ5L2VjZGgubwotICAgIG5vdCBncmVwIG1iZWR0bHNfZWNqcGFrZV8gbGlicmFyeS9lY2pwYWtlLm8KLSAgICAjIEFsc28gZW5zdXJlIHRoYXQgRUNQLCBSU0EsIERITSBvciBCSUdOVU0gbW9kdWxlcyB3ZXJlIG5vdCByZS1lbmFibGVkCi0gICAgbm90IGdyZXAgbWJlZHRsc19lY3BfIGxpYnJhcnkvZWNwLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX3JzYV8gbGlicmFyeS9yc2EubwotICAgIG5vdCBncmVwIG1iZWR0bHNfZGhtXyBsaWJyYXJ5L2RobS5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19tcGlfIGxpYnJhcnkvYmlnbnVtLm8KLSAgICAjIENoZWNrIHRoYXQgcDI1Nm0gd2FzIGJ1aWx0Ci0gICAgZ3JlcCAtcSBwMjU2X2VjZHNhXyBsaWJyYXJ5L2xpYm1iZWRjcnlwdG8uYQotCi0gICAgIyBJbiAiY29uZmlnLXRmbS5oIiB3ZSBkaXNhYmxlZCBDSVBIRVJfQyB0d2Vha2luZyBURi1NJ3MgY29uZmlndXJhdGlvbgotICAgICMgZmlsZXMsIHNvIHdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgaGFzIG5vdCBiZSByZS1lbmFibGVkIGFjY2lkZW50YWxseS4KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2NpcGhlciBsaWJyYXJ5L2NpcGhlci5vCi0KLSAgICAjIFJ1biB0aGUgdGVzdHMKLSAgICBtc2cgInRlc3Q6IFRGLU0gY29uZmlnICsgcDI1Nm0gZHJpdmVyICsgYWNjZWwgRUNESChFKS9FQ0RTQSIKLSAgICBtYWtlIHRlc3QKLX0KLQotIyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGNvbXBvbmVudF90ZXN0X3RmbV9jb25maWdfcDI1Nm1fZHJpdmVyX2FjY2VsX2VjKCkgYXMKLSMgdGhleSBhcmUgYm90aCBtZWFudCB0byBiZSB1c2VkIGluIGFuYWx5emVfb3V0Y29tZXMucHkgZm9yIGRyaXZlcidzIGNvdmVyYWdlCi0jIGFuYWx5c2lzLgotY29tcG9uZW50X3Rlc3RfdGZtX2NvbmZpZygpIHsKLSAgICBjb21tb25fdGZtX2NvbmZpZwotCi0gICAgIyBEaXNhYmxlIFAyNTZNIGRyaXZlciwgd2hpY2ggaXMgb24gYnkgZGVmYXVsdCwgc28gdGhhdCBhbmFseXplX291dGNvbWVzCi0gICAgIyBjYW4gY29tcGFyZSB0aGlzIHRlc3Qgd2l0aCB0ZXN0X3RmbV9jb25maWdfcDI1Nm1fZHJpdmVyX2FjY2VsX2VjCi0gICAgZWNobyAiI3VuZGVmIE1CRURUTFNfUFNBX1AyNTZNX0RSSVZFUl9FTkFCTEVEIiA+PiAiJENPTkZJR19IIgotCi0gICAgbXNnICJidWlsZDogVEYtTSBjb25maWciCi0gICAgbWFrZSBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtSS4uL3Rlc3RzL2luY2x1ZGUvc3BlJyB0ZXN0cwotCi0gICAgIyBDaGVjayB0aGF0IHAyNTZtIHdhcyBub3QgYnVpbHQKLSAgICBub3QgZ3JlcCBwMjU2X2VjZHNhXyBsaWJyYXJ5L2xpYm1iZWRjcnlwdG8uYQotCi0gICAgIyBJbiAiY29uZmlnLXRmbS5oIiB3ZSBkaXNhYmxlZCBDSVBIRVJfQyB0d2Vha2luZyBURi1NJ3MgY29uZmlndXJhdGlvbgotICAgICMgZmlsZXMsIHNvIHdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgaGFzIG5vdCBiZSByZS1lbmFibGVkIGFjY2lkZW50YWxseS4KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2NpcGhlciBsaWJyYXJ5L2NpcGhlci5vCi0KLSAgICBtc2cgInRlc3Q6IFRGLU0gY29uZmlnIgotICAgIG1ha2UgdGVzdAotfQotCi0jIENvbW1vbiBoZWxwZXIgZm9yIGNvbXBvbmVudF9mdWxsX3dpdGhvdXRfZWNkaGVfZWNkc2EoKSBhbmQKLSMgY29tcG9uZW50X2Z1bGxfd2l0aG91dF9lY2RoZV9lY2RzYV9hbmRfdGxzMTMoKSB3aGljaDoKLSMgLSBzdGFydHMgZnJvbSB0aGUgImZ1bGwiIGNvbmZpZ3VyYXRpb24gbWludXMgdGhlIGxpc3Qgb2Ygc3ltYm9scyBwYXNzZWQgaW4KLSMgICBhcyAxc3QgcGFyYW1ldGVyCi0jIC0gYnVpbGQKLSMgLSB0ZXN0IG9ubHkgVExTIChpLmUuIHRlc3Rfc3VpdGVfdGxzIGFuZCBzc2wtb3B0KQotYnVpbGRfZnVsbF9taW51c19zb21ldGhpbmdfYW5kX3Rlc3RfdGxzICgpIHsKLSAgICBzeW1ib2xzX3RvX2Rpc2FibGU9IiQxIgotCi0gICAgbXNnICJidWlsZDogZnVsbCBtaW51cyBzb21ldGhpbmcsIHRlc3QgVExTIgotCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIGZvciBzeW0gaW4gJHN5bWJvbHNfdG9fZGlzYWJsZTsgZG8KLSAgICAgICAgZWNobyAiRGlzYWJsaW5nICRzeW0iCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0ICRzeW0KLSAgICBkb25lCi0KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGZ1bGwgbWludXMgc29tZXRoaW5nLCB0ZXN0IFRMUyIKLSAgICAoIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsICkKLQotICAgIG1zZyAic3NsLW9wdDogZnVsbCBtaW51cyBzb21ldGhpbmcsIHRlc3QgVExTIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotY29tcG9uZW50X2Z1bGxfd2l0aG91dF9lY2RoZV9lY2RzYSAoKSB7Ci0gICAgYnVpbGRfZnVsbF9taW51c19zb21ldGhpbmdfYW5kX3Rlc3RfdGxzICJNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEIgotfQotCi1jb21wb25lbnRfZnVsbF93aXRob3V0X2VjZGhlX2VjZHNhX2FuZF90bHMxMyAoKSB7Ci0gICAgYnVpbGRfZnVsbF9taW51c19zb21ldGhpbmdfYW5kX3Rlc3RfdGxzICJNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMiCi19Ci0KLSMgVGhpcyBpcyBhbiBoZWxwZXIgdXNlZCBieToKLSMgLSBjb21wb25lbnRfdGVzdF9wc2FfZWNjX2tleV9wYWlyX25vX2Rlcml2ZQotIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9lY2Nfa2V5X3BhaXJfbm9fZ2VuZXJhdGUKLSMgVGhlIGdvYWwgaXMgdG8gdGVzdCB3aXRoIGFsbCBQU0FfV0FOVF9LRVlfVFlQRV94eHhfS0VZX1BBSVJfeXl5IHN5bWJvbHMKLSMgZW5hYmxlZCwgYnV0IG9uZS4gSW5wdXQgYXJndW1lbnRzIGFyZSBhcyBmb2xsb3dzOgotIyAtICQxIGlzIHRoZSBrZXkgdHlwZSB1bmRlciB0ZXN0LCBpLmUuIEVDQy9SU0EvREgKLSMgLSAkMiBpcyB0aGUga2V5IG9wdGlvbiB0byBiZSB1bnNldCAoaS5lLiBnZW5lcmF0ZSwgZGVyaXZlLCBldGMpCi1idWlsZF9hbmRfdGVzdF9wc2Ffd2FudF9rZXlfcGFpcl9wYXJ0aWFsKCkgewotICAgIGtleV90eXBlPSQxCi0gICAgdW5zZXRfb3B0aW9uPSQyCi0gICAgZGlzYWJsZWRfcHNhX3dhbnQ9IlBTQV9XQU5UX0tFWV9UWVBFXyR7a2V5X3R5cGV9X0tFWV9QQUlSXyR7dW5zZXRfb3B0aW9ufSIKLQotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIC0gJHtkaXNhYmxlZF9wc2Ffd2FudH0iCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLQotICAgICMgQWxsIHRoZSBQU0FfV0FOVF9LRVlfVFlQRV94eHhfS0VZX1BBSVJfeXl5IGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4KLSAgICAjIGNyeXB0b19jb25maWcuaCBzbyB3ZSBqdXN0IGRpc2FibGUgdGhlIG9uZSB3ZSBkb24ndCB3YW50LgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCAiJGRpc2FibGVkX3BzYV93YW50IgotCi0gICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyAtICR7ZGlzYWJsZWRfcHNhX3dhbnR9IgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfZWNjX2tleV9wYWlyX25vX2Rlcml2ZSgpIHsKLSAgICBidWlsZF9hbmRfdGVzdF9wc2Ffd2FudF9rZXlfcGFpcl9wYXJ0aWFsICJFQ0MiICJERVJJVkUiCi19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9lY2Nfa2V5X3BhaXJfbm9fZ2VuZXJhdGUoKSB7Ci0gICAgYnVpbGRfYW5kX3Rlc3RfcHNhX3dhbnRfa2V5X3BhaXJfcGFydGlhbCAiRUNDIiAiR0VORVJBVEUiCi19Ci0KLWNvbmZpZ19wc2FfY3J5cHRvX2FjY2VsX3JzYSAoKSB7Ci0gICAgZHJpdmVyX29ubHk9JDEKLQotICAgICMgU3RhcnQgZnJvbSBjcnlwdG9fZnVsbCBjb25maWcgKG5vIFguNTA5LCBubyBUTFMpCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImNyeXB0b19mdWxsIgotCi0gICAgaWYgWyAiJGRyaXZlcl9vbmx5IiAtZXEgMSBdOyB0aGVuCi0gICAgICAgICMgUmVtb3ZlIFJTQSBzdXBwb3J0IGFuZCBpdHMgZGVwZW5kZW5jaWVzCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUlNBX0MKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMTUKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMjEKLQotICAgICAgICAjIFdlIG5lZWQgUEVNIHBhcnNpbmcgaW4gdGhlIHRlc3QgbGlicmFyeSBhcyB3ZWxsIHRvIHN1cHBvcnQgdGhlIGltcG9ydAotICAgICAgICAjIG9mIFBFTSBlbmNvZGVkIFJTQSBrZXlzLgotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENPTkZJR19URVNUX0RSSVZFUl9IIiBzZXQgTUJFRFRMU19QRU1fUEFSU0VfQwotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENPTkZJR19URVNUX0RSSVZFUl9IIiBzZXQgTUJFRFRMU19CQVNFNjRfQwotICAgIGZpCi19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX3JzYV9jcnlwdG8gKCkgewotICAgIG1zZyAiYnVpbGQ6IGNyeXB0b19mdWxsIHdpdGggYWNjZWxlcmF0ZWQgUlNBIgotCi0gICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19SU0FfT0FFUCBBTEdfUlNBX1BTUyBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19SU0FfUEtDUzFWMTVfQ1JZUFQgQUxHX1JTQV9QS0NTMVYxNV9TSUdOIFwKLSAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVkgXAotICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9SU0FfS0VZX1BBSVJfQkFTSUMgXAotICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEUgXAotICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9SU0FfS0VZX1BBSVJfSU1QT1JUIFwKLSAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0VYUE9SVCIKLQotICAgICMgQ29uZmlndXJlCi0gICAgIyAtLS0tLS0tLS0KLQotICAgIGNvbmZpZ19wc2FfY3J5cHRvX2FjY2VsX3JzYSAxCi0KLSAgICAjIEJ1aWxkCi0gICAgIyAtLS0tLQotCi0gICAgIyBUaGVzZSBoYXNoZXMgYXJlIG5lZWRlZCBmb3IgdW5pdCB0ZXN0cy4KLSAgICBsb2NfZXh0cmFfbGlzdD0iQUxHX1NIQV8xIEFMR19TSEFfMjI0IEFMR19TSEFfMjU2IEFMR19TSEFfMzg0IEFMR19TSEFfNTEyIFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX1NIQTNfMjI0IEFMR19TSEEzXzI1NiBBTEdfU0hBM18zODQgQUxHX1NIQTNfNTEyIEFMR19NRDUiCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IiAiJGxvY19leHRyYV9saXN0IgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgIyBNYWtlIHN1cmUgdGhpcyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKLSAgICBub3QgZ3JlcCBtYmVkdGxzX3JzYSBsaWJyYXJ5L3JzYS5vCi0KLSAgICAjIFJ1biB0aGUgdGVzdHMKLSAgICAjIC0tLS0tLS0tLS0tLS0KLQotICAgIG1zZyAidGVzdDogY3J5cHRvX2Z1bGwgd2l0aCBhY2NlbGVyYXRlZCBSU0EiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9yc2FfY3J5cHRvICgpIHsKLSAgICBtc2cgImJ1aWxkOiBjcnlwdG9fZnVsbCB3aXRoIG5vbi1hY2NlbGVyYXRlZCBSU0EiCi0KLSAgICAjIENvbmZpZ3VyZQotICAgICMgLS0tLS0tLS0tCi0gICAgY29uZmlnX3BzYV9jcnlwdG9fYWNjZWxfcnNhIDAKLQotICAgICMgQnVpbGQKLSAgICAjIC0tLS0tCi0gICAgbWFrZQotCi0gICAgIyBSdW4gdGhlIHRlc3RzCi0gICAgIyAtLS0tLS0tLS0tLS0tCi0gICAgbXNnICJ0ZXN0OiBjcnlwdG9fZnVsbCB3aXRoIG5vbi1hY2NlbGVyYXRlZCBSU0EiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLSMgVGhpcyBpcyBhIHRlbXBvcmFyeSB0ZXN0IHRvIHZlcmlmeSB0aGF0IGZ1bGwgUlNBIHN1cHBvcnQgaXMgcHJlc2VudCBldmVuIHdoZW4KLSMgb25seSBvbmUgc2luZ2xlIG5ldyBzeW1ib2xzIChQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfQkFTSUMpIGlzIGRlZmluZWQuCi1jb21wb25lbnRfdGVzdF9uZXdfcHNhX3dhbnRfa2V5X3BhaXJfc3ltYm9sKCkgewotICAgIG1zZyAiQnVpbGQ6IGNyeXB0byBjb25maWcgLSBNQkVEVExTX1JTQV9DICsgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0JBU0lDIgotCi0gICAgIyBDcmVhdGUgYSB0ZW1wb3Jhcnkgb3V0cHV0IGZpbGUgdW5sZXNzIHRoZXJlIGlzIGFscmVhZHkgb25lIHNldAotICAgIGlmIFsgIiRNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFIiBdOyB0aGVuCi0gICAgICAgIFJFTU9WRV9PVVRDT01FX09OX0VYSVQ9Im5vIgotICAgIGVsc2UKLSAgICAgICAgUkVNT1ZFX09VVENPTUVfT05fRVhJVD0ieWVzIgotICAgICAgICBNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFPSIkUFdEL291dC5jc3YiCi0gICAgICAgIGV4cG9ydCBNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFCi0gICAgZmkKLQotICAgICMgU3RhcnQgZnJvbSBjcnlwdG8gY29uZmlndXJhdGlvbgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGNyeXB0bwotCi0gICAgIyBSZW1vdmUgUlNBIHN1cHBvcnQgYW5kIGl0cyBkZXBlbmRlbmNpZXMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1MxX1YxNQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzFfVjIxCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1JTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9SU0FfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1JTQV9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfUlNBX1BTS19FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfUlNBX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1JTQV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAotCi0gICAgIyBFbmFibGUgUFNBIHN1cHBvcnQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRwotCi0gICAgIyBLZWVwIG9ubHkgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0JBU0lDIGVuYWJsZWQgaW4gb3JkZXIgdG8gZW5zdXJlCi0gICAgIyB0aGF0IHByb3BlciB0cmFuc2xhdGlvbnMgaXMgZG9uZSBpbiBjcnlwdG9fbGVnYWN5LmguCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9JTVBPUlQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0VYUE9SVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEUKLQotICAgIG1ha2UKLQotICAgIG1zZyAiVGVzdDogY3J5cHRvIGNvbmZpZyAtIE1CRURUTFNfUlNBX0MgKyBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfQkFTSUMiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICAjIFBhcnNlIG9ubHkgMSByZWxldmFudCBsaW5lIGZyb20gdGhlIG91dGNvbWUgZmlsZSwgaS5lLiBhIHRlc3Qgd2hpY2ggaXMKLSAgICAjIHBlcmZvcm1pbmcgUlNBIHNpZ25hdHVyZS4KLSAgICBtc2cgIlZlcmlmeSB0aGF0ICdSU0EgUEtDUzEgU2lnbiAjMSAoU0hBNTEyLCAxNTM2IGJpdHMgUlNBKScgaXMgUEFTUyIKLSAgICBjYXQgJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUgfCBncmVwICdSU0EgUEtDUzEgU2lnbiAjMSAoU0hBNTEyLCAxNTM2IGJpdHMgUlNBKScgfCBncmVwIC1xICJQQVNTIgotCi0gICAgaWYgWyAiJFJFTU9WRV9PVVRDT01FX09OX0VYSVQiID09ICJ5ZXMiIF07IHRoZW4KLSAgICAgICAgcm0gJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUKLSAgICBmaQotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9oYXNoICgpIHsKLSAgICBtc2cgInRlc3Q6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBoYXNoIgotCi0gICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19NRDUgQUxHX1JJUEVNRDE2MCBBTEdfU0hBXzEgXAotICAgICAgICAgICAgICAgICAgICBBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19TSEEzXzIyNCBBTEdfU0hBM18yNTYgQUxHX1NIQTNfMzg0IEFMR19TSEEzXzUxMiIKLQotICAgICMgQ29uZmlndXJlCi0gICAgIyAtLS0tLS0tLS0KLQotICAgICMgU3RhcnQgZnJvbSBkZWZhdWx0IGNvbmZpZyAobm8gVVNFX1BTQSkKLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZGVmYXVsdCIKLQotICAgICMgRGlzYWJsZSB0aGUgdGhpbmdzIHRoYXQgYXJlIGJlaW5nIGFjY2VsZXJhdGVkCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19NRDVfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUklQRU1EMTYwX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTFfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjI0X0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEEzODRfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBNTEyX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTNfQwotCi0gICAgIyBCdWlsZAotICAgICMgLS0tLS0KLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgICMgVGhlcmUncyBhIHJpc2sgb2Ygc29tZXRoaW5nIGdldHRpbmcgcmUtZW5hYmxlZCB2aWEgY29uZmlnX3BzYS5oOwotICAgICMgbWFrZSBzdXJlIGl0IGRpZCBub3QgaGFwcGVuLiBOb3RlOiBpdCdzIE9LIGZvciBNRF9DIHRvIGJlIGVuYWJsZWQuCi0gICAgbm90IGdyZXAgbWJlZHRsc19tZDUgbGlicmFyeS9tZDUubwotICAgIG5vdCBncmVwIG1iZWR0bHNfc2hhMSBsaWJyYXJ5L3NoYTEubwotICAgIG5vdCBncmVwIG1iZWR0bHNfc2hhMjU2IGxpYnJhcnkvc2hhMjU2Lm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX3NoYTUxMiBsaWJyYXJ5L3NoYTUxMi5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19yaXBlbWQxNjAgbGlicmFyeS9yaXBlbWQxNjAubwotCi0gICAgIyBSdW4gdGhlIHRlc3RzCi0gICAgIyAtLS0tLS0tLS0tLS0tCi0KLSAgICBtc2cgInRlc3Q6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBoYXNoIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9oYXNoX2tlZXBfYnVpbHRpbnMgKCkgewotICAgIG1zZyAidGVzdDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkK2J1aWx0aW4gaGFzaCIKLSAgICAjIFRoaXMgY29tcG9uZW50IGVuc3VyZXMgdGhhdCBhbGwgdGhlIHRlc3QgY2FzZXMgZm9yCi0gICAgIyBtZF9wc2FfZHluYW1pY19kaXNwYXRjaCB3aXRoIGxlZ2FjeStkcml2ZXIgaW4gdGVzdF9zdWl0ZV9tZCBhcmUgcnVuLgotCi0gICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19NRDUgQUxHX1JJUEVNRDE2MCBBTEdfU0hBXzEgXAotICAgICAgICAgICAgICAgICAgICBBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19TSEEzXzIyNCBBTEdfU0hBM18yNTYgQUxHX1NIQTNfMzg0IEFMR19TSEEzXzUxMiIKLQotICAgICMgU3RhcnQgZnJvbSBkZWZhdWx0IGNvbmZpZyAobm8gVVNFX1BTQSkKLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZGVmYXVsdCIKLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgIG1zZyAidGVzdDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkK2J1aWx0aW4gaGFzaCIKLSAgICBtYWtlIHRlc3QKLX0KLQotIyBBdXhpbGlhcnkgZnVuY3Rpb24gdG8gYnVpbGQgY29uZmlnIGZvciBoYXNoZXMgd2l0aCBhbmQgd2l0aG91dCBkcml2ZXJzCi1jb25maWdfcHNhX2NyeXB0b19oYXNoX3VzZV9wc2EgKCkgewotICAgIGRyaXZlcl9vbmx5PSIkMSIKLSAgICAjIHN0YXJ0IHdpdGggY29uZmlnIGZ1bGwgZm9yIG1heGltdW0gY292ZXJhZ2UgKGFsc28gZW5hYmxlcyBVU0VfUFNBKQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgotICAgIGlmIFsgIiRkcml2ZXJfb25seSIgLWVxIDEgXTsgdGhlbgotICAgICAgICAjIGRpc2FibGUgdGhlIGJ1aWx0LWluIGltcGxlbWVudGF0aW9uIG9mIGhhc2hlcwotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX01ENV9DCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUklQRU1EMTYwX0MKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEExX0MKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEEyMjRfQwotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9DICMgc2VlIGV4dGVybmFsIFJORyBiZWxvdwotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVAotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTM4NF9DCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBNTEyX0MKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEE1MTJfVVNFX0E2NF9DUllQVE9fSUZfUFJFU0VOVAotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTNfQwotICAgIGZpCi19Ci0KLSMgTm90ZSB0aGF0IGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9oYXNoX3VzZV9wc2EKLSMgaXMgcmVsYXRlZCB0byB0aGlzIGNvbXBvbmVudCBhbmQgYm90aCBjb21wb25lbnRzIG5lZWQgdG8gYmUga2VwdCBpbiBzeW5jLgotIyBGb3IgZGV0YWlscyBwbGVhc2Ugc2VlIGNvbW1lbnRzIGZvciBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfaGFzaF91c2VfcHNhLgotY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfaGFzaF91c2VfcHNhICgpIHsKLSAgICBtc2cgInRlc3Q6IGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBoYXNoZXMiCi0KLSAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX01ENSBBTEdfUklQRU1EMTYwIEFMR19TSEFfMSBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19TSEFfMjI0IEFMR19TSEFfMjU2IEFMR19TSEFfMzg0IEFMR19TSEFfNTEyIFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX1NIQTNfMjI0IEFMR19TSEEzXzI1NiBBTEdfU0hBM18zODQgQUxHX1NIQTNfNTEyIgotCi0gICAgIyBDb25maWd1cmUKLSAgICAjIC0tLS0tLS0tLQotCi0gICAgY29uZmlnX3BzYV9jcnlwdG9faGFzaF91c2VfcHNhIDEKLQotICAgICMgQnVpbGQKLSAgICAjIC0tLS0tCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCi0KLSAgICAjIFRoZXJlJ3MgYSByaXNrIG9mIHNvbWV0aGluZyBnZXR0aW5nIHJlLWVuYWJsZWQgdmlhIGNvbmZpZ19wc2EuaDsKLSAgICAjIG1ha2Ugc3VyZSBpdCBkaWQgbm90IGhhcHBlbi4gTm90ZTogaXQncyBPSyBmb3IgTURfQyB0byBiZSBlbmFibGVkLgotICAgIG5vdCBncmVwIG1iZWR0bHNfbWQ1IGxpYnJhcnkvbWQ1Lm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX3NoYTEgbGlicmFyeS9zaGExLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX3NoYTI1NiBsaWJyYXJ5L3NoYTI1Ni5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19zaGE1MTIgbGlicmFyeS9zaGE1MTIubwotICAgIG5vdCBncmVwIG1iZWR0bHNfcmlwZW1kMTYwIGxpYnJhcnkvcmlwZW1kMTYwLm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgaGFzaGVzIgotICAgIG1ha2UgdGVzdAotCi0gICAgIyBUaGlzIGlzIG1vc3RseSB1c2VmdWwgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgY29tcGFyZSBvdXRjb21lIGZpbGVzIHdpdGgKLSAgICAjIHRoZSByZWZlcmVuY2UgY29uZmlnIGluIGFuYWx5emVfb3V0Y29tZXMucHksIHRvIGNoZWNrIHRoYXQgdGhlCi0gICAgIyBkZXBlbmRlbmN5IGRlY2xhcmF0aW9ucyBpbiBzc2wtb3B0LnNoIGFuZCBpbiBUTFMgY29kZSBhcmUgY29ycmVjdC4KLSAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2gsIGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBoYXNoZXMiCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotCi0gICAgIyBUaGlzIGlzIHRvIG1ha2Ugc3VyZSBhbGwgY2lwaGVyc3VpdGVzIGFyZSBleGVyY2lzZWQsIGJ1dCB3ZSBkb24ndCBuZWVkCi0gICAgIyBpbnRlcm9wIHRlc3RpbmcgKGJlc2lkZXMsIHdlIGFscmVhZHkgZ290IHNvbWUgZnJvbSBzc2wtb3B0LnNoKS4KLSAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCwgZnVsbCB3aXRoIGFjY2VsZXJhdGVkIGhhc2hlcyIKLSAgICB0ZXN0cy9jb21wYXQuc2ggLXAgbWJlZFRMUyAtViBZRVMKLX0KLQotIyBUaGlzIGNvbXBvbmVudCBwcm92aWRlcyByZWZlcmVuY2UgY29uZmlndXJhdGlvbiBmb3IgdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9oYXNoX3VzZV9wc2EKLSMgd2l0aG91dCBhY2NlbGVyYXRlZCBoYXNoLiBUaGUgb3V0Y29tZSBmcm9tIGJvdGggY29tcG9uZW50cyBhcmUgdXNlZCBieSB0aGUgYW5hbHl6ZV9vdXRjb21lcy5weQotIyBzY3JpcHQgdG8gZmluZCByZWdyZXNzaW9uIGluIHRlc3QgY292ZXJhZ2Ugd2hlbiBhY2NlbGVyYXRlZCBoYXNoIGlzIHVzZWQgKHRlc3RzIGFuZCBzc2wtb3B0KS4KLSMgQm90aCBjb21wb25lbnRzIG5lZWQgdG8gYmUga2VwdCBpbiBzeW5jLgotY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2hhc2hfdXNlX3BzYSgpIHsKLSAgICBtc2cgInRlc3Q6IGZ1bGwgd2l0aG91dCBhY2NlbGVyYXRlZCBoYXNoZXMiCi0KLSAgICBjb25maWdfcHNhX2NyeXB0b19oYXNoX3VzZV9wc2EgMAotCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGhvdXQgYWNjZWxlcmF0ZWQgaGFzaGVzIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoLCBmdWxsIHdpdGhvdXQgYWNjZWxlcmF0ZWQgaGFzaGVzIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotIyBBdXhpbGlhcnkgZnVuY3Rpb24gdG8gYnVpbGQgY29uZmlnIGZvciBoYXNoZXMgd2l0aCBhbmQgd2l0aG91dCBkcml2ZXJzCi1jb25maWdfcHNhX2NyeXB0b19obWFjX3VzZV9wc2EgKCkgewotICAgIGRyaXZlcl9vbmx5PSIkMSIKLSAgICAjIHN0YXJ0IHdpdGggY29uZmlnIGZ1bGwgZm9yIG1heGltdW0gY292ZXJhZ2UgKGFsc28gZW5hYmxlcyBVU0VfUFNBKQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgotCi0gICAgaWYgWyAiJGRyaXZlcl9vbmx5IiAtZXEgMSBdOyB0aGVuCi0gICAgICAgICMgRGlzYWJsZSBNRF9DIGluIG9yZGVyIHRvIGRpc2FibGUgdGhlIGJ1aWx0aW4gc3VwcG9ydCBmb3IgSE1BQy4gTURfTElHSFQKLSAgICAgICAgIyBpcyBzdGlsbCBlbmFibGVkIHRob3VnaCAoZm9yIEVOVFJPUFlfQyBhbW9uZyBvdGhlcnMpLgotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX01EX0MKLSAgICAgICAgIyBEaXNhYmxlIGFsc28gdGhlIGJ1aWx0aW4gaGFzaGVzIHNpbmNlIHRoZXkgYXJlIHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyCi0gICAgICAgICMgYW5kIE1EIG1vZHVsZSBpcyBhYmxlIHRvIHBlcmZvcm0gUFNBIGRpc3BhdGhpbmcuCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0LWFsbCBNQkVEVExTX1NIQQotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX01ENV9DCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUklQRU1EMTYwX0MKLSAgICBmaQotCi0gICAgIyBEaXJlY3QgZGVwZW5kZW5jaWVzIG9mIE1EX0MuIFdlIGRpc2FibGUgdGhlbSBhbHNvIGluIHRoZSByZWZlcmVuY2UKLSAgICAjIGNvbXBvbmVudCB0byB3b3JrIHdpdGggdGhlIHNhbWUgc2V0IG9mIGZlYXR1cmVzLgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzdfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzVfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSE1BQ19EUkJHX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hLREZfQwotICAgICMgRGVwZW5kZW5jaWVzIG9mIEhNQUNfRFJCRwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfREVURVJNSU5JU1RJQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfREVURVJNSU5JU1RJQ19FQ0RTQQotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9obWFjKCkgewotICAgIG1zZyAidGVzdDogZnVsbCB3aXRoIGFjY2VsZXJhdGVkIGhtYWMiCi0KLSAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX0hNQUMgS0VZX1RZUEVfSE1BQyBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19NRDUgQUxHX1JJUEVNRDE2MCBBTEdfU0hBXzEgXAotICAgICAgICAgICAgICAgICAgICBBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiBcCi0gICAgICAgICAgICAgICAgICAgIEFMR19TSEEzXzIyNCBBTEdfU0hBM18yNTYgQUxHX1NIQTNfMzg0IEFMR19TSEEzXzUxMiIKLQotICAgICMgQ29uZmlndXJlCi0gICAgIyAtLS0tLS0tLS0KLQotICAgIGNvbmZpZ19wc2FfY3J5cHRvX2htYWNfdXNlX3BzYSAxCi0KLSAgICAjIEJ1aWxkCi0gICAgIyAtLS0tLQotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgIyBFbnN1cmUgdGhhdCBidWlsdC1pbiBzdXBwb3J0IGZvciBITUFDIGlzIGRpc2FibGVkLgotICAgIG5vdCBncmVwIG1iZWR0bHNfbWRfaG1hYyBsaWJyYXJ5L21kLm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgaG1hYyIKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2htYWMoKSB7Ci0gICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGhvdXQgYWNjZWxlcmF0ZWQgaG1hYyIKLQotICAgIGNvbmZpZ19wc2FfY3J5cHRvX2htYWNfdXNlX3BzYSAwCi0KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGZ1bGwgd2l0aG91dCBhY2NlbGVyYXRlZCBobWFjIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9kZXMgKCkgewotICAgIG1zZyAidGVzdDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkIERFUyIKLQotICAgICMgQWxiZWl0IHRoaXMgY29tcG9uZW50cyBhaW1zIGF0IGFjY2VsZXJhdGluZyBERVMgd2hpY2ggc2hvdWxkIG9ubHkgc3VwcG9ydAotICAgICMgQ0JDIGFuZCBFQ0IgbW9kZXMsIHdlIG5lZWQgdG8gYWNjZWxlcmF0ZSBtb3JlIHRoYW4gdGhhdCBvdGhlcndpc2UgREVTX0MKLSAgICAjIHdvdWxkIGF1dG9tYXRpY2FsbHkgYmUgcmUtZW5hYmxlZCBieSAiY29uZmlnX2FkanVzdF9sZWdhY3lfZnJvbV9wc2EuYyIKLSAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX0VDQl9OT19QQURESU5HIEFMR19DQkNfTk9fUEFERElORyBBTEdfQ0JDX1BLQ1M3IFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX0NUUiBBTEdfQ0ZCIEFMR19PRkIgQUxHX1hUUyBBTEdfQ01BQyBcCi0gICAgICAgICAgICAgICAgICAgIEtFWV9UWVBFX0RFUyIKLQotICAgICMgTm90ZTogd2UgY2Fubm90IGFjY2VsZXJhdGUgYWxsIGNpcGhlcnMnIGtleSB0eXBlcyBvdGhlcndpc2Ugd2Ugd291bGQgYWxzbwotICAgICMgaGF2ZSB0byBlaXRoZXIgZGlzYWJsZSBDQ00vR0NNIG9yIGFjY2VsZXJhdGUgdGhlbSwgYnV0IHRoYXQncyBvdXQgb2Ygc2NvcGUKLSAgICAjIG9mIHRoaXMgY29tcG9uZW50LiBUaGlzIGxpbWl0YXRpb24gd2lsbCBiZSBhZGRyZXNzZWQgYnkgIzg1OTguCi0KLSAgICAjIENvbmZpZ3VyZQotICAgICMgLS0tLS0tLS0tCi0KLSAgICAjIFN0YXJ0IGZyb20gdGhlIGZ1bGwgY29uZmlnCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImZ1bGwiCi0KLSAgICAjIERpc2FibGUgdGhlIHRoaW5ncyB0aGF0IGFyZSBiZWluZyBhY2NlbGVyYXRlZAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ1RSCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DRkIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9NT0RFX09GQgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfWFRTCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ERVNfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ01BQ19DCi0KLSAgICAjIEJ1aWxkCi0gICAgIyAtLS0tLQotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgIyBNYWtlIHN1cmUgdGhpcyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKLSAgICBub3QgZ3JlcCBtYmVkdGxzX2RlcyogbGlicmFyeS9kZXMubwotCi0gICAgIyBSdW4gdGhlIHRlc3RzCi0gICAgIyAtLS0tLS0tLS0tLS0tCi0KLSAgICBtc2cgInRlc3Q6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBERVMiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2FlYWQgKCkgewotICAgIG1zZyAidGVzdDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkIEFFQUQiCi0KLSAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX0dDTSBBTEdfQ0NNIEFMR19DSEFDSEEyMF9QT0xZMTMwNSBcCi0gICAgICAgICAgICAgICAgICAgIEtFWV9UWVBFX0FFUyBLRVlfVFlQRV9DSEFDSEEyMCBLRVlfVFlQRV9BUklBIEtFWV9UWVBFX0NBTUVMTElBIgotCi0gICAgIyBDb25maWd1cmUKLSAgICAjIC0tLS0tLS0tLQotCi0gICAgIyBTdGFydCBmcm9tIGZ1bGwgY29uZmlnCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImZ1bGwiCi0KLSAgICAjIERpc2FibGUgdGhpbmdzIHRoYXQgYXJlIGJlaW5nIGFjY2VsZXJhdGVkCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19HQ01fQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0NNX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NIQUNIQVBPTFlfQwotCi0gICAgIyBEaXNhYmxlIENDTV9TVEFSX05PX1RBRyBiZWNhdXNlIHRoaXMgcmUtZW5hYmxlcyBDQ01fQy4KLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NDTV9TVEFSX05PX1RBRwotCi0gICAgIyBCdWlsZAotICAgICMgLS0tLS0KLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKLQotICAgICMgTWFrZSBzdXJlIHRoaXMgd2FzIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZSBjb25maWcpCi0gICAgbm90IGdyZXAgbWJlZHRsc19jY20gbGlicmFyeS9jY20ubwotICAgIG5vdCBncmVwIG1iZWR0bHNfZ2NtIGxpYnJhcnkvZ2NtLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2NoYWNoYXBvbHkgbGlicmFyeS9jaGFjaGFwb2x5Lm8KLQotICAgICMgUnVuIHRoZSB0ZXN0cwotICAgICMgLS0tLS0tLS0tLS0tLQotCi0gICAgbXNnICJ0ZXN0OiBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHIHdpdGggYWNjZWxlcmF0ZWQgQUVBRCIKLSAgICBtYWtlIHRlc3QKLX0KLQotIyBUaGlzIGlzIGEgY29tbW9uIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb24gdXNlZCBpbjoKLSMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9jaXBoZXJfYWVhZF9jbWFjCi0jIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2NpcGhlcl9hZWFkX2NtYWMKLWNvbW1vbl9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9jaXBoZXJfYWVhZF9jbWFjKCkgewotICAgICMgU3RhcnQgZnJvbSB0aGUgZnVsbCBjb25maWcKLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKLQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTklTVF9LV19DCi19Ci0KLSMgVGhlIDIgZm9sbG93aW5nIHRlc3QgY29tcG9uZW50cywgaS5lLgotIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2NpcGhlcl9hZWFkX2NtYWMKLSMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfY2lwaGVyX2FlYWRfY21hYwotIyBhcmUgbWVhbnQgdG8gYmUgdXNlZCB0b2dldGhlciBpbiBhbmFseXplX291dGNvbWVzLnB5IHNjcmlwdCBpbiBvcmRlciB0byB0ZXN0Ci0jIGRyaXZlcidzIGNvdmVyYWdlIGZvciBjaXBoZXJzIGFuZCBBRUFEcy4KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2NpcGhlcl9hZWFkX2NtYWMgKCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnIHdpdGggYWNjZWxlcmF0ZWQgY2lwaGVyIGluYy4gQUVBRCBhbmQgQ01BQyIKLQotICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNCX05PX1BBRERJTkcgQUxHX0NCQ19OT19QQURESU5HIEFMR19DQkNfUEtDUzcgQUxHX0NUUiBBTEdfQ0ZCIFwKLSAgICAgICAgICAgICAgICAgICAgQUxHX09GQiBBTEdfWFRTIEFMR19TVFJFQU1fQ0lQSEVSIEFMR19DQ01fU1RBUl9OT19UQUcgXAotICAgICAgICAgICAgICAgICAgICBBTEdfR0NNIEFMR19DQ00gQUxHX0NIQUNIQTIwX1BPTFkxMzA1IEFMR19DTUFDIFwKLSAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfREVTIEtFWV9UWVBFX0FFUyBLRVlfVFlQRV9BUklBIEtFWV9UWVBFX0NIQUNIQTIwIEtFWV9UWVBFX0NBTUVMTElBIgotCi0gICAgIyBDb25maWd1cmUKLSAgICAjIC0tLS0tLS0tLQotCi0gICAgY29tbW9uX3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2NpcGhlcl9hZWFkX2NtYWMKLQotICAgICMgRGlzYWJsZSB0aGUgdGhpbmdzIHRoYXQgYXJlIGJlaW5nIGFjY2VsZXJhdGVkCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DVFIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NGQgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfT0ZCCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9YVFMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0dDTV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQ01fQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0hBQ0hBUE9MWV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DTUFDX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFU19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQVJJQV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEEyMF9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQU1FTExJQV9DCi0KLSAgICAjIERpc2FibGUgQ0lQSEVSX0MgZW50aXJlbHkgYXMgYWxsIGNpcGhlcnMvQUVBRHMgYXJlIGFjY2VsZXJhdGVkIGFuZCBQU0EKLSAgICAjIGRvZXMgbm90IGRlcGVuZCBvbiBpdC4KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9DCi0KLSAgICAjIEJ1aWxkCi0gICAgIyAtLS0tLQotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgotCi0gICAgIyBNYWtlIHN1cmUgdGhpcyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKLSAgICBub3QgZ3JlcCBtYmVkdGxzX2NpcGhlciBsaWJyYXJ5L2NpcGhlci5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19kZXMgbGlicmFyeS9kZXMubwotICAgIG5vdCBncmVwIG1iZWR0bHNfYWVzIGxpYnJhcnkvYWVzLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2FyaWEgbGlicmFyeS9hcmlhLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2NhbWVsbGlhIGxpYnJhcnkvY2FtZWxsaWEubwotICAgIG5vdCBncmVwIG1iZWR0bHNfY2NtIGxpYnJhcnkvY2NtLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2djbSBsaWJyYXJ5L2djbS5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19jaGFjaGFwb2x5IGxpYnJhcnkvY2hhY2hhcG9seS5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19jbWFjIGxpYnJhcnkvY21hYy5vCi0KLSAgICAjIFJ1biB0aGUgdGVzdHMKLSAgICAjIC0tLS0tLS0tLS0tLS0KLQotICAgIG1zZyAidGVzdDogZnVsbCBjb25maWcgd2l0aCBhY2NlbGVyYXRlZCBjaXBoZXIgaW5jLiBBRUFEIGFuZCBDTUFDIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJzc2wtb3B0OiBmdWxsIGNvbmZpZyB3aXRoIGFjY2VsZXJhdGVkIGNpcGhlciBpbmMuIEFFQUQgYW5kIENNQUMiCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotCi0gICAgbXNnICJjb21wYXQuc2g6IGZ1bGwgY29uZmlnIHdpdGggYWNjZWxlcmF0ZWQgY2lwaGVyIGluYy4gQUVBRCBhbmQgQ01BQyIKLSAgICB0ZXN0cy9jb21wYXQuc2ggLVYgTk8gLXAgbWJlZFRMUwotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfY2lwaGVyX2FlYWRfY21hYyAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgd2l0aCBub24tYWNjZWxlcmF0ZWQgY2lwaGVyIGluYy4gQUVBRCBhbmQgQ01BQyIKLSAgICBjb21tb25fcHNhX2NyeXB0b19jb25maWdfYWNjZWxfY2lwaGVyX2FlYWRfY21hYwotCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsIGNvbmZpZyB3aXRoIG5vbi1hY2NlbGVyYXRlZCBjaXBoZXIgaW5jLiBBRUFEIGFuZCBDTUFDIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJzc2wtb3B0OiBmdWxsIGNvbmZpZyB3aXRoIG5vbi1hY2NlbGVyYXRlZCBjaXBoZXIgaW5jLiBBRUFEIGFuZCBDTUFDIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLQotICAgIG1zZyAiY29tcGF0LnNoOiBmdWxsIGNvbmZpZyB3aXRoIG5vbi1hY2NlbGVyYXRlZCBjaXBoZXIgaW5jLiBBRUFEIGFuZCBDTUFDIgotICAgIHRlc3RzL2NvbXBhdC5zaCAtViBOTyAtcCBtYmVkVExTCi19Ci0KLWNvbW1vbl9ibG9ja19jaXBoZXJfZGlzcGF0Y2goKSB7Ci0gICAgVEVTVF9XSVRIX0RSSVZFUj0iJDEiCi0KLSAgICAjIFN0YXJ0IGZyb20gdGhlIGZ1bGwgY29uZmlnCi0gICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImZ1bGwiCi0KLSAgICBpZiBbICIkVEVTVF9XSVRIX0RSSVZFUiIgLWVxIDEgXTsgdGhlbgotICAgICAgICAjIERpc2FibGUga2V5IHR5cGVzIHRoYXQgYXJlIGFjY2VsZXJhdGVkICh0aGVyZSBpcyBubyBsZWdhY3kgZXF1aXZhbGVudAotICAgICAgICAjIHN5bWJvbCBmb3IgRUNCKQotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU19DCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQVJJQV9DCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0FNRUxMSUFfQwotICAgIGZpCi0KLSAgICAjIERpc2FibGUgY2lwaGVyJ3MgbW9kZXMgdGhhdCwgd2hlbiBub3QgYWNjZWxlcmF0ZWQsIGNhdXNlCi0gICAgIyBsZWdhY3kga2V5IHR5cGVzIHRvIGJlIHJlLWVuYWJsZWQgaW4gImNvbmZpZ19hZGp1c3RfbGVnYWN5X2Zyb21fcHNhLmgiLgotICAgICMgS2VlcCB0aGlzIGFsc28gaW4gdGhlIHJlZmVyZW5jZSBjb21wb25lbnQgaW4gb3JkZXIgdG8gc2tpcCB0aGUgc2FtZSB0ZXN0cwotICAgICMgdGhhdCB3ZXJlIHNraXBwZWQgaW4gdGhlIGFjY2VsZXJhdGVkIG9uZS4KLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NUUgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfQ0ZCCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19PRkIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NCQ19OT19QQURESU5HCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DQkNfUEtDUzcKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NNQUMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NDTV9TVEFSX05PX1RBRwotCi0gICAgIyBEaXNhYmxlIGRpcmVjdCBkZXBlbmRlbmN5IG9uIEFFU19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19OSVNUX0tXX0MKLQotICAgICMgUHJldmVudCB0aGUgY2lwaGVyIG1vZHVsZSBmcm9tIHVzaW5nIGRlcHJlY2F0ZWQgUFNBIHBhdGguIFRoZSByZWFzb24gaXMKLSAgICAjIHRoYXQgb3RoZXJ3aXNlIHRoZXJlIHdpbGwgYmUgdGVzdHMgcmVseWluZyBvbiAiYWVzX2luZm8iIChkZWZpbmVkIGluCi0gICAgIyAiY2lwaGVyX3dyYXAuYyIpIHdob3NlIGZ1bmN0aW9ucyBhcmUgbm90IGF2YWlsYWJsZSB3aGVuIEFFU19DIGlzCi0gICAgIyBub3QgZGVmaW5lZC4gQVJJQSBhbmQgQ2FtZWxsaWEgYXJlIG5vdCBhIHByb2JsZW0gaW4gdGhpcyBjYXNlIGJlY2F1c2UKLSAgICAjIHRoZSBQU0EgcGF0aCBpcyBub3QgdGVzdGVkIGZvciB0aGVzZSBrZXkgdHlwZXMuCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVECi19Ci0KLWNvbXBvbmVudF90ZXN0X2Z1bGxfYmxvY2tfY2lwaGVyX3BzYV9kaXNwYXRjaCAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCArIFBTQSBkaXNwYXRjaCBpbiBibG9ja19jaXBoZXIiCi0KLSAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX0VDQl9OT19QQURESU5HIFwKLSAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfQUVTIEtFWV9UWVBFX0FSSUEgS0VZX1RZUEVfQ0FNRUxMSUEiCi0KLSAgICAjIENvbmZpZ3VyZQotICAgICMgLS0tLS0tLS0tCi0KLSAgICBjb21tb25fYmxvY2tfY2lwaGVyX2Rpc3BhdGNoIDEKLQotICAgICMgQnVpbGQKLSAgICAjIC0tLS0tCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiCi0KLSAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCi0KLSAgICAjIE1ha2Ugc3VyZSBkaXNhYmxlZCBjb21wb25lbnRzIHdlcmUgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlCi0gICAgIyBjb25maWcpCi0gICAgbm90IGdyZXAgbWJlZHRsc19hZXNfIGxpYnJhcnkvYWVzLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2FyaWFfIGxpYnJhcnkvYXJpYS5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19jYW1lbGxpYV8gbGlicmFyeS9jYW1lbGxpYS5vCi0KLSAgICAjIFJ1biB0aGUgdGVzdHMKLSAgICAjIC0tLS0tLS0tLS0tLS0KLQotICAgIG1zZyAidGVzdDogZnVsbCArIFBTQSBkaXNwYXRjaCBpbiBibG9ja19jaXBoZXIiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLSMgVGhpcyBpcyB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudCBvZiBjb21wb25lbnRfdGVzdF9mdWxsX2Jsb2NrX2NpcGhlcl9wc2FfZGlzcGF0Y2gKLWNvbXBvbmVudF90ZXN0X2Z1bGxfYmxvY2tfY2lwaGVyX2xlZ2FjeV9kaXNwYXRjaCAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCArIGxlZ2FjeSBkaXNwYXRjaCBpbiBibG9ja19jaXBoZXIiCi0KLSAgICBjb21tb25fYmxvY2tfY2lwaGVyX2Rpc3BhdGNoIDAKLQotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogZnVsbCArIGxlZ2FjeSBkaXNwYXRjaCBpbiBibG9ja19jaXBoZXIiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2FlYWRfY2hhY2hhcG9seV9kaXNhYmxlZCgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIG1pbnVzIENIQUNIQVBPTFkiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0hBQ0hBUE9MWV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DSEFDSEEyMF9QT0xZMTMwNQotICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLQotICAgIG1zZyAidGVzdDogZnVsbCBtaW51cyBDSEFDSEFQT0xZIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9hZWFkX29ubHlfY2NtKCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgbWludXMgQ0hBQ0hBUE9MWSBhbmQgR0NNIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NIQUNIQVBPTFlfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NIQUNIQTIwX1BPTFkxMzA1Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19HQ00KLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi0KLSAgICBtc2cgInRlc3Q6IGZ1bGwgbWludXMgQ0hBQ0hBUE9MWSBhbmQgR0NNIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9jY21fYWVzX3NoYTI1NigpIHsKLSAgICBtc2cgImJ1aWxkOiBDQ00gKyBBRVMgKyBTSEEyNTYgY29uZmlndXJhdGlvbiIKLQotICAgIGNwICIkQ09ORklHX1RFU1RfRFJJVkVSX0giICIkQ09ORklHX0giCi0gICAgY3AgY29uZmlncy9jcnlwdG8tY29uZmlnLWNjbS1hZXMtc2hhMjU2LmggIiRDUllQVE9fQ09ORklHX0giCi0KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IENDTSArIEFFUyArIFNIQTI1NiBjb25maWd1cmF0aW9uIgotICAgIG1ha2UgdGVzdAotfQotCi0jIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBFQ0RIIGNvZGUgaXMgaW4gcGxhY2UgYW5kIHJlYWR5IHRvIHRlc3QuCi1jb21wb25lbnRfYnVpbGRfcHNhX2FjY2VsX2FsZ19lY2RoKCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICsgUFNBX1dBTlRfQUxHX0VDREggd2l0aG91dCBNQkVEVExTX0VDREhfQyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9SU0FfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfRUNEU0FfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9SU0FfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1BTS19FTkFCTEVECi0gICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCi0gICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfRUNESCAtSS4uL3Rlc3RzL2luY2x1ZGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLX0KLQotIyBUaGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHRlc3QgYW5kIHVwZGF0ZWQgb25jZSB0aGUgYWNjZWxlcmF0b3IgSE1BQyBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgotY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfaG1hYygpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19ITUFDIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCi0gICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfSE1BQyAtSS4uL3Rlc3RzL2luY2x1ZGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLX0KLQotIyBUaGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHRlc3QgYW5kIHVwZGF0ZWQgb25jZSB0aGUgYWNjZWxlcmF0b3IgSEtERiBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgotY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfaGtkZigpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19IS0RGIHdpdGhvdXQgTUJFRFRMU19IS0RGX0MiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hLREZfQwotICAgICMgTWFrZSBzdXJlIHRvIHVuc2V0IFRMUzFfMyBzaW5jZSBpdCByZXF1aXJlcyBIS0RGX0MgYW5kIHdpbGwgbm90IGJ1aWxkIHByb3Blcmx5IHdpdGhvdXQgaXQuCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCi0gICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfSEtERiAtSS4uL3Rlc3RzL2luY2x1ZGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLX0KLQotIyBUaGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHRlc3QgYW5kIHVwZGF0ZWQgb25jZSB0aGUgYWNjZWxlcmF0b3IgTUQ1IGNvZGUgaXMgaW4gcGxhY2UgYW5kIHJlYWR5IHRvIHRlc3QuCi1jb21wb25lbnRfYnVpbGRfcHNhX2FjY2VsX2FsZ19tZDUoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfTUQ1IC0gb3RoZXIgaGFzaGVzIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SSVBFTUQxNjAKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8xCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMjI0Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMjU2Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMzg0Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfNTEyCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19UTFMxMl9FQ0pQQUtFX1RPX1BNUwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0xNU19QUklWQVRFCi0gICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCi0gICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfTUQ1IC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotfQotCi0jIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBSSVBFTUQxNjAgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KLWNvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3JpcGVtZDE2MCgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19SSVBFTUQxNjAgLSBvdGhlciBoYXNoZXMiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX01ENQotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yMjQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yNTYKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8zODQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV81MTIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1RMUzEyX0VDSlBBS0VfVE9fUE1TCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX1BSSVZBVEUKLSAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19SSVBFTUQxNjAgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi19Ci0KLSMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFNIQTEgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KLWNvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3NoYTEoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfU0hBXzEgLSBvdGhlciBoYXNoZXMiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX01ENQotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfUklQRU1EMTYwCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMjI0Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMjU2Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMzg0Ci0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfNTEyCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19UTFMxMl9FQ0pQQUtFX1RPX1BNUwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0xNU19QUklWQVRFCi0gICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCi0gICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfU0hBXzEgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi19Ci0KLSMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFNIQTIyNCBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgotY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfc2hhMjI0KCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICsgUFNBX1dBTlRfQUxHX1NIQV8yMjQgLSBvdGhlciBoYXNoZXMiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX01ENQotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfUklQRU1EMTYwCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMQotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzM4NAotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzUxMgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfVExTMTJfRUNKUEFLRV9UT19QTVMKLSAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19TSEFfMjI0IC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotfQotCi0jIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBTSEEyNTYgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KLWNvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3NoYTI1NigpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19TSEFfMjU2IC0gb3RoZXIgaGFzaGVzIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19NRDUKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JJUEVNRDE2MAotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yMjQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8zODQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV81MTIKLSAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19TSEFfMjU2IC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotfQotCi0jIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBTSEEzODQgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KLWNvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3NoYTM4NCgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19TSEFfMzg0IC0gb3RoZXIgaGFzaGVzIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19NRDUKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JJUEVNRDE2MAotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yMjQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yNTYKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1RMUzEyX0VDSlBBS0VfVE9fUE1TCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX1BSSVZBVEUKLSAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19TSEFfMzg0IC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotfQotCi0jIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBTSEE1MTIgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KLWNvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3NoYTUxMigpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19TSEFfNTEyIC0gb3RoZXIgaGFzaGVzIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19NRDUKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JJUEVNRDE2MAotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yMjQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yNTYKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8zODQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1RMUzEyX0VDSlBBS0VfVE9fUE1TCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX1BSSVZBVEUKLSAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19TSEFfNTEyIC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotfQotCi0jIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBSU0EgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KLWNvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3JzYV9wa2NzMXYxNV9jcnlwdCgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQgKyBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiBzZXQgUFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9DUllQVCAxCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfUlNBX09BRVAKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JTQV9QU1MKLSAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi19Ci0KLSMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJTQSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgotY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfcnNhX3BrY3MxdjE1X3NpZ24oKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04gKyBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiBzZXQgUFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOIDEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9DUllQVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfUlNBX09BRVAKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JTQV9QU1MKLSAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19SU0FfUEtDUzFWMTVfU0lHTiAtSS4uL3Rlc3RzL2luY2x1ZGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLX0KLQotIyBUaGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHRlc3QgYW5kIHVwZGF0ZWQgb25jZSB0aGUgYWNjZWxlcmF0b3IgUlNBIGNvZGUgaXMgaW4gcGxhY2UgYW5kIHJlYWR5IHRvIHRlc3QuCi1jb21wb25lbnRfYnVpbGRfcHNhX2FjY2VsX2FsZ19yc2Ffb2FlcCgpIHsKLSAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19SU0FfT0FFUCArIFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9QVUJMSUNfS0VZIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9BTEdfUlNBX09BRVAgMQotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfUlNBX1BTUwotICAgICMgTmVlZCB0byBkZWZpbmUgdGhlIGNvcnJlY3Qgc3ltYm9sIGFuZCBpbmNsdWRlIHRoZSB0ZXN0IGRyaXZlciBoZWFkZXIgcGF0aCBpbiBvcmRlciB0byBidWlsZCB3aXRoIHRoZSB0ZXN0IGRyaXZlcgotICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUIC1ETUJFRFRMU19QU0FfQUNDRUxfQUxHX1JTQV9PQUVQIC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgotfQotCi0jIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBSU0EgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KLWNvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3JzYV9wc3MoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfUlNBX1BTUyArIFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9QVUJMSUNfS0VZIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9BTEdfUlNBX1BTUyAxCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfT0FFUAotICAgICMgTmVlZCB0byBkZWZpbmUgdGhlIGNvcnJlY3Qgc3ltYm9sIGFuZCBpbmNsdWRlIHRoZSB0ZXN0IGRyaXZlciBoZWFkZXIgcGF0aCBpbiBvcmRlciB0byBidWlsZCB3aXRoIHRoZSB0ZXN0IGRyaXZlcgotICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUIC1ETUJFRFRMU19QU0FfQUNDRUxfQUxHX1JTQV9QU1MgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi19Ci0KLSMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJTQSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgotY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9rZXlfdHlwZV9yc2Ffa2V5X3BhaXIoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfeHh4ICsgUFNBX1dBTlRfQUxHX1JTQV9QU1MiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgc2V0IFBTQV9XQU5UX0FMR19SU0FfUFNTIDEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgc2V0IFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9CQVNJQyAxCi0gICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfSU1QT1JUIDEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgc2V0IFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9FWFBPUlQgMQotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiBzZXQgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFIDEKLSAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKLSAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0tFWV9UWVBFX1JTQV9LRVlfUEFJUiAtSS4uL3Rlc3RzL2luY2x1ZGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKLX0KLQotIyBUaGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHRlc3QgYW5kIHVwZGF0ZWQgb25jZSB0aGUgYWNjZWxlcmF0b3IgUlNBIGNvZGUgaXMgaW4gcGxhY2UgYW5kIHJlYWR5IHRvIHRlc3QuCi1jb21wb25lbnRfYnVpbGRfcHNhX2FjY2VsX2tleV90eXBlX3JzYV9wdWJsaWNfa2V5KCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICsgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVkgKyBQU0FfV0FOVF9BTEdfUlNBX1BTUyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiBzZXQgUFNBX1dBTlRfQUxHX1JTQV9QU1MgMQotICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiBzZXQgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVkgMQotICAgICMgTmVlZCB0byBkZWZpbmUgdGhlIGNvcnJlY3Qgc3ltYm9sIGFuZCBpbmNsdWRlIHRoZSB0ZXN0IGRyaXZlciBoZWFkZXIgcGF0aCBpbiBvcmRlciB0byBidWlsZCB3aXRoIHRoZSB0ZXN0IGRyaXZlcgotICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUIC1ETUJFRFRMU19QU0FfQUNDRUxfS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVkgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi19Ci0KLQotc3VwcG9ydF9idWlsZF90Zm1fYXJtY2MgKCkgewotICAgIHN1cHBvcnRfYnVpbGRfYXJtY2MKLX0KLQotY29tcG9uZW50X2J1aWxkX3RmbV9hcm1jYygpIHsKLSAgICAjIHRlc3QgdGhlIFRGLU0gY29uZmlndXJhdGlvbiBjYW4gYnVpbGQgY2xlYW5seSB3aXRoIHZhcmlvdXMgd2FybmluZyBmbGFncyBlbmFibGVkCi0gICAgY3AgY29uZmlncy9jb25maWctdGZtLmggIiRDT05GSUdfSCIKLQotICAgIG1zZyAiYnVpbGQ6IFRGLU0gY29uZmlnLCBhcm1jbGFuZyBhcm12Ny1tIHRodW1iMiIKLSAgICBhcm1jNl9idWlsZF90ZXN0ICItLXRhcmdldD1hcm0tYXJtLW5vbmUtZWFiaSAtbWFyY2g9YXJtdjctbSAtbXRodW1iIC1PcyAtc3RkPWM5OSAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLVd3cml0ZS1zdHJpbmdzIC1XcG9pbnRlci1hcml0aCAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoIC1Xc2hhZG93IC1XdmxhIC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbCAtV3NoYWRvdyAtV2FzbS1vcGVyYW5kLXdpZHRocyAtV3VudXNlZCAtSS4uL3Rlc3RzL2luY2x1ZGUvc3BlIgotfQotCi1jb21wb25lbnRfYnVpbGRfdGZtKCkgewotICAgICMgQ2hlY2sgdGhhdCB0aGUgVEYtTSBjb25maWd1cmF0aW9uIGNhbiBidWlsZCBjbGVhbmx5IHdpdGggdmFyaW91cwotICAgICMgd2FybmluZyBmbGFncyBlbmFibGVkLiBXZSBkb24ndCBidWlsZCBvciBydW4gdGVzdHMsIHNpbmNlIHRoZQotICAgICMgVEYtTSBjb25maWd1cmF0aW9uIG5lZWRzIGEgVEYtTSBwbGF0Zm9ybS4gQSB0d2Vha2VkIHZlcnNpb24gb2YKLSAgICAjIHRoZSBjb25maWd1cmF0aW9uIHRoYXQgd29ya3Mgb24gbWFpbnN0cmVhbSBwbGF0Zm9ybXMgaXMgaW4KLSAgICAjIGNvbmZpZ3MvY29uZmlnLXRmbS5oLCB0ZXN0ZWQgdmlhIHRlc3QtcmVmLWNvbmZpZ3MucGwuCi0gICAgY3AgY29uZmlncy9jb25maWctdGZtLmggIiRDT05GSUdfSCIKLQotICAgIG1zZyAiYnVpbGQ6IFRGLU0gY29uZmlnLCBjbGFuZywgYXJtdjctbSB0aHVtYjIiCi0gICAgbWFrZSBsaWIgQ0M9ImNsYW5nIiBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1hcmNoPWFybXY3LW0gLW10aHVtYiAtT3MgLXN0ZD1jOTkgLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1Xd3JpdGUtc3RyaW5ncyAtV3BvaW50ZXItYXJpdGggLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCAtV3NoYWRvdyAtV3ZsYSAtV2Zvcm1hdD0yIC1Xbm8tZm9ybWF0LW5vbmxpdGVyYWwgLVdzaGFkb3cgLVdhc20tb3BlcmFuZC13aWR0aHMgLVd1bnVzZWQgLUkuLi90ZXN0cy9pbmNsdWRlL3NwZSIKLQotICAgIG1zZyAiYnVpbGQ6IFRGLU0gY29uZmlnLCBnY2MgbmF0aXZlIGJ1aWxkIgotICAgIG1ha2UgY2xlYW4KLSAgICBtYWtlIGxpYiBDQz0iZ2NjIiBDRkxBR1M9Ii1PcyAtc3RkPWM5OSAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLVd3cml0ZS1zdHJpbmdzIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3ZsYSAtV2Zvcm1hdD0yIC1Xbm8tZm9ybWF0LW5vbmxpdGVyYWwgLVdzaGFkb3cgLVdmb3JtYXQtc2lnbmVkbmVzcyAtV2xvZ2ljYWwtb3AgLUkuLi90ZXN0cy9pbmNsdWRlL3NwZSIKLX0KLQotIyBUZXN0IHRoYXQgdGhlIGdpdmVuIC5vIGZpbGUgYnVpbGRzIHdpdGggYWxsICh2YWxpZCkgY29tYmluYXRpb25zIG9mIHRoZSBnaXZlbiBvcHRpb25zLgotIwotIyBTeW50YXg6IGJ1aWxkX3Rlc3RfY29uZmlnX2NvbWJvcyBGSUxFIFZBTElEQVRPUl9GVU5DVElPTiBPUFQxIE9QVDIgLi4uCi0jCi0jIFRoZSB2YWxpZGF0b3IgZnVuY3Rpb24gaXMgdGhlIG5hbWUgb2YgYSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgY29tYmluYXRpb24gb2Ygb3B0aW9ucy4KLSMgSXQgbWF5IGJlICIiIGlmIGFsbCBjb21iaW5hdGlvbnMgYXJlIHZhbGlkLgotIyBJdCByZWNlaXZlcyBhIHN0cmluZyBjb250YWluaW5nIGEgY29tYmluYXRpb24gb2Ygb3B0aW9ucywgYXMgcGFzc2VkIHRvIHRoZSBjb21waWxlciwKLSMgZS5nLiAiLURPUFQxIC1ET1BUMiAuLi4iLiBJdCBtdXN0IHJldHVybiAwIGlmZiB0aGUgY29tYmluYXRpb24gaXMgdmFsaWQsIG5vbi16ZXJvIGlmIGludmFsaWQuCi1idWlsZF90ZXN0X2NvbmZpZ19jb21ib3MoKSB7Ci0gICAgZmlsZT0kMQotICAgIHNoaWZ0Ci0gICAgdmFsaWRhdGVfb3B0aW9ucz0kMQotICAgIHNoaWZ0Ci0gICAgb3B0aW9ucz0oIiRAIikKLQotICAgICMgY2xlYXIgYWxsIG9mIHRoZSBvcHRpb25zIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGRlbiBvbiB0aGUgY2xhbmcgY29tbWFuZGxpbmUKLSAgICBmb3Igb3B0IGluICIke29wdGlvbnNbQF19IjsgZG8KLSAgICAgICAgLi9zY3JpcHRzL2NvbmZpZy5weSB1bnNldCAke29wdH0KLSAgICBkb25lCi0KLSAgICAjIGVudGVyIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgdGFyZ2V0IGZpbGUgJiBzdHJpcCB0aGUgZGlyIGZyb20gdGhlIGZpbGVuYW1lCi0gICAgY2QgJChkaXJuYW1lICR7ZmlsZX0pCi0gICAgZmlsZT0kKGJhc2VuYW1lICR7ZmlsZX0pCi0KLSAgICAjIFRoZSBtb3N0IGNvbW1vbiBpc3N1ZSBpcyB1bnVzZWQgdmFyaWFibGVzL2Z1bmN0aW9ucywgc28gZW5zdXJlIC1XdW51c2VkIGlzIHNldC4KLSAgICB3YXJuaW5nX2ZsYWdzPSItV2Vycm9yIC1XYWxsIC1XZXh0cmEgLVd3cml0ZS1zdHJpbmdzIC1XcG9pbnRlci1hcml0aCAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoIC1Xc2hhZG93IC1XdmxhIC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbCAtV3NoYWRvdyAtV2FzbS1vcGVyYW5kLXdpZHRocyAtV3VudXNlZCIKLQotICAgICMgRXh0cmFjdCB0aGUgY29tbWFuZCBnZW5lcmF0ZWQgYnkgdGhlIE1ha2VmaWxlIHRvIGJ1aWxkIHRoZSB0YXJnZXQgZmlsZS4KLSAgICAjIFRoaXMgZW5zdXJlcyB0aGF0IHdlIGhhdmUgYW55IGluY2x1ZGUgcGF0aHMsIG1hY3JvIGRlZmluaXRpb25zLCBldGMKLSAgICAjIHRoYXQgbWF5IGJlIGFwcGxpZWQgYnkgbWFrZS4KLSAgICAjIEFkZCAtZnN5bnRheC1vbmx5IGFzIHdlIG9ubHkgd2FudCBhIHN5bnRheCBjaGVjayBhbmQgZG9uJ3QgbmVlZCB0byBnZW5lcmF0ZSBhIGZpbGUuCi0gICAgY29tcGlsZV9jbWQ9ImNsYW5nIFwkKExPQ0FMX0NGTEFHUykgJHt3YXJuaW5nX2ZsYWdzfSAtZnN5bnRheC1vbmx5IC1jIgotCi0gICAgbWFrZWZpbGU9JChUTVBESVI9LiBta3RlbXApCi0gICAgZGVwcz0iIgotCi0gICAgbGVuPSR7I29wdGlvbnNbQF19Ci0gICAgc291cmNlX2ZpbGU9JHtmaWxlJS5vfS5jCi0KLSAgICB0YXJnZXRzPTAKLSAgICBlY2hvICdpbmNsdWRlIE1ha2VmaWxlJyA+JHttYWtlZmlsZX0KLQotICAgIGZvciAoKGkgPSAwOyBpIDwgJCgoMioqJHtsZW59KSk7IGkrKykpOyBkbwotICAgICAgICAjIGdlbmVyYXRlIGVhY2ggb2YgMl5uIGNvbWJpbmF0aW9ucyBvZiBvcHRpb25zCi0gICAgICAgICMgZWFjaCBiaXQgb2YgJGkgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgb3B0aW9uc1tpXSB3aWxsIGJlIHNldCBvciBub3QKLSAgICAgICAgdGFyZ2V0PSJ0IgotICAgICAgICBjbGFuZ19hcmdzPSIiCi0gICAgICAgIGZvciAoKGogPSAwOyBqIDwgJHtsZW59OyBqKyspKTsgZG8KLSAgICAgICAgICAgIGlmICgoKGkgPj4gaikgJiAxKSk7IHRoZW4KLSAgICAgICAgICAgICAgICBvcHQ9LUQke29wdGlvbnNbJGpdfQotICAgICAgICAgICAgICAgIGNsYW5nX2FyZ3M9IiR7Y2xhbmdfYXJnc30gJHtvcHR9IgotICAgICAgICAgICAgICAgIHRhcmdldD0iJHt0YXJnZXR9JHtvcHR9IgotICAgICAgICAgICAgZmkKLSAgICAgICAgZG9uZQotCi0gICAgICAgICMgaWYgY29tYmluYXRpb24gaXMgbm90IGtub3duIHRvIGJlIGludmFsaWQsIGFkZCBpdCB0byB0aGUgbWFrZWZpbGUKLSAgICAgICAgaWYgW1sgLXogJHZhbGlkYXRlX29wdGlvbnMgXV0gfHwgJHZhbGlkYXRlX29wdGlvbnMgIiR7Y2xhbmdfYXJnc30iOyB0aGVuCi0gICAgICAgICAgICBjbWQ9IiR7Y29tcGlsZV9jbWR9ICR7Y2xhbmdfYXJnc30iCi0gICAgICAgICAgICBlY2hvICIke3RhcmdldH06ICR7c291cmNlX2ZpbGV9OyAkY21kICR7c291cmNlX2ZpbGV9IiA+PiAke21ha2VmaWxlfQotCi0gICAgICAgICAgICBkZXBzPSIke2RlcHN9ICR7dGFyZ2V0fSIKLSAgICAgICAgICAgICgoKyt0YXJnZXRzKSkKLSAgICAgICAgZmkKLSAgICBkb25lCi0KLSAgICBlY2hvICJidWlsZF90ZXN0X2NvbmZpZ19jb21ib3M6ICR7ZGVwc30iID4+ICR7bWFrZWZpbGV9Ci0KLSAgICAjIGV4ZWN1dGUgYWxsIG9mIHRoZSBjb21tYW5kcyB2aWEgTWFrZSAocHJvYmFibHkgaW4gcGFyYWxsZWwpCi0gICAgbWFrZSAtcyAtZiAke21ha2VmaWxlfSBidWlsZF90ZXN0X2NvbmZpZ19jb21ib3MKLSAgICBlY2hvICIkdGFyZ2V0cyB0YXJnZXRzIGNoZWNrZWQiCi0KLSAgICAjIGNsZWFuIHVwIHRoZSB0ZW1wb3JhcnkgbWFrZWZpbGUKLSAgICBybSAke21ha2VmaWxlfQotfQotCi12YWxpZGF0ZV9hZXNfY29uZmlnX3ZhcmlhdGlvbnMoKSB7Ci0gICAgaWYgW1sgIiQxIiA9PSAqIk1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZIiogXV07IHRoZW4KLSAgICAgICAgaWYgW1sgIiQxIiA9PSAqIk1CRURUTFNfUEFETE9DS19DIiogXV07IHRoZW4KLSAgICAgICAgICAgIHJldHVybiAxCi0gICAgICAgIGZpCi0gICAgICAgIGlmIFtbICEoKCIkSE9TVFRZUEUiID09ICJhYXJjaDY0IiAmJiAiJDEiICE9ICoiTUJFRFRMU19BRVNDRV9DIiopIHx8IFwKLSAgICAgICAgICAgICAgICAoIiRIT1NUVFlQRSIgPT0gIng4Nl82NCIgICYmICIkMSIgIT0gKiJNQkVEVExTX0FFU05JX0MiKikpIF1dOyB0aGVuCi0gICAgICAgICAgICByZXR1cm4gMQotICAgICAgICBmaQotICAgIGZpCi0gICAgcmV0dXJuIDAKLX0KLQotY29tcG9uZW50X2J1aWxkX2Flc192YXJpYXRpb25zKCkgewotICAgICMgMThzIC0gYXJvdW5kIDkwbXMgcGVyIGNsYW5nIGludm9jYXRpb24gb24gTTEgUHJvCi0gICAgIwotICAgICMgYWVzLm8gaGFzIG1hbnkgI2lmIGRlZmluZWQoLi4uKSBndWFyZHMgdGhhdCBpbnRlcnNlY3QgaW4gY29tcGxleCB3YXlzLgotICAgICMgVGVzdCB0aGF0IGFsbCB0aGUgY29tYmluYXRpb25zIGJ1aWxkIGNsZWFubHkuCi0KLSAgICBNQkVEVExTX1JPT1RfRElSPSIkUFdEIgotICAgIG1zZyAiYnVpbGQ6IGFlcy5vIGZvciBhbGwgY29tYmluYXRpb25zIG9mIHJlbGV2YW50IGNvbmZpZyBvcHRpb25zIgotCi0gICAgYnVpbGRfdGVzdF9jb25maWdfY29tYm9zIGxpYnJhcnkvYWVzLm8gdmFsaWRhdGVfYWVzX2NvbmZpZ192YXJpYXRpb25zIFwKLSAgICAgICAgIk1CRURUTFNfQUVTX1NFVEtFWV9FTkNfQUxUIiAiTUJFRFRMU19BRVNfREVDUllQVF9BTFQiIFwKLSAgICAgICAgIk1CRURUTFNfQUVTX1JPTV9UQUJMRVMiICJNQkVEVExTX0FFU19FTkNSWVBUX0FMVCIgIk1CRURUTFNfQUVTX1NFVEtFWV9ERUNfQUxUIiBcCi0gICAgICAgICJNQkVEVExTX0FFU19GRVdFUl9UQUJMRVMiICJNQkVEVExTX1BBRExPQ0tfQyIgIk1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZIiBcCi0gICAgICAgICJNQkVEVExTX0FFU05JX0MiICJNQkVEVExTX0FFU0NFX0MiICJNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSCIKLQotICAgIGNkICIkTUJFRFRMU19ST09UX0RJUiIKLSAgICBtc2cgImJ1aWxkOiBhZXMubyBmb3IgYWxsIGNvbWJpbmF0aW9ucyBvZiByZWxldmFudCBjb25maWcgb3B0aW9ucyArIEJMT0NLX0NJUEhFUl9OT19ERUNSWVBUIgotCi0gICAgIyBNQkVEVExTX0JMT0NLX0NJUEhFUl9OT19ERUNSWVBUIGlzIGluY29tcGF0aWJsZSB3aXRoIEVDQiBpbiBQU0EsIENCQy9YVFMvTklTVF9LVy9ERVMsCi0gICAgIyBtYW51YWxseSBzZXQgb3IgdW5zZXQgdGhvc2UgY29uZmlndXJhdGlvbnMgdG8gY2hlY2sKLSAgICAjIE1CRURUTFNfQkxPQ0tfQ0lQSEVSX05PX0RFQ1JZUFQgd2l0aCB2YXJpb3VzIGNvbWJpbmF0aW9ucyBpbiBhZXMuby4KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19CTE9DS19DSVBIRVJfTk9fREVDUllQVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9YVFMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFU19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19OSVNUX0tXX0MKLSAgICBidWlsZF90ZXN0X2NvbmZpZ19jb21ib3MgbGlicmFyeS9hZXMubyB2YWxpZGF0ZV9hZXNfY29uZmlnX3ZhcmlhdGlvbnMgXAotICAgICAgICAiTUJFRFRMU19BRVNfU0VUS0VZX0VOQ19BTFQiICJNQkVEVExTX0FFU19ERUNSWVBUX0FMVCIgXAotICAgICAgICAiTUJFRFRMU19BRVNfUk9NX1RBQkxFUyIgIk1CRURUTFNfQUVTX0VOQ1JZUFRfQUxUIiAiTUJFRFRMU19BRVNfU0VUS0VZX0RFQ19BTFQiIFwKLSAgICAgICAgIk1CRURUTFNfQUVTX0ZFV0VSX1RBQkxFUyIgIk1CRURUTFNfUEFETE9DS19DIiAiTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkiIFwKLSAgICAgICAgIk1CRURUTFNfQUVTTklfQyIgIk1CRURUTFNfQUVTQ0VfQyIgIk1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIgotfQotCi1jb21wb25lbnRfdGVzdF9ub19wbGF0Zm9ybSAoKSB7Ci0gICAgIyBGdWxsIGNvbmZpZ3VyYXRpb24gYnVpbGQsIHdpdGhvdXQgcGxhdGZvcm0gc3VwcG9ydCwgZmlsZSBJTyBhbmQgbmV0IHNvY2tldHMuCi0gICAgIyBUaGlzIHNob3VsZCBjYXRjaCBtaXNzaW5nIG1iZWR0bHNfcHJpbnRmIGRlZmluaXRpb25zLCBhbmQgYnkgZGlzYWJsaW5nIGZpbGUKLSAgICAjIElPLCBpdCBzaG91bGQgY2F0Y2ggbWlzc2luZyAnI2luY2x1ZGUgPHN0ZGlvLmg+JwotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnIGV4Y2VwdCBwbGF0Zm9ybS9mc2lvL25ldCwgbWFrZSwgZ2NjLCBDOTkiICMgfiAzMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsX25vX3BsYXRmb3JtCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QTEFURk9STV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ORVRfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRlNfSU8KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9JVFNfRklMRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FTlRST1BZX05WX1NFRUQKLSAgICAjIE5vdGUsIF9ERUZBVUxUX1NPVVJDRSBuZWVkcyB0byBiZSBkZWZpbmVkIGZvciBwbGF0Zm9ybXMgdXNpbmcgZ2xpYmMgdmVyc2lvbiA+Mi4xOSwKLSAgICAjIHRvIHJlLWVuYWJsZSBwbGF0Zm9ybSBpbnRlZ3JhdGlvbiBmZWF0dXJlcyBvdGhlcndpc2UgZGlzYWJsZWQgaW4gQzk5IGJ1aWxkcwotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1zdGQ9Yzk5IC1wZWRhbnRpYyAtT3MgLURfREVGQVVMVF9TT1VSQ0UnIGxpYiBwcm9ncmFtcwotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1PcycgdGVzdAotfQotCi1jb21wb25lbnRfYnVpbGRfbm9fc3RkX2Z1bmN0aW9uICgpIHsKLSAgICAjIGNhdGNoIGNvbXBpbGUgYnVncyBpbiBfdW5pbml0IGZ1bmN0aW9ucwotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnIHdpdGggTk9fU1REX0ZVTkNUSU9OLCBtYWtlLCBnY2MiICMgfiAzMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUExBVEZPUk1fTk9fU1REX0ZVTkNUSU9OUwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRU5UUk9QWV9OVl9TRUVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QTEFURk9STV9OVl9TRUVEX0FMVAotICAgIENDPWdjYyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1DaGVjayAuCi0gICAgbWFrZQotfQotCi1jb21wb25lbnRfYnVpbGRfbm9fc3NsX3NydiAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgZXhjZXB0IFNTTCBzZXJ2ZXIsIG1ha2UsIGdjYyIgIyB+IDMwcwotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9TUlZfQwotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1PMScKLX0KLQotY29tcG9uZW50X2J1aWxkX25vX3NzbF9jbGkgKCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnIGV4Y2VwdCBTU0wgY2xpZW50LCBtYWtlLCBnY2MiICMgfiAzMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfQ0xJX0MKLSAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtTzEnCi19Ci0KLWNvbXBvbmVudF9idWlsZF9ub19zb2NrZXRzICgpIHsKLSAgICAjIE5vdGUsIEM5OSBjb21wbGlhbmNlIGNhbiBhbHNvIGJlIHRlc3RlZCB3aXRoIHRoZSBzb2NrZXRzIHN1cHBvcnQgZGlzYWJsZWQsCi0gICAgIyBhcyB0aGF0IHJlcXVpcmVzIGEgUE9TSVggcGxhdGZvcm0gKHdoaWNoIGlzbid0IHRoZSBzYW1lIGFzIEM5OSkuCi0gICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgZXhjZXB0IG5ldF9zb2NrZXRzLmMsIG1ha2UsIGdjYyAtc3RkPWM5OSAtcGVkYW50aWMiICMgfiAzMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ORVRfQyAjIGdldGFkZHJpbmZvKCkgdW5kZWNsYXJlZCwgZXRjLgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX05PX1BMQVRGT1JNX0VOVFJPUFkgIyB1c2VzIHN5c2NhbGwoKSBvbiBHTlUvTGludXgKLSAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtTzEgLXN0ZD1jOTkgLXBlZGFudGljJyBsaWIKLX0KLQotY29tcG9uZW50X3Rlc3RfbWVtb3J5X2J1ZmZlcl9hbGxvY2F0b3JfYmFja3RyYWNlICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIG1lbW9yeSBidWZmZXIgYWxsb2NhdG9yIGFuZCBiYWNrdHJhY2UgZW5hYmxlZCIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QTEFURk9STV9NRU1PUlkKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19NRU1PUllfQkFDS1RSQUNFCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTUVNT1JZX0RFQlVHCi0gICAgY21ha2UgLURDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1SZWxlYXNlIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IE1CRURUTFNfTUVNT1JZX0JVRkZFUl9BTExPQ19DIGFuZCBNQkVEVExTX01FTU9SWV9CQUNLVFJBQ0UiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X21lbW9yeV9idWZmZXJfYWxsb2NhdG9yICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIG1lbW9yeSBidWZmZXIgYWxsb2NhdG9yIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BMQVRGT1JNX01FTU9SWQotICAgIGNtYWtlIC1EQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9UmVsZWFzZSAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQyIKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAidGVzdDogc3NsLW9wdC5zaCwgTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MiCi0gICAgIyBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0MgaXMgc2xvdy4gU2tpcCB0ZXN0cyB0aGF0IHRlbmQgdG8gdGltZSBvdXQuCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZSAnXkRUTFMgcHJveHknCi19Ci0KLWNvbXBvbmVudF90ZXN0X25vX21heF9mcmFnbWVudF9sZW5ndGggKCkgewotICAgICMgUnVuIG1heCBmcmFnbWVudCBsZW5ndGggdGVzdHMgd2l0aCBNRkwgZGlzYWJsZWQKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyBleGNlcHQgTUZMIGV4dGVuc2lvbiAoQVNhbiBidWlsZCkiICMgfiAzMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9NQVhfRlJBR01FTlRfTEVOR1RICi0gICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoLCBNRkwtcmVsYXRlZCB0ZXN0cyIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICJNYXggZnJhZ21lbnQgbGVuZ3RoIgotfQotCi1jb21wb25lbnRfdGVzdF9hc2FuX3JlbW92ZV9wZWVyX2NlcnRpZmljYXRlICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIE1CRURUTFNfU1NMX0tFRVBfUEVFUl9DRVJUSUZJQ0FURSBkaXNhYmxlZCAoQVNhbiBidWlsZCkiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfS0VFUF9QRUVSX0NFUlRJRklDQVRFCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCi0gICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiAhTUJFRFRMU19TU0xfS0VFUF9QRUVSX0NFUlRJRklDQVRFIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoLCAhTUJFRFRMU19TU0xfS0VFUF9QRUVSX0NFUlRJRklDQVRFIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLQotICAgIG1zZyAidGVzdDogY29tcGF0LnNoLCAhTUJFRFRMU19TU0xfS0VFUF9QRUVSX0NFUlRJRklDQVRFIgotICAgIHRlc3RzL2NvbXBhdC5zaAotCi0gICAgbXNnICJ0ZXN0OiBjb250ZXh0LWluZm8uc2gsICFNQkVEVExTX1NTTF9LRUVQX1BFRVJfQ0VSVElGSUNBVEUiCi0gICAgdGVzdHMvY29udGV4dC1pbmZvLnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X25vX21heF9mcmFnbWVudF9sZW5ndGhfc21hbGxfc3NsX291dF9jb250ZW50X2xlbiAoKSB7Ci0gICAgbXNnICJidWlsZDogbm8gTUZMIGV4dGVuc2lvbiwgc21hbGwgU1NMX09VVF9DT05URU5UX0xFTiAoQVNhbiBidWlsZCkiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfTUFYX0ZSQUdNRU5UX0xFTkdUSAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9JTl9DT05URU5UX0xFTiAxNjM4NAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9PVVRfQ09OVEVOVF9MRU4gNDA5NgotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogTUZMIHRlc3RzIChkaXNhYmxlZCBNRkwgZXh0ZW5zaW9uIGNhc2UpICYgbGFyZ2UgcGFja2V0IHRlc3RzIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgIk1heCBmcmFnbWVudCBsZW5ndGhcfExhcmdlIGJ1ZmZlciIKLQotICAgIG1zZyAidGVzdDogY29udGV4dC1pbmZvLnNoIChkaXNhYmxlZCBNRkwgZXh0ZW5zaW9uIGNhc2UpIgotICAgIHRlc3RzL2NvbnRleHQtaW5mby5zaAotfQotCi1jb21wb25lbnRfdGVzdF92YXJpYWJsZV9zc2xfaW5fb3V0X2J1ZmZlcl9sZW4gKCkgewotICAgIG1zZyAiYnVpbGQ6IE1CRURUTFNfU1NMX1ZBUklBQkxFX0JVRkZFUl9MRU5HVEggZW5hYmxlZCAoQVNhbiBidWlsZCkiCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX1ZBUklBQkxFX0JVRkZFUl9MRU5HVEgKLSAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IE1CRURUTFNfU1NMX1ZBUklBQkxFX0JVRkZFUl9MRU5HVEggZW5hYmxlZCIKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAidGVzdDogc3NsLW9wdC5zaCwgTUJFRFRMU19TU0xfVkFSSUFCTEVfQlVGRkVSX0xFTkdUSCBlbmFibGVkIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLQotICAgIG1zZyAidGVzdDogY29tcGF0LnNoLCBNQkVEVExTX1NTTF9WQVJJQUJMRV9CVUZGRVJfTEVOR1RIIGVuYWJsZWQiCi0gICAgdGVzdHMvY29tcGF0LnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X2R0bHNfY2lkX2xlZ2FjeSAoKSB7Ci0gICAgbXNnICJidWlsZDogTUJFRFRMU19TU0xfRFRMU19DT05ORUNUSU9OX0lEIChsZWdhY3kpIGVuYWJsZWQgKEFTYW4gYnVpbGQpIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9EVExTX0NPTk5FQ1RJT05fSURfQ09NUEFUIDEKLQotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogTUJFRFRMU19TU0xfRFRMU19DT05ORUNUSU9OX0lEIChsZWdhY3kpIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoLCBNQkVEVExTX1NTTF9EVExTX0NPTk5FQ1RJT05fSUQgKGxlZ2FjeSkgZW5hYmxlZCIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi0KLSAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCwgTUJFRFRMU19TU0xfRFRMU19DT05ORUNUSU9OX0lEIChsZWdhY3kpIGVuYWJsZWQiCi0gICAgdGVzdHMvY29tcGF0LnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X3NzbF9hbGxvY19idWZmZXJfYW5kX21mbCAoKSB7Ci0gICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgd2l0aCBtZW1vcnkgYnVmZmVyIGFsbG9jYXRvciBhbmQgTUZMIGV4dGVuc2lvbiIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QTEFURk9STV9NRU1PUlkKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19NRU1PUllfREVCVUcKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TU0xfTUFYX0ZSQUdNRU5UX0xFTkdUSAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9WQVJJQUJMRV9CVUZGRVJfTEVOR1RICi0gICAgY21ha2UgLURDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1SZWxlYXNlIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IE1CRURUTFNfU1NMX1ZBUklBQkxFX0JVRkZFUl9MRU5HVEgsIE1CRURUTFNfTUVNT1JZX0JVRkZFUl9BTExPQ19DLCBNQkVEVExTX01FTU9SWV9ERUJVRyBhbmQgTUJFRFRMU19TU0xfTUFYX0ZSQUdNRU5UX0xFTkdUSCIKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAidGVzdDogTUJFRFRMU19TU0xfVkFSSUFCTEVfQlVGRkVSX0xFTkdUSCwgTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MsIE1CRURUTFNfTUVNT1JZX0RFQlVHIGFuZCBNQkVEVExTX1NTTF9NQVhfRlJBR01FTlRfTEVOR1RIIgotICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgIkhhbmRzaGFrZSBtZW1vcnkgdXNhZ2UiCi19Ci0KLWNvbXBvbmVudF90ZXN0X3doZW5fbm9fY2lwaGVyc3VpdGVzX2hhdmVfbWFjICgpIHsKLSAgICBtc2cgImJ1aWxkOiB3aGVuIG5vIGNpcGhlcnN1aXRlcyBoYXZlIE1BQyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DTUFDX0MKLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6ICFNQkVEVExTX1NTTF9TT01FX01PREVTX1VTRV9NQUMiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Qgc3NsLW9wdC5zaDogIU1CRURUTFNfU1NMX1NPTUVfTU9ERVNfVVNFX01BQyIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICdEZWZhdWx0XHxFdE0nIC1lICd3aXRob3V0IEV0TScKLX0KLQotY29tcG9uZW50X3Rlc3Rfbm9fZGF0ZV90aW1lICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRob3V0IE1CRURUTFNfSEFWRV9USU1FX0RBVEUiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19IQVZFX1RJTUVfREFURQotICAgIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUNoZWNrIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6ICFNQkVEVExTX0hBVkVfVElNRV9EQVRFIC0gbWFpbiBzdWl0ZXMiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3BsYXRmb3JtX2NhbGxvY19tYWNybyAoKSB7Ci0gICAgbXNnICJidWlsZDogTUJFRFRMU19QTEFURk9STV97Q0FMTE9DL0ZSRUV9X01BQ1JPIGVuYWJsZWQgKEFTYW4gYnVpbGQpIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BMQVRGT1JNX01FTU9SWQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BMQVRGT1JNX0NBTExPQ19NQUNSTyBjYWxsb2MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QTEFURk9STV9GUkVFX01BQ1JPICAgZnJlZQotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogTUJFRFRMU19QTEFURk9STV97Q0FMTE9DL0ZSRUV9X01BQ1JPIGVuYWJsZWQgKEFTYW4gYnVpbGQpIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9tYWxsb2NfMF9udWxsICgpIHsKLSAgICBtc2cgImJ1aWxkOiBtYWxsb2MoMCkgcmV0dXJucyBOVUxMIChBU2FuK1VCU2FuIGJ1aWxkKSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIiRQV0QvdGVzdHMvY29uZmlncy91c2VyLWNvbmZpZy1tYWxsb2MtMC1udWxsLmhcIicgJEFTQU5fQ0ZMQUdTIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi0KLSAgICBtc2cgInRlc3Q6IG1hbGxvYygwKSByZXR1cm5zIE5VTEwgKEFTYW4rVUJTYW4gYnVpbGQpIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJzZWxmdGVzdDogbWFsbG9jKDApIHJldHVybnMgTlVMTCAoQVNhbitVQlNhbiBidWlsZCkiCi0gICAgIyBKdXN0IHRoZSBjYWxsb2Mgc2VsZnRlc3QuICJtYWtlIHRlc3QiIHJhbiB0aGUgb3RoZXJzIGFzIHBhcnQgb2YgdGhlCi0gICAgIyB0ZXN0IHN1aXRlcy4KLSAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0IGNhbGxvYwotCi0gICAgbXNnICJ0ZXN0IHNzbC1vcHQuc2g6IG1hbGxvYygwKSByZXR1cm5zIE5VTEwgKEFTYW4rVUJTYW4gYnVpbGQpIgotICAgICMgUnVuIGEgc3Vic2V0IG9mIHRoZSB0ZXN0cy4gVGhlIGNob2ljZSBpcyBhIGJhbGFuY2UgYmV0d2VlbiBjb3ZlcmFnZQotICAgICMgYW5kIHRpbWUgKGluY2x1ZGluZyB0aW1lIGluZGlyZWN0bHkgd2FzdGVkIGR1ZSB0byBmbGFreSB0ZXN0cykuCi0gICAgIyBUaGUgY3VycmVudCBjaG9pY2UgaXMgdG8gc2tpcCB0ZXN0cyB3aG9zZSBkZXNjcmlwdGlvbiBpbmNsdWRlcwotICAgICMgInByb3h5Iiwgd2hpY2ggaXMgYW4gYXBwcm94aW1hdGlvbiBvZiBza2lwcGluZyB0ZXN0cyB0aGF0IHVzZSB0aGUKLSAgICAjIFVEUCBwcm94eSwgd2hpY2ggdGVuZCB0byBiZSBzbG93ZXIgYW5kIGZsYWtpZXIuCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZSAncHJveHknCi19Ci0KLXN1cHBvcnRfdGVzdF9hZXNuaSgpIHsKLSAgICAjIENoZWNrIHRoYXQgZ2NjIHRhcmdldHMgeDg2XzY0ICh3ZSBjYW4gYnVpbGQgQUVTTkkpLCBhbmQgY2hlY2sgZm9yCi0gICAgIyBBRVNOSSBzdXBwb3J0IG9uIHRoZSBob3N0ICh3ZSBjYW4gcnVuIEFFU05JKS4KLSAgICAjCi0gICAgIyBUaGUgbmFtZSBvZiB0aGlzIGZ1bmN0aW9uIGlzIHBvc3NpYmx5IHNsaWdodGx5IG1pc2xlYWRpbmcsIGJ1dCBuZWVkcyB0byBhbGlnbgotICAgICMgd2l0aCB0aGUgbmFtZSBvZiB0aGUgY29ycmVzcG9uZGluZyB0ZXN0LCBjb21wb25lbnRfdGVzdF9hZXNuaS4KLSAgICAjCi0gICAgIyBJbiBwcmluY2lwbGUgMzItYml0IHg4NiBjYW4gc3VwcG9ydCBBRVNOSSwgYnV0IG91ciBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdAotICAgICMgc3VwcG9ydCAzMi1iaXQgeDg2LCBzbyB3ZSBjaGVjayBmb3IgeDg2LTY0LgotICAgICMgV2UgY2FuIG9ubHkgZ3JlcCAvcHJvYy9jcHVpbmZvIG9uIExpbnV4LCBzbyB0aGlzIGFsc28gY2hlY2tzIGZvciBMaW51eAotICAgIChnY2MgLXYgMj4mMSB8IGdyZXAgVGFyZ2V0IHwgZ3JlcCAtcSB4ODZfNjQpICYmCi0gICAgICAgIFtbICIkSE9TVFRZUEUiID09ICJ4ODZfNjQiICYmICIkT1NUWVBFIiA9PSAibGludXgtZ251IiBdXSAmJgotICAgICAgICAobHNjcHUgfCBncmVwIC1xdyBhZXMpCi19Ci0KLWNvbXBvbmVudF90ZXN0X2Flc25pICgpIHsgIyB+IDYwcwotICAgICMgVGhpcyB0ZXN0cyB0aGUgdHdvIEFFU05JIGltcGxlbWVudGF0aW9ucyAoaW50cmluc2ljcyBhbmQgYXNzZW1ibHkpLCBhbmQgYWxzbyB0aGUgcGxhaW4gQwotICAgICMgZmFsbGJhY2suIEl0IGFsc28gdGVzdHMgdGhlIGxvZ2ljIHRoYXQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggaW1wbGVtZW50YXRpb24ocykgdG8gYnVpbGQuCi0gICAgIwotICAgICMgVGhpcyB0ZXN0IGRvZXMgbm90IHJlcXVpcmUgdGhlIGhvc3QgdG8gaGF2ZSBzdXBwb3J0IGZvciBBRVNOSSAoaWYgaXQgZG9lc24ndCwgdGhlIHJ1bi10aW1lCi0gICAgIyBBRVNOSSBkZXRlY3Rpb24gd2lsbCBmYWxsYmFjayB0byB0aGUgcGxhaW4gQyBpbXBsZW1lbnRhdGlvbiwgc28gdGhlIHRlc3RzIHdpbGwgaW5zdGVhZAotICAgICMgZXhlcmNpc2UgdGhlIHBsYWluIEMgaW1wbCkuCi0KLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIGRpZmZlcmVudCBBRVMgaW1wbGVtZW50YXRpb25zIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU05JX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0hBVkVfQVNNCi0KLSAgICAjIHRlc3QgdGhlIGludHJpbnNpY3MgaW1wbGVtZW50YXRpb24KLSAgICBtc2cgIkFFUyB0ZXN0cywgdGVzdCBpbnRyaW5zaWNzIgotICAgIG1ha2UgY2xlYW4KLSAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtbXBjbG11bCAtbXNzZTIgLW1hZXMnCi0gICAgIyBjaGVjayB0aGF0IHdlIGJ1aWx0IGludHJpbnNpY3MgLSB0aGlzIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgd2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNvbXBpbGVyCi0gICAgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0IGFlcyB8IGdyZXAgIkFFU05JIGNvZGUiIHwgZ3JlcCAtcSAiaW50cmluc2ljcyIKLQotICAgICMgdGVzdCB0aGUgYXNtIGltcGxlbWVudGF0aW9uCi0gICAgbXNnICJBRVMgdGVzdHMsIHRlc3QgYXNzZW1ibHkiCi0gICAgbWFrZSBjbGVhbgotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1tbm8tcGNsbXVsIC1tbm8tc3NlMiAtbW5vLWFlcycKLSAgICAjIGNoZWNrIHRoYXQgd2UgYnVpbHQgYXNzZW1ibHkgLSB0aGlzIHNob3VsZCBiZSBidWlsdCBpZiB0aGUgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCBpbnRyaW5zaWNzCi0gICAgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0IGFlcyB8IGdyZXAgIkFFU05JIGNvZGUiIHwgZ3JlcCAtcSAiYXNzZW1ibHkiCi0KLSAgICAjIHRlc3QgdGhlIHBsYWluIEMgaW1wbGVtZW50YXRpb24KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU05JX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQotICAgIG1zZyAiQUVTIHRlc3RzLCBwbGFpbiBDIgotICAgIG1ha2UgY2xlYW4KLSAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1PMiAtV2Vycm9yJwotICAgICMgY2hlY2sgdGhhdCB0aGVyZSBpcyBubyBBRVNOSSBjb2RlIHByZXNlbnQKLSAgICAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QgYWVzIHwgbm90IGdyZXAgLXEgIkFFU05JIGNvZGUiCi0gICAgbm90IGdyZXAgLXEgIkFFUyBub3RlOiB1c2luZyBBRVNOSSIgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0gICAgZ3JlcCAtcSAiQUVTIG5vdGU6IGJ1aWx0LWluIGltcGxlbWVudGF0aW9uLiIgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0KLSAgICAjIHRlc3QgdGhlIGludHJpbnNpY3MgaW1wbGVtZW50YXRpb24KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNOSV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZCi0gICAgbXNnICJBRVMgdGVzdHMsIHRlc3QgQUVTTkkgb25seSIKLSAgICBtYWtlIGNsZWFuCi0gICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW1wY2xtdWwgLW1zc2UyIC1tYWVzJwotICAgIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdCBhZXMgfCBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgQUVTTkkiCi0gICAgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0IGFlcyB8IG5vdCBncmVwIC1xICJBRVMgbm90ZTogYnVpbHQtaW4gaW1wbGVtZW50YXRpb24uIgotICAgIGdyZXAgLXEgIkFFUyBub3RlOiB1c2luZyBBRVNOSSIgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0gICAgbm90IGdyZXAgLXEgIkFFUyBub3RlOiBidWlsdC1pbiBpbXBsZW1lbnRhdGlvbi4iIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9zaGEzX3ZhcmlhdGlvbnMoKSB7Ci0gICAgbXNnICJzaGEzIGxvb3AgdW5yb2xsIHZhcmlhdGlvbnMiCi0KLSAgICAjIGRlZmluZSBtaW5pbWFsIGNvbmZpZyBzdWZmaWNpZW50IHRvIHRlc3QgU0hBMwotICAgIGNhdCA+IGluY2x1ZGUvbWJlZHRscy9tYmVkdGxzX2NvbmZpZy5oIDw8IEVORAotICAgICAgICAjZGVmaW5lIE1CRURUTFNfU0VMRl9URVNUCi0gICAgICAgICNkZWZpbmUgTUJFRFRMU19TSEEzX0MKLUVORAotCi0gICAgbXNnICJhbGwgbG9vcHMgdW5yb2xsZWQiCi0gICAgbWFrZSBjbGVhbgotICAgIG1ha2UgLUMgdGVzdHMgdGVzdF9zdWl0ZV9zaGF4IENGTEFHUz0iLURNQkVEVExTX1NIQTNfVEhFVEFfVU5ST0xMPTEgLURNQkVEVExTX1NIQTNfUElfVU5ST0xMPTEgLURNQkVEVExTX1NIQTNfQ0hJX1VOUk9MTD0xIC1ETUJFRFRMU19TSEEzX1JIT19VTlJPTEw9MSIKLSAgICAuL3Rlc3RzL3Rlc3Rfc3VpdGVfc2hheAotCi0gICAgbXNnICJhbGwgbG9vcHMgcm9sbGVkIHVwIgotICAgIG1ha2UgY2xlYW4KLSAgICBtYWtlIC1DIHRlc3RzIHRlc3Rfc3VpdGVfc2hheCBDRkxBR1M9Ii1ETUJFRFRMU19TSEEzX1RIRVRBX1VOUk9MTD0wIC1ETUJFRFRMU19TSEEzX1BJX1VOUk9MTD0wIC1ETUJFRFRMU19TSEEzX0NISV9VTlJPTEw9MCAtRE1CRURUTFNfU0hBM19SSE9fVU5ST0xMPTAiCi0gICAgLi90ZXN0cy90ZXN0X3N1aXRlX3NoYXgKLX0KLQotc3VwcG9ydF90ZXN0X2Flc25pX20zMigpIHsKLSAgICBzdXBwb3J0X3Rlc3RfbTMyX25vX2FzbSAmJiAobHNjcHUgfCBncmVwIC1xdyBhZXMpCi19Ci0KLWNvbXBvbmVudF90ZXN0X2Flc25pX20zMiAoKSB7ICMgfiA2MHMKLSAgICAjIFRoaXMgdGVzdHMgYXJlIGR1cGxpY2F0ZWQgZnJvbSBjb21wb25lbnRfdGVzdF9hZXNuaSBmb3IgaTM4NiB0YXJnZXQKLSAgICAjCi0gICAgIyBBRVNOSSBpbnRyaW5zaWMgY29kZSBzdXBwb3J0cyBpMzg2IGFuZCBhc3NlbWJseSBjb2RlIGRvZXMgbm90IHN1cHBvcnQgaXQuCi0KLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIGRpZmZlcmVudCBBRVMgaW1wbGVtZW50YXRpb25zIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU05JX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QQURMT0NLX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0hBVkVfQVNNCi0KLSAgICAjIHRlc3QgdGhlIGludHJpbnNpY3MgaW1wbGVtZW50YXRpb24gd2l0aCBnY2MKLSAgICBtc2cgIkFFUyB0ZXN0cywgdGVzdCBpbnRyaW5zaWNzIChnY2MpIgotICAgIG1ha2UgY2xlYW4KLSAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1tMzIgLVdlcnJvciAtV2FsbCAtV2V4dHJhJyBMREZMQUdTPSctbTMyJwotICAgICMgY2hlY2sgdGhhdCB3ZSBidWlsdCBpbnRyaW5zaWNzIC0gdGhpcyBzaG91bGQgYmUgdXNlZCBieSBkZWZhdWx0IHdoZW4gc3VwcG9ydGVkIGJ5IHRoZSBjb21waWxlcgotICAgIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdCBhZXMgfCBncmVwICJBRVNOSSBjb2RlIiB8IGdyZXAgLXEgImludHJpbnNpY3MiCi0gICAgZ3JlcCAtcSAiQUVTIG5vdGU6IHVzaW5nIEFFU05JIiAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKLSAgICBncmVwIC1xICJBRVMgbm90ZTogYnVpbHQtaW4gaW1wbGVtZW50YXRpb24uIiAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKLSAgICBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgVklBIFBhZGxvY2siIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAotICAgIGdyZXAgLXEgbWJlZHRsc19hZXNuaV9oYXNfc3VwcG9ydCAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKLQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU05JX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQotICAgIG1zZyAiQUVTIHRlc3RzLCB0ZXN0IEFFU05JIG9ubHkiCi0gICAgbWFrZSBjbGVhbgotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLW0zMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW1wY2xtdWwgLW1zc2UyIC1tYWVzJyBMREZMQUdTPSctbTMyJwotICAgIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdCBhZXMgfCBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgQUVTTkkiCi0gICAgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0IGFlcyB8IG5vdCBncmVwIC1xICJBRVMgbm90ZTogYnVpbHQtaW4gaW1wbGVtZW50YXRpb24uIgotICAgIGdyZXAgLXEgIkFFUyBub3RlOiB1c2luZyBBRVNOSSIgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0gICAgbm90IGdyZXAgLXEgIkFFUyBub3RlOiBidWlsdC1pbiBpbXBsZW1lbnRhdGlvbi4iIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAotICAgIG5vdCBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgVklBIFBhZGxvY2siIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAotICAgIG5vdCBncmVwIC1xIG1iZWR0bHNfYWVzbmlfaGFzX3N1cHBvcnQgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci19Ci0KLXN1cHBvcnRfdGVzdF9hZXNuaV9tMzJfY2xhbmcoKSB7Ci0gICAgIyBjbGFuZyA+PSA0IGlzIHJlcXVpcmVkIHRvIGJ1aWxkIHdpdGggdGFyZ2V0IGF0dHJpYnV0ZXMKLSAgICBzdXBwb3J0X3Rlc3RfYWVzbmlfbTMyICYmIFtbICQoY2xhbmdfdmVyc2lvbikgLWdlIDQgXV0KLX0KLQotY29tcG9uZW50X3Rlc3RfYWVzbmlfbTMyX2NsYW5nKCkgewotCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTTklfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BBRExPQ0tfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfSEFWRV9BU00KLQotICAgICMgdGVzdCB0aGUgaW50cmluc2ljcyBpbXBsZW1lbnRhdGlvbiB3aXRoIGNsYW5nCi0gICAgbXNnICJBRVMgdGVzdHMsIHRlc3QgaW50cmluc2ljcyAoY2xhbmcpIgotICAgIG1ha2UgY2xlYW4KLSAgICBtYWtlIENDPWNsYW5nIENGTEFHUz0nLW0zMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnIExERkxBR1M9Jy1tMzInCi0gICAgIyBjaGVjayB0aGF0IHdlIGJ1aWx0IGludHJpbnNpY3MgLSB0aGlzIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgd2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNvbXBpbGVyCi0gICAgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0IGFlcyB8IGdyZXAgIkFFU05JIGNvZGUiIHwgZ3JlcCAtcSAiaW50cmluc2ljcyIKLSAgICBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgQUVTTkkiIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAotICAgIGdyZXAgLXEgIkFFUyBub3RlOiBidWlsdC1pbiBpbXBsZW1lbnRhdGlvbi4iIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAotICAgIGdyZXAgLXEgIkFFUyBub3RlOiB1c2luZyBWSUEgUGFkbG9jayIgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0gICAgZ3JlcCAtcSBtYmVkdGxzX2Flc25pX2hhc19zdXBwb3J0IC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAotfQotCi0jIEZvciB0aW1lYmVpbmcsIG5vIGFhcmNoNjQgZ2NjIGF2YWlsYWJsZSBpbiBDSSBhbmQgbm8gYXJtNjQgQ0kgbm9kZS4KLWNvbXBvbmVudF9idWlsZF9hZXNfYWVzY2VfYXJtY2MgKCkgewotICAgIG1zZyAiQnVpbGQ6IEFFU0NFIHRlc3Qgb24gYXJtNjQgcGxhdGZvcm0gd2l0aG91dCBwbGFpbiBDLiIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBiYXJlbWV0YWwKLQotICAgICMgYXJtY1s1Nl0gZG9uJ3Qgc3VwcG9ydCBTSEEtNTEyIGludHJpbnNpY3MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTUxMl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UCi0KLSAgICAjIFN0b3AgYXJtY2xhbmcgd2FybmluZyBhYm91dCBmZWF0dXJlIGRldGVjdGlvbiBmb3IgQTY0X0NSWVBUTy4KLSAgICAjIFdpdGggdGhpcyBlbmFibGVkLCB0aGUgbGlicmFyeSBkb2VzIGJ1aWxkIGNvcnJlY3RseSB1bmRlciBhcm1jbGFuZywKLSAgICAjIGJ1dCBpbiBiYXJlbWV0YWwgYnVpbGRzIChhcyB0ZXN0ZWQgaGVyZSksIGZlYXR1cmUgZGV0ZWN0aW9uIGlzCi0gICAgIyB1bmF2YWlsYWJsZSwgYW5kIHRoZSB1c2VyIGlzIG5vdGlmaWVkIHZpYSBhICN3YXJuaW5nLiBTbyBlbmFibGluZwotICAgICMgdGhpcyBmZWF0dXJlIHdvdWxkIHByZXZlbnQgdXMgZnJvbSBidWlsZGluZyB3aXRoIC1XZXJyb3Igb24KLSAgICAjIGFybWNsYW5nLiBUcmFja2VkIGluICM3MTk4LgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BUk1WOF9BX0NSWVBUT19JRl9QUkVTRU5UCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfSEFWRV9BU00KLQotICAgIG1zZyAiQUVTQ0UsIGJ1aWxkIHdpdGggZGVmYXVsdCBjb25maWd1cmF0aW9uLiIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNDRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkKLSAgICBhcm1jNl9idWlsZF90ZXN0ICItTzEgLS10YXJnZXQ9YWFyY2g2NC1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12OC1hK2NyeXB0byIKLQotICAgIG1zZyAiQUVTQ0UsIGJ1aWxkIEFFU0NFIG9ubHkiCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTQ0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQotICAgIGFybWM2X2J1aWxkX3Rlc3QgIi1PMSAtLXRhcmdldD1hYXJjaDY0LWFybS1ub25lLWVhYmkgLW1hcmNoPWFybXY4LWErY3J5cHRvIgotfQotCi1zdXBwb3J0X2J1aWxkX2Flc19hcm1jZSgpIHsKLSAgICAjIGNsYW5nID49IDExIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIHdpdGggQUVTIGV4dGVuc2lvbnMKLSAgICBbWyAkKGNsYW5nX3ZlcnNpb24pIC1nZSAxMSBdXQotfQotCi1jb21wb25lbnRfYnVpbGRfYWVzX2FybWNlICgpIHsKLSAgICAjIFRlc3QgdmFyaWF0aW9ucyBvZiBBRVMgd2l0aCBBcm12OCBjcnlwdG8gZXh0ZW5zaW9ucwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU0NFX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkKLQotICAgIG1zZyAiTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFksIGNsYW5nLCBhYXJjaDY0IgotICAgIG1ha2UgLUIgbGlicmFyeS9hZXNjZS5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUgLW1hcmNoPWFybXY4LWErY3J5cHRvIgotCi0gICAgbXNnICJNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWSwgY2xhbmcsIGFybSIKLSAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWE3MitjcnlwdG8gLW1hcm0iCi0KLSAgICBtc2cgIk1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZLCBjbGFuZywgdGh1bWIiCi0gICAgbWFrZSAtQiBsaWJyYXJ5L2Flc2NlLm8gQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hMzIrY3J5cHRvIC1tdGh1bWIiCi0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQotCi0gICAgbXNnICJubyBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWSwgY2xhbmcsIGFhcmNoNjQiCi0gICAgbWFrZSAtQiBsaWJyYXJ5L2Flc2NlLm8gQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSAtbWFyY2g9YXJtdjgtYStjcnlwdG8iCi0KLSAgICBtc2cgIm5vIE1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZLCBjbGFuZywgYXJtIgotICAgIG1ha2UgLUIgbGlicmFyeS9hZXNjZS5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1jb3J0ZXgtYTcyK2NyeXB0byAtbWFybSIKLQotICAgIG1zZyAibm8gTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFksIGNsYW5nLCB0aHVtYiIKLSAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWEzMitjcnlwdG8gLW10aHVtYiIKLQotICAgICMgdGVzdCBmb3IgcHJlc2VuY2Ugb2YgQUVTIGluc3RydWN0aW9ucwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQotICAgIG1zZyAiY2xhbmcsIHRlc3QgQTMyIGNyeXB0byBpbnN0cnVjdGlvbnMgYnVpbHQiCi0gICAgbWFrZSAtQiBsaWJyYXJ5L2Flc2NlLm8gQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hNzIrY3J5cHRvIC1tYXJtIC1TIgotICAgIGdyZXAgLUUgJ2Flc1swLTlhLXpdKy5bMC05XVxzKltxdl0nIGxpYnJhcnkvYWVzY2UubwotICAgIG1zZyAiY2xhbmcsIHRlc3QgVDMyIGNyeXB0byBpbnN0cnVjdGlvbnMgYnVpbHQiCi0gICAgbWFrZSAtQiBsaWJyYXJ5L2Flc2NlLm8gQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hMzIrY3J5cHRvIC1tdGh1bWIgLVMiCi0gICAgZ3JlcCAtRSAnYWVzWzAtOWEtel0rLlswLTldXHMqW3F2XScgbGlicmFyeS9hZXNjZS5vCi0gICAgbXNnICJjbGFuZywgdGVzdCBhYXJjaDY0IGNyeXB0byBpbnN0cnVjdGlvbnMgYnVpbHQiCi0gICAgbWFrZSAtQiBsaWJyYXJ5L2Flc2NlLm8gQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSAtbWFyY2g9YXJtdjgtYSAtUyIKLSAgICBncmVwIC1FICdhZXNbYS16XStccypbcXZdJyBsaWJyYXJ5L2Flc2NlLm8KLQotICAgICMgdGVzdCBmb3IgYWJzZW5jZSBvZiBBRVMgaW5zdHJ1Y3Rpb25zCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU0NFX0MKLSAgICBtc2cgImNsYW5nLCB0ZXN0IEEzMiBjcnlwdG8gaW5zdHJ1Y3Rpb25zIG5vdCBidWlsdCIKLSAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWE3MitjcnlwdG8gLW1hcm0gLVMiCi0gICAgbm90IGdyZXAgLUUgJ2Flc1swLTlhLXpdKy5bMC05XVxzKltxdl0nIGxpYnJhcnkvYWVzY2UubwotICAgIG1zZyAiY2xhbmcsIHRlc3QgVDMyIGNyeXB0byBpbnN0cnVjdGlvbnMgbm90IGJ1aWx0IgotICAgIG1ha2UgLUIgbGlicmFyeS9hZXNjZS5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1jb3J0ZXgtYTMyK2NyeXB0byAtbXRodW1iIC1TIgotICAgIG5vdCBncmVwIC1FICdhZXNbMC05YS16XSsuWzAtOV1ccypbcXZdJyBsaWJyYXJ5L2Flc2NlLm8KLSAgICBtc2cgImNsYW5nLCB0ZXN0IGFhcmNoNjQgY3J5cHRvIGluc3RydWN0aW9ucyBub3QgYnVpbHQiCi0gICAgbWFrZSAtQiBsaWJyYXJ5L2Flc2NlLm8gQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSAtbWFyY2g9YXJtdjgtYSAtUyIKLSAgICBub3QgZ3JlcCAtRSAnYWVzW2Etel0rXHMqW3F2XScgbGlicmFyeS9hZXNjZS5vCi19Ci0KLXN1cHBvcnRfYnVpbGRfc2hhX2FybWNlKCkgewotICAgICMgY2xhbmcgPj0gNCBpcyByZXF1aXJlZCB0byBidWlsZCB3aXRoIFNIQSBleHRlbnNpb25zCi0gICAgW1sgJChjbGFuZ192ZXJzaW9uKSAtZ2UgNCBdXQotfQotCi1jb21wb25lbnRfYnVpbGRfc2hhX2FybWNlICgpIHsKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVAotCi0KLSAgICAjIFRlc3QgdmFyaWF0aW9ucyBvZiBTSEEyNTYgQXJtdjggY3J5cHRvIGV4dGVuc2lvbnMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX09OTFkKLSAgICAgICAgbXNnICJNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fT05MWSBjbGFuZywgYWFyY2g2NCIKLSAgICAgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUgLW1hcmNoPWFybXY4LWEiCi0gICAgICAgIG1zZyAiTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX09OTFkgY2xhbmcsIGFybSIKLSAgICAgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1jb3J0ZXgtYTcyK2NyeXB0byAtbWFybSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fT05MWQotCi0KLSAgICAjIHRlc3QgdGhlIGRlcHJlY2F0ZWQgZm9ybSBvZiB0aGUgY29uZmlnIG9wdGlvbgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQTY0X0NSWVBUT19PTkxZCi0gICAgICAgIG1zZyAiTUJFRFRMU19TSEEyNTZfVVNFX0E2NF9DUllQVE9fT05MWSBjbGFuZywgdGh1bWIiCi0gICAgICAgIG1ha2UgLUIgbGlicmFyeS9zaGEyNTYubyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWEzMitjcnlwdG8gLW10aHVtYiIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQTY0X0NSWVBUT19PTkxZCi0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX0lGX1BSRVNFTlQKLSAgICAgICAgbXNnICJNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVCBjbGFuZywgYWFyY2g2NCIKLSAgICAgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUgLW1hcmNoPWFybXY4LWEiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX0lGX1BSRVNFTlQKLQotCi0gICAgIyB0ZXN0IHRoZSBkZXByZWNhdGVkIGZvcm0gb2YgdGhlIGNvbmZpZyBvcHRpb24KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TSEEyNTZfVVNFX0E2NF9DUllQVE9fSUZfUFJFU0VOVAotICAgICAgICBtc2cgIk1CRURUTFNfU0hBMjU2X1VTRV9BNjRfQ1JZUFRPX0lGX1BSRVNFTlQgY2xhbmcsIGFybSIKLSAgICAgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1jb3J0ZXgtYTcyK2NyeXB0byAtbWFybSAtc3RkPWM5OSIKLSAgICAgICAgbXNnICJNQkVEVExTX1NIQTI1Nl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UIGNsYW5nLCB0aHVtYiIKLSAgICAgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1jb3J0ZXgtYTMyK2NyeXB0byAtbXRodW1iIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BNjRfQ1JZUFRPX0lGX1BSRVNFTlQKLQotCi0gICAgIyBleGFtaW5lIHRoZSBkaXNhc3NlbWJseSBmb3IgcHJlc2VuY2Ugb2YgU0hBIGluc3RydWN0aW9ucwotICAgIGZvciBvcHQgaW4gTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX09OTFkgTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX0lGX1BSRVNFTlQ7IGRvCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCAke29wdH0KLSAgICAgICAgICAgIG1zZyAiJHtvcHR9IGNsYW5nLCB0ZXN0IEEzMiBjcnlwdG8gaW5zdHJ1Y3Rpb25zIGJ1aWx0IgotICAgICAgICAgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5vIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1jb3J0ZXgtYTcyK2NyeXB0byAtbWFybSAtUyIKLSAgICAgICAgICAgIGdyZXAgLUUgJ3NoYTI1NlthLXowLTldKy4zMlxzK1txdl0nIGxpYnJhcnkvc2hhMjU2Lm8KLQotICAgICAgICAgICAgbXNnICIke29wdH0gY2xhbmcsIHRlc3QgVDMyIGNyeXB0byBpbnN0cnVjdGlvbnMgYnVpbHQiCi0gICAgICAgICAgICBtYWtlIC1CIGxpYnJhcnkvc2hhMjU2Lm8gQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hMzIrY3J5cHRvIC1tdGh1bWIgLVMiCi0gICAgICAgICAgICBncmVwIC1FICdzaGEyNTZbYS16MC05XSsuMzJccytbcXZdJyBsaWJyYXJ5L3NoYTI1Ni5vCi0KLSAgICAgICAgICAgIG1zZyAiJHtvcHR9IGNsYW5nLCB0ZXN0IGFhcmNoNjQgY3J5cHRvIGluc3RydWN0aW9ucyBidWlsdCIKLSAgICAgICAgICAgIG1ha2UgLUIgbGlicmFyeS9zaGEyNTYubyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IC1tYXJjaD1hcm12OC1hIC1TIgotICAgICAgICAgICAgZ3JlcCAtRSAnc2hhMjU2W2EtejAtOV0rXHMrW3F2XScgbGlicmFyeS9zaGEyNTYubwotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCAke29wdH0KLSAgICBkb25lCi0KLQotICAgICMgZXhhbWluZSB0aGUgZGlzYXNzZW1ibHkgZm9yIGFic2VuY2Ugb2YgU0hBIGluc3RydWN0aW9ucwotICAgIG1zZyAiY2xhbmcsIHRlc3QgQTMyIGNyeXB0byBpbnN0cnVjdGlvbnMgbm90IGJ1aWx0IgotICAgIG1ha2UgLUIgbGlicmFyeS9zaGEyNTYubyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWE3MitjcnlwdG8gLW1hcm0gLVMiCi0gICAgbm90IGdyZXAgLUUgJ3NoYTI1NlthLXowLTldKy4zMlxzK1txdl0nIGxpYnJhcnkvc2hhMjU2Lm8KLQotICAgIG1zZyAiY2xhbmcsIHRlc3QgVDMyIGNyeXB0byBpbnN0cnVjdGlvbnMgbm90IGJ1aWx0IgotICAgIG1ha2UgLUIgbGlicmFyeS9zaGEyNTYubyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWEzMitjcnlwdG8gLW10aHVtYiAtUyIKLSAgICBub3QgZ3JlcCAtRSAnc2hhMjU2W2EtejAtOV0rLjMyXHMrW3F2XScgbGlicmFyeS9zaGEyNTYubwotCi0gICAgbXNnICJjbGFuZywgdGVzdCBhYXJjaDY0IGNyeXB0byBpbnN0cnVjdGlvbnMgbm90IGJ1aWx0IgotICAgIG1ha2UgLUIgbGlicmFyeS9zaGEyNTYubyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IC1tYXJjaD1hcm12OC1hIC1TIgotICAgIG5vdCBncmVwIC1FICdzaGEyNTZbYS16MC05XStccytbcXZdJyBsaWJyYXJ5L3NoYTI1Ni5vCi19Ci0KLSMgRm9yIHRpbWViZWluZywgbm8gVklBIFBhZGxvY2sgcGxhdGZvcm0gYXZhaWxhYmxlLgotY29tcG9uZW50X2J1aWxkX2Flc192aWFfcGFkbG9jayAoKSB7Ci0KLSAgICBtc2cgIkFFUzpWSUEgUGFkTG9jaywgYnVpbGQgd2l0aCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BBRExPQ0tfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZCi0gICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLW0zMiIgTERGTEFHUz0iLW0zMiAkQVNBTl9DRkxBR1MiCi0gICAgZ3JlcCAtcSBtYmVkdGxzX3BhZGxvY2tfaGFzX3N1cHBvcnQgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0Ci0KLX0KLQotc3VwcG9ydF9idWlsZF9hZXNfdmlhX3BhZGxvY2tfb25seSAoKSB7Ci0gICAgKCBbICIkTUJFRFRMU19URVNUX1BMQVRGT1JNIiA9PSAiTGludXgteDg2XzY0IiBdIHx8IFwKLSAgICAgICAgWyAiJE1CRURUTFNfVEVTVF9QTEFURk9STSIgPT0gIkxpbnV4LWFtZDY0IiBdICkgJiYgXAotICAgIFsgImBkcGtnIC0tcHJpbnQtZm9yZWlnbi1hcmNoaXRlY3R1cmVzYCIgPT0gImkzODYiIF0KLX0KLQotc3VwcG9ydF9idWlsZF9hZXNfYWVzY2VfYXJtY2MgKCkgewotICAgIHN1cHBvcnRfYnVpbGRfYXJtY2MKLX0KLQotY29tcG9uZW50X3Rlc3RfYWVzX29ubHlfMTI4X2JpdF9rZXlzICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyArIEFFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSCIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQwotCi0gICAgbWFrZSBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnICsgQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9ub19jdHJfZHJiZ19hZXNfb25seV8xMjhfYml0X2tleXMgKCkgewotICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnICsgQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIC0gQ1RSX0RSQkdfQyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NUUl9EUkJHX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQwotCi0gICAgbWFrZSBDQz1jbGFuZyBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYScKLQotICAgIG1zZyAidGVzdDogZGVmYXVsdCBjb25maWcgKyBBRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEggLSBDVFJfRFJCR19DIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9hZXNfb25seV8xMjhfYml0X2tleXNfaGF2ZV9idWlsdGlucyAoKSB7Ci0gICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgKyBBRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEggLSBBRVNOSV9DIC0gQUVTQ0VfQyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTQ0VfQwotCi0gICAgbWFrZSBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnICsgQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIC0gQUVTTklfQyAtIEFFU0NFX0MiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInNlbGZ0ZXN0OiBkZWZhdWx0IGNvbmZpZyArIEFFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSCAtIEFFU05JX0MgLSBBRVNDRV9DIgotICAgIHByb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfZ2NtX2xhcmdldGFibGUgKCkgewotICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnICsgR0NNX0xBUkdFX1RBQkxFIC0gQUVTTklfQyAtIEFFU0NFX0MiCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfR0NNX0xBUkdFX1RBQkxFCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QQURMT0NLX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU05JX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU0NFX0MKLQotICAgIG1ha2UgQ0ZMQUdTPSctTzIgLVdlcnJvciAtV2FsbCAtV2V4dHJhJwotCi0gICAgbXNnICJ0ZXN0OiBkZWZhdWx0IGNvbmZpZyAtIEdDTV9MQVJHRV9UQUJMRSAtIEFFU05JX0MgLSBBRVNDRV9DIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9hZXNfZmV3ZXJfdGFibGVzICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIEFFU19GRVdFUl9UQUJMRVMgZW5hYmxlZCIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfRkVXRVJfVEFCTEVTCi0gICAgbWFrZSBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnCi0KLSAgICBtc2cgInRlc3Q6IEFFU19GRVdFUl9UQUJMRVMiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2Flc19yb21fdGFibGVzICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIEFFU19ST01fVEFCTEVTIGVuYWJsZWQiCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTX1JPTV9UQUJMRVMKLSAgICBtYWtlIENGTEFHUz0nLU8yIC1XZXJyb3IgLVdhbGwgLVdleHRyYScKLQotICAgIG1zZyAidGVzdDogQUVTX1JPTV9UQUJMRVMiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2Flc19mZXdlcl90YWJsZXNfYW5kX3JvbV90YWJsZXMgKCkgewotICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGggQUVTX1JPTV9UQUJMRVMgYW5kIEFFU19GRVdFUl9UQUJMRVMgZW5hYmxlZCIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfRkVXRVJfVEFCTEVTCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTX1JPTV9UQUJMRVMKLSAgICBtYWtlIENGTEFHUz0nLU8yIC1XZXJyb3IgLVdhbGwgLVdleHRyYScKLQotICAgIG1zZyAidGVzdDogQUVTX0ZFV0VSX1RBQkxFUyArIEFFU19ST01fVEFCTEVTIgotICAgIG1ha2UgdGVzdAotfQotCi0jIGhlbHBlciBmb3IgY29tbW9uX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0KCkgd2hpY2g6Ci0jIC0gZW5hYmxlL2Rpc2FibGUgdGhlIGxpc3Qgb2YgY29uZmlnIG9wdGlvbnMgcGFzc2VkIGZyb20gLXMvLXUgcmVzcGVjdGl2ZWx5LgotIyAtIGJ1aWxkCi0jIC0gdGVzdCBmb3IgdGVzdHNfc3VpdGVfeHh4Ci0jIC0gc2VsZnRlc3QKLSMKLSMgVXNhZ2U6IGhlbHBlcl9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdF9idWlsZF90ZXN0Ci0jICAgICAgICBbLXMgc2V0X29wdHNdIFstdSB1bnNldF9vcHRzXSBbLWMgY2ZsYWdzXSBbLWwgbGRmbGFnc10gW29wdGlvbiBbLi4uXV0KLSMgT3B0aW9uczogIC1zIHNldF9vcHRzICAgICB0aGUgbGlzdCBvZiBjb25maWcgb3B0aW9ucyB0byBlbmFibGUKLSMgICAgICAgICAgIC11IHVuc2V0X29wdHMgICB0aGUgbGlzdCBvZiBjb25maWcgb3B0aW9ucyB0byBkaXNhYmxlCi0jICAgICAgICAgICAtYyBjZmxhZ3MgICAgICAgdGhlIGxpc3Qgb2Ygb3B0aW9ucyBwYXNzZWQgdG8gQ0ZMQUdTCi0jICAgICAgICAgICAtbCBsZGZsYWdzICAgICAgdGhlIGxpc3Qgb2Ygb3B0aW9ucyBwYXNzZWQgdG8gTERGTEFHUwotaGVscGVyX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2J1aWxkX3Rlc3QgKCkgewotICAgIHdoaWxlIFsgJCMgLWd0IDAgXTsgZG8KLSAgICAgICAgY2FzZSAiJDEiIGluCi0gICAgICAgICAgICAtcykKLSAgICAgICAgICAgICAgICBzaGlmdDsgbG9jYWwgc2V0X29wdHM9IiQxIjs7Ci0gICAgICAgICAgICAtdSkKLSAgICAgICAgICAgICAgICBzaGlmdDsgbG9jYWwgdW5zZXRfb3B0cz0iJDEiOzsKLSAgICAgICAgICAgIC1jKQotICAgICAgICAgICAgICAgIHNoaWZ0OyBsb2NhbCBjZmxhZ3M9Ii1XZXJyb3IgLVdhbGwgLVdleHRyYSAkMSI7OwotICAgICAgICAgICAgLWwpCi0gICAgICAgICAgICAgICAgc2hpZnQ7IGxvY2FsIGxkZmxhZ3M9IiQxIjs7Ci0gICAgICAgIGVzYWMKLSAgICAgICAgc2hpZnQKLSAgICBkb25lCi0gICAgc2V0X29wdHM9IiR7c2V0X29wdHM6LX0iCi0gICAgdW5zZXRfb3B0cz0iJHt1bnNldF9vcHRzOi19IgotICAgIGNmbGFncz0iJHtjZmxhZ3M6LX0iCi0gICAgbGRmbGFncz0iJHtsZGZsYWdzOi19IgotCi0gICAgWyAtbiAiJHNldF9vcHRzIiBdICYmIGVjaG8gIkVuYWJsaW5nOiAkc2V0X29wdHMiICYmIHNjcmlwdHMvY29uZmlnLnB5IHNldC1hbGwgJHNldF9vcHRzCi0gICAgWyAtbiAiJHVuc2V0X29wdHMiIF0gJiYgZWNobyAiRGlzYWJsaW5nOiAkdW5zZXRfb3B0cyIgJiYgc2NyaXB0cy9jb25maWcucHkgdW5zZXQtYWxsICR1bnNldF9vcHRzCi0KLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyArIEJMT0NLX0NJUEhFUl9OT19ERUNSWVBUJHtzZXRfb3B0czorICsgJHNldF9vcHRzfSR7dW5zZXRfb3B0czorIC0gJHVuc2V0X29wdHN9IHdpdGggJGNmbGFncyR7bGRmbGFnczorLCAkbGRmbGFnc30iCi0gICAgbWFrZSBjbGVhbgotICAgIG1ha2UgQ0ZMQUdTPSItTzIgJGNmbGFncyIgTERGTEFHUz0iJGxkZmxhZ3MiCi0KLSAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIG1iZWR0bHNfeHh4X3NldGtleV9kZWMgaW4gQUVTL0FSSUEvQ0FNRUxMSUEKLSAgICBub3QgZ3JlcCBtYmVkdGxzX2Flc19zZXRrZXlfZGVjIGxpYnJhcnkvYWVzLm8KLSAgICBub3QgZ3JlcCBtYmVkdGxzX2FyaWFfc2V0a2V5X2RlYyBsaWJyYXJ5L2FyaWEubwotICAgIG5vdCBncmVwIG1iZWR0bHNfY2FtZWxsaWFfc2V0a2V5X2RlYyBsaWJyYXJ5L2NhbWVsbGlhLm8KLSAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIG1iZWR0bHNfaW50ZXJuYWxfYWVzX2RlY3J5cHQgaW4gQUVTCi0gICAgbm90IGdyZXAgbWJlZHRsc19pbnRlcm5hbF9hZXNfZGVjcnlwdCBsaWJyYXJ5L2Flcy5vCi0gICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSBtYmVkdGxzX2Flc25pX2ludmVyc2Vfa2V5IGluIEFFU05JCi0gICAgbm90IGdyZXAgbWJlZHRsc19hZXNuaV9pbnZlcnNlX2tleSBsaWJyYXJ5L2Flc25pLm8KLQotICAgIG1zZyAidGVzdDogZGVmYXVsdCBjb25maWcgKyBCTE9DS19DSVBIRVJfTk9fREVDUllQVCR7c2V0X29wdHM6KyArICRzZXRfb3B0c30ke3Vuc2V0X29wdHM6KyAtICR1bnNldF9vcHRzfSB3aXRoICRjZmxhZ3Mke2xkZmxhZ3M6KywgJGxkZmxhZ3N9IgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJzZWxmdGVzdDogZGVmYXVsdCBjb25maWcgKyBCTE9DS19DSVBIRVJfTk9fREVDUllQVCR7c2V0X29wdHM6KyArICRzZXRfb3B0c30ke3Vuc2V0X29wdHM6KyAtICR1bnNldF9vcHRzfSB3aXRoICRjZmxhZ3Mke2xkZmxhZ3M6KywgJGxkZmxhZ3N9IgotICAgIHByb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKLX0KLQotIyBUaGlzIGlzIGEgY29tbW9uIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb24gdXNlZCBpbjoKLSMgLSBjb21wb25lbnRfdGVzdF9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdF9hZXNuaV9sZWdhY3koKQotIyAtIGNvbXBvbmVudF90ZXN0X2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2Flc25pX3VzZV9wc2EoKQotIyBpbiBvcmRlciB0byB0ZXN0IEJMT0NLX0NJUEhFUl9OT19ERUNSWVBUIHdpdGggQUVTTkkgaW50cmluc2ljcywKLSMgQUVTTkkgYXNzZW1ibHkgYW5kIEFFUyBDIGltcGxlbWVudGF0aW9uIG9uIHg4Nl82NCBhbmQgd2l0aCBBRVNOSSBpbnRyaW5zaWNzCi0jIG9uIHg4Ni4KLWNvbW1vbl9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdCAoKSB7Ci0gICAgIyB0ZXN0IEFFU05JIGludHJpbnNpY3MKLSAgICBoZWxwZXJfYmxvY2tfY2lwaGVyX25vX2RlY3J5cHRfYnVpbGRfdGVzdCBcCi0gICAgICAgIC1zICJNQkVEVExTX0FFU05JX0MiIFwKLSAgICAgICAgLWMgIi1tcGNsbXVsIC1tc3NlMiAtbWFlcyIKLQotICAgICMgdGVzdCBBRVNOSSBhc3NlbWJseQotICAgIGhlbHBlcl9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdF9idWlsZF90ZXN0IFwKLSAgICAgICAgLXMgIk1CRURUTFNfQUVTTklfQyIgXAotICAgICAgICAtYyAiLW1uby1wY2xtdWwgLW1uby1zc2UyIC1tbm8tYWVzIgotCi0gICAgIyB0ZXN0IEFFUyBDIGltcGxlbWVudGF0aW9uCi0gICAgaGVscGVyX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2J1aWxkX3Rlc3QgXAotICAgICAgICAtdSAiTUJFRFRMU19BRVNOSV9DIgotCi0gICAgIyB0ZXN0IEFFU05JIGludHJpbnNpY3MgZm9yIGkzODYgdGFyZ2V0Ci0gICAgaGVscGVyX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2J1aWxkX3Rlc3QgXAotICAgICAgICAtcyAiTUJFRFRMU19BRVNOSV9DIiBcCi0gICAgICAgIC1jICItbTMyIC1tcGNsbXVsIC1tc3NlMiAtbWFlcyIgXAotICAgICAgICAtbCAiLW0zMiIKLX0KLQotIyBUaGlzIGlzIGEgY29uZmlndXJhdGlvbiBmdW5jdGlvbiB1c2VkIGluIGNvbXBvbmVudF90ZXN0X2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X3h4eDoKLSMgdXNhZ2U6IDA6IG5vIFBTQSBjcnlwdG8gY29uZmlndXJhdGlvbgotIyAgICAgICAgMTogdXNlIFBTQSBjcnlwdG8gY29uZmlndXJhdGlvbgotY29uZmlnX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0ICgpIHsKLSAgICB1c2VfcHNhPSQxCi0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19CTE9DS19DSVBIRVJfTk9fREVDUllQVAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9YVFMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFU19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19OSVNUX0tXX0MKLQotICAgIGlmIFsgIiR1c2VfcHNhIiAtZXEgMSBdOyB0aGVuCi0gICAgICAgICMgRW5hYmxlIHN1cHBvcnQgZm9yIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyB0aHJvdWdoIHRoZSBQU0EgQVBJLgotICAgICAgICAjIE5vdGU6IFhUUywgS1cgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkIHZpYSB0aGUgUFNBIEFQSSBpbiBNYmVkIFRMUy4KLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcKLSAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DQkNfTk9fUEFERElORwotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NCQ19QS0NTNwotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0VDQl9OT19QQURESU5HCi0gICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9LRVlfVFlQRV9ERVMKLSAgICBmaQotfQotCi1jb21wb25lbnRfdGVzdF9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdF9hZXNuaSAoKSB7Ci0gICAgIyBUaGlzIGNvbnNpc3RlbnRseSBjYXVzZXMgYW4gbGx2bSBjcmFzaCBvbiBjbGFuZyAzLjgsIHNvIHVzZSBnY2MKLSAgICBleHBvcnQgQ0M9Z2NjCi0gICAgY29uZmlnX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0IDAKLSAgICBjb21tb25fYmxvY2tfY2lwaGVyX25vX2RlY3J5cHQKLX0KLQotY29tcG9uZW50X3Rlc3RfYmxvY2tfY2lwaGVyX25vX2RlY3J5cHRfYWVzbmlfdXNlX3BzYSAoKSB7Ci0gICAgIyBUaGlzIGNvbnNpc3RlbnRseSBjYXVzZXMgYW4gbGx2bSBjcmFzaCBvbiBjbGFuZyAzLjgsIHNvIHVzZSBnY2MKLSAgICBleHBvcnQgQ0M9Z2NjCi0gICAgY29uZmlnX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0IDEKLSAgICBjb21tb25fYmxvY2tfY2lwaGVyX25vX2RlY3J5cHQKLX0KLQotc3VwcG9ydF90ZXN0X2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2Flc2NlX2FybWNjICgpIHsKLSAgICBzdXBwb3J0X2J1aWxkX2FybWNjCi19Ci0KLWNvbXBvbmVudF90ZXN0X2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2Flc2NlX2FybWNjICgpIHsKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBiYXJlbWV0YWwKLQotICAgICMgYXJtY1s1Nl0gZG9uJ3Qgc3VwcG9ydCBTSEEtNTEyIGludHJpbnNpY3MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTUxMl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UCi0KLSAgICAjIFN0b3AgYXJtY2xhbmcgd2FybmluZyBhYm91dCBmZWF0dXJlIGRldGVjdGlvbiBmb3IgQTY0X0NSWVBUTy4KLSAgICAjIFdpdGggdGhpcyBlbmFibGVkLCB0aGUgbGlicmFyeSBkb2VzIGJ1aWxkIGNvcnJlY3RseSB1bmRlciBhcm1jbGFuZywKLSAgICAjIGJ1dCBpbiBiYXJlbWV0YWwgYnVpbGRzIChhcyB0ZXN0ZWQgaGVyZSksIGZlYXR1cmUgZGV0ZWN0aW9uIGlzCi0gICAgIyB1bmF2YWlsYWJsZSwgYW5kIHRoZSB1c2VyIGlzIG5vdGlmaWVkIHZpYSBhICN3YXJuaW5nLiBTbyBlbmFibGluZwotICAgICMgdGhpcyBmZWF0dXJlIHdvdWxkIHByZXZlbnQgdXMgZnJvbSBidWlsZGluZyB3aXRoIC1XZXJyb3Igb24KLSAgICAjIGFybWNsYW5nLiBUcmFja2VkIGluICM3MTk4LgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BNjRfQ1JZUFRPX0lGX1BSRVNFTlQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19IQVZFX0FTTQotCi0gICAgY29uZmlnX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0IDEKLQotICAgICMgdGVzdCBBRVNDRSBiYXJlbWV0YWwgYnVpbGQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNDRV9DCi0gICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgKyBCTE9DS19DSVBIRVJfTk9fREVDUllQVCB3aXRoIEFFU0NFIgotICAgIGFybWM2X2J1aWxkX3Rlc3QgIi1PMSAtLXRhcmdldD1hYXJjaDY0LWFybS1ub25lLWVhYmkgLW1hcmNoPWFybXY4LWErY3J5cHRvIC1XZXJyb3IgLVdhbGwgLVdleHRyYSIKLQotICAgICMgTWFrZSBzdXJlIHdlIGRvbid0IGhhdmUgbWJlZHRsc194eHhfc2V0a2V5X2RlYyBpbiBBRVMvQVJJQS9DQU1FTExJQQotICAgIG5vdCBncmVwIG1iZWR0bHNfYWVzX3NldGtleV9kZWMgbGlicmFyeS9hZXMubwotICAgIG5vdCBncmVwIG1iZWR0bHNfYXJpYV9zZXRrZXlfZGVjIGxpYnJhcnkvYXJpYS5vCi0gICAgbm90IGdyZXAgbWJlZHRsc19jYW1lbGxpYV9zZXRrZXlfZGVjIGxpYnJhcnkvY2FtZWxsaWEubwotICAgICMgTWFrZSBzdXJlIHdlIGRvbid0IGhhdmUgbWJlZHRsc19pbnRlcm5hbF9hZXNfZGVjcnlwdCBpbiBBRVMKLSAgICBub3QgZ3JlcCBtYmVkdGxzX2ludGVybmFsX2Flc19kZWNyeXB0IGxpYnJhcnkvYWVzLm8KLSAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIG1iZWR0bHNfYWVzY2VfaW52ZXJzZV9rZXkgYW5kIGFlc2NlX2RlY3J5cHRfYmxvY2sgaW4gQUVTQ0UKLSAgICBub3QgZ3JlcCBtYmVkdGxzX2Flc2NlX2ludmVyc2Vfa2V5IGxpYnJhcnkvYWVzY2UubwotICAgIG5vdCBncmVwIGFlc2NlX2RlY3J5cHRfYmxvY2sgbGlicmFyeS9hZXNjZS5vCi19Ci0KLWNvbXBvbmVudF90ZXN0X2N0cl9kcmJnX2Flc18yNTZfc2hhXzI1NiAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCArIE1CRURUTFNfRU5UUk9QWV9GT1JDRV9TSEEyNTYgKEFTYW4gYnVpbGQpIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VOVFJPUFlfRk9SQ0VfU0hBMjU2Ci0gICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBmdWxsICsgTUJFRFRMU19FTlRST1BZX0ZPUkNFX1NIQTI1NiAoQVNhbiBidWlsZCkiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2N0cl9kcmJnX2Flc18xMjhfc2hhXzUxMiAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCArIE1CRURUTFNfQ1RSX0RSQkdfVVNFXzEyOF9CSVRfS0VZIChBU2FuIGJ1aWxkKSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19DVFJfRFJCR19VU0VfMTI4X0JJVF9LRVkKLSAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGZ1bGwgKyBNQkVEVExTX0NUUl9EUkJHX1VTRV8xMjhfQklUX0tFWSAoQVNhbiBidWlsZCkiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2N0cl9kcmJnX2Flc18xMjhfc2hhXzI1NiAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCArIE1CRURUTFNfQ1RSX0RSQkdfVVNFXzEyOF9CSVRfS0VZICsgTUJFRFRMU19FTlRST1BZX0ZPUkNFX1NIQTI1NiAoQVNhbiBidWlsZCkiCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTUVNT1JZX0JVRkZFUl9BTExPQ19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQ1RSX0RSQkdfVVNFXzEyOF9CSVRfS0VZCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRU5UUk9QWV9GT1JDRV9TSEEyNTYKLSAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IGZ1bGwgKyBNQkVEVExTX0NUUl9EUkJHX1VTRV8xMjhfQklUX0tFWSArIE1CRURUTFNfRU5UUk9QWV9GT1JDRV9TSEEyNTYgKEFTYW4gYnVpbGQpIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9zZV9kZWZhdWx0ICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyArIE1CRURUTFNfUFNBX0NSWVBUT19TRV9DIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fU0VfQwotICAgIG1ha2UgQ0M9Y2xhbmcgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLU9zIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi0KLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnICsgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fZHJpdmVycyAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCArIHRlc3QgZHJpdmVycyBkaXNwYXRjaGluZyB0byBidWlsdGlucyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRwotICAgIGxvY19jZmxhZ3M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1RfQUxMIgotICAgIGxvY19jZmxhZ3M9IiR7bG9jX2NmbGFnc30gJy1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPVwiLi4vdGVzdHMvY29uZmlncy91c2VyLWNvbmZpZy1mb3ItdGVzdC5oXCInIgotICAgIGxvY19jZmxhZ3M9IiR7bG9jX2NmbGFnc30gLUkuLi90ZXN0cy9pbmNsdWRlIC1PMiIKLQotICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIke2xvY19jZmxhZ3N9IiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi0KLSAgICBtc2cgInRlc3Q6IGZ1bGwgKyB0ZXN0IGRyaXZlcnMgZGlzcGF0Y2hpbmcgdG8gYnVpbHRpbnMiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X21ha2Vfc2hhcmVkICgpIHsKLSAgICBtc2cgImJ1aWxkL3Rlc3Q6IG1ha2Ugc2hhcmVkIiAjIH4gNDBzCi0gICAgbWFrZSBTSEFSRUQ9MSBhbGwgY2hlY2sKLSAgICBsZGQgcHJvZ3JhbXMvdXRpbC9zdHJlcnJvciB8IGdyZXAgbGlibWJlZGNyeXB0bwotICAgIHByb2dyYW1zL3Rlc3QvZGxvcGVuX2RlbW8uc2gKLX0KLQotY29tcG9uZW50X3Rlc3RfY21ha2Vfc2hhcmVkICgpIHsKLSAgICBtc2cgImJ1aWxkL3Rlc3Q6IGNtYWtlIHNoYXJlZCIgIyB+IDJtaW4KLSAgICBjbWFrZSAtRFVTRV9TSEFSRURfTUJFRFRMU19MSUJSQVJZPU9uIC4KLSAgICBtYWtlCi0gICAgbGRkIHByb2dyYW1zL3V0aWwvc3RyZXJyb3IgfCBncmVwIGxpYm1iZWRjcnlwdG8KLSAgICBtYWtlIHRlc3QKLSAgICBwcm9ncmFtcy90ZXN0L2Rsb3Blbl9kZW1vLnNoCi19Ci0KLXRlc3RfYnVpbGRfb3B0ICgpIHsKLSAgICBpbmZvPSQxIGNjPSQyOyBzaGlmdCAyCi0gICAgJGNjIC0tdmVyc2lvbgotICAgIGZvciBvcHQgaW4gIiRAIjsgZG8KLSAgICAgICAgICBtc2cgImJ1aWxkL3Rlc3Q6ICRjYyAkb3B0LCAkaW5mbyIgIyB+IDMwcwotICAgICAgICAgIG1ha2UgQ0M9IiRjYyIgQ0ZMQUdTPSIkb3B0IC1zdGQ9Yzk5IC1wZWRhbnRpYyAtV2FsbCAtV2V4dHJhIC1XZXJyb3IiCi0gICAgICAgICAgIyBXZSdyZSBjb25maWRlbnQgZW5vdWdoIGluIGNvbXBpbGVycyB0byBub3QgcnVuIF9hbGxfIHRoZSB0ZXN0cywKLSAgICAgICAgICAjIGJ1dCBhdCBsZWFzdCBydW4gdGhlIHVuaXQgdGVzdHMuIEluIHBhcnRpY3VsYXIsIHJ1bnMgd2l0aAotICAgICAgICAgICMgb3B0aW1pemF0aW9ucyB1c2UgaW5saW5lIGFzc2VtYmx5IHdoZXJlYXMgcnVucyB3aXRoIC1PMAotICAgICAgICAgICMgc2tpcCBpbmxpbmUgYXNzZW1ibHkuCi0gICAgICAgICAgbWFrZSB0ZXN0ICMgfjMwcwotICAgICAgICAgIG1ha2UgY2xlYW4KLSAgICBkb25lCi19Ci0KLSMgRm9yIEZyZWVCU0Qgd2UgaW52b2tlIHRoZSBmdW5jdGlvbiBieSBuYW1lIHNvIHRoaXMgY29uZGl0aW9uIGlzIGFkZGVkCi0jIHRvIGRpc2FibGUgdGhlIGV4aXN0aW5nIHRlc3RfY2xhbmdfb3B0IGZ1bmN0aW9uIGZvciBsaW51eC4KLWlmIFtbICQodW5hbWUpICE9ICJMaW51eCIgXV07IHRoZW4KLSAgICBjb21wb25lbnRfdGVzdF9jbGFuZ19vcHQgKCkgewotICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgICAgIHRlc3RfYnVpbGRfb3B0ICdmdWxsIGNvbmZpZycgY2xhbmcgLU8wIC1PcyAtTzIKLSAgICB9Ci1maQotCi1jb21wb25lbnRfdGVzdF9jbGFuZ19sYXRlc3Rfb3B0ICgpIHsKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgdGVzdF9idWlsZF9vcHQgJ2Z1bGwgY29uZmlnJyAiJENMQU5HX0xBVEVTVCIgLU8wIC1PcyAtTzIKLX0KLXN1cHBvcnRfdGVzdF9jbGFuZ19sYXRlc3Rfb3B0ICgpIHsKLSAgICB0eXBlICIkQ0xBTkdfTEFURVNUIiA+L2Rldi9udWxsIDI+L2Rldi9udWxsCi19Ci0KLWNvbXBvbmVudF90ZXN0X2NsYW5nX2VhcmxpZXN0X29wdCAoKSB7Ci0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHRlc3RfYnVpbGRfb3B0ICdmdWxsIGNvbmZpZycgIiRDTEFOR19FQVJMSUVTVCIgLU8wCi19Ci1zdXBwb3J0X3Rlc3RfY2xhbmdfZWFybGllc3Rfb3B0ICgpIHsKLSAgICB0eXBlICIkQ0xBTkdfRUFSTElFU1QiID4vZGV2L251bGwgMj4vZGV2L251bGwKLX0KLQotY29tcG9uZW50X3Rlc3RfZ2NjX2xhdGVzdF9vcHQgKCkgewotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICB0ZXN0X2J1aWxkX29wdCAnZnVsbCBjb25maWcnICIkR0NDX0xBVEVTVCIgLU8wIC1PcyAtTzIKLX0KLXN1cHBvcnRfdGVzdF9nY2NfbGF0ZXN0X29wdCAoKSB7Ci0gICAgdHlwZSAiJEdDQ19MQVRFU1QiID4vZGV2L251bGwgMj4vZGV2L251bGwKLX0KLQotY29tcG9uZW50X3Rlc3RfZ2NjX2VhcmxpZXN0X29wdCAoKSB7Ci0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHRlc3RfYnVpbGRfb3B0ICdmdWxsIGNvbmZpZycgIiRHQ0NfRUFSTElFU1QiIC1PMAotfQotc3VwcG9ydF90ZXN0X2djY19lYXJsaWVzdF9vcHQgKCkgewotICAgIHR5cGUgIiRHQ0NfRUFSTElFU1QiID4vZGV2L251bGwgMj4vZGV2L251bGwKLX0KLQotY29tcG9uZW50X2J1aWxkX21iZWR0bHNfY29uZmlnX2ZpbGUgKCkgewotICAgIG1zZyAiYnVpbGQ6IG1ha2Ugd2l0aCBNQkVEVExTX0NPTkZJR19GSUxFIiAjIH40MHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSAtdyBmdWxsX2NvbmZpZy5oIGZ1bGwKLSAgICBlY2hvICcjZXJyb3IgIk1CRURUTFNfQ09ORklHX0ZJTEUgaXMgbm90IHdvcmtpbmciJyA+IiRDT05GSUdfSCIKLSAgICBtYWtlIENGTEFHUz0iLUkgJyRQV0QnIC1ETUJFRFRMU19DT05GSUdfRklMRT0nXCJmdWxsX2NvbmZpZy5oXCInIgotICAgICMgTWFrZSBzdXJlIHRoaXMgZmVhdHVyZSBpcyBlbmFibGVkLiBXZSdsbCBkaXNhYmxlIGl0IGluIHRoZSBuZXh0IHBoYXNlLgotICAgIHByb2dyYW1zL3Rlc3QvcXVlcnlfY29tcGlsZV90aW1lX2NvbmZpZyBNQkVEVExTX05JU1RfS1dfQwotICAgIG1ha2UgY2xlYW4KLQotICAgIG1zZyAiYnVpbGQ6IG1ha2Ugd2l0aCBNQkVEVExTX0NPTkZJR19GSUxFICsgTUJFRFRMU19VU0VSX0NPTkZJR19GSUxFIgotICAgICMgSW4gdGhlIHVzZXIgY29uZmlnLCBkaXNhYmxlIG9uZSBmZWF0dXJlIChmb3Igc2ltcGxpY2l0eSwgcGljayBhIGZlYXR1cmUKLSAgICAjIHRoYXQgbm90aGluZyBlbHNlIGRlcGVuZHMgb24pLgotICAgIGVjaG8gJyN1bmRlZiBNQkVEVExTX05JU1RfS1dfQycgPnVzZXJfY29uZmlnLmgKLSAgICBtYWtlIENGTEFHUz0iLUkgJyRQV0QnIC1ETUJFRFRMU19DT05GSUdfRklMRT0nXCJmdWxsX2NvbmZpZy5oXCInIC1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPSdcInVzZXJfY29uZmlnLmhcIiciCi0gICAgbm90IHByb2dyYW1zL3Rlc3QvcXVlcnlfY29tcGlsZV90aW1lX2NvbmZpZyBNQkVEVExTX05JU1RfS1dfQwotCi0gICAgcm0gLWYgdXNlcl9jb25maWcuaCBmdWxsX2NvbmZpZy5oCi19Ci0KLWNvbXBvbmVudF9idWlsZF9wc2FfY29uZmlnX2ZpbGUgKCkgewotICAgIG1zZyAiYnVpbGQ6IG1ha2Ugd2l0aCBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHX0ZJTEUiICMgfjQwcwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHCi0gICAgY3AgIiRDUllQVE9fQ09ORklHX0giIHBzYV90ZXN0X2NvbmZpZy5oCi0gICAgZWNobyAnI2Vycm9yICJNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHX0ZJTEUgaXMgbm90IHdvcmtpbmciJyA+IiRDUllQVE9fQ09ORklHX0giCi0gICAgbWFrZSBDRkxBR1M9Ii1JICckUFdEJyAtRE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUdfRklMRT0nXCJwc2FfdGVzdF9jb25maWcuaFwiJyIKLSAgICAjIE1ha2Ugc3VyZSB0aGlzIGZlYXR1cmUgaXMgZW5hYmxlZC4gV2UnbGwgZGlzYWJsZSBpdCBpbiB0aGUgbmV4dCBwaGFzZS4KLSAgICBwcm9ncmFtcy90ZXN0L3F1ZXJ5X2NvbXBpbGVfdGltZV9jb25maWcgTUJFRFRMU19DTUFDX0MKLSAgICBtYWtlIGNsZWFuCi0KLSAgICBtc2cgImJ1aWxkOiBtYWtlIHdpdGggTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJR19GSUxFICsgTUJFRFRMU19QU0FfQ1JZUFRPX1VTRVJfQ09ORklHX0ZJTEUiICMgfjQwcwotICAgICMgSW4gdGhlIHVzZXIgY29uZmlnLCBkaXNhYmxlIG9uZSBmZWF0dXJlLCB3aGljaCB3aWxsIHJlZmxlY3Qgb24gdGhlCi0gICAgIyBtYmVkdGxzIGNvbmZpZ3VyYXRpb24gc28gd2UgY2FuIHF1ZXJ5IGl0IHdpdGggcXVlcnlfY29tcGlsZV90aW1lX2NvbmZpZy4KLSAgICBlY2hvICcjdW5kZWYgUFNBX1dBTlRfQUxHX0NNQUMnID5wc2FfdXNlcl9jb25maWcuaAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ01BQ19DCi0gICAgbWFrZSBDRkxBR1M9Ii1JICckUFdEJyAtRE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUdfRklMRT0nXCJwc2FfdGVzdF9jb25maWcuaFwiJyAtRE1CRURUTFNfUFNBX0NSWVBUT19VU0VSX0NPTkZJR19GSUxFPSdcInBzYV91c2VyX2NvbmZpZy5oXCInIgotICAgIG5vdCBwcm9ncmFtcy90ZXN0L3F1ZXJ5X2NvbXBpbGVfdGltZV9jb25maWcgTUJFRFRMU19DTUFDX0MKLQotICAgIHJtIC1mIHBzYV90ZXN0X2NvbmZpZy5oIHBzYV91c2VyX2NvbmZpZy5oCi19Ci0KLWNvbXBvbmVudF9idWlsZF9wc2FfYWx0X2hlYWRlcnMgKCkgewotICAgIG1zZyAiYnVpbGQ6IG1ha2Ugd2l0aCBQU0EgYWx0IGhlYWRlcnMiICMgfjIwcwotCi0gICAgIyBHZW5lcmF0ZSBhbHRlcm5hdGl2ZSB2ZXJzaW9ucyBvZiB0aGUgc3Vic3RpdHV0YWJsZSBoZWFkZXJzIHdpdGggdGhlCi0gICAgIyBzYW1lIGNvbnRlbnQgZXhjZXB0IGRpZmZlcmVudCBpbmNsdWRlIGd1YXJkcy4KLSAgICBtYWtlIC1DIHRlc3RzIGluY2x1ZGUvYWx0LWV4dHJhL3BzYS9jcnlwdG9fcGxhdGZvcm1fYWx0LmggaW5jbHVkZS9hbHQtZXh0cmEvcHNhL2NyeXB0b19zdHJ1Y3RfYWx0LmgKLQotICAgICMgQnVpbGQgdGhlIGxpYnJhcnkgYW5kIHNvbWUgcHJvZ3JhbXMuCi0gICAgIyBEb24ndCBidWlsZCB0aGUgZnV6emVycyB0byBhdm9pZCBoYXZpbmcgdG8gZ28gdGhyb3VnaCBob29wcyB0byBzZXQKLSAgICAjIGEgY29ycmVjdCBpbmNsdWRlIHBhdGggZm9yIHByb2dyYW1zL2Z1enovTWFrZWZpbGUuCi0gICAgbWFrZSBDRkxBR1M9Ii1JIC4uL3Rlc3RzL2luY2x1ZGUvYWx0LWV4dHJhIC1ETUJFRFRMU19QU0FfQ1JZUFRPX1BMQVRGT1JNX0ZJTEU9J1wicHNhL2NyeXB0b19wbGF0Zm9ybV9hbHQuaFwiJyAtRE1CRURUTFNfUFNBX0NSWVBUT19TVFJVQ1RfRklMRT0nXCJwc2EvY3J5cHRvX3N0cnVjdF9hbHQuaFwiJyIgbGliCi0gICAgbWFrZSAtQyBwcm9ncmFtcyAtbyBmdXp6IENGTEFHUz0iLUkgLi4vdGVzdHMvaW5jbHVkZS9hbHQtZXh0cmEgLURNQkVEVExTX1BTQV9DUllQVE9fUExBVEZPUk1fRklMRT0nXCJwc2EvY3J5cHRvX3BsYXRmb3JtX2FsdC5oXCInIC1ETUJFRFRMU19QU0FfQ1JZUFRPX1NUUlVDVF9GSUxFPSdcInBzYS9jcnlwdG9fc3RydWN0X2FsdC5oXCInIgotCi0gICAgIyBDaGVjayB0aGF0IHdlJ3JlIGdldHRpbmcgdGhlIGFsdGVybmF0aXZlIGluY2x1ZGUgZ3VhcmRzIGFuZCBub3QgdGhlCi0gICAgIyBvcmlnaW5hbCBpbmNsdWRlIGd1YXJkcy4KLSAgICBwcm9ncmFtcy90ZXN0L3F1ZXJ5X2luY2x1ZGVkX2hlYWRlcnMgfCBncmVwIC14IFBTQV9DUllQVE9fUExBVEZPUk1fQUxUX0gKLSAgICBwcm9ncmFtcy90ZXN0L3F1ZXJ5X2luY2x1ZGVkX2hlYWRlcnMgfCBncmVwIC14IFBTQV9DUllQVE9fU1RSVUNUX0FMVF9ICi0gICAgcHJvZ3JhbXMvdGVzdC9xdWVyeV9pbmNsdWRlZF9oZWFkZXJzIHwgbm90IGdyZXAgLXggUFNBX0NSWVBUT19QTEFURk9STV9ICi0gICAgcHJvZ3JhbXMvdGVzdC9xdWVyeV9pbmNsdWRlZF9oZWFkZXJzIHwgbm90IGdyZXAgLXggUFNBX0NSWVBUT19TVFJVQ1RfSAotfQotCi1jb21wb25lbnRfdGVzdF9tMzJfbm9fYXNtICgpIHsKLSAgICAjIEJ1aWxkIHdpdGhvdXQgYXNzZW1ibHksIHNvIGFzIHRvIHVzZSBwb3J0YWJsZSBDIGNvZGUgKGluIGEgMzItYml0Ci0gICAgIyBidWlsZCkgYW5kIG5vdCB0aGUgaTM4Ni1zcGVjaWZpYyBpbmxpbmUgYXNzZW1ibHkuCi0gICAgIwotICAgICMgTm90ZSB0aGF0IHdlIHJlcXVpcmUgZ2NjLCBiZWNhdXNlIGNsYW5nIEFzYW4gYnVpbGRzIGZhaWwgdG8gbGluayBmb3IKLSAgICAjIHRoaXMgdGFyZ2V0IChjYW5ub3QgZmluZCBsaWJjbGFuZ19ydC5sc2FuLWkzODYuYSAtIHRoaXMgaXMgYSBrbm93biBjbGFuZyBpc3N1ZSkuCi0gICAgbXNnICJidWlsZDogaTM4NiwgbWFrZSwgZ2NjLCBubyBhc20gKEFTYW4gYnVpbGQpIiAjIH4gMzBzCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSEFWRV9BU00KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQyAjIEFFU05JIGZvciAzMi1iaXQgaXMgdGVzdGVkIGluIHRlc3RfYWVzbmlfbTMyCi0gICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLW0zMiIgTERGTEFHUz0iLW0zMiAkQVNBTl9DRkxBR1MiCi0KLSAgICBtc2cgInRlc3Q6IGkzODYsIG1ha2UsIGdjYywgbm8gYXNtIChBU2FuIGJ1aWxkKSIKLSAgICBtYWtlIHRlc3QKLX0KLXN1cHBvcnRfdGVzdF9tMzJfbm9fYXNtICgpIHsKLSAgICBjYXNlICQodW5hbWUgLW0pIGluCi0gICAgICAgIGFtZDY0fHg4Nl82NCkgdHJ1ZTs7Ci0gICAgICAgICopIGZhbHNlOzsKLSAgICBlc2FjCi19Ci0KLWNvbXBvbmVudF90ZXN0X20zMl9vMiAoKSB7Ci0gICAgIyBCdWlsZCB3aXRoIG9wdGltaXphdGlvbiwgdG8gdXNlIHRoZSBpMzg2IHNwZWNpZmljIGlubGluZSBhc3NlbWJseQotICAgICMgYW5kIGdvIGZhc3RlciBmb3IgdGVzdHMuCi0gICAgbXNnICJidWlsZDogaTM4NiwgbWFrZSwgZ2NjIC1PMiAoQVNhbiBidWlsZCkiICMgfiAzMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DICMgQUVTTkkgZm9yIDMyLWJpdCBpcyB0ZXN0ZWQgaW4gdGVzdF9hZXNuaV9tMzIKLSAgICBtYWtlIENDPWdjYyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtbTMyIiBMREZMQUdTPSItbTMyICRBU0FOX0NGTEFHUyIKLQotICAgIG1zZyAidGVzdDogaTM4NiwgbWFrZSwgZ2NjIC1PMiAoQVNhbiBidWlsZCkiCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Qgc3NsLW9wdC5zaCwgaTM4NiwgbWFrZSwgZ2NjLU8yIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLXN1cHBvcnRfdGVzdF9tMzJfbzIgKCkgewotICAgIHN1cHBvcnRfdGVzdF9tMzJfbm9fYXNtICIkQCIKLX0KLQotY29tcG9uZW50X3Rlc3RfbTMyX2V2ZXJlc3QgKCkgewotICAgIG1zZyAiYnVpbGQ6IGkzODYsIEV2ZXJlc3QgRUNESCBjb250ZXh0IChBU2FuIGJ1aWxkKSIgIyB+IDYgbWluCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRUNESF9WQVJJQU5UX0VWRVJFU1RfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQyAjIEFFU05JIGZvciAzMi1iaXQgaXMgdGVzdGVkIGluIHRlc3RfYWVzbmlfbTMyCi0gICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLW0zMiIgTERGTEFHUz0iLW0zMiAkQVNBTl9DRkxBR1MiCi0KLSAgICBtc2cgInRlc3Q6IGkzODYsIEV2ZXJlc3QgRUNESCBjb250ZXh0IC0gbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoQVNhbiBidWlsZCkiICMgfiA1MHMKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAidGVzdDogaTM4NiwgRXZlcmVzdCBFQ0RIIGNvbnRleHQgLSBFQ0RILXJlbGF0ZWQgcGFydCBvZiBzc2wtb3B0LnNoIChBU2FuIGJ1aWxkKSIgIyB+IDVzCi0gICAgdGVzdHMvc3NsLW9wdC5zaCAtZiBFQ0RICi0KLSAgICBtc2cgInRlc3Q6IGkzODYsIEV2ZXJlc3QgRUNESCBjb250ZXh0IC0gY29tcGF0LnNoIHdpdGggc29tZSBFQ0RIIGNpcGhlcnN1aXRlcyAoQVNhbiBidWlsZCkiICMgfiAzIG1pbgotICAgICMgRXhjbHVkZSBzb21lIHN5bW1ldHJpYyBjaXBoZXJzIHRoYXQgYXJlIHJlZHVuZGFudCBoZXJlIHRvIGdhaW4gdGltZS4KLSAgICB0ZXN0cy9jb21wYXQuc2ggLWYgRUNESCAtViBOTyAtZSAnQVJJQVx8Q0FNRUxMSUFcfENIQUNIQScKLX0KLXN1cHBvcnRfdGVzdF9tMzJfZXZlcmVzdCAoKSB7Ci0gICAgc3VwcG9ydF90ZXN0X20zMl9ub19hc20gIiRAIgotfQotCi1jb21wb25lbnRfdGVzdF9teDMyICgpIHsKLSAgICBtc2cgImJ1aWxkOiA2NC1iaXQgSUxQMzIsIG1ha2UsIGdjYyIgIyB+IDMwcwotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW14MzInIExERkxBR1M9Jy1teDMyJwotCi0gICAgbXNnICJ0ZXN0OiA2NC1iaXQgSUxQMzIsIG1ha2UsIGdjYyIKLSAgICBtYWtlIHRlc3QKLX0KLXN1cHBvcnRfdGVzdF9teDMyICgpIHsKLSAgICBjYXNlICQodW5hbWUgLW0pIGluCi0gICAgICAgIGFtZDY0fHg4Nl82NCkgdHJ1ZTs7Ci0gICAgICAgICopIGZhbHNlOzsKLSAgICBlc2FjCi19Ci0KLWNvbXBvbmVudF90ZXN0X21pbl9tcGlfd2luZG93X3NpemUgKCkgewotICAgIG1zZyAiYnVpbGQ6IERlZmF1bHQgKyBNQkVEVExTX01QSV9XSU5ET1dfU0laRT0xIChBU2FuIGJ1aWxkKSIgIyB+IDEwcwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX01QSV9XSU5ET1dfU0laRSAxCi0gICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBNQkVEVExTX01QSV9XSU5ET1dfU0laRT0xIC0gbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoQVNhbiBidWlsZCkiICMgfiAxMHMKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3RfaGF2ZV9pbnQzMiAoKSB7Ci0gICAgbXNnICJidWlsZDogZ2NjLCBmb3JjZSAzMi1iaXQgYmlnbnVtIGxpbWJzIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSEFWRV9BU00KLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU05JX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTQ0VfQwotICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLU8yIC1XZXJyb3IgLVdhbGwgLVdleHRyYSAtRE1CRURUTFNfSEFWRV9JTlQzMicKLQotICAgIG1zZyAidGVzdDogZ2NjLCBmb3JjZSAzMi1iaXQgYmlnbnVtIGxpbWJzIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9oYXZlX2ludDY0ICgpIHsKLSAgICBtc2cgImJ1aWxkOiBnY2MsIGZvcmNlIDY0LWJpdCBiaWdudW0gbGltYnMiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19IQVZFX0FTTQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEFETE9DS19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNDRV9DCi0gICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSctTzIgLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1ETUJFRFRMU19IQVZFX0lOVDY0JwotCi0gICAgbXNnICJ0ZXN0OiBnY2MsIGZvcmNlIDY0LWJpdCBiaWdudW0gbGltYnMiCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X2hhdmVfaW50MzJfY21ha2VfbmV3X2JpZ251bSAoKSB7Ci0gICAgbXNnICJidWlsZDogZ2NjLCBmb3JjZSAzMi1iaXQgYmlnbnVtIGxpbWJzLCBuZXcgYmlnbnVtIGludGVyZmFjZSwgdGVzdCBob29rcyAoQVNhbiBidWlsZCkiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19IQVZFX0FTTQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEFETE9DS19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNDRV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVEVTVF9IT09LUwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VDUF9XSVRIX01QSV9VSU5UCi0gICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1ETUJFRFRMU19IQVZFX0lOVDMyIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCi0KLSAgICBtc2cgInRlc3Q6IGdjYywgZm9yY2UgMzItYml0IGJpZ251bSBsaW1icywgbmV3IGJpZ251bSBpbnRlcmZhY2UsIHRlc3QgaG9va3MgKEFTYW4gYnVpbGQpIgotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9ub191ZGJsX2RpdmlzaW9uICgpIHsKLSAgICBtc2cgImJ1aWxkOiBNQkVEVExTX05PX1VEQkxfRElWSVNJT04gbmF0aXZlIiAjIH4gMTBzCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX05PX1VEQkxfRElWSVNJT04KLSAgICBtYWtlIENGTEFHUz0nLVdlcnJvciAtTzEnCi0KLSAgICBtc2cgInRlc3Q6IE1CRURUTFNfTk9fVURCTF9ESVZJU0lPTiBuYXRpdmUiICMgfiAxMHMKLSAgICBtYWtlIHRlc3QKLX0KLQotY29tcG9uZW50X3Rlc3Rfbm9fNjRiaXRfbXVsdGlwbGljYXRpb24gKCkgewotICAgIG1zZyAiYnVpbGQ6IE1CRURUTFNfTk9fNjRCSVRfTVVMVElQTElDQVRJT04gbmF0aXZlIiAjIH4gMTBzCi0gICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX05PXzY0QklUX01VTFRJUExJQ0FUSU9OCi0gICAgbWFrZSBDRkxBR1M9Jy1XZXJyb3IgLU8xJwotCi0gICAgbXNnICJ0ZXN0OiBNQkVEVExTX05PXzY0QklUX01VTFRJUExJQ0FUSU9OIG5hdGl2ZSIgIyB+IDEwcwotICAgIG1ha2UgdGVzdAotfQotCi1jb21wb25lbnRfdGVzdF9ub19zdHJpbmdzICgpIHsKLSAgICBtc2cgImJ1aWxkOiBubyBzdHJpbmdzIiAjIH4xMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0gICAgIyBEaXNhYmxlIG9wdGlvbnMgdGhhdCBhY3RpdmF0ZSBhIGxhcmdlIGFtb3VudCBvZiBzdHJpbmcgY29uc3RhbnRzLgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfREVCVUdfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRVJST1JfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VSUk9SX1NUUkVSUk9SX0RVTU1ZCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19WRVJTSU9OX0ZFQVRVUkVTCi0gICAgbWFrZSBDRkxBR1M9Jy1XZXJyb3IgLU9zJwotCi0gICAgbXNnICJ0ZXN0OiBubyBzdHJpbmdzIiAjIH4gMTBzCi0gICAgbWFrZSB0ZXN0Ci19Ci0KLWNvbXBvbmVudF90ZXN0X25vX3g1MDlfaW5mbyAoKSB7Ci0gICAgbXNnICJidWlsZDogZnVsbCArIE1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTyIgIyB+IDEwcwotICAgIHNjcmlwdHMvY29uZmlnLnBsIGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5wbCB1bnNldCBNQkVEVExTX01FTU9SWV9CQUNLVFJBQ0UgIyB0b28gc2xvdyBmb3IgdGVzdHMKLSAgICBzY3JpcHRzL2NvbmZpZy5wbCBzZXQgTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi0gICAgbWFrZSBDRkxBR1M9Jy1XZXJyb3IgLU8yJwotCi0gICAgbXNnICJ0ZXN0OiBmdWxsICsgTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPIiAjIH4gMTBzCi0gICAgbWFrZSB0ZXN0Ci0KLSAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2gsIGZ1bGwgKyBNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8iICMgfiAxIG1pbgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotY29tcG9uZW50X2J1aWxkX2FybV9ub25lX2VhYmlfZ2NjICgpIHsKLSAgICBtc2cgImJ1aWxkOiAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MgLU8xLCBiYXJlbWV0YWwrZGVidWciICMgfiAxMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBiYXJlbWV0YWwKLSAgICBtYWtlIENDPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MiIEFSPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1hciIgTEQ9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWxkIiBDRkxBR1M9Jy1zdGQ9Yzk5IC1XZXJyb3IgLVdhbGwgLVdleHRyYSAtTzEnIGxpYgotCi0gICAgbXNnICJzaXplOiAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MgLU8xLCBiYXJlbWV0YWwrZGVidWciCi0gICAgJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9c2l6ZSAtdCBsaWJyYXJ5LyoubwotfQotCi1jb21wb25lbnRfYnVpbGRfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX2FybTV2dGUgKCkgewotICAgIG1zZyAiYnVpbGQ6ICR7QVJNX0xJTlVYX0dOVUVBQklfR0NDX1BSRUZJWH1nY2MgLW1hcmNoPWFybTV2dGUsIGJhcmVtZXRhbCtkZWJ1ZyIgIyB+IDEwcwotICAgIHNjcmlwdHMvY29uZmlnLnB5IGJhcmVtZXRhbAotICAgICMgQnVpbGQgZm9yIGEgdGFyZ2V0IHBsYXRmb3JtIHRoYXQncyBjbG9zZSB0byB3aGF0IERlYmlhbiB1c2VzCi0gICAgIyBmb3IgaXRzICJhcm1lbCIgZGlzdHJpYnV0aW9uIChodHRwczovL3dpa2kuZGViaWFuLm9yZy9Bcm1FYWJpUG9ydCkuCi0gICAgIyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvcHVsbC8yMTY5IGFuZCBjb21tZW50cy4KLSAgICAjIEJ1aWxkIGV2ZXJ5dGhpbmcgaW5jbHVkaW5nIHByb2dyYW1zLCBzZWUgZm9yIGV4YW1wbGUKLSAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL3B1bGwvMzQ0OSNpc3N1ZWNvbW1lbnQtNjc1MzEzNzIwCi0gICAgbWFrZSBDQz0iJHtBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYfWdjYyIgQVI9IiR7QVJNX0xJTlVYX0dOVUVBQklfR0NDX1BSRUZJWH1hciIgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW1hcmNoPWFybXY1dGUgLU8xJyBMREZMQUdTPSctbWFyY2g9YXJtdjV0ZScKLQotICAgIG1zZyAic2l6ZTogJHtBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYfWdjYyAtbWFyY2g9YXJtdjV0ZSAtTzEsIGJhcmVtZXRhbCtkZWJ1ZyIKLSAgICAke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVh9c2l6ZSAtdCBsaWJyYXJ5LyoubwotfQotc3VwcG9ydF9idWlsZF9hcm1fbGludXhfZ251ZWFiaV9nY2NfYXJtNXZ0ZSAoKSB7Ci0gICAgdHlwZSAke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVh9Z2NjID4vZGV2L251bGwgMj4mMQotfQotCi1jb21wb25lbnRfYnVpbGRfYXJtX25vbmVfZWFiaV9nY2NfYXJtNXZ0ZSAoKSB7Ci0gICAgbXNnICJidWlsZDogJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIC1tYXJjaD1hcm01dnRlLCBiYXJlbWV0YWwrZGVidWciICMgfiAxMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBiYXJlbWV0YWwKLSAgICAjIFRoaXMgaXMgYW4gaW1wZXJmZWN0IHN1YnN0aXR1dGUgZm9yCi0gICAgIyBjb21wb25lbnRfYnVpbGRfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX2FybTV2dGUKLSAgICAjIGluIGNhc2UgdGhlIGdjYy1hcm0tbGludXgtZ251ZWFiaSB0b29sY2hhaW4gaXMgbm90IGF2YWlsYWJsZQotICAgIG1ha2UgQ0M9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyIgQVI9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWFyIiBDRkxBR1M9Jy1zdGQ9Yzk5IC1XZXJyb3IgLVdhbGwgLVdleHRyYSAtbWFyY2g9YXJtdjV0ZSAtTzEnIExERkxBR1M9Jy1tYXJjaD1hcm12NXRlJyBTSEVMTD0nc2ggLXgnIGxpYgotCi0gICAgbXNnICJzaXplOiAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MgLW1hcmNoPWFybXY1dGUgLU8xLCBiYXJlbWV0YWwrZGVidWciCi0gICAgJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9c2l6ZSAtdCBsaWJyYXJ5LyoubwotfQotCi1jb21wb25lbnRfYnVpbGRfYXJtX25vbmVfZWFiaV9nY2NfbTBwbHVzICgpIHsKLSAgICBtc2cgImJ1aWxkOiAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MgLW10aHVtYiAtbWNwdT1jb3J0ZXgtbTBwbHVzLCBiYXJlbWV0YWxfc2l6ZSIgIyB+IDEwcwotICAgIHNjcmlwdHMvY29uZmlnLnB5IGJhcmVtZXRhbF9zaXplCi0gICAgbWFrZSBDQz0iJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIiBBUj0iJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9YXIiIExEPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1sZCIgQ0ZMQUdTPSctc3RkPWM5OSAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW10aHVtYiAtbWNwdT1jb3J0ZXgtbTBwbHVzIC1PcycgbGliCi0KLSAgICBtc2cgInNpemU6ICR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyAtbXRodW1iIC1tY3B1PWNvcnRleC1tMHBsdXMgLU9zLCBiYXJlbWV0YWxfc2l6ZSIKLSAgICAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1zaXplIC10IGxpYnJhcnkvKi5vCi0gICAgZm9yIGxpYiBpbiBsaWJyYXJ5LyouYTsgZG8KLSAgICAgICAgZWNobyAiJGxpYjoiCi0gICAgICAgICR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfXNpemUgLXQgJGxpYiB8IGdyZXAgVE9UQUxTCi0gICAgZG9uZQotfQotCi1jb21wb25lbnRfYnVpbGRfYXJtX25vbmVfZWFiaV9nY2Nfbm9fdWRibF9kaXZpc2lvbiAoKSB7Ci0gICAgbXNnICJidWlsZDogJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIC1ETUJFRFRMU19OT19VREJMX0RJVklTSU9OLCBtYWtlIiAjIH4gMTBzCi0gICAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTk9fVURCTF9ESVZJU0lPTgotICAgIG1ha2UgQ0M9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyIgQVI9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWFyIiBMRD0iJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9bGQiIENGTEFHUz0nLXN0ZD1jOTkgLVdlcnJvciAtV2FsbCAtV2V4dHJhJyBsaWIKLSAgICBlY2hvICJDaGVja2luZyB0aGF0IHNvZnR3YXJlIDY0LWJpdCBkaXZpc2lvbiBpcyBub3QgcmVxdWlyZWQiCi0gICAgbm90IGdyZXAgX19hZWFiaV91bGRpdiBsaWJyYXJ5LyoubwotfQotCi1jb21wb25lbnRfYnVpbGRfYXJtX25vbmVfZWFiaV9nY2Nfbm9fNjRiaXRfbXVsdGlwbGljYXRpb24gKCkgewotICAgIG1zZyAiYnVpbGQ6ICR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyBNQkVEVExTX05PXzY0QklUX01VTFRJUExJQ0FUSU9OLCBtYWtlIiAjIH4gMTBzCi0gICAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTk9fNjRCSVRfTVVMVElQTElDQVRJT04KLSAgICBtYWtlIENDPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MiIEFSPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1hciIgTEQ9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWxkIiBDRkxBR1M9Jy1zdGQ9Yzk5IC1XZXJyb3IgLU8xIC1tYXJjaD1hcm12Ni1tIC1tdGh1bWInIGxpYgotICAgIGVjaG8gIkNoZWNraW5nIHRoYXQgc29mdHdhcmUgNjQtYml0IG11bHRpcGxpY2F0aW9uIGlzIG5vdCByZXF1aXJlZCIKLSAgICBub3QgZ3JlcCBfX2FlYWJpX2xtdWwgbGlicmFyeS8qLm8KLX0KLQotY29tcG9uZW50X2J1aWxkX2FybV9jbGFuZ190aHVtYiAoKSB7Ci0gICAgIyB+IDMwcwotCi0gICAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCi0KLSAgICBtc2cgImJ1aWxkOiBjbGFuZyB0aHVtYiAyLCBtYWtlIgotICAgIG1ha2UgY2xlYW4KLSAgICBtYWtlIENDPSJjbGFuZyIgQ0ZMQUdTPSctc3RkPWM5OSAtV2Vycm9yIC1PcyAtLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tYXJjaD1hcm12Ny1tIC1tdGh1bWInIGxpYgotCi0gICAgIyBTb21lIFRodW1iIDEgYXNtIGlzIHNlbnNpdGl2ZSB0byBvcHRpbWlzYXRpb24gbGV2ZWwsIHNvIHRlc3QgYm90aCAtTzAgYW5kIC1PcwotICAgIG1zZyAiYnVpbGQ6IGNsYW5nIHRodW1iIDEgLU8wLCBtYWtlIgotICAgIG1ha2UgY2xlYW4KLSAgICBtYWtlIENDPSJjbGFuZyIgQ0ZMQUdTPSctc3RkPWM5OSAtV2Vycm9yIC1PMCAtLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWFybTExMzZqLXMgLW10aHVtYicgbGliCi0KLSAgICBtc2cgImJ1aWxkOiBjbGFuZyB0aHVtYiAxIC1PcywgbWFrZSIKLSAgICBtYWtlIGNsZWFuCi0gICAgbWFrZSBDQz0iY2xhbmciIENGTEFHUz0nLXN0ZD1jOTkgLVdlcnJvciAtT3MgLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1hcm0xMTM2ai1zIC1tdGh1bWInIGxpYgotfQotCi1jb21wb25lbnRfYnVpbGRfYXJtY2MgKCkgewotICAgIG1zZyAiYnVpbGQ6IEFSTSBDb21waWxlciA1IgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGJhcmVtZXRhbAotICAgICMgYXJtY1s1Nl0gZG9uJ3Qgc3VwcG9ydCBTSEEtNTEyIGludHJpbnNpY3MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTUxMl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UCi0KLSAgICAjIG9sZGVyIHZlcnNpb25zIG9mIGFybWNjL2FybWNsYW5nIGRvbid0IHN1cHBvcnQgQUVTQ0VfQyBvbiAzMi1iaXQgQXJtCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNDRV9DCi0KLSAgICAjIFN0b3AgYXJtY2xhbmcgd2FybmluZyBhYm91dCBmZWF0dXJlIGRldGVjdGlvbiBmb3IgQTY0X0NSWVBUTy4KLSAgICAjIFdpdGggdGhpcyBlbmFibGVkLCB0aGUgbGlicmFyeSBkb2VzIGJ1aWxkIGNvcnJlY3RseSB1bmRlciBhcm1jbGFuZywKLSAgICAjIGJ1dCBpbiBiYXJlbWV0YWwgYnVpbGRzIChhcyB0ZXN0ZWQgaGVyZSksIGZlYXR1cmUgZGV0ZWN0aW9uIGlzCi0gICAgIyB1bmF2YWlsYWJsZSwgYW5kIHRoZSB1c2VyIGlzIG5vdGlmaWVkIHZpYSBhICN3YXJuaW5nLiBTbyBlbmFibGluZwotICAgICMgdGhpcyBmZWF0dXJlIHdvdWxkIHByZXZlbnQgdXMgZnJvbSBidWlsZGluZyB3aXRoIC1XZXJyb3Igb24KLSAgICAjIGFybWNsYW5nLiBUcmFja2VkIGluICM3MTk4LgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BUk1WOF9BX0NSWVBUT19JRl9QUkVTRU5UCi0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19IQVZFX0FTTQotCi0gICAgbWFrZSBDQz0iJEFSTUM1X0NDIiBBUj0iJEFSTUM1X0FSIiBXQVJOSU5HX0NGTEFHUz0nLS1zdHJpY3QgLS1jOTknIGxpYgotCi0gICAgbXNnICJzaXplOiBBUk0gQ29tcGlsZXIgNSIKLSAgICAiJEFSTUM1X0ZST01FTEYiIC16IGxpYnJhcnkvKi5vCi0KLSAgICAjIENvbXBpbGUgbW9zdGx5IHdpdGggLU8xIHNpbmNlIHNvbWUgQXJtIGlubGluZSBhc3NlbWJseSBpcyBkaXNhYmxlZCBmb3IgLU8wLgotCi0gICAgIyBBUk0gQ29tcGlsZXIgNiAtIFRhcmdldCBBUk12Ny1BCi0gICAgYXJtYzZfYnVpbGRfdGVzdCAiLU8xIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12Ny1hIgotCi0gICAgIyBBUk0gQ29tcGlsZXIgNiAtIFRhcmdldCBBUk12Ny1NCi0gICAgYXJtYzZfYnVpbGRfdGVzdCAiLU8xIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12Ny1tIgotCi0gICAgIyBBUk0gQ29tcGlsZXIgNiAtIFRhcmdldCBBUk12Ny1NK0RTUAotICAgIGFybWM2X2J1aWxkX3Rlc3QgIi1PMSAtLXRhcmdldD1hcm0tYXJtLW5vbmUtZWFiaSAtbWFyY2g9YXJtdjctbStkc3AiCi0KLSAgICAjIEFSTSBDb21waWxlciA2IC0gVGFyZ2V0IEFSTXY4LUEgLSBBQXJjaDMyCi0gICAgYXJtYzZfYnVpbGRfdGVzdCAiLU8xIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12OC4yLWEiCi0KLSAgICAjIEFSTSBDb21waWxlciA2IC0gVGFyZ2V0IEFSTXY4LU0KLSAgICBhcm1jNl9idWlsZF90ZXN0ICItTzEgLS10YXJnZXQ9YXJtLWFybS1ub25lLWVhYmkgLW1hcmNoPWFybXY4LW0ubWFpbiIKLQotICAgICMgQVJNIENvbXBpbGVyIDYgLSBUYXJnZXQgQ29ydGV4LU0wIC0gbm8gb3B0aW1pc2F0aW9uCi0gICAgYXJtYzZfYnVpbGRfdGVzdCAiLU8wIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tY3B1PWNvcnRleC1tMCIKLQotICAgICMgQVJNIENvbXBpbGVyIDYgLSBUYXJnZXQgQ29ydGV4LU0wCi0gICAgYXJtYzZfYnVpbGRfdGVzdCAiLU9zIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tY3B1PWNvcnRleC1tMCIKLQotICAgICMgQVJNIENvbXBpbGVyIDYgLSBUYXJnZXQgQVJNdjguMi1BIC0gQUFyY2g2NAotICAgICMKLSAgICAjIFJlLWVuYWJsZSBNQkVEVExTX0FFU0NFX0MgYXMgdGhpcyBzaG91bGQgYmUgc3VwcG9ydGVkIGJ5IHRoZSB2ZXJzaW9uIG9mIGFybWNsYW5nCi0gICAgIyB0aGF0IHdlIGhhdmUgaW4gb3VyIENJCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTQ0VfQwotICAgIGFybWM2X2J1aWxkX3Rlc3QgIi1PMSAtLXRhcmdldD1hYXJjaDY0LWFybS1ub25lLWVhYmkgLW1hcmNoPWFybXY4LjItYStjcnlwdG8iCi19Ci0KLXN1cHBvcnRfYnVpbGRfYXJtY2MgKCkgewotICAgIGFybWM1X2NjPSIkQVJNQzVfQklOX0RJUi9hcm1jYyIKLSAgICBhcm1jNl9jYz0iJEFSTUM2X0JJTl9ESVIvYXJtY2xhbmciCi0gICAgKGNoZWNrX3Rvb2xzICIkYXJtYzVfY2MiICIkYXJtYzZfY2MiID4gL2Rldi9udWxsIDI+JjEpCi19Ci0KLWNvbXBvbmVudF90ZXN0X3RsczEyX29ubHkgKCkgewotICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGhvdXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zLCBjbWFrZSwgZ2NjLCBBU2FuIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwotICAgIENDPWdjYyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIgotICAgIG1ha2UgdGVzdAotCi0gICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIChBU2FuIGJ1aWxkKSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi0KLSAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCAoQVNhbiBidWlsZCkiCi0gICAgdGVzdHMvY29tcGF0LnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X3RsczEzX29ubHkgKCkgewotICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGhvdXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCi0gICAgbWFrZSBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdGxzMTMtb25seS5oXCInIgotCi0gICAgbXNnICJ0ZXN0OiBUTFMgMS4zIG9ubHksIGFsbCBrZXkgZXhjaGFuZ2UgbW9kZXMgZW5hYmxlZCIKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAic3NsLW9wdC5zaDogVExTIDEuMyBvbmx5LCBhbGwga2V5IGV4Y2hhbmdlIG1vZGVzIGVuYWJsZWQiCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotfQotCi1jb21wb25lbnRfdGVzdF90bHMxM19vbmx5X3BzayAoKSB7Ci0gICAgbXNnICJidWlsZDogVExTIDEuMyBvbmx5IGZyb20gZGVmYXVsdCwgb25seSBQU0sga2V5IGV4Y2hhbmdlIG1vZGUiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ESE1fQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9TRVJWRVJfTkFNRV9JTkRJQ0FUSU9OCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMjEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M3X0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCi0gICAgbWFrZSBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdGxzMTMtb25seS5oXCInIgotCi0gICAgbXNnICJ0ZXN0X3N1aXRlX3NzbDogVExTIDEuMyBvbmx5LCBvbmx5IFBTSyBrZXkgZXhjaGFuZ2UgbW9kZSBlbmFibGVkIgotICAgIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsOyBjZCAuLgotCi0gICAgbXNnICJzc2wtb3B0LnNoOiBUTFMgMS4zIG9ubHksIG9ubHkgUFNLIGtleSBleGNoYW5nZSBtb2RlIGVuYWJsZWQiCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotfQotCi1jb21wb25lbnRfdGVzdF90bHMxM19vbmx5X2VwaGVtZXJhbCAoKSB7Ci0gICAgbXNnICJidWlsZDogVExTIDEuMyBvbmx5IGZyb20gZGVmYXVsdCwgb25seSBlcGhlbWVyYWwga2V5IGV4Y2hhbmdlIG1vZGUiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKLSAgICBtYWtlIENGTEFHUz0iJy1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPVwiLi4vdGVzdHMvY29uZmlncy90bHMxMy1vbmx5LmhcIiciCi0KLSAgICBtc2cgInRlc3Rfc3VpdGVfc3NsOiBUTFMgMS4zIG9ubHksIG9ubHkgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlIgotICAgIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsOyBjZCAuLgotCi0gICAgbXNnICJzc2wtb3B0LnNoOiBUTFMgMS4zIG9ubHksIG9ubHkgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMTNfb25seV9lcGhlbWVyYWxfZmZkaCAoKSB7Ci0gICAgbXNnICJidWlsZDogVExTIDEuMyBvbmx5IGZyb20gZGVmYXVsdCwgb25seSBlcGhlbWVyYWwgZmZkaCBrZXkgZXhjaGFuZ2UgbW9kZSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCi0KLSAgICBtYWtlIENGTEFHUz0iJy1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPVwiLi4vdGVzdHMvY29uZmlncy90bHMxMy1vbmx5LmhcIiciCi0KLSAgICBtc2cgInRlc3Rfc3VpdGVfc3NsOiBUTFMgMS4zIG9ubHksIG9ubHkgZXBoZW1lcmFsIGZmZGgga2V5IGV4Y2hhbmdlIG1vZGUiCi0gICAgY2QgdGVzdHM7IC4vdGVzdF9zdWl0ZV9zc2w7IGNkIC4uCi0KLSAgICBtc2cgInNzbC1vcHQuc2g6IFRMUyAxLjMgb25seSwgb25seSBlcGhlbWVyYWwgZmZkaCBrZXkgZXhjaGFuZ2UgbW9kZSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X3RsczEzX29ubHlfcHNrX2VwaGVtZXJhbCAoKSB7Ci0gICAgbXNnICJidWlsZDogVExTIDEuMyBvbmx5IGZyb20gZGVmYXVsdCwgb25seSBQU0sgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9TRVJWRVJfTkFNRV9JTkRJQ0FUSU9OCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMjEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M3X0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCi0gICAgbWFrZSBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdGxzMTMtb25seS5oXCInIgotCi0gICAgbXNnICJ0ZXN0X3N1aXRlX3NzbDogVExTIDEuMyBvbmx5LCBvbmx5IFBTSyBlcGhlbWVyYWwga2V5IGV4Y2hhbmdlIG1vZGUiCi0gICAgY2QgdGVzdHM7IC4vdGVzdF9zdWl0ZV9zc2w7IGNkIC4uCi0KLSAgICBtc2cgInNzbC1vcHQuc2g6IFRMUyAxLjMgb25seSwgb25seSBQU0sgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMTNfb25seV9wc2tfZXBoZW1lcmFsX2ZmZGggKCkgewotICAgIG1zZyAiYnVpbGQ6IFRMUyAxLjMgb25seSBmcm9tIGRlZmF1bHQsIG9ubHkgUFNLIGVwaGVtZXJhbCBmZmRoIGtleSBleGNoYW5nZSBtb2RlIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9TRVJWRVJfTkFNRV9JTkRJQ0FUSU9OCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMjEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M3X0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RIX0MKLSAgICBtYWtlIENGTEFHUz0iJy1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPVwiLi4vdGVzdHMvY29uZmlncy90bHMxMy1vbmx5LmhcIiciCi0KLSAgICBtc2cgInRlc3Rfc3VpdGVfc3NsOiBUTFMgMS4zIG9ubHksIG9ubHkgUFNLIGVwaGVtZXJhbCBmZmRoIGtleSBleGNoYW5nZSBtb2RlIgotICAgIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsOyBjZCAuLgotCi0gICAgbXNnICJzc2wtb3B0LnNoOiBUTFMgMS4zIG9ubHksIG9ubHkgUFNLIGVwaGVtZXJhbCBmZmRoIGtleSBleGNoYW5nZSBtb2RlIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMTNfb25seV9wc2tfYWxsICgpIHsKLSAgICBtc2cgImJ1aWxkOiBUTFMgMS4zIG9ubHkgZnJvbSBkZWZhdWx0LCB3aXRob3V0IGVwaGVtZXJhbCBrZXkgZXhjaGFuZ2UgbW9kZSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfU0VSVkVSX05BTUVfSU5ESUNBVElPTgotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfQwotICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzFfVjIxCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTN19DCi0gICAgc2NyaXB0cy9jb25maWcucHkgc2V0ICAgTUJFRFRMU19TU0xfRUFSTFlfREFUQQotICAgIG1ha2UgQ0ZMQUdTPSInLURNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEU9XCIuLi90ZXN0cy9jb25maWdzL3RsczEzLW9ubHkuaFwiJyIKLQotICAgIG1zZyAidGVzdF9zdWl0ZV9zc2w6IFRMUyAxLjMgb25seSwgUFNLIGFuZCBQU0sgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlcyIKLSAgICBjZCB0ZXN0czsgLi90ZXN0X3N1aXRlX3NzbDsgY2QgLi4KLQotICAgIG1zZyAic3NsLW9wdC5zaDogVExTIDEuMyBvbmx5LCBQU0sgYW5kIFBTSyBlcGhlbWVyYWwga2V5IGV4Y2hhbmdlIG1vZGVzIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotY29tcG9uZW50X3Rlc3RfdGxzMTNfb25seV9lcGhlbWVyYWxfYWxsICgpIHsKLSAgICBtc2cgImJ1aWxkOiBUTFMgMS4zIG9ubHkgZnJvbSBkZWZhdWx0LCB3aXRob3V0IFBTSyBrZXkgZXhjaGFuZ2UgbW9kZSIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCi0gICAgbWFrZSBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdGxzMTMtb25seS5oXCInIgotCi0gICAgbXNnICJ0ZXN0X3N1aXRlX3NzbDogVExTIDEuMyBvbmx5LCBlcGhlbWVyYWwgYW5kIFBTSyBlcGhlbWVyYWwga2V5IGV4Y2hhbmdlIG1vZGVzIgotICAgIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsOyBjZCAuLgotCi0gICAgbXNnICJzc2wtb3B0LnNoOiBUTFMgMS4zIG9ubHksIGVwaGVtZXJhbCBhbmQgUFNLIGVwaGVtZXJhbCBrZXkgZXhjaGFuZ2UgbW9kZXMiCi0gICAgdGVzdHMvc3NsLW9wdC5zaAotfQotCi1jb21wb25lbnRfdGVzdF90bHMxM19ub19wYWRkaW5nICgpIHsKLSAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyBwbHVzIGVhcmx5IGRhdGEgbWludXMgcGFkZGluZyIKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TU0xfQ0lEX1RMUzFfM19QQURESU5HX0dSQU5VTEFSSVRZIDEKLSAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQotICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLSAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnIHBsdXMgZWFybHkgZGF0YSBtaW51cyBwYWRkaW5nIgotICAgIG1ha2UgdGVzdAotICAgIG1zZyAic3NsLW9wdC5zaCAoVExTIDEuMyBubyBwYWRkaW5nKSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X3RsczEzX25vX2NvbXBhdGliaWxpdHlfbW9kZSAoKSB7Ci0gICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgcGx1cyBlYXJseSBkYXRhIG1pbnVzIG1pZGRsZWJveCBjb21wYXRpYmlsaXR5IG1vZGUiCi0gICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQotICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCAgIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKLSAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KLSAgICBtYWtlCi0gICAgbXNnICJ0ZXN0OiBkZWZhdWx0IGNvbmZpZyBwbHVzIGVhcmx5IGRhdGEgbWludXMgbWlkZGxlYm94IGNvbXBhdGliaWxpdHkgbW9kZSIKLSAgICBtYWtlIHRlc3QKLSAgICBtc2cgInNzbC1vcHQuc2ggKFRMUyAxLjMgbm8gY29tcGF0aWJpbGl0eSBtb2RlKSIKLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi19Ci0KLWNvbXBvbmVudF90ZXN0X2Z1bGxfbWludXNfc2Vzc2lvbl90aWNrZXRzKCkgewotICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnIHdpdGhvdXQgc2Vzc2lvbiB0aWNrZXRzIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCi0gICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgotICAgIG1ha2UKLSAgICBtc2cgInRlc3Q6IGZ1bGwgY29uZmlnIHdpdGhvdXQgc2Vzc2lvbiB0aWNrZXRzIgotICAgIG1ha2UgdGVzdAotICAgIG1zZyAic3NsLW9wdC5zaCAoZnVsbCBjb25maWcgd2l0aG91dCBzZXNzaW9uIHRpY2tldHMpIgotICAgIHRlc3RzL3NzbC1vcHQuc2gKLX0KLQotY29tcG9uZW50X2J1aWxkX21pbmd3ICgpIHsKLSAgICBtc2cgImJ1aWxkOiBXaW5kb3dzIGNyb3NzIGJ1aWxkIC0gbWluZ3c2NCwgbWFrZSAoTGluayBMaWJyYXJ5KSIgIyB+IDMwcwotICAgIG1ha2UgQ0M9aTY4Ni13NjQtbWluZ3czMi1nY2MgQVI9aTY4Ni13NjQtbWluZ3czMi1hciBMRD1pNjg2LXc2NC1taW5nZ3czMi1sZCBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtbWFlcyAtbXNzZTIgLW1wY2xtdWwnIFdJTkRPV1NfQlVJTEQ9MSBsaWIgcHJvZ3JhbXMKLQotICAgICMgbm90ZSBNYWtlIHRlc3RzIG9ubHkgYnVpbGRzIHRoZSB0ZXN0cywgYnV0IGRvZXNuJ3QgcnVuIHRoZW0KLSAgICBtYWtlIENDPWk2ODYtdzY0LW1pbmd3MzItZ2NjIEFSPWk2ODYtdzY0LW1pbmd3MzItYXIgTEQ9aTY4Ni13NjQtbWluZ2d3MzItbGQgQ0ZMQUdTPSctV2Vycm9yIC1tYWVzIC1tc3NlMiAtbXBjbG11bCcgV0lORE9XU19CVUlMRD0xIHRlc3RzCi0gICAgbWFrZSBXSU5ET1dTX0JVSUxEPTEgY2xlYW4KLQotICAgIG1zZyAiYnVpbGQ6IFdpbmRvd3MgY3Jvc3MgYnVpbGQgLSBtaW5ndzY0LCBtYWtlIChETEwpIiAjIH4gMzBzCi0gICAgbWFrZSBDQz1pNjg2LXc2NC1taW5ndzMyLWdjYyBBUj1pNjg2LXc2NC1taW5ndzMyLWFyIExEPWk2ODYtdzY0LW1pbmdndzMyLWxkIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1tYWVzIC1tc3NlMiAtbXBjbG11bCcgV0lORE9XU19CVUlMRD0xIFNIQVJFRD0xIGxpYiBwcm9ncmFtcwotICAgIG1ha2UgQ0M9aTY4Ni13NjQtbWluZ3czMi1nY2MgQVI9aTY4Ni13NjQtbWluZ3czMi1hciBMRD1pNjg2LXc2NC1taW5nZ3czMi1sZCBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtbWFlcyAtbXNzZTIgLW1wY2xtdWwnIFdJTkRPV1NfQlVJTEQ9MSBTSEFSRUQ9MSB0ZXN0cwotICAgIG1ha2UgV0lORE9XU19CVUlMRD0xIGNsZWFuCi0KLSAgICBtc2cgImJ1aWxkOiBXaW5kb3dzIGNyb3NzIGJ1aWxkIC0gbWluZ3c2NCwgbWFrZSAoTGlicmFyeSBvbmx5LCBkZWZhdWx0IGNvbmZpZyB3aXRob3V0IE1CRURUTFNfQUVTTklfQykiICMgfiAzMHMKLSAgICAuL3NjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQyAjCi0gICAgbWFrZSBDQz1pNjg2LXc2NC1taW5ndzMyLWdjYyBBUj1pNjg2LXc2NC1taW5ndzMyLWFyIExEPWk2ODYtdzY0LW1pbmdndzMyLWxkIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhJyBXSU5ET1dTX0JVSUxEPTEgbGliCi0gICAgbWFrZSBXSU5ET1dTX0JVSUxEPTEgY2xlYW4KLX0KLXN1cHBvcnRfYnVpbGRfbWluZ3coKSB7Ci0gICAgY2FzZSAkKGk2ODYtdzY0LW1pbmd3MzItZ2NjIC1kdW1wdmVyc2lvbiAyPi9kZXYvbnVsbCkgaW4KLSAgICAgICAgWzAtNV0qfCIiKSBmYWxzZTs7Ci0gICAgICAgICopIHRydWU7OwotICAgIGVzYWMKLX0KLQotY29tcG9uZW50X3Rlc3RfbWVtc2FuICgpIHsKLSAgICBtc2cgImJ1aWxkOiBNU2FuIChjbGFuZykiICMgfiAxIG1pbiAyMHMKLSAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU05JX0MgIyBtZW1zYW4gZG9lc24ndCBncm9rIGFzbQotICAgIENDPWNsYW5nIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPU1lbVNhbiAuCi0gICAgbWFrZQotCi0gICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyAoTVNhbikiICMgfiAxMHMKLSAgICBtYWtlIHRlc3QKLQotICAgIG1zZyAidGVzdDogbWV0YXRlc3RzIChNU2FuKSIKLSAgICB0ZXN0cy9zY3JpcHRzL3J1bi1tZXRhdGVzdHMuc2ggYW55IG1zYW4KLQotICAgIG1zZyAicHJvZ3JhbSBkZW1vcyAoTVNhbikiICMgfjIwcwotICAgIHRlc3RzL3NjcmlwdHMvcnVuX2RlbW9zLnB5Ci0KLSAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2ggKE1TYW4pIiAjIH4gMSBtaW4KLSAgICB0ZXN0cy9zc2wtb3B0LnNoCi0KLSAgICAjIE9wdGlvbmFsIHBhcnQocykKLQotICAgIGlmIFsgIiRNRU1PUlkiIC1ndCAwIF07IHRoZW4KLSAgICAgICAgbXNnICJ0ZXN0OiBjb21wYXQuc2ggKE1TYW4pIiAjIH4gNiBtaW4gMjBzCi0gICAgICAgIHRlc3RzL2NvbXBhdC5zaAotICAgIGZpCi19Ci0KLWNvbXBvbmVudF9yZWxlYXNlX3Rlc3RfdmFsZ3JpbmQgKCkgewotICAgIG1zZyAiYnVpbGQ6IFJlbGVhc2UgKGNsYW5nKSIKLSAgICAjIGRlZmF1bHQgY29uZmlnLCBpbiBwYXJ0aWN1bGFyIHdpdGhvdXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIENDPWNsYW5nIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPVJlbGVhc2UgLgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMsIFZhbGdyaW5kIChkZWZhdWx0IGNvbmZpZykiCi0gICAgbWFrZSBtZW1jaGVjawotCi0gICAgIyBPcHRpb25hbCBwYXJ0cyAoc2xvdzsgY3VycmVudGx5IGJyb2tlbiBvbiBPUyBYIGJlY2F1c2UgcHJvZ3JhbXMgZG9uJ3QKLSAgICAjIHNlZW0gdG8gcmVjZWl2ZSBzaWduYWxzIHVuZGVyIHZhbGdyaW5kIG9uIE9TIFgpLgotICAgICMgVGhlc2Ugb3B0aW9uYWwgcGFydHMgZG9uJ3QgcnVuIG9uIHRoZSBDSS4KLSAgICBpZiBbICIkTUVNT1JZIiAtZ3QgMCBdOyB0aGVuCi0gICAgICAgIG1zZyAidGVzdDogc3NsLW9wdC5zaCAtLW1lbWNoZWNrIChkZWZhdWx0IGNvbmZpZykiCi0gICAgICAgIHRlc3RzL3NzbC1vcHQuc2ggLS1tZW1jaGVjawotICAgIGZpCi0KLSAgICBpZiBbICIkTUVNT1JZIiAtZ3QgMSBdOyB0aGVuCi0gICAgICAgIG1zZyAidGVzdDogY29tcGF0LnNoIC0tbWVtY2hlY2sgKGRlZmF1bHQgY29uZmlnKSIKLSAgICAgICAgdGVzdHMvY29tcGF0LnNoIC0tbWVtY2hlY2sKLSAgICBmaQotCi0gICAgaWYgWyAiJE1FTU9SWSIgLWd0IDAgXTsgdGhlbgotICAgICAgICBtc2cgInRlc3Q6IGNvbnRleHQtaW5mby5zaCAtLW1lbWNoZWNrIChkZWZhdWx0IGNvbmZpZykiCi0gICAgICAgIHRlc3RzL2NvbnRleHQtaW5mby5zaCAtLW1lbWNoZWNrCi0gICAgZmkKLX0KLQotY29tcG9uZW50X3JlbGVhc2VfdGVzdF92YWxncmluZF9wc2EgKCkgewotICAgIG1zZyAiYnVpbGQ6IFJlbGVhc2UsIGZ1bGwgKGNsYW5nKSIKLSAgICAjIGZ1bGwgY29uZmlnLCBpbiBwYXJ0aWN1bGFyIHdpdGggTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKLSAgICBDQz1jbGFuZyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1SZWxlYXNlIC4KLSAgICBtYWtlCi0KLSAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzLCBWYWxncmluZCAoZnVsbCBjb25maWcpIgotICAgIG1ha2UgbWVtY2hlY2sKLX0KLQotc3VwcG9ydF90ZXN0X2NtYWtlX291dF9vZl9zb3VyY2UgKCkgewotICAgIGRpc3RyaWJfaWQ9IiIKLSAgICBkaXN0cmliX3Zlcj0iIgotICAgIGRpc3RyaWJfdmVyX21pbm9yPSIiCi0gICAgZGlzdHJpYl92ZXJfbWFqb3I9IiIKLQotICAgICMgQXR0ZW1wdCB0byBwYXJzZSBsc2ItcmVsZWFzZSB0byBmaW5kIG91dCBkaXN0cmlidXRpb24gYW5kIHZlcnNpb24uIElmIG5vdAotICAgICMgZm91bmQgdGhpcyBzaG91bGQgZmFpbCBzYWZlICh0ZXN0IGlzIHN1cHBvcnRlZCkuCi0gICAgaWYgW1sgLWYgL2V0Yy9sc2ItcmVsZWFzZSBdXTsgdGhlbgotCi0gICAgICAgIHdoaWxlIHJlYWQgLXIgbHNiX2xpbmU7IGRvCi0gICAgICAgICAgICBjYXNlICIkbHNiX2xpbmUiIGluCi0gICAgICAgICAgICAgICAgIkRJU1RSSUJfSUQiKikgZGlzdHJpYl9pZD0ke2xzYl9saW5lLyNESVNUUklCX0lEPX07OwotICAgICAgICAgICAgICAgICJESVNUUklCX1JFTEVBU0UiKikgZGlzdHJpYl92ZXI9JHtsc2JfbGluZS8jRElTVFJJQl9SRUxFQVNFPX07OwotICAgICAgICAgICAgZXNhYwotICAgICAgICBkb25lIDwgL2V0Yy9sc2ItcmVsZWFzZQotCi0gICAgICAgIGRpc3RyaWJfdmVyX21ham9yPSIke2Rpc3RyaWJfdmVyJSUuKn0iCi0gICAgICAgIGRpc3RyaWJfdmVyPSIke2Rpc3RyaWJfdmVyIyoufSIKLSAgICAgICAgZGlzdHJpYl92ZXJfbWlub3I9IiR7ZGlzdHJpYl92ZXIlJS4qfSIKLSAgICBmaQotCi0gICAgIyBSdW5uaW5nIHRoZSBvdXQgb2Ygc291cmNlIENNYWtlIHRlc3Qgb24gVWJ1bnR1IDE2LjA0IHVzaW5nIG1vcmUgdGhhbiBvbmUKLSAgICAjIHByb2Nlc3NvciAoYXMgdGhlIENJIGRvZXMpIGNhbiBjcmVhdGUgYSByYWNlIGNvbmRpdGlvbiB3aGVyZWJ5IHRoZSBidWlsZAotICAgICMgZmFpbHMgdG8gc2VlIGEgZ2VuZXJhdGVkIGZpbGUsIGRlc3BpdGUgdGhhdCBmaWxlIGFjdHVhbGx5IGhhdmluZyBiZWVuCi0gICAgIyBnZW5lcmF0ZWQuIFRoaXMgcHJvYmxlbSBhcHBlYXJzIHRvIGdvIGF3YXkgd2l0aCAxOC4wNCBvciBuZXdlciwgc28gbWFrZQotICAgICMgdGhlIG91dCBvZiBzb3VyY2UgdGVzdHMgdW5zdXBwb3J0ZWQgb24gVWJ1bnR1IDE2LjA0LgotICAgIFsgIiRkaXN0cmliX2lkIiAhPSAiVWJ1bnR1IiBdIHx8IFsgIiRkaXN0cmliX3Zlcl9tYWpvciIgLWd0IDE2IF0KLX0KLQotY29tcG9uZW50X3Rlc3RfY21ha2Vfb3V0X29mX3NvdXJjZSAoKSB7Ci0gICAgIyBSZW1vdmUgZXhpc3RpbmcgZ2VuZXJhdGVkIGZpbGVzIHNvIHRoYXQgd2UgdXNlIHRoZSBvbmVzIGNtYWtlCi0gICAgIyBnZW5lcmF0ZXMKLSAgICBtYWtlIG5lYXQKLQotICAgIG1zZyAiYnVpbGQ6IGNtYWtlICdvdXQtb2Ytc291cmNlJyBidWlsZCIKLSAgICBNQkVEVExTX1JPT1RfRElSPSIkUFdEIgotICAgIG1rZGlyICIkT1VUX09GX1NPVVJDRV9ESVIiCi0gICAgY2QgIiRPVVRfT0ZfU09VUkNFX0RJUiIKLSAgICAjIE5vdGU6IEV4cGxpY2l0bHkgZ2VuZXJhdGUgZmlsZXMgYXMgdGhlc2UgYXJlIHR1cm5lZCBvZmYgaW4gcmVsZWFzZXMKLSAgICBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1DaGVjayAtRCBHRU5fRklMRVM9T04gIiRNQkVEVExTX1JPT1RfRElSIgotICAgIG1ha2UKLQotICAgIG1zZyAidGVzdDogY21ha2UgJ291dC1vZi1zb3VyY2UnIGJ1aWxkIgotICAgIG1ha2UgdGVzdAotICAgICMgQ2hlY2sgdGhhdCBzc2wtb3B0LnNoIGNhbiBmaW5kIHRoZSB0ZXN0IHByb2dyYW1zLgotICAgICMgQWxzbyBlbnN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gZXJyb3IgbWVzc2FnZXMgc3VjaCBhcwotICAgICMgIk5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkiLCB3aGljaCB3b3VsZCBpbmRpY2F0ZSB0aGF0IHNvbWUgcmVxdWlyZWQKLSAgICAjIGZpbGUgaXMgbWlzc2luZyAoc3NsLW9wdC5zaCB0b2xlcmF0ZXMgdGhlIGFic2VuY2Ugb2Ygc29tZSBmaWxlcyBzbwotICAgICMgbWF5IGV4aXQgd2l0aCBzdGF0dXMgMCBidXQgZW1pdCBlcnJvcnMpLgotICAgIC4vdGVzdHMvc3NsLW9wdC5zaCAtZiAnRGVmYXVsdCcgPnNzbC1vcHQub3V0IDI+c3NsLW9wdC5lcnIKLSAgICBncmVwIFBBU1Mgc3NsLW9wdC5vdXQKLSAgICBjYXQgc3NsLW9wdC5lcnIgPiYyCi0gICAgIyBJZiBzc2wtb3B0LmVyciBpcyBub24tZW1wdHksIHJlY29yZCBhbiBlcnJvciBhbmQga2VlcCBnb2luZy4KLSAgICBbICEgLXMgc3NsLW9wdC5lcnIgXQotICAgIHJtIHNzbC1vcHQub3V0IHNzbC1vcHQuZXJyCi0gICAgY2QgIiRNQkVEVExTX1JPT1RfRElSIgotICAgIHJtIC1yZiAiJE9VVF9PRl9TT1VSQ0VfRElSIgotfQotCi1jb21wb25lbnRfdGVzdF9jbWFrZV9hc19zdWJkaXJlY3RvcnkgKCkgewotICAgICMgUmVtb3ZlIGV4aXN0aW5nIGdlbmVyYXRlZCBmaWxlcyBzbyB0aGF0IHdlIHVzZSB0aGUgb25lcyBDTWFrZQotICAgICMgZ2VuZXJhdGVzCi0gICAgbWFrZSBuZWF0Ci0KLSAgICBtc2cgImJ1aWxkOiBjbWFrZSAnYXMtc3ViZGlyZWN0b3J5JyBidWlsZCIKLSAgICBjZCBwcm9ncmFtcy90ZXN0L2NtYWtlX3N1YnByb2plY3QKLSAgICAjIE5vdGU6IEV4cGxpY2l0bHkgZ2VuZXJhdGUgZmlsZXMgYXMgdGhlc2UgYXJlIHR1cm5lZCBvZmYgaW4gcmVsZWFzZXMKLSAgICBjbWFrZSAtRCBHRU5fRklMRVM9T04gLgotICAgIG1ha2UKLSAgICAuL2NtYWtlX3N1YnByb2plY3QKLX0KLXN1cHBvcnRfdGVzdF9jbWFrZV9hc19zdWJkaXJlY3RvcnkgKCkgewotICAgIHN1cHBvcnRfdGVzdF9jbWFrZV9vdXRfb2Zfc291cmNlCi19Ci0KLWNvbXBvbmVudF90ZXN0X2NtYWtlX2FzX3BhY2thZ2UgKCkgewotICAgICMgUmVtb3ZlIGV4aXN0aW5nIGdlbmVyYXRlZCBmaWxlcyBzbyB0aGF0IHdlIHVzZSB0aGUgb25lcyBDTWFrZQotICAgICMgZ2VuZXJhdGVzCi0gICAgbWFrZSBuZWF0Ci0KLSAgICBtc2cgImJ1aWxkOiBjbWFrZSAnYXMtcGFja2FnZScgYnVpbGQiCi0gICAgY2QgcHJvZ3JhbXMvdGVzdC9jbWFrZV9wYWNrYWdlCi0gICAgY21ha2UgLgotICAgIG1ha2UKLSAgICAuL2NtYWtlX3BhY2thZ2UKLX0KLXN1cHBvcnRfdGVzdF9jbWFrZV9hc19wYWNrYWdlICgpIHsKLSAgICBzdXBwb3J0X3Rlc3RfY21ha2Vfb3V0X29mX3NvdXJjZQotfQotCi1jb21wb25lbnRfdGVzdF9jbWFrZV9hc19wYWNrYWdlX2luc3RhbGwgKCkgewotICAgICMgUmVtb3ZlIGV4aXN0aW5nIGdlbmVyYXRlZCBmaWxlcyBzbyB0aGF0IHdlIHVzZSB0aGUgb25lcyBDTWFrZQotICAgICMgZ2VuZXJhdGVzCi0gICAgbWFrZSBuZWF0Ci0KLSAgICBtc2cgImJ1aWxkOiBjbWFrZSAnYXMtaW5zdGFsbGVkLXBhY2thZ2UnIGJ1aWxkIgotICAgIGNkIHByb2dyYW1zL3Rlc3QvY21ha2VfcGFja2FnZV9pbnN0YWxsCi0gICAgY21ha2UgLgotICAgIG1ha2UKLSAgICAuL2NtYWtlX3BhY2thZ2VfaW5zdGFsbAotfQotc3VwcG9ydF90ZXN0X2NtYWtlX2FzX3BhY2thZ2VfaW5zdGFsbCAoKSB7Ci0gICAgc3VwcG9ydF90ZXN0X2NtYWtlX291dF9vZl9zb3VyY2UKLX0KLQotY29tcG9uZW50X2J1aWxkX2NtYWtlX2N1c3RvbV9jb25maWdfZmlsZSAoKSB7Ci0gICAgIyBNYWtlIGEgY29weSBvZiBjb25maWcgZmlsZSB0byB1c2UgZm9yIHRoZSBpbi10cmVlIHRlc3QKLSAgICBjcCAiJENPTkZJR19IIiBpbmNsdWRlL21iZWR0bHNfY29uZmlnX2luX3RyZWVfY29weS5oCi0KLSAgICBNQkVEVExTX1JPT1RfRElSPSIkUFdEIgotICAgIG1rZGlyICIkT1VUX09GX1NPVVJDRV9ESVIiCi0gICAgY2QgIiRPVVRfT0ZfU09VUkNFX0RJUiIKLQotICAgICMgQnVpbGQgb25jZSB0byBnZXQgdGhlIGdlbmVyYXRlZCBmaWxlcyAod2hpY2ggbmVlZCBhbiBpbnRhY3QgY29uZmlnIGZpbGUpCi0gICAgY21ha2UgIiRNQkVEVExTX1JPT1RfRElSIgotICAgIG1ha2UKLQotICAgIG1zZyAiYnVpbGQ6IGNtYWtlIHdpdGggLURNQkVEVExTX0NPTkZJR19GSUxFIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC13IGZ1bGxfY29uZmlnLmggZnVsbAotICAgIGVjaG8gJyNlcnJvciAiY21ha2UgLURNQkVEVExTX0NPTkZJR19GSUxFIGlzIG5vdCB3b3JraW5nLiInID4gIiRNQkVEVExTX1JPT1RfRElSLyRDT05GSUdfSCIKLSAgICBjbWFrZSAtREdFTl9GSUxFUz1PRkYgLURNQkVEVExTX0NPTkZJR19GSUxFPWZ1bGxfY29uZmlnLmggIiRNQkVEVExTX1JPT1RfRElSIgotICAgIG1ha2UKLQotICAgIG1zZyAiYnVpbGQ6IGNtYWtlIHdpdGggLURNQkVEVExTX0NPTkZJR19GSUxFICsgLURNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEUiCi0gICAgIyBJbiB0aGUgdXNlciBjb25maWcsIGRpc2FibGUgb25lIGZlYXR1cmUgKGZvciBzaW1wbGljaXR5LCBwaWNrIGEgZmVhdHVyZQotICAgICMgdGhhdCBub3RoaW5nIGVsc2UgZGVwZW5kcyBvbikuCi0gICAgZWNobyAnI3VuZGVmIE1CRURUTFNfTklTVF9LV19DJyA+dXNlcl9jb25maWcuaAotCi0gICAgY21ha2UgLURHRU5fRklMRVM9T0ZGIC1ETUJFRFRMU19DT05GSUdfRklMRT1mdWxsX2NvbmZpZy5oIC1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPXVzZXJfY29uZmlnLmggIiRNQkVEVExTX1JPT1RfRElSIgotICAgIG1ha2UKLSAgICBub3QgcHJvZ3JhbXMvdGVzdC9xdWVyeV9jb21waWxlX3RpbWVfY29uZmlnIE1CRURUTFNfTklTVF9LV19DCi0KLSAgICBybSAtZiB1c2VyX2NvbmZpZy5oIGZ1bGxfY29uZmlnLmgKLQotICAgIGNkICIkTUJFRFRMU19ST09UX0RJUiIKLSAgICBybSAtcmYgIiRPVVRfT0ZfU09VUkNFX0RJUiIKLQotICAgICMgTm93IHJlcGVhdCB0aGUgdGVzdCBmb3IgYW4gaW4tdHJlZSBidWlsZDoKLQotICAgICMgUmVzdG9yZSBjb25maWcgZm9yIHRoZSBpbi10cmVlIHRlc3QKLSAgICBtdiBpbmNsdWRlL21iZWR0bHNfY29uZmlnX2luX3RyZWVfY29weS5oICIkQ09ORklHX0giCi0KLSAgICAjIEJ1aWxkIG9uY2UgdG8gZ2V0IHRoZSBnZW5lcmF0ZWQgZmlsZXMgKHdoaWNoIG5lZWQgYW4gaW50YWN0IGNvbmZpZykKLSAgICBjbWFrZSAuCi0gICAgbWFrZQotCi0gICAgbXNnICJidWlsZDogY21ha2UgKGluLXRyZWUpIHdpdGggLURNQkVEVExTX0NPTkZJR19GSUxFIgotICAgIHNjcmlwdHMvY29uZmlnLnB5IC13IGZ1bGxfY29uZmlnLmggZnVsbAotICAgIGVjaG8gJyNlcnJvciAiY21ha2UgLURNQkVEVExTX0NPTkZJR19GSUxFIGlzIG5vdCB3b3JraW5nLiInID4gIiRNQkVEVExTX1JPT1RfRElSLyRDT05GSUdfSCIKLSAgICBjbWFrZSAtREdFTl9GSUxFUz1PRkYgLURNQkVEVExTX0NPTkZJR19GSUxFPWZ1bGxfY29uZmlnLmggLgotICAgIG1ha2UKLQotICAgIG1zZyAiYnVpbGQ6IGNtYWtlIChpbi10cmVlKSB3aXRoIC1ETUJFRFRMU19DT05GSUdfRklMRSArIC1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFIgotICAgICMgSW4gdGhlIHVzZXIgY29uZmlnLCBkaXNhYmxlIG9uZSBmZWF0dXJlIChmb3Igc2ltcGxpY2l0eSwgcGljayBhIGZlYXR1cmUKLSAgICAjIHRoYXQgbm90aGluZyBlbHNlIGRlcGVuZHMgb24pLgotICAgIGVjaG8gJyN1bmRlZiBNQkVEVExTX05JU1RfS1dfQycgPnVzZXJfY29uZmlnLmgKLQotICAgIGNtYWtlIC1ER0VOX0ZJTEVTPU9GRiAtRE1CRURUTFNfQ09ORklHX0ZJTEU9ZnVsbF9jb25maWcuaCAtRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT11c2VyX2NvbmZpZy5oIC4KLSAgICBtYWtlCi0gICAgbm90IHByb2dyYW1zL3Rlc3QvcXVlcnlfY29tcGlsZV90aW1lX2NvbmZpZyBNQkVEVExTX05JU1RfS1dfQwotCi0gICAgcm0gLWYgdXNlcl9jb25maWcuaCBmdWxsX2NvbmZpZy5oCi19Ci1zdXBwb3J0X2J1aWxkX2NtYWtlX2N1c3RvbV9jb25maWdfZmlsZSAoKSB7Ci0gICAgc3VwcG9ydF90ZXN0X2NtYWtlX291dF9vZl9zb3VyY2UKLX0KLQotCi1jb21wb25lbnRfYnVpbGRfemVyb2l6ZV9jaGVja3MgKCkgewotICAgIG1zZyAiYnVpbGQ6IGNoZWNrIGZvciBvYnZpb3VzbHkgd3JvbmcgY2FsbHMgdG8gbWJlZHRsc19wbGF0Zm9ybV96ZXJvaXplKCkiCi0KLSAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCi0KLSAgICAjIE9ubHkgY29tcGlsZSAtIHdlJ3JlIGxvb2tpbmcgZm9yIHNpemVvZi1wb2ludGVyLW1lbWFjY2VzcyB3YXJuaW5ncwotICAgIG1ha2UgQ0ZMQUdTPSInLURNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEU9XCIuLi90ZXN0cy9jb25maWdzL3VzZXItY29uZmlnLXplcm9pemUtbWVtc2V0LmhcIicgLURNQkVEVExTX1RFU1RfREVGSU5FU19aRVJPSVpFIC1XZXJyb3IgLVdzaXplb2YtcG9pbnRlci1tZW1hY2Nlc3MiCi19Ci0KLQotY29tcG9uZW50X3Rlc3RfemVyb2l6ZSAoKSB7Ci0gICAgIyBUZXN0IHRoYXQgdGhlIGZ1bmN0aW9uIG1iZWR0bHNfcGxhdGZvcm1femVyb2l6ZSgpIGlzIG5vdCBvcHRpbWl6ZWQgYXdheSBieQotICAgICMgZGlmZmVyZW50IGNvbWJpbmF0aW9ucyBvZiBjb21waWxlcnMgYW5kIG9wdGltaXphdGlvbiBmbGFncyBieSB1c2luZyBhbgotICAgICMgYXV4aWxpYXJ5IEdEQiBzY3JpcHQuIFVuZm9ydHVuYXRlbHksIEdEQiBkb2VzIG5vdCByZXR1cm4gZXJyb3IgdmFsdWVzIHRvIHRoZQotICAgICMgc3lzdGVtIGluIGFsbCBjYXNlcyB0aGF0IHRoZSBzY3JpcHQgZmFpbHMsIHNvIHdlIG11c3QgbWFudWFsbHkgc2VhcmNoIHRoZQotICAgICMgb3V0cHV0IHRvIGNoZWNrIHdoZXRoZXIgdGhlIHBhc3Mgc3RyaW5nIGlzIHByZXNlbnQgYW5kIG5vIGZhaWx1cmUgc3RyaW5ncwotICAgICMgd2VyZSBwcmludGVkLgotCi0gICAgIyBEb24ndCB0cnkgdG8gZGlzYWJsZSBBU0xSLiBXZSBkb24ndCBjYXJlIGFib3V0IEFTTFIgaGVyZS4gV2UgZG8gY2FyZQotICAgICMgYWJvdXQgYSBzcHVyaW91cyBtZXNzYWdlIGlmIEdkYiB0cmllcyBhbmQgZmFpbHMsIHNvIHN1cHByZXNzIHRoYXQuCi0gICAgZ2RiX2Rpc2FibGVfYXNscj0KLSAgICBpZiBbIC16ICIkKGdkYiAtYmF0Y2ggLW53IC1leCAnc2V0IGRpc2FibGUtcmFuZG9taXphdGlvbiBvZmYnIDI+JjEpIiBdOyB0aGVuCi0gICAgICAgIGdkYl9kaXNhYmxlX2FzbHI9J3NldCBkaXNhYmxlLXJhbmRvbWl6YXRpb24gb2ZmJwotICAgIGZpCi0KLSAgICBmb3Igb3B0aW1pemF0aW9uX2ZsYWcgaW4gLU8yIC1PMyAtT2Zhc3QgLU9zOyBkbwotICAgICAgICBmb3IgY29tcGlsZXIgaW4gY2xhbmcgZ2NjOyBkbwotICAgICAgICAgICAgbXNnICJ0ZXN0OiAkY29tcGlsZXIgJG9wdGltaXphdGlvbl9mbGFnLCBtYmVkdGxzX3BsYXRmb3JtX3plcm9pemUoKSIKLSAgICAgICAgICAgIG1ha2UgcHJvZ3JhbXMgQ0M9IiRjb21waWxlciIgREVCVUc9MSBDRkxBR1M9IiRvcHRpbWl6YXRpb25fZmxhZyIKLSAgICAgICAgICAgIGdkYiAtZXggIiRnZGJfZGlzYWJsZV9hc2xyIiAteCB0ZXN0cy9zY3JpcHRzL3Rlc3RfemVyb2l6ZS5nZGIgLW53IC1iYXRjaCAtbnggMj4mMSB8IHRlZSB0ZXN0X3plcm9pemUubG9nCi0gICAgICAgICAgICBncmVwICJUaGUgYnVmZmVyIHdhcyBjb3JyZWN0bHkgemVyb2l6ZWQiIHRlc3RfemVyb2l6ZS5sb2cKLSAgICAgICAgICAgIG5vdCBncmVwIC1pICJlcnJvciIgdGVzdF96ZXJvaXplLmxvZwotICAgICAgICAgICAgcm0gLWYgdGVzdF96ZXJvaXplLmxvZwotICAgICAgICAgICAgbWFrZSBjbGVhbgotICAgICAgICBkb25lCi0gICAgZG9uZQotfQotCi1jb21wb25lbnRfdGVzdF9wc2FfY29tcGxpYW5jZSAoKSB7Ci0gICAgIyBUaGUgYXJjaCB0ZXN0cyBidWlsZCB3aXRoIGdjYywgc28gcmVxdWlyZSB1c2Ugb2YgZ2NjIGhlcmUgdG8gbGluayBwcm9wZXJseQotICAgIG1zZyAiYnVpbGQ6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSwgbGlibWJlZGNyeXB0by5hIG9ubHkiCi0gICAgQ0M9Z2NjIG1ha2UgLUMgbGlicmFyeSBsaWJtYmVkY3J5cHRvLmEKLQotICAgIG1zZyAidW5pdCB0ZXN0OiB0ZXN0X3BzYV9jb21wbGlhbmNlLnB5IgotICAgIENDPWdjYyAuL3Rlc3RzL3NjcmlwdHMvdGVzdF9wc2FfY29tcGxpYW5jZS5weQotfQotCi1zdXBwb3J0X3Rlc3RfcHNhX2NvbXBsaWFuY2UgKCkgewotICAgICMgcHNhLWNvbXBsaWFuY2UtdGVzdHMgb25seSBzdXBwb3J0cyBDTWFrZSA+PSAzLjEwLjAKLSAgICB2ZXI9IiQoY21ha2UgLS12ZXJzaW9uKSIKLSAgICB2ZXI9IiR7dmVyI2NtYWtlIHZlcnNpb24gfSIKLSAgICB2ZXJfbWFqb3I9IiR7dmVyJSUuKn0iCi0KLSAgICB2ZXI9IiR7dmVyIyoufSIKLSAgICB2ZXJfbWlub3I9IiR7dmVyJSUuKn0iCi0KLSAgICBbICIkdmVyX21ham9yIiAtZXEgMyBdICYmIFsgIiR2ZXJfbWlub3IiIC1nZSAxMCBdCi19Ci0KLWNvbXBvbmVudF9jaGVja19jb2RlX3N0eWxlICgpIHsKLSAgICBtc2cgIkNoZWNrIEMgY29kZSBzdHlsZSIKLSAgICAuL3NjcmlwdHMvY29kZV9zdHlsZS5weQotfQotCi1zdXBwb3J0X2NoZWNrX2NvZGVfc3R5bGUoKSB7Ci0gICAgY2FzZSAkKHVuY3J1c3RpZnkgLS12ZXJzaW9uKSBpbgotICAgICAgICAqMC43NS4xKikgdHJ1ZTs7Ci0gICAgICAgICopIGZhbHNlOzsKLSAgICBlc2FjCi19Ci0KLWNvbXBvbmVudF9jaGVja19weXRob25fZmlsZXMgKCkgewotICAgIG1zZyAiTGludDogUHl0aG9uIHNjcmlwdHMiCi0gICAgdGVzdHMvc2NyaXB0cy9jaGVjay1weXRob24tZmlsZXMuc2gKLX0KLQotY29tcG9uZW50X2NoZWNrX3Rlc3RfaGVscGVycyAoKSB7Ci0gICAgbXNnICJ1bml0IHRlc3Q6IGdlbmVyYXRlX3Rlc3RfY29kZS5weSIKLSAgICAjIHVuaXR0ZXN0IHdyaXRlcyBvdXQgbXVuZGFuZSBzdHVmZiBsaWtlIG51bWJlciBvciB0ZXN0cyBydW4gb24gc3RkZXJyLgotICAgICMgT3VyIGNvbnZlbnRpb24gaXMgdG8gcmVzZXJ2ZSBzdGRlcnIgZm9yIGFjdHVhbCBlcnJvcnMsIGFuZCB3cml0ZQotICAgICMgaGFybWxlc3MgaW5mbyBvbiBzdGRvdXQgc28gaXQgY2FuIGJlIHN1cHByZXNzIHdpdGggLS1xdWlldC4KLSAgICAuL3Rlc3RzL3NjcmlwdHMvdGVzdF9nZW5lcmF0ZV90ZXN0X2NvZGUucHkgMj4mMQotCi0gICAgbXNnICJ1bml0IHRlc3Q6IHRyYW5zbGF0ZV9jaXBoZXJzLnB5IgotICAgIHB5dGhvbjMgLW0gdW5pdHRlc3QgdGVzdHMvc2NyaXB0cy90cmFuc2xhdGVfY2lwaGVycy5weSAyPiYxCi19Ci0KLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyBUZXJtaW5hdGlvbgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1wb3N0X3JlcG9ydCAoKSB7Ci0gICAgbXNnICJEb25lLCBjbGVhbmluZyB1cCIKLSAgICBmaW5hbF9jbGVhbnVwCi0KLSAgICBmaW5hbF9yZXBvcnQKLX0KLQotCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMgUnVuIGFsbCB0aGUgdGhpbmdzCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLSMgRnVuY3Rpb24gaW52b2tlZCBieSAtLWVycm9yLXRlc3QgdG8gdGVzdCBlcnJvciByZXBvcnRpbmcuCi1wc2V1ZG9fY29tcG9uZW50X2Vycm9yX3Rlc3QgKCkgewotICAgIG1zZyAiVGVzdGluZyBlcnJvciByZXBvcnRpbmcgJGVycm9yX3Rlc3RfaSIKLSAgICBpZiBbICRLRUVQX0dPSU5HIC1uZSAwIF07IHRoZW4KLSAgICAgICAgZWNobyAiRXhwZWN0IHRocmVlIGZhaWxpbmcgY29tbWFuZHMuIgotICAgIGZpCi0gICAgIyBJZiB0aGUgY29tcG9uZW50IGRvZXNuJ3QgcnVuIGluIGEgc3Vic2hlbGwsIGNoYW5naW5nIGVycm9yX3Rlc3RfaSB0byBhbgotICAgICMgaW52YWxpZCBpbnRlZ2VyIHdpbGwgY2F1c2UgYW4gZXJyb3IgaW4gdGhlIGxvb3AgdGhhdCBydW5zIHRoaXMgZnVuY3Rpb24uCi0gICAgZXJyb3JfdGVzdF9pPXRoaXNfc2hvdWxkX25vdF9iZV91c2VkX3NpbmNlX3RoZV9jb21wb25lbnRfcnVuc19pbl9hX3N1YnNoZWxsCi0gICAgIyBFeHBlY3RlZCBlcnJvcjogJ2dyZXAgbm9uX2V4aXN0ZW50IC9kZXYvbnVsbCAtPiAxJwotICAgIGdyZXAgbm9uX2V4aXN0ZW50IC9kZXYvbnVsbAotICAgICMgRXhwZWN0ZWQgZXJyb3I6ICchIGdyZXAgLXEgLiB0ZXN0cy9zY3JpcHRzL2FsbC5zaCAtPiAxJwotICAgIG5vdCBncmVwIC1xIC4gIiQwIgotICAgICMgRXhwZWN0ZWQgZXJyb3I6ICdtYWtlIHVua25vd25fdGFyZ2V0IC0+IDInCi0gICAgbWFrZSB1bmtub3duX3RhcmdldAotICAgIGZhbHNlICJ0aGlzIHNob3VsZCBub3QgYmUgZXhlY3V0ZWQiCi19Ci0KLSMgUnVuIG9uZSBjb21wb25lbnQgYW5kIGNsZWFuIHVwIGFmdGVyd2FyZHMuCi1ydW5fY29tcG9uZW50ICgpIHsKLSAgICBjdXJyZW50X2NvbXBvbmVudD0iJDEiCi0gICAgZXhwb3J0IE1CRURUTFNfVEVTVF9DT05GSUdVUkFUSU9OPSIkY3VycmVudF9jb21wb25lbnQiCi0KLSAgICAjIFVuY29uZGl0aW9uYWxseSBjcmVhdGUgYSBzZWVkZmlsZSB0aGF0J3Mgc3VmZmljaWVudGx5IGxvbmcuCi0gICAgIyBEbyB0aGlzIGJlZm9yZSBlYWNoIGNvbXBvbmVudCwgYmVjYXVzZSBhIHByZXZpb3VzIGNvbXBvbmVudCBtYXkKLSAgICAjIGhhdmUgbWVzc2VkIGl0IHVwIG9yIHNob3J0ZW5lZCBpdC4KLSAgICBsb2NhbCBkZF9jbWQKLSAgICBkZF9jbWQ9KGRkIGlmPS9kZXYvdXJhbmRvbSBvZj0uL3Rlc3RzL3NlZWRmaWxlIGJzPTY0IGNvdW50PTEpCi0gICAgY2FzZSAkT1NUWVBFIGluCi0gICAgICAgIGxpbnV4KnxmcmVlYnNkKnxvcGVuYnNkKikgZGRfY21kKz0oc3RhdHVzPW5vbmUpCi0gICAgZXNhYwotICAgICIke2RkX2NtZFtAXX0iCi0KLSAgICAjIFJ1biB0aGUgY29tcG9uZW50IGluIGEgc3Vic2hlbGwsIHdpdGggZXJyb3IgdHJhcHBpbmcgYW5kIG91dHB1dAotICAgICMgcmVkaXJlY3Rpb24gc2V0IHVwIGJhc2VkIG9uIHRoZSByZWxldmFudCBvcHRpb25zLgotICAgIGlmIFsgJEtFRVBfR09JTkcgLWVxIDEgXTsgdGhlbgotICAgICAgICAjIFdlIHdhbnQgdG8ga2VlcCBydW5uaW5nIGlmIHRoZSBzdWJzaGVsbCBmYWlscywgc28gJ3NldCAtZScgbXVzdAotICAgICAgICAjIGJlIG9mZiB3aGVuIHRoZSBzdWJzaGVsbCBydW5zLgotICAgICAgICBzZXQgK2UKLSAgICBmaQotICAgICgKLSAgICAgICAgaWYgWyAkUVVJRVQgLWVxIDEgXTsgdGhlbgotICAgICAgICAgICAgIyBtc2coKSB3aWxsIGJlIHNpbGVuY2VkLCBzbyBqdXN0IHByaW50IHRoZSBjb21wb25lbnQgbmFtZSBoZXJlLgotICAgICAgICAgICAgZWNobyAiJHtjdXJyZW50X2NvbXBvbmVudCNjb21wb25lbnRffSIKLSAgICAgICAgICAgIGV4ZWMgPi9kZXYvbnVsbAotICAgICAgICBmaQotICAgICAgICBpZiBbICRLRUVQX0dPSU5HIC1lcSAxIF07IHRoZW4KLSAgICAgICAgICAgICMgS2VlcCAic2V0IC1lIiBvZmYsIGFuZCBydW4gYW4gRVJSIHRyYXAgaW5zdGVhZCB0byByZWNvcmQgZmFpbHVyZXMuCi0gICAgICAgICAgICBzZXQgLUUKLSAgICAgICAgICAgIHRyYXAgZXJyX3RyYXAgRVJSCi0gICAgICAgIGZpCi0gICAgICAgICMgVGhlIG5leHQgbGluZSBpcyB3aGF0IHJ1bnMgdGhlIGNvbXBvbmVudAotICAgICAgICAiJEAiCi0gICAgICAgIGlmIFsgJEtFRVBfR09JTkcgLWVxIDEgXTsgdGhlbgotICAgICAgICAgICAgdHJhcCAtIEVSUgotICAgICAgICAgICAgZXhpdCAkbGFzdF9mYWlsdXJlX3N0YXR1cwotICAgICAgICBmaQotICAgICkKLSAgICBjb21wb25lbnRfc3RhdHVzPSQ/Ci0gICAgaWYgWyAkS0VFUF9HT0lORyAtZXEgMSBdOyB0aGVuCi0gICAgICAgIHNldCAtZQotICAgICAgICBpZiBbICRjb21wb25lbnRfc3RhdHVzIC1uZSAwIF07IHRoZW4KLSAgICAgICAgICAgIGZhaWx1cmVfY291bnQ9JCgoZmFpbHVyZV9jb3VudCArIDEpKQotICAgICAgICBmaQotICAgIGZpCi0KLSAgICAjIFJlc3RvcmUgdGhlIGJ1aWxkIHRyZWUgdG8gYSBjbGVhbiBzdGF0ZS4KLSAgICBjbGVhbnVwCi0gICAgdW5zZXQgY3VycmVudF9jb21wb25lbnQKLX0KLQotIyBQcmVsaW1pbmFyeSBzZXR1cAotcHJlX2NoZWNrX2Vudmlyb25tZW50Ci1wcmVfaW5pdGlhbGl6ZV92YXJpYWJsZXMKLXByZV9wYXJzZV9jb21tYW5kX2xpbmUgIiRAIgotCi1zZXR1cF9xdWlldF93cmFwcGVycwotcHJlX2NoZWNrX2dpdAotcHJlX3Jlc3RvcmVfZmlsZXMKLXByZV9iYWNrX3VwCi0KLWJ1aWxkX3N0YXR1cz0wCi1pZiBbICRLRUVQX0dPSU5HIC1lcSAxIF07IHRoZW4KLSAgICBwcmVfc2V0dXBfa2VlcF9nb2luZwotZmkKLXByZV9wcmVwYXJlX291dGNvbWVfZmlsZQotcHJlX3ByaW50X2NvbmZpZ3VyYXRpb24KLXByZV9jaGVja190b29scwotY2xlYW51cAotaWYgaW5fbWJlZHRsc19yZXBvOyB0aGVuCi0gICAgcHJlX2dlbmVyYXRlX2ZpbGVzCi1maQotCi0jIFJ1biB0aGUgcmVxdWVzdGVkIHRlc3RzLgotZm9yICgoZXJyb3JfdGVzdF9pPTE7IGVycm9yX3Rlc3RfaSA8PSBlcnJvcl90ZXN0OyBlcnJvcl90ZXN0X2krKykpOyBkbwotICAgIHJ1bl9jb21wb25lbnQgcHNldWRvX2NvbXBvbmVudF9lcnJvcl90ZXN0Ci1kb25lCi11bnNldCBlcnJvcl90ZXN0X2kKLWZvciBjb21wb25lbnQgaW4gJFJVTl9DT01QT05FTlRTOyBkbwotICAgIHJ1bl9jb21wb25lbnQgImNvbXBvbmVudF8kY29tcG9uZW50IgotZG9uZQotCi0jIFdlJ3JlIGRvbmUuCi1wb3N0X3JlcG9ydAorbWFpbiAiJEAiCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2FuYWx5emVfb3V0Y29tZXMucHkgYi90ZXN0cy9zY3JpcHRzL2FuYWx5emVfb3V0Y29tZXMucHkKaW5kZXggNWI0ZGViNi4uMWY3ZTk4YyAxMDA3NTUKLS0tIGEvdGVzdHMvc2NyaXB0cy9hbmFseXplX291dGNvbWVzLnB5CisrKyBiL3Rlc3RzL3NjcmlwdHMvYW5hbHl6ZV9vdXRjb21lcy5weQpAQCAtNiw3MTUgKzYsNzY3IEBACiBsZXNzIGxpa2VseSB0byBiZSB1c2VmdWwuCiAiIiIKIAotaW1wb3J0IGFyZ3BhcnNlCi1pbXBvcnQgc3lzCi1pbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQgcmUKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgb3MKIGltcG9ydCB0eXBpbmcKIAotaW1wb3J0IGNoZWNrX3Rlc3RfY2FzZXMKK2ltcG9ydCBzY3JpcHRzX3BhdGggIyBweWxpbnQ6IGRpc2FibGU9dW51c2VkLWltcG9ydAorZnJvbSBtYmVkdGxzX2ZyYW1ld29yayBpbXBvcnQgb3V0Y29tZV9hbmFseXNpcwogCiAKLSMgYENvbXBvbmVudE91dGNvbWVzYCBpcyBhIG5hbWVkIHR1cGxlIHdoaWNoIGlzIGRlZmluZWQgYXM6Ci0jIENvbXBvbmVudE91dGNvbWVzKAotIyAgICAgc3VjY2Vzc2VzID0gewotIyAgICAgICAgICI8c3VpdGVfY2FzZT4iLAotIyAgICAgICAgIC4uLgotIyAgICAgfSwKLSMgICAgIGZhaWx1cmVzID0gewotIyAgICAgICAgICI8c3VpdGVfY2FzZT4iLAotIyAgICAgICAgIC4uLgotIyAgICAgfQotIyApCi0jIHN1aXRlX2Nhc2UgPSAiPHN1aXRlPjs8Y2FzZT4iCi1Db21wb25lbnRPdXRjb21lcyA9IHR5cGluZy5OYW1lZFR1cGxlKCdDb21wb25lbnRPdXRjb21lcycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoJ3N1Y2Nlc3NlcycsIHR5cGluZy5TZXRbc3RyXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2ZhaWx1cmVzJywgdHlwaW5nLlNldFtzdHJdKV0pCi0KLSMgYE91dGNvbWVzYCBpcyBhIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvdXRjb21lcyBmaWxlLAotIyB3aGljaCBkZWZpbmVkIGFzOgotIyBPdXRjb21lcyA9IHsKLSMgICAgICI8Y29tcG9uZW50PiI6IENvbXBvbmVudE91dGNvbWVzLAotIyAgICAgLi4uCi0jIH0KLU91dGNvbWVzID0gdHlwaW5nLkRpY3Rbc3RyLCBDb21wb25lbnRPdXRjb21lc10KLQotCi1jbGFzcyBSZXN1bHRzOgotICAgICIiIlByb2Nlc3MgYW5hbHlzaXMgcmVzdWx0cy4iIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc2VsZi5lcnJvcl9jb3VudCA9IDAKLSAgICAgICAgc2VsZi53YXJuaW5nX2NvdW50ID0gMAotCi0gICAgZGVmIG5ld19zZWN0aW9uKHNlbGYsIGZtdCwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgc2VsZi5fcHJpbnRfbGluZSgnXG4qKiogJyArIGZtdCArICcgKioqXG4nLCAqYXJncywgKiprd2FyZ3MpCi0KLSAgICBkZWYgaW5mbyhzZWxmLCBmbXQsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHNlbGYuX3ByaW50X2xpbmUoJ0luZm86ICcgKyBmbXQsICphcmdzLCAqKmt3YXJncykKLQotICAgIGRlZiBlcnJvcihzZWxmLCBmbXQsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHNlbGYuZXJyb3JfY291bnQgKz0gMQotICAgICAgICBzZWxmLl9wcmludF9saW5lKCdFcnJvcjogJyArIGZtdCwgKmFyZ3MsICoqa3dhcmdzKQotCi0gICAgZGVmIHdhcm5pbmcoc2VsZiwgZm10LCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICBzZWxmLndhcm5pbmdfY291bnQgKz0gMQotICAgICAgICBzZWxmLl9wcmludF9saW5lKCdXYXJuaW5nOiAnICsgZm10LCAqYXJncywgKiprd2FyZ3MpCitjbGFzcyBDb3ZlcmFnZVRhc2sob3V0Y29tZV9hbmFseXNpcy5Db3ZlcmFnZVRhc2spOgorICAgICIiIkp1c3RpZnkgdGVzdCBjYXNlcyB0aGF0IGFyZSBuZXZlciBleGVjdXRlZC4iIiIKIAogICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3ByaW50X2xpbmUoZm10LCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICBzeXMuc3RkZXJyLndyaXRlKChmbXQgKyAnXG4nKS5mb3JtYXQoKmFyZ3MsICoqa3dhcmdzKSkKKyAgICBkZWYgX2hhc193b3JkX3JlKHdvcmRzOiB0eXBpbmcuSXRlcmFibGVbc3RyXSwKKyAgICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGU6IHR5cGluZy5PcHRpb25hbFtzdHJdID0gTm9uZSkgLT4gdHlwaW5nLlBhdHRlcm46CisgICAgICAgICIiIkNvbnN0cnVjdCBhIHJlZ2V4IHRoYXQgbWF0Y2hlcyBpZiBhbnkgb2YgdGhlIHdvcmRzIGFwcGVhcnMuCiAKLWRlZiBleGVjdXRlX3JlZmVyZW5jZV9kcml2ZXJfdGVzdHMocmVzdWx0czogUmVzdWx0cywgcmVmX2NvbXBvbmVudDogc3RyLCBkcml2ZXJfY29tcG9uZW50OiBzdHIsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0Y29tZV9maWxlOiBzdHIpIC0+IE5vbmU6Ci0gICAgIiIiUnVuIHRoZSB0ZXN0cyBzcGVjaWZpZWQgaW4gcmVmX2NvbXBvbmVudCBhbmQgZHJpdmVyX2NvbXBvbmVudC4gUmVzdWx0cwotICAgIGFyZSBzdG9yZWQgaW4gdGhlIG91dHB1dF9maWxlIGFuZCB0aGV5IHdpbGwgYmUgdXNlZCBmb3IgdGhlIGZvbGxvd2luZwotICAgIGNvdmVyYWdlIGFuYWx5c2lzIiIiCi0gICAgcmVzdWx0cy5uZXdfc2VjdGlvbigiVGVzdCB7fSBhbmQge30iLCByZWZfY29tcG9uZW50LCBkcml2ZXJfY29tcG9uZW50KQorICAgICAgICBUaGUgb2NjdXJyZW5jZSBtdXN0IHN0YXJ0IGFuZCBlbmQgYXQgYSB3b3JkIGJvdW5kYXJ5LgogCi0gICAgc2hlbGxfY29tbWFuZCA9ICJ0ZXN0cy9zY3JpcHRzL2FsbC5zaCAtLW91dGNvbWUtZmlsZSAiICsgb3V0Y29tZV9maWxlICsgXAotICAgICAgICAgICAgICAgICAgICAiICIgKyByZWZfY29tcG9uZW50ICsgIiAiICsgZHJpdmVyX2NvbXBvbmVudAotICAgIHJlc3VsdHMuaW5mbygiUnVubmluZzoge30iLCBzaGVsbF9jb21tYW5kKQotICAgIHJldF92YWwgPSBzdWJwcm9jZXNzLnJ1bihzaGVsbF9jb21tYW5kLnNwbGl0KCksIGNoZWNrPUZhbHNlKS5yZXR1cm5jb2RlCisgICAgICAgIElmIGV4Y2x1ZGUgaXMgc3BlY2lmaWVkLCBzdHJpbmdzIGNvbnRhaW5pbmcgYSBtYXRjaCBmb3IgdGhhdAorICAgICAgICByZWd1bGFyIGV4cHJlc3Npb24gd2lsbCBub3QgbWF0Y2ggdGhlIHJldHVybmVkIHBhdHRlcm4uCisgICAgICAgICIiIgorICAgICAgICBleGNsdWRlX2NsYXVzZSA9IHInJworICAgICAgICBpZiBleGNsdWRlOgorICAgICAgICAgICAgZXhjbHVkZV9jbGF1c2UgPSByJyg/IS4qJyArIGV4Y2x1ZGUgKyAnKScKKyAgICAgICAgcmV0dXJuIHJlLmNvbXBpbGUoZXhjbHVkZV9jbGF1c2UgKworICAgICAgICAgICAgICAgICAgICAgICAgICByJy4qXGIoPzonICsgcid8Jy5qb2luKHdvcmRzKSArIHInKVxiLionLAorICAgICAgICAgICAgICAgICAgICAgICAgICByZS5ET1RBTEwpCiAKLSAgICBpZiByZXRfdmFsICE9IDA6Ci0gICAgICAgIHJlc3VsdHMuZXJyb3IoImZhaWxlZCB0byBydW4gcmVmZXJlbmNlL2RyaXZlciBjb21wb25lbnRzIikKKyAgICAjIGdlbmVyYXRlX3BzYV90ZXN0cy5weSBnZW5lcmF0ZXMgdGVzdCBjYXNlcyBpbnZvbHZpbmcgY3J5cHRvZ3JhcGhpYworICAgICMgbWVjaGFuaXNtcyAoa2V5IHR5cGVzLCBmYW1pbGllcywgYWxnb3JpdGhtcykgdGhhdCBhcmUgZGVjbGFyZWQgYnV0CisgICAgIyBub3QgaW1wbGVtZW50ZWQuIFVudGlsIHdlIGltcHJvdmUgdGhlIFB5dGhvbiBzY3JpcHRzLCBpZ25vcmUgdGhvc2UKKyAgICAjIHRlc3QgY2FzZXMgaW4gdGhlIGFuYWx5c2lzLgorICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1NzIKKyAgICBfUFNBX01FQ0hBTklTTVNfTk9UX0lNUExFTUVOVEVEID0gWworICAgICAgICByJ0NCQ19NQUMnLAorICAgICAgICByJ0RFVEVSTUlOSVNUSUNfRFNBJywKKyAgICAgICAgcidERVRfRFNBJywKKyAgICAgICAgcidEU0EnLAorICAgICAgICByJ0VDQ19LRVlfUEFJUlwoQlJBSU5QT09MX1BfUjFcKSAoPzoxNjB8MTkyfDIyNHwzMjApLWJpdCcsCisgICAgICAgIHInRUNDX0tFWV9QQUlSXChTRUNQX0sxXCkgMjI1LWJpdCcsCisgICAgICAgIHInRUNDX1BBSVJcKEJQX1IxXCkgKD86MTYwfDE5MnwyMjR8MzIwKS1iaXQnLAorICAgICAgICByJ0VDQ19QQUlSXChTRUNQX0sxXCkgMjI1LWJpdCcsCisgICAgICAgIHInRUNDX1BVQkxJQ19LRVlcKEJSQUlOUE9PTF9QX1IxXCkgKD86MTYwfDE5MnwyMjR8MzIwKS1iaXQnLAorICAgICAgICByJ0VDQ19QVUJMSUNfS0VZXChTRUNQX0sxXCkgMjI1LWJpdCcsCisgICAgICAgIHInRUNDX1BVQlwoQlBfUjFcKSAoPzoxNjB8MTkyfDIyNHwzMjApLWJpdCcsCisgICAgICAgIHInRUNDX1BVQlwoU0VDUF9LMVwpIDIyNS1iaXQnLAorICAgICAgICByJ0VEMjU1MTlQSCcsCisgICAgICAgIHInRUQ0NDhQSCcsCisgICAgICAgIHInUEVQUEVSJywKKyAgICAgICAgcidQVVJFX0VERFNBJywKKyAgICAgICAgcidTRUNQX1IyJywKKyAgICAgICAgcidTRUNUX0sxJywKKyAgICAgICAgcidTRUNUX1IxJywKKyAgICAgICAgcidTRUNUX1IyJywKKyAgICAgICAgcidTSEFLRTI1Nl81MTInLAorICAgICAgICByJ1NIQV81MTJfMjI0JywKKyAgICAgICAgcidTSEFfNTEyXzI1NicsCisgICAgICAgIHInVFdJU1RFRF9FRFdBUkRTJywKKyAgICAgICAgcidYVFMnLAorICAgIF0KKyAgICBQU0FfTUVDSEFOSVNNX05PVF9JTVBMRU1FTlRFRF9TRUFSQ0hfUkUgPSBcCisgICAgICAgIF9oYXNfd29yZF9yZShfUFNBX01FQ0hBTklTTVNfTk9UX0lNUExFTUVOVEVEKQogCi1kZWYgYW5hbHl6ZV9jb3ZlcmFnZShyZXN1bHRzOiBSZXN1bHRzLCBvdXRjb21lczogT3V0Y29tZXMsCi0gICAgICAgICAgICAgICAgICAgICBhbGxvd19saXN0OiB0eXBpbmcuTGlzdFtzdHJdLCBmdWxsX2NvdmVyYWdlOiBib29sKSAtPiBOb25lOgotICAgICIiIkNoZWNrIHRoYXQgYWxsIGF2YWlsYWJsZSB0ZXN0IGNhc2VzIGFyZSBleGVjdXRlZCBhdCBsZWFzdCBvbmNlLiIiIgotICAgIGF2YWlsYWJsZSA9IGNoZWNrX3Rlc3RfY2FzZXMuY29sbGVjdF9hdmFpbGFibGVfdGVzdF9jYXNlcygpCi0gICAgZm9yIHN1aXRlX2Nhc2UgaW4gYXZhaWxhYmxlOgotICAgICAgICBoaXQgPSBhbnkoc3VpdGVfY2FzZSBpbiBjb21wX291dGNvbWVzLnN1Y2Nlc3NlcyBvcgotICAgICAgICAgICAgICAgICAgc3VpdGVfY2FzZSBpbiBjb21wX291dGNvbWVzLmZhaWx1cmVzCi0gICAgICAgICAgICAgICAgICBmb3IgY29tcF9vdXRjb21lcyBpbiBvdXRjb21lcy52YWx1ZXMoKSkKKyAgICBJR05PUkVEX1RFU1RTID0geworICAgICAgICAnc3NsLW9wdCc6IFsKKyAgICAgICAgICAgICMgV2UgZG9uJ3QgcnVuIHNzbC1vcHQuc2ggd2l0aCBWYWxncmluZCBvbiB0aGUgQ0kgYmVjYXVzZQorICAgICAgICAgICAgIyBpdCdzIGV4dHJlbWVseSBzbG93LiBXZSBkb24ndCBpbnRlbmQgdG8gY2hhbmdlIHRoaXMuCisgICAgICAgICAgICAnRFRMUyBjbGllbnQgcmVjb25uZWN0IGZyb20gc2FtZSBwb3J0OiByZWNvbm5lY3QsIG5iaW8sIHZhbGdyaW5kJywKKyAgICAgICAgICAgICMgV2UgZG9uJ3QgaGF2ZSBJUHY2IGluIG91ciBDSSBlbnZpcm9ubWVudC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMtdGVzdC9pc3N1ZXMvMTc2CisgICAgICAgICAgICAnRFRMUyBjb29raWU6IGVuYWJsZWQsIElQdjYnLAorICAgICAgICAgICAgIyBEaXNhYmxlZCBkdWUgdG8gT3BlblNTTCBidWcuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvaXNzdWVzLzE4ODg3CisgICAgICAgICAgICAnRFRMUyBmcmFnbWVudGluZzogM2QsIG9wZW5zc2wgY2xpZW50LCBEVExTIDEuMicsCisgICAgICAgICAgICAjIFdlIGRvbid0IHJ1biBzc2wtb3B0LnNoIHdpdGggVmFsZ3JpbmQgb24gdGhlIENJIGJlY2F1c2UKKyAgICAgICAgICAgICMgaXQncyBleHRyZW1lbHkgc2xvdy4gV2UgZG9uJ3QgaW50ZW5kIHRvIGNoYW5nZSB0aGlzLgorICAgICAgICAgICAgJ0RUTFMgZnJhZ21lbnRpbmc6IHByb3h5IE1UVTogYXV0by1yZWR1Y3Rpb24gKHdpdGggdmFsZ3JpbmQpJywKKyAgICAgICAgICAgICMgSXQgc2VlbXMgdGhhdCB3ZSBkb24ndCBydW4gYHNzbC1vcHQuc2hgIHdpdGgKKyAgICAgICAgICAgICMgYE1CRURUTFNfVVNFX1BTQV9DUllQVE9gIGVuYWJsZWQgYnV0IGBNQkVEVExTX1NTTF9BU1lOQ19QUklWQVRFYAorICAgICAgICAgICAgIyBkaXNhYmxlZC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1ODEKKyAgICAgICAgICAgICdPcGFxdWUga2V5IGZvciBzZXJ2ZXIgYXV0aGVudGljYXRpb246IGludmFsaWQga2V5OiBkZWNyeXB0IHdpdGggRUNDIGtleSwgbm8gYXN5bmMnLAorICAgICAgICAgICAgJ09wYXF1ZSBrZXkgZm9yIHNlcnZlciBhdXRoZW50aWNhdGlvbjogaW52YWxpZCBrZXk6IGVjZGggd2l0aCBSU0Ega2V5LCBubyBhc3luYycsCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX2NvbmZpZy5tYmVkdGxzX2Jvb2xlYW4nOiBbCisgICAgICAgICAgICAjIFdlIG5ldmVyIHRlc3Qgd2l0aCBDQkMvUEtDUzUvUEtDUzEyIGVuYWJsZWQgYnV0CisgICAgICAgICAgICAjIFBLQ1M3IHBhZGRpbmcgZGlzYWJsZWQuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTgwCisgICAgICAgICAgICAnQ29uZmlnOiAhTUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNycsCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTgzCisgICAgICAgICAgICAnQ29uZmlnOiAhTUJFRFRMU19FQ1BfTklTVF9PUFRJTScsCisgICAgICAgICAgICAjIE1CRURUTFNfRUNQX05PX0ZBTExCQUNLIG9ubHkgYWZmZWN0cyBidWlsZHMgdXNpbmcgYSBwYXJ0aWFsCisgICAgICAgICAgICAjIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIG9mIEVDUCBhcml0aG1ldGljICh3aXRoCisgICAgICAgICAgICAjIE1CRURUTFNfRUNQX0lOVEVSTkFMX0FMVCBlbmFibGVkKS4gV2UgZG9uJ3QgdGVzdCB0aG9zZSBidWlsZHMuCisgICAgICAgICAgICAjIFRoZSBjb25maWd1cmF0aW9uIGVudW1lcmF0aW9uIHNjcmlwdCBza2lwcyB4eHhfQUxUIG9wdGlvbnMKKyAgICAgICAgICAgICMgYnV0IG5vdCBNQkVEVExTX0VDUF9OT19GQUxMQkFDSywgc28gaXQgYXBwZWFycyBpbiB0aGUgcmVwb3J0LAorICAgICAgICAgICAgIyBidXQgd2UgZG9uJ3QgY2FyZSBhYm91dCBpdC4KKyAgICAgICAgICAgICdDb25maWc6IE1CRURUTFNfRUNQX05PX0ZBTExCQUNLJywKKyAgICAgICAgICAgICMgTWlzc2luZyBjb3ZlcmFnZSBvZiB0ZXN0IGNvbmZpZ3VyYXRpb25zLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU4NQorICAgICAgICAgICAgJ0NvbmZpZzogIU1CRURUTFNfU1NMX0RUTFNfQU5USV9SRVBMQVknLAorICAgICAgICAgICAgIyBNaXNzaW5nIGNvdmVyYWdlIG9mIHRlc3QgY29uZmlndXJhdGlvbnMuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTg1CisgICAgICAgICAgICAnQ29uZmlnOiAhTUJFRFRMU19TU0xfRFRMU19IRUxMT19WRVJJRlknLAorICAgICAgICAgICAgIyBXZSBkb24ndCBydW4gdGVzdF9zdWl0ZV9jb25maWcgd2hlbiB3ZSB0ZXN0IHRoaXMuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTg2CisgICAgICAgICAgICAnQ29uZmlnOiAhTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEJywKKyAgICAgICAgICAgICMgV2Ugb25seSB0ZXN0IG11bHRpdGhyZWFkaW5nIHdpdGggcHRocmVhZHMuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTg0CisgICAgICAgICAgICAnQ29uZmlnOiAhTUJFRFRMU19USFJFQURJTkdfUFRIUkVBRCcsCisgICAgICAgICAgICAjIEJ1aWx0IGJ1dCBub3QgdGVzdGVkLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU4NworICAgICAgICAgICAgJ0NvbmZpZzogTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFknLAorICAgICAgICAgICAgIyBVbnRlc3RlZCBwbGF0Zm9ybS1zcGVjaWZpYyBvcHRpbWl6YXRpb25zLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU4OAorICAgICAgICAgICAgJ0NvbmZpZzogTUJFRFRMU19IQVZFX1NTRTInLAorICAgICAgICAgICAgIyBPYnNvbGV0ZSBjb25maWd1cmF0aW9uIG9wdGlvbiwgdG8gYmUgcmVwbGFjZWQgYnkKKyAgICAgICAgICAgICMgUFNBIGVudHJvcHkgZHJpdmVycy4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzgxNTAKKyAgICAgICAgICAgICdDb25maWc6IE1CRURUTFNfTk9fUExBVEZPUk1fRU5UUk9QWScsCisgICAgICAgICAgICAjIFVudGVzdGVkIGFzcGVjdCBvZiB0aGUgcGxhdGZvcm0gaW50ZXJmYWNlLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU4OQorICAgICAgICAgICAgJ0NvbmZpZzogTUJFRFRMU19QTEFURk9STV9OT19TVERfRlVOQ1RJT05TJywKKyAgICAgICAgICAgICMgSW4gYSBjbGllbnQtc2VydmVyIGJ1aWxkLCB0ZXN0X3N1aXRlX2NvbmZpZyBydW5zIGluIHRoZQorICAgICAgICAgICAgIyBjbGllbnQgY29uZmlndXJhdGlvbiwgc28gaXQgd2lsbCBuZXZlciByZXBvcnQKKyAgICAgICAgICAgICMgTUJFRFRMU19QU0FfQ1JZUFRPX1NQTSBhcyBlbmFibGVkLiBUaGF0J3Mgb2suCisgICAgICAgICAgICAnQ29uZmlnOiBNQkVEVExTX1BTQV9DUllQVE9fU1BNJywKKyAgICAgICAgICAgICMgV2UgZG9uJ3QgdGVzdCBvbiBhcm12OCB5ZXQuCisgICAgICAgICAgICAnQ29uZmlnOiBNQkVEVExTX1NIQTI1Nl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UJywKKyAgICAgICAgICAgICdDb25maWc6IE1CRURUTFNfU0hBMjU2X1VTRV9BNjRfQ1JZUFRPX09OTFknLAorICAgICAgICAgICAgJ0NvbmZpZzogTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX09OTFknLAorICAgICAgICAgICAgJ0NvbmZpZzogTUJFRFRMU19TSEE1MTJfVVNFX0E2NF9DUllQVE9fT05MWScsCisgICAgICAgICAgICAjIFdlIGRvbid0IHJ1biB0ZXN0X3N1aXRlX2NvbmZpZyB3aGVuIHdlIHRlc3QgdGhpcy4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1ODYKKyAgICAgICAgICAgICdDb25maWc6IE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX1ZBTEdSSU5EJywKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfY29uZmlnLnBzYV9ib29sZWFuJzogWworICAgICAgICAgICAgIyBXZSBkb24ndCB0ZXN0IHdpdGggSE1BQyBkaXNhYmxlZC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1OTEKKyAgICAgICAgICAgICdDb25maWc6ICFQU0FfV0FOVF9BTEdfSE1BQycsCisgICAgICAgICAgICAjIFRoZSBERVJJVkUga2V5IHR5cGUgaXMgYWx3YXlzIGVuYWJsZWQuCisgICAgICAgICAgICAnQ29uZmlnOiAhUFNBX1dBTlRfS0VZX1RZUEVfREVSSVZFJywKKyAgICAgICAgICAgICMgTW9yZSBncmFudWxhcml0eSBvZiBrZXkgcGFpciB0eXBlIGVuYWJsZW1lbnQgbWFjcm9zCisgICAgICAgICAgICAjIHRoYW4gd2UgY2FyZSB0byB0ZXN0LgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU5MAorICAgICAgICAgICAgJ0NvbmZpZzogIVBTQV9XQU5UX0tFWV9UWVBFX0RIX0tFWV9QQUlSX0VYUE9SVCcsCisgICAgICAgICAgICAnQ29uZmlnOiAhUFNBX1dBTlRfS0VZX1RZUEVfREhfS0VZX1BBSVJfR0VORVJBVEUnLAorICAgICAgICAgICAgJ0NvbmZpZzogIVBTQV9XQU5UX0tFWV9UWVBFX0RIX0tFWV9QQUlSX0lNUE9SVCcsCisgICAgICAgICAgICAjIE1vcmUgZ3JhbnVsYXJpdHkgb2Yga2V5IHBhaXIgdHlwZSBlbmFibGVtZW50IG1hY3JvcworICAgICAgICAgICAgIyB0aGFuIHdlIGNhcmUgdG8gdGVzdC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1OTAKKyAgICAgICAgICAgICdDb25maWc6ICFQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfRVhQT1JUJywKKyAgICAgICAgICAgICdDb25maWc6ICFQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUJywKKyAgICAgICAgICAgICMgV2UgZG9uJ3QgdGVzdCB3aXRoIEhNQUMgZGlzYWJsZWQuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTkxCisgICAgICAgICAgICAnQ29uZmlnOiAhUFNBX1dBTlRfS0VZX1RZUEVfSE1BQycsCisgICAgICAgICAgICAjIFRoZSBQQVNTV09SRCBrZXkgdHlwZSBpcyBhbHdheXMgZW5hYmxlZC4KKyAgICAgICAgICAgICdDb25maWc6ICFQU0FfV0FOVF9LRVlfVFlQRV9QQVNTV09SRCcsCisgICAgICAgICAgICAjIFRoZSBQQVNTV09SRF9IQVNIIGtleSB0eXBlIGlzIGFsd2F5cyBlbmFibGVkLgorICAgICAgICAgICAgJ0NvbmZpZzogIVBTQV9XQU5UX0tFWV9UWVBFX1BBU1NXT1JEX0hBU0gnLAorICAgICAgICAgICAgIyBUaGUgUkFXX0RBVEEga2V5IHR5cGUgaXMgYWx3YXlzIGVuYWJsZWQuCisgICAgICAgICAgICAnQ29uZmlnOiAhUFNBX1dBTlRfS0VZX1RZUEVfUkFXX0RBVEEnLAorICAgICAgICAgICAgIyBNb3JlIGdyYW51bGFyaXR5IG9mIGtleSBwYWlyIHR5cGUgZW5hYmxlbWVudCBtYWNyb3MKKyAgICAgICAgICAgICMgdGhhbiB3ZSBjYXJlIHRvIHRlc3QuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTkwCisgICAgICAgICAgICAnQ29uZmlnOiAhUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0VYUE9SVCcsCisgICAgICAgICAgICAnQ29uZmlnOiAhUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0lNUE9SVCcsCisgICAgICAgICAgICAjIEFsZ29yaXRobSBkZWNsYXJlZCBidXQgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAgICdDb25maWc6IFBTQV9XQU5UX0FMR19DQkNfTUFDJywKKyAgICAgICAgICAgICMgQWxnb3JpdGhtIGRlY2xhcmVkIGJ1dCBub3Qgc3VwcG9ydGVkLgorICAgICAgICAgICAgJ0NvbmZpZzogUFNBX1dBTlRfQUxHX1hUUycsCisgICAgICAgICAgICAjIEZhbWlseSBkZWNsYXJlZCBidXQgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAgICdDb25maWc6IFBTQV9XQU5UX0VDQ19TRUNQX0sxXzIyNCcsCisgICAgICAgICAgICAjIE1vcmUgZ3JhbnVsYXJpdHkgb2Yga2V5IHBhaXIgdHlwZSBlbmFibGVtZW50IG1hY3JvcworICAgICAgICAgICAgIyB0aGFuIHdlIGNhcmUgdG8gdGVzdC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1OTAKKyAgICAgICAgICAgICdDb25maWc6IFBTQV9XQU5UX0tFWV9UWVBFX0RIX0tFWV9QQUlSX0RFUklWRScsCisgICAgICAgICAgICAnQ29uZmlnOiBQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVInLAorICAgICAgICAgICAgJ0NvbmZpZzogUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSJywKKyAgICAgICAgICAgICdDb25maWc6IFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9ERVJJVkUnLAorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9jb25maWcucHNhX2NvbWJpbmF0aW9ucyc6IFsKKyAgICAgICAgICAgICMgV2UgZG9uJ3QgdGVzdCB0aGlzIHVudXN1YWwsIGJ1dCBzZW5zaWJsZSBjb25maWd1cmF0aW9uLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU5MgorICAgICAgICAgICAgJ0NvbmZpZzogUFNBX1dBTlRfQUxHX0RFVEVSTUlOU1RJQ19FQ0RTQSB3aXRob3V0IFBTQV9XQU5UX0FMR19FQ0RTQScsCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BrY3MxMic6IFsKKyAgICAgICAgICAgICMgV2UgbmV2ZXIgdGVzdCB3aXRoIENCQy9QS0NTNS9QS0NTMTIgZW5hYmxlZCBidXQKKyAgICAgICAgICAgICMgUEtDUzcgcGFkZGluZyBkaXNhYmxlZC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1ODAKKyAgICAgICAgICAgICdQQkUgRGVjcnlwdCwgKEludmFsaWQgcGFkZGluZyAmIFBLQ1M3IHBhZGRpbmcgZGlzYWJsZWQpJywKKyAgICAgICAgICAgICdQQkUgRW5jcnlwdCwgcGFkID0gOCAoUEtDUzcgcGFkZGluZyBkaXNhYmxlZCknLAorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9wa2NzNSc6IFsKKyAgICAgICAgICAgICMgV2UgbmV2ZXIgdGVzdCB3aXRoIENCQy9QS0NTNS9QS0NTMTIgZW5hYmxlZCBidXQKKyAgICAgICAgICAgICMgUEtDUzcgcGFkZGluZyBkaXNhYmxlZC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1ODAKKyAgICAgICAgICAgICdQQkVTMiBEZWNyeXB0IChJbnZhbGlkIHBhZGRpbmcgJiBQS0NTNyBwYWRkaW5nIGRpc2FibGVkKScsCisgICAgICAgICAgICAnUEJFUzIgRW5jcnlwdCwgcGFkPTYgKFBLQ1M3IHBhZGRpbmcgZGlzYWJsZWQpJywKKyAgICAgICAgICAgICdQQkVTMiBFbmNyeXB0LCBwYWQ9OCAoUEtDUzcgcGFkZGluZyBkaXNhYmxlZCknLAorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9wc2FfY3J5cHRvX2dlbmVyYXRlX2tleS5nZW5lcmF0ZWQnOiBbCisgICAgICAgICAgICAjIElnbm9yZSBtZWNoYW5pc21zIHRoYXQgYXJlIG5vdCBpbXBsZW1lbnRlZCwgZXhjZXB0CisgICAgICAgICAgICAjIGZvciBwdWJsaWMga2V5cyBmb3Igd2hpY2ggd2UgYWx3YXlzIHRlc3QgdGhhdAorICAgICAgICAgICAgIyBwc2FfZ2VuZXJhdGVfa2V5KCkgcmV0dXJucyBQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAorICAgICAgICAgICAgIyByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHNwZWNpZmljIGtleSB0eXBlIGlzIHN1cHBvcnRlZC4KKyAgICAgICAgICAgIF9oYXNfd29yZF9yZSgobWVjaAorICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgbWVjaCBpbiBfUFNBX01FQ0hBTklTTVNfTk9UX0lNUExFTUVOVEVECisgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBtZWNoLnN0YXJ0c3dpdGgoJ0VDQ19QVUInKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVkZT1yJ0VDQ19QVUInKSwKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19tZXRhZGF0YSc6IFsKKyAgICAgICAgICAgICMgQWxnb3JpdGhtcyBkZWNsYXJlZCBidXQgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1NzkKKyAgICAgICAgICAgICdBc3ltbWV0cmljIHNpZ25hdHVyZTogRWQyNTUxOXBoJywKKyAgICAgICAgICAgICdBc3ltbWV0cmljIHNpZ25hdHVyZTogRWQ0NDhwaCcsCisgICAgICAgICAgICAnQXN5bW1ldHJpYyBzaWduYXR1cmU6IHB1cmUgRWREU0EnLAorICAgICAgICAgICAgJ0NpcGhlcjogWFRTJywKKyAgICAgICAgICAgICdNQUM6IENCQ19NQUMtM0RFUycsCisgICAgICAgICAgICAnTUFDOiBDQkNfTUFDLUFFUy0xMjgnLAorICAgICAgICAgICAgJ01BQzogQ0JDX01BQy1BRVMtMTkyJywKKyAgICAgICAgICAgICdNQUM6IENCQ19NQUMtQUVTLTI1NicsCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BzYV9jcnlwdG9fbm90X3N1cHBvcnRlZC5nZW5lcmF0ZWQnOiBbCisgICAgICAgICAgICAjIEl0IGlzIGEgYnVnIHRoYXQgbm90LXN1cHBvcnRlZCB0ZXN0IGNhc2VzIGFyZW4ndCBnZXR0aW5nCisgICAgICAgICAgICAjIHJ1biBmb3IgbmV2ZXItaW1wbGVtZW50ZWQga2V5IHR5cGVzLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvNzkxNQorICAgICAgICAgICAgUFNBX01FQ0hBTklTTV9OT1RfSU1QTEVNRU5URURfU0VBUkNIX1JFLAorICAgICAgICAgICAgIyBXZSBuZXZlciB0ZXN0IHdpdGggREgga2V5IHN1cHBvcnQgZGlzYWJsZWQgYnV0IHN1cHBvcnQKKyAgICAgICAgICAgICMgZm9yIGEgREggZ3JvdXAgZW5hYmxlZC4gVGhlIGRlcGVuZGVuY2llcyBvZiB0aGVzZSB0ZXN0CisgICAgICAgICAgICAjIGNhc2VzIGRvbid0IHJlYWxseSBtYWtlIHNlbnNlLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU3NAorICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BTQSBcdysgREhfLip0eXBlIG5vdCBzdXBwb3J0ZWQnKSwKKyAgICAgICAgICAgICMgV2Ugb25seSB0ZXN0IHBhcnRpYWwgc3VwcG9ydCBmb3IgREggd2l0aCB0aGUgMjA0OC1iaXQgZ3JvdXAKKyAgICAgICAgICAgICMgZW5hYmxlZCBhbmQgdGhlIG90aGVyIGdyb3VwcyBkaXNhYmxlZC4KKyAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzk1NzUKKyAgICAgICAgICAgICdQU0EgZ2VuZXJhdGUgREhfS0VZX1BBSVIoUkZDNzkxOSkgMjA0OC1iaXQgZ3JvdXAgbm90IHN1cHBvcnRlZCcsCisgICAgICAgICAgICAnUFNBIGltcG9ydCBESF9LRVlfUEFJUihSRkM3OTE5KSAyMDQ4LWJpdCBncm91cCBub3Qgc3VwcG9ydGVkJywKKyAgICAgICAgICAgICdQU0EgaW1wb3J0IERIX1BVQkxJQ19LRVkoUkZDNzkxOSkgMjA0OC1iaXQgZ3JvdXAgbm90IHN1cHBvcnRlZCcsCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BzYV9jcnlwdG9fb3BfZmFpbC5nZW5lcmF0ZWQnOiBbCisgICAgICAgICAgICAjIElnbm9yZSBtZWNoYW5pc21zIHRoYXQgYXJlIG5vdCBpbXBsZW1lbnRlZCwgZXhjZXB0CisgICAgICAgICAgICAjIGZvciB0ZXN0IGNhc2VzIHRoYXQgYXNzdW1lIHRoZSBtZWNoYW5pc20gaXMgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAgIF9oYXNfd29yZF9yZShfUFNBX01FQ0hBTklTTVNfTk9UX0lNUExFTUVOVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGU9KHInLio6ICEoPzonICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ3wnLmpvaW4oX1BTQV9NRUNIQU5JU01TX05PVF9JTVBMRU1FTlRFRCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInKVxiJykpLAorICAgICAgICAgICAgIyBJbmNvcnJlY3QgZGVwZW5kZW5jeSBnZW5lcmF0aW9uLiBUbyBiZSBmaXhlZCBhcyBwYXJ0IG9mIHRoZQorICAgICAgICAgICAgIyByZXNvbHV0aW9uIG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85MTY3CisgICAgICAgICAgICAjIGJ5IGZvcndhcmQtcG9ydGluZyB0aGUgY29tbWl0CisgICAgICAgICAgICAjICJQU0EgdGVzdCBjYXNlIGdlbmVyYXRpb246IGRlcGVuZGVuY3kgaW5mZXJlbmNlIGNsYXNzOiBvcGVyYXRpb24gZmFpbCIKKyAgICAgICAgICAgICMgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9wdWxsLzkwMjUgLgorICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qIHdpdGggKD86REh8RUNDKV8oPzpLRVlfUEFJUnxQVUJMSUNfS0VZKVwoLionKSwKKyAgICAgICAgICAgICMgUEJLREYyX0hNQUMgaXMgbm90IGluIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24sIHNvIHdlIGRvbid0CisgICAgICAgICAgICAjIGVuYWJsZSBpdCBpbiBkZXBlbmRzLnB5IHdoZXJlIHdlIHJlbW92ZSBoYXNoZXMuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTc2CisgICAgICAgICAgICByZS5jb21waWxlKHInUFNBIGtleV9kZXJpdmF0aW9uIFBCS0RGMl9ITUFDXChcdytcKTogISg/IVBCS0RGMl9ITUFDXFopLionKSwKIAotICAgICAgICBpZiBub3QgaGl0IGFuZCBzdWl0ZV9jYXNlIG5vdCBpbiBhbGxvd19saXN0OgotICAgICAgICAgICAgaWYgZnVsbF9jb3ZlcmFnZToKLSAgICAgICAgICAgICAgICByZXN1bHRzLmVycm9yKCdUZXN0IGNhc2Ugbm90IGV4ZWN1dGVkOiB7fScsIHN1aXRlX2Nhc2UpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJlc3VsdHMud2FybmluZygnVGVzdCBjYXNlIG5vdCBleGVjdXRlZDoge30nLCBzdWl0ZV9jYXNlKQotICAgICAgICBlbGlmIGhpdCBhbmQgc3VpdGVfY2FzZSBpbiBhbGxvd19saXN0OgotICAgICAgICAgICAgIyBUZXN0IENhc2Ugc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgYWxsb3cgbGlzdC4KLSAgICAgICAgICAgIGlmIGZ1bGxfY292ZXJhZ2U6Ci0gICAgICAgICAgICAgICAgcmVzdWx0cy5lcnJvcignQWxsb3cgbGlzdGVkIHRlc3QgY2FzZSB3YXMgZXhlY3V0ZWQ6IHt9Jywgc3VpdGVfY2FzZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmVzdWx0cy53YXJuaW5nKCdBbGxvdyBsaXN0ZWQgdGVzdCBjYXNlIHdhcyBleGVjdXRlZDoge30nLCBzdWl0ZV9jYXNlKQorICAgICAgICAgICAgIyBXZSBuZXZlciB0ZXN0IHdpdGggdGhlIEhNQUMgYWxnb3JpdGhtIGVuYWJsZWQgYnV0IHRoZSBITUFDCisgICAgICAgICAgICAjIGtleSB0eXBlIGRpc2FibGVkLiBUaG9zZSBkZXBlbmRlbmNpZXMgZG9uJ3QgcmVhbGx5IG1ha2Ugc2Vuc2UuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTczCisgICAgICAgICAgICByZS5jb21waWxlKHInLiogIUhNQUMgd2l0aCBITUFDJyksCisgICAgICAgICAgICAjIFRoZXJlJ3Mgc29tZXRoaW5nIHdyb25nIHdpdGggUFNBX1dBTlRfQUxHX1JTQV9QU1NfQU5ZX1NBTFQKKyAgICAgICAgICAgICMgZGlmZmVyaW5nIGZyb20gUFNBX1dBTlRfQUxHX1JTQV9QU1MuCisgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL2lzc3Vlcy85NTc4CisgICAgICAgICAgICByZS5jb21waWxlKHInUFNBIHNpZ24gUlNBX1BTU19BTllfU0FMVC4qISg/Ok1EfFJJUEVNRHxTSEEpLionKSwKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zdG9yYWdlX2Zvcm1hdC5jdXJyZW50JzogWworICAgICAgICAgICAgUFNBX01FQ0hBTklTTV9OT1RfSU1QTEVNRU5URURfU0VBUkNIX1JFLAorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3N0b3JhZ2VfZm9ybWF0LnYwJzogWworICAgICAgICAgICAgUFNBX01FQ0hBTklTTV9OT1RfSU1QTEVNRU5URURfU0VBUkNIX1JFLAorICAgICAgICBdLAorICAgICAgICAndGxzMTMtbWlzYyc6IFsKKyAgICAgICAgICAgICMgRGlzYWJsZWQgZHVlIHRvIE9wZW5TU0wgYnVnLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL2lzc3Vlcy8xMDcxNAorICAgICAgICAgICAgJ1RMUyAxLjMgTy0+bTogcmVzdW1wdGlvbicsCisgICAgICAgICAgICAjIERpc2FibGVkIGR1ZSB0byBPcGVuU1NMIGNvbW1hbmQgbGluZSBsaW1pdGF0aW9uLgorICAgICAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU4MgorICAgICAgICAgICAgJ1RMUyAxLjMgbS0+TzogcmVzdW1wdGlvbiB3aXRoIGVhcmx5IGRhdGEnLAorICAgICAgICBdLAorICAgIH0KIAotZGVmIG5hbWVfbWF0Y2hlc19wYXR0ZXJuKG5hbWU6IHN0ciwgc3RyX29yX3JlKSAtPiBib29sOgotICAgICIiIkNoZWNrIGlmIG5hbWUgbWF0Y2hlcyBhIHBhdHRlcm4sIHRoYXQgbWF5IGJlIGEgc3RyaW5nIG9yIHJlZ2V4LgotICAgIC0gSWYgdGhlIHBhdHRlcm4gaXMgYSBzdHJpbmcsIG5hbWUgbXVzdCBiZSBlcXVhbCB0byBtYXRjaC4KLSAgICAtIElmIHRoZSBwYXR0ZXJuIGlzIGEgcmVnZXgsIG5hbWUgbXVzdCBmdWxseSBtYXRjaC4KLSAgICAiIiIKLSAgICAjIFRoZSBDSSdzIHB5dGhvbiBpcyB0b28gb2xkIGZvciByZS5QYXR0ZXJuCi0gICAgI2lmIGlzaW5zdGFuY2Uoc3RyX29yX3JlLCByZS5QYXR0ZXJuKToKLSAgICBpZiBub3QgaXNpbnN0YW5jZShzdHJfb3JfcmUsIHN0cik6Ci0gICAgICAgIHJldHVybiBzdHJfb3JfcmUuZnVsbG1hdGNoKG5hbWUpIGlzIG5vdCBOb25lCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuIHN0cl9vcl9yZSA9PSBuYW1lCiAKLWRlZiBhbmFseXplX2RyaXZlcl92c19yZWZlcmVuY2UocmVzdWx0czogUmVzdWx0cywgb3V0Y29tZXM6IE91dGNvbWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRfcmVmOiBzdHIsIGNvbXBvbmVudF9kcml2ZXI6IHN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZF9zdWl0ZXM6IHR5cGluZy5MaXN0W3N0cl0sIGlnbm9yZWRfdGVzdHM9Tm9uZSkgLT4gTm9uZToKLSAgICAiIiJDaGVjayB0aGF0IGFsbCB0ZXN0cyBwYXNzaW5nIGluIHRoZSByZWZlcmVuY2UgY29tcG9uZW50IGFyZSBhbHNvCi0gICAgcGFzc2luZyBpbiB0aGUgY29ycmVzcG9uZGluZyBkcml2ZXIgY29tcG9uZW50LgotICAgIFNraXA6Ci0gICAgLSBmdWxsIHRlc3Qgc3VpdGVzIHByb3ZpZGVkIGluIGlnbm9yZWRfc3VpdGVzIGxpc3QKLSAgICAtIG9ubHkgc29tZSBzcGVjaWZpYyB0ZXN0IGluc2lkZSBhIHRlc3Qgc3VpdGUsIGZvciB3aGljaCB0aGUgY29ycmVzcG9uZGluZwotICAgICAgb3V0cHV0IHN0cmluZyBpcyBwcm92aWRlZAotICAgICIiIgotICAgIHJlZl9vdXRjb21lcyA9IG91dGNvbWVzLmdldCgiY29tcG9uZW50XyIgKyBjb21wb25lbnRfcmVmKQotICAgIGRyaXZlcl9vdXRjb21lcyA9IG91dGNvbWVzLmdldCgiY29tcG9uZW50XyIgKyBjb21wb25lbnRfZHJpdmVyKQorIyBUaGUgbmFtZXMgdGhhdCB3ZSBnaXZlIHRvIGNsYXNzZXMgZGVyaXZlZCBmcm9tIERyaXZlclZTUmVmZXJlbmNlIGRvIG5vdAorIyBmb2xsb3cgdGhlIHVzdWFsIG5hbWluZyBjb252ZW50aW9uLCBiZWNhdXNlIGl0J3MgbW9yZSByZWFkYWJsZSB0byB1c2UKKyMgdW5kZXJzY29yZXMgYW5kIHBhcnRzIG9mIHRoZSBjb25maWd1cmF0aW9uIG5hbWVzLiBBbHNvLCB0aGVzZSBjbGFzc2VzCisjIGFyZSBqdXN0IHRoZXJlIHRvIHNwZWNpZnkgc29tZSBkYXRhLCBzbyB0aGV5IGRvbid0IG5lZWQgcmVwZXRpdGl2ZQorIyBkb2N1bWVudGF0aW9uLgorI3B5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUsbWlzc2luZy1jbGFzcy1kb2NzdHJpbmcKIAotICAgIGlmIHJlZl9vdXRjb21lcyBpcyBOb25lIG9yIGRyaXZlcl9vdXRjb21lcyBpcyBOb25lOgotICAgICAgICByZXN1bHRzLmVycm9yKCJyZXF1aXJlZCBjb21wb25lbnRzIGFyZSBtaXNzaW5nOiBiYWQgb3V0Y29tZSBmaWxlPyIpCi0gICAgICAgIHJldHVybgorY2xhc3MgRHJpdmVyVlNSZWZlcmVuY2VfaGFzaChvdXRjb21lX2FuYWx5c2lzLkRyaXZlclZTUmVmZXJlbmNlKToKKyAgICBSRUZFUkVOQ0UgPSAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfaGFzaF91c2VfcHNhJworICAgIERSSVZFUiA9ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2hhc2hfdXNlX3BzYScKKyAgICBJR05PUkVEX1NVSVRFUyA9IFsKKyAgICAgICAgJ3NoYXgnLCAnbWR4JywgIyB0aGUgc29mdHdhcmUgaW1wbGVtZW50YXRpb25zIHRoYXQgYXJlIGJlaW5nIGV4Y2x1ZGVkCisgICAgICAgICdtZC5wc2EnLCAgIyBwdXJwb3NlZnVsbHkgZGVwZW5kcyBvbiB3aGV0aGVyIGRyaXZlcnMgYXJlIHByZXNlbnQKKyAgICAgICAgJ3BzYV9jcnlwdG9fbG93X2hhc2guZ2VuZXJhdGVkJywgIyB0ZXN0aW5nIHRoZSBidWlsdGlucworICAgIF0KKyAgICBJR05PUkVEX1RFU1RTID0geworICAgICAgICAndGVzdF9zdWl0ZV9jb25maWcnOiBbCisgICAgICAgICAgICByZS5jb21waWxlKHInLipcYk1CRURUTFNfKE1ENXxSSVBFTUQxNjB8U0hBWzAtOV0rKV8uKicpLAorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9wbGF0Zm9ybSc6IFsKKyAgICAgICAgICAgICMgSW5jb21wYXRpYmxlIHdpdGggc2FuaXRpemVycyAoZS5nLiBBU2FuKS4gSWYgdGhlIGRyaXZlcgorICAgICAgICAgICAgIyBjb21wb25lbnQgdXNlcyBhIHNhbml0aXplciBidXQgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQKKyAgICAgICAgICAgICMgZG9lc24ndCwgd2UgaGF2ZSBhIFBBU1MgdnMgU0tJUCBtaXNtYXRjaC4KKyAgICAgICAgICAgICdDaGVjayBtYmVkdGxzX2NhbGxvYyBvdmVyYWxsb2NhdGlvbicsCisgICAgICAgIF0sCisgICAgfQogCi0gICAgaWYgbm90IHJlZl9vdXRjb21lcy5zdWNjZXNzZXM6Ci0gICAgICAgIHJlc3VsdHMuZXJyb3IoIm5vIHBhc3NpbmcgdGVzdCBpbiByZWZlcmVuY2UgY29tcG9uZW50OiBiYWQgb3V0Y29tZSBmaWxlPyIpCi0gICAgICAgIHJldHVybgorY2xhc3MgRHJpdmVyVlNSZWZlcmVuY2VfaG1hYyhvdXRjb21lX2FuYWx5c2lzLkRyaXZlclZTUmVmZXJlbmNlKToKKyAgICBSRUZFUkVOQ0UgPSAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfaG1hYycKKyAgICBEUklWRVIgPSAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9obWFjJworICAgIElHTk9SRURfU1VJVEVTID0gWworICAgICAgICAjIFRoZXNlIHN1aXRlcyByZXF1aXJlIGxlZ2FjeSBoYXNoIHN1cHBvcnQsIHdoaWNoIGlzIGRpc2FibGVkCisgICAgICAgICMgaW4gdGhlIGFjY2VsZXJhdGVkIGNvbXBvbmVudC4KKyAgICAgICAgJ3NoYXgnLCAnbWR4JywKKyAgICAgICAgIyBUaGlzIHN1aXRlIHRlc3RzIGJ1aWx0aW5zIGRpcmVjdGx5LCBidXQgdGhlc2UgYXJlIG1pc3NpbmcKKyAgICAgICAgIyBpbiB0aGUgYWNjZWxlcmF0ZWQgY2FzZS4KKyAgICAgICAgJ3BzYV9jcnlwdG9fbG93X2hhc2guZ2VuZXJhdGVkJywKKyAgICBdCisgICAgSUdOT1JFRF9URVNUUyA9IHsKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfY29uZmlnJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTXyhNRDV8UklQRU1EMTYwfFNIQVswLTldKylfLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU19NRF9DXGInKQorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9tZCc6IFsKKyAgICAgICAgICAgICMgQnVpbHRpbiBITUFDIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIGFjY2VsZXJhdGUgY29tcG9uZW50LgorICAgICAgICAgICAgcmUuY29tcGlsZSgnLipITUFDLionKSwKKyAgICAgICAgICAgICMgRm9sbG93aW5nIHRlc3RzIG1ha2UgdXNlIG9mIGZ1bmN0aW9ucyB3aGljaCBhcmUgbm90IGF2YWlsYWJsZQorICAgICAgICAgICAgIyB3aGVuIE1EX0MgaXMgZGlzYWJsZWQsIGFzIGl0IGhhcHBlbnMgaW4gdGhlIGFjY2VsZXJhdGVkCisgICAgICAgICAgICAjIHRlc3QgY29tcG9uZW50LgorICAgICAgICAgICAgcmUuY29tcGlsZSgnZ2VuZXJpYyAuKiBIYXNoIGZpbGUgLionKSwKKyAgICAgICAgICAgICdNRCBsaXN0JywKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfbWQucHNhJzogWworICAgICAgICAgICAgIyAibGVnYWN5IG9ubHkiIHRlc3RzIHJlcXVpcmUgaGFzaCBhbGdvcml0aG1zIHRvIGJlIE5PVAorICAgICAgICAgICAgIyBhY2NlbGVyYXRlZCwgYnV0IHRoaXMgb2YgY291cnNlIGZhbHNlIGZvciB0aGUgYWNjZWxlcmF0ZWQKKyAgICAgICAgICAgICMgdGVzdCBjb21wb25lbnQuCisgICAgICAgICAgICByZS5jb21waWxlKCdQU0EgZGlzcGF0Y2ggLiogbGVnYWN5IG9ubHknKSwKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcGxhdGZvcm0nOiBbCisgICAgICAgICAgICAjIEluY29tcGF0aWJsZSB3aXRoIHNhbml0aXplcnMgKGUuZy4gQVNhbikuIElmIHRoZSBkcml2ZXIKKyAgICAgICAgICAgICMgY29tcG9uZW50IHVzZXMgYSBzYW5pdGl6ZXIgYnV0IHRoZSByZWZlcmVuY2UgY29tcG9uZW50CisgICAgICAgICAgICAjIGRvZXNuJ3QsIHdlIGhhdmUgYSBQQVNTIHZzIFNLSVAgbWlzbWF0Y2guCisgICAgICAgICAgICAnQ2hlY2sgbWJlZHRsc19jYWxsb2Mgb3ZlcmFsbG9jYXRpb24nLAorICAgICAgICBdLAorICAgIH0KIAotICAgIGZvciBzdWl0ZV9jYXNlIGluIHJlZl9vdXRjb21lcy5zdWNjZXNzZXM6Ci0gICAgICAgICMgc3VpdGVfY2FzZSBpcyBsaWtlICJ0ZXN0X3N1aXRlX2Zvby5iYXI7RGVzY3JpcHRpb24gb2YgdGVzdCBjYXNlIgotICAgICAgICAoZnVsbF90ZXN0X3N1aXRlLCB0ZXN0X3N0cmluZykgPSBzdWl0ZV9jYXNlLnNwbGl0KCc7JykKLSAgICAgICAgdGVzdF9zdWl0ZSA9IGZ1bGxfdGVzdF9zdWl0ZS5zcGxpdCgnLicpWzBdICMgcmV0cmlldmUgbWFpbiBwYXJ0IG9mIHRlc3Qgc3VpdGUgbmFtZQorY2xhc3MgRHJpdmVyVlNSZWZlcmVuY2VfY2lwaGVyX2FlYWRfY21hYyhvdXRjb21lX2FuYWx5c2lzLkRyaXZlclZTUmVmZXJlbmNlKToKKyAgICBSRUZFUkVOQ0UgPSAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfY2lwaGVyX2FlYWRfY21hYycKKyAgICBEUklWRVIgPSAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9jaXBoZXJfYWVhZF9jbWFjJworICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzLgorICAgIElHTk9SRURfU1VJVEVTID0gWworICAgICAgICAjIGxvdy1sZXZlbCAoYmxvY2svc3RyZWFtKSBjaXBoZXIgbW9kdWxlcworICAgICAgICAnYWVzJywgJ2FyaWEnLCAnY2FtZWxsaWEnLCAnZGVzJywgJ2NoYWNoYTIwJywKKyAgICAgICAgIyBBRUFEIG1vZGVzIGFuZCBDTUFDCisgICAgICAgICdjY20nLCAnY2hhY2hhcG9seScsICdjbWFjJywgJ2djbScsCisgICAgICAgICMgVGhlIENpcGhlciBhYnN0cmFjdGlvbiBsYXllcgorICAgICAgICAnY2lwaGVyJywKKyAgICBdCisgICAgSUdOT1JFRF9URVNUUyA9IHsKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfY29uZmlnJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTXyhBRVN8QVJJQXxDQU1FTExJQXxDSEFDSEEyMHxERVMpXy4qJyksCisgICAgICAgICAgICByZS5jb21waWxlKHInLipcYk1CRURUTFNfKENDTXxDSEFDSEFQT0xZfENNQUN8R0NNKV8uKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTX0FFUyhcdyspX0NcYi4qJyksCisgICAgICAgICAgICByZS5jb21waWxlKHInLipcYk1CRURUTFNfQ0lQSEVSXy4qJyksCisgICAgICAgIF0sCisgICAgICAgICMgUEVNIGRlY3J5cHRpb24gaXMgbm90IHN1cHBvcnRlZCBzbyBmYXIuCisgICAgICAgICMgVGhlIHJlc3Qgb2YgUEVNICh3cml0ZSwgdW5lbmNyeXB0ZWQgcmVhZCkgd29ya3MgdGhvdWdoLgorICAgICAgICAndGVzdF9zdWl0ZV9wZW0nOiBbCisgICAgICAgICAgICByZS5jb21waWxlKHInUEVNIHJlYWQgLiooQUVTfERFU3xcYmVuY3J5cHQpLionKSwKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcGxhdGZvcm0nOiBbCisgICAgICAgICAgICAjIEluY29tcGF0aWJsZSB3aXRoIHNhbml0aXplcnMgKGUuZy4gQVNhbikuIElmIHRoZSBkcml2ZXIKKyAgICAgICAgICAgICMgY29tcG9uZW50IHVzZXMgYSBzYW5pdGl6ZXIgYnV0IHRoZSByZWZlcmVuY2UgY29tcG9uZW50CisgICAgICAgICAgICAjIGRvZXNuJ3QsIHdlIGhhdmUgYSBQQVNTIHZzIFNLSVAgbWlzbWF0Y2guCisgICAgICAgICAgICAnQ2hlY2sgbWJlZHRsc19jYWxsb2Mgb3ZlcmFsbG9jYXRpb24nLAorICAgICAgICBdLAorICAgICAgICAjIEZvbGxvd2luZyB0ZXN0cyBkZXBlbmQgb24gQUVTX0MvREVTX0MgYnV0IGFyZSBub3QgYWJvdXQKKyAgICAgICAgIyB0aGVtIHJlYWxseSwganVzdCBuZWVkIHRvIGtub3cgc29tZSBlcnJvciBjb2RlIGlzIHRoZXJlLgorICAgICAgICAndGVzdF9zdWl0ZV9lcnJvcic6IFsKKyAgICAgICAgICAgICdMb3cgYW5kIGhpZ2ggZXJyb3InLAorICAgICAgICAgICAgJ1NpbmdsZSBsb3cgZXJyb3InCisgICAgICAgIF0sCisgICAgICAgICMgU2ltaWxhciB0byB0ZXN0X3N1aXRlX2Vycm9yIGFib3ZlLgorICAgICAgICAndGVzdF9zdWl0ZV92ZXJzaW9uJzogWworICAgICAgICAgICAgJ0NoZWNrIGZvciBNQkVEVExTX0FFU19DIHdoZW4gYWxyZWFkeSBwcmVzZW50JywKKyAgICAgICAgXSwKKyAgICAgICAgIyBUaGUgZW4vZGVjcnlwdGlvbiBwYXJ0IG9mIFBLQ1MjMTIgaXMgbm90IHN1cHBvcnRlZCBzbyBmYXIuCisgICAgICAgICMgVGhlIHJlc3Qgb2YgUEtDUyMxMiAoa2V5IGRlcml2YXRpb24pIHdvcmtzIHRob3VnaC4KKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcGtjczEyJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BCRSBFbmNyeXB0LCAuKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BCRSBEZWNyeXB0LCAuKicpLAorICAgICAgICBdLAorICAgICAgICAjIFRoZSBlbi9kZWNyeXB0aW9uIHBhcnQgb2YgUEtDUyM1IGlzIG5vdCBzdXBwb3J0ZWQgc28gZmFyLgorICAgICAgICAjIFRoZSByZXN0IG9mIFBLQ1MjNSAoUEJLREYyKSB3b3JrcyB0aG91Z2guCisgICAgICAgICd0ZXN0X3N1aXRlX3BrY3M1JzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BCRVMyIEVuY3J5cHQsIC4qJyksCisgICAgICAgICAgICByZS5jb21waWxlKHInUEJFUzIgRGVjcnlwdCAuKicpLAorICAgICAgICBdLAorICAgICAgICAjIEVuY3J5cHRlZCBrZXlzIGFyZSBub3Qgc3VwcG9ydGVkIHNvIGZhci4KKyAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZworICAgICAgICAndGVzdF9zdWl0ZV9wa3BhcnNlJzogWworICAgICAgICAgICAgJ0tleSBBU04xIChFbmNyeXB0ZWQga2V5IFBLQ1MxMiwgdHJhaWxpbmcgZ2FyYmFnZSBkYXRhKScsCisgICAgICAgICAgICAnS2V5IEFTTjEgKEVuY3J5cHRlZCBrZXkgUEtDUzUsIHRyYWlsaW5nIGdhcmJhZ2UgZGF0YSknLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BhcnNlIChSU0F8RUMpIEtleSAuKlwoLiogKFtFZV1uY3J5cHRlZHxwYXNzd29yZCkuKlwpJyksCisgICAgICAgIF0sCisgICAgICAgICMgRW5jcnlwdGVkIGtleXMgYXJlIG5vdCBzdXBwb3J0ZWQgc28gZmFyLgorICAgICAgICAnc3NsLW9wdCc6IFsKKyAgICAgICAgICAgICdUTFM6IHBhc3N3b3JkIHByb3RlY3RlZCBzZXJ2ZXIga2V5JywKKyAgICAgICAgICAgICdUTFM6IHBhc3N3b3JkIHByb3RlY3RlZCBjbGllbnQga2V5JywKKyAgICAgICAgICAgICdUTFM6IHBhc3N3b3JkIHByb3RlY3RlZCBzZXJ2ZXIga2V5LCB0d28gY2VydGlmaWNhdGVzJywKKyAgICAgICAgXSwKKyAgICB9CiAKLSAgICAgICAgIyBJbW1lZGlhdGVseSBza2lwIGZ1bGx5LWlnbm9yZWQgdGVzdCBzdWl0ZXMKLSAgICAgICAgaWYgdGVzdF9zdWl0ZSBpbiBpZ25vcmVkX3N1aXRlcyBvciBmdWxsX3Rlc3Rfc3VpdGUgaW4gaWdub3JlZF9zdWl0ZXM6Ci0gICAgICAgICAgICBjb250aW51ZQorY2xhc3MgRHJpdmVyVlNSZWZlcmVuY2VfZWNwX2xpZ2h0X29ubHkob3V0Y29tZV9hbmFseXNpcy5Ecml2ZXJWU1JlZmVyZW5jZSk6CisgICAgUkVGRVJFTkNFID0gJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19lY3BfbGlnaHRfb25seScKKyAgICBEUklWRVIgPSAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZWNwX2xpZ2h0X29ubHknCisgICAgSUdOT1JFRF9TVUlURVMgPSBbCisgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzCisgICAgICAgICdlY2RzYScsICdlY2RoJywgJ2VjanBha2UnLAorICAgIF0KKyAgICBJR05PUkVEX1RFU1RTID0geworICAgICAgICAndGVzdF9zdWl0ZV9jb25maWcnOiBbCisgICAgICAgICAgICByZS5jb21waWxlKHInLipcYk1CRURUTFNfKEVDREh8RUNEU0F8RUNKUEFLRXxFQ1ApXy4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWworICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAorICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgorICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKKyAgICAgICAgXSwKKyAgICAgICAgIyBUaGlzIHRlc3Qgd2FudHMgYSBsZWdhY3kgZnVuY3Rpb24gdGhhdCB0YWtlcyBmX3JuZywgcF9ybmcKKyAgICAgICAgIyBhcmd1bWVudHMsIGFuZCB1c2VzIGxlZ2FjeSBFQ0RTQSBmb3IgdGhhdC4gVGhlIHRlc3QgaXMKKyAgICAgICAgIyByZWFsbHkgYWJvdXQgdGhlIHdyYXBwZXIgYXJvdW5kIHRoZSBQU0EgUk5HLCBub3QgRUNEU0EuCisgICAgICAgICd0ZXN0X3N1aXRlX3JhbmRvbSc6IFsKKyAgICAgICAgICAgICdQU0EgY2xhc3NpYyB3cmFwcGVyOiBFQ0RTQSBzaWduYXR1cmUgKFNFQ1AyNTZSMSknLAorICAgICAgICBdLAorICAgICAgICAjIEluIHRoZSBhY2NlbGVyYXRlZCB0ZXN0IEVDUF9DIGlzIG5vdCBzZXQgKG9ubHkgRUNQX0xJR0hUIGlzKQorICAgICAgICAjIHNvIHdlIG11c3QgaWdub3JlIGRpc3Bhcml0aWVzIGluIHRoZSB0ZXN0cyBmb3Igd2hpY2ggRUNQX0MKKyAgICAgICAgIyBpcyByZXF1aXJlZC4KKyAgICAgICAgJ3Rlc3Rfc3VpdGVfZWNwJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJ0VDUCBjaGVjayBwdWJsaWMtcHJpdmF0ZSAuKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJ0VDUCBjYWxjdWxhdGUgcHVibGljOiAuKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJ0VDUCBnZW4ga2V5cGFpciAuKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJ0VDUCBwb2ludCBtdWxhZGQgLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidFQ1AgcG9pbnQgbXVsdGlwbGljYXRpb24gLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidFQ1AgdGVzdCB2ZWN0b3JzIC4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3NzbCc6IFsKKyAgICAgICAgICAgICMgVGhpcyBkZXByZWNhdGVkIGZ1bmN0aW9uIGlzIG9ubHkgcHJlc2VudCB3aGVuIEVDUF9DIGlzIE9uLgorICAgICAgICAgICAgJ1Rlc3QgY29uZmlndXJhdGlvbiBvZiBncm91cHMgZm9yIERIRSB0aHJvdWdoIG1iZWR0bHNfc3NsX2NvbmZfY3VydmVzKCknLAorICAgICAgICBdLAorICAgIH0KIAotICAgICAgICAjIEZvciBpZ25vcmVkIHRlc3QgY2FzZXMgaW5zaWRlIHRlc3Qgc3VpdGVzLCBqdXN0IHJlbWVtYmVyIGFuZDoKLSAgICAgICAgIyBkb24ndCBpc3N1ZSBhbiBlcnJvciBpZiB0aGV5J3JlIHNraXBwZWQgd2l0aCBkcml2ZXJzLAotICAgICAgICAjIGJ1dCBpc3N1ZSBhbiBlcnJvciBpZiB0aGV5J3JlIG5vdCAobWVhbnMgd2UgaGF2ZSBhIGJhZCBlbnRyeSkuCi0gICAgICAgIGlnbm9yZWQgPSBGYWxzZQotICAgICAgICBpZiBmdWxsX3Rlc3Rfc3VpdGUgaW4gaWdub3JlZF90ZXN0czoKLSAgICAgICAgICAgIGZvciBzdHJfb3JfcmUgaW4gaWdub3JlZF90ZXN0c1tmdWxsX3Rlc3Rfc3VpdGVdOgotICAgICAgICAgICAgICAgIGlmIG5hbWVfbWF0Y2hlc19wYXR0ZXJuKHRlc3Rfc3RyaW5nLCBzdHJfb3JfcmUpOgotICAgICAgICAgICAgICAgICAgICBpZ25vcmVkID0gVHJ1ZQorY2xhc3MgRHJpdmVyVlNSZWZlcmVuY2Vfbm9fZWNwX2F0X2FsbChvdXRjb21lX2FuYWx5c2lzLkRyaXZlclZTUmVmZXJlbmNlKToKKyAgICBSRUZFUkVOQ0UgPSAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX25vX2VjcF9hdF9hbGwnCisgICAgRFJJVkVSID0gJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX25vX2VjcF9hdF9hbGwnCisgICAgSUdOT1JFRF9TVUlURVMgPSBbCisgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzCisgICAgICAgICdlY3AnLCAnZWNkc2EnLCAnZWNkaCcsICdlY2pwYWtlJywKKyAgICBdCisgICAgSUdOT1JFRF9URVNUUyA9IHsKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfY29uZmlnJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTXyhFQ0RIfEVDRFNBfEVDSlBBS0V8RUNQKV8uKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRURcYi4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWworICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAorICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgorICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKKyAgICAgICAgXSwKKyAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcmFuZG9tJzogWworICAgICAgICAgICAgJ1BTQSBjbGFzc2ljIHdyYXBwZXI6IEVDRFNBIHNpZ25hdHVyZSAoU0VDUDI1NlIxKScsCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BrcGFyc2UnOiBbCisgICAgICAgICAgICAjIFdoZW4gUEtfUEFSU0VfQyBhbmQgRUNQX0MgYXJlIGRlZmluZWQgdGhlbiBQS19QQVJTRV9FQ19DT01QUkVTU0VECisgICAgICAgICAgICAjIGlzIGF1dG9tYXRpY2FsbHkgZW5hYmxlZCBpbiBidWlsZF9pbmZvLmggKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpCisgICAgICAgICAgICAjIGV2ZW4gaWYgaXQgaXMgZGlzYWJsZWQgaW4gY29uZmlnX3BzYV9jcnlwdG9fbm9fZWNwX2F0X2FsbCgpLiBBcyBhCisgICAgICAgICAgICAjIGNvbnNlcXVlbmNlIGNvbXByZXNzZWQgcG9pbnRzIGFyZSBzdXBwb3J0ZWQgaW4gdGhlIHJlZmVyZW5jZQorICAgICAgICAgICAgIyBjb21wb25lbnQgYnV0IG5vdCBpbiB0aGUgYWNjZWxlcmF0ZWQgb25lLCBzbyB0aGV5IHNob3VsZCBiZSBza2lwcGVkCisgICAgICAgICAgICAjIHdoaWxlIGNoZWNraW5nIGRyaXZlcidzIGNvdmVyYWdlLgorICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BhcnNlIEVDIEtleSAuKmNvbXByZXNzZWRcKScpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BhcnNlIFB1YmxpYyBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKKyAgICAgICAgXSwKKyAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfc3NsJzogWworICAgICAgICAgICAgJ1Rlc3QgY29uZmlndXJhdGlvbiBvZiBncm91cHMgZm9yIERIRSB0aHJvdWdoIG1iZWR0bHNfc3NsX2NvbmZfY3VydmVzKCknLAorICAgICAgICBdLAorICAgIH0KIAotICAgICAgICBpZiBub3QgaWdub3JlZCBhbmQgbm90IHN1aXRlX2Nhc2UgaW4gZHJpdmVyX291dGNvbWVzLnN1Y2Nlc3NlczoKLSAgICAgICAgICAgIHJlc3VsdHMuZXJyb3IoIlBBU1MgLT4gU0tJUC9GQUlMOiB7fSIsIHN1aXRlX2Nhc2UpCi0gICAgICAgIGlmIGlnbm9yZWQgYW5kIHN1aXRlX2Nhc2UgaW4gZHJpdmVyX291dGNvbWVzLnN1Y2Nlc3NlczoKLSAgICAgICAgICAgIHJlc3VsdHMuZXJyb3IoInVzZWxlc3NseSBpZ25vcmVkOiB7fSIsIHN1aXRlX2Nhc2UpCitjbGFzcyBEcml2ZXJWU1JlZmVyZW5jZV9lY2Nfbm9fYmlnbnVtKG91dGNvbWVfYW5hbHlzaXMuRHJpdmVyVlNSZWZlcmVuY2UpOgorICAgIFJFRkVSRU5DRSA9ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2Nfbm9fYmlnbnVtJworICAgIERSSVZFUiA9ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19ub19iaWdudW0nCisgICAgSUdOT1JFRF9TVUlURVMgPSBbCisgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzCisgICAgICAgICdlY3AnLCAnZWNkc2EnLCAnZWNkaCcsICdlY2pwYWtlJywKKyAgICAgICAgJ2JpZ251bV9jb3JlJywgJ2JpZ251bV9yYW5kb20nLCAnYmlnbnVtX21vZCcsICdiaWdudW1fbW9kX3JhdycsCisgICAgICAgICdiaWdudW0uZ2VuZXJhdGVkJywgJ2JpZ251bS5taXNjJywKKyAgICBdCisgICAgSUdOT1JFRF9URVNUUyA9IHsKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfY29uZmlnJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTX0JJR05VTV9DXGIuKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTXyhFQ0RIfEVDRFNBfEVDSlBBS0V8RUNQKV8uKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRURcYi4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWworICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAorICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgorICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKKyAgICAgICAgXSwKKyAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcmFuZG9tJzogWworICAgICAgICAgICAgJ1BTQSBjbGFzc2ljIHdyYXBwZXI6IEVDRFNBIHNpZ25hdHVyZSAoU0VDUDI1NlIxKScsCisgICAgICAgIF0sCisgICAgICAgICMgU2VlIG5vX2VjcF9hdF9hbGwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcGtwYXJzZSc6IFsKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidQYXJzZSBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidQYXJzZSBQdWJsaWMgRUMgS2V5IC4qY29tcHJlc3NlZFwpJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX2FzbjFwYXJzZSc6IFsKKyAgICAgICAgICAgICdJTlRFR0VSIHRvbyBsYXJnZSBmb3IgbXBpJywKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfYXNuMXdyaXRlJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJ0FTTi4xIFdyaXRlIG1waS4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX2RlYnVnJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJ0RlYnVnIHByaW50IG1iZWR0bHNfbXBpLionKSwKKyAgICAgICAgXSwKKyAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfc3NsJzogWworICAgICAgICAgICAgJ1Rlc3QgY29uZmlndXJhdGlvbiBvZiBncm91cHMgZm9yIERIRSB0aHJvdWdoIG1iZWR0bHNfc3NsX2NvbmZfY3VydmVzKCknLAorICAgICAgICBdLAorICAgIH0KIAotZGVmIGFuYWx5emVfb3V0Y29tZXMocmVzdWx0czogUmVzdWx0cywgb3V0Y29tZXM6IE91dGNvbWVzLCBhcmdzKSAtPiBOb25lOgotICAgICIiIlJ1biBhbGwgYW5hbHlzZXMgb24gdGhlIGdpdmVuIG91dGNvbWUgY29sbGVjdGlvbi4iIiIKLSAgICBhbmFseXplX2NvdmVyYWdlKHJlc3VsdHMsIG91dGNvbWVzLCBhcmdzWydhbGxvd19saXN0J10sCi0gICAgICAgICAgICAgICAgICAgICBhcmdzWydmdWxsX2NvdmVyYWdlJ10pCitjbGFzcyBEcml2ZXJWU1JlZmVyZW5jZV9lY2NfZmZkaF9ub19iaWdudW0ob3V0Y29tZV9hbmFseXNpcy5Ecml2ZXJWU1JlZmVyZW5jZSk6CisgICAgUkVGRVJFTkNFID0gJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bScKKyAgICBEUklWRVIgPSAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0nCisgICAgSUdOT1JFRF9TVUlURVMgPSBbCisgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzCisgICAgICAgICdlY3AnLCAnZWNkc2EnLCAnZWNkaCcsICdlY2pwYWtlJywgJ2RobScsCisgICAgICAgICdiaWdudW1fY29yZScsICdiaWdudW1fcmFuZG9tJywgJ2JpZ251bV9tb2QnLCAnYmlnbnVtX21vZF9yYXcnLAorICAgICAgICAnYmlnbnVtLmdlbmVyYXRlZCcsICdiaWdudW0ubWlzYycsCisgICAgXQorICAgIElHTk9SRURfVEVTVFMgPSB7CisgICAgICAgICdzc2wtb3B0JzogWworICAgICAgICAgICAgIyBESEUgc3VwcG9ydCBpbiBUTFMgMS4yIHJlcXVpcmVzIGJ1aWx0LWluIE1CRURUTFNfREhNX0MKKyAgICAgICAgICAgICMgKGJlY2F1c2UgaXQgbmVlZHMgY3VzdG9tIGdyb3Vwcywgd2hpY2ggUFNBIGRvZXMgbm90CisgICAgICAgICAgICAjIHByb3ZpZGUpLCBldmVuIHdpdGggTUJFRFRMU19VU0VfUFNBX0NSWVBUTy4KKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidQU0sgY2FsbGJhY2s6LipcYmRoZS1wc2tcYi4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX2NvbmZpZyc6IFsKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU19CSUdOVU1fQ1xiLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU19ESE1fQ1xiLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU18oRUNESHxFQ0RTQXxFQ0pQQUtFfEVDUClfLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1BTS19FTkFCTEVEXGIuKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRURcYi4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWworICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAorICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgorICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKKyAgICAgICAgXSwKKyAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcmFuZG9tJzogWworICAgICAgICAgICAgJ1BTQSBjbGFzc2ljIHdyYXBwZXI6IEVDRFNBIHNpZ25hdHVyZSAoU0VDUDI1NlIxKScsCisgICAgICAgIF0sCisgICAgICAgICMgU2VlIG5vX2VjcF9hdF9hbGwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcGtwYXJzZSc6IFsKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidQYXJzZSBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidQYXJzZSBQdWJsaWMgRUMgS2V5IC4qY29tcHJlc3NlZFwpJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX2FzbjFwYXJzZSc6IFsKKyAgICAgICAgICAgICdJTlRFR0VSIHRvbyBsYXJnZSBmb3IgbXBpJywKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfYXNuMXdyaXRlJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJ0FTTi4xIFdyaXRlIG1waS4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX2RlYnVnJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJ0RlYnVnIHByaW50IG1iZWR0bHNfbXBpLionKSwKKyAgICAgICAgXSwKKyAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfc3NsJzogWworICAgICAgICAgICAgJ1Rlc3QgY29uZmlndXJhdGlvbiBvZiBncm91cHMgZm9yIERIRSB0aHJvdWdoIG1iZWR0bHNfc3NsX2NvbmZfY3VydmVzKCknLAorICAgICAgICBdLAorICAgIH0KIAotZGVmIHJlYWRfb3V0Y29tZV9maWxlKG91dGNvbWVfZmlsZTogc3RyKSAtPiBPdXRjb21lczoKLSAgICAiIiJQYXJzZSBhbiBvdXRjb21lIGZpbGUgYW5kIHJldHVybiBhbiBvdXRjb21lIGNvbGxlY3Rpb24uCi0gICAgIiIiCi0gICAgb3V0Y29tZXMgPSB7fQotICAgIHdpdGggb3BlbihvdXRjb21lX2ZpbGUsICdyJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgaW5wdXRfZmlsZToKLSAgICAgICAgZm9yIGxpbmUgaW4gaW5wdXRfZmlsZToKLSAgICAgICAgICAgIChfcGxhdGZvcm0sIGNvbXBvbmVudCwgc3VpdGUsIGNhc2UsIHJlc3VsdCwgX2NhdXNlKSA9IGxpbmUuc3BsaXQoJzsnKQotICAgICAgICAgICAgIyBOb3RlIHRoYXQgYGNvbXBvbmVudGAgaXMgbm90IHVuaXF1ZS4gSWYgYSB0ZXN0IGNhc2UgcGFzc2VzIG9uIExpbnV4Ci0gICAgICAgICAgICAjIGFuZCBmYWlscyBvbiBGcmVlQlNELCBpdCdsbCBlbmQgdXAgaW4gYm90aCB0aGUgc3VjY2Vzc2VzIHNldCBhbmQKLSAgICAgICAgICAgICMgdGhlIGZhaWx1cmVzIHNldC4KLSAgICAgICAgICAgIHN1aXRlX2Nhc2UgPSAnOycuam9pbihbc3VpdGUsIGNhc2VdKQotICAgICAgICAgICAgaWYgY29tcG9uZW50IG5vdCBpbiBvdXRjb21lczoKLSAgICAgICAgICAgICAgICBvdXRjb21lc1tjb21wb25lbnRdID0gQ29tcG9uZW50T3V0Y29tZXMoc2V0KCksIHNldCgpKQotICAgICAgICAgICAgaWYgcmVzdWx0ID09ICdQQVNTJzoKLSAgICAgICAgICAgICAgICBvdXRjb21lc1tjb21wb25lbnRdLnN1Y2Nlc3Nlcy5hZGQoc3VpdGVfY2FzZSkKLSAgICAgICAgICAgIGVsaWYgcmVzdWx0ID09ICdGQUlMJzoKLSAgICAgICAgICAgICAgICBvdXRjb21lc1tjb21wb25lbnRdLmZhaWx1cmVzLmFkZChzdWl0ZV9jYXNlKQorY2xhc3MgRHJpdmVyVlNSZWZlcmVuY2VfZmZkaF9hbGcob3V0Y29tZV9hbmFseXNpcy5Ecml2ZXJWU1JlZmVyZW5jZSk6CisgICAgUkVGRVJFTkNFID0gJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2ZmZGgnCisgICAgRFJJVkVSID0gJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZmZkaCcKKyAgICBJR05PUkVEX1NVSVRFUyA9IFsnZGhtJ10KKyAgICBJR05PUkVEX1RFU1RTID0geworICAgICAgICAndGVzdF9zdWl0ZV9jb25maWcnOiBbCisgICAgICAgICAgICByZS5jb21waWxlKHInLipcYk1CRURUTFNfREhNX0NcYi4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWworICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAorICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgorICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKKyAgICAgICAgXSwKKyAgICB9CiAKLSAgICByZXR1cm4gb3V0Y29tZXMKK2NsYXNzIERyaXZlclZTUmVmZXJlbmNlX3RmbV9jb25maWcob3V0Y29tZV9hbmFseXNpcy5Ecml2ZXJWU1JlZmVyZW5jZSk6CisgICAgUkVGRVJFTkNFID0gJ3Rlc3RfdGZtX2NvbmZpZ19ub19wMjU2bScKKyAgICBEUklWRVIgPSAndGVzdF90Zm1fY29uZmlnX3AyNTZtX2RyaXZlcl9hY2NlbF9lYycKKyAgICBJR05PUkVEX1NVSVRFUyA9IFsKKyAgICAgICAgIyBNb2R1bGVzIHJlcGxhY2VkIGJ5IGRyaXZlcnMKKyAgICAgICAgJ2FzbjFwYXJzZScsICdhc24xd3JpdGUnLAorICAgICAgICAnZWNwJywgJ2VjZHNhJywgJ2VjZGgnLCAnZWNqcGFrZScsCisgICAgICAgICdiaWdudW1fY29yZScsICdiaWdudW1fcmFuZG9tJywgJ2JpZ251bV9tb2QnLCAnYmlnbnVtX21vZF9yYXcnLAorICAgICAgICAnYmlnbnVtLmdlbmVyYXRlZCcsICdiaWdudW0ubWlzYycsCisgICAgXQorICAgIElHTk9SRURfVEVTVFMgPSB7CisgICAgICAgICd0ZXN0X3N1aXRlX2NvbmZpZyc6IFsKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU19CSUdOVU1fQ1xiLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU18oQVNOMVx3KylfQ1xiLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU18oRUNESHxFQ0RTQXxFQ1ApXy4qJyksCisgICAgICAgICAgICByZS5jb21waWxlKHInLipcYk1CRURUTFNfUFNBX1AyNTZNX0RSSVZFUl9FTkFCTEVEXGIuKicpCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX2NvbmZpZy5jcnlwdG9fY29tYmluYXRpb25zJzogWworICAgICAgICAgICAgJ0NvbmZpZzogRUNDOiBXZWllcnN0cmFzcyBjdXJ2ZXMgb25seScsCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWworICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAorICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgorICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKKyAgICAgICAgXSwKKyAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfcmFuZG9tJzogWworICAgICAgICAgICAgJ1BTQSBjbGFzc2ljIHdyYXBwZXI6IEVDRFNBIHNpZ25hdHVyZSAoU0VDUDI1NlIxKScsCisgICAgICAgIF0sCisgICAgfQogCi1kZWYgZG9fYW5hbHl6ZV9jb3ZlcmFnZShyZXN1bHRzOiBSZXN1bHRzLCBvdXRjb21lczogT3V0Y29tZXMsIGFyZ3MpIC0+IE5vbmU6Ci0gICAgIiIiUGVyZm9ybSBjb3ZlcmFnZSBhbmFseXNpcy4iIiIKLSAgICByZXN1bHRzLm5ld19zZWN0aW9uKCJBbmFseXplIGNvdmVyYWdlIikKLSAgICBhbmFseXplX291dGNvbWVzKHJlc3VsdHMsIG91dGNvbWVzLCBhcmdzKQorY2xhc3MgRHJpdmVyVlNSZWZlcmVuY2VfcnNhKG91dGNvbWVfYW5hbHlzaXMuRHJpdmVyVlNSZWZlcmVuY2UpOgorICAgIFJFRkVSRU5DRSA9ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9yc2FfY3J5cHRvJworICAgIERSSVZFUiA9ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX3JzYV9jcnlwdG8nCisgICAgSUdOT1JFRF9TVUlURVMgPSBbCisgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzLgorICAgICAgICAncnNhJywgJ3BrY3MxX3YxNScsICdwa2NzMV92MjEnLAorICAgICAgICAjIFdlIHRlbXBvcmFyaWx5IGRvbid0IGNhcmUgYWJvdXQgUEsgc3R1ZmYuCisgICAgICAgICdwaycsICdwa3dyaXRlJywgJ3BrcGFyc2UnCisgICAgXQorICAgIElHTk9SRURfVEVTVFMgPSB7CisgICAgICAgICd0ZXN0X3N1aXRlX2NvbmZpZyc6IFsKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU18oUEtDUzF8UlNBKV8uKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTX0dFTlBSSU1FXGIuKicpCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWworICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAorICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgorICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKKyAgICAgICAgXSwKKyAgICAgICAgIyBGb2xsb3dpbmcgdGVzdHMgZGVwZW5kIG9uIFJTQV9DIGJ1dCBhcmUgbm90IGFib3V0CisgICAgICAgICMgdGhlbSByZWFsbHksIGp1c3QgbmVlZCB0byBrbm93IHNvbWUgZXJyb3IgY29kZSBpcyB0aGVyZS4KKyAgICAgICAgJ3Rlc3Rfc3VpdGVfZXJyb3InOiBbCisgICAgICAgICAgICAnTG93IGFuZCBoaWdoIGVycm9yJywKKyAgICAgICAgICAgICdTaW5nbGUgaGlnaCBlcnJvcicKKyAgICAgICAgXSwKKyAgICAgICAgIyBDb25zdGFudCB0aW1lIG9wZXJhdGlvbnMgb25seSB1c2VkIGZvciBQS0NTMV9WMTUKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfY29uc3RhbnRfdGltZSc6IFsKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidtYmVkdGxzX2N0X3plcm9pemVfaWYgLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidtYmVkdGxzX2N0X21lbW1vdmVfbGVmdCAuKicpCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BzYV9jcnlwdG8nOiBbCisgICAgICAgICAgICAjIFdlIGRvbid0IHN1cHBvcnQgZ2VuZXJhdGVfa2V5X2N1c3RvbSBlbnRyeSBwb2ludHMKKyAgICAgICAgICAgICMgaW4gZHJpdmVycyB5ZXQuCisgICAgICAgICAgICByZS5jb21waWxlKHInUFNBIGdlbmVyYXRlIGtleSBjdXN0b206IFJTQSwgZT0uKicpLAorICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BTQSBnZW5lcmF0ZSBrZXkgZXh0OiBSU0EsIGU9LionKSwKKyAgICAgICAgXSwKKyAgICB9CiAKLWRlZiBkb19hbmFseXplX2RyaXZlcl92c19yZWZlcmVuY2UocmVzdWx0czogUmVzdWx0cywgb3V0Y29tZXM6IE91dGNvbWVzLCBhcmdzKSAtPiBOb25lOgotICAgICIiIlBlcmZvcm0gZHJpdmVyIHZzIHJlZmVyZW5jZSBhbmFseXplLiIiIgotICAgIHJlc3VsdHMubmV3X3NlY3Rpb24oIkFuYWx5emUgZHJpdmVyIHt9IHZzIHJlZmVyZW5jZSB7fSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBhcmdzWydjb21wb25lbnRfZHJpdmVyJ10sIGFyZ3NbJ2NvbXBvbmVudF9yZWYnXSkKK2NsYXNzIERyaXZlclZTUmVmZXJlbmNlX2Jsb2NrX2NpcGhlcl9kaXNwYXRjaChvdXRjb21lX2FuYWx5c2lzLkRyaXZlclZTUmVmZXJlbmNlKToKKyAgICBSRUZFUkVOQ0UgPSAndGVzdF9mdWxsX2Jsb2NrX2NpcGhlcl9sZWdhY3lfZGlzcGF0Y2gnCisgICAgRFJJVkVSID0gJ3Rlc3RfZnVsbF9ibG9ja19jaXBoZXJfcHNhX2Rpc3BhdGNoJworICAgIElHTk9SRURfU1VJVEVTID0gWworICAgICAgICAjIFNraXBwZWQgaW4gdGhlIGFjY2VsZXJhdGVkIGNvbXBvbmVudAorICAgICAgICAnYWVzJywgJ2FyaWEnLCAnY2FtZWxsaWEnLAorICAgICAgICAjIFRoZXNlIHJlcXVpcmUgQUVTX0MsIEFSSUFfQyBvciBDQU1FTExJQV9DIHRvIGJlIGVuYWJsZWQgaW4KKyAgICAgICAgIyBvcmRlciBmb3IgdGhlIGNpcGhlciBtb2R1bGUgKGFjdHVhbGx5IGNpcGhlcl93cmFwcGVyKSB0byB3b3JrCisgICAgICAgICMgcHJvcGVybHkuIEhvd2V2ZXIgdGhlc2Ugc3ltYm9scyBhcmUgZGlzYWJsZWQgaW4gdGhlIGFjY2VsZXJhdGVkCisgICAgICAgICMgY29tcG9uZW50IHNvIHdlIGlnbm9yZSB0aGVtLgorICAgICAgICAnY2lwaGVyLmNjbScsICdjaXBoZXIuZ2NtJywgJ2NpcGhlci5hZXMnLCAnY2lwaGVyLmFyaWEnLAorICAgICAgICAnY2lwaGVyLmNhbWVsbGlhJywKKyAgICBdCisgICAgSUdOT1JFRF9URVNUUyA9IHsKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfY29uZmlnJzogWworICAgICAgICAgICAgcmUuY29tcGlsZShyJy4qXGJNQkVEVExTXyhBRVN8QVJJQXxDQU1FTExJQSlfLionKSwKKyAgICAgICAgICAgIHJlLmNvbXBpbGUocicuKlxiTUJFRFRMU19BRVMoXHcrKV9DXGIuKicpLAorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9jbWFjJzogWworICAgICAgICAgICAgIyBGb2xsb3dpbmcgdGVzdHMgcmVxdWlyZSBBRVNfQy9BUklBX0MvQ0FNRUxMSUFfQyB0byBiZSBlbmFibGVkLAorICAgICAgICAgICAgIyBidXQgdGhlc2UgYXJlIG5vdCBhdmFpbGFibGUgaW4gdGhlIGFjY2VsZXJhdGVkIGNvbXBvbmVudC4KKyAgICAgICAgICAgICdDTUFDIG51bGwgYXJndW1lbnRzJywKKyAgICAgICAgICAgIHJlLmNvbXBpbGUoJ0NNQUMuKiAoQUVTfEFSSUF8Q2FtZWxsaWEpLionKSwKKyAgICAgICAgXSwKKyAgICAgICAgJ3Rlc3Rfc3VpdGVfY2lwaGVyLnBhZGRpbmcnOiBbCisgICAgICAgICAgICAjIEZvbGxvd2luZyB0ZXN0cyByZXF1aXJlIEFFU19DL0NBTUVMTElBX0MgdG8gYmUgZW5hYmxlZCwKKyAgICAgICAgICAgICMgYnV0IHRoZXNlIGFyZSBub3QgYXZhaWxhYmxlIGluIHRoZSBhY2NlbGVyYXRlZCBjb21wb25lbnQuCisgICAgICAgICAgICByZS5jb21waWxlKCdTZXQoIG5vbi1leGlzdGVudCk/IHBhZGRpbmcgd2l0aCAoQUVTfENBTUVMTElBKS4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BrY3M1JzogWworICAgICAgICAgICAgIyBUaGUgQUVTIHBhcnQgb2YgUEtDUyM1IFBCRVMyIGlzIG5vdCB5ZXQgc3VwcG9ydGVkLgorICAgICAgICAgICAgIyBUaGUgcmVzdCBvZiBQS0NTIzUgKFBCS0RGMikgd29ya3MsIHRob3VnaC4KKyAgICAgICAgICAgIHJlLmNvbXBpbGUocidQQkVTMiAuKiBBRVMtLionKQorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9wa3BhcnNlJzogWworICAgICAgICAgICAgIyBQRU0gKGNhbGxlZCBieSBwa3BhcnNlKSByZXF1aXJlcyBBRVNfQyBpbiBvcmRlciB0byBkZWNyeXB0CisgICAgICAgICAgICAjIHRoZSBrZXksIGJ1dCB0aGlzIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGFjY2VsZXJhdGVkCisgICAgICAgICAgICAjIGNvbXBvbmVudC4KKyAgICAgICAgICAgIHJlLmNvbXBpbGUoJ1BhcnNlIFJTQSBLZXkuKihwYXNzd29yZHxBRVMtKS4qJyksCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BlbSc6IFsKKyAgICAgICAgICAgICMgRm9sbG93aW5nIHRlc3RzIHJlcXVpcmUgQUVTX0MsIGJ1dCB0aGlzIGlzIGRpYWJsZWQgaW4gdGhlCisgICAgICAgICAgICAjIGFjY2VsZXJhdGVkIGNvbXBvbmVudC4KKyAgICAgICAgICAgIHJlLmNvbXBpbGUoJ1BFTSByZWFkIC4qQUVTLionKSwKKyAgICAgICAgICAgICdQRU0gcmVhZCAodW5rbm93biBlbmNyeXB0aW9uIGFsZ29yaXRobSknLAorICAgICAgICBdLAorICAgICAgICAndGVzdF9zdWl0ZV9lcnJvcic6IFsKKyAgICAgICAgICAgICMgRm9sbG93aW5nIHRlc3RzIGRlcGVuZCBvbiBBRVNfQyBidXQgYXJlIG5vdCBhYm91dCB0aGVtCisgICAgICAgICAgICAjIHJlYWxseSwganVzdCBuZWVkIHRvIGtub3cgc29tZSBlcnJvciBjb2RlIGlzIHRoZXJlLgorICAgICAgICAgICAgJ1NpbmdsZSBsb3cgZXJyb3InLAorICAgICAgICAgICAgJ0xvdyBhbmQgaGlnaCBlcnJvcicsCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3ZlcnNpb24nOiBbCisgICAgICAgICAgICAjIFNpbWlsYXIgdG8gdGVzdF9zdWl0ZV9lcnJvciBhYm92ZS4KKyAgICAgICAgICAgICdDaGVjayBmb3IgTUJFRFRMU19BRVNfQyB3aGVuIGFscmVhZHkgcHJlc2VudCcsCisgICAgICAgIF0sCisgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWworICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCisgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAorICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgorICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKKyAgICAgICAgXSwKKyAgICB9CiAKLSAgICBpZ25vcmVkX3N1aXRlcyA9IFsndGVzdF9zdWl0ZV8nICsgeCBmb3IgeCBpbiBhcmdzWydpZ25vcmVkX3N1aXRlcyddXQorI3B5bGludDogZW5hYmxlPWludmFsaWQtbmFtZSxtaXNzaW5nLWNsYXNzLWRvY3N0cmluZwogCi0gICAgYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlKHJlc3VsdHMsIG91dGNvbWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzWydjb21wb25lbnRfcmVmJ10sIGFyZ3NbJ2NvbXBvbmVudF9kcml2ZXInXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZF9zdWl0ZXMsIGFyZ3NbJ2lnbm9yZWRfdGVzdHMnXSkKIAogIyBMaXN0IG9mIHRhc2tzIHdpdGggYSBmdW5jdGlvbiB0aGF0IGNhbiBoYW5kbGUgdGhpcyB0YXNrIGFuZCBhZGRpdGlvbmFsIGFyZ3VtZW50cyBpZiByZXF1aXJlZAogS05PV05fVEFTS1MgPSB7Ci0gICAgJ2FuYWx5emVfY292ZXJhZ2UnOiAgICAgICAgICAgICAgICAgewotICAgICAgICAndGVzdF9mdW5jdGlvbic6IGRvX2FuYWx5emVfY292ZXJhZ2UsCi0gICAgICAgICdhcmdzJzogewotICAgICAgICAgICAgJ2FsbG93X2xpc3QnOiBbCi0gICAgICAgICAgICAgICAgIyBBbGdvcml0aG0gbm90IHN1cHBvcnRlZCB5ZXQKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9wc2FfY3J5cHRvX21ldGFkYXRhO0FzeW1tZXRyaWMgc2lnbmF0dXJlOiBwdXJlIEVkRFNBJywKLSAgICAgICAgICAgICAgICAjIEFsZ29yaXRobSBub3Qgc3VwcG9ydGVkIHlldAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BzYV9jcnlwdG9fbWV0YWRhdGE7Q2lwaGVyOiBYVFMnLAotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdmdWxsX2NvdmVyYWdlJzogRmFsc2UsCi0gICAgICAgIH0KLSAgICB9LAotICAgICMgVGhlcmUgYXJlIDIgb3B0aW9ucyB0byB1c2UgYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX3h4eCBsb2NhbGx5OgotICAgICMgMS4gUnVuIHRlc3RzIGFuZCB0aGVuIGFuYWx5c2lzOgotICAgICMgICAtIHRlc3RzL3NjcmlwdHMvYWxsLnNoIC0tb3V0Y29tZS1maWxlICIkUFdEL291dC5jc3YiIDxjb21wb25lbnRfcmVmPiA8Y29tcG9uZW50X2RyaXZlcj4KLSAgICAjICAgLSB0ZXN0cy9zY3JpcHRzL2FuYWx5emVfb3V0Y29tZXMucHkgb3V0LmNzdiBhbmFseXplX2RyaXZlcl92c19yZWZlcmVuY2VfeHh4Ci0gICAgIyAyLiBMZXQgdGhpcyBzY3JpcHQgcnVuIGJvdGggYXV0b21hdGljYWxseToKLSAgICAjICAgLSB0ZXN0cy9zY3JpcHRzL2FuYWx5emVfb3V0Y29tZXMucHkgb3V0LmNzdiBhbmFseXplX2RyaXZlcl92c19yZWZlcmVuY2VfeHh4Ci0gICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV9oYXNoJzogewotICAgICAgICAndGVzdF9mdW5jdGlvbic6IGRvX2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZSwKLSAgICAgICAgJ2FyZ3MnOiB7Ci0gICAgICAgICAgICAnY29tcG9uZW50X3JlZic6ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9oYXNoX3VzZV9wc2EnLAotICAgICAgICAgICAgJ2NvbXBvbmVudF9kcml2ZXInOiAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9oYXNoX3VzZV9wc2EnLAotICAgICAgICAgICAgJ2lnbm9yZWRfc3VpdGVzJzogWwotICAgICAgICAgICAgICAgICdzaGF4JywgJ21keCcsICMgdGhlIHNvZnR3YXJlIGltcGxlbWVudGF0aW9ucyB0aGF0IGFyZSBiZWluZyBleGNsdWRlZAotICAgICAgICAgICAgICAgICdtZC5wc2EnLCAgIyBwdXJwb3NlZnVsbHkgZGVwZW5kcyBvbiB3aGV0aGVyIGRyaXZlcnMgYXJlIHByZXNlbnQKLSAgICAgICAgICAgICAgICAncHNhX2NyeXB0b19sb3dfaGFzaC5nZW5lcmF0ZWQnLCAjIHRlc3RpbmcgdGhlIGJ1aWx0aW5zCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgJ2lnbm9yZWRfdGVzdHMnOiB7Ci0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfcGxhdGZvcm0nOiBbCi0gICAgICAgICAgICAgICAgICAgICMgSW5jb21wYXRpYmxlIHdpdGggc2FuaXRpemVycyAoZS5nLiBBU2FuKS4gSWYgdGhlIGRyaXZlcgotICAgICAgICAgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAotICAgICAgICAgICAgICAgICAgICAjIGRvZXNuJ3QsIHdlIGhhdmUgYSBQQVNTIHZzIFNLSVAgbWlzbWF0Y2guCi0gICAgICAgICAgICAgICAgICAgICdDaGVjayBtYmVkdGxzX2NhbGxvYyBvdmVyYWxsb2NhdGlvbicsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0sCi0gICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV9obWFjJzogewotICAgICAgICAndGVzdF9mdW5jdGlvbic6IGRvX2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZSwKLSAgICAgICAgJ2FyZ3MnOiB7Ci0gICAgICAgICAgICAnY29tcG9uZW50X3JlZic6ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9obWFjJywKLSAgICAgICAgICAgICdjb21wb25lbnRfZHJpdmVyJzogJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfaG1hYycsCi0gICAgICAgICAgICAnaWdub3JlZF9zdWl0ZXMnOiBbCi0gICAgICAgICAgICAgICAgIyBUaGVzZSBzdWl0ZXMgcmVxdWlyZSBsZWdhY3kgaGFzaCBzdXBwb3J0LCB3aGljaCBpcyBkaXNhYmxlZAotICAgICAgICAgICAgICAgICMgaW4gdGhlIGFjY2VsZXJhdGVkIGNvbXBvbmVudC4KLSAgICAgICAgICAgICAgICAnc2hheCcsICdtZHgnLAotICAgICAgICAgICAgICAgICMgVGhpcyBzdWl0ZSB0ZXN0cyBidWlsdGlucyBkaXJlY3RseSwgYnV0IHRoZXNlIGFyZSBtaXNzaW5nCi0gICAgICAgICAgICAgICAgIyBpbiB0aGUgYWNjZWxlcmF0ZWQgY2FzZS4KLSAgICAgICAgICAgICAgICAncHNhX2NyeXB0b19sb3dfaGFzaC5nZW5lcmF0ZWQnLAotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdpZ25vcmVkX3Rlc3RzJzogewotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX21kJzogWwotICAgICAgICAgICAgICAgICAgICAjIEJ1aWx0aW4gSE1BQyBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBhY2NlbGVyYXRlIGNvbXBvbmVudC4KLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZSgnLipITUFDLionKSwKLSAgICAgICAgICAgICAgICAgICAgIyBGb2xsb3dpbmcgdGVzdHMgbWFrZSB1c2Ugb2YgZnVuY3Rpb25zIHdoaWNoIGFyZSBub3QgYXZhaWxhYmxlCi0gICAgICAgICAgICAgICAgICAgICMgd2hlbiBNRF9DIGlzIGRpc2FibGVkLCBhcyBpdCBoYXBwZW5zIGluIHRoZSBhY2NlbGVyYXRlZAotICAgICAgICAgICAgICAgICAgICAjIHRlc3QgY29tcG9uZW50LgotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKCdnZW5lcmljIC4qIEhhc2ggZmlsZSAuKicpLAotICAgICAgICAgICAgICAgICAgICAnTUQgbGlzdCcsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9tZC5wc2EnOiBbCi0gICAgICAgICAgICAgICAgICAgICMgImxlZ2FjeSBvbmx5IiB0ZXN0cyByZXF1aXJlIGhhc2ggYWxnb3JpdGhtcyB0byBiZSBOT1QKLSAgICAgICAgICAgICAgICAgICAgIyBhY2NlbGVyYXRlZCwgYnV0IHRoaXMgb2YgY291cnNlIGZhbHNlIGZvciB0aGUgYWNjZWxlcmF0ZWQKLSAgICAgICAgICAgICAgICAgICAgIyB0ZXN0IGNvbXBvbmVudC4KLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZSgnUFNBIGRpc3BhdGNoIC4qIGxlZ2FjeSBvbmx5JyksCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9wbGF0Zm9ybSc6IFsKLSAgICAgICAgICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCi0gICAgICAgICAgICAgICAgICAgICMgY29tcG9uZW50IHVzZXMgYSBzYW5pdGl6ZXIgYnV0IHRoZSByZWZlcmVuY2UgY29tcG9uZW50Ci0gICAgICAgICAgICAgICAgICAgICMgZG9lc24ndCwgd2UgaGF2ZSBhIFBBU1MgdnMgU0tJUCBtaXNtYXRjaC4KLSAgICAgICAgICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSwKLSAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX2NpcGhlcl9hZWFkX2NtYWMnOiB7Ci0gICAgICAgICd0ZXN0X2Z1bmN0aW9uJzogZG9fYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlLAotICAgICAgICAnYXJncyc6IHsKLSAgICAgICAgICAgICdjb21wb25lbnRfcmVmJzogJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2NpcGhlcl9hZWFkX2NtYWMnLAotICAgICAgICAgICAgJ2NvbXBvbmVudF9kcml2ZXInOiAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9jaXBoZXJfYWVhZF9jbWFjJywKLSAgICAgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzLgotICAgICAgICAgICAgJ2lnbm9yZWRfc3VpdGVzJzogWwotICAgICAgICAgICAgICAgICMgbG93LWxldmVsIChibG9jay9zdHJlYW0pIGNpcGhlciBtb2R1bGVzCi0gICAgICAgICAgICAgICAgJ2FlcycsICdhcmlhJywgJ2NhbWVsbGlhJywgJ2RlcycsICdjaGFjaGEyMCcsCi0gICAgICAgICAgICAgICAgIyBBRUFEIG1vZGVzIGFuZCBDTUFDCi0gICAgICAgICAgICAgICAgJ2NjbScsICdjaGFjaGFwb2x5JywgJ2NtYWMnLCAnZ2NtJywKLSAgICAgICAgICAgICAgICAjIFRoZSBDaXBoZXIgYWJzdHJhY3Rpb24gbGF5ZXIKLSAgICAgICAgICAgICAgICAnY2lwaGVyJywKLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAnaWdub3JlZF90ZXN0cyc6IHsKLSAgICAgICAgICAgICAgICAjIFBFTSBkZWNyeXB0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgc28gZmFyLgotICAgICAgICAgICAgICAgICMgVGhlIHJlc3Qgb2YgUEVNICh3cml0ZSwgdW5lbmNyeXB0ZWQgcmVhZCkgd29ya3MgdGhvdWdoLgotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BlbSc6IFsKLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BFTSByZWFkIC4qKEFFU3xERVN8XGJlbmNyeXB0KS4qJyksCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9wbGF0Zm9ybSc6IFsKLSAgICAgICAgICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUgd2l0aCBzYW5pdGl6ZXJzIChlLmcuIEFTYW4pLiBJZiB0aGUgZHJpdmVyCi0gICAgICAgICAgICAgICAgICAgICMgY29tcG9uZW50IHVzZXMgYSBzYW5pdGl6ZXIgYnV0IHRoZSByZWZlcmVuY2UgY29tcG9uZW50Ci0gICAgICAgICAgICAgICAgICAgICMgZG9lc24ndCwgd2UgaGF2ZSBhIFBBU1MgdnMgU0tJUCBtaXNtYXRjaC4KLSAgICAgICAgICAgICAgICAgICAgJ0NoZWNrIG1iZWR0bHNfY2FsbG9jIG92ZXJhbGxvY2F0aW9uJywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICMgRm9sbG93aW5nIHRlc3RzIGRlcGVuZCBvbiBBRVNfQy9ERVNfQyBidXQgYXJlIG5vdCBhYm91dAotICAgICAgICAgICAgICAgICMgdGhlbSByZWFsbHksIGp1c3QgbmVlZCB0byBrbm93IHNvbWUgZXJyb3IgY29kZSBpcyB0aGVyZS4KLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9lcnJvcic6IFsKLSAgICAgICAgICAgICAgICAgICAgJ0xvdyBhbmQgaGlnaCBlcnJvcicsCi0gICAgICAgICAgICAgICAgICAgICdTaW5nbGUgbG93IGVycm9yJwotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBTaW1pbGFyIHRvIHRlc3Rfc3VpdGVfZXJyb3IgYWJvdmUuCi0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfdmVyc2lvbic6IFsKLSAgICAgICAgICAgICAgICAgICAgJ0NoZWNrIGZvciBNQkVEVExTX0FFU19DIHdoZW4gYWxyZWFkeSBwcmVzZW50JywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICMgVGhlIGVuL2RlY3J5cHRpb24gcGFydCBvZiBQS0NTIzEyIGlzIG5vdCBzdXBwb3J0ZWQgc28gZmFyLgotICAgICAgICAgICAgICAgICMgVGhlIHJlc3Qgb2YgUEtDUyMxMiAoa2V5IGRlcml2YXRpb24pIHdvcmtzIHRob3VnaC4KLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9wa2NzMTInOiBbCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidQQkUgRW5jcnlwdCwgLionKSwKLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BCRSBEZWNyeXB0LCAuKicpLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBUaGUgZW4vZGVjcnlwdGlvbiBwYXJ0IG9mIFBLQ1MjNSBpcyBub3Qgc3VwcG9ydGVkIHNvIGZhci4KLSAgICAgICAgICAgICAgICAjIFRoZSByZXN0IG9mIFBLQ1MjNSAoUEJLREYyKSB3b3JrcyB0aG91Z2guCi0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfcGtjczUnOiBbCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidQQkVTMiBFbmNyeXB0LCAuKicpLAotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHInUEJFUzIgRGVjcnlwdCAuKicpLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBFbmNyeXB0ZWQga2V5cyBhcmUgbm90IHN1cHBvcnRlZCBzbyBmYXIuCi0gICAgICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZwotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BrcGFyc2UnOiBbCi0gICAgICAgICAgICAgICAgICAgICdLZXkgQVNOMSAoRW5jcnlwdGVkIGtleSBQS0NTMTIsIHRyYWlsaW5nIGdhcmJhZ2UgZGF0YSknLAotICAgICAgICAgICAgICAgICAgICAnS2V5IEFTTjEgKEVuY3J5cHRlZCBrZXkgUEtDUzUsIHRyYWlsaW5nIGdhcmJhZ2UgZGF0YSknLAotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHInUGFyc2UgKFJTQXxFQykgS2V5IC4qXCguKiAoW0VlXW5jcnlwdGVkfHBhc3N3b3JkKS4qXCknKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSwKLSAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX2VjcF9saWdodF9vbmx5JzogewotICAgICAgICAndGVzdF9mdW5jdGlvbic6IGRvX2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZSwKLSAgICAgICAgJ2FyZ3MnOiB7Ci0gICAgICAgICAgICAnY29tcG9uZW50X3JlZic6ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZWNwX2xpZ2h0X29ubHknLAotICAgICAgICAgICAgJ2NvbXBvbmVudF9kcml2ZXInOiAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZWNwX2xpZ2h0X29ubHknLAotICAgICAgICAgICAgJ2lnbm9yZWRfc3VpdGVzJzogWwotICAgICAgICAgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzCi0gICAgICAgICAgICAgICAgJ2VjZHNhJywgJ2VjZGgnLCAnZWNqcGFrZScsCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgJ2lnbm9yZWRfdGVzdHMnOiB7Ci0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfcGxhdGZvcm0nOiBbCi0gICAgICAgICAgICAgICAgICAgICMgSW5jb21wYXRpYmxlIHdpdGggc2FuaXRpemVycyAoZS5nLiBBU2FuKS4gSWYgdGhlIGRyaXZlcgotICAgICAgICAgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAotICAgICAgICAgICAgICAgICAgICAjIGRvZXNuJ3QsIHdlIGhhdmUgYSBQQVNTIHZzIFNLSVAgbWlzbWF0Y2guCi0gICAgICAgICAgICAgICAgICAgICdDaGVjayBtYmVkdGxzX2NhbGxvYyBvdmVyYWxsb2NhdGlvbicsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAjIFRoaXMgdGVzdCB3YW50cyBhIGxlZ2FjeSBmdW5jdGlvbiB0aGF0IHRha2VzIGZfcm5nLCBwX3JuZwotICAgICAgICAgICAgICAgICMgYXJndW1lbnRzLCBhbmQgdXNlcyBsZWdhY3kgRUNEU0EgZm9yIHRoYXQuIFRoZSB0ZXN0IGlzCi0gICAgICAgICAgICAgICAgIyByZWFsbHkgYWJvdXQgdGhlIHdyYXBwZXIgYXJvdW5kIHRoZSBQU0EgUk5HLCBub3QgRUNEU0EuCi0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfcmFuZG9tJzogWwotICAgICAgICAgICAgICAgICAgICAnUFNBIGNsYXNzaWMgd3JhcHBlcjogRUNEU0Egc2lnbmF0dXJlIChTRUNQMjU2UjEpJywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICMgSW4gdGhlIGFjY2VsZXJhdGVkIHRlc3QgRUNQX0MgaXMgbm90IHNldCAob25seSBFQ1BfTElHSFQgaXMpCi0gICAgICAgICAgICAgICAgIyBzbyB3ZSBtdXN0IGlnbm9yZSBkaXNwYXJpdGllcyBpbiB0aGUgdGVzdHMgZm9yIHdoaWNoIEVDUF9DCi0gICAgICAgICAgICAgICAgIyBpcyByZXF1aXJlZC4KLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9lY3AnOiBbCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidFQ1AgY2hlY2sgcHVibGljLXByaXZhdGUgLionKSwKLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZShyJ0VDUCBjYWxjdWxhdGUgcHVibGljOiAuKicpLAotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHInRUNQIGdlbiBrZXlwYWlyIC4qJyksCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidFQ1AgcG9pbnQgbXVsYWRkIC4qJyksCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidFQ1AgcG9pbnQgbXVsdGlwbGljYXRpb24gLionKSwKLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZShyJ0VDUCB0ZXN0IHZlY3RvcnMgLionKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3NzbCc6IFsKLSAgICAgICAgICAgICAgICAgICAgIyBUaGlzIGRlcHJlY2F0ZWQgZnVuY3Rpb24gaXMgb25seSBwcmVzZW50IHdoZW4gRUNQX0MgaXMgT24uCi0gICAgICAgICAgICAgICAgICAgICdUZXN0IGNvbmZpZ3VyYXRpb24gb2YgZ3JvdXBzIGZvciBESEUgdGhyb3VnaCBtYmVkdGxzX3NzbF9jb25mX2N1cnZlcygpJywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSwKLSAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX25vX2VjcF9hdF9hbGwnOiB7Ci0gICAgICAgICd0ZXN0X2Z1bmN0aW9uJzogZG9fYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlLAotICAgICAgICAnYXJncyc6IHsKLSAgICAgICAgICAgICdjb21wb25lbnRfcmVmJzogJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19ub19lY3BfYXRfYWxsJywKLSAgICAgICAgICAgICdjb21wb25lbnRfZHJpdmVyJzogJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX25vX2VjcF9hdF9hbGwnLAotICAgICAgICAgICAgJ2lnbm9yZWRfc3VpdGVzJzogWwotICAgICAgICAgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzCi0gICAgICAgICAgICAgICAgJ2VjcCcsICdlY2RzYScsICdlY2RoJywgJ2VjanBha2UnLAotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdpZ25vcmVkX3Rlc3RzJzogewotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWwotICAgICAgICAgICAgICAgICAgICAjIEluY29tcGF0aWJsZSB3aXRoIHNhbml0aXplcnMgKGUuZy4gQVNhbikuIElmIHRoZSBkcml2ZXIKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wb25lbnQgdXNlcyBhIHNhbml0aXplciBidXQgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQKLSAgICAgICAgICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgotICAgICAgICAgICAgICAgICAgICAnQ2hlY2sgbWJlZHRsc19jYWxsb2Mgb3ZlcmFsbG9jYXRpb24nLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9yYW5kb20nOiBbCi0gICAgICAgICAgICAgICAgICAgICdQU0EgY2xhc3NpYyB3cmFwcGVyOiBFQ0RTQSBzaWduYXR1cmUgKFNFQ1AyNTZSMSknLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfcGtwYXJzZSc6IFsKLSAgICAgICAgICAgICAgICAgICAgIyBXaGVuIFBLX1BBUlNFX0MgYW5kIEVDUF9DIGFyZSBkZWZpbmVkIHRoZW4gUEtfUEFSU0VfRUNfQ09NUFJFU1NFRAotICAgICAgICAgICAgICAgICAgICAjIGlzIGF1dG9tYXRpY2FsbHkgZW5hYmxlZCBpbiBidWlsZF9pbmZvLmggKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpCi0gICAgICAgICAgICAgICAgICAgICMgZXZlbiBpZiBpdCBpcyBkaXNhYmxlZCBpbiBjb25maWdfcHNhX2NyeXB0b19ub19lY3BfYXRfYWxsKCkuIEFzIGEKLSAgICAgICAgICAgICAgICAgICAgIyBjb25zZXF1ZW5jZSBjb21wcmVzc2VkIHBvaW50cyBhcmUgc3VwcG9ydGVkIGluIHRoZSByZWZlcmVuY2UKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wb25lbnQgYnV0IG5vdCBpbiB0aGUgYWNjZWxlcmF0ZWQgb25lLCBzbyB0aGV5IHNob3VsZCBiZSBza2lwcGVkCi0gICAgICAgICAgICAgICAgICAgICMgd2hpbGUgY2hlY2tpbmcgZHJpdmVyJ3MgY292ZXJhZ2UuCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidQYXJzZSBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BhcnNlIFB1YmxpYyBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICMgU2VlIGVjcF9saWdodF9vbmx5Ci0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfc3NsJzogWwotICAgICAgICAgICAgICAgICAgICAnVGVzdCBjb25maWd1cmF0aW9uIG9mIGdyb3VwcyBmb3IgREhFIHRocm91Z2ggbWJlZHRsc19zc2xfY29uZl9jdXJ2ZXMoKScsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0sCi0gICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV9lY2Nfbm9fYmlnbnVtJzogewotICAgICAgICAndGVzdF9mdW5jdGlvbic6IGRvX2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZSwKLSAgICAgICAgJ2FyZ3MnOiB7Ci0gICAgICAgICAgICAnY29tcG9uZW50X3JlZic6ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2Nfbm9fYmlnbnVtJywKLSAgICAgICAgICAgICdjb21wb25lbnRfZHJpdmVyJzogJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX25vX2JpZ251bScsCi0gICAgICAgICAgICAnaWdub3JlZF9zdWl0ZXMnOiBbCi0gICAgICAgICAgICAgICAgIyBNb2R1bGVzIHJlcGxhY2VkIGJ5IGRyaXZlcnMKLSAgICAgICAgICAgICAgICAnZWNwJywgJ2VjZHNhJywgJ2VjZGgnLCAnZWNqcGFrZScsCi0gICAgICAgICAgICAgICAgJ2JpZ251bV9jb3JlJywgJ2JpZ251bV9yYW5kb20nLCAnYmlnbnVtX21vZCcsICdiaWdudW1fbW9kX3JhdycsCi0gICAgICAgICAgICAgICAgJ2JpZ251bS5nZW5lcmF0ZWQnLCAnYmlnbnVtLm1pc2MnLAotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdpZ25vcmVkX3Rlc3RzJzogewotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWwotICAgICAgICAgICAgICAgICAgICAjIEluY29tcGF0aWJsZSB3aXRoIHNhbml0aXplcnMgKGUuZy4gQVNhbikuIElmIHRoZSBkcml2ZXIKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wb25lbnQgdXNlcyBhIHNhbml0aXplciBidXQgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQKLSAgICAgICAgICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgotICAgICAgICAgICAgICAgICAgICAnQ2hlY2sgbWJlZHRsc19jYWxsb2Mgb3ZlcmFsbG9jYXRpb24nLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9yYW5kb20nOiBbCi0gICAgICAgICAgICAgICAgICAgICdQU0EgY2xhc3NpYyB3cmFwcGVyOiBFQ0RTQSBzaWduYXR1cmUgKFNFQ1AyNTZSMSknLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBTZWUgbm9fZWNwX2F0X2FsbAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BrcGFyc2UnOiBbCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidQYXJzZSBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BhcnNlIFB1YmxpYyBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX2FzbjFwYXJzZSc6IFsKLSAgICAgICAgICAgICAgICAgICAgJ0lOVEVHRVIgdG9vIGxhcmdlIGZvciBtcGknLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfYXNuMXdyaXRlJzogWwotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHInQVNOLjEgV3JpdGUgbXBpLionKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX2RlYnVnJzogWwotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHInRGVidWcgcHJpbnQgbWJlZHRsc19tcGkuKicpLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9zc2wnOiBbCi0gICAgICAgICAgICAgICAgICAgICdUZXN0IGNvbmZpZ3VyYXRpb24gb2YgZ3JvdXBzIGZvciBESEUgdGhyb3VnaCBtYmVkdGxzX3NzbF9jb25mX2N1cnZlcygpJywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSwKLSAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bSc6IHsKLSAgICAgICAgJ3Rlc3RfZnVuY3Rpb24nOiBkb19hbmFseXplX2RyaXZlcl92c19yZWZlcmVuY2UsCi0gICAgICAgICdhcmdzJzogewotICAgICAgICAgICAgJ2NvbXBvbmVudF9yZWYnOiAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX2ZmZGhfbm9fYmlnbnVtJywKLSAgICAgICAgICAgICdjb21wb25lbnRfZHJpdmVyJzogJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX2ZmZGhfbm9fYmlnbnVtJywKLSAgICAgICAgICAgICdpZ25vcmVkX3N1aXRlcyc6IFsKLSAgICAgICAgICAgICAgICAjIE1vZHVsZXMgcmVwbGFjZWQgYnkgZHJpdmVycwotICAgICAgICAgICAgICAgICdlY3AnLCAnZWNkc2EnLCAnZWNkaCcsICdlY2pwYWtlJywgJ2RobScsCi0gICAgICAgICAgICAgICAgJ2JpZ251bV9jb3JlJywgJ2JpZ251bV9yYW5kb20nLCAnYmlnbnVtX21vZCcsICdiaWdudW1fbW9kX3JhdycsCi0gICAgICAgICAgICAgICAgJ2JpZ251bS5nZW5lcmF0ZWQnLCAnYmlnbnVtLm1pc2MnLAotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdpZ25vcmVkX3Rlc3RzJzogewotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWwotICAgICAgICAgICAgICAgICAgICAjIEluY29tcGF0aWJsZSB3aXRoIHNhbml0aXplcnMgKGUuZy4gQVNhbikuIElmIHRoZSBkcml2ZXIKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wb25lbnQgdXNlcyBhIHNhbml0aXplciBidXQgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQKLSAgICAgICAgICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgotICAgICAgICAgICAgICAgICAgICAnQ2hlY2sgbWJlZHRsc19jYWxsb2Mgb3ZlcmFsbG9jYXRpb24nLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9yYW5kb20nOiBbCi0gICAgICAgICAgICAgICAgICAgICdQU0EgY2xhc3NpYyB3cmFwcGVyOiBFQ0RTQSBzaWduYXR1cmUgKFNFQ1AyNTZSMSknLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBTZWUgbm9fZWNwX2F0X2FsbAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BrcGFyc2UnOiBbCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidQYXJzZSBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BhcnNlIFB1YmxpYyBFQyBLZXkgLipjb21wcmVzc2VkXCknKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX2FzbjFwYXJzZSc6IFsKLSAgICAgICAgICAgICAgICAgICAgJ0lOVEVHRVIgdG9vIGxhcmdlIGZvciBtcGknLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfYXNuMXdyaXRlJzogWwotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHInQVNOLjEgV3JpdGUgbXBpLionKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX2RlYnVnJzogWwotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHInRGVidWcgcHJpbnQgbWJlZHRsc19tcGkuKicpLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBTZWUgZWNwX2xpZ2h0X29ubHkKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9zc2wnOiBbCi0gICAgICAgICAgICAgICAgICAgICdUZXN0IGNvbmZpZ3VyYXRpb24gb2YgZ3JvdXBzIGZvciBESEUgdGhyb3VnaCBtYmVkdGxzX3NzbF9jb25mX2N1cnZlcygpJywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSwKLSAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX2ZmZGhfYWxnJzogewotICAgICAgICAndGVzdF9mdW5jdGlvbic6IGRvX2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZSwKLSAgICAgICAgJ2FyZ3MnOiB7Ci0gICAgICAgICAgICAnY29tcG9uZW50X3JlZic6ICd0ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9mZmRoJywKLSAgICAgICAgICAgICdjb21wb25lbnRfZHJpdmVyJzogJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZmZkaCcsCi0gICAgICAgICAgICAnaWdub3JlZF9zdWl0ZXMnOiBbJ2RobSddLAotICAgICAgICAgICAgJ2lnbm9yZWRfdGVzdHMnOiB7Ci0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfcGxhdGZvcm0nOiBbCi0gICAgICAgICAgICAgICAgICAgICMgSW5jb21wYXRpYmxlIHdpdGggc2FuaXRpemVycyAoZS5nLiBBU2FuKS4gSWYgdGhlIGRyaXZlcgotICAgICAgICAgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAotICAgICAgICAgICAgICAgICAgICAjIGRvZXNuJ3QsIHdlIGhhdmUgYSBQQVNTIHZzIFNLSVAgbWlzbWF0Y2guCi0gICAgICAgICAgICAgICAgICAgICdDaGVjayBtYmVkdGxzX2NhbGxvYyBvdmVyYWxsb2NhdGlvbicsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0sCi0gICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV90Zm1fY29uZmlnJzogewotICAgICAgICAndGVzdF9mdW5jdGlvbic6ICBkb19hbmFseXplX2RyaXZlcl92c19yZWZlcmVuY2UsCi0gICAgICAgICdhcmdzJzogewotICAgICAgICAgICAgJ2NvbXBvbmVudF9yZWYnOiAndGVzdF90Zm1fY29uZmlnJywKLSAgICAgICAgICAgICdjb21wb25lbnRfZHJpdmVyJzogJ3Rlc3RfdGZtX2NvbmZpZ19wMjU2bV9kcml2ZXJfYWNjZWxfZWMnLAotICAgICAgICAgICAgJ2lnbm9yZWRfc3VpdGVzJzogWwotICAgICAgICAgICAgICAgICMgTW9kdWxlcyByZXBsYWNlZCBieSBkcml2ZXJzCi0gICAgICAgICAgICAgICAgJ2FzbjFwYXJzZScsICdhc24xd3JpdGUnLAotICAgICAgICAgICAgICAgICdlY3AnLCAnZWNkc2EnLCAnZWNkaCcsICdlY2pwYWtlJywKLSAgICAgICAgICAgICAgICAnYmlnbnVtX2NvcmUnLCAnYmlnbnVtX3JhbmRvbScsICdiaWdudW1fbW9kJywgJ2JpZ251bV9tb2RfcmF3JywKLSAgICAgICAgICAgICAgICAnYmlnbnVtLmdlbmVyYXRlZCcsICdiaWdudW0ubWlzYycsCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgJ2lnbm9yZWRfdGVzdHMnOiB7Ci0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfcGxhdGZvcm0nOiBbCi0gICAgICAgICAgICAgICAgICAgICMgSW5jb21wYXRpYmxlIHdpdGggc2FuaXRpemVycyAoZS5nLiBBU2FuKS4gSWYgdGhlIGRyaXZlcgotICAgICAgICAgICAgICAgICAgICAjIGNvbXBvbmVudCB1c2VzIGEgc2FuaXRpemVyIGJ1dCB0aGUgcmVmZXJlbmNlIGNvbXBvbmVudAotICAgICAgICAgICAgICAgICAgICAjIGRvZXNuJ3QsIHdlIGhhdmUgYSBQQVNTIHZzIFNLSVAgbWlzbWF0Y2guCi0gICAgICAgICAgICAgICAgICAgICdDaGVjayBtYmVkdGxzX2NhbGxvYyBvdmVyYWxsb2NhdGlvbicsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAjIFNlZSBlY3BfbGlnaHRfb25seQotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3JhbmRvbSc6IFsKLSAgICAgICAgICAgICAgICAgICAgJ1BTQSBjbGFzc2ljIHdyYXBwZXI6IEVDRFNBIHNpZ25hdHVyZSAoU0VDUDI1NlIxKScsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0sCi0gICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV9yc2EnOiB7Ci0gICAgICAgICd0ZXN0X2Z1bmN0aW9uJzogZG9fYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlLAotICAgICAgICAnYXJncyc6IHsKLSAgICAgICAgICAgICdjb21wb25lbnRfcmVmJzogJ3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX3JzYV9jcnlwdG8nLAotICAgICAgICAgICAgJ2NvbXBvbmVudF9kcml2ZXInOiAndGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9yc2FfY3J5cHRvJywKLSAgICAgICAgICAgICdpZ25vcmVkX3N1aXRlcyc6IFsKLSAgICAgICAgICAgICAgICAjIE1vZHVsZXMgcmVwbGFjZWQgYnkgZHJpdmVycy4KLSAgICAgICAgICAgICAgICAncnNhJywgJ3BrY3MxX3YxNScsICdwa2NzMV92MjEnLAotICAgICAgICAgICAgICAgICMgV2UgdGVtcG9yYXJpbHkgZG9uJ3QgY2FyZSBhYm91dCBQSyBzdHVmZi4KLSAgICAgICAgICAgICAgICAncGsnLCAncGt3cml0ZScsICdwa3BhcnNlJwotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdpZ25vcmVkX3Rlc3RzJzogewotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWwotICAgICAgICAgICAgICAgICAgICAjIEluY29tcGF0aWJsZSB3aXRoIHNhbml0aXplcnMgKGUuZy4gQVNhbikuIElmIHRoZSBkcml2ZXIKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wb25lbnQgdXNlcyBhIHNhbml0aXplciBidXQgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQKLSAgICAgICAgICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgotICAgICAgICAgICAgICAgICAgICAnQ2hlY2sgbWJlZHRsc19jYWxsb2Mgb3ZlcmFsbG9jYXRpb24nLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBGb2xsb3dpbmcgdGVzdHMgZGVwZW5kIG9uIFJTQV9DIGJ1dCBhcmUgbm90IGFib3V0Ci0gICAgICAgICAgICAgICAgIyB0aGVtIHJlYWxseSwganVzdCBuZWVkIHRvIGtub3cgc29tZSBlcnJvciBjb2RlIGlzIHRoZXJlLgotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX2Vycm9yJzogWwotICAgICAgICAgICAgICAgICAgICAnTG93IGFuZCBoaWdoIGVycm9yJywKLSAgICAgICAgICAgICAgICAgICAgJ1NpbmdsZSBoaWdoIGVycm9yJwotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgIyBDb25zdGFudCB0aW1lIG9wZXJhdGlvbnMgb25seSB1c2VkIGZvciBQS0NTMV9WMTUKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9jb25zdGFudF90aW1lJzogWwotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHInbWJlZHRsc19jdF96ZXJvaXplX2lmIC4qJyksCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidtYmVkdGxzX2N0X21lbW1vdmVfbGVmdCAuKicpCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9wc2FfY3J5cHRvJzogWwotICAgICAgICAgICAgICAgICAgICAjIFdlIGRvbid0IHN1cHBvcnQgZ2VuZXJhdGVfa2V5X2V4dCBlbnRyeSBwb2ludHMKLSAgICAgICAgICAgICAgICAgICAgIyBpbiBkcml2ZXJzIHlldC4KLSAgICAgICAgICAgICAgICAgICAgcmUuY29tcGlsZShyJ1BTQSBnZW5lcmF0ZSBrZXkgZXh0OiBSU0EsIGU9LionKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSwKLSAgICAnYW5hbHl6ZV9ibG9ja19jaXBoZXJfZGlzcGF0Y2gnOiB7Ci0gICAgICAgICd0ZXN0X2Z1bmN0aW9uJzogZG9fYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlLAotICAgICAgICAnYXJncyc6IHsKLSAgICAgICAgICAgICdjb21wb25lbnRfcmVmJzogJ3Rlc3RfZnVsbF9ibG9ja19jaXBoZXJfbGVnYWN5X2Rpc3BhdGNoJywKLSAgICAgICAgICAgICdjb21wb25lbnRfZHJpdmVyJzogJ3Rlc3RfZnVsbF9ibG9ja19jaXBoZXJfcHNhX2Rpc3BhdGNoJywKLSAgICAgICAgICAgICdpZ25vcmVkX3N1aXRlcyc6IFsKLSAgICAgICAgICAgICAgICAjIFNraXBwZWQgaW4gdGhlIGFjY2VsZXJhdGVkIGNvbXBvbmVudAotICAgICAgICAgICAgICAgICdhZXMnLCAnYXJpYScsICdjYW1lbGxpYScsCi0gICAgICAgICAgICAgICAgIyBUaGVzZSByZXF1aXJlIEFFU19DLCBBUklBX0Mgb3IgQ0FNRUxMSUFfQyB0byBiZSBlbmFibGVkIGluCi0gICAgICAgICAgICAgICAgIyBvcmRlciBmb3IgdGhlIGNpcGhlciBtb2R1bGUgKGFjdHVhbGx5IGNpcGhlcl93cmFwcGVyKSB0byB3b3JrCi0gICAgICAgICAgICAgICAgIyBwcm9wZXJseS4gSG93ZXZlciB0aGVzZSBzeW1ib2xzIGFyZSBkaXNhYmxlZCBpbiB0aGUgYWNjZWxlcmF0ZWQKLSAgICAgICAgICAgICAgICAjIGNvbXBvbmVudCBzbyB3ZSBpZ25vcmUgdGhlbS4KLSAgICAgICAgICAgICAgICAnY2lwaGVyLmNjbScsICdjaXBoZXIuZ2NtJywgJ2NpcGhlci5hZXMnLCAnY2lwaGVyLmFyaWEnLAotICAgICAgICAgICAgICAgICdjaXBoZXIuY2FtZWxsaWEnLAotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdpZ25vcmVkX3Rlc3RzJzogewotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX2NtYWMnOiBbCi0gICAgICAgICAgICAgICAgICAgICMgRm9sbG93aW5nIHRlc3RzIHJlcXVpcmUgQUVTX0MvQVJJQV9DL0NBTUVMTElBX0MgdG8gYmUgZW5hYmxlZCwKLSAgICAgICAgICAgICAgICAgICAgIyBidXQgdGhlc2UgYXJlIG5vdCBhdmFpbGFibGUgaW4gdGhlIGFjY2VsZXJhdGVkIGNvbXBvbmVudC4KLSAgICAgICAgICAgICAgICAgICAgJ0NNQUMgbnVsbCBhcmd1bWVudHMnLAotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKCdDTUFDLiogKEFFU3xBUklBfENhbWVsbGlhKS4qJyksCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9jaXBoZXIucGFkZGluZyc6IFsKLSAgICAgICAgICAgICAgICAgICAgIyBGb2xsb3dpbmcgdGVzdHMgcmVxdWlyZSBBRVNfQy9DQU1FTExJQV9DIHRvIGJlIGVuYWJsZWQsCi0gICAgICAgICAgICAgICAgICAgICMgYnV0IHRoZXNlIGFyZSBub3QgYXZhaWxhYmxlIGluIHRoZSBhY2NlbGVyYXRlZCBjb21wb25lbnQuCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUoJ1NldCggbm9uLWV4aXN0ZW50KT8gcGFkZGluZyB3aXRoIChBRVN8Q0FNRUxMSUEpLionKSwKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BrY3M1JzogWwotICAgICAgICAgICAgICAgICAgICAjIFRoZSBBRVMgcGFydCBvZiBQS0NTIzUgUEJFUzIgaXMgbm90IHlldCBzdXBwb3J0ZWQuCi0gICAgICAgICAgICAgICAgICAgICMgVGhlIHJlc3Qgb2YgUEtDUyM1IChQQktERjIpIHdvcmtzLCB0aG91Z2guCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUocidQQkVTMiAuKiBBRVMtLionKQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfcGtwYXJzZSc6IFsKLSAgICAgICAgICAgICAgICAgICAgIyBQRU0gKGNhbGxlZCBieSBwa3BhcnNlKSByZXF1aXJlcyBBRVNfQyBpbiBvcmRlciB0byBkZWNyeXB0Ci0gICAgICAgICAgICAgICAgICAgICMgdGhlIGtleSwgYnV0IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgYWNjZWxlcmF0ZWQKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wb25lbnQuCi0gICAgICAgICAgICAgICAgICAgIHJlLmNvbXBpbGUoJ1BhcnNlIFJTQSBLZXkuKihwYXNzd29yZHxBRVMtKS4qJyksCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV9wZW0nOiBbCi0gICAgICAgICAgICAgICAgICAgICMgRm9sbG93aW5nIHRlc3RzIHJlcXVpcmUgQUVTX0MsIGJ1dCB0aGlzIGlzIGRpYWJsZWQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICMgYWNjZWxlcmF0ZWQgY29tcG9uZW50LgotICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKCdQRU0gcmVhZCAuKkFFUy4qJyksCi0gICAgICAgICAgICAgICAgICAgICdQRU0gcmVhZCAodW5rbm93biBlbmNyeXB0aW9uIGFsZ29yaXRobSknLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgJ3Rlc3Rfc3VpdGVfZXJyb3InOiBbCi0gICAgICAgICAgICAgICAgICAgICMgRm9sbG93aW5nIHRlc3RzIGRlcGVuZCBvbiBBRVNfQyBidXQgYXJlIG5vdCBhYm91dCB0aGVtCi0gICAgICAgICAgICAgICAgICAgICMgcmVhbGx5LCBqdXN0IG5lZWQgdG8ga25vdyBzb21lIGVycm9yIGNvZGUgaXMgdGhlcmUuCi0gICAgICAgICAgICAgICAgICAgICdTaW5nbGUgbG93IGVycm9yJywKLSAgICAgICAgICAgICAgICAgICAgJ0xvdyBhbmQgaGlnaCBlcnJvcicsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAndGVzdF9zdWl0ZV92ZXJzaW9uJzogWwotICAgICAgICAgICAgICAgICAgICAjIFNpbWlsYXIgdG8gdGVzdF9zdWl0ZV9lcnJvciBhYm92ZS4KLSAgICAgICAgICAgICAgICAgICAgJ0NoZWNrIGZvciBNQkVEVExTX0FFU19DIHdoZW4gYWxyZWFkeSBwcmVzZW50JywKLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICd0ZXN0X3N1aXRlX3BsYXRmb3JtJzogWwotICAgICAgICAgICAgICAgICAgICAjIEluY29tcGF0aWJsZSB3aXRoIHNhbml0aXplcnMgKGUuZy4gQVNhbikuIElmIHRoZSBkcml2ZXIKLSAgICAgICAgICAgICAgICAgICAgIyBjb21wb25lbnQgdXNlcyBhIHNhbml0aXplciBidXQgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQKLSAgICAgICAgICAgICAgICAgICAgIyBkb2Vzbid0LCB3ZSBoYXZlIGEgUEFTUyB2cyBTS0lQIG1pc21hdGNoLgotICAgICAgICAgICAgICAgICAgICAnQ2hlY2sgbWJlZHRsc19jYWxsb2Mgb3ZlcmFsbG9jYXRpb24nLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9CisgICAgJ2FuYWx5emVfY292ZXJhZ2UnOiBDb3ZlcmFnZVRhc2ssCisgICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV9oYXNoJzogRHJpdmVyVlNSZWZlcmVuY2VfaGFzaCwKKyAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX2htYWMnOiBEcml2ZXJWU1JlZmVyZW5jZV9obWFjLAorICAgICdhbmFseXplX2RyaXZlcl92c19yZWZlcmVuY2VfY2lwaGVyX2FlYWRfY21hYyc6IERyaXZlclZTUmVmZXJlbmNlX2NpcGhlcl9hZWFkX2NtYWMsCisgICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV9lY3BfbGlnaHRfb25seSc6IERyaXZlclZTUmVmZXJlbmNlX2VjcF9saWdodF9vbmx5LAorICAgICdhbmFseXplX2RyaXZlcl92c19yZWZlcmVuY2Vfbm9fZWNwX2F0X2FsbCc6IERyaXZlclZTUmVmZXJlbmNlX25vX2VjcF9hdF9hbGwsCisgICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV9lY2Nfbm9fYmlnbnVtJzogRHJpdmVyVlNSZWZlcmVuY2VfZWNjX25vX2JpZ251bSwKKyAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bSc6IERyaXZlclZTUmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bSwKKyAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX2ZmZGhfYWxnJzogRHJpdmVyVlNSZWZlcmVuY2VfZmZkaF9hbGcsCisgICAgJ2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZV90Zm1fY29uZmlnJzogRHJpdmVyVlNSZWZlcmVuY2VfdGZtX2NvbmZpZywKKyAgICAnYW5hbHl6ZV9kcml2ZXJfdnNfcmVmZXJlbmNlX3JzYSc6IERyaXZlclZTUmVmZXJlbmNlX3JzYSwKKyAgICAnYW5hbHl6ZV9ibG9ja19jaXBoZXJfZGlzcGF0Y2gnOiBEcml2ZXJWU1JlZmVyZW5jZV9ibG9ja19jaXBoZXJfZGlzcGF0Y2gsCiB9CiAKLWRlZiBtYWluKCk6Ci0gICAgbWFpbl9yZXN1bHRzID0gUmVzdWx0cygpCi0KLSAgICB0cnk6Ci0gICAgICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPV9fZG9jX18pCi0gICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ291dGNvbWVzJywgbWV0YXZhcj0nT1VUQ09NRVMuQ1NWJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdPdXRjb21lIGZpbGUgdG8gYW5hbHl6ZScpCi0gICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ3NwZWNpZmllZF90YXNrcycsIGRlZmF1bHQ9J2FsbCcsIG5hcmdzPSc/JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBbmFseXNpcyB0byBiZSBkb25lLiBCeSBkZWZhdWx0LCBydW4gYWxsIHRhc2tzLiAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV2l0aCBvbmUgb3IgbW9yZSBUQVNLLCBydW4gb25seSB0aG9zZS4gJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RBU0sgY2FuIGJlIHRoZSBuYW1lIG9mIGEgc2luZ2xlIHRhc2sgb3IgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbW1hL3NwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRhc2tzLiAnKQotICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxpc3QnLCBhY3Rpb249J3N0b3JlX3RydWUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0xpc3QgYWxsIGF2YWlsYWJsZSB0YXNrcyBhbmQgZXhpdC4nKQotICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXJlcXVpcmUtZnVsbC1jb3ZlcmFnZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0nZnVsbF9jb3ZlcmFnZScsIGhlbHA9IlJlcXVpcmUgYWxsIGF2YWlsYWJsZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3QgY2FzZXMgdG8gYmUgZXhlY3V0ZWQgYW5kIGlzc3VlIGFuIGVycm9yICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3RoZXJ3aXNlLiBUaGlzIGZsYWcgaXMgaWdub3JlZCBpZiAndGFzaycgaXMgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuZWl0aGVyICdhbGwnIG5vciAnYW5hbHl6ZV9jb3ZlcmFnZSciKQotICAgICAgICBvcHRpb25zID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotCi0gICAgICAgIGlmIG9wdGlvbnMubGlzdDoKLSAgICAgICAgICAgIGZvciB0YXNrIGluIEtOT1dOX1RBU0tTOgotICAgICAgICAgICAgICAgIHByaW50KHRhc2spCi0gICAgICAgICAgICBzeXMuZXhpdCgwKQotCi0gICAgICAgIGlmIG9wdGlvbnMuc3BlY2lmaWVkX3Rhc2tzID09ICdhbGwnOgotICAgICAgICAgICAgdGFza3NfbGlzdCA9IEtOT1dOX1RBU0tTLmtleXMoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgdGFza3NfbGlzdCA9IHJlLnNwbGl0KHInWywgXSsnLCBvcHRpb25zLnNwZWNpZmllZF90YXNrcykKLSAgICAgICAgICAgIGZvciB0YXNrIGluIHRhc2tzX2xpc3Q6Ci0gICAgICAgICAgICAgICAgaWYgdGFzayBub3QgaW4gS05PV05fVEFTS1M6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ2ludmFsaWQgdGFzazoge31cbicuZm9ybWF0KHRhc2spKQotICAgICAgICAgICAgICAgICAgICBzeXMuZXhpdCgyKQotCi0gICAgICAgIEtOT1dOX1RBU0tTWydhbmFseXplX2NvdmVyYWdlJ11bJ2FyZ3MnXVsnZnVsbF9jb3ZlcmFnZSddID0gb3B0aW9ucy5mdWxsX2NvdmVyYWdlCi0KLSAgICAgICAgIyBJZiB0aGUgb3V0Y29tZSBmaWxlIGV4aXN0cywgcGFyc2UgaXQgb25jZSBhbmQgc2hhcmUgdGhlIHJlc3VsdAotICAgICAgICAjIGFtb25nIHRhc2tzIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuCi0gICAgICAgICMgT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGdlbmVyYXRlZCBieSBleGVjdXRlX3JlZmVyZW5jZV9kcml2ZXJfdGVzdHMuCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcHRpb25zLm91dGNvbWVzKToKLSAgICAgICAgICAgIGlmIGxlbih0YXNrc19saXN0KSA+IDE6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgibXV0aXBsZSB0YXNrcyBmb3VuZCwgcGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBvdXRjb21lcyBmaWxlLlxuIikKLSAgICAgICAgICAgICAgICBzeXMuZXhpdCgyKQotCi0gICAgICAgICAgICB0YXNrX25hbWUgPSB0YXNrc19saXN0WzBdCi0gICAgICAgICAgICB0YXNrID0gS05PV05fVEFTS1NbdGFza19uYW1lXQotICAgICAgICAgICAgaWYgdGFza1sndGVzdF9mdW5jdGlvbiddICE9IGRvX2FuYWx5emVfZHJpdmVyX3ZzX3JlZmVyZW5jZTogIyBweWxpbnQ6IGRpc2FibGU9Y29tcGFyaXNvbi13aXRoLWNhbGxhYmxlCi0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgicGxlYXNlIHByb3ZpZGUgdmFsaWQgb3V0Y29tZXMgZmlsZSBmb3Ige30uXG4iLmZvcm1hdCh0YXNrX25hbWUpKQotICAgICAgICAgICAgICAgIHN5cy5leGl0KDIpCi0KLSAgICAgICAgICAgIGV4ZWN1dGVfcmVmZXJlbmNlX2RyaXZlcl90ZXN0cyhtYWluX3Jlc3VsdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFza1snYXJncyddWydjb21wb25lbnRfcmVmJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFza1snYXJncyddWydjb21wb25lbnRfZHJpdmVyJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5vdXRjb21lcykKLQotICAgICAgICBvdXRjb21lcyA9IHJlYWRfb3V0Y29tZV9maWxlKG9wdGlvbnMub3V0Y29tZXMpCi0KLSAgICAgICAgZm9yIHRhc2sgaW4gdGFza3NfbGlzdDoKLSAgICAgICAgICAgIHRlc3RfZnVuY3Rpb24gPSBLTk9XTl9UQVNLU1t0YXNrXVsndGVzdF9mdW5jdGlvbiddCi0gICAgICAgICAgICB0ZXN0X2FyZ3MgPSBLTk9XTl9UQVNLU1t0YXNrXVsnYXJncyddCi0gICAgICAgICAgICB0ZXN0X2Z1bmN0aW9uKG1haW5fcmVzdWx0cywgb3V0Y29tZXMsIHRlc3RfYXJncykKLQotICAgICAgICBtYWluX3Jlc3VsdHMuaW5mbygiT3ZlcmFsbCByZXN1bHRzOiB7fSB3YXJuaW5ncyBhbmQge30gZXJyb3JzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbl9yZXN1bHRzLndhcm5pbmdfY291bnQsIG1haW5fcmVzdWx0cy5lcnJvcl9jb3VudCkKLQotICAgICAgICBzeXMuZXhpdCgwIGlmIChtYWluX3Jlc3VsdHMuZXJyb3JfY291bnQgPT0gMCkgZWxzZSAxKQotCi0gICAgZXhjZXB0IEV4Y2VwdGlvbjogIyBweWxpbnQ6IGRpc2FibGU9YnJvYWQtZXhjZXB0Ci0gICAgICAgICMgUHJpbnQgdGhlIGJhY2t0cmFjZSBhbmQgZXhpdCBleHBsaWNpdGx5IHdpdGggb3VyIGNob3NlbiBzdGF0dXMuCi0gICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQotICAgICAgICBzeXMuZXhpdCgxMjApCi0KIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgbWFpbigpCisgICAgb3V0Y29tZV9hbmFseXNpcy5tYWluKEtOT1dOX1RBU0tTKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9hdWRpdC12YWxpZGl0eS1kYXRlcy5weSBiL3Rlc3RzL3NjcmlwdHMvYXVkaXQtdmFsaWRpdHktZGF0ZXMucHkKaW5kZXggOTZiNzA1YS4uM2QwOTI0NiAxMDA3NTUKLS0tIGEvdGVzdHMvc2NyaXB0cy9hdWRpdC12YWxpZGl0eS1kYXRlcy5weQorKysgYi90ZXN0cy9zY3JpcHRzL2F1ZGl0LXZhbGlkaXR5LWRhdGVzLnB5CkBAIC04LDcgKzgsNyBAQAogVGhpcyBzY3JpcHQgaXMgdXNlZCB0byBhdWRpdCB0aGUgdmFsaWRpdHkgZGF0ZSBvZiBjcnQvY3JsL2NzciB1c2VkIGZvciB0ZXN0aW5nLgogSXQgcHJpbnRzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBYLjUwOSBvYmplY3RzIGV4Y2x1ZGluZyB0aGUgb2JqZWN0cyB0aGF0CiBhcmUgdmFsaWQgdGhyb3VnaG91dCB0aGUgZGVzaXJlZCB2YWxpZGl0eSBwZXJpb2QuIFRoZSBkYXRhIGFyZSBjb2xsZWN0ZWQKLWZyb20gdGVzdHMvZGF0YV9maWxlcy8gYW5kIHRlc3RzL3N1aXRlcy8qLmRhdGEgZmlsZXMgYnkgZGVmYXVsdC4KK2Zyb20gZnJhbWV3b3JrL2RhdGFfZmlsZXMvIGFuZCB0ZXN0cy9zdWl0ZXMvKi5kYXRhIGZpbGVzIGJ5IGRlZmF1bHQuCiAiIiIKIAogaW1wb3J0IG9zCkBAIC0yOSw4ICsyOSw4IEBACiBmcm9tIGdlbmVyYXRlX3Rlc3RfY29kZSBpbXBvcnQgRmlsZVdyYXBwZXIKIAogaW1wb3J0IHNjcmlwdHNfcGF0aCAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtaW1wb3J0Ci1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCBidWlsZF90cmVlCi1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCBsb2dnaW5nX3V0aWwKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsgaW1wb3J0IGJ1aWxkX3RyZWUKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsgaW1wb3J0IGxvZ2dpbmdfdXRpbAogCiBkZWYgY2hlY2tfY3J5cHRvZ3JhcGh5X3ZlcnNpb24oKToKICAgICBtYXRjaCA9IHJlLm1hdGNoKHInXlswLTldKycsIGNyeXB0b2dyYXBoeS5fX3ZlcnNpb25fXykKQEAgLTI2OSwxMiArMjY5LDEyIEBACiAKIAogY2xhc3MgVGVzdERhdGFBdWRpdG9yKEF1ZGl0b3IpOgotICAgICIiIkNsYXNzIGZvciBhdWRpdGluZyBmaWxlcyBpbiBgdGVzdHMvZGF0YV9maWxlcy9gIiIiCisgICAgIiIiQ2xhc3MgZm9yIGF1ZGl0aW5nIGZpbGVzIGluIGBmcmFtZXdvcmsvZGF0YV9maWxlcy9gIiIiCiAKICAgICBkZWYgY29sbGVjdF9kZWZhdWx0X2ZpbGVzKHNlbGYpOgotICAgICAgICAiIiJDb2xsZWN0IGFsbCBmaWxlcyBpbiBgdGVzdHMvZGF0YV9maWxlcy9gIiIiCi0gICAgICAgIHRlc3RfZGlyID0gc2VsZi5maW5kX3Rlc3RfZGlyKCkKLSAgICAgICAgdGVzdF9kYXRhX2dsb2IgPSBvcy5wYXRoLmpvaW4odGVzdF9kaXIsICdkYXRhX2ZpbGVzLyoqJykKKyAgICAgICAgIiIiQ29sbGVjdCBhbGwgZmlsZXMgaW4gYGZyYW1ld29yay9kYXRhX2ZpbGVzL2AiIiIKKyAgICAgICAgdGVzdF9kYXRhX2dsb2IgPSBvcy5wYXRoLmpvaW4oYnVpbGRfdHJlZS5ndWVzc19tYmVkdGxzX3Jvb3QoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZyYW1ld29yaycsICdkYXRhX2ZpbGVzLyoqJykKICAgICAgICAgZGF0YV9maWxlcyA9IFtmIGZvciBmIGluIGdsb2IuZ2xvYih0ZXN0X2RhdGFfZ2xvYiwgcmVjdXJzaXZlPVRydWUpCiAgICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZildCiAgICAgICAgIHJldHVybiBkYXRhX2ZpbGVzCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2Jhc2ljLWJ1aWxkLXRlc3Quc2ggYi90ZXN0cy9zY3JpcHRzL2Jhc2ljLWJ1aWxkLXRlc3Quc2gKaW5kZXggNTI2MTc1NC4uZDJlOTU1ZiAxMDA3NTUKLS0tIGEvdGVzdHMvc2NyaXB0cy9iYXNpYy1idWlsZC10ZXN0LnNoCisrKyBiL3Rlc3RzL3NjcmlwdHMvYmFzaWMtYnVpbGQtdGVzdC5zaApAQCAtMTAzLDExICsxMDMsNyBAQAogZWNobyAnIyMjIyMjIyMjIyMjIyMjIyBjb21wYXQuc2ggIyMjIyMjIyMjIyMjIyMjIycKIHsKICAgICBlY2hvICcjIyMjIGNvbXBhdC5zaDogRGVmYXVsdCB2ZXJzaW9ucycKLSAgICBzaCBjb21wYXQuc2gKLSAgICBlY2hvCi0KLSAgICBlY2hvICcjIyMjIGNvbXBhdC5zaDogbnVsbCBjaXBoZXInCi0gICAgc2ggY29tcGF0LnNoIC1lICdeJCcgLWYgJ05VTEwnCisgICAgc2ggY29tcGF0LnNoIC1lICdBUklBXHxDSEFDSEEnCiAgICAgZWNobwogCiAgICAgZWNobyAnIyMjIyBjb21wYXQuc2g6IG5leHQgKEFSSUEsIENoYUNoYSknCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2Jhc2ljLWluLWRvY2tlci5zaCBiL3Rlc3RzL3NjcmlwdHMvYmFzaWMtaW4tZG9ja2VyLnNoCmluZGV4IDNhY2EzYTEuLjgxZWU4ZDYgMTAwNzU1Ci0tLSBhL3Rlc3RzL3NjcmlwdHMvYmFzaWMtaW4tZG9ja2VyLnNoCisrKyBiL3Rlc3RzL3NjcmlwdHMvYmFzaWMtaW4tZG9ja2VyLnNoCkBAIC0zMSw3ICszMSw2IEBACiAgICAgcnVuX2luX2RvY2tlciBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CiAgICAgcnVuX2luX2RvY2tlciAtZSBPU1NMX05PX0RUTFM9MSB0ZXN0cy9jb21wYXQuc2gKICAgICBydW5faW5fZG9ja2VyIHRlc3RzL3NzbC1vcHQuc2ggLWUgJ1woRFRMU1x8U0NTVlwpLipvcGVuc3NsJwotICAgIHJ1bl9pbl9kb2NrZXIgdGVzdHMvc2NyaXB0cy90ZXN0LXJlZi1jb25maWdzLnBsCiAgICAgcnVuX2luX2RvY2tlciB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkgY3VydmVzCiAgICAgcnVuX2luX2RvY2tlciB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkga2V4CiBkb25lCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2NoZWNrLWdlbmVyYXRlZC1maWxlcy5zaCBiL3Rlc3RzL3NjcmlwdHMvY2hlY2stZ2VuZXJhdGVkLWZpbGVzLnNoCmluZGV4IDJmMjAwMjYuLmI0ODAwMDAgMTAwNzU1Ci0tLSBhL3Rlc3RzL3NjcmlwdHMvY2hlY2stZ2VuZXJhdGVkLWZpbGVzLnNoCisrKyBiL3Rlc3RzL3NjcmlwdHMvY2hlY2stZ2VuZXJhdGVkLWZpbGVzLnNoCkBAIC0xMjgsOSArMTI4LDExIEBACiAKICMgVGhlc2UgY2hlY2tzIGFyZSBjb21tb24gdG8gTWJlZCBUTFMgYW5kIFRGLVBTQS1DcnlwdG8KIGNoZWNrIHNjcmlwdHMvZ2VuZXJhdGVfcHNhX2NvbnN0YW50cy5weSBwcm9ncmFtcy9wc2EvcHNhX2NvbnN0YW50X25hbWVzX2dlbmVyYXRlZC5jCi1jaGVjayB0ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX2JpZ251bV90ZXN0cy5weSAkKHRlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5IC0tbGlzdCkKLWNoZWNrIHRlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5ICQodGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9lY3BfdGVzdHMucHkgLS1saXN0KQotY2hlY2sgdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkgJCh0ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BzYV90ZXN0cy5weSAtLWxpc3QpCitjaGVjayBmcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkgJChmcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9iaWdudW1fdGVzdHMucHkgLS1saXN0KQorY2hlY2sgZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfY29uZmlnX3Rlc3RzLnB5ICQoZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfY29uZmlnX3Rlc3RzLnB5IC0tbGlzdCkKK2NoZWNrIGZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX2VjcF90ZXN0cy5weSAkKGZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX2VjcF90ZXN0cy5weSAtLWxpc3QpCitjaGVjayBmcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkgJChmcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkgLS1saXN0KQorY2hlY2sgZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9rZXlzLnB5IHRlc3RzL3NyYy90ZXN0X2tleXMuaAogY2hlY2sgc2NyaXB0cy9nZW5lcmF0ZV9kcml2ZXJfd3JhcHBlcnMucHkgJGxpYnJhcnlfZGlyL3BzYV9jcnlwdG9fZHJpdmVyX3dyYXBwZXJzLmggJGxpYnJhcnlfZGlyL3BzYV9jcnlwdG9fZHJpdmVyX3dyYXBwZXJzX25vX3N0YXRpYy5jCiAKICMgQWRkaXRpb25hbCBjaGVja3MgZm9yIE1iZWQgVExTIG9ubHkKQEAgLTEzOCw3ICsxNDAsOSBAQAogICAgIGNoZWNrIHNjcmlwdHMvZ2VuZXJhdGVfZXJyb3JzLnBsIGxpYnJhcnkvZXJyb3IuYwogICAgIGNoZWNrIHNjcmlwdHMvZ2VuZXJhdGVfcXVlcnlfY29uZmlnLnBsIHByb2dyYW1zL3Rlc3QvcXVlcnlfY29uZmlnLmMKICAgICBjaGVjayBzY3JpcHRzL2dlbmVyYXRlX2ZlYXR1cmVzLnBsIGxpYnJhcnkvdmVyc2lvbl9mZWF0dXJlcy5jCi0gICAgY2hlY2sgc2NyaXB0cy9nZW5lcmF0ZV9zc2xfZGVidWdfaGVscGVycy5weSBsaWJyYXJ5L3NzbF9kZWJ1Z19oZWxwZXJzX2dlbmVyYXRlZC5jCisgICAgY2hlY2sgZnJhbWV3b3JrL3NjcmlwdHMvZ2VuZXJhdGVfc3NsX2RlYnVnX2hlbHBlcnMucHkgbGlicmFyeS9zc2xfZGVidWdfaGVscGVyc19nZW5lcmF0ZWQuYworICAgIGNoZWNrIGZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX3RsczEzX2NvbXBhdF90ZXN0cy5weSB0ZXN0cy9vcHQtdGVzdGNhc2VzL3RsczEzLWNvbXBhdC5zaAorICAgIGNoZWNrIGZyYW1ld29yay9zY3JpcHRzL2dlbmVyYXRlX3Rlc3RfY2VydF9tYWNyb3MucHkgdGVzdHMvc3JjL3Rlc3RfY2VydHMuaAogICAgICMgZ2VuZXJhdGVfdmlzdWFsY19maWxlcyBlbnVtZXJhdGVzIHNvdXJjZSBmaWxlcyAobGlicmFyeS8qLmMpLiBJdCBkb2Vzbid0CiAgICAgIyBjYXJlIGFib3V0IHRoZWlyIGNvbnRlbnQsIGJ1dCB0aGUgZmlsZXMgbXVzdCBleGlzdC4gU28gaXQgbXVzdCBydW4gYWZ0ZXIKICAgICAjIHRoZSBzdGVwIHRoYXQgY3JlYXRlcyBvciB1cGRhdGVzIHRoZXNlIGZpbGVzLgpAQCAtMTQ4LDQgKzE1Miw0IEBACiAjIEdlbmVyYXRlZCBmaWxlcyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSByZXBvc2l0b3J5IGV2ZW4gaW4gdGhlIGRldmVsb3BtZW50CiAjIGJyYW5jaC4gKFRoaXMgaXMgaW50ZW5kZWQgdG8gYmUgdGVtcG9yYXJ5LCB1bnRpbCB0aGUgZ2VuZXJhdG9yIHNjcmlwdHMgYXJlCiAjIGZ1bGx5IHJldmlld2VkIGFuZCB0aGUgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IGEgZ2VuZXJhdGVkIGhlYWRlciBmaWxlLikKLWNoZWNrIHRlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX3dyYXBwZXJzLnB5IHRlc3RzL2luY2x1ZGUvdGVzdC9wc2FfdGVzdF93cmFwcGVycy5oIHRlc3RzL3NyYy9wc2FfdGVzdF93cmFwcGVycy5jCitjaGVjayBmcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV9wc2Ffd3JhcHBlcnMucHkgdGVzdHMvaW5jbHVkZS90ZXN0L3BzYV90ZXN0X3dyYXBwZXJzLmggdGVzdHMvc3JjL3BzYV90ZXN0X3dyYXBwZXJzLmMKZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvY2hlY2stcHl0aG9uLWZpbGVzLnNoIGIvdGVzdHMvc2NyaXB0cy9jaGVjay1weXRob24tZmlsZXMuc2gKaW5kZXggNTFlODA3OS4uNzcxMDJiYSAxMDA3NTUKLS0tIGEvdGVzdHMvc2NyaXB0cy9jaGVjay1weXRob24tZmlsZXMuc2gKKysrIGIvdGVzdHMvc2NyaXB0cy9jaGVjay1weXRob24tZmlsZXMuc2gKQEAgLTMxLDE0ICszMSwxNCBAQAogCiBjYW5fcHlsaW50ICgpIHsKICAgICAjIFB5bGludCAxLjUuMiBmcm9tIFVidW50dSAxNi4wNCBpcyB0b28gb2xkOgotICAgICMgICAgIEU6IDM0LCAwOiBVbmFibGUgdG8gaW1wb3J0ICdtYmVkdGxzX2RldicgKGltcG9ydC1lcnJvcikKKyAgICAjICAgICBFOiAzNCwgMDogVW5hYmxlIHRvIGltcG9ydCAnbWJlZHRsc19mcmFtZXdvcmsnIChpbXBvcnQtZXJyb3IpCiAgICAgIyBQeWxpbnQgMS44LjMgZnJvbSBVYnVudHUgMTguMDQgcGFzc2VkIG9uIHRoZSBmaXJzdCBjb21taXQgY29udGFpbmluZyB0aGlzIGxpbmUuCiAgICAgY2hlY2tfdmVyc2lvbiBweWxpbnQgMS44LjMKIH0KIAogY2FuX215cHkgKCkgewogICAgICMgbXlweSAwLjc3MCBpcyB0b28gb2xkOgotICAgICMgICAgIHRlc3RzL3NjcmlwdHMvdGVzdF9wc2FfY29uc3RhbnRfbmFtZXMucHk6MzQ6IGVycm9yOiBDYW5ub3QgZmluZCBpbXBsZW1lbnRhdGlvbiBvciBsaWJyYXJ5IHN0dWIgZm9yIG1vZHVsZSBuYW1lZCAnbWJlZHRsc19kZXYnCisgICAgIyAgICAgdGVzdHMvc2NyaXB0cy90ZXN0X3BzYV9jb25zdGFudF9uYW1lcy5weTozNDogZXJyb3I6IENhbm5vdCBmaW5kIGltcGxlbWVudGF0aW9uIG9yIGxpYnJhcnkgc3R1YiBmb3IgbW9kdWxlIG5hbWVkICdtYmVkdGxzX2ZyYW1ld29yaycKICAgICAjIG15cHkgMC43ODAgZnJvbSBwaXAgcGFzc2VkIG9uIHRoZSBmaXJzdCBjb21taXQgY29udGFpbmluZyB0aGlzIGxpbmUuCiAgICAgY2hlY2tfdmVyc2lvbiBteXB5LnZlcnNpb24gMC43ODAKIH0KQEAgLTU1LDE0ICs1NSwxNCBAQAogZmkKIAogZWNobyAnUnVubmluZyBweWxpbnQgLi4uJwotJFBZVEhPTiAtbSBweWxpbnQgc2NyaXB0cy9tYmVkdGxzX2Rldi8qLnB5IHNjcmlwdHMvKi5weSB0ZXN0cy9zY3JpcHRzLyoucHkgfHwgeworJFBZVEhPTiAtbSBweWxpbnQgZnJhbWV3b3JrL3NjcmlwdHMvKi5weSBmcmFtZXdvcmsvc2NyaXB0cy9tYmVkdGxzX2ZyYW1ld29yay8qLnB5IHNjcmlwdHMvKi5weSB0ZXN0cy9zY3JpcHRzLyoucHkgfHwgewogICAgIGVjaG8gPiYyICJweWxpbnQgcmVwb3J0ZWQgZXJyb3JzIgogICAgIHJldD0xCiB9CiAKIGVjaG8KIGVjaG8gJ1J1bm5pbmcgbXlweSAuLi4nCi0kUFlUSE9OIC1tIG15cHkgc2NyaXB0cy8qLnB5IHRlc3RzL3NjcmlwdHMvKi5weSB8fAorJFBZVEhPTiAtbSBteXB5IGZyYW1ld29yay9zY3JpcHRzLyoucHkgZnJhbWV3b3JrL3NjcmlwdHMvbWJlZHRsc19mcmFtZXdvcmsvKi5weSBzY3JpcHRzLyoucHkgdGVzdHMvc2NyaXB0cy8qLnB5IHx8CiAgIHJldD0xCiAKIGV4aXQgJHJldApkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9jaGVja19maWxlcy5weSBiL3Rlc3RzL3NjcmlwdHMvY2hlY2tfZmlsZXMucHkKaW5kZXggZDVhNGI5Mi4uMmE1ZDY0YiAxMDA3NTUKLS0tIGEvdGVzdHMvc2NyaXB0cy9jaGVja19maWxlcy5weQorKysgYi90ZXN0cy9zY3JpcHRzL2NoZWNrX2ZpbGVzLnB5CkBAIC0yNCw3ICsyNCw3IEBACiAgICAgcGFzcwogCiBpbXBvcnQgc2NyaXB0c19wYXRoICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGJ1aWxkX3RyZWUKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsgaW1wb3J0IGJ1aWxkX3RyZWUKIAogCiBjbGFzcyBGaWxlSXNzdWVUcmFja2VyOgpAQCAtMTA3LDEyICsxMDcsMTIgQEAKICAgICByJ2RvY3MvLipcLnBkZlxaJywKICAgICByJ2RvY3MvLipcLnBuZ1xaJywKICAgICByJ3Byb2dyYW1zL2Z1enovY29ycHVzZXMvW14uXStcWicsCi0gICAgcid0ZXN0cy9kYXRhX2ZpbGVzL1teLl0rXFonLAotICAgIHIndGVzdHMvZGF0YV9maWxlcy8uKlwuKGNydHxjc3J8ZGJ8ZGVyfGtleXxwdWJrZXkpXFonLAotICAgIHIndGVzdHMvZGF0YV9maWxlcy8uKlwucmVxXC5bXi9dK1xaJywKLSAgICByJ3Rlc3RzL2RhdGFfZmlsZXMvLiptYWxmb3JtZWRbXi9dK1xaJywKLSAgICByJ3Rlc3RzL2RhdGFfZmlsZXMvZm9ybWF0X3BrY3MxMlwuZm10XFonLAotICAgIHIndGVzdHMvZGF0YV9maWxlcy8uKlwuYmluXFonLAorICAgIHInZnJhbWV3b3JrL2RhdGFfZmlsZXMvW14uXStcWicsCisgICAgcidmcmFtZXdvcmsvZGF0YV9maWxlcy8uKlwuKGNydHxjc3J8ZGJ8ZGVyfGtleXxwdWJrZXkpXFonLAorICAgIHInZnJhbWV3b3JrL2RhdGFfZmlsZXMvLipcLnJlcVwuW14vXStcWicsCisgICAgcidmcmFtZXdvcmsvZGF0YV9maWxlcy8uKm1hbGZvcm1lZFteL10rXFonLAorICAgIHInZnJhbWV3b3JrL2RhdGFfZmlsZXMvZm9ybWF0X3BrY3MxMlwuZm10XFonLAorICAgIHInZnJhbWV3b3JrL2RhdGFfZmlsZXMvLipcLmJpblxaJywKIF0KIEJJTkFSWV9GSUxFX1BBVEhfUkUgPSByZS5jb21waWxlKCd8Jy5qb2luKEJJTkFSWV9GSUxFX1BBVEhfUkVfTElTVCkpCiAKQEAgLTM3Myw3ICszNzMsNyBAQAogICAgICAgICByJzNyZHBhcnR5Lyg/IShwMjU2LW0pLy4qKScsCiAgICAgICAgICMgRG9jdW1lbnRhdGlvbiBleHBsYWluaW5nIHRoZSBsaWNlbnNlIG1heSBoYXZlIGFjY2lkZW50YWwKICAgICAgICAgIyBmYWxzZSBwb3NpdGl2ZXMuCi0gICAgICAgIHInKENoYW5nZUxvZ3xMSUNFTlNFfFstMC05QS1aX2Etel0rXC5tZClcWicsCisgICAgICAgIHInKENoYW5nZUxvZ3xMSUNFTlNFfGZyYW1ld29ya1wvTElDRU5TRXxbLTAtOUEtWl9hLXpdK1wubWQpXFonLAogICAgICAgICAjIEZpbGVzIGltcG9ydGVkIGZyb20gVEYtTSwgYW5kIG5vdCB1c2VkIGV4Y2VwdCBpbiB0ZXN0IGJ1aWxkcywKICAgICAgICAgIyBtYXkgYmUgdW5kZXIgYSBkaWZmZXJlbnQgbGljZW5zZS4KICAgICAgICAgcidjb25maWdzL2V4dC9jcnlwdG9fY29uZmlnX3Byb2ZpbGVfbWVkaXVtXC5oXFonLApAQCAtMzgxLDYgKzM4MSw3IEBACiAgICAgICAgIHInY29uZmlncy9leHQvUkVBRE1FXC5tZFxaJywKICAgICAgICAgIyBUaGlyZC1wYXJ0eSBmaWxlLgogICAgICAgICByJ2Rjb1wudHh0XFonLAorICAgICAgICByJ2ZyYW1ld29ya1wvZGNvXC50eHRcWicsCiAgICAgXQogICAgIHBhdGhfZXhlbXB0aW9ucyA9IHJlLmNvbXBpbGUoJ3wnLmpvaW4oQklOQVJZX0ZJTEVfUEFUSF9SRV9MSVNUICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQ0VOU0VfRVhFTVBUSU9OX1JFX0xJU1QpKQpAQCAtNDg2LDkgKzQ4NywxNyBAQAogCiAgICAgICAgIFRoZXNlIGFyZSB0aGUgcmVndWxhciBmaWxlcyBjb21taXRlZCBpbnRvIEdpdC4KICAgICAgICAgIiIiCisgICAgICAgIGJ5dGVzX291dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsnZ2l0JywgJy1DJywgJ2ZyYW1ld29yaycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbHMtZmlsZXMnLCAnLXonXSkKKyAgICAgICAgYnl0ZXNfZnJhbWV3b3JrX2ZpbGVwYXRocyA9IGJ5dGVzX291dHB1dC5zcGxpdChiJ1wwJylbOi0xXQorICAgICAgICBieXRlc19mcmFtZXdvcmtfZmlsZXBhdGhzID0gWyJmcmFtZXdvcmsvIi5lbmNvZGUoKSArIGZpbGVwYXRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGZpbGVwYXRoIGluIGJ5dGVzX2ZyYW1ld29ya19maWxlcGF0aHNdCisKICAgICAgICAgYnl0ZXNfb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWydnaXQnLCAnbHMtZmlsZXMnLCAnLXonXSkKLSAgICAgICAgYnl0ZXNfZmlsZXBhdGhzID0gYnl0ZXNfb3V0cHV0LnNwbGl0KGInXDAnKVs6LTFdCisgICAgICAgIGJ5dGVzX2ZpbGVwYXRocyA9IGJ5dGVzX291dHB1dC5zcGxpdChiJ1wwJylbOi0xXSArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXNfZnJhbWV3b3JrX2ZpbGVwYXRocwogICAgICAgICBhc2NpaV9maWxlcGF0aHMgPSBtYXAobGFtYmRhIGZwOiBmcC5kZWNvZGUoJ2FzY2lpJyksIGJ5dGVzX2ZpbGVwYXRocykKKwogICAgICAgICAjIEZpbHRlciBvdXQgZGlyZWN0b3JpZXMuIE5vcm1hbGx5IEdpdCBkb2Vzbid0IGxpc3QgZGlyZWN0b3JpZXMKICAgICAgICAgIyAoaXQgb25seSBrbm93cyBhYm91dCB0aGUgZmlsZXMgaW5zaWRlIHRoZW0pLCBidXQgdGhlcmUgaXMKICAgICAgICAgIyBhdCBsZWFzdCBvbmUgY2FzZSB3aGVyZSAnZ2l0IGxzLWZpbGVzJyBpbmNsdWRlcyBhIGRpcmVjdG9yeToKZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvY2hlY2tfbmFtZXMucHkgYi90ZXN0cy9zY3JpcHRzL2NoZWNrX25hbWVzLnB5CmluZGV4IDllOGVkMjEuLjUxMjhkYzggMTAwNzU1Ci0tLSBhL3Rlc3RzL3NjcmlwdHMvY2hlY2tfbmFtZXMucHkKKysrIGIvdGVzdHMvc2NyaXB0cy9jaGVja19uYW1lcy5weQpAQCAtNDUsNyArNDUsNyBAQAogaW1wb3J0IGxvZ2dpbmcKIAogaW1wb3J0IHNjcmlwdHNfcGF0aCAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtaW1wb3J0Ci1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCBidWlsZF90cmVlCitmcm9tIG1iZWR0bHNfZnJhbWV3b3JrIGltcG9ydCBidWlsZF90cmVlCiAKIAogIyBOYW1pbmcgcGF0dGVybnMgdG8gY2hlY2sgYWdhaW5zdC4gVGhlc2UgYXJlIGRlZmluZWQgb3V0c2lkZSB0aGUgTmFtZUNoZWNrCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2NoZWNrX3Rlc3RfY2FzZXMucHkgYi90ZXN0cy9zY3JpcHRzL2NoZWNrX3Rlc3RfY2FzZXMucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGQ2N2U2NzguLjAwMDAwMDAKLS0tIGEvdGVzdHMvc2NyaXB0cy9jaGVja190ZXN0X2Nhc2VzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjQxICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKLQotIiIiU2FuaXR5IGNoZWNrcyBmb3IgdGVzdCBkYXRhLgotCi1UaGlzIHByb2dyYW0gY29udGFpbnMgYSBjbGFzcyBmb3IgdHJhdmVyc2luZyB0ZXN0IGNhc2VzIHRoYXQgY2FuIGJlIHVzZWQKLWluZGVwZW5kZW50bHkgb2YgdGhlIGNoZWNrcy4KLSIiIgotCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLQotaW1wb3J0IGFyZ3BhcnNlCi1pbXBvcnQgZ2xvYgotaW1wb3J0IG9zCi1pbXBvcnQgcmUKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgc3lzCi0KLWNsYXNzIFNjcmlwdE91dHB1dEVycm9yKFZhbHVlRXJyb3IpOgotICAgICIiIkEga2luZCBvZiBWYWx1ZUVycm9yIHRoYXQgaW5kaWNhdGVzIHdlIGZvdW5kCi0gICAgdGhlIHNjcmlwdCBkb2Vzbid0IGxpc3QgdGVzdCBjYXNlcyBpbiBhbiBleHBlY3RlZAotICAgIHBhdHRlcm4uCi0gICAgIiIiCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgc2NyaXB0X25hbWUoc2VsZik6Ci0gICAgICAgIHJldHVybiBzdXBlcigpLmFyZ3NbMF0KLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBpZHgoc2VsZik6Ci0gICAgICAgIHJldHVybiBzdXBlcigpLmFyZ3NbMV0KLQotICAgIEBwcm9wZXJ0eQotICAgIGRlZiBsaW5lKHNlbGYpOgotICAgICAgICByZXR1cm4gc3VwZXIoKS5hcmdzWzJdCi0KLWNsYXNzIFJlc3VsdHM6Ci0gICAgIiIiU3RvcmUgZmlsZSBhbmQgbGluZSBpbmZvcm1hdGlvbiBhYm91dCBlcnJvcnMgb3Igd2FybmluZ3MgaW4gdGVzdCBzdWl0ZXMuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucyk6Ci0gICAgICAgIHNlbGYuZXJyb3JzID0gMAotICAgICAgICBzZWxmLndhcm5pbmdzID0gMAotICAgICAgICBzZWxmLmlnbm9yZV93YXJuaW5ncyA9IG9wdGlvbnMucXVpZXQKLQotICAgIGRlZiBlcnJvcihzZWxmLCBmaWxlX25hbWUsIGxpbmVfbnVtYmVyLCBmbXQsICphcmdzKToKLSAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgoJ3t9Ont9OkVSUk9SOicgKyBmbXQgKyAnXG4nKS4KLSAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoZmlsZV9uYW1lLCBsaW5lX251bWJlciwgKmFyZ3MpKQotICAgICAgICBzZWxmLmVycm9ycyArPSAxCi0KLSAgICBkZWYgd2FybmluZyhzZWxmLCBmaWxlX25hbWUsIGxpbmVfbnVtYmVyLCBmbXQsICphcmdzKToKLSAgICAgICAgaWYgbm90IHNlbGYuaWdub3JlX3dhcm5pbmdzOgotICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgoJ3t9Ont9Oldhcm5pbmc6JyArIGZtdCArICdcbicpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoZmlsZV9uYW1lLCBsaW5lX251bWJlciwgKmFyZ3MpKQotICAgICAgICAgICAgc2VsZi53YXJuaW5ncyArPSAxCi0KLWNsYXNzIFRlc3REZXNjcmlwdGlvbkV4cGxvcmVyOgotICAgICIiIkFuIGl0ZXJhdG9yIG92ZXIgdGVzdCBjYXNlcyB3aXRoIGRlc2NyaXB0aW9ucy4KLQotVGhlIHRlc3QgY2FzZXMgdGhhdCBoYXZlIGRlc2NyaXB0aW9ucyBhcmU6Ci0qIEluZGl2aWR1YWwgdW5pdCB0ZXN0cyAoZW50cmllcyBpbiBhIC5kYXRhIGZpbGUpIGluIHRlc3Qgc3VpdGVzLgotKiBJbmRpdmlkdWFsIHRlc3QgY2FzZXMgaW4gc3NsLW9wdC5zaC4KLQotVGhpcyBpcyBhbiBhYnN0cmFjdCBjbGFzcy4gVG8gdXNlIGl0LCBkZXJpdmUgYSBjbGFzcyB0aGF0IGltcGxlbWVudHMKLXRoZSBwcm9jZXNzX3Rlc3RfY2FzZSBtZXRob2QsIGFuZCBjYWxsIHdhbGtfYWxsKCkuCi0iIiIKLQotICAgIGRlZiBwcm9jZXNzX3Rlc3RfY2FzZShzZWxmLCBwZXJfZmlsZV9zdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9uYW1lLCBsaW5lX251bWJlciwgZGVzY3JpcHRpb24pOgotICAgICAgICAiIiJQcm9jZXNzIGEgdGVzdCBjYXNlLgotCi1wZXJfZmlsZV9zdGF0ZTogYW4gb2JqZWN0IGNyZWF0ZWQgYnkgbmV3X3Blcl9maWxlX3N0YXRlKCkgYXQgdGhlIGJlZ2lubmluZwotICAgICAgICAgICAgICAgIG9mIGVhY2ggZmlsZS4KLWZpbGVfbmFtZTogYSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlIHRlc3QgY2FzZS4KLWxpbmVfbnVtYmVyOiB0aGUgbGluZSBudW1iZXIgaW4gdGhlIGdpdmVuIGZpbGUuCi1kZXNjcmlwdGlvbjogdGhlIHRlc3QgY2FzZSBkZXNjcmlwdGlvbiBhcyBhIGJ5dGUgc3RyaW5nLgotIiIiCi0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKLQotICAgIGRlZiBuZXdfcGVyX2ZpbGVfc3RhdGUoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBhIG5ldyBwZXItZmlsZSBzdGF0ZSBvYmplY3QuCi0KLVRoZSBkZWZhdWx0IHBlci1maWxlIHN0YXRlIG9iamVjdCBpcyBOb25lLiBDaGlsZCBjbGFzc2VzIHRoYXQgcmVxdWlyZSBwZXItZmlsZQotc3RhdGUgbWF5IG92ZXJyaWRlIHRoaXMgbWV0aG9kLgotIiIiCi0gICAgICAgICNweWxpbnQ6IGRpc2FibGU9bm8tc2VsZi11c2UKLSAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgIGRlZiB3YWxrX3Rlc3Rfc3VpdGUoc2VsZiwgZGF0YV9maWxlX25hbWUpOgotICAgICAgICAiIiJJdGVyYXRlIG92ZXIgdGhlIHRlc3QgY2FzZXMgaW4gdGhlIGdpdmVuIHVuaXQgdGVzdCBkYXRhIGZpbGUuIiIiCi0gICAgICAgIGluX3BhcmFncmFwaCA9IEZhbHNlCi0gICAgICAgIGRlc2NyaXB0aW9ucyA9IHNlbGYubmV3X3Blcl9maWxlX3N0YXRlKCkgIyBweWxpbnQ6IGRpc2FibGU9YXNzaWdubWVudC1mcm9tLW5vbmUKLSAgICAgICAgd2l0aCBvcGVuKGRhdGFfZmlsZV9uYW1lLCAncmInKSBhcyBkYXRhX2ZpbGU6Ci0gICAgICAgICAgICBmb3IgbGluZV9udW1iZXIsIGxpbmUgaW4gZW51bWVyYXRlKGRhdGFfZmlsZSwgMSk6Ci0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucnN0cmlwKGInXHJcbicpCi0gICAgICAgICAgICAgICAgaWYgbm90IGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgIGluX3BhcmFncmFwaCA9IEZhbHNlCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKGInIycpOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGlmIG5vdCBpbl9wYXJhZ3JhcGg6Ci0gICAgICAgICAgICAgICAgICAgICMgVGhpcyBpcyBhIHRlc3QgY2FzZSBkZXNjcmlwdGlvbiBsaW5lLgotICAgICAgICAgICAgICAgICAgICBzZWxmLnByb2Nlc3NfdGVzdF9jYXNlKGRlc2NyaXB0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhX2ZpbGVfbmFtZSwgbGluZV9udW1iZXIsIGxpbmUpCi0gICAgICAgICAgICAgICAgaW5fcGFyYWdyYXBoID0gVHJ1ZQotCi0gICAgZGVmIGNvbGxlY3RfZnJvbV9zY3JpcHQoc2VsZiwgc2NyaXB0X25hbWUpOgotICAgICAgICAiIiJDb2xsZWN0IHRoZSB0ZXN0IGNhc2VzIGluIGEgc2NyaXB0IGJ5IGNhbGxpbmcgaXRzIGxpc3RpbmcgdGVzdCBjYXNlcwotb3B0aW9uIiIiCi0gICAgICAgIGRlc2NyaXB0aW9ucyA9IHNlbGYubmV3X3Blcl9maWxlX3N0YXRlKCkgIyBweWxpbnQ6IGRpc2FibGU9YXNzaWdubWVudC1mcm9tLW5vbmUKLSAgICAgICAgbGlzdGVkID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWydzaCcsIHNjcmlwdF9uYW1lLCAnLS1saXN0LXRlc3QtY2FzZXMnXSkKLSAgICAgICAgIyBBc3N1bWUgdGVzdCBmaWxlIGlzIHJlc3BvbnNpYmxlIGZvciBwcmludGluZyBpZGVudGljYWwgZm9ybWF0IG9mCi0gICAgICAgICMgdGVzdCBjYXNlIGRlc2NyaXB0aW9uIGJldHdlZW4gLS1saXN0LXRlc3QtY2FzZXMgYW5kIGl0cyBPVVRDT01FLkNTVgotICAgICAgICAjCi0gICAgICAgICMgaWR4IGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHRlc3QgY2FzZSBzaW5jZSB0aGVyZSBpcyBubyBsaW5lIG51bWJlcgotICAgICAgICAjIGluIHRoZSBzY3JpcHQgZm9yIGVhY2ggdGVzdCBjYXNlLgotICAgICAgICBmb3IgaWR4LCBsaW5lIGluIGVudW1lcmF0ZShsaXN0ZWQuc3BsaXRsaW5lcygpKToKLSAgICAgICAgICAgICMgV2UgYXJlIGV4cGVjdGluZyB0aGUgc2NyaXB0IHRvIGxpc3QgdGhlIHRlc3QgY2FzZXMgaW4KLSAgICAgICAgICAgICMgYDxzdWl0ZV9uYW1lPjs8ZGVzY3JpcHRpb24+YCBwYXR0ZXJuLgotICAgICAgICAgICAgc2NyaXB0X291dHB1dHMgPSBsaW5lLnNwbGl0KGInOycsIDEpCi0gICAgICAgICAgICBpZiBsZW4oc2NyaXB0X291dHB1dHMpID09IDI6Ci0gICAgICAgICAgICAgICAgc3VpdGVfbmFtZSwgZGVzY3JpcHRpb24gPSBzY3JpcHRfb3V0cHV0cwotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBTY3JpcHRPdXRwdXRFcnJvcihzY3JpcHRfbmFtZSwgaWR4LCBsaW5lLmRlY29kZSgidXRmLTgiKSkKLQotICAgICAgICAgICAgc2VsZi5wcm9jZXNzX3Rlc3RfY2FzZShkZXNjcmlwdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1aXRlX25hbWUuZGVjb2RlKCd1dGYtOCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uLnJzdHJpcCgpKQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBjb2xsZWN0X3Rlc3RfZGlyZWN0b3JpZXMoKToKLSAgICAgICAgIiIiR2V0IHRoZSByZWxhdGl2ZSBwYXRoIGZvciB0aGUgVExTIGFuZCBDcnlwdG8gdGVzdCBkaXJlY3Rvcmllcy4iIiIKLSAgICAgICAgaWYgb3MucGF0aC5pc2RpcigndGVzdHMnKToKLSAgICAgICAgICAgIHRlc3RzX2RpciA9ICd0ZXN0cycKLSAgICAgICAgZWxpZiBvcy5wYXRoLmlzZGlyKCdzdWl0ZXMnKToKLSAgICAgICAgICAgIHRlc3RzX2RpciA9ICcuJwotICAgICAgICBlbGlmIG9zLnBhdGguaXNkaXIoJy4uL3N1aXRlcycpOgotICAgICAgICAgICAgdGVzdHNfZGlyID0gJy4uJwotICAgICAgICBkaXJlY3RvcmllcyA9IFt0ZXN0c19kaXJdCi0gICAgICAgIHJldHVybiBkaXJlY3RvcmllcwotCi0gICAgZGVmIHdhbGtfYWxsKHNlbGYpOgotICAgICAgICAiIiJJdGVyYXRlIG92ZXIgYWxsIG5hbWVkIHRlc3QgY2FzZXMuIiIiCi0gICAgICAgIHRlc3RfZGlyZWN0b3JpZXMgPSBzZWxmLmNvbGxlY3RfdGVzdF9kaXJlY3RvcmllcygpCi0gICAgICAgIGZvciBkaXJlY3RvcnkgaW4gdGVzdF9kaXJlY3RvcmllczoKLSAgICAgICAgICAgIGZvciBkYXRhX2ZpbGVfbmFtZSBpbiBnbG9iLmdsb2Iob3MucGF0aC5qb2luKGRpcmVjdG9yeSwgJ3N1aXRlcycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKi5kYXRhJykpOgotICAgICAgICAgICAgICAgIHNlbGYud2Fsa190ZXN0X3N1aXRlKGRhdGFfZmlsZV9uYW1lKQotCi0gICAgICAgICAgICBmb3Igc2hfZmlsZSBpbiBbJ3NzbC1vcHQuc2gnLCAnY29tcGF0LnNoJ106Ci0gICAgICAgICAgICAgICAgc2hfZmlsZSA9IG9zLnBhdGguam9pbihkaXJlY3RvcnksIHNoX2ZpbGUpCi0gICAgICAgICAgICAgICAgc2VsZi5jb2xsZWN0X2Zyb21fc2NyaXB0KHNoX2ZpbGUpCi0KLWNsYXNzIFRlc3REZXNjcmlwdGlvbnMoVGVzdERlc2NyaXB0aW9uRXhwbG9yZXIpOgotICAgICIiIkNvbGxlY3QgdGhlIGF2YWlsYWJsZSB0ZXN0IGNhc2VzLiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKLSAgICAgICAgc2VsZi5kZXNjcmlwdGlvbnMgPSBzZXQoKQotCi0gICAgZGVmIHByb2Nlc3NfdGVzdF9jYXNlKHNlbGYsIF9wZXJfZmlsZV9zdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9uYW1lLCBfbGluZV9udW1iZXIsIGRlc2NyaXB0aW9uKToKLSAgICAgICAgIiIiUmVjb3JkIGFuIGF2YWlsYWJsZSB0ZXN0IGNhc2UuIiIiCi0gICAgICAgIGJhc2VfbmFtZSA9IHJlLnN1YihyJ1wuW14uXSokJywgJycsIHJlLnN1YihyJy4qLycsICcnLCBmaWxlX25hbWUpKQotICAgICAgICBrZXkgPSAnOycuam9pbihbYmFzZV9uYW1lLCBkZXNjcmlwdGlvbi5kZWNvZGUoJ3V0Zi04JyldKQotICAgICAgICBzZWxmLmRlc2NyaXB0aW9ucy5hZGQoa2V5KQotCi1kZWYgY29sbGVjdF9hdmFpbGFibGVfdGVzdF9jYXNlcygpOgotICAgICIiIkNvbGxlY3QgdGhlIGF2YWlsYWJsZSB0ZXN0IGNhc2VzLiIiIgotICAgIGV4cGxvcmVyID0gVGVzdERlc2NyaXB0aW9ucygpCi0gICAgZXhwbG9yZXIud2Fsa19hbGwoKQotICAgIHJldHVybiBzb3J0ZWQoZXhwbG9yZXIuZGVzY3JpcHRpb25zKQotCi1jbGFzcyBEZXNjcmlwdGlvbkNoZWNrZXIoVGVzdERlc2NyaXB0aW9uRXhwbG9yZXIpOgotICAgICIiIkNoZWNrIGFsbCB0ZXN0IGNhc2UgZGVzY3JpcHRpb25zLgotCi0qIENoZWNrIHRoYXQgZWFjaCBkZXNjcmlwdGlvbiBpcyB2YWxpZCAobGVuZ3RoLCBhbGxvd2VkIGNoYXJhY3RlciBzZXQsIGV0Yy4pLgotKiBDaGVjayB0aGF0IHRoZXJlIGlzIG5vIGR1cGxpY2F0ZWQgZGVzY3JpcHRpb24gaW5zaWRlIG9mIG9uZSB0ZXN0IHN1aXRlLgotIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgcmVzdWx0cyk6Ci0gICAgICAgIHNlbGYucmVzdWx0cyA9IHJlc3VsdHMKLQotICAgIGRlZiBuZXdfcGVyX2ZpbGVfc3RhdGUoc2VsZik6Ci0gICAgICAgICIiIkRpY3Rpb25hcnkgbWFwcGluZyBkZXNjcmlwdGlvbnMgdG8gdGhlaXIgbGluZSBudW1iZXIuIiIiCi0gICAgICAgIHJldHVybiB7fQotCi0gICAgZGVmIHByb2Nlc3NfdGVzdF9jYXNlKHNlbGYsIHBlcl9maWxlX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX25hbWUsIGxpbmVfbnVtYmVyLCBkZXNjcmlwdGlvbik6Ci0gICAgICAgICIiIkNoZWNrIHRlc3QgY2FzZSBkZXNjcmlwdGlvbnMgZm9yIGVycm9ycy4iIiIKLSAgICAgICAgcmVzdWx0cyA9IHNlbGYucmVzdWx0cwotICAgICAgICBzZWVuID0gcGVyX2ZpbGVfc3RhdGUKLSAgICAgICAgaWYgZGVzY3JpcHRpb24gaW4gc2VlbjoKLSAgICAgICAgICAgIHJlc3VsdHMuZXJyb3IoZmlsZV9uYW1lLCBsaW5lX251bWJlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ0R1cGxpY2F0ZSBkZXNjcmlwdGlvbiAoYWxzbyBsaW5lIHt9KScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNlZW5bZGVzY3JpcHRpb25dKQotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGlmIHJlLnNlYXJjaChicidbXHQ7XScsIGRlc2NyaXB0aW9uKToKLSAgICAgICAgICAgIHJlc3VsdHMuZXJyb3IoZmlsZV9uYW1lLCBsaW5lX251bWJlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvcmJpZGRlbiBjaGFyYWN0ZXIgXCd7fVwnIGluIGRlc2NyaXB0aW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmUuc2VhcmNoKGJyJ1tcdDtdJywgZGVzY3JpcHRpb24pLmdyb3VwKDApLmRlY29kZSgnYXNjaWknKSkKLSAgICAgICAgaWYgcmUuc2VhcmNoKGJyJ1teIC1+XScsIGRlc2NyaXB0aW9uKToKLSAgICAgICAgICAgIHJlc3VsdHMuZXJyb3IoZmlsZV9uYW1lLCBsaW5lX251bWJlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vbi1BU0NJSSBjaGFyYWN0ZXIgaW4gZGVzY3JpcHRpb24nKQotICAgICAgICBpZiBsZW4oZGVzY3JpcHRpb24pID4gNjY6Ci0gICAgICAgICAgICByZXN1bHRzLndhcm5pbmcoZmlsZV9uYW1lLCBsaW5lX251bWJlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGVzdCBkZXNjcmlwdGlvbiB0b28gbG9uZyAoe30gPiA2NiknLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihkZXNjcmlwdGlvbikpCi0gICAgICAgIHNlZW5bZGVzY3JpcHRpb25dID0gbGluZV9udW1iZXIKLQotZGVmIG1haW4oKToKLSAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj1fX2RvY19fKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbGlzdC1hbGwnLAotICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0xpc3QgYWxsIHRlc3QgY2FzZXMsIHdpdGhvdXQgZG9pbmcgY2hlY2tzJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXF1aWV0JywgJy1xJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdIaWRlIHdhcm5pbmdzJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXZlcmJvc2UnLCAnLXYnLAotICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV9mYWxzZScsIGRlc3Q9J3F1aWV0JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1Nob3cgd2FybmluZ3MgKGRlZmF1bHQ6IG9uOyB1bmRvZXMgLS1xdWlldCknKQotICAgIG9wdGlvbnMgPSBwYXJzZXIucGFyc2VfYXJncygpCi0gICAgaWYgb3B0aW9ucy5saXN0X2FsbDoKLSAgICAgICAgZGVzY3JpcHRpb25zID0gY29sbGVjdF9hdmFpbGFibGVfdGVzdF9jYXNlcygpCi0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJ1xuJy5qb2luKGRlc2NyaXB0aW9ucyArIFsnJ10pKQotICAgICAgICByZXR1cm4KLSAgICByZXN1bHRzID0gUmVzdWx0cyhvcHRpb25zKQotICAgIGNoZWNrZXIgPSBEZXNjcmlwdGlvbkNoZWNrZXIocmVzdWx0cykKLSAgICB0cnk6Ci0gICAgICAgIGNoZWNrZXIud2Fsa19hbGwoKQotICAgIGV4Y2VwdCBTY3JpcHRPdXRwdXRFcnJvciBhcyBlOgotICAgICAgICByZXN1bHRzLmVycm9yKGUuc2NyaXB0X25hbWUsIGUuaWR4LAotICAgICAgICAgICAgICAgICAgICAgICcie30iIHNob3VsZCBiZSBsaXN0ZWQgYXMgIjxzdWl0ZV9uYW1lPjs8ZGVzY3JpcHRpb24+IicsCi0gICAgICAgICAgICAgICAgICAgICAgZS5saW5lKQotICAgIGlmIChyZXN1bHRzLndhcm5pbmdzIG9yIHJlc3VsdHMuZXJyb3JzKSBhbmQgbm90IG9wdGlvbnMucXVpZXQ6Ci0gICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ3t9OiB7fSBlcnJvcnMsIHt9IHdhcm5pbmdzXG4nCi0gICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChzeXMuYXJndlswXSwgcmVzdWx0cy5lcnJvcnMsIHJlc3VsdHMud2FybmluZ3MpKQotICAgIHN5cy5leGl0KDEgaWYgcmVzdWx0cy5lcnJvcnMgZWxzZSAwKQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLWJhc2ljLWNoZWNrcy5zaCBiL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1iYXNpYy1jaGVja3Muc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I2MGI0OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1iYXNpYy1jaGVja3Muc2gKQEAgLTAsMCArMSwxNjQgQEAKKyMgY29tcG9uZW50cy1iYXNpYy1jaGVja3Muc2gKKyMKKyMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgorCisjIFRoaXMgZmlsZSBjb250YWlucyB0ZXN0IGNvbXBvbmVudHMgdGhhdCBhcmUgZXhlY3V0ZWQgYnkgYWxsLnNoCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMgQmFzaWMgY2hlY2tzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2NvbXBvbmVudF9jaGVja19yZWN1cnNpb24gKCkgeworICAgIG1zZyAiQ2hlY2s6IHJlY3Vyc2lvbi5wbCIgIyA8IDFzCisgICAgdGVzdHMvc2NyaXB0cy9yZWN1cnNpb24ucGwgbGlicmFyeS8qLmMKK30KKworY29tcG9uZW50X2NoZWNrX2dlbmVyYXRlZF9maWxlcyAoKSB7CisgICAgbXNnICJDaGVjazogY2hlY2stZ2VuZXJhdGVkLWZpbGVzLCBmaWxlcyBnZW5lcmF0ZWQgd2l0aCBtYWtlIiAjIDJzCisgICAgbWFrZSBnZW5lcmF0ZWRfZmlsZXMKKyAgICB0ZXN0cy9zY3JpcHRzL2NoZWNrLWdlbmVyYXRlZC1maWxlcy5zaAorCisgICAgbXNnICJDaGVjazogY2hlY2stZ2VuZXJhdGVkLWZpbGVzIC11LCBmaWxlcyBwcmVzZW50IiAjIDJzCisgICAgdGVzdHMvc2NyaXB0cy9jaGVjay1nZW5lcmF0ZWQtZmlsZXMuc2ggLXUKKyAgICAjIENoZWNrIHRoYXQgdGhlIGdlbmVyYXRlZCBmaWxlcyBhcmUgY29uc2lkZXJlZCB1cCB0byBkYXRlLgorICAgIHRlc3RzL3NjcmlwdHMvY2hlY2stZ2VuZXJhdGVkLWZpbGVzLnNoCisKKyAgICBtc2cgIkNoZWNrOiBjaGVjay1nZW5lcmF0ZWQtZmlsZXMgLXUsIGZpbGVzIGFic2VudCIgIyAycworICAgIGNvbW1hbmQgbWFrZSBuZWF0CisgICAgdGVzdHMvc2NyaXB0cy9jaGVjay1nZW5lcmF0ZWQtZmlsZXMuc2ggLXUKKyAgICAjIENoZWNrIHRoYXQgdGhlIGdlbmVyYXRlZCBmaWxlcyBhcmUgY29uc2lkZXJlZCB1cCB0byBkYXRlLgorICAgIHRlc3RzL3NjcmlwdHMvY2hlY2stZ2VuZXJhdGVkLWZpbGVzLnNoCisKKyAgICAjIFRoaXMgY29tcG9uZW50IGVuZHMgd2l0aCB0aGUgZ2VuZXJhdGVkIGZpbGVzIHByZXNlbnQgaW4gdGhlIHNvdXJjZSB0cmVlLgorICAgICMgVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHN1YnNlcXVlbnQgY29tcG9uZW50cyEKK30KKworY29tcG9uZW50X2NoZWNrX2RveHlfYmxvY2tzICgpIHsKKyAgICBtc2cgIkNoZWNrOiBkb3h5Z2VuIG1hcmt1cCBvdXRzaWRlIGRveHlnZW4gYmxvY2tzIiAjIDwgMXMKKyAgICB0ZXN0cy9zY3JpcHRzL2NoZWNrLWRveHktYmxvY2tzLnBsCit9CisKK2NvbXBvbmVudF9jaGVja19maWxlcyAoKSB7CisgICAgbXNnICJDaGVjazogZmlsZSBzYW5pdHkgY2hlY2tzIChwZXJtaXNzaW9ucywgZW5jb2RpbmdzKSIgIyA8IDFzCisgICAgdGVzdHMvc2NyaXB0cy9jaGVja19maWxlcy5weQorfQorCitjb21wb25lbnRfY2hlY2tfY2hhbmdlbG9nICgpIHsKKyAgICBtc2cgIkNoZWNrOiBjaGFuZ2Vsb2cgZW50cmllcyIgIyA8IDFzCisgICAgcm0gLWYgQ2hhbmdlTG9nLm5ldworICAgIHNjcmlwdHMvYXNzZW1ibGVfY2hhbmdlbG9nLnB5IC1vIENoYW5nZUxvZy5uZXcKKyAgICBpZiBbIC1lIENoYW5nZUxvZy5uZXcgXTsgdGhlbgorICAgICAgICAjIFNob3cgdGhlIGRpZmYgZm9yIGluZm9ybWF0aW9uLiBJdCBpc24ndCBhbiBlcnJvciBpZiB0aGUgZGlmZiBpcworICAgICAgICAjIG5vbi1lbXB0eS4KKyAgICAgICAgZGlmZiAtdSBDaGFuZ2VMb2cgQ2hhbmdlTG9nLm5ldyB8fCB0cnVlCisgICAgICAgIHJtIENoYW5nZUxvZy5uZXcKKyAgICBmaQorfQorCitjb21wb25lbnRfY2hlY2tfbmFtZXMgKCkgeworICAgIG1zZyAiQ2hlY2s6IGRlY2xhcmVkIGFuZCBleHBvcnRlZCBuYW1lcyAoYnVpbGRzIHRoZSBsaWJyYXJ5KSIgIyA8IDNzCisgICAgdGVzdHMvc2NyaXB0cy9jaGVja19uYW1lcy5weSAtdgorfQorCitjb21wb25lbnRfY2hlY2tfdGVzdF9jYXNlcyAoKSB7CisgICAgbXNnICJDaGVjazogdGVzdCBjYXNlIGRlc2NyaXB0aW9ucyIgIyA8IDFzCisgICAgaWYgWyAkUVVJRVQgLWVxIDEgXTsgdGhlbgorICAgICAgICBvcHQ9Jy0tcXVpZXQnCisgICAgZWxzZQorICAgICAgICBvcHQ9JycKKyAgICBmaQorICAgIGZyYW1ld29yay9zY3JpcHRzL2NoZWNrX3Rlc3RfY2FzZXMucHkgLXEgJG9wdAorICAgIHVuc2V0IG9wdAorfQorCitjb21wb25lbnRfY2hlY2tfdGVzdF9kZXBlbmRlbmNpZXMgKCkgeworICAgIG1zZyAiQ2hlY2s6IHRlc3QgY2FzZSBkZXBlbmRlbmNpZXM6IGxlZ2FjeSB2cyBQU0EiICMgPCAxcworICAgICMgVGhlIHB1cnBvc2Ugb2YgdGhpcyBjb21wb25lbnQgaXMgdG8gY2F0Y2ggdW5qdXN0aWZpZWQgZGVwZW5kZW5jaWVzIG9uCisgICAgIyBsZWdhY3kgZmVhdHVyZSBtYWNyb3MgKE1CRURUTFNfeHh4KSBpbiBQU0EgdGVzdHMuIEdlbmVyYWxseSBzcGVha2luZywKKyAgICAjIFBTQSB0ZXN0IHNob3VsZCB1c2UgUFNBIGZlYXR1cmUgbWFjcm9zIChQU0FfV0FOVF94eHgsIG1vcmUgcmFyZWx5CisgICAgIyBNQkVEVExTX1BTQV94eHgpLgorICAgICMKKyAgICAjIE1vc3Qgb2YgdGhlIHRpbWUsIHVzZSBvZiBsZWdhY3kgTUJFRFRMU194eHggbWFjcm9zIGFyZSBtaXN0YWtlcywgd2hpY2gKKyAgICAjIHRoaXMgY29tcG9uZW50IGlzIG1lYW50IHRvIGNhdGNoLiBIb3dldmVyIGEgZmV3IG9mIHRoZW0gYXJlIGp1c3RpZmllZCwKKyAgICAjIG1vc3RseSBieSB0aGUgYWJzZW5jZSBvZiBhIFBTQSBlcXVpdmFsZW50LCBzbyB0aGlzIGNvbXBvbmVudCBpbmNsdWRlcyBhCisgICAgIyBsaXN0IG9mIGV4cGVjdGVkIGV4Y2VwdGlvbnMuCisKKyAgICBmb3VuZD0iY2hlY2stdGVzdC1kZXBzLWZvdW5kLSQkIgorICAgIGV4cGVjdGVkPSJjaGVjay10ZXN0LWRlcHMtZXhwZWN0ZWQtJCQiCisKKyAgICAjIEZpbmQgbGVnYWN5IGRlcGVuZGVuY2llcyBpbiBQU0EgdGVzdHMKKyAgICBncmVwICdkZXBlbmRzX29uJyBcCisgICAgICAgIHRlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYSouZGF0YSB0ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2EqLmZ1bmN0aW9uIHwKKyAgICAgICAgZ3JlcCAtRW8gJyE/TUJFRFRMU19bXjogXSonIHwKKyAgICAgICAgZ3JlcCAtdiAtZSBNQkVEVExTX1BTQV8gLWUgTUJFRFRMU19URVNUXyB8CisgICAgICAgIHNvcnQgLXUgPiAkZm91bmQKKworICAgICMgRXhwZWN0ZWQgb25lcyB3aXRoIGp1c3RpZmljYXRpb24gLSBrZWVwIGluIHNvcnRlZCBvcmRlciBieSBBU0NJSSB0YWJsZSEKKyAgICBybSAtZiAkZXhwZWN0ZWQKKyAgICAjIE5vIFBTQSBlcXVpdmFsZW50IC0gV0FOVF9LRVlfVFlQRV9BRVMgbWVhbnMgYWxsIHNpemVzCisgICAgZWNobyAiIU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIiA+PiAkZXhwZWN0ZWQKKyAgICAjIE5vIFBTQSBlcXVpdmFsZW50IC0gdXNlZCB0byBza2lwIGRlY3J5cHRpb24gdGVzdHMgaW4gUFNBLUVDQiwgQ0JDL1hUUy9OSVNUX0tXL0RFUworICAgIGVjaG8gIiFNQkVEVExTX0JMT0NLX0NJUEhFUl9OT19ERUNSWVBUIiA+PiAkZXhwZWN0ZWQKKyAgICAjIE1CRURUTFNfQVNOMV9XUklURV9DIGlzIHVzZWQgYnkgaW1wb3J0X3JzYV9tYWRlX3VwKCkgaW4gdGVzdF9zdWl0ZV9wc2FfY3J5cHRvCisgICAgIyBpbiBvcmRlciB0byBidWlsZCBhIGZha2UgUlNBIGtleSBvZiB0aGUgd2FudGVkIHNpemUgYmFzZWQgb24KKyAgICAjIFBTQV9WRU5ET1JfUlNBX01BWF9LRVlfQklUUy4gVGhlIGxlZ2FjeSBtb2R1bGUgaXMgb25seSB1c2VkIGJ5CisgICAgIyB0aGUgdGVzdCBjb2RlIGFuZCB0aGF0J3MgcHJvYmFibHkgdGhlIG1vc3QgY29udmVuaWVudCB3YXkgb2YgYWNoaWV2aW5nCisgICAgIyB0aGUgdGVzdCdzIGdvYWwuCisgICAgZWNobyAiTUJFRFRMU19BU04xX1dSSVRFX0MiID4+ICRleHBlY3RlZAorICAgICMgTm8gUFNBIGVxdWl2YWxlbnQgLSB1c2VkIGluIHRlc3Rfc3VpdGVfcHNhX2NyeXB0byB0byBnZXQgc29tZSAia25vd24iIHNpemUKKyAgICAjIGZvciByYXcga2V5IGdlbmVyYXRpb24uCisgICAgZWNobyAiTUJFRFRMU19DVFJfRFJCR19NQVhfUkVRVUVTVCIgPj4gJGV4cGVjdGVkCisgICAgIyBObyBQU0EgZXF1aXZhbGVudCAtIHdlIHNob3VsZCBwcm9iYWJseSBoYXZlIG9uZSBpbiB0aGUgZnV0dXJlLgorICAgIGVjaG8gIk1CRURUTFNfRUNQX1JFU1RBUlRBQkxFIiA+PiAkZXhwZWN0ZWQKKyAgICAjIE5vIFBTQSBlcXVpdmFsZW50IC0gbmVlZGVkIGJ5IHNvbWUgaW5pdCB0ZXN0cworICAgIGVjaG8gIk1CRURUTFNfRU5UUk9QWV9OVl9TRUVEIiA+PiAkZXhwZWN0ZWQKKyAgICAjIE5vIFBTQSBlcXVpdmFsZW50IC0gcmVxdWlyZWQgdG8gcnVuIHRocmVhZGVkIHRlc3RzLgorICAgIGVjaG8gIk1CRURUTFNfVEhSRUFESU5HX1BUSFJFQUQiID4+ICRleHBlY3RlZAorCisgICAgIyBDb21wYXJlIHJlYWxpdHkgd2l0aCBleHBlY3RhdGlvbi4KKyAgICAjIFdlIHdhbnQgYW4gZXhhY3QgbWF0Y2gsIHRvIGVuc3VyZSB0aGUgYWJvdmUgbGlzdCByZW1haW5zIHVwLXRvLWRhdGUuCisgICAgIworICAgICMgVGhlIG91dHB1dCBzaG91bGQgYmUgZW1wdHkuIFdoZW4gaXQncyBub3Q6CisgICAgIyAtIEVhY2ggJysnIGxpbmUgaXMgYSBtYWNybyB0aGF0IHdhcyBmb3VuZCBidXQgbm90IGV4cGVjdGVkLiBZb3Ugd2FudCB0bworICAgICMgZmluZCB3aGVyZSB0aGF0IG1hY3JvIG9jY3VycywgYW5kIGVpdGhlciByZXBsYWNlIGl0IHdpdGggUFNBIG1hY3Jvcywgb3IKKyAgICAjIGFkZCBpdCB0byB0aGUgZXhjZXB0aW9ucyBsaXN0IGFib3ZlIHdpdGggYSBqdXN0aWZpY2F0aW9uLgorICAgICMgLSBFYWNoICctJyBsaW5lIGlzIGEgbWFjcm8gdGhhdCB3YXMgZXhwZWN0ZWQgYnV0IG5vdCBmb3VuZDsgaXQgbWVhbnMgdGhlCisgICAgIyBleGNlcHRpb25zIGxpc3QgYWJvdmUgc2hvdWxkIGJlIHVwZGF0ZWQgYnkgcmVtb3ZpbmcgdGhhdCBtYWNyby4KKyAgICBkaWZmIC1VMCAkZXhwZWN0ZWQgJGZvdW5kCisKKyAgICBybSAkZm91bmQgJGV4cGVjdGVkCit9CisKK2NvbXBvbmVudF9jaGVja19kb3h5Z2VuX3dhcm5pbmdzICgpIHsKKyAgICBtc2cgIkNoZWNrOiBkb3h5Z2VuIHdhcm5pbmdzIChidWlsZHMgdGhlIGRvY3VtZW50YXRpb24pIiAjIH4gM3MKKyAgICB0ZXN0cy9zY3JpcHRzL2RveHlnZW4uc2gKK30KKworY29tcG9uZW50X2NoZWNrX2NvZGVfc3R5bGUgKCkgeworICAgIG1zZyAiQ2hlY2sgQyBjb2RlIHN0eWxlIgorICAgIC4vc2NyaXB0cy9jb2RlX3N0eWxlLnB5Cit9CisKK3N1cHBvcnRfY2hlY2tfY29kZV9zdHlsZSAoKSB7CisgICAgY2FzZSAkKHVuY3J1c3RpZnkgLS12ZXJzaW9uKSBpbgorICAgICAgICAqMC43NS4xKikgdHJ1ZTs7CisgICAgICAgICopIGZhbHNlOzsKKyAgICBlc2FjCit9CisKK2NvbXBvbmVudF9jaGVja19weXRob25fZmlsZXMgKCkgeworICAgIG1zZyAiTGludDogUHl0aG9uIHNjcmlwdHMiCisgICAgdGVzdHMvc2NyaXB0cy9jaGVjay1weXRob24tZmlsZXMuc2gKK30KKworY29tcG9uZW50X2NoZWNrX3Rlc3RfaGVscGVycyAoKSB7CisgICAgbXNnICJ1bml0IHRlc3Q6IGdlbmVyYXRlX3Rlc3RfY29kZS5weSIKKyAgICAjIHVuaXR0ZXN0IHdyaXRlcyBvdXQgbXVuZGFuZSBzdHVmZiBsaWtlIG51bWJlciBvciB0ZXN0cyBydW4gb24gc3RkZXJyLgorICAgICMgT3VyIGNvbnZlbnRpb24gaXMgdG8gcmVzZXJ2ZSBzdGRlcnIgZm9yIGFjdHVhbCBlcnJvcnMsIGFuZCB3cml0ZQorICAgICMgaGFybWxlc3MgaW5mbyBvbiBzdGRvdXQgc28gaXQgY2FuIGJlIHN1cHByZXNzIHdpdGggLS1xdWlldC4KKyAgICAuL2ZyYW1ld29yay9zY3JpcHRzL3Rlc3RfZ2VuZXJhdGVfdGVzdF9jb2RlLnB5IDI+JjEKKworICAgIG1zZyAidW5pdCB0ZXN0OiB0cmFuc2xhdGVfY2lwaGVycy5weSIKKyAgICBweXRob24zIC1tIHVuaXR0ZXN0IGZyYW1ld29yay9zY3JpcHRzL3RyYW5zbGF0ZV9jaXBoZXJzLnB5IDI+JjEKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1idWlsZC1zeXN0ZW0uc2ggYi90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtYnVpbGQtc3lzdGVtLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkYjc4ODUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtYnVpbGQtc3lzdGVtLnNoCkBAIC0wLDAgKzEsMjE1IEBACisjIGNvbXBvbmVudHMtYnVpbGQtc3lzdGVtLnNoCisjCisjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKworIyBUaGlzIGZpbGUgY29udGFpbnMgdGVzdCBjb21wb25lbnRzIHRoYXQgYXJlIGV4ZWN1dGVkIGJ5IGFsbC5zaAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIEJ1aWxkIFN5c3RlbSBUZXN0aW5nCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2NvbXBvbmVudF90ZXN0X21ha2Vfc2hhcmVkICgpIHsKKyAgICBtc2cgImJ1aWxkL3Rlc3Q6IG1ha2Ugc2hhcmVkIiAjIH4gNDBzCisgICAgbWFrZSBTSEFSRUQ9MSBURVNUX0NQUD0xIGFsbCBjaGVjaworICAgIGxkZCBwcm9ncmFtcy91dGlsL3N0cmVycm9yIHwgZ3JlcCBsaWJtYmVkY3J5cHRvCisgICAgcHJvZ3JhbXMvdGVzdC9kbG9wZW5fZGVtby5zaAorfQorCitjb21wb25lbnRfdGVzdF9jbWFrZV9zaGFyZWQgKCkgeworICAgIG1zZyAiYnVpbGQvdGVzdDogY21ha2Ugc2hhcmVkIiAjIH4gMm1pbgorICAgIGNtYWtlIC1EVVNFX1NIQVJFRF9NQkVEVExTX0xJQlJBUlk9T24gLgorICAgIG1ha2UKKyAgICBsZGQgcHJvZ3JhbXMvdXRpbC9zdHJlcnJvciB8IGdyZXAgbGlibWJlZGNyeXB0bworICAgIG1ha2UgdGVzdAorICAgIHByb2dyYW1zL3Rlc3QvZGxvcGVuX2RlbW8uc2gKK30KKworc3VwcG9ydF90ZXN0X2NtYWtlX291dF9vZl9zb3VyY2UgKCkgeworICAgIGRpc3RyaWJfaWQ9IiIKKyAgICBkaXN0cmliX3Zlcj0iIgorICAgIGRpc3RyaWJfdmVyX21pbm9yPSIiCisgICAgZGlzdHJpYl92ZXJfbWFqb3I9IiIKKworICAgICMgQXR0ZW1wdCB0byBwYXJzZSBsc2ItcmVsZWFzZSB0byBmaW5kIG91dCBkaXN0cmlidXRpb24gYW5kIHZlcnNpb24uIElmIG5vdAorICAgICMgZm91bmQgdGhpcyBzaG91bGQgZmFpbCBzYWZlICh0ZXN0IGlzIHN1cHBvcnRlZCkuCisgICAgaWYgW1sgLWYgL2V0Yy9sc2ItcmVsZWFzZSBdXTsgdGhlbgorCisgICAgICAgIHdoaWxlIHJlYWQgLXIgbHNiX2xpbmU7IGRvCisgICAgICAgICAgICBjYXNlICIkbHNiX2xpbmUiIGluCisgICAgICAgICAgICAgICAgIkRJU1RSSUJfSUQiKikgZGlzdHJpYl9pZD0ke2xzYl9saW5lLyNESVNUUklCX0lEPX07OworICAgICAgICAgICAgICAgICJESVNUUklCX1JFTEVBU0UiKikgZGlzdHJpYl92ZXI9JHtsc2JfbGluZS8jRElTVFJJQl9SRUxFQVNFPX07OworICAgICAgICAgICAgZXNhYworICAgICAgICBkb25lIDwgL2V0Yy9sc2ItcmVsZWFzZQorCisgICAgICAgIGRpc3RyaWJfdmVyX21ham9yPSIke2Rpc3RyaWJfdmVyJSUuKn0iCisgICAgICAgIGRpc3RyaWJfdmVyPSIke2Rpc3RyaWJfdmVyIyoufSIKKyAgICAgICAgZGlzdHJpYl92ZXJfbWlub3I9IiR7ZGlzdHJpYl92ZXIlJS4qfSIKKyAgICBmaQorCisgICAgIyBSdW5uaW5nIHRoZSBvdXQgb2Ygc291cmNlIENNYWtlIHRlc3Qgb24gVWJ1bnR1IDE2LjA0IHVzaW5nIG1vcmUgdGhhbiBvbmUKKyAgICAjIHByb2Nlc3NvciAoYXMgdGhlIENJIGRvZXMpIGNhbiBjcmVhdGUgYSByYWNlIGNvbmRpdGlvbiB3aGVyZWJ5IHRoZSBidWlsZAorICAgICMgZmFpbHMgdG8gc2VlIGEgZ2VuZXJhdGVkIGZpbGUsIGRlc3BpdGUgdGhhdCBmaWxlIGFjdHVhbGx5IGhhdmluZyBiZWVuCisgICAgIyBnZW5lcmF0ZWQuIFRoaXMgcHJvYmxlbSBhcHBlYXJzIHRvIGdvIGF3YXkgd2l0aCAxOC4wNCBvciBuZXdlciwgc28gbWFrZQorICAgICMgdGhlIG91dCBvZiBzb3VyY2UgdGVzdHMgdW5zdXBwb3J0ZWQgb24gVWJ1bnR1IDE2LjA0LgorICAgIFsgIiRkaXN0cmliX2lkIiAhPSAiVWJ1bnR1IiBdIHx8IFsgIiRkaXN0cmliX3Zlcl9tYWpvciIgLWd0IDE2IF0KK30KKworY29tcG9uZW50X3Rlc3RfY21ha2Vfb3V0X29mX3NvdXJjZSAoKSB7CisgICAgIyBSZW1vdmUgZXhpc3RpbmcgZ2VuZXJhdGVkIGZpbGVzIHNvIHRoYXQgd2UgdXNlIHRoZSBvbmVzIGNtYWtlCisgICAgIyBnZW5lcmF0ZXMKKyAgICBtYWtlIG5lYXQKKworICAgIG1zZyAiYnVpbGQ6IGNtYWtlICdvdXQtb2Ytc291cmNlJyBidWlsZCIKKyAgICBNQkVEVExTX1JPT1RfRElSPSIkUFdEIgorICAgIG1rZGlyICIkT1VUX09GX1NPVVJDRV9ESVIiCisgICAgY2QgIiRPVVRfT0ZfU09VUkNFX0RJUiIKKyAgICAjIE5vdGU6IEV4cGxpY2l0bHkgZ2VuZXJhdGUgZmlsZXMgYXMgdGhlc2UgYXJlIHR1cm5lZCBvZmYgaW4gcmVsZWFzZXMKKyAgICBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1DaGVjayAtRCBHRU5fRklMRVM9T04gLUQgVEVTVF9DUFA9MSAiJE1CRURUTFNfUk9PVF9ESVIiCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBjbWFrZSAnb3V0LW9mLXNvdXJjZScgYnVpbGQiCisgICAgbWFrZSB0ZXN0CisgICAgIyBDaGVjayB0aGF0IHNzbC1vcHQuc2ggY2FuIGZpbmQgdGhlIHRlc3QgcHJvZ3JhbXMuCisgICAgIyBBbHNvIGVuc3VyZSB0aGF0IHRoZXJlIGFyZSBubyBlcnJvciBtZXNzYWdlcyBzdWNoIGFzCisgICAgIyAiTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIsIHdoaWNoIHdvdWxkIGluZGljYXRlIHRoYXQgc29tZSByZXF1aXJlZAorICAgICMgZmlsZSBpcyBtaXNzaW5nIChzc2wtb3B0LnNoIHRvbGVyYXRlcyB0aGUgYWJzZW5jZSBvZiBzb21lIGZpbGVzIHNvCisgICAgIyBtYXkgZXhpdCB3aXRoIHN0YXR1cyAwIGJ1dCBlbWl0IGVycm9ycykuCisgICAgLi90ZXN0cy9zc2wtb3B0LnNoIC1mICdEZWZhdWx0JyA+c3NsLW9wdC5vdXQgMj5zc2wtb3B0LmVycgorICAgIGdyZXAgUEFTUyBzc2wtb3B0Lm91dAorICAgIGNhdCBzc2wtb3B0LmVyciA+JjIKKyAgICAjIElmIHNzbC1vcHQuZXJyIGlzIG5vbi1lbXB0eSwgcmVjb3JkIGFuIGVycm9yIGFuZCBrZWVwIGdvaW5nLgorICAgIFsgISAtcyBzc2wtb3B0LmVyciBdCisgICAgcm0gc3NsLW9wdC5vdXQgc3NsLW9wdC5lcnIKKyAgICBjZCAiJE1CRURUTFNfUk9PVF9ESVIiCisgICAgcm0gLXJmICIkT1VUX09GX1NPVVJDRV9ESVIiCit9CisKK2NvbXBvbmVudF90ZXN0X2NtYWtlX2FzX3N1YmRpcmVjdG9yeSAoKSB7CisgICAgIyBSZW1vdmUgZXhpc3RpbmcgZ2VuZXJhdGVkIGZpbGVzIHNvIHRoYXQgd2UgdXNlIHRoZSBvbmVzIENNYWtlCisgICAgIyBnZW5lcmF0ZXMKKyAgICBtYWtlIG5lYXQKKworICAgIG1zZyAiYnVpbGQ6IGNtYWtlICdhcy1zdWJkaXJlY3RvcnknIGJ1aWxkIgorICAgIGNkIHByb2dyYW1zL3Rlc3QvY21ha2Vfc3VicHJvamVjdAorICAgICMgTm90ZTogRXhwbGljaXRseSBnZW5lcmF0ZSBmaWxlcyBhcyB0aGVzZSBhcmUgdHVybmVkIG9mZiBpbiByZWxlYXNlcworICAgIGNtYWtlIC1EIEdFTl9GSUxFUz1PTiAuCisgICAgbWFrZQorICAgIC4vY21ha2Vfc3VicHJvamVjdAorfQorCitzdXBwb3J0X3Rlc3RfY21ha2VfYXNfc3ViZGlyZWN0b3J5ICgpIHsKKyAgICBzdXBwb3J0X3Rlc3RfY21ha2Vfb3V0X29mX3NvdXJjZQorfQorCitjb21wb25lbnRfdGVzdF9jbWFrZV9hc19wYWNrYWdlICgpIHsKKyAgICAjIFJlbW92ZSBleGlzdGluZyBnZW5lcmF0ZWQgZmlsZXMgc28gdGhhdCB3ZSB1c2UgdGhlIG9uZXMgQ01ha2UKKyAgICAjIGdlbmVyYXRlcworICAgIG1ha2UgbmVhdAorCisgICAgbXNnICJidWlsZDogY21ha2UgJ2FzLXBhY2thZ2UnIGJ1aWxkIgorICAgIHJvb3RfZGlyPSIkKHB3ZCkiCisgICAgY2QgcHJvZ3JhbXMvdGVzdC9jbWFrZV9wYWNrYWdlCisgICAgYnVpbGRfdmFyaWFudF9kaXI9IiQocHdkKSIKKyAgICBjbWFrZSAuCisgICAgbWFrZQorICAgIC4vY21ha2VfcGFja2FnZQorICAgIGlmIFtbICIkT1NUWVBFIiA9PSBsaW51eCogXV07IHRoZW4KKyAgICAgICAgUEtHX0NPTkZJR19QQVRIPSIke2J1aWxkX3ZhcmlhbnRfZGlyfS9tYmVkdGxzL3BrZ2NvbmZpZyIgJHtyb290X2Rpcn0vdGVzdHMvc2NyaXB0cy9wa2djb25maWcuc2gKKyAgICBmaQorfQorCitzdXBwb3J0X3Rlc3RfY21ha2VfYXNfcGFja2FnZSAoKSB7CisgICAgc3VwcG9ydF90ZXN0X2NtYWtlX291dF9vZl9zb3VyY2UKK30KKworY29tcG9uZW50X3Rlc3RfY21ha2VfYXNfcGFja2FnZV9pbnN0YWxsICgpIHsKKyAgICAjIFJlbW92ZSBleGlzdGluZyBnZW5lcmF0ZWQgZmlsZXMgc28gdGhhdCB3ZSB1c2UgdGhlIG9uZXMgQ01ha2UKKyAgICAjIGdlbmVyYXRlcworICAgIG1ha2UgbmVhdAorCisgICAgbXNnICJidWlsZDogY21ha2UgJ2FzLWluc3RhbGxlZC1wYWNrYWdlJyBidWlsZCIKKyAgICBjZCBwcm9ncmFtcy90ZXN0L2NtYWtlX3BhY2thZ2VfaW5zdGFsbAorICAgIGNtYWtlIC4KKyAgICBtYWtlCisgICAgLi9jbWFrZV9wYWNrYWdlX2luc3RhbGwKK30KKworc3VwcG9ydF90ZXN0X2NtYWtlX2FzX3BhY2thZ2VfaW5zdGFsbCAoKSB7CisgICAgc3VwcG9ydF90ZXN0X2NtYWtlX291dF9vZl9zb3VyY2UKK30KKworY29tcG9uZW50X2J1aWxkX2NtYWtlX2N1c3RvbV9jb25maWdfZmlsZSAoKSB7CisgICAgIyBNYWtlIGEgY29weSBvZiBjb25maWcgZmlsZSB0byB1c2UgZm9yIHRoZSBpbi10cmVlIHRlc3QKKyAgICBjcCAiJENPTkZJR19IIiBpbmNsdWRlL21iZWR0bHNfY29uZmlnX2luX3RyZWVfY29weS5oCisKKyAgICBNQkVEVExTX1JPT1RfRElSPSIkUFdEIgorICAgIG1rZGlyICIkT1VUX09GX1NPVVJDRV9ESVIiCisgICAgY2QgIiRPVVRfT0ZfU09VUkNFX0RJUiIKKworICAgICMgQnVpbGQgb25jZSB0byBnZXQgdGhlIGdlbmVyYXRlZCBmaWxlcyAod2hpY2ggbmVlZCBhbiBpbnRhY3QgY29uZmlnIGZpbGUpCisgICAgY21ha2UgIiRNQkVEVExTX1JPT1RfRElSIgorICAgIG1ha2UKKworICAgIG1zZyAiYnVpbGQ6IGNtYWtlIHdpdGggLURNQkVEVExTX0NPTkZJR19GSUxFIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC13IGZ1bGxfY29uZmlnLmggZnVsbAorICAgIGVjaG8gJyNlcnJvciAiY21ha2UgLURNQkVEVExTX0NPTkZJR19GSUxFIGlzIG5vdCB3b3JraW5nLiInID4gIiRNQkVEVExTX1JPT1RfRElSLyRDT05GSUdfSCIKKyAgICBjbWFrZSAtREdFTl9GSUxFUz1PRkYgLURNQkVEVExTX0NPTkZJR19GSUxFPWZ1bGxfY29uZmlnLmggIiRNQkVEVExTX1JPT1RfRElSIgorICAgIG1ha2UKKworICAgIG1zZyAiYnVpbGQ6IGNtYWtlIHdpdGggLURNQkVEVExTX0NPTkZJR19GSUxFICsgLURNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEUiCisgICAgIyBJbiB0aGUgdXNlciBjb25maWcsIGRpc2FibGUgb25lIGZlYXR1cmUgKGZvciBzaW1wbGljaXR5LCBwaWNrIGEgZmVhdHVyZQorICAgICMgdGhhdCBub3RoaW5nIGVsc2UgZGVwZW5kcyBvbikuCisgICAgZWNobyAnI3VuZGVmIE1CRURUTFNfTklTVF9LV19DJyA+dXNlcl9jb25maWcuaAorCisgICAgY21ha2UgLURHRU5fRklMRVM9T0ZGIC1ETUJFRFRMU19DT05GSUdfRklMRT1mdWxsX2NvbmZpZy5oIC1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPXVzZXJfY29uZmlnLmggIiRNQkVEVExTX1JPT1RfRElSIgorICAgIG1ha2UKKyAgICBub3QgcHJvZ3JhbXMvdGVzdC9xdWVyeV9jb21waWxlX3RpbWVfY29uZmlnIE1CRURUTFNfTklTVF9LV19DCisKKyAgICBybSAtZiB1c2VyX2NvbmZpZy5oIGZ1bGxfY29uZmlnLmgKKworICAgIGNkICIkTUJFRFRMU19ST09UX0RJUiIKKyAgICBybSAtcmYgIiRPVVRfT0ZfU09VUkNFX0RJUiIKKworICAgICMgTm93IHJlcGVhdCB0aGUgdGVzdCBmb3IgYW4gaW4tdHJlZSBidWlsZDoKKworICAgICMgUmVzdG9yZSBjb25maWcgZm9yIHRoZSBpbi10cmVlIHRlc3QKKyAgICBtdiBpbmNsdWRlL21iZWR0bHNfY29uZmlnX2luX3RyZWVfY29weS5oICIkQ09ORklHX0giCisKKyAgICAjIEJ1aWxkIG9uY2UgdG8gZ2V0IHRoZSBnZW5lcmF0ZWQgZmlsZXMgKHdoaWNoIG5lZWQgYW4gaW50YWN0IGNvbmZpZykKKyAgICBjbWFrZSAuCisgICAgbWFrZQorCisgICAgbXNnICJidWlsZDogY21ha2UgKGluLXRyZWUpIHdpdGggLURNQkVEVExTX0NPTkZJR19GSUxFIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC13IGZ1bGxfY29uZmlnLmggZnVsbAorICAgIGVjaG8gJyNlcnJvciAiY21ha2UgLURNQkVEVExTX0NPTkZJR19GSUxFIGlzIG5vdCB3b3JraW5nLiInID4gIiRNQkVEVExTX1JPT1RfRElSLyRDT05GSUdfSCIKKyAgICBjbWFrZSAtREdFTl9GSUxFUz1PRkYgLURNQkVEVExTX0NPTkZJR19GSUxFPWZ1bGxfY29uZmlnLmggLgorICAgIG1ha2UKKworICAgIG1zZyAiYnVpbGQ6IGNtYWtlIChpbi10cmVlKSB3aXRoIC1ETUJFRFRMU19DT05GSUdfRklMRSArIC1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFIgorICAgICMgSW4gdGhlIHVzZXIgY29uZmlnLCBkaXNhYmxlIG9uZSBmZWF0dXJlIChmb3Igc2ltcGxpY2l0eSwgcGljayBhIGZlYXR1cmUKKyAgICAjIHRoYXQgbm90aGluZyBlbHNlIGRlcGVuZHMgb24pLgorICAgIGVjaG8gJyN1bmRlZiBNQkVEVExTX05JU1RfS1dfQycgPnVzZXJfY29uZmlnLmgKKworICAgIGNtYWtlIC1ER0VOX0ZJTEVTPU9GRiAtRE1CRURUTFNfQ09ORklHX0ZJTEU9ZnVsbF9jb25maWcuaCAtRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT11c2VyX2NvbmZpZy5oIC4KKyAgICBtYWtlCisgICAgbm90IHByb2dyYW1zL3Rlc3QvcXVlcnlfY29tcGlsZV90aW1lX2NvbmZpZyBNQkVEVExTX05JU1RfS1dfQworCisgICAgcm0gLWYgdXNlcl9jb25maWcuaCBmdWxsX2NvbmZpZy5oCit9CisKK3N1cHBvcnRfYnVpbGRfY21ha2VfY3VzdG9tX2NvbmZpZ19maWxlICgpIHsKKyAgICBzdXBwb3J0X3Rlc3RfY21ha2Vfb3V0X29mX3NvdXJjZQorfQorCitjb21wb25lbnRfYnVpbGRfY21ha2VfcHJvZ3JhbXNfbm9fdGVzdGluZyAoKSB7CisgICAgIyBWZXJpZnkgdGhhdCB0aGUgdHlwZSBvZiBidWlsZHMgcGVyZm9ybWVkIGJ5IG9zcy1mdXp6IGRvbid0IGdldCBhY2NpZGVudGFsbHkgYnJva2VuCisgICAgbXNnICJidWlsZDogY21ha2Ugd2l0aCAtREVOQUJMRV9QUk9HUkFNUz1PTiBhbmQgLURFTkFCTEVfVEVTVElORz1PRkYiCisgICAgY21ha2UgLURFTkFCTEVfUFJPR1JBTVM9T04gLURFTkFCTEVfVEVTVElORz1PRkYgLgorICAgIG1ha2UKK30KKworc3VwcG9ydF9idWlsZF9jbWFrZV9wcm9ncmFtc19ub190ZXN0aW5nICgpIHsKKyAgICBzdXBwb3J0X3Rlc3RfY21ha2Vfb3V0X29mX3NvdXJjZQorfQorCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtY29tcGlsZXIuc2ggYi90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtY29tcGlsZXIuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQyMjczNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1jb21waWxlci5zaApAQCAtMCwwICsxLDE0NSBAQAorIyBjb21wb25lbnRzLWNvbXBpbGVyLnNoCisjCisjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKworIyBUaGlzIGZpbGUgY29udGFpbnMgdGVzdCBjb21wb25lbnRzIHRoYXQgYXJlIGV4ZWN1dGVkIGJ5IGFsbC5zaAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIENvbXBpbGVyIFRlc3RpbmcKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworc3VwcG9ydF9idWlsZF90Zm1fYXJtY2MgKCkgeworICAgIHN1cHBvcnRfYnVpbGRfYXJtY2MKK30KKworY29tcG9uZW50X2J1aWxkX3RmbV9hcm1jYyAoKSB7CisgICAgIyB0ZXN0IHRoZSBURi1NIGNvbmZpZ3VyYXRpb24gY2FuIGJ1aWxkIGNsZWFubHkgd2l0aCB2YXJpb3VzIHdhcm5pbmcgZmxhZ3MgZW5hYmxlZAorICAgIGNwIGNvbmZpZ3MvY29uZmlnLXRmbS5oICIkQ09ORklHX0giCisKKyAgICBtc2cgImJ1aWxkOiBURi1NIGNvbmZpZywgYXJtY2xhbmcgYXJtdjctbSB0aHVtYjIiCisgICAgaGVscGVyX2FybWM2X2J1aWxkX3Rlc3QgIi0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12Ny1tIC1tdGh1bWIgLU9zIC1zdGQ9Yzk5IC1XZXJyb3IgLVdhbGwgLVdleHRyYSAtV3dyaXRlLXN0cmluZ3MgLVdwb2ludGVyLWFyaXRoIC1XaW1wbGljaXQtZmFsbHRocm91Z2ggLVdzaGFkb3cgLVd2bGEgLVdmb3JtYXQ9MiAtV25vLWZvcm1hdC1ub25saXRlcmFsIC1Xc2hhZG93IC1XYXNtLW9wZXJhbmQtd2lkdGhzIC1XdW51c2VkIC1JLi4vdGVzdHMvaW5jbHVkZS9zcGUiCit9CisKK3Rlc3RfYnVpbGRfb3B0ICgpIHsKKyAgICBpbmZvPSQxIGNjPSQyOyBzaGlmdCAyCisgICAgJGNjIC0tdmVyc2lvbgorICAgIGZvciBvcHQgaW4gIiRAIjsgZG8KKyAgICAgICAgICBtc2cgImJ1aWxkL3Rlc3Q6ICRjYyAkb3B0LCAkaW5mbyIgIyB+IDMwcworICAgICAgICAgIG1ha2UgQ0M9IiRjYyIgQ0ZMQUdTPSIkb3B0IC1zdGQ9Yzk5IC1wZWRhbnRpYyAtV2FsbCAtV2V4dHJhIC1XZXJyb3IiCisgICAgICAgICAgIyBXZSdyZSBjb25maWRlbnQgZW5vdWdoIGluIGNvbXBpbGVycyB0byBub3QgcnVuIF9hbGxfIHRoZSB0ZXN0cywKKyAgICAgICAgICAjIGJ1dCBhdCBsZWFzdCBydW4gdGhlIHVuaXQgdGVzdHMuIEluIHBhcnRpY3VsYXIsIHJ1bnMgd2l0aAorICAgICAgICAgICMgb3B0aW1pemF0aW9ucyB1c2UgaW5saW5lIGFzc2VtYmx5IHdoZXJlYXMgcnVucyB3aXRoIC1PMAorICAgICAgICAgICMgc2tpcCBpbmxpbmUgYXNzZW1ibHkuCisgICAgICAgICAgbWFrZSB0ZXN0ICMgfjMwcworICAgICAgICAgIG1ha2UgY2xlYW4KKyAgICBkb25lCit9CisKKyMgRm9yIEZyZWVCU0Qgd2UgaW52b2tlIHRoZSBmdW5jdGlvbiBieSBuYW1lIHNvIHRoaXMgY29uZGl0aW9uIGlzIGFkZGVkCisjIHRvIGRpc2FibGUgdGhlIGV4aXN0aW5nIHRlc3RfY2xhbmdfb3B0IGZ1bmN0aW9uIGZvciBsaW51eC4KK2lmIFtbICQodW5hbWUpICE9ICJMaW51eCIgXV07IHRoZW4KKyAgICBjb21wb25lbnRfdGVzdF9jbGFuZ19vcHQgKCkgeworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgICAgIHRlc3RfYnVpbGRfb3B0ICdmdWxsIGNvbmZpZycgY2xhbmcgLU8wIC1PcyAtTzIKKyAgICB9CitmaQorCitjb21wb25lbnRfdGVzdF9jbGFuZ19sYXRlc3Rfb3B0ICgpIHsKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgdGVzdF9idWlsZF9vcHQgJ2Z1bGwgY29uZmlnJyAiJENMQU5HX0xBVEVTVCIgLU8wIC1PcyAtTzIKK30KKworc3VwcG9ydF90ZXN0X2NsYW5nX2xhdGVzdF9vcHQgKCkgeworICAgIHR5cGUgIiRDTEFOR19MQVRFU1QiID4vZGV2L251bGwgMj4vZGV2L251bGwKK30KKworY29tcG9uZW50X3Rlc3RfY2xhbmdfZWFybGllc3Rfb3B0ICgpIHsKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgdGVzdF9idWlsZF9vcHQgJ2Z1bGwgY29uZmlnJyAiJENMQU5HX0VBUkxJRVNUIiAtTzIKK30KKworc3VwcG9ydF90ZXN0X2NsYW5nX2VhcmxpZXN0X29wdCAoKSB7CisgICAgdHlwZSAiJENMQU5HX0VBUkxJRVNUIiA+L2Rldi9udWxsIDI+L2Rldi9udWxsCit9CisKK2NvbXBvbmVudF90ZXN0X2djY19sYXRlc3Rfb3B0ICgpIHsKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgdGVzdF9idWlsZF9vcHQgJ2Z1bGwgY29uZmlnJyAiJEdDQ19MQVRFU1QiIC1PMCAtT3MgLU8yCit9CisKK3N1cHBvcnRfdGVzdF9nY2NfbGF0ZXN0X29wdCAoKSB7CisgICAgdHlwZSAiJEdDQ19MQVRFU1QiID4vZGV2L251bGwgMj4vZGV2L251bGwKK30KKworY29tcG9uZW50X3Rlc3RfZ2NjX2VhcmxpZXN0X29wdCAoKSB7CisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHRlc3RfYnVpbGRfb3B0ICdmdWxsIGNvbmZpZycgIiRHQ0NfRUFSTElFU1QiIC1PMgorfQorCitzdXBwb3J0X3Rlc3RfZ2NjX2VhcmxpZXN0X29wdCAoKSB7CisgICAgdHlwZSAiJEdDQ19FQVJMSUVTVCIgPi9kZXYvbnVsbCAyPi9kZXYvbnVsbAorfQorCitjb21wb25lbnRfYnVpbGRfbWluZ3cgKCkgeworICAgIG1zZyAiYnVpbGQ6IFdpbmRvd3MgY3Jvc3MgYnVpbGQgLSBtaW5ndzY0LCBtYWtlIChMaW5rIExpYnJhcnkpIiAjIH4gMzBzCisgICAgbWFrZSBDQz1pNjg2LXc2NC1taW5ndzMyLWdjYyBBUj1pNjg2LXc2NC1taW5ndzMyLWFyIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1tYWVzIC1tc3NlMiAtbXBjbG11bCcgV0lORE9XU19CVUlMRD0xIGxpYiBwcm9ncmFtcworCisgICAgIyBub3RlIE1ha2UgdGVzdHMgb25seSBidWlsZHMgdGhlIHRlc3RzLCBidXQgZG9lc24ndCBydW4gdGhlbQorICAgIG1ha2UgQ0M9aTY4Ni13NjQtbWluZ3czMi1nY2MgQVI9aTY4Ni13NjQtbWluZ3czMi1hciBDRkxBR1M9Jy1XZXJyb3IgLW1hZXMgLW1zc2UyIC1tcGNsbXVsJyBXSU5ET1dTX0JVSUxEPTEgdGVzdHMKKyAgICBtYWtlIFdJTkRPV1NfQlVJTEQ9MSBjbGVhbgorCisgICAgbXNnICJidWlsZDogV2luZG93cyBjcm9zcyBidWlsZCAtIG1pbmd3NjQsIG1ha2UgKERMTCkiICMgfiAzMHMKKyAgICBtYWtlIENDPWk2ODYtdzY0LW1pbmd3MzItZ2NjIEFSPWk2ODYtdzY0LW1pbmd3MzItYXIgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW1hZXMgLW1zc2UyIC1tcGNsbXVsJyBXSU5ET1dTX0JVSUxEPTEgU0hBUkVEPTEgbGliIHByb2dyYW1zCisgICAgbWFrZSBDQz1pNjg2LXc2NC1taW5ndzMyLWdjYyBBUj1pNjg2LXc2NC1taW5ndzMyLWFyIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1tYWVzIC1tc3NlMiAtbXBjbG11bCcgV0lORE9XU19CVUlMRD0xIFNIQVJFRD0xIHRlc3RzCisgICAgbWFrZSBXSU5ET1dTX0JVSUxEPTEgY2xlYW4KKworICAgIG1zZyAiYnVpbGQ6IFdpbmRvd3MgY3Jvc3MgYnVpbGQgLSBtaW5ndzY0LCBtYWtlIChMaWJyYXJ5IG9ubHksIGRlZmF1bHQgY29uZmlnIHdpdGhvdXQgTUJFRFRMU19BRVNOSV9DKSIgIyB+IDMwcworICAgIC4vc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DICMKKyAgICBtYWtlIENDPWk2ODYtdzY0LW1pbmd3MzItZ2NjIEFSPWk2ODYtdzY0LW1pbmd3MzItYXIgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEnIFdJTkRPV1NfQlVJTEQ9MSBsaWIKKyAgICBtYWtlIFdJTkRPV1NfQlVJTEQ9MSBjbGVhbgorfQorCitzdXBwb3J0X2J1aWxkX21pbmd3ICgpIHsKKyAgICBjYXNlICQoaTY4Ni13NjQtbWluZ3czMi1nY2MgLWR1bXB2ZXJzaW9uIDI+L2Rldi9udWxsKSBpbgorICAgICAgICBbMC01XSp8IiIpIGZhbHNlOzsKKyAgICAgICAgKikgdHJ1ZTs7CisgICAgZXNhYworfQorCitjb21wb25lbnRfYnVpbGRfemVyb2l6ZV9jaGVja3MgKCkgeworICAgIG1zZyAiYnVpbGQ6IGNoZWNrIGZvciBvYnZpb3VzbHkgd3JvbmcgY2FsbHMgdG8gbWJlZHRsc19wbGF0Zm9ybV96ZXJvaXplKCkiCisKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisKKyAgICAjIE9ubHkgY29tcGlsZSAtIHdlJ3JlIGxvb2tpbmcgZm9yIHNpemVvZi1wb2ludGVyLW1lbWFjY2VzcyB3YXJuaW5ncworICAgIG1ha2UgQ0ZMQUdTPSInLURNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEU9XCIuLi90ZXN0cy9jb25maWdzL3VzZXItY29uZmlnLXplcm9pemUtbWVtc2V0LmhcIicgLURNQkVEVExTX1RFU1RfREVGSU5FU19aRVJPSVpFIC1XZXJyb3IgLVdzaXplb2YtcG9pbnRlci1tZW1hY2Nlc3MiCit9CisKK2NvbXBvbmVudF90ZXN0X3plcm9pemUgKCkgeworICAgICMgVGVzdCB0aGF0IHRoZSBmdW5jdGlvbiBtYmVkdGxzX3BsYXRmb3JtX3plcm9pemUoKSBpcyBub3Qgb3B0aW1pemVkIGF3YXkgYnkKKyAgICAjIGRpZmZlcmVudCBjb21iaW5hdGlvbnMgb2YgY29tcGlsZXJzIGFuZCBvcHRpbWl6YXRpb24gZmxhZ3MgYnkgdXNpbmcgYW4KKyAgICAjIGF1eGlsaWFyeSBHREIgc2NyaXB0LiBVbmZvcnR1bmF0ZWx5LCBHREIgZG9lcyBub3QgcmV0dXJuIGVycm9yIHZhbHVlcyB0byB0aGUKKyAgICAjIHN5c3RlbSBpbiBhbGwgY2FzZXMgdGhhdCB0aGUgc2NyaXB0IGZhaWxzLCBzbyB3ZSBtdXN0IG1hbnVhbGx5IHNlYXJjaCB0aGUKKyAgICAjIG91dHB1dCB0byBjaGVjayB3aGV0aGVyIHRoZSBwYXNzIHN0cmluZyBpcyBwcmVzZW50IGFuZCBubyBmYWlsdXJlIHN0cmluZ3MKKyAgICAjIHdlcmUgcHJpbnRlZC4KKworICAgICMgRG9uJ3QgdHJ5IHRvIGRpc2FibGUgQVNMUi4gV2UgZG9uJ3QgY2FyZSBhYm91dCBBU0xSIGhlcmUuIFdlIGRvIGNhcmUKKyAgICAjIGFib3V0IGEgc3B1cmlvdXMgbWVzc2FnZSBpZiBHZGIgdHJpZXMgYW5kIGZhaWxzLCBzbyBzdXBwcmVzcyB0aGF0LgorICAgIGdkYl9kaXNhYmxlX2FzbHI9CisgICAgaWYgWyAteiAiJChnZGIgLWJhdGNoIC1udyAtZXggJ3NldCBkaXNhYmxlLXJhbmRvbWl6YXRpb24gb2ZmJyAyPiYxKSIgXTsgdGhlbgorICAgICAgICBnZGJfZGlzYWJsZV9hc2xyPSdzZXQgZGlzYWJsZS1yYW5kb21pemF0aW9uIG9mZicKKyAgICBmaQorCisgICAgZm9yIG9wdGltaXphdGlvbl9mbGFnIGluIC1PMiAtTzMgLU9mYXN0IC1PczsgZG8KKyAgICAgICAgZm9yIGNvbXBpbGVyIGluIGNsYW5nIGdjYzsgZG8KKyAgICAgICAgICAgIG1zZyAidGVzdDogJGNvbXBpbGVyICRvcHRpbWl6YXRpb25fZmxhZywgbWJlZHRsc19wbGF0Zm9ybV96ZXJvaXplKCkiCisgICAgICAgICAgICBtYWtlIHByb2dyYW1zIENDPSIkY29tcGlsZXIiIERFQlVHPTEgQ0ZMQUdTPSIkb3B0aW1pemF0aW9uX2ZsYWciCisgICAgICAgICAgICBnZGIgLWV4ICIkZ2RiX2Rpc2FibGVfYXNsciIgLXggdGVzdHMvc2NyaXB0cy90ZXN0X3plcm9pemUuZ2RiIC1udyAtYmF0Y2ggLW54IDI+JjEgfCB0ZWUgdGVzdF96ZXJvaXplLmxvZworICAgICAgICAgICAgZ3JlcCAiVGhlIGJ1ZmZlciB3YXMgY29ycmVjdGx5IHplcm9pemVkIiB0ZXN0X3plcm9pemUubG9nCisgICAgICAgICAgICBub3QgZ3JlcCAtaSAiZXJyb3IiIHRlc3RfemVyb2l6ZS5sb2cKKyAgICAgICAgICAgIHJtIC1mIHRlc3RfemVyb2l6ZS5sb2cKKyAgICAgICAgICAgIG1ha2UgY2xlYW4KKyAgICAgICAgZG9uZQorICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1jb21wbGlhbmNlLnNoIGIvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLWNvbXBsaWFuY2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhiY2QwMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1jb21wbGlhbmNlLnNoCkBAIC0wLDAgKzEsMzEgQEAKKyMgY29tcG9uZW50cy1jb21wbGlhbmNlLnNoCisjCisjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKworIyBUaGlzIGZpbGUgY29udGFpbnMgdGVzdCBjb21wb25lbnRzIHRoYXQgYXJlIGV4ZWN1dGVkIGJ5IGFsbC5zaAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIENvbXBsaWFuY2UgVGVzdGluZworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitjb21wb25lbnRfdGVzdF9wc2FfY29tcGxpYW5jZSAoKSB7CisgICAgIyBUaGUgYXJjaCB0ZXN0cyBidWlsZCB3aXRoIGdjYywgc28gcmVxdWlyZSB1c2Ugb2YgZ2NjIGhlcmUgdG8gbGluayBwcm9wZXJseQorICAgIG1zZyAiYnVpbGQ6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSwgbGlibWJlZGNyeXB0by5hIG9ubHkiCisgICAgQ0M9Z2NjIG1ha2UgLUMgbGlicmFyeSBsaWJtYmVkY3J5cHRvLmEKKworICAgIG1zZyAidW5pdCB0ZXN0OiB0ZXN0X3BzYV9jb21wbGlhbmNlLnB5IgorICAgIENDPWdjYyAuL3Rlc3RzL3NjcmlwdHMvdGVzdF9wc2FfY29tcGxpYW5jZS5weQorfQorCitzdXBwb3J0X3Rlc3RfcHNhX2NvbXBsaWFuY2UgKCkgeworICAgICMgcHNhLWNvbXBsaWFuY2UtdGVzdHMgb25seSBzdXBwb3J0cyBDTWFrZSA+PSAzLjEwLjAKKyAgICB2ZXI9IiQoY21ha2UgLS12ZXJzaW9uKSIKKyAgICB2ZXI9IiR7dmVyI2NtYWtlIHZlcnNpb24gfSIKKyAgICB2ZXJfbWFqb3I9IiR7dmVyJSUuKn0iCisKKyAgICB2ZXI9IiR7dmVyIyoufSIKKyAgICB2ZXJfbWlub3I9IiR7dmVyJSUuKn0iCisKKyAgICBbICIkdmVyX21ham9yIiAtZXEgMyBdICYmIFsgIiR2ZXJfbWlub3IiIC1nZSAxMCBdCit9CmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtY29uZmlndXJhdGlvbi1jcnlwdG8uc2ggYi90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtY29uZmlndXJhdGlvbi1jcnlwdG8uc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzllYzMzMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1jb25maWd1cmF0aW9uLWNyeXB0by5zaApAQCAtMCwwICsxLDMzMDMgQEAKKyMgY29tcG9uZW50cy1jb25maWd1cmF0aW9uLWNyeXB0by5zaAorIworIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCisKKyMgVGhpcyBmaWxlIGNvbnRhaW5zIHRlc3QgY29tcG9uZW50cyB0aGF0IGFyZSBleGVjdXRlZCBieSBhbGwuc2gKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBDb25maWd1cmF0aW9uIFRlc3RpbmcgLSBDcnlwdG8KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19rZXlfaWRfZW5jb2Rlc19vd25lciAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgKyBQU0FfQ1JZUFRPX0tFWV9JRF9FTkNPREVTX09XTkVSLCBjbWFrZSwgZ2NjLCBBU2FuIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0tFWV9JRF9FTkNPREVTX09XTkVSCisgICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogZnVsbCBjb25maWcgLSBVU0VfUFNBX0NSWVBUTyArIFBTQV9DUllQVE9fS0VZX0lEX0VOQ09ERVNfT1dORVIsIGNtYWtlLCBnY2MsIEFTYW4iCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X3BzYV9hc3N1bWVfZXhjbHVzaXZlX2J1ZmZlcnMgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnICsgTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTLCBjbWFrZSwgZ2NjLCBBU2FuIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTCisgICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogZnVsbCBjb25maWcgKyBNQkVEVExTX1BTQV9BU1NVTUVfRVhDTFVTSVZFX0JVRkZFUlMsIGNtYWtlLCBnY2MsIEFTYW4iCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X2NyeXB0b193aXRoX3N0YXRpY19rZXlfc2xvdHMoKSB7CisgICAgbXNnICJidWlsZDogY3J5cHRvIGZ1bGwgKyBNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RTIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGNyeXB0b19mdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMKKyAgICAjIEludGVudGlvbmFsbHkgc2V0IE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVF9CVUZGRVJfU0laRSB0byBhIHZhbHVlIHRoYXQKKyAgICAjIGlzIGVub3VnaCB0byBjb250YWluOgorICAgICMgLSBhbGwgUlNBIHB1YmxpYyBrZXlzIHVwIHRvIDQwOTYgYml0cyAobWF4IG9mIFBTQV9WRU5ET1JfUlNBX01BWF9LRVlfQklUUykuCisgICAgIyAtIFJTQSBrZXkgcGFpcnMgdXAgdG8gMTAyNCBiaXRzLCBidXQgbm90IDIwNDggb3IgbGFyZ2VyLgorICAgICMgLSBhbGwgRkZESCBrZXkgcGFpcnMgYW5kIHB1YmxpYyBrZXlzIHVwIHRvIDgxOTIgYml0cyAobWF4IG9mIFBTQV9WRU5ET1JfRkZESF9NQVhfS0VZX0JJVFMpLgorICAgICMgLSBhbGwgRUMga2V5IHBhaXJzIGFuZCBwdWJsaWMga2V5cyB1cCB0byA1MjEgYml0cyAobWF4IG9mIFBTQV9WRU5ET1JfRUNDX01BWF9DVVJWRV9CSVRTKS4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFIDEyMTIKKyAgICAjIERpc2FibGUgdGhlIGZ1bGx5IGR5bmFtaWMga2V5IHN0b3JlIChkZWZhdWx0IG9uKSBzaW5jZSBpdCBjb25mbGljdHMKKyAgICAjIHdpdGggdGhlIHN0YXRpYyBiZWhhdmlvciB0aGF0IHdlJ3JlIHRlc3RpbmcgaGVyZS4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQworCisgICAgbXNnICJ0ZXN0OiBjcnlwdG8gZnVsbCArIE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMiCisgICAgbWFrZSBDRkxBR1M9IiRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIiB0ZXN0Cit9CisKKyMgY2hlY2tfcmVuYW1lZF9zeW1ib2xzIEhFQURFUiBMSUIKKyMgQ2hlY2sgdGhhdCBpZiBIRUFERVIgY29udGFpbnMgJyNkZWZpbmUgTUFDUk8gLi4uJyB0aGVuIE1BQ1JPIGlzIG5vdCBhIHN5bWJvbAorIyBuYW1lIGluIExJQi4KK2NoZWNrX3JlbmFtZWRfc3ltYm9scyAoKSB7CisgICAgISBubSAiJDIiIHwgc2VkICdzLy4qIC8vJyB8CisgICAgICBncmVwIC14IC1GICIkKHNlZCAtbiAncy9eICojICpkZWZpbmUgICpcKFtBLVpfYS16XVswLTlBLVpfYS16XSpcKS4uKi9cMS9wJyAiJDEiKSIKK30KKworY29tcG9uZW50X2J1aWxkX3BzYV9jcnlwdG9fc3BtICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIGNvbmZpZyArIFBTQV9DUllQVE9fS0VZX0lEX0VOQ09ERVNfT1dORVIgKyBQU0FfQ1JZUFRPX1NQTSwgbWFrZSwgZ2NjIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fQlVJTFRJTl9LRVlTCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19LRVlfSURfRU5DT0RFU19PV05FUgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fU1BNCisgICAgIyBXZSBjYW4gb25seSBjb21waWxlLCBub3QgbGluaywgc2luY2Ugb3VyIHRlc3QgYW5kIHNhbXBsZSBwcm9ncmFtcworICAgICMgYXJlbid0IGVxdWlwcGVkIGZvciB0aGUgbW9kaWZpZWQgbmFtZXMgdXNlZCB3aGVuIE1CRURUTFNfUFNBX0NSWVBUT19TUE0KKyAgICAjIGlzIGFjdGl2ZS4KKyAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtSS4uL3Rlc3RzL2luY2x1ZGUvc3BlJyBsaWIKKworICAgICMgQ2hlY2sgdGhhdCBpZiBhIHN5bWJvbCBpcyByZW5hbWVkIGJ5IGNyeXB0b19zcGUuaCwgdGhlIG5vbi1yZW5hbWVkCisgICAgIyB2ZXJzaW9uIGlzIG5vdCBwcmVzZW50LgorICAgIGVjaG8gIkNoZWNraW5nIGZvciByZW5hbWVkIHN5bWJvbHMgaW4gdGhlIGxpYnJhcnkiCisgICAgY2hlY2tfcmVuYW1lZF9zeW1ib2xzIHRlc3RzL2luY2x1ZGUvc3BlL2NyeXB0b19zcGUuaCBsaWJyYXJ5L2xpYm1iZWRjcnlwdG8uYQorfQorCisjIFRoZSBnb2FsIG9mIHRoaXMgY29tcG9uZW50IGlzIHRvIGJ1aWxkIGEgY29uZmlndXJhdGlvbiB3aGVyZToKKyMgLSB0ZXN0IGNvZGUgYW5kIGxpYnRlc3Rkcml2ZXIxIGNhbiBtYWtlIHVzZSBvZiBjYWxsb2MvZnJlZSBhbmQKKyMgLSBjb3JlIGxpYnJhcnkgKGluY2x1ZGluZyBQU0EgY29yZSkgY2Fubm90IHVzZSBjYWxsb2MvZnJlZS4KK2NvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fd2l0aG91dF9oZWFwKCkgeworICAgIG1zZyAiY3J5cHRvIHdpdGhvdXQgaGVhcDogYnVpbGQgbGlidGVzdGRyaXZlcjEiCisgICAgIyBEaXNhYmxlIFBTQSBmZWF0dXJlcyB0aGF0IGNhbm5vdCBiZSBhY2NlbGVyYXRlZCBhbmQgd2hvc2UgYnVpbHRpbiBzdXBwb3J0CisgICAgIyByZXF1aXJlcyBjYWxsb2MvZnJlZS4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9ERVJJVkUKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0LWFsbCAiXlBTQV9XQU5UX0FMR19IS0RGIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICRDUllQVE9fQ09ORklHX0ggdW5zZXQtYWxsICJeUFNBX1dBTlRfQUxHX1BCS0RGMl8iCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldC1hbGwgIl5QU0FfV0FOVF9BTEdfVExTMTJfIgorICAgICMgUlNBIGtleSBzdXBwb3J0IHJlcXVpcmVzIEFTTjEgcGFyc2Uvd3JpdGUgc3VwcG9ydCBmb3IgdGVzdGluZywgYnV0IEFTTjEKKyAgICAjIGlzIGRpc2FibGVkIGJlbG93LgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICRDUllQVE9fQ09ORklHX0ggdW5zZXQtYWxsICJeUFNBX1dBTlRfS0VZX1RZUEVfUlNBXyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0LWFsbCAiXlBTQV9XQU5UX0FMR19SU0FfIgorICAgICMgREVTIHJlcXVpcmVzIGJ1aWx0LWluIHN1cHBvcnQgZm9yIGtleSBnZW5lcmF0aW9uIChwYXJpdHkgY2hlY2spIHNvIGl0CisgICAgIyBjYW5ub3QgYmUgYWNjZWxlcmF0ZWQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0tFWV9UWVBFX0RFUworICAgICMgRUMtSlBBS0UgdXNlIGNhbGxvYy9mcmVlIGluIFBTQSBjb3JlCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfSlBBS0UKKworICAgICMgQWNjZWxlcmF0ZSBhbGwgUFNBIGZlYXR1cmVzICh3aGljaCBhcmUgc3RpbGwgZW5hYmxlZCBpbiBDUllQVE9fQ09ORklHX0gpLgorICAgIFBTQV9TWU1fTElTVD0kKC4vc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCBnZXQtYWxsLWVuYWJsZWQgUFNBX1dBTlQpCisgICAgbG9jX2FjY2VsX2xpc3Q9JChlY2hvICRQU0FfU1lNX0xJU1QgfCBzZWQgJ3MvUFNBX1dBTlRfLy9nJykKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnIGNyeXB0bworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKKworICAgIG1zZyAiY3J5cHRvIHdpdGhvdXQgaGVhcDogYnVpbGQgbWFpbiBsaWJyYXJ5IgorICAgICMgRGlzYWJsZSBhbGwgbGVnYWN5IE1CRURUTFNfeHh4IHN5bWJvbHMuCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQtYWxsICJeTUJFRFRMU18iCisgICAgIyBCdWlsZCB0aGUgUFNBIGNvcmUgdXNpbmcgdGhlIHByb3BlciBjb25maWcgZmlsZS4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRworICAgICMgRW5hYmxlIGZ1bGx5LXN0YXRpYyBrZXkgc2xvdHMgaW4gUFNBIGNvcmUuCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMKKyAgICAjIFByZXZlbnQgUFNBIGNvcmUgZnJvbSBjcmVhdGluZyBhIGNvcHkgb2YgaW5wdXQvb3V0cHV0IGJ1ZmZlcnMuCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0FTU1VNRV9FWENMVVNJVkVfQlVGRkVSUworICAgICMgUHJldmVudCBQU0EgY29yZSBmcm9tIHVzaW5nIENUUi1EUkJHIG9yIEhNQUMtRFJCRyBmb3IgcmFuZG9tIGdlbmVyYXRpb24uCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19FWFRFUk5BTF9STkcKKyAgICAjIFNldCBjYWxsb2MvZnJlZSBhcyBudWxsIHBvaW50ZXIgZnVuY3Rpb25zLiBDYWxsaW5nIHRoZW0gd291bGQgY3Jhc2gKKyAgICAjIHRoZSBwcm9ncmFtIHNvIHdlIGNhbiB1c2UgdGhpcyBhcyBhICJzZW50aW5lbCIgZm9yIGJlaW5nIHN1cmUgbm8gbW9kdWxlCisgICAgIyBpcyBtYWtpbmcgdXNlIG9mIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgbGlicmFyeS4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QTEFURk9STV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUExBVEZPUk1fTUVNT1JZCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUExBVEZPUk1fU1REX0NBTExPQyAgIE5VTEwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QTEFURk9STV9TVERfRlJFRSAgICAgTlVMTAorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IiBsaWIKKworICAgIG1zZyAiY3J5cHRvIHdpdGhvdXQgaGVhcDogYnVpbGQgdGVzdCBzdWl0ZXMgYW5kIGhlbHBlcnMiCisgICAgIyBSZXNldCBjYWxsb2MvZnJlZSBmdW5jdGlvbnMgdG8gbm9ybWFsIG9wZXJhdGlvbnMgc28gdGhhdCB0ZXN0IGNvZGUgY2FuCisgICAgIyBmcmVlbHkgdXNlIHRoZW0uCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QTEFURk9STV9NRU1PUlkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BMQVRGT1JNX1NURF9DQUxMT0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BMQVRGT1JNX1NURF9GUkVFCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IiB0ZXN0cworCisgICAgbXNnICJjcnlwdG8gd2l0aG91dCBoZWFwOiB0ZXN0IgorICAgIG1ha2UgdGVzdAorfQorCisjIEdldCBhIGxpc3Qgb2YgbGlicmFyeS13aXNlIHVuZGVmaW5lZCBzeW1ib2xzIGFuZCBlbnN1cmUgdGhhdCB0aGV5IG9ubHkKKyMgYmVsb25nIHRvIHBzYV94eHgoKSBmdW5jdGlvbnMgYW5kIG5vdCB0byBtYmVkdGxzX3l5eSgpIG9uZXMuCisjIFRoaXMgZnVuY3Rpb24gaXMgYSBjb21tb24gaGVscGVyIHVzZWQgYnkgYm90aDoKKyMgLSBjb21wb25lbnRfdGVzdF9kZWZhdWx0X3BzYV9jcnlwdG9fY2xpZW50X3dpdGhvdXRfY3J5cHRvX3Byb3ZpZGVyCisjIC0gY29tcG9uZW50X2J1aWxkX2Z1bGxfcHNhX2NyeXB0b19jbGllbnRfd2l0aG91dF9jcnlwdG9fcHJvdmlkZXIuCitjb21tb25fY2hlY2tfbWJlZHRsc19taXNzaW5nX3N5bWJvbHMgKCkgeworICAgIG5tIGxpYnJhcnkvbGlibWJlZGNyeXB0by5hIHwgZ3JlcCAnIFtUUnJEQ10gJyB8IGdyZXAgLUVvICcobWJlZHRsc198cHNhXykuKicgfCBzb3J0IC11ID4gc3ltX2RlZi50eHQKKyAgICBubSBsaWJyYXJ5L2xpYm1iZWRjcnlwdG8uYSB8IGdyZXAgJyBVICcgfCBncmVwIC1FbyAnKG1iZWR0bHNffHBzYV8pLionIHwgc29ydCAtdSA+IHN5bV91bmRlZi50eHQKKyAgICBjb21tIHN5bV9kZWYudHh0IHN5bV91bmRlZi50eHQgLTEzID4gbGlua2luZ19lcnJvcnMudHh0CisgICAgbm90IGdyZXAgbWJlZHRsc18gbGlua2luZ19lcnJvcnMudHh0CisKKyAgICBybSBzeW1fZGVmLnR4dCBzeW1fdW5kZWYudHh0IGxpbmtpbmdfZXJyb3JzLnR4dAorfQorCitjb21wb25lbnRfdGVzdF9kZWZhdWx0X3BzYV9jcnlwdG9fY2xpZW50X3dpdGhvdXRfY3J5cHRvX3Byb3ZpZGVyICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyAtIFBTQV9DUllQVE9fQyArIFBTQV9DUllQVE9fQ0xJRU5UIgorCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfSVRTX0ZJTEVfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fQ0xJRU5UCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfQworCisgICAgbWFrZQorCisgICAgbXNnICJjaGVjayBtaXNzaW5nIHN5bWJvbHM6IGRlZmF1bHQgY29uZmlnIC0gUFNBX0NSWVBUT19DICsgUFNBX0NSWVBUT19DTElFTlQiCisgICAgY29tbW9uX2NoZWNrX21iZWR0bHNfbWlzc2luZ19zeW1ib2xzCisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnIC0gUFNBX0NSWVBUT19DICsgUFNBX0NSWVBUT19DTElFTlQiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF9idWlsZF9mdWxsX3BzYV9jcnlwdG9fY2xpZW50X3dpdGhvdXRfY3J5cHRvX3Byb3ZpZGVyICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIGNvbmZpZyAtIFBTQV9DUllQVE9fQyIKKworICAgICMgVXNlIGZ1bGwgY29uZmlnIHdoaWNoIGluY2x1ZGVzIFVTRV9QU0EgYW5kIENSWVBUT19DTElFTlQuCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DCisgICAgIyBEeW5hbWljIHNlY3VyZSBlbGVtZW50IHN1cHBvcnQgaXMgYSBkZXByZWNhdGVkIGZlYXR1cmUgYW5kIGl0IGlzIG5vdAorICAgICMgYXZhaWxhYmxlIHdoZW4gQ1JZUFRPX0MgYW5kIFBTQV9DUllQVE9fU1RPUkFHRV9DIGFyZSBkaXNhYmxlZC4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU0VfQworCisgICAgIyBTaW5jZSB0aGVyZSBpcyBubyBjcnlwdG8gcHJvdmlkZXIgaW4gdGhpcyBidWlsZCBpdCBpcyBub3QgcG9zc2libGUgdG8KKyAgICAjIGJ1aWxkIGFsbCB0aGUgdGVzdCBleGVjdXRhYmxlcyBhbmQgcHJvZ3JlbXMgZHVlIHRvIG1pc3NpbmcgUFNBIGZ1bmN0aW9ucworICAgICMgYXQgbGluayB0aW1lLiBUaGVyZWZvcmUgd2Ugd2lsbCBqdXN0IGJ1aWxkIGxpYnJhcmllcyBhbmQgd2UnbGwgY2hlY2sKKyAgICAjIHRoYXQgc3ltYm9scyBvZiBpbnRlcmVzdCBhcmUgdGhlcmUuCisgICAgbWFrZSBsaWIKKworICAgIG1zZyAiY2hlY2sgbWlzc2luZyBzeW1ib2xzOiBmdWxsIGNvbmZpZyAtIFBTQV9DUllQVE9fQyIKKworICAgIGNvbW1vbl9jaGVja19tYmVkdGxzX21pc3Npbmdfc3ltYm9scworCisgICAgIyBFbnN1cmUgdGhhdCBkZXNpcmVkIGZ1bmN0aW9ucyBhcmUgaW5jbHVkZWQgaW50byB0aGUgYnVpbGQgKGV4dGVuZCB0aGUKKyAgICAjIGZvbGxvd2luZyBsaXN0IGFzIHJlcXVpcmVkKS4KKyAgICBncmVwIG1iZWR0bHNfcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzIGxpYnJhcnkvbGlibWJlZGNyeXB0by5hCisgICAgZ3JlcCBtYmVkdGxzX3BrX2ltcG9ydF9pbnRvX3BzYSBsaWJyYXJ5L2xpYm1iZWRjcnlwdG8uYQorICAgIGdyZXAgbWJlZHRsc19wa19jb3B5X2Zyb21fcHNhIGxpYnJhcnkvbGlibWJlZGNyeXB0by5hCit9CisKK2NvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fcnNhX25vX2dlbnByaW1lICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyBtaW51cyBNQkVEVExTX0dFTlBSSU1FIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0VOUFJJTUUKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnIG1pbnVzIE1CRURUTFNfR0VOUFJJTUUiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X25vX3BlbV9ub19mcyAoKSB7CisgICAgbXNnICJidWlsZDogRGVmYXVsdCArICFNQkVEVExTX1BFTV9QQVJTRV9DICsgIU1CRURUTFNfRlNfSU8gKEFTYW4gYnVpbGQpIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEVNX1BBUlNFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0ZTX0lPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfSVRTX0ZJTEVfQyAjIHJlcXVpcmVzIGEgZmlsZXN5c3RlbQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MgIyByZXF1aXJlcyBQU0EgSVRTCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiAhTUJFRFRMU19QRU1fUEFSU0VfQyAhTUJFRFRMU19GU19JTyAtIG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIiAjIH4gNTBzCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6ICFNQkVEVExTX1BFTV9QQVJTRV9DICFNQkVEVExTX0ZTX0lPIC0gc3NsLW9wdC5zaCAoQVNhbiBidWlsZCkiICMgfiA2IG1pbgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworY29tcG9uZW50X3Rlc3RfcnNhX25vX2NydCAoKSB7CisgICAgbXNnICJidWlsZDogRGVmYXVsdCArIFJTQV9OT19DUlQgKEFTYW4gYnVpbGQpIiAjIH4gNiBtaW4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19SU0FfTk9fQ1JUCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBSU0FfTk9fQ1JUIC0gbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoQVNhbiBidWlsZCkiICMgfiA1MHMKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogUlNBX05PX0NSVCAtIFJTQS1yZWxhdGVkIHBhcnQgb2Ygc3NsLW9wdC5zaCAoQVNhbiBidWlsZCkiICMgfiA1cworICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgUlNBCisKKyAgICBtc2cgInRlc3Q6IFJTQV9OT19DUlQgLSBSU0EtcmVsYXRlZCBwYXJ0IG9mIGNvbXBhdC5zaCAoQVNhbiBidWlsZCkiICMgfiAzIG1pbgorICAgIHRlc3RzL2NvbXBhdC5zaCAtdCBSU0EKKworICAgIG1zZyAidGVzdDogUlNBX05PX0NSVCAtIFJTQS1yZWxhdGVkIHBhcnQgb2YgY29udGV4dC1pbmZvLnNoIChBU2FuIGJ1aWxkKSIgIyB+IDE1IHNlYworICAgIHRlc3RzL2NvbnRleHQtaW5mby5zaAorfQorCitjb21wb25lbnRfdGVzdF9jb25maWdfbm9fZW50cm9weSAoKSB7CisgICAgbXNnICJidWlsZDogY29uZmlncy9jb25maWctbm8tZW50cm9weS5oIgorICAgIGNwIGNvbmZpZ3MvY29uZmlnLW5vLWVudHJvcHkuaCAiJENPTkZJR19IIgorICAgICMgdGVzdC1yZWYtY29uZmlncyB3b3JrcyBieSBvdmVyd3JpdGluZyBtYmVkdGxzX2NvbmZpZy5oOyB0aGlzIG1ha2VzIGNtYWtlCisgICAgIyB3YW50IHRvIHJlLWdlbmVyYXRlIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGRlcGVuZCBvbiBpdCwgcXVpdGUgY29ycmVjdGx5LgorICAgICMgSG93ZXZlciB0aGlzIGRvZXNuJ3Qgd29yayBhcyB0aGUgZ2VuZXJhdGlvbiBzY3JpcHQgZXhwZWN0cyBhIHNwZWNpZmljCisgICAgIyBmb3JtYXQgZm9yIG1iZWR0bHNfY29uZmlnLmgsIHdoaWNoIHRoZSBvdGhlciBmaWxlcyBkb24ndCBmb2xsb3cuIEFsc28sCisgICAgIyBjbWFrZSBjYW4ndCBrbm93IHRoaXMsIGJ1dCByZS1nZW5lcmF0aW9uIGlzIGFjdHVhbGx5IG5vdCBuZWNlc3NhcnkgYXMKKyAgICAjIHRoZSBnZW5lcmF0ZWQgZmlsZXMgb25seSBkZXBlbmQgb24gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMsIG5vdAorICAgICMgd2hldGhlciB0aGV5J3JlIG9uIG9yIG9mZi4gU28sIGRpc2FibGUgY21ha2UncyAob3Zlci1zZW5zaXRpdmUgaGVyZSkKKyAgICAjIGRlcGVuZGVuY3kgcmVzb2x1dGlvbiBmb3IgZ2VuZXJhdGVkIGZpbGVzIGFuZCBqdXN0IHJlbHkgb24gdGhlbSBiZWluZworICAgICMgcHJlc2VudCAodGhhbmtzIHRvIHByZV9nZW5lcmF0ZV9maWxlcykgYnkgdHVybmluZyBHRU5fRklMRVMgb2ZmLgorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIEdFTl9GSUxFUz1PZmYgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1uby1lbnRyb3B5LmggLSB1bml0IHRlc3RzIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9ub19jdHJfZHJiZ19jbGFzc2ljICgpIHsKKyAgICBtc2cgImJ1aWxkOiBGdWxsIG1pbnVzIENUUl9EUkJHLCBjbGFzc2ljIGNyeXB0byBpbiBUTFMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ1RSX0RSQkdfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKworICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogRnVsbCBtaW51cyBDVFJfRFJCRywgY2xhc3NpYyBjcnlwdG8gLSBtYWluIHN1aXRlcyIKKyAgICBtYWtlIHRlc3QKKworICAgICMgSW4gdGhpcyBjb25maWd1cmF0aW9uLCB0aGUgVExTIHRlc3QgcHJvZ3JhbXMgdXNlIEhNQUNfRFJCRy4KKyAgICAjIFRoZSBTU0wgdGVzdHMgYXJlIHNsb3csIHNvIHJ1biBhIHNtYWxsIHN1YnNldCwganVzdCBlbm91Z2ggdG8gZ2V0CisgICAgIyBjb25maWRlbmNlIHRoYXQgdGhlIFNTTCBjb2RlIGNvcGVzIHdpdGggSE1BQ19EUkJHLgorICAgIG1zZyAidGVzdDogRnVsbCBtaW51cyBDVFJfRFJCRywgY2xhc3NpYyBjcnlwdG8gLSBzc2wtb3B0LnNoIChzdWJzZXQpIgorICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgJ0RlZmF1bHRcfFNTTCBhc3luYyBwcml2YXRlLipkZWxheT1cfHRpY2tldHMgZW5hYmxlZCBvbiBzZXJ2ZXInCisKKyAgICBtc2cgInRlc3Q6IEZ1bGwgbWludXMgQ1RSX0RSQkcsIGNsYXNzaWMgY3J5cHRvIC0gY29tcGF0LnNoIChzdWJzZXQpIgorICAgIHRlc3RzL2NvbXBhdC5zaCAtbSB0bHMxMiAtdCAnRUNEU0EgUFNLJyAtViBOTyAtcCBPcGVuU1NMCit9CisKK2NvbXBvbmVudF90ZXN0X25vX2N0cl9kcmJnX3VzZV9wc2EgKCkgeworICAgIG1zZyAiYnVpbGQ6IEZ1bGwgbWludXMgQ1RSX0RSQkcsIFBTQSBjcnlwdG8gaW4gVExTIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NUUl9EUkJHX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIENUUl9EUkJHLCBVU0VfUFNBX0NSWVBUTyAtIG1haW4gc3VpdGVzIgorICAgIG1ha2UgdGVzdAorCisgICAgIyBJbiB0aGlzIGNvbmZpZ3VyYXRpb24sIHRoZSBUTFMgdGVzdCBwcm9ncmFtcyB1c2UgSE1BQ19EUkJHLgorICAgICMgVGhlIFNTTCB0ZXN0cyBhcmUgc2xvdywgc28gcnVuIGEgc21hbGwgc3Vic2V0LCBqdXN0IGVub3VnaCB0byBnZXQKKyAgICAjIGNvbmZpZGVuY2UgdGhhdCB0aGUgU1NMIGNvZGUgY29wZXMgd2l0aCBITUFDX0RSQkcuCisgICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIENUUl9EUkJHLCBVU0VfUFNBX0NSWVBUTyAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAnRGVmYXVsdFx8U1NMIGFzeW5jIHByaXZhdGUuKmRlbGF5PVx8dGlja2V0cyBlbmFibGVkIG9uIHNlcnZlcicKKworICAgIG1zZyAidGVzdDogRnVsbCBtaW51cyBDVFJfRFJCRywgVVNFX1BTQV9DUllQVE8gLSBjb21wYXQuc2ggKHN1YnNldCkiCisgICAgdGVzdHMvY29tcGF0LnNoIC1tIHRsczEyIC10ICdFQ0RTQSBQU0snIC1WIE5PIC1wIE9wZW5TU0wKK30KKworY29tcG9uZW50X3Rlc3Rfbm9faG1hY19kcmJnX2NsYXNzaWMgKCkgeworICAgIG1zZyAiYnVpbGQ6IEZ1bGwgbWludXMgSE1BQ19EUkJHLCBjbGFzc2ljIGNyeXB0byBpbiBUTFMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSE1BQ19EUkJHX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0RFVEVSTUlOSVNUSUMgIyByZXF1aXJlcyBITUFDX0RSQkcKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCisKKyAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IEZ1bGwgbWludXMgSE1BQ19EUkJHLCBjbGFzc2ljIGNyeXB0byAtIG1haW4gc3VpdGVzIgorICAgIG1ha2UgdGVzdAorCisgICAgIyBOb3JtYWxseSBvdXIgRUNEU0EgaW1wbGVtZW50YXRpb24gdXNlcyBkZXRlcm1pbmlzdGljIEVDRFNBLiBCdXQgc2luY2UKKyAgICAjIEhNQUNfRFJCRyBpcyBkaXNhYmxlZCBpbiB0aGlzIGNvbmZpZ3VyYXRpb24sIHJhbmRvbWl6ZWQgRUNEU0EgaXMgdXNlZAorICAgICMgaW5zdGVhZC4KKyAgICAjIFRlc3QgU1NMIHdpdGggbm9uLWRldGVybWluaXN0aWMgRUNEU0EuIE9ubHkgdGVzdCBmZWF0dXJlcyB0aGF0CisgICAgIyBtaWdodCBiZSBhZmZlY3RlZCBieSBob3cgRUNEU0Egc2lnbmF0dXJlIGlzIHBlcmZvcm1lZC4KKyAgICBtc2cgInRlc3Q6IEZ1bGwgbWludXMgSE1BQ19EUkJHLCBjbGFzc2ljIGNyeXB0byAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAnRGVmYXVsdFx8U1NMIGFzeW5jIHByaXZhdGU6IHNpZ24nCisKKyAgICAjIFRvIHNhdmUgdGltZSwgb25seSB0ZXN0IG9uZSBwcm90b2NvbCB2ZXJzaW9uLCBzaW5jZSB0aGlzIHBhcnQgb2YKKyAgICAjIHRoZSBwcm90b2NvbCBpcyBpZGVudGljYWwgaW4gKEQpVExTIHVwIHRvIDEuMi4KKyAgICBtc2cgInRlc3Q6IEZ1bGwgbWludXMgSE1BQ19EUkJHLCBjbGFzc2ljIGNyeXB0byAtIGNvbXBhdC5zaCAoRUNEU0EpIgorICAgIHRlc3RzL2NvbXBhdC5zaCAtbSB0bHMxMiAtdCAnRUNEU0EnCit9CisKK2NvbXBvbmVudF90ZXN0X25vX2htYWNfZHJiZ191c2VfcHNhICgpIHsKKyAgICBtc2cgImJ1aWxkOiBGdWxsIG1pbnVzIEhNQUNfRFJCRywgUFNBIGNyeXB0byBpbiBUTFMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSE1BQ19EUkJHX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0RFVEVSTUlOSVNUSUMgIyByZXF1aXJlcyBITUFDX0RSQkcKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIEhNQUNfRFJCRywgVVNFX1BTQV9DUllQVE8gLSBtYWluIHN1aXRlcyIKKyAgICBtYWtlIHRlc3QKKworICAgICMgTm9ybWFsbHkgb3VyIEVDRFNBIGltcGxlbWVudGF0aW9uIHVzZXMgZGV0ZXJtaW5pc3RpYyBFQ0RTQS4gQnV0IHNpbmNlCisgICAgIyBITUFDX0RSQkcgaXMgZGlzYWJsZWQgaW4gdGhpcyBjb25maWd1cmF0aW9uLCByYW5kb21pemVkIEVDRFNBIGlzIHVzZWQKKyAgICAjIGluc3RlYWQuCisgICAgIyBUZXN0IFNTTCB3aXRoIG5vbi1kZXRlcm1pbmlzdGljIEVDRFNBLiBPbmx5IHRlc3QgZmVhdHVyZXMgdGhhdAorICAgICMgbWlnaHQgYmUgYWZmZWN0ZWQgYnkgaG93IEVDRFNBIHNpZ25hdHVyZSBpcyBwZXJmb3JtZWQuCisgICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIEhNQUNfRFJCRywgVVNFX1BTQV9DUllQVE8gLSBzc2wtb3B0LnNoIChzdWJzZXQpIgorICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgJ0RlZmF1bHRcfFNTTCBhc3luYyBwcml2YXRlOiBzaWduJworCisgICAgIyBUbyBzYXZlIHRpbWUsIG9ubHkgdGVzdCBvbmUgcHJvdG9jb2wgdmVyc2lvbiwgc2luY2UgdGhpcyBwYXJ0IG9mCisgICAgIyB0aGUgcHJvdG9jb2wgaXMgaWRlbnRpY2FsIGluIChEKVRMUyB1cCB0byAxLjIuCisgICAgbXNnICJ0ZXN0OiBGdWxsIG1pbnVzIEhNQUNfRFJCRywgVVNFX1BTQV9DUllQVE8gLSBjb21wYXQuc2ggKEVDRFNBKSIKKyAgICB0ZXN0cy9jb21wYXQuc2ggLW0gdGxzMTIgLXQgJ0VDRFNBJworfQorCitjb21wb25lbnRfdGVzdF9wc2FfZXh0ZXJuYWxfcm5nX25vX2RyYmdfY2xhc3NpYyAoKSB7CisgICAgbXNnICJidWlsZDogUFNBX0NSWVBUT19FWFRFUk5BTF9STkcgbWludXMgKl9EUkJHLCBjbGFzc2ljIGNyeXB0byBpbiBUTFMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0VYVEVSTkFMX1JORworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRU5UUk9QWV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FTlRST1BZX05WX1NFRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BMQVRGT1JNX05WX1NFRURfQUxUCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DVFJfRFJCR19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ITUFDX0RSQkdfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfREVURVJNSU5JU1RJQyAjIHJlcXVpcmVzIEhNQUNfRFJCRworICAgICMgV2hlbiBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGlzIGRpc2FibGVkIGFuZCB0aGVyZSBpcyBubyBEUkJHLAorICAgICMgdGhlIFNTTCB0ZXN0IHByb2dyYW1zIGRvbid0IGhhdmUgYW4gUk5HIGFuZCBjYW4ndCB3b3JrLiBFeHBsaWNpdGx5CisgICAgIyBtYWtlIHRoZW0gdXNlIHRoZSBQU0EgUk5HIHdpdGggLURNQkVEVExTX1RFU1RfVVNFX1BTQV9DUllQVE9fUk5HLgorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURNQkVEVExTX1RFU1RfVVNFX1BTQV9DUllQVE9fUk5HIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCisKKyAgICBtc2cgInRlc3Q6IFBTQV9DUllQVE9fRVhURVJOQUxfUk5HIG1pbnVzICpfRFJCRywgY2xhc3NpYyBjcnlwdG8gLSBtYWluIHN1aXRlcyIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogUFNBX0NSWVBUT19FWFRFUk5BTF9STkcgbWludXMgKl9EUkJHLCBjbGFzc2ljIGNyeXB0byAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAnRGVmYXVsdCcKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2V4dGVybmFsX3JuZ19ub19kcmJnX3VzZV9wc2EgKCkgeworICAgIG1zZyAiYnVpbGQ6IFBTQV9DUllQVE9fRVhURVJOQUxfUk5HIG1pbnVzICpfRFJCRywgUFNBIGNyeXB0byBpbiBUTFMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fRVhURVJOQUxfUk5HCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FTlRST1BZX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VOVFJPUFlfTlZfU0VFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUExBVEZPUk1fTlZfU0VFRF9BTFQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NUUl9EUkJHX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hNQUNfRFJCR19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9ERVRFUk1JTklTVElDICMgcmVxdWlyZXMgSE1BQ19EUkJHCisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBQU0FfQ1JZUFRPX0VYVEVSTkFMX1JORyBtaW51cyAqX0RSQkcsIFBTQSBjcnlwdG8gLSBtYWluIHN1aXRlcyIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogUFNBX0NSWVBUT19FWFRFUk5BTF9STkcgbWludXMgKl9EUkJHLCBQU0EgY3J5cHRvIC0gc3NsLW9wdC5zaCAoc3Vic2V0KSIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICdEZWZhdWx0XHxvcGFxdWUnCit9CisKK2NvbXBvbmVudF90ZXN0X3BzYV9leHRlcm5hbF9ybmdfdXNlX3BzYV9jcnlwdG8gKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBQU0FfQ1JZUFRPX0VYVEVSTkFMX1JORyArIFVTRV9QU0FfQ1JZUFRPIG1pbnVzIENUUl9EUkJHIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0VYVEVSTkFMX1JORworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DVFJfRFJCR19DCisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBmdWxsICsgUFNBX0NSWVBUT19FWFRFUk5BTF9STkcgKyBVU0VfUFNBX0NSWVBUTyBtaW51cyBDVFJfRFJCRyIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogZnVsbCArIFBTQV9DUllQVE9fRVhURVJOQUxfUk5HICsgVVNFX1BTQV9DUllQVE8gbWludXMgQ1RSX0RSQkciCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAnRGVmYXVsdFx8b3BhcXVlJworfQorCitjb21wb25lbnRfdGVzdF9wc2FfaW5qZWN0X2VudHJvcHkgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBNQkVEVExTX1BTQV9JTkpFQ1RfRU5UUk9QWSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0lOSkVDVF9FTlRST1BZCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRU5UUk9QWV9OVl9TRUVECisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTk9fREVGQVVMVF9FTlRST1BZX1NPVVJDRVMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BMQVRGT1JNX05WX1NFRURfQUxUCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QTEFURk9STV9TVERfTlZfU0VFRF9SRUFECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QTEFURk9STV9TVERfTlZfU0VFRF9XUklURQorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgJy1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPVwiLi4vdGVzdHMvY29uZmlncy91c2VyLWNvbmZpZy1mb3ItdGVzdC5oXCInIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgKyBNQkVEVExTX1BTQV9JTkpFQ1RfRU5UUk9QWSIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X2Z1bGxfbm9fcGtwYXJzZV9wa3dyaXRlICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIHdpdGhvdXQgcGtwYXJzZSBhbmQgcGt3cml0ZSIKKworICAgIHNjcmlwdHMvY29uZmlnLnB5IGNyeXB0b19mdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19QQVJTRV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19XUklURV9DCisKKyAgICBtYWtlIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCisKKyAgICAjIEVuc3VyZSB0aGF0IFBLX1tQQVJTRXxXUklURV1fQyB3ZXJlIG5vdCByZS1lbmFibGVkIGFjY2lkZW50YWxseSAoYWRkaXRpdmUgY29uZmlnKS4KKyAgICBub3QgZ3JlcCBtYmVkdGxzX3BrX3BhcnNlX2tleSBsaWJyYXJ5L3BrcGFyc2UubworICAgIG5vdCBncmVwIG1iZWR0bHNfcGtfd3JpdGVfa2V5X2RlciBsaWJyYXJ5L3Brd3JpdGUubworCisgICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGhvdXQgcGtwYXJzZSBhbmQgcGt3cml0ZSIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfY3J5cHRvX2Z1bGxfbWRfbGlnaHRfb25seSAoKSB7CisgICAgbXNnICJidWlsZDogY3J5cHRvX2Z1bGwgd2l0aCBvbmx5IHRoZSBsaWdodCBzdWJzZXQgb2YgTUQiCisgICAgc2NyaXB0cy9jb25maWcucHkgY3J5cHRvX2Z1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHCisgICAgIyBEaXNhYmxlIE1ECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19NRF9DCisgICAgIyBEaXNhYmxlIGRpcmVjdCBkZXBlbmRlbmNpZXMgb2YgTURfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSEtERl9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ITUFDX0RSQkdfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzdfQworICAgICMgRGlzYWJsZSBpbmRpcmVjdCBkZXBlbmRlbmNpZXMgb2YgTURfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfREVURVJNSU5JU1RJQyAjIG5lZWRzIEhNQUNfRFJCRworICAgICMgRGlzYWJsZSB0aGluZ3MgdGhhdCB3b3VsZCBhdXRvLWVuYWJsZSBNRF9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTNV9DCisKKyAgICAjIE5vdGU6IE1ELWxpZ2h0IGlzIGF1dG8tZW5hYmxlZCBpbiBidWlsZF9pbmZvLmggYnkgbW9kdWxlcyB0aGF0IG5lZWQgaXQsCisgICAgIyB3aGljaCB3ZSBoYXZlbid0IGRpc2FibGVkLCBzbyBubyBuZWVkIHRvIGV4cGxpY2l0bHkgZW5hYmxlIGl0LgorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKKworICAgICMgTWFrZSBzdXJlIHdlIGRvbid0IGhhdmUgdGhlIEhNQUMgZnVuY3Rpb25zLCBidXQgdGhlIGhhc2hpbmcgZnVuY3Rpb25zCisgICAgbm90IGdyZXAgbWJlZHRsc19tZF9obWFjIGxpYnJhcnkvbWQubworICAgIGdyZXAgbWJlZHRsc19tZCBsaWJyYXJ5L21kLm8KKworICAgIG1zZyAidGVzdDogY3J5cHRvX2Z1bGwgd2l0aCBvbmx5IHRoZSBsaWdodCBzdWJzZXQgb2YgTUQiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X2Z1bGxfbm9fY2lwaGVyX25vX3BzYV9jcnlwdG8gKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgbm8gQ0lQSEVSIG5vIFBTQV9DUllQVE9fQyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfQworICAgICMgRG9uJ3QgcHVsbCBpbiBjaXBoZXIgdmlhIFBTQSBtZWNoYW5pc21zCisgICAgIyAoY3VycmVudGx5IGlnbm9yZWQgYW55d2F5IGJlY2F1c2Ugd2UgY29tcGxldGVseSBkaXNhYmxlIFBTQSkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHCisgICAgIyBEaXNhYmxlIGZlYXR1cmVzIHRoYXQgZGVwZW5kIG9uIENJUEhFUl9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DTUFDX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX05JU1RfS1dfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMU19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVElDS0VUX0MKKyAgICAjIERpc2FibGUgZmVhdHVyZXMgdGhhdCBkZXBlbmQgb24gUFNBX0NSWVBUT19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0xNU19QUklWQVRFCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgbm8gQ0lQSEVSIG5vIFBTQV9DUllQVE9fQyIKKyAgICBtYWtlIHRlc3QKK30KKworIyBUaGlzIGlzIGEgY29tbW9uIGNvbmZpZ3VyYXRvciBhbmQgdGVzdCBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgaW46CisjIC0gY29tcG9uZW50X3Rlc3RfZnVsbF9ub19jaXBoZXJfd2l0aF9wc2FfY3J5cHRvCisjIC0gY29tcG9uZW50X3Rlc3RfZnVsbF9ub19jaXBoZXJfd2l0aF9wc2FfY3J5cHRvX2NvbmZpZworIyBJdCBhY2NlcHRzIDIgaW5wdXQgcGFyYW1ldGVyczoKKyMgLSAkMTogYm9vbGVhbiB2YWx1ZSB3aGljaCBiYXNpY2FsbHkgcmVmbGVjdHMgc3RhdHVzIG9mIE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcKKyMgLSAkMjogYSB0ZXh0IHN0cmluZyB3aGljaCBkZXNjcmliZXMgdGhlIHRlc3QgY29tcG9uZW50Citjb21tb25fdGVzdF9mdWxsX25vX2NpcGhlcl93aXRoX3BzYV9jcnlwdG8gKCkgeworICAgIFVTRV9DUllQVE9fQ09ORklHPSIkMSIKKyAgICBDT01QT05FTlRfREVTQ1JJUFRJT049IiQyIgorCisgICAgbXNnICJidWlsZDogJENPTVBPTkVOVF9ERVNDUklQVElPTiIKKworICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9DCisKKyAgICBpZiBbICIkVVNFX0NSWVBUT19DT05GSUciIC1lcSAxIF07IHRoZW4KKyAgICAgICAgIyBUaGUgYnVpbHQtaW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIGZvbGxvd2luZyBhbGdzL2tleS10eXBlcyBkZXBlbmRzCisgICAgICAgICMgb24gQ0lQSEVSX0Mgc28gd2UgZGlzYWJsZSB0aGVtLgorICAgICAgICAjIFRoaXMgZG9lcyBub3QgaG9sZCBmb3IgS0VZX1RZUEVfQ0hBQ0hBMjAgYW5kIEFMR19DSEFDSEEyMF9QT0xZMTMwNQorICAgICAgICAjIHNvIHdlIGtlZXAgdGhlbSBlbmFibGVkLgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUcKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfQ01BQworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0FMR19DQkNfTk9fUEFERElORworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0FMR19DQkNfUEtDUzcKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfQ0ZCCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICRDUllQVE9fQ09ORklHX0ggdW5zZXQgUFNBX1dBTlRfQUxHX0NUUgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0FMR19FQ0JfTk9fUEFERElORworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0FMR19PRkIKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfUEJLREYyX0FFU19DTUFDX1BSRl8xMjgKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgJENSWVBUT19DT05GSUdfSCB1bnNldCBQU0FfV0FOVF9BTEdfU1RSRUFNX0NJUEhFUgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAkQ1JZUFRPX0NPTkZJR19IIHVuc2V0IFBTQV9XQU5UX0tFWV9UWVBFX0RFUworICAgIGVsc2UKKyAgICAgICAgIyBEb24ndCBwdWxsIGluIGNpcGhlciB2aWEgUFNBIG1lY2hhbmlzbXMKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRworICAgICAgICAjIERpc2FibGUgY2lwaGVyIG1vZGVzL2tleXMgdGhhdCBtYWtlIFBTQSBkZXBlbmQgb24gQ0lQSEVSX0MuCisgICAgICAgICMgS2VlcCBDSEFDSEEyMCBhbmQgQ0hBQ0hBUE9MWSBlbmFibGVkIHNpbmNlIHRoZXkgZG8gbm90IGRlcGVuZCBvbiBDSVBIRVJfQy4KKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQtYWxsIE1CRURUTFNfQ0lQSEVSX01PREUKKyAgICBmaQorICAgICMgVGhlIGZvbGxvd2luZyBtb2R1bGVzIGRpcmVjdGx5IGRlcGVuZHMgb24gQ0lQSEVSX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NNQUNfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTklTVF9LV19DCisKKyAgICBtYWtlCisKKyAgICAjIEVuc3VyZSB0aGF0IENJUEhFUl9DIHdhcyBub3QgcmUtZW5hYmxlZAorICAgIG5vdCBncmVwIG1iZWR0bHNfY2lwaGVyX2luaXQgbGlicmFyeS9jaXBoZXIubworCisgICAgbXNnICJ0ZXN0OiAkQ09NUE9ORU5UX0RFU0NSSVBUSU9OIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9mdWxsX25vX2NpcGhlcl93aXRoX3BzYV9jcnlwdG8gKCkgeworICAgIGNvbW1vbl90ZXN0X2Z1bGxfbm9fY2lwaGVyX3dpdGhfcHNhX2NyeXB0byAwICJmdWxsIG5vIENJUEhFUiBubyBDUllQVE9fQ09ORklHIgorfQorCitjb21wb25lbnRfdGVzdF9mdWxsX25vX2NpcGhlcl93aXRoX3BzYV9jcnlwdG9fY29uZmlnICgpIHsKKyAgICBjb21tb25fdGVzdF9mdWxsX25vX2NpcGhlcl93aXRoX3BzYV9jcnlwdG8gMSAiZnVsbCBubyBDSVBIRVIiCit9CisKK2NvbXBvbmVudF90ZXN0X2Z1bGxfbm9fY2NtICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIG5vIFBTQV9XQU5UX0FMR19DQ00iCisKKyAgICAjIEZ1bGwgY29uZmlnIGVuYWJsZXM6CisgICAgIyAtIFVTRV9QU0FfQ1JZUFRPIHNvIHRoYXQgVExTIGNvZGUgZGlzcGF0Y2hlcyBjaXBoZXIvQUVBRCB0byBQU0EKKyAgICAjIC0gQ1JZUFRPX0NPTkZJRyBzbyB0aGF0IFBTQV9XQU5UIGNvbmZpZyBzeW1ib2xzIGFyZSBldmFsdWF0ZWQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisKKyAgICAjIERpc2FibGUgUFNBX1dBTlRfQUxHX0NDTSBzbyB0aGF0IENDTSBpcyBub3Qgc3VwcG9ydGVkIGluIFBTQS4gQ0NNX0MgaXMgc3RpbGwKKyAgICAjIGVuYWJsZWQsIGJ1dCBub3QgdXNlZCBmcm9tIFRMUyBzaW5jZSBVU0VfUFNBIGlzIHNldC4KKyAgICAjIFRoaXMgaXMgaGVscGZ1bCB0byBlbnN1cmUgdGhhdCBUTFMgdGVzdHMgYmVsb3cgaGF2ZSBwcm9wZXIgZGVwZW5kZW5jaWVzLgorICAgICMKKyAgICAjIE5vdGU6IGFsc28gUFNBX1dBTlRfQUxHX0NDTV9TVEFSX05PX1RBRyBpcyBlbmFibGVkLCBidXQgaXQgZG9lcyBub3QgY2F1c2UKKyAgICAjIFBTQV9XQU5UX0FMR19DQ00gdG8gYmUgcmUtZW5hYmxlZC4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NDTQorCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBmdWxsIG5vIFBTQV9XQU5UX0FMR19DQ00iCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X2Z1bGxfbm9fY2NtX3N0YXJfbm9fdGFnICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIG5vIFBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUciCisKKyAgICAjIEZ1bGwgY29uZmlnIGVuYWJsZXMgQ1JZUFRPX0NPTkZJRyBzbyB0aGF0IFBTQV9XQU5UIGNvbmZpZyBzeW1ib2xzIGFyZSBldmFsdWF0ZWQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisKKyAgICAjIERpc2FibGUgQ0NNX1NUQVJfTk9fVEFHLCB3aGljaCBpcyB0aGUgdGFyZ2V0IG9mIHRoaXMgdGVzdCwgYXMgd2VsbCBhcyBhbGwKKyAgICAjIG90aGVyIGNvbXBvbmVudHMgdGhhdCBlbmFibGUgTUJFRFRMU19QU0FfQlVJTFRJTl9DSVBIRVIgaW50ZXJuYWwgc3ltYm9sLgorICAgICMgVGhpcyBiYXNpY2FsbHkgZGlzYWJsZXMgYWxsIHVuYXV0aGVudGljYXRlZCBjaXBoZXJzIG9uIHRoZSBQU0Egc2lkZSwgd2hpbGUKKyAgICAjIGtlZXBpbmcgQUVBRHMgZW5hYmxlZC4KKyAgICAjCisgICAgIyBOb3RlOiBQU0FfV0FOVF9BTEdfQ0NNIGlzIGVuYWJsZWQsIGJ1dCBpdCBkb2VzIG5vdCBjYXVzZQorICAgICMgUFNBX1dBTlRfQUxHX0NDTV9TVEFSX05PX1RBRyB0byBiZSByZS1lbmFibGVkLgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfQ0NNX1NUQVJfTk9fVEFHCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TVFJFQU1fQ0lQSEVSCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DVFIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NGQgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfT0ZCCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19FQ0JfTk9fUEFERElORworICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfQ0JDX05PX1BBRERJTkcKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NCQ19QS0NTNworCisgICAgbWFrZQorCisgICAgIyBFbnN1cmUgTUJFRFRMU19QU0FfQlVJTFRJTl9DSVBIRVIgd2FzIG5vdCBlbmFibGVkCisgICAgbm90IGdyZXAgbWJlZHRsc19wc2FfY2lwaGVyIGxpYnJhcnkvcHNhX2NyeXB0b19jaXBoZXIubworCisgICAgbXNnICJ0ZXN0OiBmdWxsIG5vIFBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUciCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X2NvbmZpZ19zeW1tZXRyaWNfb25seV9sZWdhY3kgKCkgeworICAgIG1zZyAiYnVpbGQ6IGNvbmZpZ3MvY29uZmlnLXN5bW1ldHJpYy1vbmx5LmgiCisgICAgY3AgY29uZmlncy9jb25maWctc3ltbWV0cmljLW9ubHkuaCAiJENPTkZJR19IIgorICAgICMgdGVzdC1yZWYtY29uZmlncyB3b3JrcyBieSBvdmVyd3JpdGluZyBtYmVkdGxzX2NvbmZpZy5oOyB0aGlzIG1ha2VzIGNtYWtlCisgICAgIyB3YW50IHRvIHJlLWdlbmVyYXRlIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGRlcGVuZCBvbiBpdCwgcXVpdGUgY29ycmVjdGx5LgorICAgICMgSG93ZXZlciB0aGlzIGRvZXNuJ3Qgd29yayBhcyB0aGUgZ2VuZXJhdGlvbiBzY3JpcHQgZXhwZWN0cyBhIHNwZWNpZmljCisgICAgIyBmb3JtYXQgZm9yIG1iZWR0bHNfY29uZmlnLmgsIHdoaWNoIHRoZSBvdGhlciBmaWxlcyBkb24ndCBmb2xsb3cuIEFsc28sCisgICAgIyBjbWFrZSBjYW4ndCBrbm93IHRoaXMsIGJ1dCByZS1nZW5lcmF0aW9uIGlzIGFjdHVhbGx5IG5vdCBuZWNlc3NhcnkgYXMKKyAgICAjIHRoZSBnZW5lcmF0ZWQgZmlsZXMgb25seSBkZXBlbmQgb24gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMsIG5vdAorICAgICMgd2hldGhlciB0aGV5J3JlIG9uIG9yIG9mZi4gU28sIGRpc2FibGUgY21ha2UncyAob3Zlci1zZW5zaXRpdmUgaGVyZSkKKyAgICAjIGRlcGVuZGVuY3kgcmVzb2x1dGlvbiBmb3IgZ2VuZXJhdGVkIGZpbGVzIGFuZCBqdXN0IHJlbHkgb24gdGhlbSBiZWluZworICAgICMgcHJlc2VudCAodGhhbmtzIHRvIHByZV9nZW5lcmF0ZV9maWxlcykgYnkgdHVybmluZyBHRU5fRklMRVMgb2ZmLgorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIEdFTl9GSUxFUz1PZmYgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1zeW1tZXRyaWMtb25seS5oIC0gdW5pdCB0ZXN0cyIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfY29uZmlnX3N5bW1ldHJpY19vbmx5X3BzYSAoKSB7CisgICAgbXNnICJidWlsZDogY29uZmlncy9jb25maWctc3ltbWV0cmljLW9ubHkuaCArIFVTRV9QU0FfQ1JZUFRPIgorICAgIGNwIGNvbmZpZ3MvY29uZmlnLXN5bW1ldHJpYy1vbmx5LmggIiRDT05GSUdfSCIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgICMgdGVzdC1yZWYtY29uZmlncyB3b3JrcyBieSBvdmVyd3JpdGluZyBtYmVkdGxzX2NvbmZpZy5oOyB0aGlzIG1ha2VzIGNtYWtlCisgICAgIyB3YW50IHRvIHJlLWdlbmVyYXRlIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGRlcGVuZCBvbiBpdCwgcXVpdGUgY29ycmVjdGx5LgorICAgICMgSG93ZXZlciB0aGlzIGRvZXNuJ3Qgd29yayBhcyB0aGUgZ2VuZXJhdGlvbiBzY3JpcHQgZXhwZWN0cyBhIHNwZWNpZmljCisgICAgIyBmb3JtYXQgZm9yIG1iZWR0bHNfY29uZmlnLmgsIHdoaWNoIHRoZSBvdGhlciBmaWxlcyBkb24ndCBmb2xsb3cuIEFsc28sCisgICAgIyBjbWFrZSBjYW4ndCBrbm93IHRoaXMsIGJ1dCByZS1nZW5lcmF0aW9uIGlzIGFjdHVhbGx5IG5vdCBuZWNlc3NhcnkgYXMKKyAgICAjIHRoZSBnZW5lcmF0ZWQgZmlsZXMgb25seSBkZXBlbmQgb24gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMsIG5vdAorICAgICMgd2hldGhlciB0aGV5J3JlIG9uIG9yIG9mZi4gU28sIGRpc2FibGUgY21ha2UncyAob3Zlci1zZW5zaXRpdmUgaGVyZSkKKyAgICAjIGRlcGVuZGVuY3kgcmVzb2x1dGlvbiBmb3IgZ2VuZXJhdGVkIGZpbGVzIGFuZCBqdXN0IHJlbHkgb24gdGhlbSBiZWluZworICAgICMgcHJlc2VudCAodGhhbmtzIHRvIHByZV9nZW5lcmF0ZV9maWxlcykgYnkgdHVybmluZyBHRU5fRklMRVMgb2ZmLgorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIEdFTl9GSUxFUz1PZmYgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1zeW1tZXRyaWMtb25seS5oICsgVVNFX1BTQV9DUllQVE8gLSB1bml0IHRlc3RzIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9mdWxsX25vX2JpZ251bSAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCBtaW51cyBiaWdudW0iCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQklHTlVNX0MKKyAgICAjIERpcmVjdCBkZXBlbmRlbmNpZXMgb2YgYmlnbnVtCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUlNBX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RITV9DCisgICAgIyBEaXJlY3QgZGVwZW5kZW5jaWVzIG9mIEVDUAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0pQQUtFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9SRVNUQVJUQUJMRQorICAgICMgRGlzYWJsZSB3aGF0IGF1dG8tZW5hYmxlcyBFQ1BfTElHSFQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0VDX0VYVEVOREVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VECisgICAgIyBJbmRpcmVjdCBkZXBlbmRlbmNpZXMgb2YgRUNQCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9FQ0RTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9SU0FfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1BTS19FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfUlNBX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNKUEFLRV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAorICAgICMgRGlyZWN0IGRlcGVuZGVuY2llcyBvZiBESE0KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9ESEVfUFNLX0VOQUJMRUQKKyAgICAjIERpcmVjdCBkZXBlbmRlbmNpZXMgb2YgUlNBCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1JTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfUlNBX1BTS19FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfUlNBX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCisgICAgIyBQSyBhbmQgaXRzIGRlcGVuZGVuY2llcworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfUEFSU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfV1JJVEVfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9VU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUkxfUEFSU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DU1JfUEFSU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUkVBVEVfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUlRfV1JJVEVfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DU1JfV1JJVEVfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzdfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1NFUlZFUl9OQU1FX0lORElDQVRJT04KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9BU1lOQ19QUklWQVRFCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0sKKworICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogZnVsbCBtaW51cyBiaWdudW0iCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF9idWlsZF9kaG1fYWx0ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBNQkVEVExTX0RITV9BTFQiICMgfjMwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19ESE1fQUxUCisgICAgIyBkZWJ1Zy5jIGN1cnJlbnRseSByZWZlcmVuY2VzIG1iZWR0bHNfZGhtX2NvbnRleHQgZmllbGRzIGRpcmVjdGx5LgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfREVCVUdfQworICAgICMgV2UgY2FuIG9ubHkgY29tcGlsZSwgbm90IGxpbmssIHNpbmNlIHdlIGRvbid0IGhhdmUgYW55IGltcGxlbWVudGF0aW9ucworICAgICMgc3VpdGFibGUgZm9yIHRlc3Rpbmcgd2l0aCB0aGUgZHVtbXkgYWx0IGhlYWRlcnMuCisgICAgbWFrZSBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtSS4uL3Rlc3RzL2luY2x1ZGUvYWx0LWR1bW15JyBsaWIKK30KKworY29tcG9uZW50X3Rlc3RfZXZlcmVzdCAoKSB7CisgICAgbXNnICJidWlsZDogRXZlcmVzdCBFQ0RIIGNvbnRleHQgKEFTYW4gYnVpbGQpIiAjIH4gNiBtaW4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19FQ0RIX1ZBUklBTlRfRVZFUkVTVF9FTkFCTEVECisgICAgQ0M9Y2xhbmcgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBFdmVyZXN0IEVDREggY29udGV4dCAtIG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIiAjIH4gNTBzCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IG1ldGF0ZXN0cyAoY2xhbmcsIEFTYW4pIgorICAgIHRlc3RzL3NjcmlwdHMvcnVuLW1ldGF0ZXN0cy5zaCBhbnkgYXNhbiBwb2lzb24KKworICAgIG1zZyAidGVzdDogRXZlcmVzdCBFQ0RIIGNvbnRleHQgLSBFQ0RILXJlbGF0ZWQgcGFydCBvZiBzc2wtb3B0LnNoIChBU2FuIGJ1aWxkKSIgIyB+IDVzCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiBFQ0RICisKKyAgICBtc2cgInRlc3Q6IEV2ZXJlc3QgRUNESCBjb250ZXh0IC0gY29tcGF0LnNoIHdpdGggc29tZSBFQ0RIIGNpcGhlcnN1aXRlcyAoQVNhbiBidWlsZCkiICMgfiAzIG1pbgorICAgICMgRXhjbHVkZSBzb21lIHN5bW1ldHJpYyBjaXBoZXJzIHRoYXQgYXJlIHJlZHVuZGFudCBoZXJlIHRvIGdhaW4gdGltZS4KKyAgICB0ZXN0cy9jb21wYXQuc2ggLWYgRUNESCAtViBOTyAtZSAnQVJJQVx8Q0FNRUxMSUFcfENIQUNIQScKK30KKworY29tcG9uZW50X3Rlc3RfZXZlcmVzdF9jdXJ2ZTI1NTE5X29ubHkgKCkgeworICAgIG1zZyAiYnVpbGQ6IEV2ZXJlc3QgRUNESCBjb250ZXh0LCBvbmx5IEN1cnZlMjU1MTkiICMgfiA2IG1pbgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VDREhfVkFSSUFOVF9FVkVSRVNUX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0pQQUtFX0MKKyAgICAjIERpc2FibGUgYWxsIGN1cnZlcworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0LWFsbCAiTUJFRFRMU19FQ1BfRFBfWzAtOUEtWl9hLXpdKl9FTkFCTEVEIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VDUF9EUF9DVVJWRTI1NTE5X0VOQUJMRUQKKworICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKKworICAgIG1zZyAidGVzdDogRXZlcmVzdCBFQ0RIIGNvbnRleHQsIG9ubHkgQ3VydmUyNTUxOSIgIyB+IDUwcworICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY29sbGVjdF9zdGF0dXNlcyAoKSB7CisgIG1zZyAiYnVpbGQrdGVzdDogcHNhX2NvbGxlY3Rfc3RhdHVzZXMiICMgfjMwcworICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgIHRlc3RzL3NjcmlwdHMvcHNhX2NvbGxlY3Rfc3RhdHVzZXMucHkKKyAgIyBDaGVjayB0aGF0IHBzYV9jcnlwdG9faW5pdCgpIHN1Y2NlZWRlZCBhdCBsZWFzdCBvbmNlCisgIGdyZXAgLXEgJ14wOnBzYV9jcnlwdG9faW5pdDonIHRlc3RzL3N0YXR1c2VzLmxvZworICBybSAtZiB0ZXN0cy9zdGF0dXNlcy5sb2cKK30KKworIyBDaGVjayB0aGF0IHRoZSBzcGVjaWZpZWQgbGlicmFyaWVzIGV4aXN0IGFuZCBhcmUgZW1wdHkuCithcmVfZW1wdHlfbGlicmFyaWVzICgpIHsKKyAgbm0gIiRAIiA+L2Rldi9udWxsIDI+L2Rldi9udWxsCisgICEgbm0gIiRAIiAyPi9kZXYvbnVsbCB8IGdyZXAgLXYgJzokJyB8IGdyZXAgLgorfQorCitjb21wb25lbnRfYnVpbGRfY3J5cHRvX2RlZmF1bHQgKCkgeworICBtc2cgImJ1aWxkOiBtYWtlLCBjcnlwdG8gb25seSIKKyAgc2NyaXB0cy9jb25maWcucHkgY3J5cHRvCisgIG1ha2UgQ0ZMQUdTPSctTzEgLVdlcnJvcicKKyAgYXJlX2VtcHR5X2xpYnJhcmllcyBsaWJyYXJ5L2xpYm1iZWR4NTA5LiogbGlicmFyeS9saWJtYmVkdGxzLioKK30KKworY29tcG9uZW50X2J1aWxkX2NyeXB0b19mdWxsICgpIHsKKyAgbXNnICJidWlsZDogbWFrZSwgY3J5cHRvIG9ubHksIGZ1bGwgY29uZmlnIgorICBzY3JpcHRzL2NvbmZpZy5weSBjcnlwdG9fZnVsbAorICBtYWtlIENGTEFHUz0nLU8xIC1XZXJyb3InCisgIGFyZV9lbXB0eV9saWJyYXJpZXMgbGlicmFyeS9saWJtYmVkeDUwOS4qIGxpYnJhcnkvbGlibWJlZHRscy4qCit9CisKK2NvbXBvbmVudF90ZXN0X2NyeXB0b19mb3JfcHNhX3NlcnZpY2UgKCkgeworICBtc2cgImJ1aWxkOiBtYWtlLCBjb25maWcgZm9yIFBTQSBjcnlwdG8gc2VydmljZSIKKyAgc2NyaXB0cy9jb25maWcucHkgY3J5cHRvCisgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fS0VZX0lEX0VOQ09ERVNfT1dORVIKKyAgIyBEaXNhYmxlIHRoaW5ncyB0aGF0IGFyZSBub3QgbmVlZGVkIGZvciBqdXN0IGNyeXB0b2dyYXBoeSwgdG8KKyAgIyByZWFjaCBhIGNvbmZpZ3VyYXRpb24gdGhhdCB3b3VsZCBiZSB0eXBpY2FsIGZvciBhIFBTQSBjcnlwdG9ncmFwaHkKKyAgIyBzZXJ2aWNlIHByb3ZpZGluZyBhbGwgaW1wbGVtZW50ZWQgUFNBIGFsZ29yaXRobXMuCisgICMgU3lzdGVtIHN0dWZmCisgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRVJST1JfQworICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1RJTUlOR19DCisgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVkVSU0lPTl9GRUFUVVJFUworICAjIENyeXB0byBzdHVmZiB3aXRoIG5vIFBTQSBpbnRlcmZhY2UKKyAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19CQVNFNjRfQworICAjIEtlZXAgTUJFRFRMU19DSVBIRVJfQyBiZWNhdXNlIHBzYV9jcnlwdG9fY2lwaGVyLCBDQ00gYW5kIEdDTSBuZWVkIGl0LgorICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hLREZfQyAjIFBTQSdzIEhLREYgaXMgaW5kZXBlbmRlbnQKKyAgIyBLZWVwIE1CRURUTFNfTURfQyBiZWNhdXNlIGRldGVybWluaXN0aWMgRUNEU0EgbmVlZHMgaXQgZm9yIEhNQUNfRFJCRy4KKyAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19OSVNUX0tXX0MKKyAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QRU1fUEFSU0VfQworICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BFTV9XUklURV9DCisgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzEyX0MKKyAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTNV9DCisgICMgTUJFRFRMU19QS19QQVJTRV9DIGFuZCBNQkVEVExTX1BLX1dSSVRFX0MgYXJlIGFjdHVhbGx5IGN1cnJlbnRseSBuZWVkZWQKKyAgIyBpbiBQU0EgY29kZSB0byB3b3JrIHdpdGggUlNBIGtleXMuIFdlIGRvbid0IHJlcXVpcmUgdXNlcnMgdG8gc2V0IHRob3NlOgorICAjIHRoZXkgd2lsbCBiZSByZWVuYWJsZWQgaW4gYnVpbGRfaW5mby5oLgorICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX0MKKyAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19QQVJTRV9DCisgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfV1JJVEVfQworICBtYWtlIENGTEFHUz0nLU8xIC1XZXJyb3InIGFsbCB0ZXN0CisgIGFyZV9lbXB0eV9saWJyYXJpZXMgbGlicmFyeS9saWJtYmVkeDUwOS4qIGxpYnJhcnkvbGlibWJlZHRscy4qCit9CisKK2NvbXBvbmVudF9idWlsZF9jcnlwdG9fYmFyZW1ldGFsICgpIHsKKyAgbXNnICJidWlsZDogbWFrZSwgY3J5cHRvIG9ubHksIGJhcmVtZXRhbCBjb25maWciCisgIHNjcmlwdHMvY29uZmlnLnB5IGNyeXB0b19iYXJlbWV0YWwKKyAgbWFrZSBDRkxBR1M9Ii1PMSAtV2Vycm9yIC1JJFBXRC90ZXN0cy9pbmNsdWRlL2JhcmVtZXRhbC1vdmVycmlkZS8iCisgIGFyZV9lbXB0eV9saWJyYXJpZXMgbGlicmFyeS9saWJtYmVkeDUwOS4qIGxpYnJhcnkvbGlibWJlZHRscy4qCit9CisKK3N1cHBvcnRfYnVpbGRfY3J5cHRvX2JhcmVtZXRhbCAoKSB7CisgICAgc3VwcG9ydF9idWlsZF9iYXJlbWV0YWwgIiRAIgorfQorCisjIGRlcGVuZHMucHkgZmFtaWx5IG9mIHRlc3RzCitjb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2NpcGhlcl9pZCAoKSB7CisgICAgbXNnICJ0ZXN0L2J1aWxkOiBkZXBlbmRzLnB5IGNpcGhlcl9pZCAoZ2NjKSIKKyAgICB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkgY2lwaGVyX2lkIC0tdW5zZXQtdXNlLXBzYQorfQorCitjb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2NpcGhlcl9jaGFpbmluZyAoKSB7CisgICAgbXNnICJ0ZXN0L2J1aWxkOiBkZXBlbmRzLnB5IGNpcGhlcl9jaGFpbmluZyAoZ2NjKSIKKyAgICB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkgY2lwaGVyX2NoYWluaW5nIC0tdW5zZXQtdXNlLXBzYQorfQorCitjb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2NpcGhlcl9wYWRkaW5nICgpIHsKKyAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgY2lwaGVyX3BhZGRpbmcgKGdjYykiCisgICAgdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IGNpcGhlcl9wYWRkaW5nIC0tdW5zZXQtdXNlLXBzYQorfQorCitjb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2N1cnZlcyAoKSB7CisgICAgbXNnICJ0ZXN0L2J1aWxkOiBkZXBlbmRzLnB5IGN1cnZlcyAoZ2NjKSIKKyAgICB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkgY3VydmVzIC0tdW5zZXQtdXNlLXBzYQorfQorCitjb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2hhc2hlcyAoKSB7CisgICAgbXNnICJ0ZXN0L2J1aWxkOiBkZXBlbmRzLnB5IGhhc2hlcyAoZ2NjKSIKKyAgICB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkgaGFzaGVzIC0tdW5zZXQtdXNlLXBzYQorfQorCitjb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X3BrYWxncyAoKSB7CisgICAgbXNnICJ0ZXN0L2J1aWxkOiBkZXBlbmRzLnB5IHBrYWxncyAoZ2NjKSIKKyAgICB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkgcGthbGdzIC0tdW5zZXQtdXNlLXBzYQorfQorCisjIFBTQSBlcXVpdmFsZW50cyBvZiB0aGUgZGVwZW5kcy5weSB0ZXN0cworY29tcG9uZW50X3Rlc3RfZGVwZW5kc19weV9jaXBoZXJfaWRfcHNhICgpIHsKKyAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgY2lwaGVyX2lkIChnY2MpIHdpdGggTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBkZWZpbmVkIgorICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBjaXBoZXJfaWQKK30KKworY29tcG9uZW50X3Rlc3RfZGVwZW5kc19weV9jaXBoZXJfY2hhaW5pbmdfcHNhICgpIHsKKyAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgY2lwaGVyX2NoYWluaW5nIChnY2MpIHdpdGggTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBkZWZpbmVkIgorICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBjaXBoZXJfY2hhaW5pbmcKK30KKworY29tcG9uZW50X3Rlc3RfZGVwZW5kc19weV9jaXBoZXJfcGFkZGluZ19wc2EgKCkgeworICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBjaXBoZXJfcGFkZGluZyAoZ2NjKSB3aXRoIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gZGVmaW5lZCIKKyAgICB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkgY2lwaGVyX3BhZGRpbmcKK30KKworY29tcG9uZW50X3Rlc3RfZGVwZW5kc19weV9jdXJ2ZXNfcHNhICgpIHsKKyAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgY3VydmVzIChnY2MpIHdpdGggTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBkZWZpbmVkIgorICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBjdXJ2ZXMKK30KKworY29tcG9uZW50X3Rlc3RfZGVwZW5kc19weV9oYXNoZXNfcHNhICgpIHsKKyAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgaGFzaGVzIChnY2MpIHdpdGggTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBkZWZpbmVkIgorICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBoYXNoZXMKK30KKworY29tcG9uZW50X3Rlc3RfZGVwZW5kc19weV9wa2FsZ3NfcHNhICgpIHsKKyAgICBtc2cgInRlc3QvYnVpbGQ6IGRlcGVuZHMucHkgcGthbGdzIChnY2MpIHdpdGggTUJFRFRMU19VU0VfUFNBX0NSWVBUTyBkZWZpbmVkIgorICAgIHRlc3RzL3NjcmlwdHMvZGVwZW5kcy5weSBwa2FsZ3MKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfZmZkaF8yMDQ4X29ubHkgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnIC0gb25seSBESCAyMDQ4IgorCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorCisgICAgIyBEaXNhYmxlIGFsbCBESCBncm91cHMgb3RoZXIgdGhhbiAyMDQ4LgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9ESF9SRkM3OTE5XzMwNzIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfREhfUkZDNzkxOV80MDk2CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0RIX1JGQzc5MTlfNjE0NAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9ESF9SRkM3OTE5XzgxOTIKKworICAgIG1ha2UgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLVdlcnJvciIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBmdWxsIGNvbmZpZyAtIG9ubHkgREggMjA0OCIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAic3NsLW9wdDogZnVsbCBjb25maWcgLSBvbmx5IERIIDIwNDgiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiZmZkaCIKK30KKworY29tcG9uZW50X2J1aWxkX25vX3BrX3JzYV9hbHRfc3VwcG9ydCAoKSB7CisgICAgbXNnICJidWlsZDogIU1CRURUTFNfUEtfUlNBX0FMVF9TVVBQT1JUIiAjIH4zMHMKKworICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1JTQV9BTFRfU1VQUE9SVAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1JTQV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfWDUwOV9DUlRfV1JJVEVfQworCisgICAgIyBPbmx5IGNvbXBpbGUgLSB0aGlzIGlzIHByaW1hcmlseSB0byB0ZXN0IGZvciBjb21waWxlIGlzc3VlcworICAgIG1ha2UgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEgLUkuLi90ZXN0cy9pbmNsdWRlL2FsdC1kdW1teScKK30KKworY29tcG9uZW50X2J1aWxkX21vZHVsZV9hbHQgKCkgeworICAgIG1zZyAiYnVpbGQ6IE1CRURUTFNfWFhYX0FMVCIgIyB+MzBzCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorCisgICAgIyBEaXNhYmxlIG9wdGlvbnMgdGhhdCBhcmUgaW5jb21wYXRpYmxlIHdpdGggc29tZSBBTFQgaW1wbGVtZW50YXRpb25zOgorICAgICMgYWVzbmkuYyBhbmQgcGFkbG9jay5jIHJlZmVyZW5jZSBtYmVkdGxzX2Flc19jb250ZXh0IGZpZWxkcyBkaXJlY3RseS4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU05JX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTQ0VfQworICAgICMgTUJFRFRMU19FQ1BfUkVTVEFSVEFCTEUgaXMgZG9jdW1lbnRlZCBhcyBpbmNvbXBhdGlibGUuCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfUkVTVEFSVEFCTEUKKyAgICAjIFlvdSBjYW4gb25seSBoYXZlIG9uZSB0aHJlYWRpbmcgaW1wbGVtZW50YXRpb246IGFsdCBvciBwdGhyZWFkLCBub3QgYm90aC4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1RIUkVBRElOR19QVEhSRUFECisgICAgIyBUaGUgU3BlY2lmaWVkRUNEb21haW4gcGFyc2luZyBjb2RlIGFjY2Vzc2VzIG1iZWR0bHNfZWNwX2dyb3VwIGZpZWxkcworICAgICMgZGlyZWN0bHkgYW5kIGFzc3VtZXMgdGhlIGltcGxlbWVudGF0aW9uIHdvcmtzIHdpdGggcGFydGlhbCBncm91cHMuCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19QQVJTRV9FQ19FWFRFTkRFRAorICAgICMgTUJFRFRMU19TSEEyNTZfKkFMVCBjYW4ndCBiZSB1c2VkIHdpdGggTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPXyoKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BUk1WOF9BX0NSWVBUT19PTkxZCisgICAgIyBNQkVEVExTX1NIQTUxMl8qQUxUIGNhbid0IGJlIHVzZWQgd2l0aCBNQkVEVExTX1NIQTUxMl9VU0VfQTY0X0NSWVBUT18qCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEE1MTJfVVNFX0E2NF9DUllQVE9fSUZfUFJFU0VOVAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBNTEyX1VTRV9BNjRfQ1JZUFRPX09OTFkKKworICAgICMgRW5hYmxlIGFsbCBNQkVEVExTX1hYWF9BTFQgZm9yIHdob2xlIG1vZHVsZXMuIERvIG5vdCBlbmFibGUKKyAgICAjIE1CRURUTFNfWFhYX1lZWV9BTFQgd2hpY2ggYXJlIGZvciBzaW5nbGUgZnVuY3Rpb25zLgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldC1hbGwgJ01CRURUTFNfKFtBLVowLTldKnxOSVNUX0tXKV9BTFQnCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ESE1fQUxUICNpbmNvbXBhdGlibGUgd2l0aCBNQkVEVExTX0RFQlVHX0MKKworICAgICMgV2UgY2FuIG9ubHkgY29tcGlsZSwgbm90IGxpbmssIHNpbmNlIHdlIGRvbid0IGhhdmUgYW55IGltcGxlbWVudGF0aW9ucworICAgICMgc3VpdGFibGUgZm9yIHRlc3Rpbmcgd2l0aCB0aGUgZHVtbXkgYWx0IGhlYWRlcnMuCisgICAgbWFrZSBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtSS4uL3Rlc3RzL2luY2x1ZGUvYWx0LWR1bW15JyBsaWIKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNkc2EgKCkgeworICAgIG1zZyAiYnVpbGQ6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBFQ0RTQSIKKworICAgICMgQWxnb3JpdGhtcyBhbmQga2V5IHR5cGVzIHRvIGFjY2VsZXJhdGUKKyAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX0VDRFNBIEFMR19ERVRFUk1JTklTVElDX0VDRFNBIFwKKyAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9rZXlfdHlwZV9saXN0ICJFQ0MiKSBcCisgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2FfY3VydmVfbGlzdCkiCisKKyAgICAjIENvbmZpZ3VyZQorICAgICMgLS0tLS0tLS0tCisKKyAgICAjIFN0YXJ0IGZyb20gZGVmYXVsdCBjb25maWcgKG5vIFVTRV9QU0EpICsgVExTIDEuMworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJkZWZhdWx0IgorCisgICAgIyBEaXNhYmxlIHRoZSBtb2R1bGUgdGhhdCdzIGFjY2VsZXJhdGVkCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCisKKyAgICAjIERpc2FibGUgdGhpbmdzIHRoYXQgZGVwZW5kIG9uIGl0CisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfRUNEU0FfRU5BQkxFRAorCisgICAgIyBCdWlsZAorICAgICMgLS0tLS0KKworICAgICMgVGhlc2UgaGFzaGVzIGFyZSBuZWVkZWQgZm9yIHNvbWUgRUNEU0Egc2lnbmF0dXJlIHRlc3RzLgorICAgIGxvY19leHRyYV9saXN0PSJBTEdfU0hBXzEgQUxHX1NIQV8yMjQgQUxHX1NIQV8yNTYgQUxHX1NIQV8zODQgQUxHX1NIQV81MTIgXAorICAgICAgICAgICAgICAgICAgICBBTEdfU0hBM18yMjQgQUxHX1NIQTNfMjU2IEFMR19TSEEzXzM4NCBBTEdfU0hBM181MTIiCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiICIkbG9jX2V4dHJhX2xpc3QiCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCisKKyAgICAjIE1ha2Ugc3VyZSB0aGlzIHdhcyBub3QgcmUtZW5hYmxlZCBieSBhY2NpZGVudCAoYWRkaXRpdmUgY29uZmlnKQorICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2FfIGxpYnJhcnkvZWNkc2EubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Q6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBFQ0RTQSIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNkaCAoKSB7CisgICAgbXNnICJidWlsZDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkIEVDREgiCisKKyAgICAjIEFsZ29yaXRobXMgYW5kIGtleSB0eXBlcyB0byBhY2NlbGVyYXRlCisgICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19FQ0RIIFwKKyAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9rZXlfdHlwZV9saXN0ICJFQ0MiKSBcCisgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2FfY3VydmVfbGlzdCkiCisKKyAgICAjIENvbmZpZ3VyZQorICAgICMgLS0tLS0tLS0tCisKKyAgICAjIFN0YXJ0IGZyb20gZGVmYXVsdCBjb25maWcgKG5vIFVTRV9QU0EpCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImRlZmF1bHQiCisKKyAgICAjIERpc2FibGUgdGhlIG1vZHVsZSB0aGF0J3MgYWNjZWxlcmF0ZWQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDREhfQworCisgICAgIyBEaXNhYmxlIHRoaW5ncyB0aGF0IGRlcGVuZCBvbiBpdAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfUlNBX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfUlNBX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9QU0tfRU5BQkxFRAorCisgICAgIyBCdWlsZAorICAgICMgLS0tLS0KKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKKworICAgICMgTWFrZSBzdXJlIHRoaXMgd2FzIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZSBjb25maWcpCisgICAgbm90IGdyZXAgbWJlZHRsc19lY2RoXyBsaWJyYXJ5L2VjZGgubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Q6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBFQ0RIIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9mZmRoICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgRkZESCIKKworICAgICMgQWxnb3JpdGhtcyBhbmQga2V5IHR5cGVzIHRvIGFjY2VsZXJhdGUKKyAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX0ZGREggXAorICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2tleV90eXBlX2xpc3QgIkRIIikgXAorICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2RoX2dyb3VwX2xpc3QpIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgIyBzdGFydCB3aXRoIGZ1bGwgKFVTRV9QU0EgYW5kIFRMUyAxLjMpCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImZ1bGwiCisKKyAgICAjIERpc2FibGUgdGhlIG1vZHVsZSB0aGF0J3MgYWNjZWxlcmF0ZWQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RITV9DCisKKyAgICAjIERpc2FibGUgdGhpbmdzIHRoYXQgZGVwZW5kIG9uIGl0CisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1BTS19FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1JTQV9FTkFCTEVECisKKyAgICAjIEJ1aWxkCisgICAgIyAtLS0tLQorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgorCisgICAgIyBNYWtlIHN1cmUgdGhpcyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKKyAgICBub3QgZ3JlcCBtYmVkdGxzX2RobV8gbGlicmFyeS9kaG0ubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBGRkRIIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzc2wtb3B0OiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgRkZESCBhbGciCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiZmZkaCIKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2ZmZGggKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgd2l0aCBub24tYWNjZWxlcmF0ZWQgRkZESCIKKworICAgICMgU3RhcnQgd2l0aCBmdWxsIChVU0VfUFNBIGFuZCBUTFMgMS4zKQorICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgorCisgICAgIyBEaXNhYmxlIHRoaW5ncyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1BTS19FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1JTQV9FTkFCTEVECisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0IHN1aXRlczogZnVsbCB3aXRoIG5vbi1hY2NlbGVyYXRlZCBGRkRIIGFsZyIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAic3NsLW9wdDogZnVsbCB3aXRoIG5vbi1hY2NlbGVyYXRlZCBGRkRIIGFsZyIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICJmZmRoIgorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9wYWtlICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgUEFLRSIKKworICAgIGxvY19hY2NlbF9saXN0PSJBTEdfSlBBS0UgXAorICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2tleV90eXBlX2xpc3QgIkVDQyIpIFwKKyAgICAgICAgICAgICAgICAgICAgJChoZWxwZXJfZ2V0X3BzYV9jdXJ2ZV9saXN0KSIKKworICAgICMgQ29uZmlndXJlCisgICAgIyAtLS0tLS0tLS0KKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgorCisgICAgIyBNYWtlIGJ1aWx0LWluIGZhbGxiYWNrIG5vdCBhdmFpbGFibGUKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDSlBBS0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDSlBBS0VfRU5BQkxFRAorCisgICAgIyBCdWlsZAorICAgICMgLS0tLS0KKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKKworICAgICMgTWFrZSBzdXJlIHRoaXMgd2FzIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZSBjb25maWcpCisgICAgbm90IGdyZXAgbWJlZHRsc19lY2pwYWtlX2luaXQgbGlicmFyeS9lY2pwYWtlLm8KKworICAgICMgUnVuIHRoZSB0ZXN0cworICAgICMgLS0tLS0tLS0tLS0tLQorCisgICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgUEFLRSIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX3NvbWVfa2V5X3R5cGVzICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgRUMgYWxncyBhbmQgc29tZSBrZXkgdHlwZXMiCisKKyAgICAjIEFsZ29yaXRobXMgYW5kIGtleSB0eXBlcyB0byBhY2NlbGVyYXRlCisgICAgIyBGb3Iga2V5IHR5cGVzLCB1c2UgYW4gZXhwbGljaXRseSBsaXN0IHRvIG9taXQgR0VORVJBVEUgKGFuZCBERVJJVkUpCisgICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19FQ0RTQSBBTEdfREVURVJNSU5JU1RJQ19FQ0RTQSBcCisgICAgICAgICAgICAgICAgICAgIEFMR19FQ0RIIFwKKyAgICAgICAgICAgICAgICAgICAgQUxHX0pQQUtFIFwKKyAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkgXAorICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9FQ0NfS0VZX1BBSVJfQkFTSUMgXAorICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUIFwKKyAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0VYUE9SVCBcCisgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2FfY3VydmVfbGlzdCkiCisKKyAgICAjIENvbmZpZ3VyZQorICAgICMgLS0tLS0tLS0tCisKKyAgICAjIHN0YXJ0IHdpdGggY29uZmlnIGZ1bGwgZm9yIG1heGltdW0gY292ZXJhZ2UgKGFsc28gZW5hYmxlcyBVU0VfUFNBKQorICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgorCisgICAgIyBEaXNhYmxlIG1vZHVsZXMgdGhhdCBhcmUgYWNjZWxlcmF0ZWQgLSBzb21lIHdpbGwgYmUgcmUtZW5hYmxlZAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0pQQUtFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9DCisKKyAgICAjIERpc2FibGUgYWxsIGN1cnZlcyAtIHRob3NlIHRoYXQgYXJlbid0IGFjY2VsZXJhdGVkIHNob3VsZCBiZSByZS1lbmFibGVkCisgICAgaGVscGVyX2Rpc2FibGVfYnVpbHRpbl9jdXJ2ZXMKKworICAgICMgUmVzdGFydGFibGUgZmVhdHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZCBieSBQU0EuIE9uY2UgaXQgd2lsbCBpbgorICAgICMgdGhlIGZ1dHVyZSwgdGhlIGZvbGxvd2luZyBsaW5lIGNvdWxkIGJlIHJlbW92ZWQgKHNlZSBpc3N1ZXMKKyAgICAjIDYwNjEsIDYzMzIgYW5kIGZvbGxvd2luZyBvbmVzKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFCisKKyAgICAjIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyIEFQSSB5ZXQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRQorCisgICAgIyBCdWlsZAorICAgICMgLS0tLS0KKworICAgICMgVGhlc2UgaGFzaGVzIGFyZSBuZWVkZWQgZm9yIHNvbWUgRUNEU0Egc2lnbmF0dXJlIHRlc3RzLgorICAgIGxvY19leHRyYV9saXN0PSJBTEdfU0hBXzEgQUxHX1NIQV8yMjQgQUxHX1NIQV8yNTYgQUxHX1NIQV8zODQgQUxHX1NIQV81MTIgXAorICAgICAgICAgICAgICAgICAgICBBTEdfU0hBM18yMjQgQUxHX1NIQTNfMjU2IEFMR19TSEEzXzM4NCBBTEdfU0hBM181MTIiCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IiAiJGxvY19leHRyYV9saXN0IgorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgorCisgICAgIyBFQ1Agc2hvdWxkIGJlIHJlLWVuYWJsZWQgYnV0IG5vdCB0aGUgb3RoZXJzCisgICAgbm90IGdyZXAgbWJlZHRsc19lY2RoXyBsaWJyYXJ5L2VjZGgubworICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2EgbGlicmFyeS9lY2RzYS5vCisgICAgbm90IGdyZXAgbWJlZHRsc19lY2pwYWtlICBsaWJyYXJ5L2VjanBha2UubworICAgIGdyZXAgbWJlZHRsc19lY3AgbGlicmFyeS9lY3AubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Qgc3VpdGVzOiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgRUMgYWxncyBhbmQgc29tZSBrZXkgdHlwZXMiCisgICAgbWFrZSB0ZXN0Cit9CisKKyMgUnVuIHRlc3RzIHdpdGggb25seSAobm9uLSlXZWllcnN0cmFzcyBhY2NlbGVyYXRlZAorIyBDb21tb24gY29kZSB1c2VkIGluOgorIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY193ZWllcnN0cmFzc19jdXJ2ZXMKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfbm9uX3dlaWVyc3RyYXNzX2N1cnZlcworY29tbW9uX3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX3NvbWVfY3VydmVzICgpIHsKKyAgICB3ZWllcnN0cmFzcz0kMQorICAgIGlmIFsgJHdlaWVyc3RyYXNzIC1lcSAxIF07IHRoZW4KKyAgICAgICAgZGVzYz0iV2VpZXJzdHJhc3MiCisgICAgZWxzZQorICAgICAgICBkZXNjPSJub24tV2VpZXJzdHJhc3MiCisgICAgZmkKKworICAgIG1zZyAiYnVpbGQ6IGNyeXB0b19mdWxsIG1pbnVzIFBLIHdpdGggYWNjZWxlcmF0ZWQgRUMgYWxncyBhbmQgJGRlc2MgY3VydmVzIgorCisgICAgIyBOb3RlOiBDdXJ2ZXMgYXJlIGhhbmRsZWQgaW4gYSBzcGVjaWFsIHdheSBieSB0aGUgbGlidGVzdGRyaXZlciBtYWNoaW5lcnksCisgICAgIyBzbyB3ZSBvbmx5IHdhbnQgdG8gaW5jbHVkZSB0aGVtIGluIHRoZSBhY2NlbCBsaXN0IHdoZW4gYnVpbGRpbmcgdGhlIG1haW4KKyAgICAjIGxpYnJhcmllcywgaGVuY2UgdGhlIHVzZSBvZiBhIHNlcGFyYXRlIHZhcmlhYmxlLgorICAgICMgTm90ZTogdGhlIGZvbGxvd2luZyBsb29wIGlzIGEgbW9kaWZpZWQgdmVyc2lvbiBvZgorICAgICMgaGVscGVyX2dldF9wc2FfY3VydmVfbGlzdCB0aGF0IG9ubHkga2VlcHMgV2VpZXJzdHJhc3MgZmFtaWxpZXMuCisgICAgbG9jX3dlaWVyc3RyYXNzX2xpc3Q9IiIKKyAgICBsb2Nfbm9uX3dlaWVyc3RyYXNzX2xpc3Q9IiIKKyAgICBmb3IgaXRlbSBpbiAkKHNlZCAtbiAncy9eI2RlZmluZSBQU0FfV0FOVF9cKEVDQ19bMC05QS1aX2Etel0qXCkuKi9cMS9wJyA8IiRDUllQVE9fQ09ORklHX0giKTsgZG8KKyAgICAgICAgY2FzZSAkaXRlbSBpbgorICAgICAgICAgICAgRUNDX0JSQUlOUE9PTCp8RUNDX1NFQ1AqKQorICAgICAgICAgICAgICAgIGxvY193ZWllcnN0cmFzc19saXN0PSIkbG9jX3dlaWVyc3RyYXNzX2xpc3QgJGl0ZW0iCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICopCisgICAgICAgICAgICAgICAgbG9jX25vbl93ZWllcnN0cmFzc19saXN0PSIkbG9jX25vbl93ZWllcnN0cmFzc19saXN0ICRpdGVtIgorICAgICAgICAgICAgICAgIDs7CisgICAgICAgIGVzYWMKKyAgICBkb25lCisgICAgaWYgWyAkd2VpZXJzdHJhc3MgLWVxIDEgXTsgdGhlbgorICAgICAgICBsb2NfY3VydmVfbGlzdD0kbG9jX3dlaWVyc3RyYXNzX2xpc3QKKyAgICBlbHNlCisgICAgICAgIGxvY19jdXJ2ZV9saXN0PSRsb2Nfbm9uX3dlaWVyc3RyYXNzX2xpc3QKKyAgICBmaQorCisgICAgIyBBbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZQorICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNEU0EgQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EgXAorICAgICAgICAgICAgICAgICAgICBBTEdfRUNESCBcCisgICAgICAgICAgICAgICAgICAgIEFMR19KUEFLRSBcCisgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiRUNDIikgXAorICAgICAgICAgICAgICAgICAgICAkbG9jX2N1cnZlX2xpc3QiCisKKyAgICAjIENvbmZpZ3VyZQorICAgICMgLS0tLS0tLS0tCisKKyAgICAjIFN0YXJ0IHdpdGggY29uZmlnIGNyeXB0b19mdWxsIGFuZCByZW1vdmUgUEtfQzoKKyAgICAjIHRoYXQncyB3aGF0J3Mgc3VwcG9ydGVkIG5vdywgc2VlIGRvY3MvZHJpdmVyLW9ubHktYnVpbGRzLm1kLgorICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJjcnlwdG9fZnVsbCIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1dSSVRFX0MKKworICAgICMgRGlzYWJsZSBtb2R1bGVzIHRoYXQgYXJlIGFjY2VsZXJhdGVkIC0gc29tZSB3aWxsIGJlIHJlLWVuYWJsZWQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDREhfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNKUEFLRV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfQworCisgICAgIyBEaXNhYmxlIGFsbCBjdXJ2ZXMgLSB0aG9zZSB0aGF0IGFyZW4ndCBhY2NlbGVyYXRlZCBzaG91bGQgYmUgcmUtZW5hYmxlZAorICAgIGhlbHBlcl9kaXNhYmxlX2J1aWx0aW5fY3VydmVzCisKKyAgICAjIFJlc3RhcnRhYmxlIGZlYXR1cmUgaXMgbm90IHlldCBzdXBwb3J0ZWQgYnkgUFNBLiBPbmNlIGl0IHdpbGwgaW4KKyAgICAjIHRoZSBmdXR1cmUsIHRoZSBmb2xsb3dpbmcgbGluZSBjb3VsZCBiZSByZW1vdmVkIChzZWUgaXNzdWVzCisgICAgIyA2MDYxLCA2MzMyIGFuZCBmb2xsb3dpbmcgb25lcykKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9SRVNUQVJUQUJMRQorCisgICAgIyB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciBBUEkgeWV0CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9ERVJJVkUKKworICAgICMgQnVpbGQKKyAgICAjIC0tLS0tCisKKyAgICAjIFRoZXNlIGhhc2hlcyBhcmUgbmVlZGVkIGZvciBzb21lIEVDRFNBIHNpZ25hdHVyZSB0ZXN0cy4KKyAgICBsb2NfZXh0cmFfbGlzdD0iQUxHX1NIQV8xIEFMR19TSEFfMjI0IEFMR19TSEFfMjU2IEFMR19TSEFfMzg0IEFMR19TSEFfNTEyIFwKKyAgICAgICAgICAgICAgICAgICAgQUxHX1NIQTNfMjI0IEFMR19TSEEzXzI1NiBBTEdfU0hBM18zODQgQUxHX1NIQTNfNTEyIgorICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIgIiRsb2NfZXh0cmFfbGlzdCIKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKKworICAgICMgV2UgZXhwZWN0IEVDREggdG8gYmUgcmUtZW5hYmxlZCBmb3IgdGhlIG1pc3NpbmcgY3VydmVzCisgICAgZ3JlcCBtYmVkdGxzX2VjZGhfIGxpYnJhcnkvZWNkaC5vCisgICAgIyBXZSBleHBlY3QgRUNQIHRvIGJlIHJlLWVuYWJsZWQsIGhvd2V2ZXIgdGhlIHBhcnRzIHNwZWNpZmljIHRvIHRoZQorICAgICMgZmFtaWxpZXMgb2YgY3VydmVzIHRoYXQgYXJlIGFjY2VsZXJhdGVkIHNob3VsZCBiZSBvbW1pdGVkLgorICAgICMgLSBmdW5jdGlvbnMgd2l0aCBteHogaW4gdGhlIG5hbWUgYXJlIHNwZWNpZmljIHRvIE1vbnRnb21lcnkgY3VydmVzCisgICAgIyAtIGVjcF9tdWxhZGQgaXMgc3BlY2lmaWMgdG8gV2VpZXJzdHJhc3MgY3VydmVzCisgICAgIyNubSBsaWJyYXJ5L2VjcC5vIHwgdGVlIGVjcC5zeW1zCisgICAgaWYgWyAkd2VpZXJzdHJhc3MgLWVxIDEgXTsgdGhlbgorICAgICAgICBub3QgZ3JlcCBtYmVkdGxzX2VjcF9tdWxhZGQgbGlicmFyeS9lY3AubworICAgICAgICBncmVwIG14eiBsaWJyYXJ5L2VjcC5vCisgICAgZWxzZQorICAgICAgICBncmVwIG1iZWR0bHNfZWNwX211bGFkZCBsaWJyYXJ5L2VjcC5vCisgICAgICAgIG5vdCBncmVwIG14eiBsaWJyYXJ5L2VjcC5vCisgICAgZmkKKyAgICAjIFdlIGV4cGVjdCBFQ0RTQSBhbmQgRUNKUEFLRSB0byBiZSByZS1lbmFibGVkIG9ubHkgd2hlbgorICAgICMgV2VpZXJzdHJhc3MgY3VydmVzIGFyZSBub3QgYWNjZWxlcmF0ZWQKKyAgICBpZiBbICR3ZWllcnN0cmFzcyAtZXEgMSBdOyB0aGVuCisgICAgICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2EgbGlicmFyeS9lY2RzYS5vCisgICAgICAgIG5vdCBncmVwIG1iZWR0bHNfZWNqcGFrZSAgbGlicmFyeS9lY2pwYWtlLm8KKyAgICBlbHNlCisgICAgICAgIGdyZXAgbWJlZHRsc19lY2RzYSBsaWJyYXJ5L2VjZHNhLm8KKyAgICAgICAgZ3JlcCBtYmVkdGxzX2VjanBha2UgIGxpYnJhcnkvZWNqcGFrZS5vCisgICAgZmkKKworICAgICMgUnVuIHRoZSB0ZXN0cworICAgICMgLS0tLS0tLS0tLS0tLQorCisgICAgbXNnICJ0ZXN0IHN1aXRlczogY3J5cHRvX2Z1bGwgbWludXMgUEsgd2l0aCBhY2NlbGVyYXRlZCBFQyBhbGdzIGFuZCAkZGVzYyBjdXJ2ZXMiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY193ZWllcnN0cmFzc19jdXJ2ZXMgKCkgeworICAgIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19zb21lX2N1cnZlcyAxCit9CisKK2NvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19ub25fd2VpZXJzdHJhc3NfY3VydmVzICgpIHsKKyAgICBjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfc29tZV9jdXJ2ZXMgMAorfQorCisjIEF1eGlsaWFyeSBmdW5jdGlvbiB0byBidWlsZCBjb25maWcgZm9yIGFsbCBFQyBiYXNlZCBhbGdvcml0aG1zIChFQy1KUEFLRSwKKyMgRUNESCwgRUNEU0EpIHdpdGggYW5kIHdpdGhvdXQgZHJpdmVycy4KKyMgVGhlIGlucHV0IHBhcmFtZXRlciBpcyBhIGJvb2xlYW4gdmFsdWUgd2hpY2ggaW5kaWNhdGVzOgorIyAtIDAga2VlcCBidWlsdC1pbiBFQyBhbGdzLAorIyAtIDEgZXhjbHVkZSBidWlsdC1pbiBFQyBhbGdzIChkcml2ZXIgb25seSkuCisjCisjIFRoaXMgaXMgdXNlZCBieSB0aGUgdHdvIGZvbGxvd2luZyBjb21wb25lbnRzIHRvIGVuc3VyZSB0aGV5IGFsd2F5cyB1c2UgdGhlCisjIHNhbWUgY29uZmlnLCBleGNlcHQgZm9yIHRoZSB1c2Ugb2YgZHJpdmVyIG9yIGJ1aWx0LWluIEVDIGFsZ29yaXRobXM6CisjIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX2VjcF9saWdodF9vbmx5OworIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZWNwX2xpZ2h0X29ubHkuCisjIFRoaXMgc3VwcG9ydHMgY29tcGFyaW5nIHRoZWlyIHRlc3QgY292ZXJhZ2Ugd2l0aCBhbmFseXplX291dGNvbWVzLnB5LgorY29uZmlnX3BzYV9jcnlwdG9fY29uZmlnX2VjcF9saWdodF9vbmx5ICgpIHsKKyAgICBkcml2ZXJfb25seT0iJDEiCisgICAgIyBzdGFydCB3aXRoIGNvbmZpZyBmdWxsIGZvciBtYXhpbXVtIGNvdmVyYWdlIChhbHNvIGVuYWJsZXMgVVNFX1BTQSkKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKKyAgICBpZiBbICIkZHJpdmVyX29ubHkiIC1lcSAxIF07IHRoZW4KKyAgICAgICAgIyBEaXNhYmxlIG1vZHVsZXMgdGhhdCBhcmUgYWNjZWxlcmF0ZWQKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNKUEFLRV9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNQX0MKKyAgICBmaQorCisgICAgIyBSZXN0YXJ0YWJsZSBmZWF0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGJ5IFBTQS4gT25jZSBpdCB3aWxsIGluCisgICAgIyB0aGUgZnV0dXJlLCB0aGUgZm9sbG93aW5nIGxpbmUgY291bGQgYmUgcmVtb3ZlZCAoc2VlIGlzc3VlcworICAgICMgNjA2MSwgNjMzMiBhbmQgZm9sbG93aW5nIG9uZXMpCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfUkVTVEFSVEFCTEUKK30KKworIyBLZWVwIGluIHN5bmMgd2l0aCBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX2VjcF9saWdodF9vbmx5Citjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZWNwX2xpZ2h0X29ubHkgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBFQyBhbGdzIgorCisgICAgIyBBbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZQorICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNEU0EgQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EgXAorICAgICAgICAgICAgICAgICAgICBBTEdfRUNESCBcCisgICAgICAgICAgICAgICAgICAgIEFMR19KUEFLRSBcCisgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiRUNDIikgXAorICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2N1cnZlX2xpc3QpIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgIyBVc2UgdGhlIHNhbWUgY29uZmlnIGFzIHJlZmVyZW5jZSwgb25seSB3aXRob3V0IGJ1aWx0LWluIEVDIGFsZ3MKKyAgICBjb25maWdfcHNhX2NyeXB0b19jb25maWdfZWNwX2xpZ2h0X29ubHkgMQorCisgICAgIyBEbyBub3QgZGlzYWJsZSBidWlsdGluIGN1cnZlcyBiZWNhdXNlIHRoYXQgc3VwcG9ydCBpcyByZXF1aXJlZCBmb3I6CisgICAgIyAtIE1CRURUTFNfUEtfUEFSU0VfRUNfRVhURU5ERUQKKyAgICAjIC0gTUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VECisKKyAgICAjIEJ1aWxkCisgICAgIyAtLS0tLQorCisgICAgIyBUaGVzZSBoYXNoZXMgYXJlIG5lZWRlZCBmb3Igc29tZSBFQ0RTQSBzaWduYXR1cmUgdGVzdHMuCisgICAgbG9jX2V4dHJhX2xpc3Q9IkFMR19TSEFfMSBBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiBcCisgICAgICAgICAgICAgICAgICAgIEFMR19TSEEzXzIyNCBBTEdfU0hBM18yNTYgQUxHX1NIQTNfMzg0IEFMR19TSEEzXzUxMiIKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiICIkbG9jX2V4dHJhX2xpc3QiCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCisKKyAgICAjIE1ha2Ugc3VyZSBhbnkgYnVpbHQtaW4gRUMgYWxnIHdhcyBub3QgcmUtZW5hYmxlZCBieSBhY2NpZGVudCAoYWRkaXRpdmUgY29uZmlnKQorICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2FfIGxpYnJhcnkvZWNkc2EubworICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkaF8gbGlicmFyeS9lY2RoLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2VjanBha2VfIGxpYnJhcnkvZWNqcGFrZS5vCisgICAgbm90IGdyZXAgbWJlZHRsc19lY3BfbXVsIGxpYnJhcnkvZWNwLm8KKworICAgICMgUnVuIHRoZSB0ZXN0cworICAgICMgLS0tLS0tLS0tLS0tLQorCisgICAgbXNnICJ0ZXN0IHN1aXRlczogZnVsbCB3aXRoIGFjY2VsZXJhdGVkIEVDIGFsZ3MiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInNzbC1vcHQ6IGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBFQyBhbGdzIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworIyBLZWVwIGluIHN5bmMgd2l0aCBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZWNwX2xpZ2h0X29ubHkKK2NvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZWNwX2xpZ2h0X29ubHkgKCkgeworICAgIG1zZyAiYnVpbGQ6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBub24tYWNjZWxlcmF0ZWQgRUMgYWxncyIKKworICAgIGNvbmZpZ19wc2FfY3J5cHRvX2NvbmZpZ19lY3BfbGlnaHRfb25seSAwCisKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Qgc3VpdGVzOiBmdWxsIHdpdGggbm9uLWFjY2VsZXJhdGVkIEVDIGFsZ3MiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInNzbC1vcHQ6IGZ1bGwgd2l0aCBub24tYWNjZWxlcmF0ZWQgRUMgYWxncyIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoCit9CisKKyMgVGhpcyBoZWxwZXIgZnVuY3Rpb24gaXMgdXNlZCBieToKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfbm9fZWNwX2F0X2FsbCgpCisjIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19ub19lY3BfYXRfYWxsKCkKKyMgdG8gZW5zdXJlIHRoYXQgYm90aCB0ZXN0cyB1c2UgdGhlIHNhbWUgdW5kZXJseWluZyBjb25maWd1cmF0aW9uIHdoZW4gdGVzdGluZworIyBkcml2ZXIncyBjb3ZlcmFnZSB3aXRoIGFuYWx5emVfb3V0Y29tZXMucHkuCisjCisjIFRoaXMgZnVuY3Rpb25zIGFjY2VwdHMgMSBib29sZWFuIHBhcmFtZXRlciBhcyBmb2xsb3dzOgorIyAtIDE6IGJ1aWxkaW5nIHdpdGggYWNjZWxlcmF0ZWQgRUMgYWxnb3JpdGhtcyAoRUNEU0EsIEVDREgsIEVDSlBBS0UpLCB0aGVyZWZvcmUKKyMgICAgICBleGNsdWRpbmcgdGhlaXIgYnVpbHQtaW4gaW1wbGVtZW50YXRpb24gYXMgd2VsbCBhcyBFQ1BfQyAmIEVDUF9MSUdIVAorIyAtIDA6IGluY2x1ZGUgYnVpbHQtaW4gaW1wbGVtZW50YXRpb24gb2YgRUMgYWxnb3JpdGhtcy4KKyMKKyMgUEtfQyBhbmQgUlNBX0MgYXJlIGFsd2F5cyBkaXNhYmxlZCB0byBlbnN1cmUgdGhlcmUgaXMgbm8gcmVtYWluaW5nIGRlcGVuZGVuY3kKKyMgb24gdGhlIEVDUCBtb2R1bGUuCitjb25maWdfcHNhX2NyeXB0b19ub19lY3BfYXRfYWxsICgpIHsKKyAgICBkcml2ZXJfb25seT0iJDEiCisgICAgIyBzdGFydCB3aXRoIGZ1bGwgY29uZmlnIGZvciBtYXhpbXVtIGNvdmVyYWdlIChhbHNvIGVuYWJsZXMgVVNFX1BTQSkKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKKworICAgIGlmIFsgIiRkcml2ZXJfb25seSIgLWVxIDEgXTsgdGhlbgorICAgICAgICAjIERpc2FibGUgbW9kdWxlcyB0aGF0IGFyZSBhY2NlbGVyYXRlZAorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0MKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RIX0MKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0pQQUtFX0MKKyAgICAgICAgIyBEaXNhYmxlIEVDUCBtb2R1bGUgKGVudGlyZWx5KQorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDUF9DCisgICAgZmkKKworICAgICMgRGlzYWJsZSBhbGwgdGhlIGZlYXR1cmVzIHRoYXQgYXV0by1lbmFibGUgRUNQX0xJR0hUIChzZWUgYnVpbGRfaW5mby5oKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtfUEFSU0VfRUNfRVhURU5ERUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRQorCisgICAgIyBSZXN0YXJ0YWJsZSBmZWF0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGJ5IFBTQS4gT25jZSBpdCB3aWxsIGluCisgICAgIyB0aGUgZnV0dXJlLCB0aGUgZm9sbG93aW5nIGxpbmUgY291bGQgYmUgcmVtb3ZlZCAoc2VlIGlzc3VlcworICAgICMgNjA2MSwgNjMzMiBhbmQgZm9sbG93aW5nIG9uZXMpCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfUkVTVEFSVEFCTEUKK30KKworIyBCdWlsZCBhbmQgdGVzdCBhIGNvbmZpZ3VyYXRpb24gd2hlcmUgZHJpdmVyIGFjY2VsZXJhdGVzIGFsbCBFQyBhbGdzIHdoaWxlCisjIGFsbCBzdXBwb3J0IGFuZCBkZXBlbmRlbmNpZXMgZnJvbSBFQ1AgYW5kIEVDUF9MSUdIVCBhcmUgcmVtb3ZlZCBvbiB0aGUgbGlicmFyeQorIyBzaWRlLgorIworIyBLZWVwIGluIHN5bmMgd2l0aCBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX25vX2VjcF9hdF9hbGwoKQorY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX25vX2VjcF9hdF9hbGwgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBhY2NlbGVyYXRlZCBFQyBhbGdzIC0gRUNQIgorCisgICAgIyBBbGdvcml0aG1zIGFuZCBrZXkgdHlwZXMgdG8gYWNjZWxlcmF0ZQorICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNEU0EgQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EgXAorICAgICAgICAgICAgICAgICAgICBBTEdfRUNESCBcCisgICAgICAgICAgICAgICAgICAgIEFMR19KUEFLRSBcCisgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiRUNDIikgXAorICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2N1cnZlX2xpc3QpIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgIyBTZXQgY29tbW9uIGNvbmZpZ3VyYXRpb25zIGJldHdlZW4gbGlicmFyeSdzIGFuZCBkcml2ZXIncyBidWlsZHMKKyAgICBjb25maWdfcHNhX2NyeXB0b19ub19lY3BfYXRfYWxsIDEKKyAgICAjIERpc2FibGUgYWxsIHRoZSBidWlsdGluIGN1cnZlcy4gQWxsIHRoZSByZXF1aXJlZCBhbGdzIGFyZSBhY2NlbGVyYXRlZC4KKyAgICBoZWxwZXJfZGlzYWJsZV9idWlsdGluX2N1cnZlcworCisgICAgIyBCdWlsZAorICAgICMgLS0tLS0KKworICAgICMgVGhpbmdzIHdlIHdhbnRlZCBzdXBwb3J0ZWQgaW4gbGlidGVzdGRyaXZlcjEsIGJ1dCBub3QgYWNjZWxlcmF0ZWQgaW4gdGhlIG1haW4gbGlicmFyeToKKyAgICAjIFNIQS0xIGFuZCBhbGwgU0hBLTIvMyB2YXJpYW50cywgYXMgdGhleSBhcmUgdXNlZCBieSBFQ0RTQSBkZXRlcm1pbmlzdGljLgorICAgIGxvY19leHRyYV9saXN0PSJBTEdfU0hBXzEgQUxHX1NIQV8yMjQgQUxHX1NIQV8yNTYgQUxHX1NIQV8zODQgQUxHX1NIQV81MTIgXAorICAgICAgICAgICAgICAgICAgICBBTEdfU0hBM18yMjQgQUxHX1NIQTNfMjU2IEFMR19TSEEzXzM4NCBBTEdfU0hBM181MTIiCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiICIkbG9jX2V4dHJhX2xpc3QiCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCisKKyAgICAjIE1ha2Ugc3VyZSBhbnkgYnVpbHQtaW4gRUMgYWxnIHdhcyBub3QgcmUtZW5hYmxlZCBieSBhY2NpZGVudCAoYWRkaXRpdmUgY29uZmlnKQorICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2FfIGxpYnJhcnkvZWNkc2EubworICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkaF8gbGlicmFyeS9lY2RoLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2VjanBha2VfIGxpYnJhcnkvZWNqcGFrZS5vCisgICAgIyBBbHNvIGVuc3VyZSB0aGF0IEVDUCBtb2R1bGUgd2FzIG5vdCByZS1lbmFibGVkCisgICAgbm90IGdyZXAgbWJlZHRsc19lY3BfIGxpYnJhcnkvZWNwLm8KKworICAgICMgUnVuIHRoZSB0ZXN0cworICAgICMgLS0tLS0tLS0tLS0tLQorCisgICAgbXNnICJ0ZXN0OiBmdWxsICsgYWNjZWxlcmF0ZWQgRUMgYWxncyAtIEVDUCIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAic3NsLW9wdDogZnVsbCArIGFjY2VsZXJhdGVkIEVDIGFsZ3MgLSBFQ1AiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCisjIFJlZmVyZW5jZSBmdW5jdGlvbiB1c2VkIGZvciBkcml2ZXIncyBjb3ZlcmFnZSBhbmFseXNpcyBpbiBhbmFseXplX291dGNvbWVzLnB5CisjIGluIGNvbmp1bmN0aW9uIHdpdGggY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX25vX2VjcF9hdF9hbGwoKS4KKyMgS2VlcCBpbiBzeW5jIHdpdGggaXRzIGFjY2VsZXJhdGVkIGNvdW50ZXJwYXJ0LgorY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19ub19lY3BfYXRfYWxsICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsICsgbm9uIGFjY2VsZXJhdGVkIEVDIGFsZ3MiCisKKyAgICBjb25maWdfcHNhX2NyeXB0b19ub19lY3BfYXRfYWxsIDAKKworICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogZnVsbCArIG5vbiBhY2NlbGVyYXRlZCBFQyBhbGdzIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzc2wtb3B0OiBmdWxsICsgbm9uIGFjY2VsZXJhdGVkIEVDIGFsZ3MiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCisjIFRoaXMgaXMgYSBjb21tb24gY29uZmlndXJhdGlvbiBoZWxwZXIgdXNlZCBkaXJlY3RseSBmcm9tOgorIyAtIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19mZmRoX25vX2JpZ251bQorIyAtIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZmZkaF9ub19iaWdudW0KKyMgYW5kIGluZGlyZWN0bHkgZnJvbToKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfbm9fYmlnbnVtCisjICAgICAgIC0gYWNjZWxlcmF0ZSBhbGwgRUMgYWxncywgZGlzYWJsZSBSU0EgYW5kIEZGREgKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX25vX2JpZ251bQorIyAgICAgICAtIHRoaXMgaXMgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQgb2YgdGhlIGFib3ZlCisjICAgICAgIC0gaXQgc3RpbGwgZGlzYWJsZXMgUlNBIGFuZCBGRkRILCBidXQgaXQgdXNlcyBidWlsdGluIEVDIGFsZ3MKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0KKyMgICAgICAgLSBhY2NlbGVyYXRlIGFsbCBFQyBhbmQgRkZESCBhbGdzLCBkaXNhYmxlIG9ubHkgUlNBCisjIC0gY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bQorIyAgICAgICAtIHRoaXMgaXMgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQgb2YgdGhlIGFib3ZlCisjICAgICAgIC0gaXQgc3RpbGwgZGlzYWJsZXMgUlNBLCBidXQgaXQgdXNlcyBidWlsdGluIEVDIGFuZCBGRkRIIGFsZ3MKKyMKKyMgVGhpcyBmdW5jdGlvbiBhY2NlcHRzIDIgcGFyYW1ldGVyczoKKyMgJDE6IGEgYm9vbGVhbiB2YWx1ZSB3aGljaCBzdGF0ZXMgaWYgd2UgYXJlIHRlc3RpbmcgYW4gYWNjZWxlcmF0ZWQgc2NlbmFyaW8KKyMgICAgIG9yIG5vdC4KKyMgJDI6IGEgc3RyaW5nIHZhbHVlIHdoaWNoIHN0YXRlcyB3aGljaCBjb21wb25lbnRzIGFyZSB0ZXN0ZWQuIEFsbG93ZWQgdmFsdWVzCisjICAgICBhcmUgIkVDQyIgb3IgIkVDQ19ESCIuCitjb25maWdfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX2ZmZGhfbm9fYmlnbnVtICgpIHsKKyAgICBkcml2ZXJfb25seT0iJDEiCisgICAgdGVzdF90YXJnZXQ9IiQyIgorICAgICMgc3RhcnQgd2l0aCBmdWxsIGNvbmZpZyBmb3IgbWF4aW11bSBjb3ZlcmFnZSAoYWxzbyBlbmFibGVzIFVTRV9QU0EpCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImZ1bGwiCisKKyAgICBpZiBbICIkZHJpdmVyX29ubHkiIC1lcSAxIF07IHRoZW4KKyAgICAgICAgIyBEaXNhYmxlIG1vZHVsZXMgdGhhdCBhcmUgYWNjZWxlcmF0ZWQKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNKUEFLRV9DCisgICAgICAgICMgRGlzYWJsZSBFQ1AgbW9kdWxlIChlbnRpcmVseSkKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ1BfQworICAgICAgICAjIEFsc28gZGlzYWJsZSBiaWdudW0KKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19CSUdOVU1fQworICAgIGZpCisKKyAgICAjIERpc2FibGUgYWxsIHRoZSBmZWF0dXJlcyB0aGF0IGF1dG8tZW5hYmxlIEVDUF9MSUdIVCAoc2VlIGJ1aWxkX2luZm8uaCkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLX1BBUlNFX0VDX0VYVEVOREVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VECisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9ERVJJVkUKKworICAgICMgUlNBIHN1cHBvcnQgaXMgaW50ZW50aW9uYWxseSBkaXNhYmxlZCBvbiB0aGlzIHRlc3QgYmVjYXVzZSBSU0FfQyBkZXBlbmRzCisgICAgIyBvbiBCSUdOVU1fQy4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQtYWxsICJQU0FfV0FOVF9LRVlfVFlQRV9SU0FfWzAtOUEtWl9hLXpdKiIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQtYWxsICJQU0FfV0FOVF9BTEdfUlNBX1swLTlBLVpfYS16XSoiCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19SU0FfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzFfVjE1CisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMjEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCisgICAgIyBBbHNvIGRpc2FibGUga2V5IGV4Y2hhbmdlcyB0aGF0IGRlcGVuZCBvbiBSU0EKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9SU0FfUFNLX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9SU0FfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9SU0FfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1JTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9SU0FfRU5BQkxFRAorCisgICAgaWYgWyAiJHRlc3RfdGFyZ2V0IiA9ICJFQ0MiIF07IHRoZW4KKyAgICAgICAgIyBXaGVuIHRlc3RpbmcgRUNDIG9ubHksIHdlIGRpc2FibGUgRkZESCBzdXBwb3J0LCBib3RoIGZyb20gYnVpbHRpbiBhbmQKKyAgICAgICAgIyBQU0Egc2lkZXMsIGFuZCBhbHNvIGRpc2FibGUgdGhlIGtleSBleGNoYW5nZXMgdGhhdCBkZXBlbmQgb24gREhNLgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiBpbmNsdWRlL3BzYS9jcnlwdG9fY29uZmlnLmggdW5zZXQgUFNBX1dBTlRfQUxHX0ZGREgKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0LWFsbCAiUFNBX1dBTlRfS0VZX1RZUEVfREhfWzAtOUEtWl9hLXpdKiIKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0LWFsbCAiUFNBX1dBTlRfREhfUkZDNzkxOV9bMC05XSoiCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfREhNX0MKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1BTS19FTkFCTEVECisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9SU0FfRU5BQkxFRAorICAgIGVsc2UKKyAgICAgICAgIyBXaGVuIHRlc3RpbmcgRUNDIGFuZCBESCBpbnN0ZWFkLCB3ZSBkaXNhYmxlIERITSBhbmQgZGVwZW5kaW5nIGtleQorICAgICAgICAjIGV4Y2hhbmdlcyBvbmx5IGluIHRoZSBhY2NlbGVyYXRlZCBidWlsZAorICAgICAgICBpZiBbICIkZHJpdmVyX29ubHkiIC1lcSAxIF07IHRoZW4KKyAgICAgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfREhNX0MKKyAgICAgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0RIRV9QU0tfRU5BQkxFRAorICAgICAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1JTQV9FTkFCTEVECisgICAgICAgIGZpCisgICAgZmkKKworICAgICMgUmVzdGFydGFibGUgZmVhdHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZCBieSBQU0EuIE9uY2UgaXQgd2lsbCBpbgorICAgICMgdGhlIGZ1dHVyZSwgdGhlIGZvbGxvd2luZyBsaW5lIGNvdWxkIGJlIHJlbW92ZWQgKHNlZSBpc3N1ZXMKKyAgICAjIDYwNjEsIDYzMzIgYW5kIGZvbGxvd2luZyBvbmVzKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFCit9CisKKyMgQ29tbW9uIGhlbHBlciB1c2VkIGJ5OgorIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2VjY19ub19iaWdudW0KKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0KKyMKKyMgVGhlIGdvYWwgaXMgdG8gYnVpbGQgYW5kIHRlc3QgYWNjZWxlcmF0aW5nIGVpdGhlcjoKKyMgLSBFQ0Mgb25seSBvcgorIyAtIGJvdGggRUNDIGFuZCBGRkRICisjCisjIEl0IGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aAorIyBjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX2ZmZGhfbm9fYmlnbnVtKCkgZm9yIGRyaXZlcnMKKyMgY292ZXJhZ2UgYW5hbHlzaXMgaW4gdGhlICJhbmFseXplX291dGNvbWVzLnB5IiBzY3JpcHQuCitjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0gKCkgeworICAgIHRlc3RfdGFyZ2V0PSIkMSIKKworICAgICMgVGhpcyBpcyBhbiBpbnRlcm5hbCBoZWxwZXIgdG8gc2ltcGxpZnkgdGV4dCBtZXNzYWdlIGhhbmRsaW5nCisgICAgaWYgWyAiJHRlc3RfdGFyZ2V0IiA9ICJFQ0NfREgiIF07IHRoZW4KKyAgICAgICAgYWNjZWxfdGV4dD0iRUNDL0ZGREgiCisgICAgICAgIHJlbW92ZWRfdGV4dD0iRUNQIC0gREgiCisgICAgZWxzZQorICAgICAgICBhY2NlbF90ZXh0PSJFQ0MiCisgICAgICAgIHJlbW92ZWRfdGV4dD0iRUNQIgorICAgIGZpCisKKyAgICBtc2cgImJ1aWxkOiBmdWxsICsgYWNjZWxlcmF0ZWQgJGFjY2VsX3RleHQgYWxncyArIFVTRV9QU0EgLSAkcmVtb3ZlZF90ZXh0IC0gQklHTlVNIgorCisgICAgIyBCeSBkZWZhdWx0IHdlIGFjY2VsZXJhdGUgYWxsIEVDIGtleXMvYWxncworICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNEU0EgQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EgXAorICAgICAgICAgICAgICAgICAgICBBTEdfRUNESCBcCisgICAgICAgICAgICAgICAgICAgIEFMR19KUEFLRSBcCisgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiRUNDIikgXAorICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2N1cnZlX2xpc3QpIgorICAgICMgT3B0aW9uYWxseSB3ZSBjYW4gYWxzbyBhZGQgREggdG8gdGhlIGxpc3Qgb2YgYWNjZWxlcmF0ZWQgaXRlbXMKKyAgICBpZiBbICIkdGVzdF90YXJnZXQiID0gIkVDQ19ESCIgXTsgdGhlbgorICAgICAgICBsb2NfYWNjZWxfbGlzdD0iJGxvY19hY2NlbF9saXN0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEFMR19GRkRIIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICQoaGVscGVyX2dldF9wc2Ffa2V5X3R5cGVfbGlzdCAiREgiKSBcCisgICAgICAgICAgICAgICAgICAgICAgICAkKGhlbHBlcl9nZXRfcHNhX2RoX2dyb3VwX2xpc3QpIgorICAgIGZpCisKKyAgICAjIENvbmZpZ3VyZQorICAgICMgLS0tLS0tLS0tCisKKyAgICAjIFNldCBjb21tb24gY29uZmlndXJhdGlvbnMgYmV0d2VlbiBsaWJyYXJ5J3MgYW5kIGRyaXZlcidzIGJ1aWxkcworICAgIGNvbmZpZ19wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0gMSAiJHRlc3RfdGFyZ2V0IgorICAgICMgRGlzYWJsZSBhbGwgdGhlIGJ1aWx0aW4gY3VydmVzLiBBbGwgdGhlIHJlcXVpcmVkIGFsZ3MgYXJlIGFjY2VsZXJhdGVkLgorICAgIGhlbHBlcl9kaXNhYmxlX2J1aWx0aW5fY3VydmVzCisKKyAgICAjIEJ1aWxkCisgICAgIyAtLS0tLQorCisgICAgIyBUaGluZ3Mgd2Ugd2FudGVkIHN1cHBvcnRlZCBpbiBsaWJ0ZXN0ZHJpdmVyMSwgYnV0IG5vdCBhY2NlbGVyYXRlZCBpbiB0aGUgbWFpbiBsaWJyYXJ5OgorICAgICMgU0hBLTEgYW5kIGFsbCBTSEEtMi8zIHZhcmlhbnRzLCBhcyB0aGV5IGFyZSB1c2VkIGJ5IEVDRFNBIGRldGVybWluaXN0aWMuCisgICAgbG9jX2V4dHJhX2xpc3Q9IkFMR19TSEFfMSBBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiBcCisgICAgICAgICAgICAgICAgICAgIEFMR19TSEEzXzIyNCBBTEdfU0hBM18yNTYgQUxHX1NIQTNfMzg0IEFMR19TSEEzXzUxMiIKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIgIiRsb2NfZXh0cmFfbGlzdCIKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKKworICAgICMgTWFrZSBzdXJlIGFueSBidWlsdC1pbiBFQyBhbGcgd2FzIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZSBjb25maWcpCisgICAgbm90IGdyZXAgbWJlZHRsc19lY2RzYV8gbGlicmFyeS9lY2RzYS5vCisgICAgbm90IGdyZXAgbWJlZHRsc19lY2RoXyBsaWJyYXJ5L2VjZGgubworICAgIG5vdCBncmVwIG1iZWR0bHNfZWNqcGFrZV8gbGlicmFyeS9lY2pwYWtlLm8KKyAgICAjIEFsc28gZW5zdXJlIHRoYXQgRUNQLCBSU0EsIFtESE1dIG9yIEJJR05VTSBtb2R1bGVzIHdlcmUgbm90IHJlLWVuYWJsZWQKKyAgICBub3QgZ3JlcCBtYmVkdGxzX2VjcF8gbGlicmFyeS9lY3AubworICAgIG5vdCBncmVwIG1iZWR0bHNfcnNhXyBsaWJyYXJ5L3JzYS5vCisgICAgbm90IGdyZXAgbWJlZHRsc19tcGlfIGxpYnJhcnkvYmlnbnVtLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2RobV8gbGlicmFyeS9kaG0ubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Qgc3VpdGVzOiBmdWxsICsgYWNjZWxlcmF0ZWQgJGFjY2VsX3RleHQgYWxncyArIFVTRV9QU0EgLSAkcmVtb3ZlZF90ZXh0IC0gREhNIC0gQklHTlVNIgorCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInNzbC1vcHQ6IGZ1bGwgKyBhY2NlbGVyYXRlZCAkYWNjZWxfdGV4dCBhbGdzICsgVVNFX1BTQSAtICRyZW1vdmVkX3RleHQgLSBCSUdOVU0iCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCisjIENvbW1vbiBoZWxwZXIgdXNlZCBieToKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfZWNjX25vX2JpZ251bQorIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZmZkaF9ub19iaWdudW0KKyMKKyMgVGhlIGdvYWwgaXMgdG8gYnVpbGQgYW5kIHRlc3QgYSByZWZlcmVuY2Ugc2NlbmFyaW8gKGkuZS4gd2l0aCBidWlsdGluCisjIGNvbXBvbmVudHMpIGNvbXBhcmVkIHRvIHRoZSBvbmVzIHVzZWQgaW4KKyMgY29tbW9uX3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX2ZmZGhfbm9fYmlnbnVtKCkgYWJvdmUuCisjCisjIEl0IGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aAorIyBjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0oKSBmb3IgZHJpdmVycycKKyMgY292ZXJhZ2UgYW5hbHlzaXMgaW4gImFuYWx5emVfb3V0Y29tZXMucHkiIHNjcmlwdC4KK2NvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZmZkaF9ub19iaWdudW0gKCkgeworICAgIHRlc3RfdGFyZ2V0PSIkMSIKKworICAgICMgVGhpcyBpcyBhbiBpbnRlcm5hbCBoZWxwZXIgdG8gc2ltcGxpZnkgdGV4dCBtZXNzYWdlIGhhbmRsaW5nCisgICAgaWYgWyAiJHRlc3RfdGFyZ2V0IiA9ICJFQ0NfREgiIF07IHRoZW4KKyAgICAgICAgYWNjZWxfdGV4dD0iRUNDL0ZGREgiCisgICAgZWxzZQorICAgICAgICBhY2NlbF90ZXh0PSJFQ0MiCisgICAgZmkKKworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBub24gYWNjZWxlcmF0ZWQgJGFjY2VsX3RleHQgYWxncyArIFVTRV9QU0EiCisKKyAgICBjb25maWdfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX2ZmZGhfbm9fYmlnbnVtIDAgIiR0ZXN0X3RhcmdldCIKKworICAgIG1ha2UKKworICAgIG1zZyAidGVzdCBzdWl0ZXM6IGZ1bGwgKyBub24gYWNjZWxlcmF0ZWQgRUMgYWxncyArIFVTRV9QU0EiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInNzbC1vcHQ6IGZ1bGwgKyBub24gYWNjZWxlcmF0ZWQgJGFjY2VsX3RleHQgYWxncyArIFVTRV9QU0EiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2Nfbm9fYmlnbnVtICgpIHsKKyAgICBjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0gIkVDQyIKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19ub19iaWdudW0gKCkgeworICAgIGNvbW1vbl90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9lY2NfZmZkaF9ub19iaWdudW0gIkVDQyIKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfZWNjX2ZmZGhfbm9fYmlnbnVtICgpIHsKKyAgICBjb21tb25fdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9lY2NfZmZkaF9ub19iaWdudW0gIkVDQ19ESCIKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bSAoKSB7CisgICAgY29tbW9uX3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2VjY19mZmRoX25vX2JpZ251bSAiRUNDX0RIIgorfQorCitjb21wb25lbnRfdGVzdF90Zm1fY29uZmlnX2FzX2lzICgpIHsKKyAgICBtc2cgImJ1aWxkOiBjb25maWdzL2NvbmZpZy10Zm0uaCIKKyAgICBjcCBjb25maWdzL2NvbmZpZy10Zm0uaCAiJENPTkZJR19IIgorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogY29uZmlncy9jb25maWctdGZtLmggLSB1bml0IHRlc3RzIgorICAgIG1ha2UgdGVzdAorfQorCisjIEhlbHBlciBmb3Igc2V0dGluZyBjb21tb24gY29uZmlndXJhdGlvbnMgYmV0d2VlbjoKKyMgLSBjb21wb25lbnRfdGVzdF90Zm1fY29uZmlnX3AyNTZtX2RyaXZlcl9hY2NlbF9lYygpCisjIC0gY29tcG9uZW50X3Rlc3RfdGZtX2NvbmZpZ19ub19wMjU2bSgpCitjb21tb25fdGZtX2NvbmZpZyAoKSB7CisgICAgIyBFbmFibGUgVEYtTSBjb25maWcKKyAgICBjcCBjb25maWdzL2NvbmZpZy10Zm0uaCAiJENPTkZJR19IIgorICAgIGVjaG8gIiN1bmRlZiBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHX0ZJTEUiID4+ICIkQ09ORklHX0giCisgICAgY3AgY29uZmlncy9leHQvY3J5cHRvX2NvbmZpZ19wcm9maWxlX21lZGl1bS5oICIkQ1JZUFRPX0NPTkZJR19IIgorCisgICAgIyBPdGhlciBjb25maWcgYWRqdXN0bWVudCB0byBtYWtlIHRoZSB0ZXN0cyBwYXNzLgorICAgICMgVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgYWRvcHRlZCB1cHN0cmVhbS4KKyAgICAjCisgICAgIyAtIFVTRV9QU0FfQ1JZUFRPIGZvciBQS19IQVZFX0VDQ19LRVlTCisgICAgZWNobyAiI2RlZmluZSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIiA+PiAiJENPTkZJR19IIgorCisgICAgIyBDb25maWcgYWRqdXN0bWVudCBmb3IgYmV0dGVyIHRlc3QgY292ZXJhZ2UgaW4gb3VyIGVudmlyb25tZW50LgorICAgICMgVGhpcyBpcyBub3QgbmVlZGVkIGp1c3QgdG8gYnVpbGQgYW5kIHBhc3MgdGVzdHMuCisgICAgIworICAgICMgRW5hYmxlIGZpbGVzeXN0ZW0gSS9PIGZvciB0aGUgYmVuZWZpdCBvZiBQSyBwYXJzZS93cml0ZSB0ZXN0cy4KKyAgICBlY2hvICIjZGVmaW5lIE1CRURUTFNfRlNfSU8iID4+ICIkQ09ORklHX0giCit9CisKKyMgS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBjb21wb25lbnRfdGVzdF90Zm1fY29uZmlnKCkgYXMgdGhleSBhcmUgYm90aCBtZWFudAorIyB0byBiZSB1c2VkIGluIGFuYWx5emVfb3V0Y29tZXMucHkgZm9yIGRyaXZlcidzIGNvdmVyYWdlIGFuYWx5c2lzLgorY29tcG9uZW50X3Rlc3RfdGZtX2NvbmZpZ19wMjU2bV9kcml2ZXJfYWNjZWxfZWMgKCkgeworICAgIG1zZyAiYnVpbGQ6IFRGLU0gY29uZmlnICsgcDI1Nm0gZHJpdmVyICsgYWNjZWwgRUNESChFKS9FQ0RTQSIKKworICAgIGNvbW1vbl90Zm1fY29uZmlnCisKKyAgICAjIEJ1aWxkIGNyeXB0byBsaWJyYXJ5CisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtSS4uL3Rlc3RzL2luY2x1ZGUvc3BlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCisKKyAgICAjIE1ha2Ugc3VyZSBhbnkgYnVpbHQtaW4gRUMgYWxnIHdhcyBub3QgcmUtZW5hYmxlZCBieSBhY2NpZGVudCAoYWRkaXRpdmUgY29uZmlnKQorICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkc2FfIGxpYnJhcnkvZWNkc2EubworICAgIG5vdCBncmVwIG1iZWR0bHNfZWNkaF8gbGlicmFyeS9lY2RoLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2VjanBha2VfIGxpYnJhcnkvZWNqcGFrZS5vCisgICAgIyBBbHNvIGVuc3VyZSB0aGF0IEVDUCwgUlNBLCBESE0gb3IgQklHTlVNIG1vZHVsZXMgd2VyZSBub3QgcmUtZW5hYmxlZAorICAgIG5vdCBncmVwIG1iZWR0bHNfZWNwXyBsaWJyYXJ5L2VjcC5vCisgICAgbm90IGdyZXAgbWJlZHRsc19yc2FfIGxpYnJhcnkvcnNhLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2RobV8gbGlicmFyeS9kaG0ubworICAgIG5vdCBncmVwIG1iZWR0bHNfbXBpXyBsaWJyYXJ5L2JpZ251bS5vCisgICAgIyBDaGVjayB0aGF0IHAyNTZtIHdhcyBidWlsdAorICAgIGdyZXAgLXEgcDI1Nl9lY2RzYV8gbGlicmFyeS9saWJtYmVkY3J5cHRvLmEKKworICAgICMgSW4gImNvbmZpZy10Zm0uaCIgd2UgZGlzYWJsZWQgQ0lQSEVSX0MgdHdlYWtpbmcgVEYtTSdzIGNvbmZpZ3VyYXRpb24KKyAgICAjIGZpbGVzLCBzbyB3ZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IGhhcyBub3QgYmUgcmUtZW5hYmxlZCBhY2NpZGVudGFsbHkuCisgICAgbm90IGdyZXAgbWJlZHRsc19jaXBoZXIgbGlicmFyeS9jaXBoZXIubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgbXNnICJ0ZXN0OiBURi1NIGNvbmZpZyArIHAyNTZtIGRyaXZlciArIGFjY2VsIEVDREgoRSkvRUNEU0EiCisgICAgbWFrZSB0ZXN0Cit9CisKKyMgS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBjb21wb25lbnRfdGVzdF90Zm1fY29uZmlnX3AyNTZtX2RyaXZlcl9hY2NlbF9lYygpIGFzCisjIHRoZXkgYXJlIGJvdGggbWVhbnQgdG8gYmUgdXNlZCBpbiBhbmFseXplX291dGNvbWVzLnB5IGZvciBkcml2ZXIncyBjb3ZlcmFnZQorIyBhbmFseXNpcy4KK2NvbXBvbmVudF90ZXN0X3RmbV9jb25maWdfbm9fcDI1Nm0gKCkgeworICAgIGNvbW1vbl90Zm1fY29uZmlnCisKKyAgICAjIERpc2FibGUgUDI1Nk0gZHJpdmVyLCB3aGljaCBpcyBvbiBieSBkZWZhdWx0LCBzbyB0aGF0IGFuYWx5emVfb3V0Y29tZXMKKyAgICAjIGNhbiBjb21wYXJlIHRoaXMgdGVzdCB3aXRoIHRlc3RfdGZtX2NvbmZpZ19wMjU2bV9kcml2ZXJfYWNjZWxfZWMKKyAgICBlY2hvICIjdW5kZWYgTUJFRFRMU19QU0FfUDI1Nk1fRFJJVkVSX0VOQUJMRUQiID4+ICIkQ09ORklHX0giCisKKyAgICBtc2cgImJ1aWxkOiBURi1NIGNvbmZpZyB3aXRob3V0IHAyNTZtIgorICAgIG1ha2UgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEgLUkuLi90ZXN0cy9pbmNsdWRlL3NwZScgdGVzdHMKKworICAgICMgQ2hlY2sgdGhhdCBwMjU2bSB3YXMgbm90IGJ1aWx0CisgICAgbm90IGdyZXAgcDI1Nl9lY2RzYV8gbGlicmFyeS9saWJtYmVkY3J5cHRvLmEKKworICAgICMgSW4gImNvbmZpZy10Zm0uaCIgd2UgZGlzYWJsZWQgQ0lQSEVSX0MgdHdlYWtpbmcgVEYtTSdzIGNvbmZpZ3VyYXRpb24KKyAgICAjIGZpbGVzLCBzbyB3ZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IGhhcyBub3QgYmUgcmUtZW5hYmxlZCBhY2NpZGVudGFsbHkuCisgICAgbm90IGdyZXAgbWJlZHRsc19jaXBoZXIgbGlicmFyeS9jaXBoZXIubworCisgICAgbXNnICJ0ZXN0OiBURi1NIGNvbmZpZyB3aXRob3V0IHAyNTZtIgorICAgIG1ha2UgdGVzdAorfQorCisjIFRoaXMgaXMgYW4gaGVscGVyIHVzZWQgYnk6CisjIC0gY29tcG9uZW50X3Rlc3RfcHNhX2VjY19rZXlfcGFpcl9ub19kZXJpdmUKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfZWNjX2tleV9wYWlyX25vX2dlbmVyYXRlCisjIFRoZSBnb2FsIGlzIHRvIHRlc3Qgd2l0aCBhbGwgUFNBX1dBTlRfS0VZX1RZUEVfeHh4X0tFWV9QQUlSX3l5eSBzeW1ib2xzCisjIGVuYWJsZWQsIGJ1dCBvbmUuIElucHV0IGFyZ3VtZW50cyBhcmUgYXMgZm9sbG93czoKKyMgLSAkMSBpcyB0aGUga2V5IHR5cGUgdW5kZXIgdGVzdCwgaS5lLiBFQ0MvUlNBL0RICisjIC0gJDIgaXMgdGhlIGtleSBvcHRpb24gdG8gYmUgdW5zZXQgKGkuZS4gZ2VuZXJhdGUsIGRlcml2ZSwgZXRjKQorYnVpbGRfYW5kX3Rlc3RfcHNhX3dhbnRfa2V5X3BhaXJfcGFydGlhbCAoKSB7CisgICAga2V5X3R5cGU9JDEKKyAgICB1bnNldF9vcHRpb249JDIKKyAgICBkaXNhYmxlZF9wc2Ffd2FudD0iUFNBX1dBTlRfS0VZX1RZUEVfJHtrZXlfdHlwZX1fS0VZX1BBSVJfJHt1bnNldF9vcHRpb259IgorCisgICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gLSAke2Rpc2FibGVkX3BzYV93YW50fSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworCisgICAgIyBBbGwgdGhlIFBTQV9XQU5UX0tFWV9UWVBFX3h4eF9LRVlfUEFJUl95eXkgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpbgorICAgICMgY3J5cHRvX2NvbmZpZy5oIHNvIHdlIGp1c3QgZGlzYWJsZSB0aGUgb25lIHdlIGRvbid0IHdhbnQuCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0ICIkZGlzYWJsZWRfcHNhX3dhbnQiCisKKyAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIC0gJHtkaXNhYmxlZF9wc2Ffd2FudH0iCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X3BzYV9lY2Nfa2V5X3BhaXJfbm9fZGVyaXZlICgpIHsKKyAgICBidWlsZF9hbmRfdGVzdF9wc2Ffd2FudF9rZXlfcGFpcl9wYXJ0aWFsICJFQ0MiICJERVJJVkUiCit9CisKK2NvbXBvbmVudF90ZXN0X3BzYV9lY2Nfa2V5X3BhaXJfbm9fZ2VuZXJhdGUgKCkgeworICAgIGJ1aWxkX2FuZF90ZXN0X3BzYV93YW50X2tleV9wYWlyX3BhcnRpYWwgIkVDQyIgIkdFTkVSQVRFIgorfQorCitjb25maWdfcHNhX2NyeXB0b19hY2NlbF9yc2EgKCkgeworICAgIGRyaXZlcl9vbmx5PSQxCisKKyAgICAjIFN0YXJ0IGZyb20gY3J5cHRvX2Z1bGwgY29uZmlnIChubyBYLjUwOSwgbm8gVExTKQorICAgICMgTm90ZTogUEsgd2lsbCBiZSBpZ25vcmVkIHdoZW4gY29tcGFyaW5nIGRyaXZlciB0byByZWZlcmVuY2UgaW4KKyAgICAjIGFuYWx5emVfb3V0Y29tZXMucHkKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiY3J5cHRvX2Z1bGwiCisKKyAgICBpZiBbICIkZHJpdmVyX29ubHkiIC1lcSAxIF07IHRoZW4KKyAgICAgICAgIyBSZW1vdmUgUlNBIHN1cHBvcnQgYW5kIGl0cyBkZXBlbmRlbmNpZXMKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19SU0FfQworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1MxX1YxNQorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1MxX1YyMQorCisgICAgICAgICMgV2UgbmVlZCBQRU0gcGFyc2luZyBpbiB0aGUgdGVzdCBsaWJyYXJ5IGFzIHdlbGwgdG8gc3VwcG9ydCB0aGUgaW1wb3J0CisgICAgICAgICMgb2YgUEVNIGVuY29kZWQgUlNBIGtleXMuCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ09ORklHX1RFU1RfRFJJVkVSX0giIHNldCBNQkVEVExTX1BFTV9QQVJTRV9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ09ORklHX1RFU1RfRFJJVkVSX0giIHNldCBNQkVEVExTX0JBU0U2NF9DCisgICAgZmkKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfcnNhX2NyeXB0byAoKSB7CisgICAgbXNnICJidWlsZDogY3J5cHRvX2Z1bGwgd2l0aCBhY2NlbGVyYXRlZCBSU0EiCisKKyAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX1JTQV9PQUVQIEFMR19SU0FfUFNTIFwKKyAgICAgICAgICAgICAgICAgICAgQUxHX1JTQV9QS0NTMVYxNV9DUllQVCBBTEdfUlNBX1BLQ1MxVjE1X1NJR04gXAorICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9SU0FfUFVCTElDX0tFWSBcCisgICAgICAgICAgICAgICAgICAgIEtFWV9UWVBFX1JTQV9LRVlfUEFJUl9CQVNJQyBcCisgICAgICAgICAgICAgICAgICAgIEtFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURSBcCisgICAgICAgICAgICAgICAgICAgIEtFWV9UWVBFX1JTQV9LRVlfUEFJUl9JTVBPUlQgXAorICAgICAgICAgICAgICAgICAgICBLRVlfVFlQRV9SU0FfS0VZX1BBSVJfRVhQT1JUIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgY29uZmlnX3BzYV9jcnlwdG9fYWNjZWxfcnNhIDEKKworICAgICMgQnVpbGQKKyAgICAjIC0tLS0tCisKKyAgICAjIFRoZXNlIGhhc2hlcyBhcmUgbmVlZGVkIGZvciB1bml0IHRlc3RzLgorICAgIGxvY19leHRyYV9saXN0PSJBTEdfU0hBXzEgQUxHX1NIQV8yMjQgQUxHX1NIQV8yNTYgQUxHX1NIQV8zODQgQUxHX1NIQV81MTIgXAorICAgICAgICAgICAgICAgICAgICBBTEdfU0hBM18yMjQgQUxHX1NIQTNfMjU2IEFMR19TSEEzXzM4NCBBTEdfU0hBM181MTIgQUxHX01ENSIKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiICIkbG9jX2V4dHJhX2xpc3QiCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCisKKyAgICAjIE1ha2Ugc3VyZSB0aGlzIHdhcyBub3QgcmUtZW5hYmxlZCBieSBhY2NpZGVudCAoYWRkaXRpdmUgY29uZmlnKQorICAgIG5vdCBncmVwIG1iZWR0bHNfcnNhIGxpYnJhcnkvcnNhLm8KKworICAgICMgUnVuIHRoZSB0ZXN0cworICAgICMgLS0tLS0tLS0tLS0tLQorCisgICAgbXNnICJ0ZXN0OiBjcnlwdG9fZnVsbCB3aXRoIGFjY2VsZXJhdGVkIFJTQSIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX3JzYV9jcnlwdG8gKCkgeworICAgIG1zZyAiYnVpbGQ6IGNyeXB0b19mdWxsIHdpdGggbm9uLWFjY2VsZXJhdGVkIFJTQSIKKworICAgICMgQ29uZmlndXJlCisgICAgIyAtLS0tLS0tLS0KKyAgICBjb25maWdfcHNhX2NyeXB0b19hY2NlbF9yc2EgMAorCisgICAgIyBCdWlsZAorICAgICMgLS0tLS0KKyAgICBtYWtlCisKKyAgICAjIFJ1biB0aGUgdGVzdHMKKyAgICAjIC0tLS0tLS0tLS0tLS0KKyAgICBtc2cgInRlc3Q6IGNyeXB0b19mdWxsIHdpdGggbm9uLWFjY2VsZXJhdGVkIFJTQSIKKyAgICBtYWtlIHRlc3QKK30KKworIyBUaGlzIGlzIGEgdGVtcG9yYXJ5IHRlc3QgdG8gdmVyaWZ5IHRoYXQgZnVsbCBSU0Egc3VwcG9ydCBpcyBwcmVzZW50IGV2ZW4gd2hlbgorIyBvbmx5IG9uZSBzaW5nbGUgbmV3IHN5bWJvbHMgKFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9CQVNJQykgaXMgZGVmaW5lZC4KK2NvbXBvbmVudF90ZXN0X25ld19wc2Ffd2FudF9rZXlfcGFpcl9zeW1ib2wgKCkgeworICAgIG1zZyAiQnVpbGQ6IGNyeXB0byBjb25maWcgLSBNQkVEVExTX1JTQV9DICsgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0JBU0lDIgorCisgICAgIyBDcmVhdGUgYSB0ZW1wb3Jhcnkgb3V0cHV0IGZpbGUgdW5sZXNzIHRoZXJlIGlzIGFscmVhZHkgb25lIHNldAorICAgIGlmIFsgIiRNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFIiBdOyB0aGVuCisgICAgICAgIFJFTU9WRV9PVVRDT01FX09OX0VYSVQ9Im5vIgorICAgIGVsc2UKKyAgICAgICAgUkVNT1ZFX09VVENPTUVfT05fRVhJVD0ieWVzIgorICAgICAgICBNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFPSIkUFdEL291dC5jc3YiCisgICAgICAgIGV4cG9ydCBNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFCisgICAgZmkKKworICAgICMgU3RhcnQgZnJvbSBjcnlwdG8gY29uZmlndXJhdGlvbgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGNyeXB0bworCisgICAgIyBSZW1vdmUgUlNBIHN1cHBvcnQgYW5kIGl0cyBkZXBlbmRlbmNpZXMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1MxX1YxNQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzFfVjIxCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfREhFX1JTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9SU0FfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1JTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfUlNBX1BTS19FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfUlNBX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1JTQV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAorCisgICAgIyBFbmFibGUgUFNBIHN1cHBvcnQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRworCisgICAgIyBLZWVwIG9ubHkgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0JBU0lDIGVuYWJsZWQgaW4gb3JkZXIgdG8gZW5zdXJlCisgICAgIyB0aGF0IHByb3BlciB0cmFuc2xhdGlvbnMgaXMgZG9uZSBpbiBjcnlwdG9fbGVnYWN5LmguCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9JTVBPUlQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0VYUE9SVAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEUKKworICAgIG1ha2UKKworICAgIG1zZyAiVGVzdDogY3J5cHRvIGNvbmZpZyAtIE1CRURUTFNfUlNBX0MgKyBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfQkFTSUMiCisgICAgbWFrZSB0ZXN0CisKKyAgICAjIFBhcnNlIG9ubHkgMSByZWxldmFudCBsaW5lIGZyb20gdGhlIG91dGNvbWUgZmlsZSwgaS5lLiBhIHRlc3Qgd2hpY2ggaXMKKyAgICAjIHBlcmZvcm1pbmcgUlNBIHNpZ25hdHVyZS4KKyAgICBtc2cgIlZlcmlmeSB0aGF0ICdSU0EgUEtDUzEgU2lnbiAjMSAoU0hBNTEyLCAxNTM2IGJpdHMgUlNBKScgaXMgUEFTUyIKKyAgICBjYXQgJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUgfCBncmVwICdSU0EgUEtDUzEgU2lnbiAjMSAoU0hBNTEyLCAxNTM2IGJpdHMgUlNBKScgfCBncmVwIC1xICJQQVNTIgorCisgICAgaWYgWyAiJFJFTU9WRV9PVVRDT01FX09OX0VYSVQiID09ICJ5ZXMiIF07IHRoZW4KKyAgICAgICAgcm0gJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUKKyAgICBmaQorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9oYXNoICgpIHsKKyAgICBtc2cgInRlc3Q6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBoYXNoIgorCisgICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19NRDUgQUxHX1JJUEVNRDE2MCBBTEdfU0hBXzEgXAorICAgICAgICAgICAgICAgICAgICBBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiBcCisgICAgICAgICAgICAgICAgICAgIEFMR19TSEEzXzIyNCBBTEdfU0hBM18yNTYgQUxHX1NIQTNfMzg0IEFMR19TSEEzXzUxMiIKKworICAgICMgQ29uZmlndXJlCisgICAgIyAtLS0tLS0tLS0KKworICAgICMgU3RhcnQgZnJvbSBkZWZhdWx0IGNvbmZpZyAobm8gVVNFX1BTQSkKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZGVmYXVsdCIKKworICAgICMgRGlzYWJsZSB0aGUgdGhpbmdzIHRoYXQgYXJlIGJlaW5nIGFjY2VsZXJhdGVkCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19NRDVfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUklQRU1EMTYwX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTFfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjI0X0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEEzODRfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBNTEyX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTNfQworCisgICAgIyBCdWlsZAorICAgICMgLS0tLS0KKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKKworICAgICMgVGhlcmUncyBhIHJpc2sgb2Ygc29tZXRoaW5nIGdldHRpbmcgcmUtZW5hYmxlZCB2aWEgY29uZmlnX3BzYS5oOworICAgICMgbWFrZSBzdXJlIGl0IGRpZCBub3QgaGFwcGVuLiBOb3RlOiBpdCdzIE9LIGZvciBNRF9DIHRvIGJlIGVuYWJsZWQuCisgICAgbm90IGdyZXAgbWJlZHRsc19tZDUgbGlicmFyeS9tZDUubworICAgIG5vdCBncmVwIG1iZWR0bHNfc2hhMSBsaWJyYXJ5L3NoYTEubworICAgIG5vdCBncmVwIG1iZWR0bHNfc2hhMjU2IGxpYnJhcnkvc2hhMjU2Lm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX3NoYTUxMiBsaWJyYXJ5L3NoYTUxMi5vCisgICAgbm90IGdyZXAgbWJlZHRsc19yaXBlbWQxNjAgbGlicmFyeS9yaXBlbWQxNjAubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Q6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBoYXNoIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9oYXNoX2tlZXBfYnVpbHRpbnMgKCkgeworICAgIG1zZyAidGVzdDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkK2J1aWx0aW4gaGFzaCIKKyAgICAjIFRoaXMgY29tcG9uZW50IGVuc3VyZXMgdGhhdCBhbGwgdGhlIHRlc3QgY2FzZXMgZm9yCisgICAgIyBtZF9wc2FfZHluYW1pY19kaXNwYXRjaCB3aXRoIGxlZ2FjeStkcml2ZXIgaW4gdGVzdF9zdWl0ZV9tZCBhcmUgcnVuLgorCisgICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19NRDUgQUxHX1JJUEVNRDE2MCBBTEdfU0hBXzEgXAorICAgICAgICAgICAgICAgICAgICBBTEdfU0hBXzIyNCBBTEdfU0hBXzI1NiBBTEdfU0hBXzM4NCBBTEdfU0hBXzUxMiBcCisgICAgICAgICAgICAgICAgICAgIEFMR19TSEEzXzIyNCBBTEdfU0hBM18yNTYgQUxHX1NIQTNfMzg0IEFMR19TSEEzXzUxMiIKKworICAgICMgU3RhcnQgZnJvbSBkZWZhdWx0IGNvbmZpZyAobm8gVVNFX1BTQSkKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZGVmYXVsdCIKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX2RyaXZlcnMgIiRsb2NfYWNjZWxfbGlzdCIKKworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9tYWtlX21haW4gIiRsb2NfYWNjZWxfbGlzdCIKKworICAgIG1zZyAidGVzdDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkK2J1aWx0aW4gaGFzaCIKKyAgICBtYWtlIHRlc3QKK30KKworIyBUaGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHRlc3QgYW5kIHVwZGF0ZWQgb25jZSB0aGUgYWNjZWxlcmF0b3IgRUNESCBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfZWNkaCAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfRUNESCB3aXRob3V0IE1CRURUTFNfRUNESF9DIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RIX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX1JTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9FQ0RTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1JTQV9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfUFNLX0VOQUJMRUQKKyAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKKyAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19FQ0RIIC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorfQorCisjIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBITUFDIGNvZGUgaXMgaW4gcGxhY2UgYW5kIHJlYWR5IHRvIHRlc3QuCitjb21wb25lbnRfYnVpbGRfcHNhX2FjY2VsX2FsZ19obWFjICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19ITUFDIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCisgICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfSE1BQyAtSS4uL3Rlc3RzL2luY2x1ZGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKK30KKworIyBUaGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHRlc3QgYW5kIHVwZGF0ZWQgb25jZSB0aGUgYWNjZWxlcmF0b3IgSEtERiBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfaGtkZiAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfSEtERiB3aXRob3V0IE1CRURUTFNfSEtERl9DIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19IS0RGX0MKKyAgICAjIE1ha2Ugc3VyZSB0byB1bnNldCBUTFMxXzMgc2luY2UgaXQgcmVxdWlyZXMgSEtERl9DIGFuZCB3aWxsIG5vdCBidWlsZCBwcm9wZXJseSB3aXRob3V0IGl0LgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgICMgTmVlZCB0byBkZWZpbmUgdGhlIGNvcnJlY3Qgc3ltYm9sIGFuZCBpbmNsdWRlIHRoZSB0ZXN0IGRyaXZlciBoZWFkZXIgcGF0aCBpbiBvcmRlciB0byBidWlsZCB3aXRoIHRoZSB0ZXN0IGRyaXZlcgorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUIC1ETUJFRFRMU19QU0FfQUNDRUxfQUxHX0hLREYgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIE1ENSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfbWQ1ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19NRDUgLSBvdGhlciBoYXNoZXMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JJUEVNRDE2MAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yMjQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yNTYKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8zODQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV81MTIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1RMUzEyX0VDSlBBS0VfVE9fUE1TCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX1BSSVZBVEUKKyAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKKyAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19NRDUgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJJUEVNRDE2MCBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfcmlwZW1kMTYwICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19SSVBFTUQxNjAgLSBvdGhlciBoYXNoZXMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX01ENQorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yMjQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yNTYKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8zODQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV81MTIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1RMUzEyX0VDSlBBS0VfVE9fUE1TCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX1BSSVZBVEUKKyAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKKyAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19SSVBFTUQxNjAgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFNIQTEgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KK2NvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3NoYTEgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICsgUFNBX1dBTlRfQUxHX1NIQV8xIC0gb3RoZXIgaGFzaGVzIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19NRDUKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JJUEVNRDE2MAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzIyNAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzI1NgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzM4NAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzUxMgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfVExTMTJfRUNKUEFLRV9UT19QTVMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0xNU19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfUFJJVkFURQorICAgICMgTmVlZCB0byBkZWZpbmUgdGhlIGNvcnJlY3Qgc3ltYm9sIGFuZCBpbmNsdWRlIHRoZSB0ZXN0IGRyaXZlciBoZWFkZXIgcGF0aCBpbiBvcmRlciB0byBidWlsZCB3aXRoIHRoZSB0ZXN0IGRyaXZlcgorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUIC1ETUJFRFRMU19QU0FfQUNDRUxfQUxHX1NIQV8xIC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorfQorCisjIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBTSEEyMjQgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KK2NvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3NoYTIyNCAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfU0hBXzIyNCAtIG90aGVyIGhhc2hlcyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfTUQ1CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SSVBFTUQxNjAKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8xCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMzg0CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfNTEyCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19UTFMxMl9FQ0pQQUtFX1RPX1BNUworICAgICMgTmVlZCB0byBkZWZpbmUgdGhlIGNvcnJlY3Qgc3ltYm9sIGFuZCBpbmNsdWRlIHRoZSB0ZXN0IGRyaXZlciBoZWFkZXIgcGF0aCBpbiBvcmRlciB0byBidWlsZCB3aXRoIHRoZSB0ZXN0IGRyaXZlcgorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUIC1ETUJFRFRMU19QU0FfQUNDRUxfQUxHX1NIQV8yMjQgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFNIQTI1NiBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfc2hhMjU2ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19TSEFfMjU2IC0gb3RoZXIgaGFzaGVzIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19NRDUKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JJUEVNRDE2MAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8yMjQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8zODQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV81MTIKKyAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKKyAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19TSEFfMjU2IC1JLi4vdGVzdHMvaW5jbHVkZSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorfQorCisjIFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gdGVzdCBhbmQgdXBkYXRlZCBvbmNlIHRoZSBhY2NlbGVyYXRvciBTSEEzODQgY29kZSBpcyBpbiBwbGFjZSBhbmQgcmVhZHkgdG8gdGVzdC4KK2NvbXBvbmVudF9idWlsZF9wc2FfYWNjZWxfYWxnX3NoYTM4NCAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfU0hBXzM4NCAtIG90aGVyIGhhc2hlcyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfTUQ1CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SSVBFTUQxNjAKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1NIQV8xCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMjI0CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMjU2CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19UTFMxMl9FQ0pQQUtFX1RPX1BNUworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0xNU19QUklWQVRFCisgICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfU0hBXzM4NCAtSS4uL3Rlc3RzL2luY2x1ZGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKK30KKworIyBUaGlzIHNob3VsZCBiZSByZW5hbWVkIHRvIHRlc3QgYW5kIHVwZGF0ZWQgb25jZSB0aGUgYWNjZWxlcmF0b3IgU0hBNTEyIGNvZGUgaXMgaW4gcGxhY2UgYW5kIHJlYWR5IHRvIHRlc3QuCitjb21wb25lbnRfYnVpbGRfcHNhX2FjY2VsX2FsZ19zaGE1MTIgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICsgUFNBX1dBTlRfQUxHX1NIQV81MTIgLSBvdGhlciBoYXNoZXMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX01ENQorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfUklQRU1EMTYwCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19TSEFfMQorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzIyNAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzI1NgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfU0hBXzM4NAorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfVExTMTJfRUNKUEFLRV9UT19QTVMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0xNU19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfUFJJVkFURQorICAgICMgTmVlZCB0byBkZWZpbmUgdGhlIGNvcnJlY3Qgc3ltYm9sIGFuZCBpbmNsdWRlIHRoZSB0ZXN0IGRyaXZlciBoZWFkZXIgcGF0aCBpbiBvcmRlciB0byBidWlsZCB3aXRoIHRoZSB0ZXN0IGRyaXZlcgorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUIC1ETUJFRFRMU19QU0FfQUNDRUxfQUxHX1NIQV81MTIgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJTQSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfcnNhX3BrY3MxdjE1X2NyeXB0ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIC0gTUJFRFRMU19VU0VfUFNBX0NSWVBUTyArIFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQgKyBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiBzZXQgUFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9DUllQVCAxCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfUlNBX09BRVAKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JTQV9QU1MKKyAgICAjIE5lZWQgdG8gZGVmaW5lIHRoZSBjb3JyZWN0IHN5bWJvbCBhbmQgaW5jbHVkZSB0aGUgdGVzdCBkcml2ZXIgaGVhZGVyIHBhdGggaW4gb3JkZXIgdG8gYnVpbGQgd2l0aCB0aGUgdGVzdCBkcml2ZXIKKyAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1EUFNBX0NSWVBUT19EUklWRVJfVEVTVCAtRE1CRURUTFNfUFNBX0FDQ0VMX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJTQSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfcnNhX3BrY3MxdjE1X3NpZ24gKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICsgUFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOICsgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVkiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgc2V0IFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTiAxCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JTQV9PQUVQCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUFNTCisgICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04gLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJTQSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfcnNhX29hZXAgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICsgUFNBX1dBTlRfQUxHX1JTQV9PQUVQICsgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVkiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgc2V0IFBTQV9XQU5UX0FMR19SU0FfT0FFUCAxCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUFNTCisgICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9BTEdfUlNBX09BRVAgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJTQSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9hbGdfcnNhX3BzcyAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9BTEdfUlNBX1BTUyArIFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9QVUJMSUNfS0VZIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9BTEdfUlNBX1BTUyAxCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19SU0FfT0FFUAorICAgICMgTmVlZCB0byBkZWZpbmUgdGhlIGNvcnJlY3Qgc3ltYm9sIGFuZCBpbmNsdWRlIHRoZSB0ZXN0IGRyaXZlciBoZWFkZXIgcGF0aCBpbiBvcmRlciB0byBidWlsZCB3aXRoIHRoZSB0ZXN0IGRyaXZlcgorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUIC1ETUJFRFRMU19QU0FfQUNDRUxfQUxHX1JTQV9QU1MgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJTQSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9rZXlfdHlwZV9yc2Ffa2V5X3BhaXIgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgLSBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICsgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX3h4eCArIFBTQV9XQU5UX0FMR19SU0FfUFNTIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9BTEdfUlNBX1BTUyAxCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfQkFTSUMgMQorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiBzZXQgUFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0lNUE9SVCAxCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfRVhQT1JUIDEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgc2V0IFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURSAxCisgICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9LRVlfVFlQRV9SU0FfS0VZX1BBSVIgLUkuLi90ZXN0cy9pbmNsdWRlIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCit9CisKKyMgVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byB0ZXN0IGFuZCB1cGRhdGVkIG9uY2UgdGhlIGFjY2VsZXJhdG9yIFJTQSBjb2RlIGlzIGluIHBsYWNlIGFuZCByZWFkeSB0byB0ZXN0LgorY29tcG9uZW50X2J1aWxkX3BzYV9hY2NlbF9rZXlfdHlwZV9yc2FfcHVibGljX2tleSAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCAtIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gKyBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWSArIFBTQV9XQU5UX0FMR19SU0FfUFNTIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9BTEdfUlNBX1BTUyAxCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHNldCBQU0FfV0FOVF9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWSAxCisgICAgIyBOZWVkIHRvIGRlZmluZSB0aGUgY29ycmVjdCBzeW1ib2wgYW5kIGluY2x1ZGUgdGhlIHRlc3QgZHJpdmVyIGhlYWRlciBwYXRoIGluIG9yZGVyIHRvIGJ1aWxkIHdpdGggdGhlIHRlc3QgZHJpdmVyCisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtRFBTQV9DUllQVE9fRFJJVkVSX1RFU1QgLURNQkVEVExTX1BTQV9BQ0NFTF9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWSAtSS4uL3Rlc3RzL2luY2x1ZGUiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKK30KKworIyBBdXhpbGlhcnkgZnVuY3Rpb24gdG8gYnVpbGQgY29uZmlnIGZvciBoYXNoZXMgd2l0aCBhbmQgd2l0aG91dCBkcml2ZXJzCitjb25maWdfcHNhX2NyeXB0b19oYXNoX3VzZV9wc2EgKCkgeworICAgIGRyaXZlcl9vbmx5PSIkMSIKKyAgICAjIHN0YXJ0IHdpdGggY29uZmlnIGZ1bGwgZm9yIG1heGltdW0gY292ZXJhZ2UgKGFsc28gZW5hYmxlcyBVU0VfUFNBKQorICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgorICAgIGlmIFsgIiRkcml2ZXJfb25seSIgLWVxIDEgXTsgdGhlbgorICAgICAgICAjIGRpc2FibGUgdGhlIGJ1aWx0LWluIGltcGxlbWVudGF0aW9uIG9mIGhhc2hlcworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX01ENV9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUklQRU1EMTYwX0MKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEExX0MKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEEyMjRfQworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9DICMgc2VlIGV4dGVybmFsIFJORyBiZWxvdworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVAorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTM4NF9DCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBNTEyX0MKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEE1MTJfVVNFX0E2NF9DUllQVE9fSUZfUFJFU0VOVAorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTNfQworICAgIGZpCit9CisKKyMgTm90ZSB0aGF0IGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX3JlZmVyZW5jZV9oYXNoX3VzZV9wc2EKKyMgaXMgcmVsYXRlZCB0byB0aGlzIGNvbXBvbmVudCBhbmQgYm90aCBjb21wb25lbnRzIG5lZWQgdG8gYmUga2VwdCBpbiBzeW5jLgorIyBGb3IgZGV0YWlscyBwbGVhc2Ugc2VlIGNvbW1lbnRzIGZvciBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfaGFzaF91c2VfcHNhLgorY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfaGFzaF91c2VfcHNhICgpIHsKKyAgICBtc2cgInRlc3Q6IGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBoYXNoZXMiCisKKyAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX01ENSBBTEdfUklQRU1EMTYwIEFMR19TSEFfMSBcCisgICAgICAgICAgICAgICAgICAgIEFMR19TSEFfMjI0IEFMR19TSEFfMjU2IEFMR19TSEFfMzg0IEFMR19TSEFfNTEyIFwKKyAgICAgICAgICAgICAgICAgICAgQUxHX1NIQTNfMjI0IEFMR19TSEEzXzI1NiBBTEdfU0hBM18zODQgQUxHX1NIQTNfNTEyIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgY29uZmlnX3BzYV9jcnlwdG9faGFzaF91c2VfcHNhIDEKKworICAgICMgQnVpbGQKKyAgICAjIC0tLS0tCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCisKKyAgICAjIFRoZXJlJ3MgYSByaXNrIG9mIHNvbWV0aGluZyBnZXR0aW5nIHJlLWVuYWJsZWQgdmlhIGNvbmZpZ19wc2EuaDsKKyAgICAjIG1ha2Ugc3VyZSBpdCBkaWQgbm90IGhhcHBlbi4gTm90ZTogaXQncyBPSyBmb3IgTURfQyB0byBiZSBlbmFibGVkLgorICAgIG5vdCBncmVwIG1iZWR0bHNfbWQ1IGxpYnJhcnkvbWQ1Lm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX3NoYTEgbGlicmFyeS9zaGExLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX3NoYTI1NiBsaWJyYXJ5L3NoYTI1Ni5vCisgICAgbm90IGdyZXAgbWJlZHRsc19zaGE1MTIgbGlicmFyeS9zaGE1MTIubworICAgIG5vdCBncmVwIG1iZWR0bHNfcmlwZW1kMTYwIGxpYnJhcnkvcmlwZW1kMTYwLm8KKworICAgICMgUnVuIHRoZSB0ZXN0cworICAgICMgLS0tLS0tLS0tLS0tLQorCisgICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgaGFzaGVzIgorICAgIG1ha2UgdGVzdAorCisgICAgIyBUaGlzIGlzIG1vc3RseSB1c2VmdWwgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgY29tcGFyZSBvdXRjb21lIGZpbGVzIHdpdGgKKyAgICAjIHRoZSByZWZlcmVuY2UgY29uZmlnIGluIGFuYWx5emVfb3V0Y29tZXMucHksIHRvIGNoZWNrIHRoYXQgdGhlCisgICAgIyBkZXBlbmRlbmN5IGRlY2xhcmF0aW9ucyBpbiBzc2wtb3B0LnNoIGFuZCBpbiBUTFMgY29kZSBhcmUgY29ycmVjdC4KKyAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2gsIGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBoYXNoZXMiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorCisgICAgIyBUaGlzIGlzIHRvIG1ha2Ugc3VyZSBhbGwgY2lwaGVyc3VpdGVzIGFyZSBleGVyY2lzZWQsIGJ1dCB3ZSBkb24ndCBuZWVkCisgICAgIyBpbnRlcm9wIHRlc3RpbmcgKGJlc2lkZXMsIHdlIGFscmVhZHkgZ290IHNvbWUgZnJvbSBzc2wtb3B0LnNoKS4KKyAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCwgZnVsbCB3aXRoIGFjY2VsZXJhdGVkIGhhc2hlcyIKKyAgICB0ZXN0cy9jb21wYXQuc2ggLXAgbWJlZFRMUyAtViBZRVMKK30KKworIyBUaGlzIGNvbXBvbmVudCBwcm92aWRlcyByZWZlcmVuY2UgY29uZmlndXJhdGlvbiBmb3IgdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9oYXNoX3VzZV9wc2EKKyMgd2l0aG91dCBhY2NlbGVyYXRlZCBoYXNoLiBUaGUgb3V0Y29tZSBmcm9tIGJvdGggY29tcG9uZW50cyBhcmUgdXNlZCBieSB0aGUgYW5hbHl6ZV9vdXRjb21lcy5weQorIyBzY3JpcHQgdG8gZmluZCByZWdyZXNzaW9uIGluIHRlc3QgY292ZXJhZ2Ugd2hlbiBhY2NlbGVyYXRlZCBoYXNoIGlzIHVzZWQgKHRlc3RzIGFuZCBzc2wtb3B0KS4KKyMgQm90aCBjb21wb25lbnRzIG5lZWQgdG8gYmUga2VwdCBpbiBzeW5jLgorY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfcmVmZXJlbmNlX2hhc2hfdXNlX3BzYSAoKSB7CisgICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGhvdXQgYWNjZWxlcmF0ZWQgaGFzaGVzIgorCisgICAgY29uZmlnX3BzYV9jcnlwdG9faGFzaF91c2VfcHNhIDAKKworICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogZnVsbCB3aXRob3V0IGFjY2VsZXJhdGVkIGhhc2hlcyIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogc3NsLW9wdC5zaCwgZnVsbCB3aXRob3V0IGFjY2VsZXJhdGVkIGhhc2hlcyIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoCit9CisKKyMgQXV4aWxpYXJ5IGZ1bmN0aW9uIHRvIGJ1aWxkIGNvbmZpZyBmb3IgaGFzaGVzIHdpdGggYW5kIHdpdGhvdXQgZHJpdmVycworY29uZmlnX3BzYV9jcnlwdG9faG1hY191c2VfcHNhICgpIHsKKyAgICBkcml2ZXJfb25seT0iJDEiCisgICAgIyBzdGFydCB3aXRoIGNvbmZpZyBmdWxsIGZvciBtYXhpbXVtIGNvdmVyYWdlIChhbHNvIGVuYWJsZXMgVVNFX1BTQSkKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKKworICAgIGlmIFsgIiRkcml2ZXJfb25seSIgLWVxIDEgXTsgdGhlbgorICAgICAgICAjIERpc2FibGUgTURfQyBpbiBvcmRlciB0byBkaXNhYmxlIHRoZSBidWlsdGluIHN1cHBvcnQgZm9yIEhNQUMuIE1EX0xJR0hUCisgICAgICAgICMgaXMgc3RpbGwgZW5hYmxlZCB0aG91Z2ggKGZvciBFTlRST1BZX0MgYW1vbmcgb3RoZXJzKS4KKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19NRF9DCisgICAgICAgICMgRGlzYWJsZSBhbHNvIHRoZSBidWlsdGluIGhhc2hlcyBzaW5jZSB0aGV5IGFyZSBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlcgorICAgICAgICAjIGFuZCBNRCBtb2R1bGUgaXMgYWJsZSB0byBwZXJmb3JtIFBTQSBkaXNwYXRoaW5nLgorICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldC1hbGwgTUJFRFRMU19TSEEKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19NRDVfQworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1JJUEVNRDE2MF9DCisgICAgZmkKKworICAgICMgRGlyZWN0IGRlcGVuZGVuY2llcyBvZiBNRF9DLiBXZSBkaXNhYmxlIHRoZW0gYWxzbyBpbiB0aGUgcmVmZXJlbmNlCisgICAgIyBjb21wb25lbnQgdG8gd29yayB3aXRoIHRoZSBzYW1lIHNldCBvZiBmZWF0dXJlcy4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M3X0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M1X0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hNQUNfRFJCR19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19IS0RGX0MKKyAgICAjIERlcGVuZGVuY2llcyBvZiBITUFDX0RSQkcKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VDRFNBX0RFVEVSTUlOSVNUSUMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfaG1hYyAoKSB7CisgICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGggYWNjZWxlcmF0ZWQgaG1hYyIKKworICAgIGxvY19hY2NlbF9saXN0PSJBTEdfSE1BQyBLRVlfVFlQRV9ITUFDIFwKKyAgICAgICAgICAgICAgICAgICAgQUxHX01ENSBBTEdfUklQRU1EMTYwIEFMR19TSEFfMSBcCisgICAgICAgICAgICAgICAgICAgIEFMR19TSEFfMjI0IEFMR19TSEFfMjU2IEFMR19TSEFfMzg0IEFMR19TSEFfNTEyIFwKKyAgICAgICAgICAgICAgICAgICAgQUxHX1NIQTNfMjI0IEFMR19TSEEzXzI1NiBBTEdfU0hBM18zODQgQUxHX1NIQTNfNTEyIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgY29uZmlnX3BzYV9jcnlwdG9faG1hY191c2VfcHNhIDEKKworICAgICMgQnVpbGQKKyAgICAjIC0tLS0tCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9kcml2ZXJzICIkbG9jX2FjY2VsX2xpc3QiCisKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfbWFrZV9tYWluICIkbG9jX2FjY2VsX2xpc3QiCisKKyAgICAjIEVuc3VyZSB0aGF0IGJ1aWx0LWluIHN1cHBvcnQgZm9yIEhNQUMgaXMgZGlzYWJsZWQuCisgICAgbm90IGdyZXAgbWJlZHRsc19tZF9obWFjIGxpYnJhcnkvbWQubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgd2l0aCBhY2NlbGVyYXRlZCBobWFjIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfaG1hYyAoKSB7CisgICAgbXNnICJ0ZXN0OiBmdWxsIHdpdGhvdXQgYWNjZWxlcmF0ZWQgaG1hYyIKKworICAgIGNvbmZpZ19wc2FfY3J5cHRvX2htYWNfdXNlX3BzYSAwCisKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgd2l0aG91dCBhY2NlbGVyYXRlZCBobWFjIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19hY2NlbF9kZXMgKCkgeworICAgIG1zZyAidGVzdDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkIERFUyIKKworICAgICMgQWxiZWl0IHRoaXMgY29tcG9uZW50cyBhaW1zIGF0IGFjY2VsZXJhdGluZyBERVMgd2hpY2ggc2hvdWxkIG9ubHkgc3VwcG9ydAorICAgICMgQ0JDIGFuZCBFQ0IgbW9kZXMsIHdlIG5lZWQgdG8gYWNjZWxlcmF0ZSBtb3JlIHRoYW4gdGhhdCBvdGhlcndpc2UgREVTX0MKKyAgICAjIHdvdWxkIGF1dG9tYXRpY2FsbHkgYmUgcmUtZW5hYmxlZCBieSAiY29uZmlnX2FkanVzdF9sZWdhY3lfZnJvbV9wc2EuYyIKKyAgICBsb2NfYWNjZWxfbGlzdD0iQUxHX0VDQl9OT19QQURESU5HIEFMR19DQkNfTk9fUEFERElORyBBTEdfQ0JDX1BLQ1M3IFwKKyAgICAgICAgICAgICAgICAgICAgQUxHX0NUUiBBTEdfQ0ZCIEFMR19PRkIgQUxHX1hUUyBBTEdfQ01BQyBcCisgICAgICAgICAgICAgICAgICAgIEtFWV9UWVBFX0RFUyIKKworICAgICMgTm90ZTogd2UgY2Fubm90IGFjY2VsZXJhdGUgYWxsIGNpcGhlcnMnIGtleSB0eXBlcyBvdGhlcndpc2Ugd2Ugd291bGQgYWxzbworICAgICMgaGF2ZSB0byBlaXRoZXIgZGlzYWJsZSBDQ00vR0NNIG9yIGFjY2VsZXJhdGUgdGhlbSwgYnV0IHRoYXQncyBvdXQgb2Ygc2NvcGUKKyAgICAjIG9mIHRoaXMgY29tcG9uZW50LiBUaGlzIGxpbWl0YXRpb24gd2lsbCBiZSBhZGRyZXNzZWQgYnkgIzg1OTguCisKKyAgICAjIENvbmZpZ3VyZQorICAgICMgLS0tLS0tLS0tCisKKyAgICAjIFN0YXJ0IGZyb20gdGhlIGZ1bGwgY29uZmlnCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX2FkanVzdF9jb25maWcgImZ1bGwiCisKKyAgICAjIERpc2FibGUgdGhlIHRoaW5ncyB0aGF0IGFyZSBiZWluZyBhY2NlbGVyYXRlZAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ1RSCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DRkIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9NT0RFX09GQgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfWFRTCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ERVNfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ01BQ19DCisKKyAgICAjIEJ1aWxkCisgICAgIyAtLS0tLQorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgorCisgICAgIyBNYWtlIHN1cmUgdGhpcyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKKyAgICBub3QgZ3JlcCBtYmVkdGxzX2RlcyBsaWJyYXJ5L2Rlcy5vCisKKyAgICAjIFJ1biB0aGUgdGVzdHMKKyAgICAjIC0tLS0tLS0tLS0tLS0KKworICAgIG1zZyAidGVzdDogTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRyB3aXRoIGFjY2VsZXJhdGVkIERFUyIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfcHNhX2NyeXB0b19jb25maWdfYWNjZWxfYWVhZCAoKSB7CisgICAgbXNnICJ0ZXN0OiBNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHIHdpdGggYWNjZWxlcmF0ZWQgQUVBRCIKKworICAgIGxvY19hY2NlbF9saXN0PSJBTEdfR0NNIEFMR19DQ00gQUxHX0NIQUNIQTIwX1BPTFkxMzA1IFwKKyAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfQUVTIEtFWV9UWVBFX0NIQUNIQTIwIEtFWV9UWVBFX0FSSUEgS0VZX1RZUEVfQ0FNRUxMSUEiCisKKyAgICAjIENvbmZpZ3VyZQorICAgICMgLS0tLS0tLS0tCisKKyAgICAjIFN0YXJ0IGZyb20gZnVsbCBjb25maWcKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKKworICAgICMgRGlzYWJsZSB0aGluZ3MgdGhhdCBhcmUgYmVpbmcgYWNjZWxlcmF0ZWQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0dDTV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQ01fQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0hBQ0hBUE9MWV9DCisKKyAgICAjIERpc2FibGUgQ0NNX1NUQVJfTk9fVEFHIGJlY2F1c2UgdGhpcyByZS1lbmFibGVzIENDTV9DLgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfQ0NNX1NUQVJfTk9fVEFHCisKKyAgICAjIEJ1aWxkCisgICAgIyAtLS0tLQorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgorCisgICAgIyBNYWtlIHN1cmUgdGhpcyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKKyAgICBub3QgZ3JlcCBtYmVkdGxzX2NjbSBsaWJyYXJ5L2NjbS5vCisgICAgbm90IGdyZXAgbWJlZHRsc19nY20gbGlicmFyeS9nY20ubworICAgIG5vdCBncmVwIG1iZWR0bHNfY2hhY2hhcG9seSBsaWJyYXJ5L2NoYWNoYXBvbHkubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Q6IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcgd2l0aCBhY2NlbGVyYXRlZCBBRUFEIgorICAgIG1ha2UgdGVzdAorfQorCisjIFRoaXMgaXMgYSBjb21tb24gY29uZmlndXJhdGlvbiBmdW5jdGlvbiB1c2VkIGluOgorIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2NpcGhlcl9hZWFkX2NtYWMKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfY2lwaGVyX2FlYWRfY21hYworY29tbW9uX3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2NpcGhlcl9hZWFkX2NtYWMgKCkgeworICAgICMgU3RhcnQgZnJvbSB0aGUgZnVsbCBjb25maWcKKyAgICBoZWxwZXJfbGlidGVzdGRyaXZlcjFfYWRqdXN0X2NvbmZpZyAiZnVsbCIKKworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTklTVF9LV19DCit9CisKKyMgVGhlIDIgZm9sbG93aW5nIHRlc3QgY29tcG9uZW50cywgaS5lLgorIyAtIGNvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2NpcGhlcl9hZWFkX2NtYWMKKyMgLSBjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfY2lwaGVyX2FlYWRfY21hYworIyBhcmUgbWVhbnQgdG8gYmUgdXNlZCB0b2dldGhlciBpbiBhbmFseXplX291dGNvbWVzLnB5IHNjcmlwdCBpbiBvcmRlciB0byB0ZXN0CisjIGRyaXZlcidzIGNvdmVyYWdlIGZvciBjaXBoZXJzIGFuZCBBRUFEcy4KK2NvbXBvbmVudF90ZXN0X3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2NpcGhlcl9hZWFkX2NtYWMgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnIHdpdGggYWNjZWxlcmF0ZWQgY2lwaGVyIGluYy4gQUVBRCBhbmQgQ01BQyIKKworICAgIGxvY19hY2NlbF9saXN0PSJBTEdfRUNCX05PX1BBRERJTkcgQUxHX0NCQ19OT19QQURESU5HIEFMR19DQkNfUEtDUzcgQUxHX0NUUiBBTEdfQ0ZCIFwKKyAgICAgICAgICAgICAgICAgICAgQUxHX09GQiBBTEdfWFRTIEFMR19TVFJFQU1fQ0lQSEVSIEFMR19DQ01fU1RBUl9OT19UQUcgXAorICAgICAgICAgICAgICAgICAgICBBTEdfR0NNIEFMR19DQ00gQUxHX0NIQUNIQTIwX1BPTFkxMzA1IEFMR19DTUFDIFwKKyAgICAgICAgICAgICAgICAgICAgS0VZX1RZUEVfREVTIEtFWV9UWVBFX0FFUyBLRVlfVFlQRV9BUklBIEtFWV9UWVBFX0NIQUNIQTIwIEtFWV9UWVBFX0NBTUVMTElBIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgY29tbW9uX3BzYV9jcnlwdG9fY29uZmlnX2FjY2VsX2NpcGhlcl9hZWFkX2NtYWMKKworICAgICMgRGlzYWJsZSB0aGUgdGhpbmdzIHRoYXQgYXJlIGJlaW5nIGFjY2VsZXJhdGVkCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3CisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DVFIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NGQgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfT0ZCCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9YVFMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0dDTV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQ01fQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0hBQ0hBUE9MWV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DTUFDX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFU19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQVJJQV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEEyMF9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQU1FTExJQV9DCisKKyAgICAjIERpc2FibGUgQ0lQSEVSX0MgZW50aXJlbHkgYXMgYWxsIGNpcGhlcnMvQUVBRHMgYXJlIGFjY2VsZXJhdGVkIGFuZCBQU0EKKyAgICAjIGRvZXMgbm90IGRlcGVuZCBvbiBpdC4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9DCisKKyAgICAjIEJ1aWxkCisgICAgIyAtLS0tLQorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgorCisgICAgIyBNYWtlIHN1cmUgdGhpcyB3YXMgbm90IHJlLWVuYWJsZWQgYnkgYWNjaWRlbnQgKGFkZGl0aXZlIGNvbmZpZykKKyAgICBub3QgZ3JlcCBtYmVkdGxzX2NpcGhlciBsaWJyYXJ5L2NpcGhlci5vCisgICAgbm90IGdyZXAgbWJlZHRsc19kZXMgbGlicmFyeS9kZXMubworICAgIG5vdCBncmVwIG1iZWR0bHNfYWVzIGxpYnJhcnkvYWVzLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2FyaWEgbGlicmFyeS9hcmlhLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2NhbWVsbGlhIGxpYnJhcnkvY2FtZWxsaWEubworICAgIG5vdCBncmVwIG1iZWR0bHNfY2NtIGxpYnJhcnkvY2NtLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2djbSBsaWJyYXJ5L2djbS5vCisgICAgbm90IGdyZXAgbWJlZHRsc19jaGFjaGFwb2x5IGxpYnJhcnkvY2hhY2hhcG9seS5vCisgICAgbm90IGdyZXAgbWJlZHRsc19jbWFjIGxpYnJhcnkvY21hYy5vCisKKyAgICAjIFJ1biB0aGUgdGVzdHMKKyAgICAjIC0tLS0tLS0tLS0tLS0KKworICAgIG1zZyAidGVzdDogZnVsbCBjb25maWcgd2l0aCBhY2NlbGVyYXRlZCBjaXBoZXIgaW5jLiBBRUFEIGFuZCBDTUFDIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzc2wtb3B0OiBmdWxsIGNvbmZpZyB3aXRoIGFjY2VsZXJhdGVkIGNpcGhlciBpbmMuIEFFQUQgYW5kIENNQUMiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorCisgICAgbXNnICJjb21wYXQuc2g6IGZ1bGwgY29uZmlnIHdpdGggYWNjZWxlcmF0ZWQgY2lwaGVyIGluYy4gQUVBRCBhbmQgQ01BQyIKKyAgICB0ZXN0cy9jb21wYXQuc2ggLVYgTk8gLXAgbWJlZFRMUworfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2NvbmZpZ19yZWZlcmVuY2VfY2lwaGVyX2FlYWRfY21hYyAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgd2l0aCBub24tYWNjZWxlcmF0ZWQgY2lwaGVyIGluYy4gQUVBRCBhbmQgQ01BQyIKKyAgICBjb21tb25fcHNhX2NyeXB0b19jb25maWdfYWNjZWxfY2lwaGVyX2FlYWRfY21hYworCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBmdWxsIGNvbmZpZyB3aXRoIG5vbi1hY2NlbGVyYXRlZCBjaXBoZXIgaW5jLiBBRUFEIGFuZCBDTUFDIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzc2wtb3B0OiBmdWxsIGNvbmZpZyB3aXRoIG5vbi1hY2NlbGVyYXRlZCBjaXBoZXIgaW5jLiBBRUFEIGFuZCBDTUFDIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKKworICAgIG1zZyAiY29tcGF0LnNoOiBmdWxsIGNvbmZpZyB3aXRoIG5vbi1hY2NlbGVyYXRlZCBjaXBoZXIgaW5jLiBBRUFEIGFuZCBDTUFDIgorICAgIHRlc3RzL2NvbXBhdC5zaCAtViBOTyAtcCBtYmVkVExTCit9CisKK2NvbW1vbl9ibG9ja19jaXBoZXJfZGlzcGF0Y2ggKCkgeworICAgIFRFU1RfV0lUSF9EUklWRVI9IiQxIgorCisgICAgIyBTdGFydCBmcm9tIHRoZSBmdWxsIGNvbmZpZworICAgIGhlbHBlcl9saWJ0ZXN0ZHJpdmVyMV9hZGp1c3RfY29uZmlnICJmdWxsIgorCisgICAgaWYgWyAiJFRFU1RfV0lUSF9EUklWRVIiIC1lcSAxIF07IHRoZW4KKyAgICAgICAgIyBEaXNhYmxlIGtleSB0eXBlcyB0aGF0IGFyZSBhY2NlbGVyYXRlZCAodGhlcmUgaXMgbm8gbGVnYWN5IGVxdWl2YWxlbnQKKyAgICAgICAgIyBzeW1ib2wgZm9yIEVDQikKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNfQworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FSSUFfQworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NBTUVMTElBX0MKKyAgICBmaQorCisgICAgIyBEaXNhYmxlIGNpcGhlcidzIG1vZGVzIHRoYXQsIHdoZW4gbm90IGFjY2VsZXJhdGVkLCBjYXVzZQorICAgICMgbGVnYWN5IGtleSB0eXBlcyB0byBiZSByZS1lbmFibGVkIGluICJjb25maWdfYWRqdXN0X2xlZ2FjeV9mcm9tX3BzYS5oIi4KKyAgICAjIEtlZXAgdGhpcyBhbHNvIGluIHRoZSByZWZlcmVuY2UgY29tcG9uZW50IGluIG9yZGVyIHRvIHNraXAgdGhlIHNhbWUgdGVzdHMKKyAgICAjIHRoYXQgd2VyZSBza2lwcGVkIGluIHRoZSBhY2NlbGVyYXRlZCBvbmUuCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DVFIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NGQgorICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfT0ZCCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DQkNfTk9fUEFERElORworICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9BTEdfQ0JDX1BLQ1M3CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DTUFDCisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUcKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX1BCS0RGMl9BRVNfQ01BQ19QUkZfMTI4CisKKyAgICAjIERpc2FibGUgZGlyZWN0IGRlcGVuZGVuY3kgb24gQUVTX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX05JU1RfS1dfQworCisgICAgIyBQcmV2ZW50IHRoZSBjaXBoZXIgbW9kdWxlIGZyb20gdXNpbmcgZGVwcmVjYXRlZCBQU0EgcGF0aC4gVGhlIHJlYXNvbiBpcworICAgICMgdGhhdCBvdGhlcndpc2UgdGhlcmUgd2lsbCBiZSB0ZXN0cyByZWx5aW5nIG9uICJhZXNfaW5mbyIgKGRlZmluZWQgaW4KKyAgICAjICJjaXBoZXJfd3JhcC5jIikgd2hvc2UgZnVuY3Rpb25zIGFyZSBub3QgYXZhaWxhYmxlIHdoZW4gQUVTX0MgaXMKKyAgICAjIG5vdCBkZWZpbmVkLiBBUklBIGFuZCBDYW1lbGxpYSBhcmUgbm90IGEgcHJvYmxlbSBpbiB0aGlzIGNhc2UgYmVjYXVzZQorICAgICMgdGhlIFBTQSBwYXRoIGlzIG5vdCB0ZXN0ZWQgZm9yIHRoZXNlIGtleSB0eXBlcy4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19ERVBSRUNBVEVEX1JFTU9WRUQKK30KKworY29tcG9uZW50X3Rlc3RfZnVsbF9ibG9ja19jaXBoZXJfcHNhX2Rpc3BhdGNoX3N0YXRpY19rZXlzdG9yZSAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCArIFBTQSBkaXNwYXRjaCBpbiBibG9ja19jaXBoZXIgd2l0aCBzdGF0aWMga2V5c3RvcmUiCisgICAgIyBDaGVjayB0aGF0IHRoZSBzdGF0aWMga2V5IHN0b3JlIHdvcmtzIHdlbGwgd2hlbiBDVFJfRFJCRyB1c2VzIGEKKyAgICAjIFBTQSBrZXkgZm9yIEFFUy4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQworCisgICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19FQ0JfTk9fUEFERElORyBcCisgICAgICAgICAgICAgICAgICAgIEtFWV9UWVBFX0FFUyBLRVlfVFlQRV9BUklBIEtFWV9UWVBFX0NBTUVMTElBIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgY29tbW9uX2Jsb2NrX2NpcGhlcl9kaXNwYXRjaCAxCisKKyAgICAjIEJ1aWxkCisgICAgIyAtLS0tLQorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgorCisgICAgIyBNYWtlIHN1cmUgZGlzYWJsZWQgY29tcG9uZW50cyB3ZXJlIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZQorICAgICMgY29uZmlnKQorICAgIG5vdCBncmVwIG1iZWR0bHNfYWVzXyBsaWJyYXJ5L2Flcy5vCisgICAgbm90IGdyZXAgbWJlZHRsc19hcmlhXyBsaWJyYXJ5L2FyaWEubworICAgIG5vdCBncmVwIG1iZWR0bHNfY2FtZWxsaWFfIGxpYnJhcnkvY2FtZWxsaWEubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgKyBQU0EgZGlzcGF0Y2ggaW4gYmxvY2tfY2lwaGVyIHdpdGggc3RhdGljIGtleXN0b3JlIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9mdWxsX2Jsb2NrX2NpcGhlcl9wc2FfZGlzcGF0Y2ggKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBQU0EgZGlzcGF0Y2ggaW4gYmxvY2tfY2lwaGVyIgorCisgICAgbG9jX2FjY2VsX2xpc3Q9IkFMR19FQ0JfTk9fUEFERElORyBcCisgICAgICAgICAgICAgICAgICAgIEtFWV9UWVBFX0FFUyBLRVlfVFlQRV9BUklBIEtFWV9UWVBFX0NBTUVMTElBIgorCisgICAgIyBDb25maWd1cmUKKyAgICAjIC0tLS0tLS0tLQorCisgICAgY29tbW9uX2Jsb2NrX2NpcGhlcl9kaXNwYXRjaCAxCisKKyAgICAjIEJ1aWxkCisgICAgIyAtLS0tLQorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfZHJpdmVycyAiJGxvY19hY2NlbF9saXN0IgorCisgICAgaGVscGVyX2xpYnRlc3Rkcml2ZXIxX21ha2VfbWFpbiAiJGxvY19hY2NlbF9saXN0IgorCisgICAgIyBNYWtlIHN1cmUgZGlzYWJsZWQgY29tcG9uZW50cyB3ZXJlIG5vdCByZS1lbmFibGVkIGJ5IGFjY2lkZW50IChhZGRpdGl2ZQorICAgICMgY29uZmlnKQorICAgIG5vdCBncmVwIG1iZWR0bHNfYWVzXyBsaWJyYXJ5L2Flcy5vCisgICAgbm90IGdyZXAgbWJlZHRsc19hcmlhXyBsaWJyYXJ5L2FyaWEubworICAgIG5vdCBncmVwIG1iZWR0bHNfY2FtZWxsaWFfIGxpYnJhcnkvY2FtZWxsaWEubworCisgICAgIyBSdW4gdGhlIHRlc3RzCisgICAgIyAtLS0tLS0tLS0tLS0tCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgKyBQU0EgZGlzcGF0Y2ggaW4gYmxvY2tfY2lwaGVyIgorICAgIG1ha2UgdGVzdAorfQorCisjIFRoaXMgaXMgdGhlIHJlZmVyZW5jZSBjb21wb25lbnQgb2YgY29tcG9uZW50X3Rlc3RfZnVsbF9ibG9ja19jaXBoZXJfcHNhX2Rpc3BhdGNoCitjb21wb25lbnRfdGVzdF9mdWxsX2Jsb2NrX2NpcGhlcl9sZWdhY3lfZGlzcGF0Y2ggKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBsZWdhY3kgZGlzcGF0Y2ggaW4gYmxvY2tfY2lwaGVyIgorCisgICAgY29tbW9uX2Jsb2NrX2NpcGhlcl9kaXNwYXRjaCAwCisKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgKyBsZWdhY3kgZGlzcGF0Y2ggaW4gYmxvY2tfY2lwaGVyIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9hZWFkX2NoYWNoYXBvbHlfZGlzYWJsZWQgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgbWludXMgQ0hBQ0hBUE9MWSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NIQUNIQTIwX1BPTFkxMzA1CisgICAgbWFrZSBDQz0kQVNBTl9DQyBDRkxBR1M9IiRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBmdWxsIG1pbnVzIENIQUNIQVBPTFkiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X2FlYWRfb25seV9jY20gKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgbWludXMgQ0hBQ0hBUE9MWSBhbmQgR0NNIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NIQUNIQVBPTFlfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NIQUNIQTIwX1BPTFkxMzA1CisgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19HQ00KKyAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIiBMREZMQUdTPSIkQVNBTl9DRkxBR1MiCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgbWludXMgQ0hBQ0hBUE9MWSBhbmQgR0NNIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9jY21fYWVzX3NoYTI1NiAoKSB7CisgICAgbXNnICJidWlsZDogQ0NNICsgQUVTICsgU0hBMjU2IGNvbmZpZ3VyYXRpb24iCisKKyAgICBjcCAiJENPTkZJR19URVNUX0RSSVZFUl9IIiAiJENPTkZJR19IIgorICAgIGNwIGNvbmZpZ3MvY3J5cHRvLWNvbmZpZy1jY20tYWVzLXNoYTI1Ni5oICIkQ1JZUFRPX0NPTkZJR19IIgorCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBDQ00gKyBBRVMgKyBTSEEyNTYgY29uZmlndXJhdGlvbiIKKyAgICBtYWtlIHRlc3QKK30KKworIyBUZXN0IHRoYXQgdGhlIGdpdmVuIC5vIGZpbGUgYnVpbGRzIHdpdGggYWxsICh2YWxpZCkgY29tYmluYXRpb25zIG9mIHRoZSBnaXZlbiBvcHRpb25zLgorIworIyBTeW50YXg6IGJ1aWxkX3Rlc3RfY29uZmlnX2NvbWJvcyBGSUxFIFZBTElEQVRPUl9GVU5DVElPTiBPUFQxIE9QVDIgLi4uCisjCisjIFRoZSB2YWxpZGF0b3IgZnVuY3Rpb24gaXMgdGhlIG5hbWUgb2YgYSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgY29tYmluYXRpb24gb2Ygb3B0aW9ucy4KKyMgSXQgbWF5IGJlICIiIGlmIGFsbCBjb21iaW5hdGlvbnMgYXJlIHZhbGlkLgorIyBJdCByZWNlaXZlcyBhIHN0cmluZyBjb250YWluaW5nIGEgY29tYmluYXRpb24gb2Ygb3B0aW9ucywgYXMgcGFzc2VkIHRvIHRoZSBjb21waWxlciwKKyMgZS5nLiAiLURPUFQxIC1ET1BUMiAuLi4iLiBJdCBtdXN0IHJldHVybiAwIGlmZiB0aGUgY29tYmluYXRpb24gaXMgdmFsaWQsIG5vbi16ZXJvIGlmIGludmFsaWQuCitidWlsZF90ZXN0X2NvbmZpZ19jb21ib3MgKCkgeworICAgIGZpbGU9JDEKKyAgICBzaGlmdAorICAgIHZhbGlkYXRlX29wdGlvbnM9JDEKKyAgICBzaGlmdAorICAgIG9wdGlvbnM9KCIkQCIpCisKKyAgICAjIGNsZWFyIGFsbCBvZiB0aGUgb3B0aW9ucyBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRkZW4gb24gdGhlIGNsYW5nIGNvbW1hbmRsaW5lCisgICAgZm9yIG9wdCBpbiAiJHtvcHRpb25zW0BdfSI7IGRvCisgICAgICAgIC4vc2NyaXB0cy9jb25maWcucHkgdW5zZXQgJHtvcHR9CisgICAgZG9uZQorCisgICAgIyBlbnRlciB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHRhcmdldCBmaWxlICYgc3RyaXAgdGhlIGRpciBmcm9tIHRoZSBmaWxlbmFtZQorICAgIGNkICQoZGlybmFtZSAke2ZpbGV9KQorICAgIGZpbGU9JChiYXNlbmFtZSAke2ZpbGV9KQorCisgICAgIyBUaGUgbW9zdCBjb21tb24gaXNzdWUgaXMgdW51c2VkIHZhcmlhYmxlcy9mdW5jdGlvbnMsIHNvIGVuc3VyZSAtV3VudXNlZCBpcyBzZXQuCisgICAgd2FybmluZ19mbGFncz0iLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1Xd3JpdGUtc3RyaW5ncyAtV3BvaW50ZXItYXJpdGggLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCAtV3NoYWRvdyAtV3ZsYSAtV2Zvcm1hdD0yIC1Xbm8tZm9ybWF0LW5vbmxpdGVyYWwgLVdzaGFkb3cgLVdhc20tb3BlcmFuZC13aWR0aHMgLVd1bnVzZWQiCisKKyAgICAjIEV4dHJhY3QgdGhlIGNvbW1hbmQgZ2VuZXJhdGVkIGJ5IHRoZSBNYWtlZmlsZSB0byBidWlsZCB0aGUgdGFyZ2V0IGZpbGUuCisgICAgIyBUaGlzIGVuc3VyZXMgdGhhdCB3ZSBoYXZlIGFueSBpbmNsdWRlIHBhdGhzLCBtYWNybyBkZWZpbml0aW9ucywgZXRjCisgICAgIyB0aGF0IG1heSBiZSBhcHBsaWVkIGJ5IG1ha2UuCisgICAgIyBBZGQgLWZzeW50YXgtb25seSBhcyB3ZSBvbmx5IHdhbnQgYSBzeW50YXggY2hlY2sgYW5kIGRvbid0IG5lZWQgdG8gZ2VuZXJhdGUgYSBmaWxlLgorICAgIGNvbXBpbGVfY21kPSJjbGFuZyBcJChMT0NBTF9DRkxBR1MpICR7d2FybmluZ19mbGFnc30gLWZzeW50YXgtb25seSAtYyIKKworICAgIG1ha2VmaWxlPSQoVE1QRElSPS4gbWt0ZW1wKQorICAgIGRlcHM9IiIKKworICAgIGxlbj0keyNvcHRpb25zW0BdfQorICAgIHNvdXJjZV9maWxlPSR7ZmlsZSUub30uYworCisgICAgdGFyZ2V0cz0wCisgICAgZWNobyAnaW5jbHVkZSBNYWtlZmlsZScgPiR7bWFrZWZpbGV9CisKKyAgICBmb3IgKChpID0gMDsgaSA8ICQoKDIqKiR7bGVufSkpOyBpKyspKTsgZG8KKyAgICAgICAgIyBnZW5lcmF0ZSBlYWNoIG9mIDJebiBjb21iaW5hdGlvbnMgb2Ygb3B0aW9ucworICAgICAgICAjIGVhY2ggYml0IG9mICRpIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIG9wdGlvbnNbaV0gd2lsbCBiZSBzZXQgb3Igbm90CisgICAgICAgIHRhcmdldD0idCIKKyAgICAgICAgY2xhbmdfYXJncz0iIgorICAgICAgICBmb3IgKChqID0gMDsgaiA8ICR7bGVufTsgaisrKSk7IGRvCisgICAgICAgICAgICBpZiAoKChpID4+IGopICYgMSkpOyB0aGVuCisgICAgICAgICAgICAgICAgb3B0PS1EJHtvcHRpb25zWyRqXX0KKyAgICAgICAgICAgICAgICBjbGFuZ19hcmdzPSIke2NsYW5nX2FyZ3N9ICR7b3B0fSIKKyAgICAgICAgICAgICAgICB0YXJnZXQ9IiR7dGFyZ2V0fSR7b3B0fSIKKyAgICAgICAgICAgIGZpCisgICAgICAgIGRvbmUKKworICAgICAgICAjIGlmIGNvbWJpbmF0aW9uIGlzIG5vdCBrbm93biB0byBiZSBpbnZhbGlkLCBhZGQgaXQgdG8gdGhlIG1ha2VmaWxlCisgICAgICAgIGlmIFtbIC16ICR2YWxpZGF0ZV9vcHRpb25zIF1dIHx8ICR2YWxpZGF0ZV9vcHRpb25zICIke2NsYW5nX2FyZ3N9IjsgdGhlbgorICAgICAgICAgICAgY21kPSIke2NvbXBpbGVfY21kfSAke2NsYW5nX2FyZ3N9IgorICAgICAgICAgICAgZWNobyAiJHt0YXJnZXR9OiAke3NvdXJjZV9maWxlfTsgJGNtZCAke3NvdXJjZV9maWxlfSIgPj4gJHttYWtlZmlsZX0KKworICAgICAgICAgICAgZGVwcz0iJHtkZXBzfSAke3RhcmdldH0iCisgICAgICAgICAgICAoKCsrdGFyZ2V0cykpCisgICAgICAgIGZpCisgICAgZG9uZQorCisgICAgZWNobyAiYnVpbGRfdGVzdF9jb25maWdfY29tYm9zOiAke2RlcHN9IiA+PiAke21ha2VmaWxlfQorCisgICAgIyBleGVjdXRlIGFsbCBvZiB0aGUgY29tbWFuZHMgdmlhIE1ha2UgKHByb2JhYmx5IGluIHBhcmFsbGVsKQorICAgIG1ha2UgLXMgLWYgJHttYWtlZmlsZX0gYnVpbGRfdGVzdF9jb25maWdfY29tYm9zCisgICAgZWNobyAiJHRhcmdldHMgdGFyZ2V0cyBjaGVja2VkIgorCisgICAgIyBjbGVhbiB1cCB0aGUgdGVtcG9yYXJ5IG1ha2VmaWxlCisgICAgcm0gJHttYWtlZmlsZX0KK30KKwordmFsaWRhdGVfYWVzX2NvbmZpZ192YXJpYXRpb25zICgpIHsKKyAgICBpZiBbWyAiJDEiID09ICoiTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkiKiBdXTsgdGhlbgorICAgICAgICBpZiBbWyAiJDEiID09ICoiTUJFRFRMU19QQURMT0NLX0MiKiBdXTsgdGhlbgorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgZmkKKyAgICAgICAgaWYgW1sgISgoIiRIT1NUVFlQRSIgPT0gImFhcmNoNjQiICYmICIkMSIgIT0gKiJNQkVEVExTX0FFU0NFX0MiKikgfHwgXAorICAgICAgICAgICAgICAgICgiJEhPU1RUWVBFIiA9PSAieDg2XzY0IiAgJiYgIiQxIiAhPSAqIk1CRURUTFNfQUVTTklfQyIqKSkgXV07IHRoZW4KKyAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIGZpCisgICAgZmkKKyAgICByZXR1cm4gMAorfQorCitjb21wb25lbnRfYnVpbGRfYWVzX3ZhcmlhdGlvbnMgKCkgeworICAgICMgMThzIC0gYXJvdW5kIDkwbXMgcGVyIGNsYW5nIGludm9jYXRpb24gb24gTTEgUHJvCisgICAgIworICAgICMgYWVzLm8gaGFzIG1hbnkgI2lmIGRlZmluZWQoLi4uKSBndWFyZHMgdGhhdCBpbnRlcnNlY3QgaW4gY29tcGxleCB3YXlzLgorICAgICMgVGVzdCB0aGF0IGFsbCB0aGUgY29tYmluYXRpb25zIGJ1aWxkIGNsZWFubHkuCisKKyAgICBNQkVEVExTX1JPT1RfRElSPSIkUFdEIgorICAgIG1zZyAiYnVpbGQ6IGFlcy5vIGZvciBhbGwgY29tYmluYXRpb25zIG9mIHJlbGV2YW50IGNvbmZpZyBvcHRpb25zIgorCisgICAgYnVpbGRfdGVzdF9jb25maWdfY29tYm9zIGxpYnJhcnkvYWVzLm8gdmFsaWRhdGVfYWVzX2NvbmZpZ192YXJpYXRpb25zIFwKKyAgICAgICAgIk1CRURUTFNfQUVTX1NFVEtFWV9FTkNfQUxUIiAiTUJFRFRMU19BRVNfREVDUllQVF9BTFQiIFwKKyAgICAgICAgIk1CRURUTFNfQUVTX1JPTV9UQUJMRVMiICJNQkVEVExTX0FFU19FTkNSWVBUX0FMVCIgIk1CRURUTFNfQUVTX1NFVEtFWV9ERUNfQUxUIiBcCisgICAgICAgICJNQkVEVExTX0FFU19GRVdFUl9UQUJMRVMiICJNQkVEVExTX1BBRExPQ0tfQyIgIk1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZIiBcCisgICAgICAgICJNQkVEVExTX0FFU05JX0MiICJNQkVEVExTX0FFU0NFX0MiICJNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSCIKKworICAgIGNkICIkTUJFRFRMU19ST09UX0RJUiIKKyAgICBtc2cgImJ1aWxkOiBhZXMubyBmb3IgYWxsIGNvbWJpbmF0aW9ucyBvZiByZWxldmFudCBjb25maWcgb3B0aW9ucyArIEJMT0NLX0NJUEhFUl9OT19ERUNSWVBUIgorCisgICAgIyBNQkVEVExTX0JMT0NLX0NJUEhFUl9OT19ERUNSWVBUIGlzIGluY29tcGF0aWJsZSB3aXRoIEVDQiBpbiBQU0EsIENCQy9YVFMvTklTVF9LVy9ERVMsCisgICAgIyBtYW51YWxseSBzZXQgb3IgdW5zZXQgdGhvc2UgY29uZmlndXJhdGlvbnMgdG8gY2hlY2sKKyAgICAjIE1CRURUTFNfQkxPQ0tfQ0lQSEVSX05PX0RFQ1JZUFQgd2l0aCB2YXJpb3VzIGNvbWJpbmF0aW9ucyBpbiBhZXMuby4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19CTE9DS19DSVBIRVJfTk9fREVDUllQVAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9YVFMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFU19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19OSVNUX0tXX0MKKyAgICBidWlsZF90ZXN0X2NvbmZpZ19jb21ib3MgbGlicmFyeS9hZXMubyB2YWxpZGF0ZV9hZXNfY29uZmlnX3ZhcmlhdGlvbnMgXAorICAgICAgICAiTUJFRFRMU19BRVNfU0VUS0VZX0VOQ19BTFQiICJNQkVEVExTX0FFU19ERUNSWVBUX0FMVCIgXAorICAgICAgICAiTUJFRFRMU19BRVNfUk9NX1RBQkxFUyIgIk1CRURUTFNfQUVTX0VOQ1JZUFRfQUxUIiAiTUJFRFRMU19BRVNfU0VUS0VZX0RFQ19BTFQiIFwKKyAgICAgICAgIk1CRURUTFNfQUVTX0ZFV0VSX1RBQkxFUyIgIk1CRURUTFNfUEFETE9DS19DIiAiTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkiIFwKKyAgICAgICAgIk1CRURUTFNfQUVTTklfQyIgIk1CRURUTFNfQUVTQ0VfQyIgIk1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIgorfQorCitjb21wb25lbnRfdGVzdF9zaGEzX3ZhcmlhdGlvbnMgKCkgeworICAgIG1zZyAic2hhMyBsb29wIHVucm9sbCB2YXJpYXRpb25zIgorCisgICAgIyBkZWZpbmUgbWluaW1hbCBjb25maWcgc3VmZmljaWVudCB0byB0ZXN0IFNIQTMKKyAgICBjYXQgPiBpbmNsdWRlL21iZWR0bHMvbWJlZHRsc19jb25maWcuaCA8PCBFTkQKKyAgICAgICAgI2RlZmluZSBNQkVEVExTX1NFTEZfVEVTVAorICAgICAgICAjZGVmaW5lIE1CRURUTFNfU0hBM19DCitFTkQKKworICAgIG1zZyAiYWxsIGxvb3BzIHVucm9sbGVkIgorICAgIG1ha2UgY2xlYW4KKyAgICBtYWtlIC1DIHRlc3RzIHRlc3Rfc3VpdGVfc2hheCBDRkxBR1M9Ii1ETUJFRFRMU19TSEEzX1RIRVRBX1VOUk9MTD0xIC1ETUJFRFRMU19TSEEzX1BJX1VOUk9MTD0xIC1ETUJFRFRMU19TSEEzX0NISV9VTlJPTEw9MSAtRE1CRURUTFNfU0hBM19SSE9fVU5ST0xMPTEiCisgICAgLi90ZXN0cy90ZXN0X3N1aXRlX3NoYXgKKworICAgIG1zZyAiYWxsIGxvb3BzIHJvbGxlZCB1cCIKKyAgICBtYWtlIGNsZWFuCisgICAgbWFrZSAtQyB0ZXN0cyB0ZXN0X3N1aXRlX3NoYXggQ0ZMQUdTPSItRE1CRURUTFNfU0hBM19USEVUQV9VTlJPTEw9MCAtRE1CRURUTFNfU0hBM19QSV9VTlJPTEw9MCAtRE1CRURUTFNfU0hBM19DSElfVU5ST0xMPTAgLURNQkVEVExTX1NIQTNfUkhPX1VOUk9MTD0wIgorICAgIC4vdGVzdHMvdGVzdF9zdWl0ZV9zaGF4Cit9CisKKyMgRm9yIHRpbWViZWluZywgbm8gYWFyY2g2NCBnY2MgYXZhaWxhYmxlIGluIENJIGFuZCBubyBhcm02NCBDSSBub2RlLgorY29tcG9uZW50X2J1aWxkX2Flc19hZXNjZV9hcm1jYyAoKSB7CisgICAgbXNnICJCdWlsZDogQUVTQ0UgdGVzdCBvbiBhcm02NCBwbGF0Zm9ybSB3aXRob3V0IHBsYWluIEMuIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGJhcmVtZXRhbAorCisgICAgIyBhcm1jWzU2XSBkb24ndCBzdXBwb3J0IFNIQS01MTIgaW50cmluc2ljcworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBNTEyX1VTRV9BNjRfQ1JZUFRPX0lGX1BSRVNFTlQKKworICAgICMgU3RvcCBhcm1jbGFuZyB3YXJuaW5nIGFib3V0IGZlYXR1cmUgZGV0ZWN0aW9uIGZvciBBNjRfQ1JZUFRPLgorICAgICMgV2l0aCB0aGlzIGVuYWJsZWQsIHRoZSBsaWJyYXJ5IGRvZXMgYnVpbGQgY29ycmVjdGx5IHVuZGVyIGFybWNsYW5nLAorICAgICMgYnV0IGluIGJhcmVtZXRhbCBidWlsZHMgKGFzIHRlc3RlZCBoZXJlKSwgZmVhdHVyZSBkZXRlY3Rpb24gaXMKKyAgICAjIHVuYXZhaWxhYmxlLCBhbmQgdGhlIHVzZXIgaXMgbm90aWZpZWQgdmlhIGEgI3dhcm5pbmcuIFNvIGVuYWJsaW5nCisgICAgIyB0aGlzIGZlYXR1cmUgd291bGQgcHJldmVudCB1cyBmcm9tIGJ1aWxkaW5nIHdpdGggLVdlcnJvciBvbgorICAgICMgYXJtY2xhbmcuIFRyYWNrZWQgaW4gIzcxOTguCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX0lGX1BSRVNFTlQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19IQVZFX0FTTQorCisgICAgbXNnICJBRVNDRSwgYnVpbGQgd2l0aCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU0NFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQorICAgIGhlbHBlcl9hcm1jNl9idWlsZF90ZXN0ICItTzEgLS10YXJnZXQ9YWFyY2g2NC1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12OC1hK2NyeXB0byIKKworICAgIG1zZyAiQUVTQ0UsIGJ1aWxkIEFFU0NFIG9ubHkiCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTQ0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQorICAgIGhlbHBlcl9hcm1jNl9idWlsZF90ZXN0ICItTzEgLS10YXJnZXQ9YWFyY2g2NC1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12OC1hK2NyeXB0byIKK30KKworc3VwcG9ydF9idWlsZF9hZXNfYWVzY2VfYXJtY2MgKCkgeworICAgIHN1cHBvcnRfYnVpbGRfYXJtY2MKK30KKworY29tcG9uZW50X3Rlc3RfYWVzX29ubHlfMTI4X2JpdF9rZXlzICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyArIEFFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSCIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQworCisgICAgbWFrZSBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnCisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnICsgQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9ub19jdHJfZHJiZ19hZXNfb25seV8xMjhfYml0X2tleXMgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnICsgQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIC0gQ1RSX0RSQkdfQyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NUUl9EUkJHX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQworCisgICAgbWFrZSBDQz1jbGFuZyBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYScKKworICAgIG1zZyAidGVzdDogZGVmYXVsdCBjb25maWcgKyBBRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEggLSBDVFJfRFJCR19DIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9hZXNfb25seV8xMjhfYml0X2tleXNfaGF2ZV9idWlsdGlucyAoKSB7CisgICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgKyBBRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEggLSBBRVNOSV9DIC0gQUVTQ0VfQyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTQ0VfQworCisgICAgbWFrZSBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnCisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnICsgQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RIIC0gQUVTTklfQyAtIEFFU0NFX0MiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInNlbGZ0ZXN0OiBkZWZhdWx0IGNvbmZpZyArIEFFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSCAtIEFFU05JX0MgLSBBRVNDRV9DIgorICAgIHByb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfZ2NtX2xhcmdldGFibGUgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnICsgR0NNX0xBUkdFX1RBQkxFIC0gQUVTTklfQyAtIEFFU0NFX0MiCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfR0NNX0xBUkdFX1RBQkxFCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QQURMT0NLX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU05JX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU0NFX0MKKworICAgIG1ha2UgQ0ZMQUdTPSctTzIgLVdlcnJvciAtV2FsbCAtV2V4dHJhJworCisgICAgbXNnICJ0ZXN0OiBkZWZhdWx0IGNvbmZpZyAtIEdDTV9MQVJHRV9UQUJMRSAtIEFFU05JX0MgLSBBRVNDRV9DIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9hZXNfZmV3ZXJfdGFibGVzICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIEFFU19GRVdFUl9UQUJMRVMgZW5hYmxlZCIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfRkVXRVJfVEFCTEVTCisgICAgbWFrZSBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnCisKKyAgICBtc2cgInRlc3Q6IEFFU19GRVdFUl9UQUJMRVMiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X2Flc19yb21fdGFibGVzICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIEFFU19ST01fVEFCTEVTIGVuYWJsZWQiCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTX1JPTV9UQUJMRVMKKyAgICBtYWtlIENGTEFHUz0nLU8yIC1XZXJyb3IgLVdhbGwgLVdleHRyYScKKworICAgIG1zZyAidGVzdDogQUVTX1JPTV9UQUJMRVMiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X2Flc19mZXdlcl90YWJsZXNfYW5kX3JvbV90YWJsZXMgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGggQUVTX1JPTV9UQUJMRVMgYW5kIEFFU19GRVdFUl9UQUJMRVMgZW5hYmxlZCIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfRkVXRVJfVEFCTEVTCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTX1JPTV9UQUJMRVMKKyAgICBtYWtlIENGTEFHUz0nLU8yIC1XZXJyb3IgLVdhbGwgLVdleHRyYScKKworICAgIG1zZyAidGVzdDogQUVTX0ZFV0VSX1RBQkxFUyArIEFFU19ST01fVEFCTEVTIgorICAgIG1ha2UgdGVzdAorfQorCisjIGhlbHBlciBmb3IgY29tbW9uX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0KCkgd2hpY2g6CisjIC0gZW5hYmxlL2Rpc2FibGUgdGhlIGxpc3Qgb2YgY29uZmlnIG9wdGlvbnMgcGFzc2VkIGZyb20gLXMvLXUgcmVzcGVjdGl2ZWx5LgorIyAtIGJ1aWxkCisjIC0gdGVzdCBmb3IgdGVzdHNfc3VpdGVfeHh4CisjIC0gc2VsZnRlc3QKKyMKKyMgVXNhZ2U6IGhlbHBlcl9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdF9idWlsZF90ZXN0CisjICAgICAgICBbLXMgc2V0X29wdHNdIFstdSB1bnNldF9vcHRzXSBbLWMgY2ZsYWdzXSBbLWwgbGRmbGFnc10gW29wdGlvbiBbLi4uXV0KKyMgT3B0aW9uczogIC1zIHNldF9vcHRzICAgICB0aGUgbGlzdCBvZiBjb25maWcgb3B0aW9ucyB0byBlbmFibGUKKyMgICAgICAgICAgIC11IHVuc2V0X29wdHMgICB0aGUgbGlzdCBvZiBjb25maWcgb3B0aW9ucyB0byBkaXNhYmxlCisjICAgICAgICAgICAtYyBjZmxhZ3MgICAgICAgdGhlIGxpc3Qgb2Ygb3B0aW9ucyBwYXNzZWQgdG8gQ0ZMQUdTCisjICAgICAgICAgICAtbCBsZGZsYWdzICAgICAgdGhlIGxpc3Qgb2Ygb3B0aW9ucyBwYXNzZWQgdG8gTERGTEFHUworaGVscGVyX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2J1aWxkX3Rlc3QgKCkgeworICAgIHdoaWxlIFsgJCMgLWd0IDAgXTsgZG8KKyAgICAgICAgY2FzZSAiJDEiIGluCisgICAgICAgICAgICAtcykKKyAgICAgICAgICAgICAgICBzaGlmdDsgbG9jYWwgc2V0X29wdHM9IiQxIjs7CisgICAgICAgICAgICAtdSkKKyAgICAgICAgICAgICAgICBzaGlmdDsgbG9jYWwgdW5zZXRfb3B0cz0iJDEiOzsKKyAgICAgICAgICAgIC1jKQorICAgICAgICAgICAgICAgIHNoaWZ0OyBsb2NhbCBjZmxhZ3M9Ii1XZXJyb3IgLVdhbGwgLVdleHRyYSAkMSI7OworICAgICAgICAgICAgLWwpCisgICAgICAgICAgICAgICAgc2hpZnQ7IGxvY2FsIGxkZmxhZ3M9IiQxIjs7CisgICAgICAgIGVzYWMKKyAgICAgICAgc2hpZnQKKyAgICBkb25lCisgICAgc2V0X29wdHM9IiR7c2V0X29wdHM6LX0iCisgICAgdW5zZXRfb3B0cz0iJHt1bnNldF9vcHRzOi19IgorICAgIGNmbGFncz0iJHtjZmxhZ3M6LX0iCisgICAgbGRmbGFncz0iJHtsZGZsYWdzOi19IgorCisgICAgWyAtbiAiJHNldF9vcHRzIiBdICYmIGVjaG8gIkVuYWJsaW5nOiAkc2V0X29wdHMiICYmIHNjcmlwdHMvY29uZmlnLnB5IHNldC1hbGwgJHNldF9vcHRzCisgICAgWyAtbiAiJHVuc2V0X29wdHMiIF0gJiYgZWNobyAiRGlzYWJsaW5nOiAkdW5zZXRfb3B0cyIgJiYgc2NyaXB0cy9jb25maWcucHkgdW5zZXQtYWxsICR1bnNldF9vcHRzCisKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyArIEJMT0NLX0NJUEhFUl9OT19ERUNSWVBUJHtzZXRfb3B0czorICsgJHNldF9vcHRzfSR7dW5zZXRfb3B0czorIC0gJHVuc2V0X29wdHN9IHdpdGggJGNmbGFncyR7bGRmbGFnczorLCAkbGRmbGFnc30iCisgICAgbWFrZSBjbGVhbgorICAgIG1ha2UgQ0ZMQUdTPSItTzIgJGNmbGFncyIgTERGTEFHUz0iJGxkZmxhZ3MiCisKKyAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIG1iZWR0bHNfeHh4X3NldGtleV9kZWMgaW4gQUVTL0FSSUEvQ0FNRUxMSUEKKyAgICBub3QgZ3JlcCBtYmVkdGxzX2Flc19zZXRrZXlfZGVjIGxpYnJhcnkvYWVzLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2FyaWFfc2V0a2V5X2RlYyBsaWJyYXJ5L2FyaWEubworICAgIG5vdCBncmVwIG1iZWR0bHNfY2FtZWxsaWFfc2V0a2V5X2RlYyBsaWJyYXJ5L2NhbWVsbGlhLm8KKyAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIG1iZWR0bHNfaW50ZXJuYWxfYWVzX2RlY3J5cHQgaW4gQUVTCisgICAgbm90IGdyZXAgbWJlZHRsc19pbnRlcm5hbF9hZXNfZGVjcnlwdCBsaWJyYXJ5L2Flcy5vCisgICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSBtYmVkdGxzX2Flc25pX2ludmVyc2Vfa2V5IGluIEFFU05JCisgICAgbm90IGdyZXAgbWJlZHRsc19hZXNuaV9pbnZlcnNlX2tleSBsaWJyYXJ5L2Flc25pLm8KKworICAgIG1zZyAidGVzdDogZGVmYXVsdCBjb25maWcgKyBCTE9DS19DSVBIRVJfTk9fREVDUllQVCR7c2V0X29wdHM6KyArICRzZXRfb3B0c30ke3Vuc2V0X29wdHM6KyAtICR1bnNldF9vcHRzfSB3aXRoICRjZmxhZ3Mke2xkZmxhZ3M6KywgJGxkZmxhZ3N9IgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzZWxmdGVzdDogZGVmYXVsdCBjb25maWcgKyBCTE9DS19DSVBIRVJfTk9fREVDUllQVCR7c2V0X29wdHM6KyArICRzZXRfb3B0c30ke3Vuc2V0X29wdHM6KyAtICR1bnNldF9vcHRzfSB3aXRoICRjZmxhZ3Mke2xkZmxhZ3M6KywgJGxkZmxhZ3N9IgorICAgIHByb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKK30KKworIyBUaGlzIGlzIGEgY29tbW9uIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb24gdXNlZCBpbjoKKyMgLSBjb21wb25lbnRfdGVzdF9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdF9hZXNuaV9sZWdhY3koKQorIyAtIGNvbXBvbmVudF90ZXN0X2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2Flc25pX3VzZV9wc2EoKQorIyBpbiBvcmRlciB0byB0ZXN0IEJMT0NLX0NJUEhFUl9OT19ERUNSWVBUIHdpdGggQUVTTkkgaW50cmluc2ljcywKKyMgQUVTTkkgYXNzZW1ibHkgYW5kIEFFUyBDIGltcGxlbWVudGF0aW9uIG9uIHg4Nl82NCBhbmQgd2l0aCBBRVNOSSBpbnRyaW5zaWNzCisjIG9uIHg4Ni4KK2NvbW1vbl9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdCAoKSB7CisgICAgIyB0ZXN0IEFFU05JIGludHJpbnNpY3MKKyAgICBoZWxwZXJfYmxvY2tfY2lwaGVyX25vX2RlY3J5cHRfYnVpbGRfdGVzdCBcCisgICAgICAgIC1zICJNQkVEVExTX0FFU05JX0MiIFwKKyAgICAgICAgLWMgIi1tcGNsbXVsIC1tc3NlMiAtbWFlcyIKKworICAgICMgdGVzdCBBRVNOSSBhc3NlbWJseQorICAgIGhlbHBlcl9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdF9idWlsZF90ZXN0IFwKKyAgICAgICAgLXMgIk1CRURUTFNfQUVTTklfQyIgXAorICAgICAgICAtYyAiLW1uby1wY2xtdWwgLW1uby1zc2UyIC1tbm8tYWVzIgorCisgICAgIyB0ZXN0IEFFUyBDIGltcGxlbWVudGF0aW9uCisgICAgaGVscGVyX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2J1aWxkX3Rlc3QgXAorICAgICAgICAtdSAiTUJFRFRMU19BRVNOSV9DIgorCisgICAgIyB0ZXN0IEFFU05JIGludHJpbnNpY3MgZm9yIGkzODYgdGFyZ2V0CisgICAgaGVscGVyX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2J1aWxkX3Rlc3QgXAorICAgICAgICAtcyAiTUJFRFRMU19BRVNOSV9DIiBcCisgICAgICAgIC1jICItbTMyIC1tcGNsbXVsIC1tc3NlMiAtbWFlcyIgXAorICAgICAgICAtbCAiLW0zMiIKK30KKworIyBUaGlzIGlzIGEgY29uZmlndXJhdGlvbiBmdW5jdGlvbiB1c2VkIGluIGNvbXBvbmVudF90ZXN0X2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X3h4eDoKKyMgdXNhZ2U6IDA6IG5vIFBTQSBjcnlwdG8gY29uZmlndXJhdGlvbgorIyAgICAgICAgMTogdXNlIFBTQSBjcnlwdG8gY29uZmlndXJhdGlvbgorY29uZmlnX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0ICgpIHsKKyAgICB1c2VfcHNhPSQxCisKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19CTE9DS19DSVBIRVJfTk9fREVDUllQVAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9YVFMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFU19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19OSVNUX0tXX0MKKworICAgIGlmIFsgIiR1c2VfcHNhIiAtZXEgMSBdOyB0aGVuCisgICAgICAgICMgRW5hYmxlIHN1cHBvcnQgZm9yIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyB0aHJvdWdoIHRoZSBQU0EgQVBJLgorICAgICAgICAjIE5vdGU6IFhUUywgS1cgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkIHZpYSB0aGUgUFNBIEFQSSBpbiBNYmVkIFRMUy4KKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcKKyAgICAgICAgc2NyaXB0cy9jb25maWcucHkgLWYgIiRDUllQVE9fQ09ORklHX0giIHVuc2V0IFBTQV9XQU5UX0FMR19DQkNfTk9fUEFERElORworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0NCQ19QS0NTNworICAgICAgICBzY3JpcHRzL2NvbmZpZy5weSAtZiAiJENSWVBUT19DT05GSUdfSCIgdW5zZXQgUFNBX1dBTlRfQUxHX0VDQl9OT19QQURESU5HCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IC1mICIkQ1JZUFRPX0NPTkZJR19IIiB1bnNldCBQU0FfV0FOVF9LRVlfVFlQRV9ERVMKKyAgICBmaQorfQorCitjb21wb25lbnRfdGVzdF9ibG9ja19jaXBoZXJfbm9fZGVjcnlwdF9hZXNuaSAoKSB7CisgICAgIyBUaGlzIGNvbnNpc3RlbnRseSBjYXVzZXMgYW4gbGx2bSBjcmFzaCBvbiBjbGFuZyAzLjgsIHNvIHVzZSBnY2MKKyAgICBleHBvcnQgQ0M9Z2NjCisgICAgY29uZmlnX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0IDAKKyAgICBjb21tb25fYmxvY2tfY2lwaGVyX25vX2RlY3J5cHQKK30KKworY29tcG9uZW50X3Rlc3RfYmxvY2tfY2lwaGVyX25vX2RlY3J5cHRfYWVzbmlfdXNlX3BzYSAoKSB7CisgICAgIyBUaGlzIGNvbnNpc3RlbnRseSBjYXVzZXMgYW4gbGx2bSBjcmFzaCBvbiBjbGFuZyAzLjgsIHNvIHVzZSBnY2MKKyAgICBleHBvcnQgQ0M9Z2NjCisgICAgY29uZmlnX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0IDEKKyAgICBjb21tb25fYmxvY2tfY2lwaGVyX25vX2RlY3J5cHQKK30KKworc3VwcG9ydF90ZXN0X2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2Flc2NlX2FybWNjICgpIHsKKyAgICBzdXBwb3J0X2J1aWxkX2FybWNjCit9CisKK2NvbXBvbmVudF90ZXN0X2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0X2Flc2NlX2FybWNjICgpIHsKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBiYXJlbWV0YWwKKworICAgICMgYXJtY1s1Nl0gZG9uJ3Qgc3VwcG9ydCBTSEEtNTEyIGludHJpbnNpY3MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTUxMl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UCisKKyAgICAjIFN0b3AgYXJtY2xhbmcgd2FybmluZyBhYm91dCBmZWF0dXJlIGRldGVjdGlvbiBmb3IgQTY0X0NSWVBUTy4KKyAgICAjIFdpdGggdGhpcyBlbmFibGVkLCB0aGUgbGlicmFyeSBkb2VzIGJ1aWxkIGNvcnJlY3RseSB1bmRlciBhcm1jbGFuZywKKyAgICAjIGJ1dCBpbiBiYXJlbWV0YWwgYnVpbGRzIChhcyB0ZXN0ZWQgaGVyZSksIGZlYXR1cmUgZGV0ZWN0aW9uIGlzCisgICAgIyB1bmF2YWlsYWJsZSwgYW5kIHRoZSB1c2VyIGlzIG5vdGlmaWVkIHZpYSBhICN3YXJuaW5nLiBTbyBlbmFibGluZworICAgICMgdGhpcyBmZWF0dXJlIHdvdWxkIHByZXZlbnQgdXMgZnJvbSBidWlsZGluZyB3aXRoIC1XZXJyb3Igb24KKyAgICAjIGFybWNsYW5nLiBUcmFja2VkIGluICM3MTk4LgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BNjRfQ1JZUFRPX0lGX1BSRVNFTlQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19IQVZFX0FTTQorCisgICAgY29uZmlnX2Jsb2NrX2NpcGhlcl9ub19kZWNyeXB0IDEKKworICAgICMgdGVzdCBBRVNDRSBiYXJlbWV0YWwgYnVpbGQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNDRV9DCisgICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgKyBCTE9DS19DSVBIRVJfTk9fREVDUllQVCB3aXRoIEFFU0NFIgorICAgIGhlbHBlcl9hcm1jNl9idWlsZF90ZXN0ICItTzEgLS10YXJnZXQ9YWFyY2g2NC1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12OC1hK2NyeXB0byAtV2Vycm9yIC1XYWxsIC1XZXh0cmEiCisKKyAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIG1iZWR0bHNfeHh4X3NldGtleV9kZWMgaW4gQUVTL0FSSUEvQ0FNRUxMSUEKKyAgICBub3QgZ3JlcCBtYmVkdGxzX2Flc19zZXRrZXlfZGVjIGxpYnJhcnkvYWVzLm8KKyAgICBub3QgZ3JlcCBtYmVkdGxzX2FyaWFfc2V0a2V5X2RlYyBsaWJyYXJ5L2FyaWEubworICAgIG5vdCBncmVwIG1iZWR0bHNfY2FtZWxsaWFfc2V0a2V5X2RlYyBsaWJyYXJ5L2NhbWVsbGlhLm8KKyAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIG1iZWR0bHNfaW50ZXJuYWxfYWVzX2RlY3J5cHQgaW4gQUVTCisgICAgbm90IGdyZXAgbWJlZHRsc19pbnRlcm5hbF9hZXNfZGVjcnlwdCBsaWJyYXJ5L2Flcy5vCisgICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSBtYmVkdGxzX2Flc2NlX2ludmVyc2Vfa2V5IGFuZCBhZXNjZV9kZWNyeXB0X2Jsb2NrIGluIEFFU0NFCisgICAgbm90IGdyZXAgbWJlZHRsc19hZXNjZV9pbnZlcnNlX2tleSBsaWJyYXJ5L2Flc2NlLm8KKyAgICBub3QgZ3JlcCBhZXNjZV9kZWNyeXB0X2Jsb2NrIGxpYnJhcnkvYWVzY2UubworfQorCitjb21wb25lbnRfdGVzdF9jdHJfZHJiZ19hZXNfMjU2X3NoYV8yNTYgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBNQkVEVExTX0VOVFJPUFlfRk9SQ0VfU0hBMjU2IChBU2FuIGJ1aWxkKSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19FTlRST1BZX0ZPUkNFX1NIQTI1NgorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogZnVsbCArIE1CRURUTFNfRU5UUk9QWV9GT1JDRV9TSEEyNTYgKEFTYW4gYnVpbGQpIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9jdHJfZHJiZ19hZXNfMTI4X3NoYV81MTIgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBNQkVEVExTX0NUUl9EUkJHX1VTRV8xMjhfQklUX0tFWSAoQVNhbiBidWlsZCkiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTUVNT1JZX0JVRkZFUl9BTExPQ19DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQ1RSX0RSQkdfVVNFXzEyOF9CSVRfS0VZCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBmdWxsICsgTUJFRFRMU19DVFJfRFJCR19VU0VfMTI4X0JJVF9LRVkgKEFTYW4gYnVpbGQpIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9jdHJfZHJiZ19hZXNfMTI4X3NoYV8yNTYgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyBNQkVEVExTX0NUUl9EUkJHX1VTRV8xMjhfQklUX0tFWSArIE1CRURUTFNfRU5UUk9QWV9GT1JDRV9TSEEyNTYgKEFTYW4gYnVpbGQpIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0NUUl9EUkJHX1VTRV8xMjhfQklUX0tFWQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VOVFJPUFlfRk9SQ0VfU0hBMjU2CisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBmdWxsICsgTUJFRFRMU19DVFJfRFJCR19VU0VfMTI4X0JJVF9LRVkgKyBNQkVEVExTX0VOVFJPUFlfRk9SQ0VfU0hBMjU2IChBU2FuIGJ1aWxkKSIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3Rfc2VfZGVmYXVsdCAoKSB7CisgICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgKyBNQkVEVExTX1BTQV9DUllQVE9fU0VfQyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MKKyAgICBtYWtlIENDPWNsYW5nIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1PcyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBkZWZhdWx0IGNvbmZpZyArIE1CRURUTFNfUFNBX0NSWVBUT19TRV9DIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9mdWxsX3N0YXRpY19rZXlzdG9yZSAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgLSBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMKKyAgICBtYWtlIENDPWNsYW5nIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1PcyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBmdWxsIGNvbmZpZyAtIE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9wc2FfY3J5cHRvX2RyaXZlcnMgKCkgeworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgKyB0ZXN0IGRyaXZlcnMgZGlzcGF0Y2hpbmcgdG8gYnVpbHRpbnMiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUcKKyAgICBsb2NfY2ZsYWdzPSIkQVNBTl9DRkxBR1MgLURQU0FfQ1JZUFRPX0RSSVZFUl9URVNUX0FMTCIKKyAgICBsb2NfY2ZsYWdzPSIke2xvY19jZmxhZ3N9ICctRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdXNlci1jb25maWctZm9yLXRlc3QuaFwiJyIKKyAgICBsb2NfY2ZsYWdzPSIke2xvY19jZmxhZ3N9IC1JLi4vdGVzdHMvaW5jbHVkZSAtTzIiCisKKyAgICBtYWtlIENDPSRBU0FOX0NDIENGTEFHUz0iJHtsb2NfY2ZsYWdzfSIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBmdWxsICsgdGVzdCBkcml2ZXJzIGRpc3BhdGNoaW5nIHRvIGJ1aWx0aW5zIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfYnVpbGRfcHNhX2NvbmZpZ19maWxlICgpIHsKKyAgICBtc2cgImJ1aWxkOiBtYWtlIHdpdGggTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJR19GSUxFIiAjIH40MHMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJRworICAgIGNwICIkQ1JZUFRPX0NPTkZJR19IIiBwc2FfdGVzdF9jb25maWcuaAorICAgIGVjaG8gJyNlcnJvciAiTUJFRFRMU19QU0FfQ1JZUFRPX0NPTkZJR19GSUxFIGlzIG5vdCB3b3JraW5nIicgPiIkQ1JZUFRPX0NPTkZJR19IIgorICAgIG1ha2UgQ0ZMQUdTPSItSSAnJFBXRCcgLURNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHX0ZJTEU9J1wicHNhX3Rlc3RfY29uZmlnLmhcIiciCisgICAgIyBNYWtlIHN1cmUgdGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQuIFdlJ2xsIGRpc2FibGUgaXQgaW4gdGhlIG5leHQgcGhhc2UuCisgICAgcHJvZ3JhbXMvdGVzdC9xdWVyeV9jb21waWxlX3RpbWVfY29uZmlnIE1CRURUTFNfQ01BQ19DCisgICAgbWFrZSBjbGVhbgorCisgICAgbXNnICJidWlsZDogbWFrZSB3aXRoIE1CRURUTFNfUFNBX0NSWVBUT19DT05GSUdfRklMRSArIE1CRURUTFNfUFNBX0NSWVBUT19VU0VSX0NPTkZJR19GSUxFIiAjIH40MHMKKyAgICAjIEluIHRoZSB1c2VyIGNvbmZpZywgZGlzYWJsZSBvbmUgZmVhdHVyZSBhbmQgaXRzIGRlcGVuZGVuY2llcywgd2hpY2ggd2lsbAorICAgICMgcmVmbGVjdCBvbiB0aGUgbWJlZHRscyBjb25maWd1cmF0aW9uIHNvIHdlIGNhbiBxdWVyeSBpdCB3aXRoCisgICAgIyBxdWVyeV9jb21waWxlX3RpbWVfY29uZmlnLgorICAgIGVjaG8gJyN1bmRlZiBQU0FfV0FOVF9BTEdfQ01BQycgPnBzYV91c2VyX2NvbmZpZy5oCisgICAgZWNobyAnI3VuZGVmIFBTQV9XQU5UX0FMR19QQktERjJfQUVTX0NNQUNfUFJGXzEyOCcgPj4gcHNhX3VzZXJfY29uZmlnLmgKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NNQUNfQworICAgIG1ha2UgQ0ZMQUdTPSItSSAnJFBXRCcgLURNQkVEVExTX1BTQV9DUllQVE9fQ09ORklHX0ZJTEU9J1wicHNhX3Rlc3RfY29uZmlnLmhcIicgLURNQkVEVExTX1BTQV9DUllQVE9fVVNFUl9DT05GSUdfRklMRT0nXCJwc2FfdXNlcl9jb25maWcuaFwiJyIKKyAgICBub3QgcHJvZ3JhbXMvdGVzdC9xdWVyeV9jb21waWxlX3RpbWVfY29uZmlnIE1CRURUTFNfQ01BQ19DCisKKyAgICBybSAtZiBwc2FfdGVzdF9jb25maWcuaCBwc2FfdXNlcl9jb25maWcuaAorfQorCitjb21wb25lbnRfYnVpbGRfcHNhX2FsdF9oZWFkZXJzICgpIHsKKyAgICBtc2cgImJ1aWxkOiBtYWtlIHdpdGggUFNBIGFsdCBoZWFkZXJzIiAjIH4yMHMKKworICAgICMgR2VuZXJhdGUgYWx0ZXJuYXRpdmUgdmVyc2lvbnMgb2YgdGhlIHN1YnN0aXR1dGFibGUgaGVhZGVycyB3aXRoIHRoZQorICAgICMgc2FtZSBjb250ZW50IGV4Y2VwdCBkaWZmZXJlbnQgaW5jbHVkZSBndWFyZHMuCisgICAgbWFrZSAtQyB0ZXN0cyBpbmNsdWRlL2FsdC1leHRyYS9wc2EvY3J5cHRvX3BsYXRmb3JtX2FsdC5oIGluY2x1ZGUvYWx0LWV4dHJhL3BzYS9jcnlwdG9fc3RydWN0X2FsdC5oCisKKyAgICAjIEJ1aWxkIHRoZSBsaWJyYXJ5IGFuZCBzb21lIHByb2dyYW1zLgorICAgICMgRG9uJ3QgYnVpbGQgdGhlIGZ1enplcnMgdG8gYXZvaWQgaGF2aW5nIHRvIGdvIHRocm91Z2ggaG9vcHMgdG8gc2V0CisgICAgIyBhIGNvcnJlY3QgaW5jbHVkZSBwYXRoIGZvciBwcm9ncmFtcy9mdXp6L01ha2VmaWxlLgorICAgIG1ha2UgQ0ZMQUdTPSItSSAuLi90ZXN0cy9pbmNsdWRlL2FsdC1leHRyYSAtRE1CRURUTFNfUFNBX0NSWVBUT19QTEFURk9STV9GSUxFPSdcInBzYS9jcnlwdG9fcGxhdGZvcm1fYWx0LmhcIicgLURNQkVEVExTX1BTQV9DUllQVE9fU1RSVUNUX0ZJTEU9J1wicHNhL2NyeXB0b19zdHJ1Y3RfYWx0LmhcIiciIGxpYgorICAgIG1ha2UgLUMgcHJvZ3JhbXMgLW8gZnV6eiBDRkxBR1M9Ii1JIC4uL3Rlc3RzL2luY2x1ZGUvYWx0LWV4dHJhIC1ETUJFRFRMU19QU0FfQ1JZUFRPX1BMQVRGT1JNX0ZJTEU9J1wicHNhL2NyeXB0b19wbGF0Zm9ybV9hbHQuaFwiJyAtRE1CRURUTFNfUFNBX0NSWVBUT19TVFJVQ1RfRklMRT0nXCJwc2EvY3J5cHRvX3N0cnVjdF9hbHQuaFwiJyIKKworICAgICMgQ2hlY2sgdGhhdCB3ZSdyZSBnZXR0aW5nIHRoZSBhbHRlcm5hdGl2ZSBpbmNsdWRlIGd1YXJkcyBhbmQgbm90IHRoZQorICAgICMgb3JpZ2luYWwgaW5jbHVkZSBndWFyZHMuCisgICAgcHJvZ3JhbXMvdGVzdC9xdWVyeV9pbmNsdWRlZF9oZWFkZXJzIHwgZ3JlcCAteCBQU0FfQ1JZUFRPX1BMQVRGT1JNX0FMVF9ICisgICAgcHJvZ3JhbXMvdGVzdC9xdWVyeV9pbmNsdWRlZF9oZWFkZXJzIHwgZ3JlcCAteCBQU0FfQ1JZUFRPX1NUUlVDVF9BTFRfSAorICAgIHByb2dyYW1zL3Rlc3QvcXVlcnlfaW5jbHVkZWRfaGVhZGVycyB8IG5vdCBncmVwIC14IFBTQV9DUllQVE9fUExBVEZPUk1fSAorICAgIHByb2dyYW1zL3Rlc3QvcXVlcnlfaW5jbHVkZWRfaGVhZGVycyB8IG5vdCBncmVwIC14IFBTQV9DUllQVE9fU1RSVUNUX0gKK30KKworY29tcG9uZW50X3Rlc3RfbWluX21waV93aW5kb3dfc2l6ZSAoKSB7CisgICAgbXNnICJidWlsZDogRGVmYXVsdCArIE1CRURUTFNfTVBJX1dJTkRPV19TSVpFPTEgKEFTYW4gYnVpbGQpIiAjIH4gMTBzCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTVBJX1dJTkRPV19TSVpFIDEKKyAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IE1CRURUTFNfTVBJX1dJTkRPV19TSVpFPTEgLSBtYWluIHN1aXRlcyAoaW5jLiBzZWxmdGVzdHMpIChBU2FuIGJ1aWxkKSIgIyB+IDEwcworICAgIG1ha2UgdGVzdAorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLWNvbmZpZ3VyYXRpb24tcGxhdGZvcm0uc2ggYi90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtY29uZmlndXJhdGlvbi1wbGF0Zm9ybS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjk2NjM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLWNvbmZpZ3VyYXRpb24tcGxhdGZvcm0uc2gKQEAgLTAsMCArMSwxMTEgQEAKKyMgY29tcG9uZW50cy1jb25maWd1cmF0aW9uLXBsYXRmb3JtLnNoCisjCisjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKworIyBUaGlzIGZpbGUgY29udGFpbnMgdGVzdCBjb21wb25lbnRzIHRoYXQgYXJlIGV4ZWN1dGVkIGJ5IGFsbC5zaAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIENvbmZpZ3VyYXRpb24gVGVzdGluZyAtIFBsYXRmb3JtCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2NvbXBvbmVudF9idWlsZF9ub19zdGRfZnVuY3Rpb24gKCkgeworICAgICMgY2F0Y2ggY29tcGlsZSBidWdzIGluIF91bmluaXQgZnVuY3Rpb25zCisgICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgd2l0aCBOT19TVERfRlVOQ1RJT04sIG1ha2UsIGdjYyIgIyB+IDMwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QTEFURk9STV9OT19TVERfRlVOQ1RJT05TCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FTlRST1BZX05WX1NFRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BMQVRGT1JNX05WX1NFRURfQUxUCisgICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUNoZWNrIC4KKyAgICBtYWtlCit9CisKK2NvbXBvbmVudF9idWlsZF9ub19zb2NrZXRzICgpIHsKKyAgICAjIE5vdGUsIEM5OSBjb21wbGlhbmNlIGNhbiBhbHNvIGJlIHRlc3RlZCB3aXRoIHRoZSBzb2NrZXRzIHN1cHBvcnQgZGlzYWJsZWQsCisgICAgIyBhcyB0aGF0IHJlcXVpcmVzIGEgUE9TSVggcGxhdGZvcm0gKHdoaWNoIGlzbid0IHRoZSBzYW1lIGFzIEM5OSkuCisgICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgZXhjZXB0IG5ldF9zb2NrZXRzLmMsIG1ha2UsIGdjYyAtc3RkPWM5OSAtcGVkYW50aWMiICMgfiAzMHMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ORVRfQyAjIGdldGFkZHJpbmZvKCkgdW5kZWNsYXJlZCwgZXRjLgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX05PX1BMQVRGT1JNX0VOVFJPUFkgIyB1c2VzIHN5c2NhbGwoKSBvbiBHTlUvTGludXgKKyAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtTzEgLXN0ZD1jOTkgLXBlZGFudGljJyBsaWIKK30KKworY29tcG9uZW50X3Rlc3Rfbm9fZGF0ZV90aW1lICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRob3V0IE1CRURUTFNfSEFWRV9USU1FX0RBVEUiCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19IQVZFX1RJTUVfREFURQorICAgIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUNoZWNrIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6ICFNQkVEVExTX0hBVkVfVElNRV9EQVRFIC0gbWFpbiBzdWl0ZXMiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X3BsYXRmb3JtX2NhbGxvY19tYWNybyAoKSB7CisgICAgbXNnICJidWlsZDogTUJFRFRMU19QTEFURk9STV97Q0FMTE9DL0ZSRUV9X01BQ1JPIGVuYWJsZWQgKEFTYW4gYnVpbGQpIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BMQVRGT1JNX01FTU9SWQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BMQVRGT1JNX0NBTExPQ19NQUNSTyBjYWxsb2MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QTEFURk9STV9GUkVFX01BQ1JPICAgZnJlZQorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogTUJFRFRMU19QTEFURk9STV97Q0FMTE9DL0ZSRUV9X01BQ1JPIGVuYWJsZWQgKEFTYW4gYnVpbGQpIgorICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9oYXZlX2ludDMyICgpIHsKKyAgICBtc2cgImJ1aWxkOiBnY2MsIGZvcmNlIDMyLWJpdCBiaWdudW0gbGltYnMiCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19IQVZFX0FTTQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEFETE9DS19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNDRV9DCisgICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSctTzIgLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1ETUJFRFRMU19IQVZFX0lOVDMyJworCisgICAgbXNnICJ0ZXN0OiBnY2MsIGZvcmNlIDMyLWJpdCBiaWdudW0gbGltYnMiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X2hhdmVfaW50NjQgKCkgeworICAgIG1zZyAiYnVpbGQ6IGdjYywgZm9yY2UgNjQtYml0IGJpZ251bSBsaW1icyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hBVkVfQVNNCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QQURMT0NLX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU0NFX0MKKyAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLURNQkVEVExTX0hBVkVfSU5UNjQnCisKKyAgICBtc2cgInRlc3Q6IGdjYywgZm9yY2UgNjQtYml0IGJpZ251bSBsaW1icyIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfaGF2ZV9pbnQzMl9jbWFrZV9uZXdfYmlnbnVtICgpIHsKKyAgICBtc2cgImJ1aWxkOiBnY2MsIGZvcmNlIDMyLWJpdCBiaWdudW0gbGltYnMsIG5ldyBiaWdudW0gaW50ZXJmYWNlLCB0ZXN0IGhvb2tzIChBU2FuIGJ1aWxkKSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hBVkVfQVNNCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QQURMT0NLX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU0NFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19URVNUX0hPT0tTCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRUNQX1dJVEhfTVBJX1VJTlQKKyAgICBtYWtlIENDPWdjYyBDRkxBR1M9IiRBU0FOX0NGTEFHUyAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLURNQkVEVExTX0hBVkVfSU5UMzIiIExERkxBR1M9IiRBU0FOX0NGTEFHUyIKKworICAgIG1zZyAidGVzdDogZ2NjLCBmb3JjZSAzMi1iaXQgYmlnbnVtIGxpbWJzLCBuZXcgYmlnbnVtIGludGVyZmFjZSwgdGVzdCBob29rcyAoQVNhbiBidWlsZCkiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X25vX3VkYmxfZGl2aXNpb24gKCkgeworICAgIG1zZyAiYnVpbGQ6IE1CRURUTFNfTk9fVURCTF9ESVZJU0lPTiBuYXRpdmUiICMgfiAxMHMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTk9fVURCTF9ESVZJU0lPTgorICAgIG1ha2UgQ0ZMQUdTPSctV2Vycm9yIC1PMScKKworICAgIG1zZyAidGVzdDogTUJFRFRMU19OT19VREJMX0RJVklTSU9OIG5hdGl2ZSIgIyB+IDEwcworICAgIG1ha2UgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9ub182NGJpdF9tdWx0aXBsaWNhdGlvbiAoKSB7CisgICAgbXNnICJidWlsZDogTUJFRFRMU19OT182NEJJVF9NVUxUSVBMSUNBVElPTiBuYXRpdmUiICMgfiAxMHMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTk9fNjRCSVRfTVVMVElQTElDQVRJT04KKyAgICBtYWtlIENGTEFHUz0nLVdlcnJvciAtTzEnCisKKyAgICBtc2cgInRlc3Q6IE1CRURUTFNfTk9fNjRCSVRfTVVMVElQTElDQVRJT04gbmF0aXZlIiAjIH4gMTBzCisgICAgbWFrZSB0ZXN0Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtY29uZmlndXJhdGlvbi10bHMuc2ggYi90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtY29uZmlndXJhdGlvbi10bHMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNjOWQ2OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1jb25maWd1cmF0aW9uLXRscy5zaApAQCAtMCwwICsxLDg1MSBAQAorIyBjb21wb25lbnRzLWNvbmZpZ3VyYXRpb24tdGxzLnNoCisjCisjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKworIyBUaGlzIGZpbGUgY29udGFpbnMgdGVzdCBjb21wb25lbnRzIHRoYXQgYXJlIGV4ZWN1dGVkIGJ5IGFsbC5zaAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIENvbmZpZ3VyYXRpb24gVGVzdGluZyAtIFRMUworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitjb21wb25lbnRfdGVzdF9jb25maWdfc3VpdGVfYl9sZWdhY3kgKCkgeworICAgIG1zZyAiYnVpbGQ6IGNvbmZpZ3MvY29uZmlnLXN1aXRlLWIuaCIKKyAgICBjcCBjb25maWdzL2NvbmZpZy1zdWl0ZS1iLmggIiRDT05GSUdfSCIKKyAgICAjIHRlc3QtcmVmLWNvbmZpZ3Mgd29ya3MgYnkgb3ZlcndyaXRpbmcgbWJlZHRsc19jb25maWcuaDsgdGhpcyBtYWtlcyBjbWFrZQorICAgICMgd2FudCB0byByZS1nZW5lcmF0ZSBnZW5lcmF0ZWQgZmlsZXMgdGhhdCBkZXBlbmQgb24gaXQsIHF1aXRlIGNvcnJlY3RseS4KKyAgICAjIEhvd2V2ZXIgdGhpcyBkb2Vzbid0IHdvcmsgYXMgdGhlIGdlbmVyYXRpb24gc2NyaXB0IGV4cGVjdHMgYSBzcGVjaWZpYworICAgICMgZm9ybWF0IGZvciBtYmVkdGxzX2NvbmZpZy5oLCB3aGljaCB0aGUgb3RoZXIgZmlsZXMgZG9uJ3QgZm9sbG93LiBBbHNvLAorICAgICMgY21ha2UgY2FuJ3Qga25vdyB0aGlzLCBidXQgcmUtZ2VuZXJhdGlvbiBpcyBhY3R1YWxseSBub3QgbmVjZXNzYXJ5IGFzCisgICAgIyB0aGUgZ2VuZXJhdGVkIGZpbGVzIG9ubHkgZGVwZW5kIG9uIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zLCBub3QKKyAgICAjIHdoZXRoZXIgdGhleSdyZSBvbiBvciBvZmYuIFNvLCBkaXNhYmxlIGNtYWtlJ3MgKG92ZXItc2Vuc2l0aXZlIGhlcmUpCisgICAgIyBkZXBlbmRlbmN5IHJlc29sdXRpb24gZm9yIGdlbmVyYXRlZCBmaWxlcyBhbmQganVzdCByZWx5IG9uIHRoZW0gYmVpbmcKKyAgICAjIHByZXNlbnQgKHRoYW5rcyB0byBwcmVfZ2VuZXJhdGVfZmlsZXMpIGJ5IHR1cm5pbmcgR0VOX0ZJTEVTIG9mZi4KKyAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBHRU5fRklMRVM9T2ZmIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogY29uZmlncy9jb25maWctc3VpdGUtYi5oIC0gdW5pdCB0ZXN0cyIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogY29uZmlncy9jb25maWctc3VpdGUtYi5oIC0gY29tcGF0LnNoIgorICAgIHRlc3RzL2NvbXBhdC5zaCAtbSB0bHMxMiAtZiAnRUNESEVfRUNEU0EuKkFFUy4qR0NNJyAtcCBtYmVkVExTCisKKyAgICBtc2cgImJ1aWxkOiBjb25maWdzL2NvbmZpZy1zdWl0ZS1iLmggKyBERUJVRyIKKyAgICBNQkVEVExTX1RFU1RfQ09ORklHVVJBVElPTj0iJE1CRURUTFNfVEVTVF9DT05GSUdVUkFUSU9OK0RFQlVHIgorICAgIG1ha2UgY2xlYW4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19ERUJVR19DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRVJST1JfQworICAgIG1ha2Ugc3NsLW9wdAorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1zdWl0ZS1iLmggKyBERUJVRyAtIHNzbC1vcHQuc2giCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitjb21wb25lbnRfdGVzdF9jb25maWdfc3VpdGVfYl9wc2EgKCkgeworICAgIG1zZyAiYnVpbGQ6IGNvbmZpZ3MvY29uZmlnLXN1aXRlLWIuaCArIFVTRV9QU0FfQ1JZUFRPIgorICAgIGNwIGNvbmZpZ3MvY29uZmlnLXN1aXRlLWIuaCAiJENPTkZJR19IIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgIyB0ZXN0LXJlZi1jb25maWdzIHdvcmtzIGJ5IG92ZXJ3cml0aW5nIG1iZWR0bHNfY29uZmlnLmg7IHRoaXMgbWFrZXMgY21ha2UKKyAgICAjIHdhbnQgdG8gcmUtZ2VuZXJhdGUgZ2VuZXJhdGVkIGZpbGVzIHRoYXQgZGVwZW5kIG9uIGl0LCBxdWl0ZSBjb3JyZWN0bHkuCisgICAgIyBIb3dldmVyIHRoaXMgZG9lc24ndCB3b3JrIGFzIHRoZSBnZW5lcmF0aW9uIHNjcmlwdCBleHBlY3RzIGEgc3BlY2lmaWMKKyAgICAjIGZvcm1hdCBmb3IgbWJlZHRsc19jb25maWcuaCwgd2hpY2ggdGhlIG90aGVyIGZpbGVzIGRvbid0IGZvbGxvdy4gQWxzbywKKyAgICAjIGNtYWtlIGNhbid0IGtub3cgdGhpcywgYnV0IHJlLWdlbmVyYXRpb24gaXMgYWN0dWFsbHkgbm90IG5lY2Vzc2FyeSBhcworICAgICMgdGhlIGdlbmVyYXRlZCBmaWxlcyBvbmx5IGRlcGVuZCBvbiB0aGUgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucywgbm90CisgICAgIyB3aGV0aGVyIHRoZXkncmUgb24gb3Igb2ZmLiBTbywgZGlzYWJsZSBjbWFrZSdzIChvdmVyLXNlbnNpdGl2ZSBoZXJlKQorICAgICMgZGVwZW5kZW5jeSByZXNvbHV0aW9uIGZvciBnZW5lcmF0ZWQgZmlsZXMgYW5kIGp1c3QgcmVseSBvbiB0aGVtIGJlaW5nCisgICAgIyBwcmVzZW50ICh0aGFua3MgdG8gcHJlX2dlbmVyYXRlX2ZpbGVzKSBieSB0dXJuaW5nIEdFTl9GSUxFUyBvZmYuCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgR0VOX0ZJTEVTPU9mZiAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGNvbmZpZ3MvY29uZmlnLXN1aXRlLWIuaCArIFVTRV9QU0FfQ1JZUFRPIC0gdW5pdCB0ZXN0cyIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogY29uZmlncy9jb25maWctc3VpdGUtYi5oICsgVVNFX1BTQV9DUllQVE8gLSBjb21wYXQuc2giCisgICAgdGVzdHMvY29tcGF0LnNoIC1tIHRsczEyIC1mICdFQ0RIRV9FQ0RTQS4qQUVTLipHQ00nIC1wIG1iZWRUTFMKKworICAgIG1zZyAiYnVpbGQ6IGNvbmZpZ3MvY29uZmlnLXN1aXRlLWIuaCArIFVTRV9QU0FfQ1JZUFRPICsgREVCVUciCisgICAgTUJFRFRMU19URVNUX0NPTkZJR1VSQVRJT049IiRNQkVEVExTX1RFU1RfQ09ORklHVVJBVElPTitERUJVRyIKKyAgICBtYWtlIGNsZWFuCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfREVCVUdfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VSUk9SX0MKKyAgICBtYWtlIHNzbC1vcHQKKworICAgIG1zZyAidGVzdDogY29uZmlncy9jb25maWctc3VpdGUtYi5oICsgVVNFX1BTQV9DUllQVE8gKyBERUJVRyAtIHNzbC1vcHQuc2giCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitjb21wb25lbnRfdGVzdF9ub19yZW5lZ290aWF0aW9uICgpIHsKKyAgICBtc2cgImJ1aWxkOiBEZWZhdWx0ICsgIU1CRURUTFNfU1NMX1JFTkVHT1RJQVRJT04gKEFTYW4gYnVpbGQpIiAjIH4gNiBtaW4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9SRU5FR09USUFUSU9OCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiAhTUJFRFRMU19TU0xfUkVORUdPVElBVElPTiAtIG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIiAjIH4gNTBzCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6ICFNQkVEVExTX1NTTF9SRU5FR09USUFUSU9OIC0gc3NsLW9wdC5zaCAoQVNhbiBidWlsZCkiICMgfiA2IG1pbgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfc3RyZWFtX2NpcGhlcl9vbmx5ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IHdpdGggb25seSBzdHJlYW0gY2lwaGVyIgorCisgICAgIyBEaXNhYmxlIEFFQUQgKGNvbnRyb2xsZWQgYnkgdGhlIHByZXNlbmNlIG9mIG9uZSBvZiBHQ01fQywgQ0NNX0MsIENIQUNIQVBPTFlfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NDTV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKKyAgICAjRGlzYWJsZSBUTFMgMS4zIChhcyBubyBBRUFEKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgICMgRGlzYWJsZSBDQkMtbGVnYWN5IChjb250cm9sbGVkIGJ5IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDIHBsdXMgYXQgbGVhc3Qgb25lIGJsb2NrIGNpcGhlciAoQUVTLCBBUklBLCBDYW1lbGxpYSwgREVTKSkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQworICAgICMgRGlzYWJsZSBDQkMtRXRNIChjb250cm9sbGVkIGJ5IHRoZSBzYW1lIGFzIENCQy1sZWdhY3kgcGx1cyBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMKKyAgICAjIEVuYWJsZSBzdHJlYW0gKGN1cnJlbnRseSB0aGF0J3MganVzdCB0aGUgTlVMTCBwc2V1ZG8tY2lwaGVyIChjb250cm9sbGVkIGJ5IE1CRURUTFNfQ0lQSEVSX05VTExfQ0lQSEVSKSkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIKKyAgICAjIE1vZHVsZXMgdGhhdCBkZXBlbmQgb24gQUVBRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0NPTlRFWFRfU0VSSUFMSVpBVElPTgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCisKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IHN0cmVhbSBjaXBoZXIiCisgICAgbWFrZSB0ZXN0CisKKyAgICAjIE5vdCBydW5uaW5nIHNzbC1vcHQuc2ggYmVjYXVzZSBtb3N0IHRlc3RzIHJlcXVpcmUgYSBub24tTlVMTCBjaXBoZXJzdWl0ZS4KK30KKworY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfc3RyZWFtX2NpcGhlcl9vbmx5X3VzZV9wc2EgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgd2l0aCBvbmx5IHN0cmVhbSBjaXBoZXIgdXNlIHBzYSIKKworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgIyBEaXNhYmxlIEFFQUQgKGNvbnRyb2xsZWQgYnkgdGhlIHByZXNlbmNlIG9mIG9uZSBvZiBHQ01fQywgQ0NNX0MsIENIQUNIQVBPTFlfQykKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0dDTV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQ01fQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0hBQ0hBUE9MWV9DCisgICAgI0Rpc2FibGUgVExTIDEuMyAoYXMgbm8gQUVBRCkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICAjIERpc2FibGUgQ0JDLWxlZ2FjeSAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQyBwbHVzIGF0IGxlYXN0IG9uZSBibG9jayBjaXBoZXIgKEFFUywgQVJJQSwgQ2FtZWxsaWEsIERFUykpCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKKyAgICAjIERpc2FibGUgQ0JDLUV0TSAoY29udHJvbGxlZCBieSB0aGUgc2FtZSBhcyBDQkMtbGVnYWN5IHBsdXMgTUJFRFRMU19TU0xfRU5DUllQVF9USEVOX01BQykKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDCisgICAgIyBFbmFibGUgc3RyZWFtIChjdXJyZW50bHkgdGhhdCdzIGp1c3QgdGhlIE5VTEwgcHNldWRvLWNpcGhlciAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUikpCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQ0lQSEVSX05VTExfQ0lQSEVSCisgICAgIyBNb2R1bGVzIHRoYXQgZGVwZW5kIG9uIEFFQUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9DT05URVhUX1NFUklBTElaQVRJT04KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9USUNLRVRfQworCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHdpdGggb25seSBzdHJlYW0gY2lwaGVyIHVzZSBwc2EiCisgICAgbWFrZSB0ZXN0CisKKyAgICAjIE5vdCBydW5uaW5nIHNzbC1vcHQuc2ggYmVjYXVzZSBtb3N0IHRlc3RzIHJlcXVpcmUgYSBub24tTlVMTCBjaXBoZXJzdWl0ZS4KK30KKworY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfY2JjX2xlZ2FjeV9jaXBoZXJfb25seSAoKSB7CisgICAgbXNnICJidWlsZDogZGVmYXVsdCB3aXRoIG9ubHkgQ0JDLWxlZ2FjeSBjaXBoZXIiCisKKyAgICAjIERpc2FibGUgQUVBRCAoY29udHJvbGxlZCBieSB0aGUgcHJlc2VuY2Ugb2Ygb25lIG9mIEdDTV9DLCBDQ01fQywgQ0hBQ0hBUE9MWV9DKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NDTV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKKyAgICAjRGlzYWJsZSBUTFMgMS4zIChhcyBubyBBRUFEKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgICMgRW5hYmxlIENCQy1sZWdhY3kgKGNvbnRyb2xsZWQgYnkgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMgcGx1cyBhdCBsZWFzdCBvbmUgYmxvY2sgY2lwaGVyIChBRVMsIEFSSUEsIENhbWVsbGlhLCBERVMpKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQworICAgICMgRGlzYWJsZSBDQkMtRXRNIChjb250cm9sbGVkIGJ5IHRoZSBzYW1lIGFzIENCQy1sZWdhY3kgcGx1cyBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMKKyAgICAjIERpc2FibGUgc3RyZWFtIChjdXJyZW50bHkgdGhhdCdzIGp1c3QgdGhlIE5VTEwgcHNldWRvLWNpcGhlciAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUikpCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIKKyAgICAjIE1vZHVsZXMgdGhhdCBkZXBlbmQgb24gQUVBRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0NPTlRFWFRfU0VSSUFMSVpBVElPTgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCisKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgY2lwaGVyIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHdpdGggb25seSBDQkMtbGVnYWN5IGNpcGhlciAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiVExTIDEuMiIKK30KKworY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfY2JjX2xlZ2FjeV9jaXBoZXJfb25seV91c2VfcHNhICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IHdpdGggb25seSBDQkMtbGVnYWN5IGNpcGhlciB1c2UgcHNhIgorCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICAjIERpc2FibGUgQUVBRCAoY29udHJvbGxlZCBieSB0aGUgcHJlc2VuY2Ugb2Ygb25lIG9mIEdDTV9DLCBDQ01fQywgQ0hBQ0hBUE9MWV9DKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NDTV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKKyAgICAjRGlzYWJsZSBUTFMgMS4zIChhcyBubyBBRUFEKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgICMgRW5hYmxlIENCQy1sZWdhY3kgKGNvbnRyb2xsZWQgYnkgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMgcGx1cyBhdCBsZWFzdCBvbmUgYmxvY2sgY2lwaGVyIChBRVMsIEFSSUEsIENhbWVsbGlhLCBERVMpKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQworICAgICMgRGlzYWJsZSBDQkMtRXRNIChjb250cm9sbGVkIGJ5IHRoZSBzYW1lIGFzIENCQy1sZWdhY3kgcGx1cyBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMKKyAgICAjIERpc2FibGUgc3RyZWFtIChjdXJyZW50bHkgdGhhdCdzIGp1c3QgdGhlIE5VTEwgcHNldWRvLWNpcGhlciAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUikpCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIKKyAgICAjIE1vZHVsZXMgdGhhdCBkZXBlbmQgb24gQUVBRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0NPTlRFWFRfU0VSSUFMSVpBVElPTgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCisKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgY2lwaGVyIHVzZSBwc2EiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgY2lwaGVyIHVzZSBwc2EgLSBzc2wtb3B0LnNoIChzdWJzZXQpIgorICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgIlRMUyAxLjIiCit9CisKK2NvbXBvbmVudF90ZXN0X3RsczFfMl9kZWZhdWx0X2NiY19sZWdhY3lfY2JjX2V0bV9jaXBoZXJfb25seSAoKSB7CisgICAgbXNnICJidWlsZDogZGVmYXVsdCB3aXRoIG9ubHkgQ0JDLWxlZ2FjeSBhbmQgQ0JDLUV0TSBjaXBoZXJzIgorCisgICAgIyBEaXNhYmxlIEFFQUQgKGNvbnRyb2xsZWQgYnkgdGhlIHByZXNlbmNlIG9mIG9uZSBvZiBHQ01fQywgQ0NNX0MsIENIQUNIQVBPTFlfQykKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0dDTV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DQ01fQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0hBQ0hBUE9MWV9DCisgICAgI0Rpc2FibGUgVExTIDEuMyAoYXMgbm8gQUVBRCkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICAjIEVuYWJsZSBDQkMtbGVnYWN5IChjb250cm9sbGVkIGJ5IE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDIHBsdXMgYXQgbGVhc3Qgb25lIGJsb2NrIGNpcGhlciAoQUVTLCBBUklBLCBDYW1lbGxpYSwgREVTKSkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKKyAgICAjIEVuYWJsZSBDQkMtRXRNIChjb250cm9sbGVkIGJ5IHRoZSBzYW1lIGFzIENCQy1sZWdhY3kgcGx1cyBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9FTkNSWVBUX1RIRU5fTUFDCisgICAgIyBEaXNhYmxlIHN0cmVhbSAoY3VycmVudGx5IHRoYXQncyBqdXN0IHRoZSBOVUxMIHBzZXVkby1jaXBoZXIgKGNvbnRyb2xsZWQgYnkgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIpKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX05VTExfQ0lQSEVSCisgICAgIyBNb2R1bGVzIHRoYXQgZGVwZW5kIG9uIEFFQUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9DT05URVhUX1NFUklBTElaQVRJT04KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9USUNLRVRfQworCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHdpdGggb25seSBDQkMtbGVnYWN5IGFuZCBDQkMtRXRNIGNpcGhlcnMiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgYW5kIENCQy1FdE0gY2lwaGVycyAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiVExTIDEuMiIKK30KKworY29tcG9uZW50X3Rlc3RfdGxzMV8yX2RlZmF1bHRfY2JjX2xlZ2FjeV9jYmNfZXRtX2NpcGhlcl9vbmx5X3VzZV9wc2EgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgYW5kIENCQy1FdE0gY2lwaGVycyB1c2UgcHNhIgorCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICAjIERpc2FibGUgQUVBRCAoY29udHJvbGxlZCBieSB0aGUgcHJlc2VuY2Ugb2Ygb25lIG9mIEdDTV9DLCBDQ01fQywgQ0hBQ0hBUE9MWV9DKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfR0NNX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NDTV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSEFDSEFQT0xZX0MKKyAgICAjRGlzYWJsZSBUTFMgMS4zIChhcyBubyBBRUFEKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgICMgRW5hYmxlIENCQy1sZWdhY3kgKGNvbnRyb2xsZWQgYnkgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMgcGx1cyBhdCBsZWFzdCBvbmUgYmxvY2sgY2lwaGVyIChBRVMsIEFSSUEsIENhbWVsbGlhLCBERVMpKQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0NJUEhFUl9NT0RFX0NCQworICAgICMgRW5hYmxlIENCQy1FdE0gKGNvbnRyb2xsZWQgYnkgdGhlIHNhbWUgYXMgQ0JDLWxlZ2FjeSBwbHVzIE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMpCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX0VOQ1JZUFRfVEhFTl9NQUMKKyAgICAjIERpc2FibGUgc3RyZWFtIChjdXJyZW50bHkgdGhhdCdzIGp1c3QgdGhlIE5VTEwgcHNldWRvLWNpcGhlciAoY29udHJvbGxlZCBieSBNQkVEVExTX0NJUEhFUl9OVUxMX0NJUEhFUikpCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTlVMTF9DSVBIRVIKKyAgICAjIE1vZHVsZXMgdGhhdCBkZXBlbmQgb24gQUVBRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0NPTlRFWFRfU0VSSUFMSVpBVElPTgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RJQ0tFVF9DCisKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgd2l0aCBvbmx5IENCQy1sZWdhY3kgYW5kIENCQy1FdE0gY2lwaGVycyB1c2UgcHNhIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHdpdGggb25seSBDQkMtbGVnYWN5IGFuZCBDQkMtRXRNIGNpcGhlcnMgdXNlIHBzYSAtIHNzbC1vcHQuc2ggKHN1YnNldCkiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiVExTIDEuMiIKK30KKworY29tcG9uZW50X3Rlc3RfY29uZmlnX3RocmVhZF9sZWdhY3kgKCkgeworICAgIG1zZyAiYnVpbGQ6IGNvbmZpZ3MvY29uZmlnLXRocmVhZC5oIgorICAgIGNwIGNvbmZpZ3MvY29uZmlnLXRocmVhZC5oICIkQ09ORklHX0giCisgICAgIyB0ZXN0LXJlZi1jb25maWdzIHdvcmtzIGJ5IG92ZXJ3cml0aW5nIG1iZWR0bHNfY29uZmlnLmg7IHRoaXMgbWFrZXMgY21ha2UKKyAgICAjIHdhbnQgdG8gcmUtZ2VuZXJhdGUgZ2VuZXJhdGVkIGZpbGVzIHRoYXQgZGVwZW5kIG9uIGl0LCBxdWl0ZSBjb3JyZWN0bHkuCisgICAgIyBIb3dldmVyIHRoaXMgZG9lc24ndCB3b3JrIGFzIHRoZSBnZW5lcmF0aW9uIHNjcmlwdCBleHBlY3RzIGEgc3BlY2lmaWMKKyAgICAjIGZvcm1hdCBmb3IgbWJlZHRsc19jb25maWcuaCwgd2hpY2ggdGhlIG90aGVyIGZpbGVzIGRvbid0IGZvbGxvdy4gQWxzbywKKyAgICAjIGNtYWtlIGNhbid0IGtub3cgdGhpcywgYnV0IHJlLWdlbmVyYXRpb24gaXMgYWN0dWFsbHkgbm90IG5lY2Vzc2FyeSBhcworICAgICMgdGhlIGdlbmVyYXRlZCBmaWxlcyBvbmx5IGRlcGVuZCBvbiB0aGUgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucywgbm90CisgICAgIyB3aGV0aGVyIHRoZXkncmUgb24gb3Igb2ZmLiBTbywgZGlzYWJsZSBjbWFrZSdzIChvdmVyLXNlbnNpdGl2ZSBoZXJlKQorICAgICMgZGVwZW5kZW5jeSByZXNvbHV0aW9uIGZvciBnZW5lcmF0ZWQgZmlsZXMgYW5kIGp1c3QgcmVseSBvbiB0aGVtIGJlaW5nCisgICAgIyBwcmVzZW50ICh0aGFua3MgdG8gcHJlX2dlbmVyYXRlX2ZpbGVzKSBieSB0dXJuaW5nIEdFTl9GSUxFUyBvZmYuCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgR0VOX0ZJTEVTPU9mZiAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGNvbmZpZ3MvY29uZmlnLXRocmVhZC5oIC0gdW5pdCB0ZXN0cyIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogY29uZmlncy9jb25maWctdGhyZWFkLmggLSBzc2wtb3B0LnNoIgorICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgJ0VDSlBBS0UuKm5vbG9nJworfQorCitjb21wb25lbnRfdGVzdF9jb25maWdfdGhyZWFkX3BzYSAoKSB7CisgICAgbXNnICJidWlsZDogY29uZmlncy9jb25maWctdGhyZWFkLmggKyBVU0VfUFNBX0NSWVBUTyIKKyAgICBjcCBjb25maWdzL2NvbmZpZy10aHJlYWQuaCAiJENPTkZJR19IIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgIyB0ZXN0LXJlZi1jb25maWdzIHdvcmtzIGJ5IG92ZXJ3cml0aW5nIG1iZWR0bHNfY29uZmlnLmg7IHRoaXMgbWFrZXMgY21ha2UKKyAgICAjIHdhbnQgdG8gcmUtZ2VuZXJhdGUgZ2VuZXJhdGVkIGZpbGVzIHRoYXQgZGVwZW5kIG9uIGl0LCBxdWl0ZSBjb3JyZWN0bHkuCisgICAgIyBIb3dldmVyIHRoaXMgZG9lc24ndCB3b3JrIGFzIHRoZSBnZW5lcmF0aW9uIHNjcmlwdCBleHBlY3RzIGEgc3BlY2lmaWMKKyAgICAjIGZvcm1hdCBmb3IgbWJlZHRsc19jb25maWcuaCwgd2hpY2ggdGhlIG90aGVyIGZpbGVzIGRvbid0IGZvbGxvdy4gQWxzbywKKyAgICAjIGNtYWtlIGNhbid0IGtub3cgdGhpcywgYnV0IHJlLWdlbmVyYXRpb24gaXMgYWN0dWFsbHkgbm90IG5lY2Vzc2FyeSBhcworICAgICMgdGhlIGdlbmVyYXRlZCBmaWxlcyBvbmx5IGRlcGVuZCBvbiB0aGUgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucywgbm90CisgICAgIyB3aGV0aGVyIHRoZXkncmUgb24gb3Igb2ZmLiBTbywgZGlzYWJsZSBjbWFrZSdzIChvdmVyLXNlbnNpdGl2ZSBoZXJlKQorICAgICMgZGVwZW5kZW5jeSByZXNvbHV0aW9uIGZvciBnZW5lcmF0ZWQgZmlsZXMgYW5kIGp1c3QgcmVseSBvbiB0aGVtIGJlaW5nCisgICAgIyBwcmVzZW50ICh0aGFua3MgdG8gcHJlX2dlbmVyYXRlX2ZpbGVzKSBieSB0dXJuaW5nIEdFTl9GSUxFUyBvZmYuCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgR0VOX0ZJTEVTPU9mZiAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGNvbmZpZ3MvY29uZmlnLXRocmVhZC5oICsgVVNFX1BTQV9DUllQVE8gLSB1bml0IHRlc3RzIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy10aHJlYWQuaCArIFVTRV9QU0FfQ1JZUFRPIC0gc3NsLW9wdC5zaCIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICdFQ0pQQUtFLipub2xvZycKK30KKworIyBXZSdyZSBub3QgYXdhcmUgb2YgYW55IG90aGVyIChvcGVuIHNvdXJjZSkgaW1wbGVtZW50YXRpb24gb2YgRUMgSi1QQUtFIGluIFRMUworIyB0aGF0IHdlIGNvdWxkIHVzZSBmb3IgaW50ZXJvcCB0ZXN0aW5nLiBIb3dldmVyLCB3ZSBub3cgaGF2ZSBzb3J0IG9mIHR3bworIyBpbXBsZW1lbnRhdGlvbnMgb3Vyc2VsdmVzOiBvbmUgdXNpbmcgUFNBLCB0aGUgb3RoZXIgbm90LiBBdCBsZWFzdCB0ZXN0IHRoYXQKKyMgdGhlc2UgdHdvIGludGVyb3BlcmF0ZSB3aXRoIGVhY2ggb3RoZXIuCitjb21wb25lbnRfdGVzdF90bHMxXzJfZWNqcGFrZV9jb21wYXRpYmlsaXR5ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBUTFMxLjIgc2VydmVyK2NsaWVudCB3LyBFQy1KUEFLRSB3L28gVVNFX1BTQSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNKUEFLRV9FTkFCTEVECisgICAgIyBFeHBsaWNpdGx5IG1ha2UgbGliIGZpcnN0IHRvIGF2b2lkIGEgcmFjZSBjb25kaXRpb246CisgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvODIyOQorICAgIG1ha2UgbGliCisgICAgbWFrZSAtQyBwcm9ncmFtcyBzc2wvc3NsX3NlcnZlcjIgc3NsL3NzbF9jbGllbnQyCisgICAgY3AgcHJvZ3JhbXMvc3NsL3NzbF9zZXJ2ZXIyIHMyX25vX3VzZV9wc2EKKyAgICBjcCBwcm9ncmFtcy9zc2wvc3NsX2NsaWVudDIgYzJfbm9fdXNlX3BzYQorCisgICAgbXNnICJidWlsZDogVExTMS4yIHNlcnZlcitjbGllbnQgdy8gRUMtSlBBS0Ugdy8gVVNFX1BTQSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgIG1ha2UgY2xlYW4KKyAgICBtYWtlIGxpYgorICAgIG1ha2UgLUMgcHJvZ3JhbXMgc3NsL3NzbF9zZXJ2ZXIyIHNzbC9zc2xfY2xpZW50MgorICAgIG1ha2UgLUMgcHJvZ3JhbXMgdGVzdC91ZHBfcHJveHkgdGVzdC9xdWVyeV9jb21waWxlX3RpbWVfY29uZmlnCisKKyAgICBtc2cgInRlc3Q6IHNlcnZlciB3L28gVVNFX1BTQSAtIGNsaWVudCB3LyBVU0VfUFNBLCB0ZXh0IHBhc3N3b3JkIgorICAgIFBfU1JWPS4uL3MyX25vX3VzZV9wc2EgdGVzdHMvc3NsLW9wdC5zaCAtZiAiRUNKUEFLRTogd29ya2luZywgVExTIgorICAgIG1zZyAidGVzdDogc2VydmVyIHcvbyBVU0VfUFNBIC0gY2xpZW50IHcvIFVTRV9QU0EsIG9wYXF1ZSBwYXNzd29yZCIKKyAgICBQX1NSVj0uLi9zMl9ub191c2VfcHNhIHRlc3RzL3NzbC1vcHQuc2ggLWYgIkVDSlBBS0U6IG9wYXF1ZSBwYXNzd29yZCBjbGllbnQgb25seSwgd29ya2luZywgVExTIgorICAgIG1zZyAidGVzdDogY2xpZW50IHcvbyBVU0VfUFNBIC0gc2VydmVyIHcvIFVTRV9QU0EsIHRleHQgcGFzc3dvcmQiCisgICAgUF9DTEk9Li4vYzJfbm9fdXNlX3BzYSB0ZXN0cy9zc2wtb3B0LnNoIC1mICJFQ0pQQUtFOiB3b3JraW5nLCBUTFMiCisgICAgbXNnICJ0ZXN0OiBjbGllbnQgdy9vIFVTRV9QU0EgLSBzZXJ2ZXIgdy8gVVNFX1BTQSwgb3BhcXVlIHBhc3N3b3JkIgorICAgIFBfQ0xJPS4uL2MyX25vX3VzZV9wc2EgdGVzdHMvc3NsLW9wdC5zaCAtZiAiRUNKUEFLRTogb3BhcXVlIHBhc3N3b3JkIHNlcnZlciBvbmx5LCB3b3JraW5nLCBUTFMiCisKKyAgICBybSBzMl9ub191c2VfcHNhIGMyX25vX3VzZV9wc2EKK30KKworY29tcG9uZW50X3Rlc3RfdGxzMV8yX2NjbV9wc2tfbGVnYWN5ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBjb25maWdzL2NvbmZpZy1jY20tcHNrLXRsczFfMi5oIgorICAgIGNwIGNvbmZpZ3MvY29uZmlnLWNjbS1wc2stdGxzMV8yLmggIiRDT05GSUdfSCIKKyAgICAjIHRlc3QtcmVmLWNvbmZpZ3Mgd29ya3MgYnkgb3ZlcndyaXRpbmcgbWJlZHRsc19jb25maWcuaDsgdGhpcyBtYWtlcyBjbWFrZQorICAgICMgd2FudCB0byByZS1nZW5lcmF0ZSBnZW5lcmF0ZWQgZmlsZXMgdGhhdCBkZXBlbmQgb24gaXQsIHF1aXRlIGNvcnJlY3RseS4KKyAgICAjIEhvd2V2ZXIgdGhpcyBkb2Vzbid0IHdvcmsgYXMgdGhlIGdlbmVyYXRpb24gc2NyaXB0IGV4cGVjdHMgYSBzcGVjaWZpYworICAgICMgZm9ybWF0IGZvciBtYmVkdGxzX2NvbmZpZy5oLCB3aGljaCB0aGUgb3RoZXIgZmlsZXMgZG9uJ3QgZm9sbG93LiBBbHNvLAorICAgICMgY21ha2UgY2FuJ3Qga25vdyB0aGlzLCBidXQgcmUtZ2VuZXJhdGlvbiBpcyBhY3R1YWxseSBub3QgbmVjZXNzYXJ5IGFzCisgICAgIyB0aGUgZ2VuZXJhdGVkIGZpbGVzIG9ubHkgZGVwZW5kIG9uIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zLCBub3QKKyAgICAjIHdoZXRoZXIgdGhleSdyZSBvbiBvciBvZmYuIFNvLCBkaXNhYmxlIGNtYWtlJ3MgKG92ZXItc2Vuc2l0aXZlIGhlcmUpCisgICAgIyBkZXBlbmRlbmN5IHJlc29sdXRpb24gZm9yIGdlbmVyYXRlZCBmaWxlcyBhbmQganVzdCByZWx5IG9uIHRoZW0gYmVpbmcKKyAgICAjIHByZXNlbnQgKHRoYW5rcyB0byBwcmVfZ2VuZXJhdGVfZmlsZXMpIGJ5IHR1cm5pbmcgR0VOX0ZJTEVTIG9mZi4KKyAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBHRU5fRklMRVM9T2ZmIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogY29uZmlncy9jb25maWctY2NtLXBzay10bHMxXzIuaCAtIHVuaXQgdGVzdHMiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IGNvbmZpZ3MvY29uZmlnLWNjbS1wc2stdGxzMV8yLmggLSBjb21wYXQuc2giCisgICAgdGVzdHMvY29tcGF0LnNoIC1tIHRsczEyIC1mICdeVExTX1BTS19XSVRIX0FFU18uLi5fQ0NNXzgnCit9CisKK2NvbXBvbmVudF90ZXN0X3RsczFfMl9jY21fcHNrX3BzYSAoKSB7CisgICAgbXNnICJidWlsZDogY29uZmlncy9jb25maWctY2NtLXBzay10bHMxXzIuaCArIFVTRV9QU0FfQ1JZUFRPIgorICAgIGNwIGNvbmZpZ3MvY29uZmlnLWNjbS1wc2stdGxzMV8yLmggIiRDT05GSUdfSCIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgICMgdGVzdC1yZWYtY29uZmlncyB3b3JrcyBieSBvdmVyd3JpdGluZyBtYmVkdGxzX2NvbmZpZy5oOyB0aGlzIG1ha2VzIGNtYWtlCisgICAgIyB3YW50IHRvIHJlLWdlbmVyYXRlIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGRlcGVuZCBvbiBpdCwgcXVpdGUgY29ycmVjdGx5LgorICAgICMgSG93ZXZlciB0aGlzIGRvZXNuJ3Qgd29yayBhcyB0aGUgZ2VuZXJhdGlvbiBzY3JpcHQgZXhwZWN0cyBhIHNwZWNpZmljCisgICAgIyBmb3JtYXQgZm9yIG1iZWR0bHNfY29uZmlnLmgsIHdoaWNoIHRoZSBvdGhlciBmaWxlcyBkb24ndCBmb2xsb3cuIEFsc28sCisgICAgIyBjbWFrZSBjYW4ndCBrbm93IHRoaXMsIGJ1dCByZS1nZW5lcmF0aW9uIGlzIGFjdHVhbGx5IG5vdCBuZWNlc3NhcnkgYXMKKyAgICAjIHRoZSBnZW5lcmF0ZWQgZmlsZXMgb25seSBkZXBlbmQgb24gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMsIG5vdAorICAgICMgd2hldGhlciB0aGV5J3JlIG9uIG9yIG9mZi4gU28sIGRpc2FibGUgY21ha2UncyAob3Zlci1zZW5zaXRpdmUgaGVyZSkKKyAgICAjIGRlcGVuZGVuY3kgcmVzb2x1dGlvbiBmb3IgZ2VuZXJhdGVkIGZpbGVzIGFuZCBqdXN0IHJlbHkgb24gdGhlbSBiZWluZworICAgICMgcHJlc2VudCAodGhhbmtzIHRvIHByZV9nZW5lcmF0ZV9maWxlcykgYnkgdHVybmluZyBHRU5fRklMRVMgb2ZmLgorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIEdFTl9GSUxFUz1PZmYgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1jY20tcHNrLXRsczFfMi5oICsgVVNFX1BTQV9DUllQVE8gLSB1bml0IHRlc3RzIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1jY20tcHNrLXRsczFfMi5oICsgVVNFX1BTQV9DUllQVE8gLSBjb21wYXQuc2giCisgICAgdGVzdHMvY29tcGF0LnNoIC1tIHRsczEyIC1mICdeVExTX1BTS19XSVRIX0FFU18uLi5fQ0NNXzgnCit9CisKK2NvbXBvbmVudF90ZXN0X3RsczFfMl9jY21fcHNrX2R0bHNfbGVnYWN5ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBjb25maWdzL2NvbmZpZy1jY20tcHNrLWR0bHMxXzIuaCIKKyAgICBjcCBjb25maWdzL2NvbmZpZy1jY20tcHNrLWR0bHMxXzIuaCAiJENPTkZJR19IIgorICAgICMgdGVzdC1yZWYtY29uZmlncyB3b3JrcyBieSBvdmVyd3JpdGluZyBtYmVkdGxzX2NvbmZpZy5oOyB0aGlzIG1ha2VzIGNtYWtlCisgICAgIyB3YW50IHRvIHJlLWdlbmVyYXRlIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGRlcGVuZCBvbiBpdCwgcXVpdGUgY29ycmVjdGx5LgorICAgICMgSG93ZXZlciB0aGlzIGRvZXNuJ3Qgd29yayBhcyB0aGUgZ2VuZXJhdGlvbiBzY3JpcHQgZXhwZWN0cyBhIHNwZWNpZmljCisgICAgIyBmb3JtYXQgZm9yIG1iZWR0bHNfY29uZmlnLmgsIHdoaWNoIHRoZSBvdGhlciBmaWxlcyBkb24ndCBmb2xsb3cuIEFsc28sCisgICAgIyBjbWFrZSBjYW4ndCBrbm93IHRoaXMsIGJ1dCByZS1nZW5lcmF0aW9uIGlzIGFjdHVhbGx5IG5vdCBuZWNlc3NhcnkgYXMKKyAgICAjIHRoZSBnZW5lcmF0ZWQgZmlsZXMgb25seSBkZXBlbmQgb24gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMsIG5vdAorICAgICMgd2hldGhlciB0aGV5J3JlIG9uIG9yIG9mZi4gU28sIGRpc2FibGUgY21ha2UncyAob3Zlci1zZW5zaXRpdmUgaGVyZSkKKyAgICAjIGRlcGVuZGVuY3kgcmVzb2x1dGlvbiBmb3IgZ2VuZXJhdGVkIGZpbGVzIGFuZCBqdXN0IHJlbHkgb24gdGhlbSBiZWluZworICAgICMgcHJlc2VudCAodGhhbmtzIHRvIHByZV9nZW5lcmF0ZV9maWxlcykgYnkgdHVybmluZyBHRU5fRklMRVMgb2ZmLgorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIEdFTl9GSUxFUz1PZmYgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1jY20tcHNrLWR0bHMxXzIuaCAtIHVuaXQgdGVzdHMiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IGNvbmZpZ3MvY29uZmlnLWNjbS1wc2stZHRsczFfMi5oIC0gY29tcGF0LnNoIgorICAgIHRlc3RzL2NvbXBhdC5zaCAtbSBkdGxzMTIgLWYgJ15UTFNfUFNLX1dJVEhfQUVTXy4uLl9DQ01fOCcKKworICAgIG1zZyAiYnVpbGQ6IGNvbmZpZ3MvY29uZmlnLWNjbS1wc2stZHRsczFfMi5oICsgREVCVUciCisgICAgTUJFRFRMU19URVNUX0NPTkZJR1VSQVRJT049IiRNQkVEVExTX1RFU1RfQ09ORklHVVJBVElPTitERUJVRyIKKyAgICBtYWtlIGNsZWFuCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfREVCVUdfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VSUk9SX0MKKyAgICBtYWtlIHNzbC1vcHQKKworICAgIG1zZyAidGVzdDogY29uZmlncy9jb25maWctY2NtLXBzay1kdGxzMV8yLmggKyBERUJVRyAtIHNzbC1vcHQuc2giCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitjb21wb25lbnRfdGVzdF90bHMxXzJfY2NtX3Bza19kdGxzX3BzYSAoKSB7CisgICAgbXNnICJidWlsZDogY29uZmlncy9jb25maWctY2NtLXBzay1kdGxzMV8yLmggKyBVU0VfUFNBX0NSWVBUTyIKKyAgICBjcCBjb25maWdzL2NvbmZpZy1jY20tcHNrLWR0bHMxXzIuaCAiJENPTkZJR19IIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BTQV9DUllQVE9fQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgIyB0ZXN0LXJlZi1jb25maWdzIHdvcmtzIGJ5IG92ZXJ3cml0aW5nIG1iZWR0bHNfY29uZmlnLmg7IHRoaXMgbWFrZXMgY21ha2UKKyAgICAjIHdhbnQgdG8gcmUtZ2VuZXJhdGUgZ2VuZXJhdGVkIGZpbGVzIHRoYXQgZGVwZW5kIG9uIGl0LCBxdWl0ZSBjb3JyZWN0bHkuCisgICAgIyBIb3dldmVyIHRoaXMgZG9lc24ndCB3b3JrIGFzIHRoZSBnZW5lcmF0aW9uIHNjcmlwdCBleHBlY3RzIGEgc3BlY2lmaWMKKyAgICAjIGZvcm1hdCBmb3IgbWJlZHRsc19jb25maWcuaCwgd2hpY2ggdGhlIG90aGVyIGZpbGVzIGRvbid0IGZvbGxvdy4gQWxzbywKKyAgICAjIGNtYWtlIGNhbid0IGtub3cgdGhpcywgYnV0IHJlLWdlbmVyYXRpb24gaXMgYWN0dWFsbHkgbm90IG5lY2Vzc2FyeSBhcworICAgICMgdGhlIGdlbmVyYXRlZCBmaWxlcyBvbmx5IGRlcGVuZCBvbiB0aGUgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucywgbm90CisgICAgIyB3aGV0aGVyIHRoZXkncmUgb24gb3Igb2ZmLiBTbywgZGlzYWJsZSBjbWFrZSdzIChvdmVyLXNlbnNpdGl2ZSBoZXJlKQorICAgICMgZGVwZW5kZW5jeSByZXNvbHV0aW9uIGZvciBnZW5lcmF0ZWQgZmlsZXMgYW5kIGp1c3QgcmVseSBvbiB0aGVtIGJlaW5nCisgICAgIyBwcmVzZW50ICh0aGFua3MgdG8gcHJlX2dlbmVyYXRlX2ZpbGVzKSBieSB0dXJuaW5nIEdFTl9GSUxFUyBvZmYuCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgR0VOX0ZJTEVTPU9mZiAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGNvbmZpZ3MvY29uZmlnLWNjbS1wc2stZHRsczFfMi5oICsgVVNFX1BTQV9DUllQVE8gLSB1bml0IHRlc3RzIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1jY20tcHNrLWR0bHMxXzIuaCArIFVTRV9QU0FfQ1JZUFRPIC0gY29tcGF0LnNoIgorICAgIHRlc3RzL2NvbXBhdC5zaCAtbSBkdGxzMTIgLWYgJ15UTFNfUFNLX1dJVEhfQUVTXy4uLl9DQ01fOCcKKworICAgIG1zZyAiYnVpbGQ6IGNvbmZpZ3MvY29uZmlnLWNjbS1wc2stZHRsczFfMi5oICsgVVNFX1BTQV9DUllQVE8gKyBERUJVRyIKKyAgICBNQkVEVExTX1RFU1RfQ09ORklHVVJBVElPTj0iJE1CRURUTFNfVEVTVF9DT05GSUdVUkFUSU9OK0RFQlVHIgorICAgIG1ha2UgY2xlYW4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19ERUJVR19DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRVJST1JfQworICAgIG1ha2Ugc3NsLW9wdAorCisgICAgbXNnICJ0ZXN0OiBjb25maWdzL2NvbmZpZy1jY20tcHNrLWR0bHMxXzIuaCArIFVTRV9QU0FfQ1JZUFRPICsgREVCVUcgLSBzc2wtb3B0LnNoIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworY29tcG9uZW50X3Rlc3Rfc21hbGxfc3NsX291dF9jb250ZW50X2xlbiAoKSB7CisgICAgbXNnICJidWlsZDogc21hbGwgU1NMX09VVF9DT05URU5UX0xFTiAoQVNhbiBidWlsZCkiCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX0lOX0NPTlRFTlRfTEVOIDE2Mzg0CisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX09VVF9DT05URU5UX0xFTiA0MDk2CisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBzbWFsbCBTU0xfT1VUX0NPTlRFTlRfTEVOIC0gc3NsLW9wdC5zaCBNRkwgYW5kIGxhcmdlIHBhY2tldCB0ZXN0cyIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICJNYXggZnJhZ21lbnRcfExhcmdlIHBhY2tldCIKK30KKworY29tcG9uZW50X3Rlc3Rfc21hbGxfc3NsX2luX2NvbnRlbnRfbGVuICgpIHsKKyAgICBtc2cgImJ1aWxkOiBzbWFsbCBTU0xfSU5fQ09OVEVOVF9MRU4gKEFTYW4gYnVpbGQpIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9JTl9DT05URU5UX0xFTiA0MDk2CisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX09VVF9DT05URU5UX0xFTiAxNjM4NAorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogc21hbGwgU1NMX0lOX0NPTlRFTlRfTEVOIC0gc3NsLW9wdC5zaCBNRkwgdGVzdHMiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiTWF4IGZyYWdtZW50IgorfQorCitjb21wb25lbnRfdGVzdF9zbWFsbF9zc2xfZHRsc19tYXhfYnVmZmVyaW5nICgpIHsKKyAgICBtc2cgImJ1aWxkOiBzbWFsbCBNQkVEVExTX1NTTF9EVExTX01BWF9CVUZGRVJJTkcgIzAiCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX0RUTFNfTUFYX0JVRkZFUklORyAxMDAwCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBzbWFsbCBNQkVEVExTX1NTTF9EVExTX01BWF9CVUZGRVJJTkcgIzAgLSBzc2wtb3B0LnNoIHNwZWNpZmljIHJlb3JkZXJpbmcgdGVzdCIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICJEVExTIHJlb3JkZXJpbmc6IEJ1ZmZlciBvdXQtb2Ytb3JkZXIgaHMgbXNnIGJlZm9yZSByZWFzc2VtYmxpbmcgbmV4dCwgZnJlZSBidWZmZXJlZCBtc2ciCit9CisKK2NvbXBvbmVudF90ZXN0X3NtYWxsX21iZWR0bHNfc3NsX2R0bHNfbWF4X2J1ZmZlcmluZyAoKSB7CisgICAgbXNnICJidWlsZDogc21hbGwgTUJFRFRMU19TU0xfRFRMU19NQVhfQlVGRkVSSU5HICMxIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9EVExTX01BWF9CVUZGRVJJTkcgMTkwCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBzbWFsbCBNQkVEVExTX1NTTF9EVExTX01BWF9CVUZGRVJJTkcgIzEgLSBzc2wtb3B0LnNoIHNwZWNpZmljIHJlb3JkZXJpbmcgdGVzdCIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoIC1mICJEVExTIHJlb3JkZXJpbmc6IEJ1ZmZlciBlbmNyeXB0ZWQgRmluaXNoZWQgbWVzc2FnZSwgZHJvcCBmb3IgZnJhZ21lbnRlZCBOZXdTZXNzaW9uVGlja2V0IgorfQorCitjb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2tleCAoKSB7CisgICAgbXNnICJ0ZXN0L2J1aWxkOiBkZXBlbmRzLnB5IGtleCAoZ2NjKSIKKyAgICB0ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkga2V4IC0tdW5zZXQtdXNlLXBzYQorfQorCitjb21wb25lbnRfdGVzdF9kZXBlbmRzX3B5X2tleF9wc2EgKCkgeworICAgIG1zZyAidGVzdC9idWlsZDogZGVwZW5kcy5weSBrZXggKGdjYykgd2l0aCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPIGRlZmluZWQiCisgICAgdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IGtleAorfQorCisjIENvbW1vbiBoZWxwZXIgZm9yIGNvbXBvbmVudF9mdWxsX3dpdGhvdXRfZWNkaGVfZWNkc2EoKSBhbmQKKyMgY29tcG9uZW50X2Z1bGxfd2l0aG91dF9lY2RoZV9lY2RzYV9hbmRfdGxzMTMoKSB3aGljaDoKKyMgLSBzdGFydHMgZnJvbSB0aGUgImZ1bGwiIGNvbmZpZ3VyYXRpb24gbWludXMgdGhlIGxpc3Qgb2Ygc3ltYm9scyBwYXNzZWQgaW4KKyMgICBhcyAxc3QgcGFyYW1ldGVyCisjIC0gYnVpbGQKKyMgLSB0ZXN0IG9ubHkgVExTIChpLmUuIHRlc3Rfc3VpdGVfdGxzIGFuZCBzc2wtb3B0KQorYnVpbGRfZnVsbF9taW51c19zb21ldGhpbmdfYW5kX3Rlc3RfdGxzICgpIHsKKyAgICBzeW1ib2xzX3RvX2Rpc2FibGU9IiQxIgorCisgICAgbXNnICJidWlsZDogZnVsbCBtaW51cyBzb21ldGhpbmcsIHRlc3QgVExTIgorCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIGZvciBzeW0gaW4gJHN5bWJvbHNfdG9fZGlzYWJsZTsgZG8KKyAgICAgICAgZWNobyAiRGlzYWJsaW5nICRzeW0iCisgICAgICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0ICRzeW0KKyAgICBkb25lCisKKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgbWludXMgc29tZXRoaW5nLCB0ZXN0IFRMUyIKKyAgICAoIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsICkKKworICAgIG1zZyAic3NsLW9wdDogZnVsbCBtaW51cyBzb21ldGhpbmcsIHRlc3QgVExTIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworY29tcG9uZW50X2Z1bGxfd2l0aG91dF9lY2RoZV9lY2RzYSAoKSB7CisgICAgYnVpbGRfZnVsbF9taW51c19zb21ldGhpbmdfYW5kX3Rlc3RfdGxzICJNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEIgorfQorCitjb21wb25lbnRfZnVsbF93aXRob3V0X2VjZGhlX2VjZHNhX2FuZF90bHMxMyAoKSB7CisgICAgYnVpbGRfZnVsbF9taW51c19zb21ldGhpbmdfYW5kX3Rlc3RfdGxzICJNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMiCit9CisKK2NvbXBvbmVudF9idWlsZF9ub19zc2xfc3J2ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIGNvbmZpZyBleGNlcHQgU1NMIHNlcnZlciwgbWFrZSwgZ2NjIiAjIH4gMzBzCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1NSVl9DCisgICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEgLU8xIC1XbWlzc2luZy1wcm90b3R5cGVzJworfQorCitjb21wb25lbnRfYnVpbGRfbm9fc3NsX2NsaSAoKSB7CisgICAgbXNnICJidWlsZDogZnVsbCBjb25maWcgZXhjZXB0IFNTTCBjbGllbnQsIG1ha2UsIGdjYyIgIyB+IDMwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9DTElfQworICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1PMSAtV21pc3NpbmctcHJvdG90eXBlcycKK30KKworY29tcG9uZW50X3Rlc3Rfbm9fbWF4X2ZyYWdtZW50X2xlbmd0aCAoKSB7CisgICAgIyBSdW4gbWF4IGZyYWdtZW50IGxlbmd0aCB0ZXN0cyB3aXRoIE1GTCBkaXNhYmxlZAorICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIGV4Y2VwdCBNRkwgZXh0ZW5zaW9uIChBU2FuIGJ1aWxkKSIgIyB+IDMwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX01BWF9GUkFHTUVOVF9MRU5HVEgKKyAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2gsIE1GTC1yZWxhdGVkIHRlc3RzIgorICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgIk1heCBmcmFnbWVudCBsZW5ndGgiCit9CisKK2NvbXBvbmVudF90ZXN0X2FzYW5fcmVtb3ZlX3BlZXJfY2VydGlmaWNhdGUgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGggTUJFRFRMU19TU0xfS0VFUF9QRUVSX0NFUlRJRklDQVRFIGRpc2FibGVkIChBU2FuIGJ1aWxkKSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9LRUVQX1BFRVJfQ0VSVElGSUNBVEUKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6ICFNQkVEVExTX1NTTF9LRUVQX1BFRVJfQ0VSVElGSUNBVEUiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2gsICFNQkVEVExTX1NTTF9LRUVQX1BFRVJfQ0VSVElGSUNBVEUiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorCisgICAgbXNnICJ0ZXN0OiBjb21wYXQuc2gsICFNQkVEVExTX1NTTF9LRUVQX1BFRVJfQ0VSVElGSUNBVEUiCisgICAgdGVzdHMvY29tcGF0LnNoCisKKyAgICBtc2cgInRlc3Q6IGNvbnRleHQtaW5mby5zaCwgIU1CRURUTFNfU1NMX0tFRVBfUEVFUl9DRVJUSUZJQ0FURSIKKyAgICB0ZXN0cy9jb250ZXh0LWluZm8uc2gKK30KKworY29tcG9uZW50X3Rlc3Rfbm9fbWF4X2ZyYWdtZW50X2xlbmd0aF9zbWFsbF9zc2xfb3V0X2NvbnRlbnRfbGVuICgpIHsKKyAgICBtc2cgImJ1aWxkOiBubyBNRkwgZXh0ZW5zaW9uLCBzbWFsbCBTU0xfT1VUX0NPTlRFTlRfTEVOIChBU2FuIGJ1aWxkKSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9NQVhfRlJBR01FTlRfTEVOR1RICisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX0lOX0NPTlRFTlRfTEVOIDE2Mzg0CisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX09VVF9DT05URU5UX0xFTiA0MDk2CisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBNRkwgdGVzdHMgKGRpc2FibGVkIE1GTCBleHRlbnNpb24gY2FzZSkgJiBsYXJnZSBwYWNrZXQgdGVzdHMiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiTWF4IGZyYWdtZW50IGxlbmd0aFx8TGFyZ2UgYnVmZmVyIgorCisgICAgbXNnICJ0ZXN0OiBjb250ZXh0LWluZm8uc2ggKGRpc2FibGVkIE1GTCBleHRlbnNpb24gY2FzZSkiCisgICAgdGVzdHMvY29udGV4dC1pbmZvLnNoCit9CisKK2NvbXBvbmVudF90ZXN0X3ZhcmlhYmxlX3NzbF9pbl9vdXRfYnVmZmVyX2xlbiAoKSB7CisgICAgbXNnICJidWlsZDogTUJFRFRMU19TU0xfVkFSSUFCTEVfQlVGRkVSX0xFTkdUSCBlbmFibGVkIChBU2FuIGJ1aWxkKSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TU0xfVkFSSUFCTEVfQlVGRkVSX0xFTkdUSAorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogTUJFRFRMU19TU0xfVkFSSUFCTEVfQlVGRkVSX0xFTkdUSCBlbmFibGVkIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoLCBNQkVEVExTX1NTTF9WQVJJQUJMRV9CVUZGRVJfTEVOR1RIIGVuYWJsZWQiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorCisgICAgbXNnICJ0ZXN0OiBjb21wYXQuc2gsIE1CRURUTFNfU1NMX1ZBUklBQkxFX0JVRkZFUl9MRU5HVEggZW5hYmxlZCIKKyAgICB0ZXN0cy9jb21wYXQuc2gKK30KKworY29tcG9uZW50X3Rlc3RfZHRsc19jaWRfbGVnYWN5ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBNQkVEVExTX1NTTF9EVExTX0NPTk5FQ1RJT05fSUQgKGxlZ2FjeSkgZW5hYmxlZCAoQVNhbiBidWlsZCkiCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX0RUTFNfQ09OTkVDVElPTl9JRF9DT01QQVQgMQorCisgICAgQ0M9JEFTQU5fQ0MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBNQkVEVExTX1NTTF9EVExTX0NPTk5FQ1RJT05fSUQgKGxlZ2FjeSkiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2gsIE1CRURUTFNfU1NMX0RUTFNfQ09OTkVDVElPTl9JRCAobGVnYWN5KSBlbmFibGVkIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKKworICAgIG1zZyAidGVzdDogY29tcGF0LnNoLCBNQkVEVExTX1NTTF9EVExTX0NPTk5FQ1RJT05fSUQgKGxlZ2FjeSkgZW5hYmxlZCIKKyAgICB0ZXN0cy9jb21wYXQuc2gKK30KKworY29tcG9uZW50X3Rlc3Rfc3NsX2FsbG9jX2J1ZmZlcl9hbmRfbWZsICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyB3aXRoIG1lbW9yeSBidWZmZXIgYWxsb2NhdG9yIGFuZCBNRkwgZXh0ZW5zaW9uIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BMQVRGT1JNX01FTU9SWQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX01FTU9SWV9ERUJVRworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9NQVhfRlJBR01FTlRfTEVOR1RICisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX1ZBUklBQkxFX0JVRkZFUl9MRU5HVEgKKyAgICBjbWFrZSAtRENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPVJlbGVhc2UgLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogTUJFRFRMU19TU0xfVkFSSUFCTEVfQlVGRkVSX0xFTkdUSCwgTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MsIE1CRURUTFNfTUVNT1JZX0RFQlVHIGFuZCBNQkVEVExTX1NTTF9NQVhfRlJBR01FTlRfTEVOR1RIIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBNQkVEVExTX1NTTF9WQVJJQUJMRV9CVUZGRVJfTEVOR1RILCBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQywgTUJFRFRMU19NRU1PUllfREVCVUcgYW5kIE1CRURUTFNfU1NMX01BWF9GUkFHTUVOVF9MRU5HVEgiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAiSGFuZHNoYWtlIG1lbW9yeSB1c2FnZSIKK30KKworY29tcG9uZW50X3Rlc3Rfd2hlbl9ub19jaXBoZXJzdWl0ZXNfaGF2ZV9tYWMgKCkgeworICAgIG1zZyAiYnVpbGQ6IHdoZW4gbm8gY2lwaGVyc3VpdGVzIGhhdmUgTUFDIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQ0lQSEVSX05VTExfQ0lQSEVSCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0NNQUNfQworICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogIU1CRURUTFNfU1NMX1NPTUVfU1VJVEVTX1VTRV9NQUMiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Qgc3NsLW9wdC5zaDogIU1CRURUTFNfU1NMX1NPTUVfU1VJVEVTX1VTRV9NQUMiCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAnRGVmYXVsdFx8RXRNJyAtZSAnd2l0aG91dCBFdE0nCit9CisKK2NvbXBvbmVudF90ZXN0X3RsczEyX29ubHkgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGhvdXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zLCBjbWFrZSwgZ2NjLCBBU2FuIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworICAgIENDPWdjYyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIChBU2FuIGJ1aWxkKSIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoCisKKyAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCAoQVNhbiBidWlsZCkiCisgICAgdGVzdHMvY29tcGF0LnNoCit9CisKK2NvbXBvbmVudF90ZXN0X3RsczEzX29ubHkgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGhvdXQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCisgICAgbWFrZSBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdGxzMTMtb25seS5oXCInIgorCisgICAgbXNnICJ0ZXN0OiBUTFMgMS4zIG9ubHksIGFsbCBrZXkgZXhjaGFuZ2UgbW9kZXMgZW5hYmxlZCIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAic3NsLW9wdC5zaDogVExTIDEuMyBvbmx5LCBhbGwga2V5IGV4Y2hhbmdlIG1vZGVzIGVuYWJsZWQiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitjb21wb25lbnRfdGVzdF90bHMxM19vbmx5X3BzayAoKSB7CisgICAgbXNnICJidWlsZDogVExTIDEuMyBvbmx5IGZyb20gZGVmYXVsdCwgb25seSBQU0sga2V5IGV4Y2hhbmdlIG1vZGUiCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ESE1fQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9TRVJWRVJfTkFNRV9JTkRJQ0FUSU9OCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMjEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M3X0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCisgICAgbWFrZSBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdGxzMTMtb25seS5oXCInIgorCisgICAgbXNnICJ0ZXN0X3N1aXRlX3NzbDogVExTIDEuMyBvbmx5LCBvbmx5IFBTSyBrZXkgZXhjaGFuZ2UgbW9kZSBlbmFibGVkIgorICAgIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsOyBjZCAuLgorCisgICAgbXNnICJzc2wtb3B0LnNoOiBUTFMgMS4zIG9ubHksIG9ubHkgUFNLIGtleSBleGNoYW5nZSBtb2RlIGVuYWJsZWQiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitjb21wb25lbnRfdGVzdF90bHMxM19vbmx5X2VwaGVtZXJhbCAoKSB7CisgICAgbXNnICJidWlsZDogVExTIDEuMyBvbmx5IGZyb20gZGVmYXVsdCwgb25seSBlcGhlbWVyYWwga2V5IGV4Y2hhbmdlIG1vZGUiCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FUEhFTUVSQUxfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKKyAgICBtYWtlIENGTEFHUz0iJy1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPVwiLi4vdGVzdHMvY29uZmlncy90bHMxMy1vbmx5LmhcIiciCisKKyAgICBtc2cgInRlc3Rfc3VpdGVfc3NsOiBUTFMgMS4zIG9ubHksIG9ubHkgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlIgorICAgIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsOyBjZCAuLgorCisgICAgbXNnICJzc2wtb3B0LnNoOiBUTFMgMS4zIG9ubHksIG9ubHkgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworY29tcG9uZW50X3Rlc3RfdGxzMTNfb25seV9lcGhlbWVyYWxfZmZkaCAoKSB7CisgICAgbXNnICJidWlsZDogVExTIDEuMyBvbmx5IGZyb20gZGVmYXVsdCwgb25seSBlcGhlbWVyYWwgZmZkaCBrZXkgZXhjaGFuZ2UgbW9kZSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VQSEVNRVJBTF9FTkFCTEVECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNESF9DCisKKyAgICBtYWtlIENGTEFHUz0iJy1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPVwiLi4vdGVzdHMvY29uZmlncy90bHMxMy1vbmx5LmhcIiciCisKKyAgICBtc2cgInRlc3Rfc3VpdGVfc3NsOiBUTFMgMS4zIG9ubHksIG9ubHkgZXBoZW1lcmFsIGZmZGgga2V5IGV4Y2hhbmdlIG1vZGUiCisgICAgY2QgdGVzdHM7IC4vdGVzdF9zdWl0ZV9zc2w7IGNkIC4uCisKKyAgICBtc2cgInNzbC1vcHQuc2g6IFRMUyAxLjMgb25seSwgb25seSBlcGhlbWVyYWwgZmZkaCBrZXkgZXhjaGFuZ2UgbW9kZSIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoCit9CisKK2NvbXBvbmVudF90ZXN0X3RsczEzX29ubHlfcHNrX2VwaGVtZXJhbCAoKSB7CisgICAgbXNnICJidWlsZDogVExTIDEuMyBvbmx5IGZyb20gZGVmYXVsdCwgb25seSBQU0sgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9TRVJWRVJfTkFNRV9JTkRJQ0FUSU9OCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMjEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M3X0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCisgICAgbWFrZSBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdGxzMTMtb25seS5oXCInIgorCisgICAgbXNnICJ0ZXN0X3N1aXRlX3NzbDogVExTIDEuMyBvbmx5LCBvbmx5IFBTSyBlcGhlbWVyYWwga2V5IGV4Y2hhbmdlIG1vZGUiCisgICAgY2QgdGVzdHM7IC4vdGVzdF9zdWl0ZV9zc2w7IGNkIC4uCisKKyAgICBtc2cgInNzbC1vcHQuc2g6IFRMUyAxLjMgb25seSwgb25seSBQU0sgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworY29tcG9uZW50X3Rlc3RfdGxzMTNfb25seV9wc2tfZXBoZW1lcmFsX2ZmZGggKCkgeworICAgIG1zZyAiYnVpbGQ6IFRMUyAxLjMgb25seSBmcm9tIGRlZmF1bHQsIG9ubHkgUFNLIGVwaGVtZXJhbCBmZmRoIGtleSBleGNoYW5nZSBtb2RlIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9TRVJWRVJfTkFNRV9JTkRJQ0FUSU9OCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RTQV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTMV9WMjEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BLQ1M3X0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FQ0RIX0MKKyAgICBtYWtlIENGTEFHUz0iJy1ETUJFRFRMU19VU0VSX0NPTkZJR19GSUxFPVwiLi4vdGVzdHMvY29uZmlncy90bHMxMy1vbmx5LmhcIiciCisKKyAgICBtc2cgInRlc3Rfc3VpdGVfc3NsOiBUTFMgMS4zIG9ubHksIG9ubHkgUFNLIGVwaGVtZXJhbCBmZmRoIGtleSBleGNoYW5nZSBtb2RlIgorICAgIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsOyBjZCAuLgorCisgICAgbXNnICJzc2wtb3B0LnNoOiBUTFMgMS4zIG9ubHksIG9ubHkgUFNLIGVwaGVtZXJhbCBmZmRoIGtleSBleGNoYW5nZSBtb2RlIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworY29tcG9uZW50X3Rlc3RfdGxzMTNfb25seV9wc2tfYWxsICgpIHsKKyAgICBtc2cgImJ1aWxkOiBUTFMgMS4zIG9ubHkgZnJvbSBkZWZhdWx0LCB3aXRob3V0IGVwaGVtZXJhbCBrZXkgZXhjaGFuZ2UgbW9kZSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfU0VSVkVSX05BTUVfSU5ESUNBVElPTgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRUNEU0FfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUEtDUzFfVjIxCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QS0NTN19DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0ICAgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorICAgIG1ha2UgQ0ZMQUdTPSInLURNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEU9XCIuLi90ZXN0cy9jb25maWdzL3RsczEzLW9ubHkuaFwiJyIKKworICAgIG1zZyAidGVzdF9zdWl0ZV9zc2w6IFRMUyAxLjMgb25seSwgUFNLIGFuZCBQU0sgZXBoZW1lcmFsIGtleSBleGNoYW5nZSBtb2RlcyIKKyAgICBjZCB0ZXN0czsgLi90ZXN0X3N1aXRlX3NzbDsgY2QgLi4KKworICAgIG1zZyAic3NsLW9wdC5zaDogVExTIDEuMyBvbmx5LCBQU0sgYW5kIFBTSyBlcGhlbWVyYWwga2V5IGV4Y2hhbmdlIG1vZGVzIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKK30KKworY29tcG9uZW50X3Rlc3RfdGxzMTNfb25seV9lcGhlbWVyYWxfYWxsICgpIHsKKyAgICBtc2cgImJ1aWxkOiBUTFMgMS4zIG9ubHkgZnJvbSBkZWZhdWx0LCB3aXRob3V0IFBTSyBrZXkgZXhjaGFuZ2UgbW9kZSIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgICBNQkVEVExTX1NTTF9FQVJMWV9EQVRBCisgICAgbWFrZSBDRkxBR1M9IictRE1CRURUTFNfVVNFUl9DT05GSUdfRklMRT1cIi4uL3Rlc3RzL2NvbmZpZ3MvdGxzMTMtb25seS5oXCInIgorCisgICAgbXNnICJ0ZXN0X3N1aXRlX3NzbDogVExTIDEuMyBvbmx5LCBlcGhlbWVyYWwgYW5kIFBTSyBlcGhlbWVyYWwga2V5IGV4Y2hhbmdlIG1vZGVzIgorICAgIGNkIHRlc3RzOyAuL3Rlc3Rfc3VpdGVfc3NsOyBjZCAuLgorCisgICAgbXNnICJzc2wtb3B0LnNoOiBUTFMgMS4zIG9ubHksIGVwaGVtZXJhbCBhbmQgUFNLIGVwaGVtZXJhbCBrZXkgZXhjaGFuZ2UgbW9kZXMiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitjb21wb25lbnRfdGVzdF90bHMxM19ub19wYWRkaW5nICgpIHsKKyAgICBtc2cgImJ1aWxkOiBkZWZhdWx0IGNvbmZpZyBwbHVzIGVhcmx5IGRhdGEgbWludXMgcGFkZGluZyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TU0xfQ0lEX1RMUzFfM19QQURESU5HX0dSQU5VTEFSSVRZIDEKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorICAgIENDPSRBU0FOX0NDIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKyAgICBtc2cgInRlc3Q6IGRlZmF1bHQgY29uZmlnIHBsdXMgZWFybHkgZGF0YSBtaW51cyBwYWRkaW5nIgorICAgIG1ha2UgdGVzdAorICAgIG1zZyAic3NsLW9wdC5zaCAoVExTIDEuMyBubyBwYWRkaW5nKSIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoCit9CisKK2NvbXBvbmVudF90ZXN0X3RsczEzX25vX2NvbXBhdGliaWxpdHlfbW9kZSAoKSB7CisgICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgcGx1cyBlYXJseSBkYXRhIG1pbnVzIG1pZGRsZWJveCBjb21wYXRpYmlsaXR5IG1vZGUiCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCAgIE1CRURUTFNfU1NMX0VBUkxZX0RBVEEKKyAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisgICAgbXNnICJ0ZXN0OiBkZWZhdWx0IGNvbmZpZyBwbHVzIGVhcmx5IGRhdGEgbWludXMgbWlkZGxlYm94IGNvbXBhdGliaWxpdHkgbW9kZSIKKyAgICBtYWtlIHRlc3QKKyAgICBtc2cgInNzbC1vcHQuc2ggKFRMUyAxLjMgbm8gY29tcGF0aWJpbGl0eSBtb2RlKSIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoCit9CisKK2NvbXBvbmVudF90ZXN0X2Z1bGxfbWludXNfc2Vzc2lvbl90aWNrZXRzICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIGNvbmZpZyB3aXRob3V0IHNlc3Npb24gdGlja2V0cyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TU0xfRUFSTFlfREFUQQorICAgIENDPWdjYyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisgICAgbXNnICJ0ZXN0OiBmdWxsIGNvbmZpZyB3aXRob3V0IHNlc3Npb24gdGlja2V0cyIKKyAgICBtYWtlIHRlc3QKKyAgICBtc2cgInNzbC1vcHQuc2ggKGZ1bGwgY29uZmlnIHdpdGhvdXQgc2Vzc2lvbiB0aWNrZXRzKSIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoCit9CmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtY29uZmlndXJhdGlvbi14NTA5LnNoIGIvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLWNvbmZpZ3VyYXRpb24teDUwOS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGVmMjgzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLWNvbmZpZ3VyYXRpb24teDUwOS5zaApAQCAtMCwwICsxLDM1IEBACisjIGNvbXBvbmVudHMtY29uZmlndXJhdGlvbi14NTA5LnNoCisjCisjIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKworIyBUaGlzIGZpbGUgY29udGFpbnMgdGVzdCBjb21wb25lbnRzIHRoYXQgYXJlIGV4ZWN1dGVkIGJ5IGFsbC5zaAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIENvbmZpZ3VyYXRpb24gVGVzdGluZyAtIFg1MDkKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworY29tcG9uZW50X3Rlc3Rfbm9feDUwOV9pbmZvICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsICsgTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPIiAjIH4gMTBzCisgICAgc2NyaXB0cy9jb25maWcucGwgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnBsIHVuc2V0IE1CRURUTFNfTUVNT1JZX0JBQ0tUUkFDRSAjIHRvbyBzbG93IGZvciB0ZXN0cworICAgIHNjcmlwdHMvY29uZmlnLnBsIHNldCBNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KKyAgICBtYWtlIENGTEFHUz0nLVdlcnJvciAtTzInCisKKyAgICBtc2cgInRlc3Q6IGZ1bGwgKyBNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8iICMgfiAxMHMKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogc3NsLW9wdC5zaCwgZnVsbCArIE1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTyIgIyB+IDEgbWluCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitjb21wb25lbnRfdGVzdF9zd19pbmV0X3B0b24gKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgcGx1cyBNQkVEVExTX1RFU1RfU1dfSU5FVF9QVE9OIgorCisgICAgIyBNQkVEVExTX1RFU1RfSE9PS1MgcmVxdWlyZWQgZm9yIHg1MDlfY3J0X3BhcnNlX2NuX2luZXRfcHRvbgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1RFU1RfSE9PS1MKKyAgICBtYWtlIENGTEFHUz0iLURNQkVEVExTX1RFU1RfU1dfSU5FVF9QVE9OIgorCisgICAgbXNnICJ0ZXN0OiBkZWZhdWx0IHBsdXMgTUJFRFRMU19URVNUX1NXX0lORVRfUFRPTiIKKyAgICBtYWtlIHRlc3QKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1jb25maWd1cmF0aW9uLnNoIGIvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLWNvbmZpZ3VyYXRpb24uc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU5ZjM1MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1jb25maWd1cmF0aW9uLnNoCkBAIC0wLDAgKzEsMzgyIEBACisjIGNvbXBvbmVudHMtY29uZmlndXJhdGlvbi5zaAorIworIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCisKKyMgVGhpcyBmaWxlIGNvbnRhaW5zIHRlc3QgY29tcG9uZW50cyB0aGF0IGFyZSBleGVjdXRlZCBieSBhbGwuc2gKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBDb25maWd1cmF0aW9uIFRlc3RpbmcKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworY29tcG9uZW50X3Rlc3RfZGVmYXVsdF9vdXRfb2ZfYm94ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjFtaW4KKyAgICBtYWtlCisgICAgIyBEaXNhYmxlIGZhbmN5IHN0dWZmCisgICAgdW5zZXQgTUJFRFRMU19URVNUX09VVENPTUVfRklMRQorCisgICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjEwcworICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzZWxmdGVzdDogbWFrZSwgZGVmYXVsdCBjb25maWcgKG91dC1vZi1ib3gpIiAjIH4xMHMKKyAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisKKyAgICBtc2cgInByb2dyYW0gZGVtb3M6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSIgIyB+MTBzCisgICAgdGVzdHMvc2NyaXB0cy9ydW5fZGVtb3MucHkKK30KKworY29tcG9uZW50X3Rlc3RfZGVmYXVsdF9jbWFrZV9nY2NfYXNhbiAoKSB7CisgICAgbXNnICJidWlsZDogY21ha2UsIGdjYywgQVNhbiIgIyB+IDEgbWluIDUwcworICAgIENDPWdjYyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIiAjIH4gNTBzCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInByb2dyYW0gZGVtb3MgKEFTYW4gYnVpbGQpIiAjIH4xMHMKKyAgICB0ZXN0cy9zY3JpcHRzL3J1bl9kZW1vcy5weQorCisgICAgbXNnICJ0ZXN0OiBzZWxmdGVzdCAoQVNhbiBidWlsZCkiICMgfiAxMHMKKyAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisKKyAgICBtc2cgInRlc3Q6IG1ldGF0ZXN0cyAoR0NDLCBBU2FuIGJ1aWxkKSIKKyAgICB0ZXN0cy9zY3JpcHRzL3J1bi1tZXRhdGVzdHMuc2ggYW55IGFzYW4gcG9pc29uCisKKyAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2ggKEFTYW4gYnVpbGQpIiAjIH4gMSBtaW4KKyAgICB0ZXN0cy9zc2wtb3B0LnNoCisKKyAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCAoQVNhbiBidWlsZCkiICMgfiA2IG1pbgorICAgIHRlc3RzL2NvbXBhdC5zaAorCisgICAgbXNnICJ0ZXN0OiBjb250ZXh0LWluZm8uc2ggKEFTYW4gYnVpbGQpIiAjIH4gMTUgc2VjCisgICAgdGVzdHMvY29udGV4dC1pbmZvLnNoCit9CisKK2NvbXBvbmVudF90ZXN0X2RlZmF1bHRfY21ha2VfZ2NjX2FzYW5fbmV3X2JpZ251bSAoKSB7CisgICAgbXNnICJidWlsZDogY21ha2UsIGdjYywgQVNhbiIgIyB+IDEgbWluIDUwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VDUF9XSVRIX01QSV9VSU5UCisgICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoQVNhbiBidWlsZCkiICMgfiA1MHMKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdDogc2VsZnRlc3QgKEFTYW4gYnVpbGQpIiAjIH4gMTBzCisgICAgcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorCisgICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIChBU2FuIGJ1aWxkKSIgIyB+IDEgbWluCisgICAgdGVzdHMvc3NsLW9wdC5zaAorCisgICAgbXNnICJ0ZXN0OiBjb21wYXQuc2ggKEFTYW4gYnVpbGQpIiAjIH4gNiBtaW4KKyAgICB0ZXN0cy9jb21wYXQuc2gKKworICAgIG1zZyAidGVzdDogY29udGV4dC1pbmZvLnNoIChBU2FuIGJ1aWxkKSIgIyB+IDE1IHNlYworICAgIHRlc3RzL2NvbnRleHQtaW5mby5zaAorfQorCitjb21wb25lbnRfdGVzdF9mdWxsX2NtYWtlX2djY19hc2FuICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIGNvbmZpZywgY21ha2UsIGdjYywgQVNhbiIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgQ0M9Z2NjIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPUFzYW4gLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMgKGluYy4gc2VsZnRlc3RzKSAoZnVsbCBjb25maWcsIEFTYW4gYnVpbGQpIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBzZWxmdGVzdCAoZnVsbCBjb25maWcsIEFTYW4gYnVpbGQpIiAjIH4gMTBzCisgICAgcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorCisgICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIChmdWxsIGNvbmZpZywgQVNhbiBidWlsZCkiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorCisgICAgIyBOb3RlOiB0aGUgbmV4dCB0d28gaW52b2NhdGlvbnMgY292ZXIgYWxsIGNvbXBhdC5zaCB0ZXN0IGNhc2VzLgorICAgICMgV2Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBoZXJlIGFuZCBpbiBiYXNpYy1idWlsZC10ZXN0LnNoLgorICAgIG1zZyAidGVzdDogY29tcGF0LnNoOiBkZWZhdWx0IHZlcnNpb24gKGZ1bGwgY29uZmlnLCBBU2FuIGJ1aWxkKSIKKyAgICB0ZXN0cy9jb21wYXQuc2ggLWUgJ0FSSUFcfENIQUNIQScKKworICAgIG1zZyAidGVzdDogY29tcGF0LnNoOiBuZXh0OiBBUklBLCBDaGFjaGEgKGZ1bGwgY29uZmlnLCBBU2FuIGJ1aWxkKSIKKyAgICBlbnYgT1BFTlNTTD0iJE9QRU5TU0xfTkVYVCIgdGVzdHMvY29tcGF0LnNoIC1lICdeJCcgLWYgJ0FSSUFcfENIQUNIQScKKworICAgIG1zZyAidGVzdDogY29udGV4dC1pbmZvLnNoIChmdWxsIGNvbmZpZywgQVNhbiBidWlsZCkiICMgfiAxNSBzZWMKKyAgICB0ZXN0cy9jb250ZXh0LWluZm8uc2gKK30KKworY29tcG9uZW50X3Rlc3RfZnVsbF9jbWFrZV9nY2NfYXNhbl9uZXdfYmlnbnVtICgpIHsKKyAgICBtc2cgImJ1aWxkOiBmdWxsIGNvbmZpZywgY21ha2UsIGdjYywgQVNhbiIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRUNQX1dJVEhfTVBJX1VJTlQKKyAgICBDQz1nY2MgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9QXNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyAoaW5jLiBzZWxmdGVzdHMpIChmdWxsIGNvbmZpZywgbmV3IGJpZ251bSwgQVNhbikiCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IHNlbGZ0ZXN0IChmdWxsIGNvbmZpZywgbmV3IGJpZ251bSwgQVNhbikiICMgfiAxMHMKKyAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisKKyAgICBtc2cgInRlc3Q6IHNzbC1vcHQuc2ggKGZ1bGwgY29uZmlnLCBuZXcgYmlnbnVtLCBBU2FuKSIKKyAgICB0ZXN0cy9zc2wtb3B0LnNoCisKKyAgICAjIE5vdGU6IHRoZSBuZXh0IHR3byBpbnZvY2F0aW9ucyBjb3ZlciBhbGwgY29tcGF0LnNoIHRlc3QgY2FzZXMuCisgICAgIyBXZSBzaG91bGQgdXNlIHRoZSBzYW1lIGhlcmUgYW5kIGluIGJhc2ljLWJ1aWxkLXRlc3Quc2guCisgICAgbXNnICJ0ZXN0OiBjb21wYXQuc2g6IGRlZmF1bHQgdmVyc2lvbiAoZnVsbCBjb25maWcsIG5ldyBiaWdudW0sIEFTYW4pIgorICAgIHRlc3RzL2NvbXBhdC5zaCAtZSAnQVJJQVx8Q0hBQ0hBJworCisgICAgbXNnICJ0ZXN0OiBjb21wYXQuc2g6IG5leHQ6IEFSSUEsIENoYWNoYSAoZnVsbCBjb25maWcsIG5ldyBiaWdudW0sIEFTYW4pIgorICAgIGVudiBPUEVOU1NMPSIkT1BFTlNTTF9ORVhUIiB0ZXN0cy9jb21wYXQuc2ggLWUgJ14kJyAtZiAnQVJJQVx8Q0hBQ0hBJworCisgICAgbXNnICJ0ZXN0OiBjb250ZXh0LWluZm8uc2ggKGZ1bGwgY29uZmlnLCBuZXcgYmlnbnVtLCBBU2FuKSIgIyB+IDE1IHNlYworICAgIHRlc3RzL2NvbnRleHQtaW5mby5zaAorfQorCitjb21wb25lbnRfdGVzdF9mdWxsX2NtYWtlX2NsYW5nICgpIHsKKyAgICBtc2cgImJ1aWxkOiBjbWFrZSwgZnVsbCBjb25maWcsIGNsYW5nIiAjIH4gNTBzCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIENDPWNsYW5nIENYWD1jbGFuZyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1SZWxlYXNlIC1EIEVOQUJMRV9URVNUSU5HPU9uIC1EIFRFU1RfQ1BQPTEgLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMgKGZ1bGwgY29uZmlnLCBjbGFuZykiICMgfiA1cworICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBjcHBfZHVtbXlfYnVpbGQgKGZ1bGwgY29uZmlnLCBjbGFuZykiICMgfiAxcworICAgIHByb2dyYW1zL3Rlc3QvY3BwX2R1bW15X2J1aWxkCisKKyAgICBtc2cgInRlc3Q6IG1ldGF0ZXN0cyAoY2xhbmcpIgorICAgIHRlc3RzL3NjcmlwdHMvcnVuLW1ldGF0ZXN0cy5zaCBhbnkgcHRocmVhZAorCisgICAgbXNnICJwcm9ncmFtIGRlbW9zIChmdWxsIGNvbmZpZywgY2xhbmcpIiAjIH4xMHMKKyAgICB0ZXN0cy9zY3JpcHRzL3J1bl9kZW1vcy5weQorCisgICAgbXNnICJ0ZXN0OiBwc2FfY29uc3RhbnRfbmFtZXMgKGZ1bGwgY29uZmlnLCBjbGFuZykiICMgfiAxcworICAgIHRlc3RzL3NjcmlwdHMvdGVzdF9wc2FfY29uc3RhbnRfbmFtZXMucHkKKworICAgIG1zZyAidGVzdDogc3NsLW9wdC5zaCBkZWZhdWx0LCBFQ0pQQUtFLCBTU0wgYXN5bmMgKGZ1bGwgY29uZmlnKSIgIyB+IDFzCisgICAgdGVzdHMvc3NsLW9wdC5zaCAtZiAnRGVmYXVsdFx8RUNKUEFLRVx8U1NMIGFzeW5jIHByaXZhdGUnCit9CisKK2NvbXBvbmVudF90ZXN0X2RlZmF1bHRfbm9fZGVwcmVjYXRlZCAoKSB7CisgICAgIyBUZXN0IHRoYXQgcmVtb3ZpbmcgdGhlIGRlcHJlY2F0ZWQgZmVhdHVyZXMgZnJvbSB0aGUgZGVmYXVsdAorICAgICMgY29uZmlndXJhdGlvbiBsZWF2ZXMgc29tZXRoaW5nIGNvbnNpc3RlbnQuCisgICAgbXNnICJidWlsZDogbWFrZSwgZGVmYXVsdCArIE1CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVEIiAjIH4gMzBzCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVECisgICAgbWFrZSBDRkxBR1M9Jy1PIC1XZXJyb3IgLVdhbGwgLVdleHRyYScKKworICAgIG1zZyAidGVzdDogbWFrZSwgZGVmYXVsdCArIE1CRURUTFNfREVQUkVDQVRFRF9SRU1PVkVEIiAjIH4gNXMKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfZnVsbF9ub19kZXByZWNhdGVkICgpIHsKKyAgICBtc2cgImJ1aWxkOiBtYWtlLCBmdWxsX25vX2RlcHJlY2F0ZWQgY29uZmlnIiAjIH4gMzBzCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbF9ub19kZXByZWNhdGVkCisgICAgbWFrZSBDRkxBR1M9Jy1PIC1XZXJyb3IgLVdhbGwgLVdleHRyYScKKworICAgIG1zZyAidGVzdDogbWFrZSwgZnVsbF9ub19kZXByZWNhdGVkIGNvbmZpZyIgIyB+IDVzCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IGVuc3VyZSB0aGF0IFg1MDkgaGFzIG5vIGRpcmVjdCBkZXBlbmRlbmN5IG9uIEJJR05VTV9DIgorICAgIG5vdCBncmVwIG1iZWR0bHNfbXBpIGxpYnJhcnkvbGlibWJlZHg1MDkuYQorfQorCitjb21wb25lbnRfdGVzdF9mdWxsX25vX2RlcHJlY2F0ZWRfZGVwcmVjYXRlZF93YXJuaW5nICgpIHsKKyAgICAjIFRlc3QgdGhhdCB0aGVyZSBpcyBub3RoaW5nIGRlcHJlY2F0ZWQgaW4gImZ1bGxfbm9fZGVwcmVjYXRlZCIuCisgICAgIyBBIGRlcHJlY2F0ZWQgZmVhdHVyZSB3b3VsZCB0cmlnZ2VyIGEgd2FybmluZyAobWFkZSBmYXRhbCkgZnJvbQorICAgICMgTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkcuCisgICAgbXNnICJidWlsZDogbWFrZSwgZnVsbF9ub19kZXByZWNhdGVkIGNvbmZpZywgTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkciICMgfiAzMHMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsX25vX2RlcHJlY2F0ZWQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFUFJFQ0FURURfUkVNT1ZFRAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0RFUFJFQ0FURURfV0FSTklORworICAgIG1ha2UgQ0ZMQUdTPSctTyAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnCisKKyAgICBtc2cgInRlc3Q6IG1ha2UsIGZ1bGxfbm9fZGVwcmVjYXRlZCBjb25maWcsIE1CRURUTFNfREVQUkVDQVRFRF9XQVJOSU5HIiAjIH4gNXMKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfZnVsbF9kZXByZWNhdGVkX3dhcm5pbmcgKCkgeworICAgICMgVGVzdCB0aGF0IHdoZW4gTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkcgaXMgZW5hYmxlZCwgdGhlIGJ1aWxkIHBhc3NlcworICAgICMgd2l0aCBvbmx5IGNlcnRhaW4gd2hpdGVsaXN0ZWQgdHlwZXMgb2Ygd2FybmluZ3MuCisgICAgbXNnICJidWlsZDogbWFrZSwgZnVsbCBjb25maWcgKyBNQkVEVExTX0RFUFJFQ0FURURfV0FSTklORywgZXhwZWN0IHdhcm5pbmdzIiAjIH4gMzBzCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0RFUFJFQ0FURURfV0FSTklORworICAgICMgRXhwZWN0IHdhcm5pbmdzIGZyb20gJyN3YXJuaW5nJyBkaXJlY3RpdmVzIGluIGNoZWNrX2NvbmZpZy5oLgorICAgICMgTm90ZSB0aGF0IGdjYyBpcyByZXF1aXJlZCB0byBhbGxvdyB0aGUgdXNlIG9mIC1Xbm8tZXJyb3I9Y3BwLCB3aGljaCBhbGxvd3MgdXMgdG8KKyAgICAjIGRpc3BsYXkgI3dhcm5pbmcgbWVzc2FnZXMgd2l0aG91dCB0aGVtIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzLgorICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLU8gLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1Xbm8tZXJyb3I9Y3BwJyBsaWIgcHJvZ3JhbXMKKworICAgIG1zZyAiYnVpbGQ6IG1ha2UgdGVzdHMsIGZ1bGwgY29uZmlnICsgTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkcsIGV4cGVjdCB3YXJuaW5ncyIgIyB+IDMwcworICAgICMgU2V0IE1CRURUTFNfVEVTVF9ERVBSRUNBVEVEIHRvIGVuYWJsZSB0ZXN0cyBmb3IgZGVwcmVjYXRlZCBmZWF0dXJlcy4KKyAgICAjIEJ5IGRlZmF1bHQgdGhvc2UgYXJlIGRpc2FibGVkIHdoZW4gTUJFRFRMU19ERVBSRUNBVEVEX1dBUk5JTkcgaXMgc2V0LgorICAgICMgRXhwZWN0IHdhcm5pbmdzIGZyb20gJyN3YXJuaW5nJyBkaXJlY3RpdmVzIGluIGNoZWNrX2NvbmZpZy5oIGFuZAorICAgICMgZnJvbSB0aGUgdXNlIG9mIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIGluIHRlc3Qgc3VpdGVzLgorICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLU8gLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1Xbm8tZXJyb3I9ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMgLVduby1lcnJvcj1jcHAgLURNQkVEVExTX1RFU1RfREVQUkVDQVRFRCcgdGVzdHMKKworICAgIG1zZyAidGVzdDogZnVsbCBjb25maWcgKyBNQkVEVExTX1RFU1RfREVQUkVDQVRFRCIgIyB+IDMwcworICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJwcm9ncmFtIGRlbW9zOiBmdWxsIGNvbmZpZyArIE1CRURUTFNfVEVTVF9ERVBSRUNBVEVEIiAjIH4xMHMKKyAgICB0ZXN0cy9zY3JpcHRzL3J1bl9kZW1vcy5weQorfQorCitjb21wb25lbnRfYnVpbGRfYmFyZW1ldGFsICgpIHsKKyAgbXNnICJidWlsZDogbWFrZSwgYmFyZW1ldGFsIGNvbmZpZyIKKyAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCisgIG1ha2UgQ0ZMQUdTPSItTzEgLVdlcnJvciAtSSRQV0QvdGVzdHMvaW5jbHVkZS9iYXJlbWV0YWwtb3ZlcnJpZGUvIgorfQorCitzdXBwb3J0X2J1aWxkX2JhcmVtZXRhbCAoKSB7CisgICAgIyBPbGRlciBHbGliYyB2ZXJzaW9ucyBpbmNsdWRlIHRpbWUuaCBmcm9tIG90aGVyIGhlYWRlcnMgc3VjaCBhcyBzdGRsaWIuaCwKKyAgICAjIHdoaWNoIG1ha2VzIHRoZSBuby10aW1lLmgtaW4tYmFyZW1ldGFsIGNoZWNrIGZhaWwuIFVidW50dSAxNi4wNCBoYXMgdGhpcworICAgICMgcHJvYmxlbSwgVWJ1bnR1IDE4LjA0IGlzIG9rLgorICAgICEgZ3JlcCAtcSAtRiB0aW1lLmggL3Vzci9pbmNsdWRlL3g4Nl82NC1saW51eC1nbnUvc3lzL3R5cGVzLmgKK30KKworY29tcG9uZW50X3Rlc3Rfbm9fcHNhX2NyeXB0b19mdWxsX2NtYWtlX2FzYW4gKCkgeworICAgICMgZnVsbCBtaW51cyBNQkVEVExTX1BTQV9DUllQVE9fQzogcnVuIHRoZSBzYW1lIHNldCBvZiB0ZXN0cyBhcyBiYXNpYy1idWlsZC10ZXN0LnNoCisgICAgbXNnICJidWlsZDogY21ha2UsIGZ1bGwgY29uZmlnIG1pbnVzIFBTQSBjcnlwdG8sIEFTYW4iCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9JVFNfRklMRV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19MTVNfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfTE1TX1BSSVZBVEUKKyAgICBDQz0kQVNBTl9DQyBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1Bc2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChmdWxsIG1pbnVzIFBTQSBjcnlwdG8pIgorICAgIG1ha2UgdGVzdAorCisgICAgIyBOb3RlOiBzc2wtb3B0LnNoIGhhcyBzb21lIHRlc3QgY2FzZXMgdGhhdCBkZXBlbmQgb24KKyAgICAjIE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFICYmICFNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgIyBUaGlzIGlzIHRoZSBvbmx5IGNvbXBvbmVudCB3aGVyZSB0aG9zZSB0ZXN0cyBhcmUgbm90IHNraXBwZWQuCisgICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIChmdWxsIG1pbnVzIFBTQSBjcnlwdG8pIgorICAgIHRlc3RzL3NzbC1vcHQuc2gKKworICAgICMgTm90ZTogdGhlIG5leHQgdHdvIGludm9jYXRpb25zIGNvdmVyIGFsbCBjb21wYXQuc2ggdGVzdCBjYXNlcy4KKyAgICAjIFdlIHNob3VsZCB1c2UgdGhlIHNhbWUgaGVyZSBhbmQgaW4gYmFzaWMtYnVpbGQtdGVzdC5zaC4KKyAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaDogZGVmYXVsdCB2ZXJzaW9uIChmdWxsIG1pbnVzIFBTQSBjcnlwdG8pIgorICAgIHRlc3RzL2NvbXBhdC5zaCAtZSAnQVJJQVx8Q0hBQ0hBJworCisgICAgbXNnICJ0ZXN0OiBjb21wYXQuc2g6IG5leHQ6IEFSSUEsIENoYWNoYSAoZnVsbCBtaW51cyBQU0EgY3J5cHRvKSIKKyAgICBlbnYgT1BFTlNTTD0iJE9QRU5TU0xfTkVYVCIgdGVzdHMvY29tcGF0LnNoIC1lICdeJCcgLWYgJ0FSSUFcfENIQUNIQScKK30KKworY29tcG9uZW50X2J1aWxkX3RmbSAoKSB7CisgICAgIyBDaGVjayB0aGF0IHRoZSBURi1NIGNvbmZpZ3VyYXRpb24gY2FuIGJ1aWxkIGNsZWFubHkgd2l0aCB2YXJpb3VzCisgICAgIyB3YXJuaW5nIGZsYWdzIGVuYWJsZWQuIFdlIGRvbid0IGJ1aWxkIG9yIHJ1biB0ZXN0cywgc2luY2UgdGhlCisgICAgIyBURi1NIGNvbmZpZ3VyYXRpb24gbmVlZHMgYSBURi1NIHBsYXRmb3JtLiBBIHR3ZWFrZWQgdmVyc2lvbiBvZgorICAgICMgdGhlIGNvbmZpZ3VyYXRpb24gdGhhdCB3b3JrcyBvbiBtYWluc3RyZWFtIHBsYXRmb3JtcyBpcyBpbgorICAgICMgY29uZmlncy9jb25maWctdGZtLmgsIHRlc3RlZCB2aWEgdGVzdC1yZWYtY29uZmlncy5wbC4KKyAgICBjcCBjb25maWdzL2NvbmZpZy10Zm0uaCAiJENPTkZJR19IIgorCisgICAgbXNnICJidWlsZDogVEYtTSBjb25maWcsIGNsYW5nLCBhcm12Ny1tIHRodW1iMiIKKyAgICBtYWtlIGxpYiBDQz0iY2xhbmciIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWFyY2g9YXJtdjctbSAtbXRodW1iIC1PcyAtc3RkPWM5OSAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLVd3cml0ZS1zdHJpbmdzIC1XcG9pbnRlci1hcml0aCAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoIC1Xc2hhZG93IC1XdmxhIC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbCAtV3NoYWRvdyAtV2FzbS1vcGVyYW5kLXdpZHRocyAtV3VudXNlZCAtSS4uL3Rlc3RzL2luY2x1ZGUvc3BlIgorCisgICAgbXNnICJidWlsZDogVEYtTSBjb25maWcsIGdjYyBuYXRpdmUgYnVpbGQiCisgICAgbWFrZSBjbGVhbgorICAgIG1ha2UgbGliIENDPSJnY2MiIENGTEFHUz0iLU9zIC1zdGQ9Yzk5IC1XZXJyb3IgLVdhbGwgLVdleHRyYSAtV3dyaXRlLXN0cmluZ3MgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1XdmxhIC1XZm9ybWF0PTIgLVduby1mb3JtYXQtbm9ubGl0ZXJhbCAtV3NoYWRvdyAtV2Zvcm1hdC1zaWduZWRuZXNzIC1XbG9naWNhbC1vcCAtSS4uL3Rlc3RzL2luY2x1ZGUvc3BlIgorfQorCitjb21wb25lbnRfdGVzdF9ub19wbGF0Zm9ybSAoKSB7CisgICAgIyBGdWxsIGNvbmZpZ3VyYXRpb24gYnVpbGQsIHdpdGhvdXQgcGxhdGZvcm0gc3VwcG9ydCwgZmlsZSBJTyBhbmQgbmV0IHNvY2tldHMuCisgICAgIyBUaGlzIHNob3VsZCBjYXRjaCBtaXNzaW5nIG1iZWR0bHNfcHJpbnRmIGRlZmluaXRpb25zLCBhbmQgYnkgZGlzYWJsaW5nIGZpbGUKKyAgICAjIElPLCBpdCBzaG91bGQgY2F0Y2ggbWlzc2luZyAnI2luY2x1ZGUgPHN0ZGlvLmg+JworICAgIG1zZyAiYnVpbGQ6IGZ1bGwgY29uZmlnIGV4Y2VwdCBwbGF0Zm9ybS9mc2lvL25ldCwgbWFrZSwgZ2NjLCBDOTkiICMgfiAzMHMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsX25vX3BsYXRmb3JtCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QTEFURk9STV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19ORVRfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfRlNfSU8KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU0VfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9JVFNfRklMRV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19FTlRST1BZX05WX1NFRUQKKyAgICAjIE5vdGUsIF9ERUZBVUxUX1NPVVJDRSBuZWVkcyB0byBiZSBkZWZpbmVkIGZvciBwbGF0Zm9ybXMgdXNpbmcgZ2xpYmMgdmVyc2lvbiA+Mi4xOSwKKyAgICAjIHRvIHJlLWVuYWJsZSBwbGF0Zm9ybSBpbnRlZ3JhdGlvbiBmZWF0dXJlcyBvdGhlcndpc2UgZGlzYWJsZWQgaW4gQzk5IGJ1aWxkcworICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1zdGQ9Yzk5IC1wZWRhbnRpYyAtT3MgLURfREVGQVVMVF9TT1VSQ0UnIGxpYiBwcm9ncmFtcworICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1PcycgdGVzdAorfQorCitjb21wb25lbnRfdGVzdF9tZW1vcnlfYnVmZmVyX2FsbG9jYXRvcl9iYWNrdHJhY2UgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGggbWVtb3J5IGJ1ZmZlciBhbGxvY2F0b3IgYW5kIGJhY2t0cmFjZSBlbmFibGVkIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BMQVRGT1JNX01FTU9SWQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX01FTU9SWV9CQUNLVFJBQ0UKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19NRU1PUllfREVCVUcKKyAgICBjbWFrZSAtRENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPVJlbGVhc2UgLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MgYW5kIE1CRURUTFNfTUVNT1JZX0JBQ0tUUkFDRSIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfbWVtb3J5X2J1ZmZlcl9hbGxvY2F0b3IgKCkgeworICAgIG1zZyAiYnVpbGQ6IGRlZmF1bHQgY29uZmlnIHdpdGggbWVtb3J5IGJ1ZmZlciBhbGxvY2F0b3IiCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTUVNT1JZX0JVRkZFUl9BTExPQ19DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUExBVEZPUk1fTUVNT1JZCisgICAgY21ha2UgLURDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1SZWxlYXNlIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IE1CRURUTFNfTUVNT1JZX0JVRkZFUl9BTExPQ19DIgorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoLCBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQyIKKyAgICAjIE1CRURUTFNfTUVNT1JZX0JVRkZFUl9BTExPQyBpcyBzbG93LiBTa2lwIHRlc3RzIHRoYXQgdGVuZCB0byB0aW1lIG91dC4KKyAgICB0ZXN0cy9zc2wtb3B0LnNoIC1lICdeRFRMUyBwcm94eScKK30KKworY29tcG9uZW50X3Rlc3RfbWFsbG9jXzBfbnVsbCAoKSB7CisgICAgbXNnICJidWlsZDogbWFsbG9jKDApIHJldHVybnMgTlVMTCAoQVNhbitVQlNhbiBidWlsZCkiCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIG1ha2UgQ0M9JEFTQU5fQ0MgQ0ZMQUdTPSInLURNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEU9XCIkUFdEL3Rlc3RzL2NvbmZpZ3MvdXNlci1jb25maWctbWFsbG9jLTAtbnVsbC5oXCInICRBU0FOX0NGTEFHUyIgTERGTEFHUz0iJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBtYWxsb2MoMCkgcmV0dXJucyBOVUxMIChBU2FuK1VCU2FuIGJ1aWxkKSIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAic2VsZnRlc3Q6IG1hbGxvYygwKSByZXR1cm5zIE5VTEwgKEFTYW4rVUJTYW4gYnVpbGQpIgorICAgICMgSnVzdCB0aGUgY2FsbG9jIHNlbGZ0ZXN0LiAibWFrZSB0ZXN0IiByYW4gdGhlIG90aGVycyBhcyBwYXJ0IG9mIHRoZQorICAgICMgdGVzdCBzdWl0ZXMuCisgICAgcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdCBjYWxsb2MKKworICAgIG1zZyAidGVzdCBzc2wtb3B0LnNoOiBtYWxsb2MoMCkgcmV0dXJucyBOVUxMIChBU2FuK1VCU2FuIGJ1aWxkKSIKKyAgICAjIFJ1biBhIHN1YnNldCBvZiB0aGUgdGVzdHMuIFRoZSBjaG9pY2UgaXMgYSBiYWxhbmNlIGJldHdlZW4gY292ZXJhZ2UKKyAgICAjIGFuZCB0aW1lIChpbmNsdWRpbmcgdGltZSBpbmRpcmVjdGx5IHdhc3RlZCBkdWUgdG8gZmxha3kgdGVzdHMpLgorICAgICMgVGhlIGN1cnJlbnQgY2hvaWNlIGlzIHRvIHNraXAgdGVzdHMgd2hvc2UgZGVzY3JpcHRpb24gaW5jbHVkZXMKKyAgICAjICJwcm94eSIsIHdoaWNoIGlzIGFuIGFwcHJveGltYXRpb24gb2Ygc2tpcHBpbmcgdGVzdHMgdGhhdCB1c2UgdGhlCisgICAgIyBVRFAgcHJveHksIHdoaWNoIHRlbmQgdG8gYmUgc2xvd2VyIGFuZCBmbGFraWVyLgorICAgIHRlc3RzL3NzbC1vcHQuc2ggLWUgJ3Byb3h5JworfQorCitjb21wb25lbnRfYnVpbGRfbWJlZHRsc19jb25maWdfZmlsZSAoKSB7CisgICAgbXNnICJidWlsZDogbWFrZSB3aXRoIE1CRURUTFNfQ09ORklHX0ZJTEUiICMgfjQwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IC13IGZ1bGxfY29uZmlnLmggZnVsbAorICAgIGVjaG8gJyNlcnJvciAiTUJFRFRMU19DT05GSUdfRklMRSBpcyBub3Qgd29ya2luZyInID4iJENPTkZJR19IIgorICAgIG1ha2UgQ0ZMQUdTPSItSSAnJFBXRCcgLURNQkVEVExTX0NPTkZJR19GSUxFPSdcImZ1bGxfY29uZmlnLmhcIiciCisgICAgIyBNYWtlIHN1cmUgdGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQuIFdlJ2xsIGRpc2FibGUgaXQgaW4gdGhlIG5leHQgcGhhc2UuCisgICAgcHJvZ3JhbXMvdGVzdC9xdWVyeV9jb21waWxlX3RpbWVfY29uZmlnIE1CRURUTFNfTklTVF9LV19DCisgICAgbWFrZSBjbGVhbgorCisgICAgbXNnICJidWlsZDogbWFrZSB3aXRoIE1CRURUTFNfQ09ORklHX0ZJTEUgKyBNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEUiCisgICAgIyBJbiB0aGUgdXNlciBjb25maWcsIGRpc2FibGUgb25lIGZlYXR1cmUgKGZvciBzaW1wbGljaXR5LCBwaWNrIGEgZmVhdHVyZQorICAgICMgdGhhdCBub3RoaW5nIGVsc2UgZGVwZW5kcyBvbikuCisgICAgZWNobyAnI3VuZGVmIE1CRURUTFNfTklTVF9LV19DJyA+dXNlcl9jb25maWcuaAorICAgIG1ha2UgQ0ZMQUdTPSItSSAnJFBXRCcgLURNQkVEVExTX0NPTkZJR19GSUxFPSdcImZ1bGxfY29uZmlnLmhcIicgLURNQkVEVExTX1VTRVJfQ09ORklHX0ZJTEU9J1widXNlcl9jb25maWcuaFwiJyIKKyAgICBub3QgcHJvZ3JhbXMvdGVzdC9xdWVyeV9jb21waWxlX3RpbWVfY29uZmlnIE1CRURUTFNfTklTVF9LV19DCisKKyAgICBybSAtZiB1c2VyX2NvbmZpZy5oIGZ1bGxfY29uZmlnLmgKK30KKworY29tcG9uZW50X3Rlc3Rfbm9fc3RyaW5ncyAoKSB7CisgICAgbXNnICJidWlsZDogbm8gc3RyaW5ncyIgIyB+MTBzCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgICMgRGlzYWJsZSBvcHRpb25zIHRoYXQgYWN0aXZhdGUgYSBsYXJnZSBhbW91bnQgb2Ygc3RyaW5nIGNvbnN0YW50cy4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0RFQlVHX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0VSUk9SX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19FUlJPUl9TVFJFUlJPUl9EVU1NWQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVkVSU0lPTl9GRUFUVVJFUworICAgIG1ha2UgQ0ZMQUdTPSctV2Vycm9yIC1PcycKKworICAgIG1zZyAidGVzdDogbm8gc3RyaW5ncyIgIyB+IDEwcworICAgIG1ha2UgdGVzdAorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLXBsYXRmb3JtLnNoIGIvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLXBsYXRmb3JtLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZjEwOGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9zY3JpcHRzL2NvbXBvbmVudHMtcGxhdGZvcm0uc2gKQEAgLTAsMCArMSw2MTcgQEAKKyMgY29tcG9uZW50cy1wbGF0Zm9ybS5zaAorIworIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCisKKyMgVGhpcyBmaWxlIGNvbnRhaW5zIHRlc3QgY29tcG9uZW50cyB0aGF0IGFyZSBleGVjdXRlZCBieSBhbGwuc2gKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBQbGF0Zm9ybSBUZXN0aW5nCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK3N1cHBvcnRfdGVzdF9hZXNuaSAoKSB7CisgICAgIyBDaGVjayB0aGF0IGdjYyB0YXJnZXRzIHg4Nl82NCAod2UgY2FuIGJ1aWxkIEFFU05JKSwgYW5kIGNoZWNrIGZvcgorICAgICMgQUVTTkkgc3VwcG9ydCBvbiB0aGUgaG9zdCAod2UgY2FuIHJ1biBBRVNOSSkuCisgICAgIworICAgICMgVGhlIG5hbWUgb2YgdGhpcyBmdW5jdGlvbiBpcyBwb3NzaWJseSBzbGlnaHRseSBtaXNsZWFkaW5nLCBidXQgbmVlZHMgdG8gYWxpZ24KKyAgICAjIHdpdGggdGhlIG5hbWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgdGVzdCwgY29tcG9uZW50X3Rlc3RfYWVzbmkuCisgICAgIworICAgICMgSW4gcHJpbmNpcGxlIDMyLWJpdCB4ODYgY2FuIHN1cHBvcnQgQUVTTkksIGJ1dCBvdXIgaW1wbGVtZW50YXRpb24gZG9lcyBub3QKKyAgICAjIHN1cHBvcnQgMzItYml0IHg4Niwgc28gd2UgY2hlY2sgZm9yIHg4Ni02NC4KKyAgICAjIFdlIGNhbiBvbmx5IGdyZXAgL3Byb2MvY3B1aW5mbyBvbiBMaW51eCwgc28gdGhpcyBhbHNvIGNoZWNrcyBmb3IgTGludXgKKyAgICAoZ2NjIC12IDI+JjEgfCBncmVwIFRhcmdldCB8IGdyZXAgLXEgeDg2XzY0KSAmJgorICAgICAgICBbWyAiJEhPU1RUWVBFIiA9PSAieDg2XzY0IiAmJiAiJE9TVFlQRSIgPT0gImxpbnV4LWdudSIgXV0gJiYKKyAgICAgICAgKGxzY3B1IHwgZ3JlcCAtcXcgYWVzKQorfQorCitjb21wb25lbnRfdGVzdF9hZXNuaSAoKSB7ICMgfiA2MHMKKyAgICAjIFRoaXMgdGVzdHMgdGhlIHR3byBBRVNOSSBpbXBsZW1lbnRhdGlvbnMgKGludHJpbnNpY3MgYW5kIGFzc2VtYmx5KSwgYW5kIGFsc28gdGhlIHBsYWluIEMKKyAgICAjIGZhbGxiYWNrLiBJdCBhbHNvIHRlc3RzIHRoZSBsb2dpYyB0aGF0IGlzIHVzZWQgdG8gc2VsZWN0IHdoaWNoIGltcGxlbWVudGF0aW9uKHMpIHRvIGJ1aWxkLgorICAgICMKKyAgICAjIFRoaXMgdGVzdCBkb2VzIG5vdCByZXF1aXJlIHRoZSBob3N0IHRvIGhhdmUgc3VwcG9ydCBmb3IgQUVTTkkgKGlmIGl0IGRvZXNuJ3QsIHRoZSBydW4tdGltZQorICAgICMgQUVTTkkgZGV0ZWN0aW9uIHdpbGwgZmFsbGJhY2sgdG8gdGhlIHBsYWluIEMgaW1wbGVtZW50YXRpb24sIHNvIHRoZSB0ZXN0cyB3aWxsIGluc3RlYWQKKyAgICAjIGV4ZXJjaXNlIHRoZSBwbGFpbiBDIGltcGwpLgorCisgICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgd2l0aCBkaWZmZXJlbnQgQUVTIGltcGxlbWVudGF0aW9ucyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNOSV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19IQVZFX0FTTQorCisgICAgIyB0ZXN0IHRoZSBpbnRyaW5zaWNzIGltcGxlbWVudGF0aW9uCisgICAgbXNnICJBRVMgdGVzdHMsIHRlc3QgaW50cmluc2ljcyIKKyAgICBtYWtlIGNsZWFuCisgICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSctV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW1wY2xtdWwgLW1zc2UyIC1tYWVzJworICAgICMgY2hlY2sgdGhhdCB3ZSBidWlsdCBpbnRyaW5zaWNzIC0gdGhpcyBzaG91bGQgYmUgdXNlZCBieSBkZWZhdWx0IHdoZW4gc3VwcG9ydGVkIGJ5IHRoZSBjb21waWxlcgorICAgIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdCBhZXMgfCBncmVwICJBRVNOSSBjb2RlIiB8IGdyZXAgLXEgImludHJpbnNpY3MiCisKKyAgICAjIHRlc3QgdGhlIGFzbSBpbXBsZW1lbnRhdGlvbgorICAgIG1zZyAiQUVTIHRlc3RzLCB0ZXN0IGFzc2VtYmx5IgorICAgIG1ha2UgY2xlYW4KKyAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1XZXJyb3IgLVdhbGwgLVdleHRyYSAtbW5vLXBjbG11bCAtbW5vLXNzZTIgLW1uby1hZXMnCisgICAgIyBjaGVjayB0aGF0IHdlIGJ1aWx0IGFzc2VtYmx5IC0gdGhpcyBzaG91bGQgYmUgYnVpbHQgaWYgdGhlIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgaW50cmluc2ljcworICAgIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdCBhZXMgfCBncmVwICJBRVNOSSBjb2RlIiB8IGdyZXAgLXEgImFzc2VtYmx5IgorCisgICAgIyB0ZXN0IHRoZSBwbGFpbiBDIGltcGxlbWVudGF0aW9uCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkKKyAgICBtc2cgIkFFUyB0ZXN0cywgcGxhaW4gQyIKKyAgICBtYWtlIGNsZWFuCisgICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSctTzIgLVdlcnJvcicKKyAgICAjIGNoZWNrIHRoYXQgdGhlcmUgaXMgbm8gQUVTTkkgY29kZSBwcmVzZW50CisgICAgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0IGFlcyB8IG5vdCBncmVwIC1xICJBRVNOSSBjb2RlIgorICAgIG5vdCBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgQUVTTkkiIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorICAgIGdyZXAgLXEgIkFFUyBub3RlOiBidWlsdC1pbiBpbXBsZW1lbnRhdGlvbi4iIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorCisgICAgIyB0ZXN0IHRoZSBpbnRyaW5zaWNzIGltcGxlbWVudGF0aW9uCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTTklfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0FFU19VU0VfSEFSRFdBUkVfT05MWQorICAgIG1zZyAiQUVTIHRlc3RzLCB0ZXN0IEFFU05JIG9ubHkiCisgICAgbWFrZSBjbGVhbgorICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1tcGNsbXVsIC1tc3NlMiAtbWFlcycKKyAgICAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QgYWVzIHwgZ3JlcCAtcSAiQUVTIG5vdGU6IHVzaW5nIEFFU05JIgorICAgIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdCBhZXMgfCBub3QgZ3JlcCAtcSAiQUVTIG5vdGU6IGJ1aWx0LWluIGltcGxlbWVudGF0aW9uLiIKKyAgICBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgQUVTTkkiIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorICAgIG5vdCBncmVwIC1xICJBRVMgbm90ZTogYnVpbHQtaW4gaW1wbGVtZW50YXRpb24uIiAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKK30KKworc3VwcG9ydF90ZXN0X2Flc25pX20zMiAoKSB7CisgICAgc3VwcG9ydF90ZXN0X20zMl9ub19hc20gJiYgKGxzY3B1IHwgZ3JlcCAtcXcgYWVzKQorfQorCitjb21wb25lbnRfdGVzdF9hZXNuaV9tMzIgKCkgeyAjIH4gNjBzCisgICAgIyBUaGlzIHRlc3RzIGFyZSBkdXBsaWNhdGVkIGZyb20gY29tcG9uZW50X3Rlc3RfYWVzbmkgZm9yIGkzODYgdGFyZ2V0CisgICAgIworICAgICMgQUVTTkkgaW50cmluc2ljIGNvZGUgc3VwcG9ydHMgaTM4NiBhbmQgYXNzZW1ibHkgY29kZSBkb2VzIG5vdCBzdXBwb3J0IGl0LgorCisgICAgbXNnICJidWlsZDogZGVmYXVsdCBjb25maWcgd2l0aCBkaWZmZXJlbnQgQUVTIGltcGxlbWVudGF0aW9ucyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNOSV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUEFETE9DS19DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19IQVZFX0FTTQorCisgICAgIyB0ZXN0IHRoZSBpbnRyaW5zaWNzIGltcGxlbWVudGF0aW9uIHdpdGggZ2NjCisgICAgbXNnICJBRVMgdGVzdHMsIHRlc3QgaW50cmluc2ljcyAoZ2NjKSIKKyAgICBtYWtlIGNsZWFuCisgICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSctbTMyIC1XZXJyb3IgLVdhbGwgLVdleHRyYScgTERGTEFHUz0nLW0zMicKKyAgICAjIGNoZWNrIHRoYXQgd2UgYnVpbHQgaW50cmluc2ljcyAtIHRoaXMgc2hvdWxkIGJlIHVzZWQgYnkgZGVmYXVsdCB3aGVuIHN1cHBvcnRlZCBieSB0aGUgY29tcGlsZXIKKyAgICAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QgYWVzIHwgZ3JlcCAiQUVTTkkgY29kZSIgfCBncmVwIC1xICJpbnRyaW5zaWNzIgorICAgIGdyZXAgLXEgIkFFUyBub3RlOiB1c2luZyBBRVNOSSIgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisgICAgZ3JlcCAtcSAiQUVTIG5vdGU6IGJ1aWx0LWluIGltcGxlbWVudGF0aW9uLiIgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisgICAgZ3JlcCAtcSAiQUVTIG5vdGU6IHVzaW5nIFZJQSBQYWRsb2NrIiAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKKyAgICBncmVwIC1xIG1iZWR0bHNfYWVzbmlfaGFzX3N1cHBvcnQgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNOSV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19QQURMT0NLX0MKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFkKKyAgICBtc2cgIkFFUyB0ZXN0cywgdGVzdCBBRVNOSSBvbmx5IgorICAgIG1ha2UgY2xlYW4KKyAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1tMzIgLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1tcGNsbXVsIC1tc3NlMiAtbWFlcycgTERGTEFHUz0nLW0zMicKKyAgICAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QgYWVzIHwgZ3JlcCAtcSAiQUVTIG5vdGU6IHVzaW5nIEFFU05JIgorICAgIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdCBhZXMgfCBub3QgZ3JlcCAtcSAiQUVTIG5vdGU6IGJ1aWx0LWluIGltcGxlbWVudGF0aW9uLiIKKyAgICBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgQUVTTkkiIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorICAgIG5vdCBncmVwIC1xICJBRVMgbm90ZTogYnVpbHQtaW4gaW1wbGVtZW50YXRpb24uIiAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKKyAgICBub3QgZ3JlcCAtcSAiQUVTIG5vdGU6IHVzaW5nIFZJQSBQYWRsb2NrIiAuL3Byb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKKyAgICBub3QgZ3JlcCAtcSBtYmVkdGxzX2Flc25pX2hhc19zdXBwb3J0IC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorfQorCitzdXBwb3J0X3Rlc3RfYWVzbmlfbTMyX2NsYW5nICgpIHsKKyAgICAjIGNsYW5nID49IDQgaXMgcmVxdWlyZWQgdG8gYnVpbGQgd2l0aCB0YXJnZXQgYXR0cmlidXRlcworICAgIHN1cHBvcnRfdGVzdF9hZXNuaV9tMzIgJiYgW1sgJChjbGFuZ192ZXJzaW9uKSAtZ2UgNCBdXQorfQorCitjb21wb25lbnRfdGVzdF9hZXNuaV9tMzJfY2xhbmcgKCkgeworCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTTklfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BBRExPQ0tfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfSEFWRV9BU00KKworICAgICMgdGVzdCB0aGUgaW50cmluc2ljcyBpbXBsZW1lbnRhdGlvbiB3aXRoIGNsYW5nCisgICAgbXNnICJBRVMgdGVzdHMsIHRlc3QgaW50cmluc2ljcyAoY2xhbmcpIgorICAgIG1ha2UgY2xlYW4KKyAgICBtYWtlIENDPWNsYW5nIENGTEFHUz0nLW0zMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnIExERkxBR1M9Jy1tMzInCisgICAgIyBjaGVjayB0aGF0IHdlIGJ1aWx0IGludHJpbnNpY3MgLSB0aGlzIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgd2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNvbXBpbGVyCisgICAgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0IGFlcyB8IGdyZXAgIkFFU05JIGNvZGUiIHwgZ3JlcCAtcSAiaW50cmluc2ljcyIKKyAgICBncmVwIC1xICJBRVMgbm90ZTogdXNpbmcgQUVTTkkiIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorICAgIGdyZXAgLXEgIkFFUyBub3RlOiBidWlsdC1pbiBpbXBsZW1lbnRhdGlvbi4iIC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorICAgIGdyZXAgLXEgIkFFUyBub3RlOiB1c2luZyBWSUEgUGFkbG9jayIgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisgICAgZ3JlcCAtcSBtYmVkdGxzX2Flc25pX2hhc19zdXBwb3J0IC4vcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorfQorCitzdXBwb3J0X2J1aWxkX2Flc19hcm1jZSAoKSB7CisgICAgIyBjbGFuZyA+PSAxMSBpcyByZXF1aXJlZCB0byBidWlsZCB3aXRoIEFFUyBleHRlbnNpb25zCisgICAgW1sgJChjbGFuZ192ZXJzaW9uKSAtZ2UgMTEgXV0KK30KKworY29tcG9uZW50X2J1aWxkX2Flc19hcm1jZSAoKSB7CisgICAgIyBUZXN0IHZhcmlhdGlvbnMgb2YgQUVTIHdpdGggQXJtdjggY3J5cHRvIGV4dGVuc2lvbnMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19BRVNDRV9DCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZCisKKyAgICBtc2cgIk1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZLCBjbGFuZywgYWFyY2g2NCIKKyAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBsaWJyYXJ5L2Flc2NlLnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSAtbWFyY2g9YXJtdjgtYStjcnlwdG8iCisgICAgbXNnICJjbGFuZywgdGVzdCBhYXJjaDY0IGNyeXB0byBpbnN0cnVjdGlvbnMgYnVpbHQiCisgICAgZ3JlcCAtRSAnYWVzW2Etel0rXHMqW3F2XScgbGlicmFyeS9hZXNjZS5zCisKKyAgICBtc2cgIk1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZLCBjbGFuZywgYXJtIgorICAgIG1ha2UgLUIgbGlicmFyeS9hZXNjZS5vIGxpYnJhcnkvYWVzY2UucyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWE3MitjcnlwdG8gLW1hcm0iCisgICAgbXNnICJjbGFuZywgdGVzdCBBMzIgY3J5cHRvIGluc3RydWN0aW9ucyBidWlsdCIKKyAgICBncmVwIC1FICdhZXNbMC05YS16XSsuWzAtOV1ccypbcXZdJyBsaWJyYXJ5L2Flc2NlLnMKKworICAgIG1zZyAiTUJFRFRMU19BRVNfVVNFX0hBUkRXQVJFX09OTFksIGNsYW5nLCB0aHVtYiIKKyAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBsaWJyYXJ5L2Flc2NlLnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hMzIrY3J5cHRvIC1tdGh1bWIiCisgICAgbXNnICJjbGFuZywgdGVzdCBUMzIgY3J5cHRvIGluc3RydWN0aW9ucyBidWlsdCIKKyAgICBncmVwIC1FICdhZXNbMC05YS16XSsuWzAtOV1ccypbcXZdJyBsaWJyYXJ5L2Flc2NlLnMKKworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZCisKKyAgICBtc2cgIk1CRURUTFNfQUVTX1VTRV9ib3RoLCBjbGFuZywgYWFyY2g2NCIKKyAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBsaWJyYXJ5L2Flc2NlLnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSAtbWFyY2g9YXJtdjgtYStjcnlwdG8iCisgICAgbXNnICJjbGFuZywgdGVzdCBhYXJjaDY0IGNyeXB0byBpbnN0cnVjdGlvbnMgYnVpbHQiCisgICAgZ3JlcCAtRSAnYWVzW2Etel0rXHMqW3F2XScgbGlicmFyeS9hZXNjZS5zCisKKyAgICBtc2cgIk1CRURUTFNfQUVTX1VTRV9ib3RoLCBjbGFuZywgYXJtIgorICAgIG1ha2UgLUIgbGlicmFyeS9hZXNjZS5vIGxpYnJhcnkvYWVzY2UucyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWE3MitjcnlwdG8gLW1hcm0iCisgICAgbXNnICJjbGFuZywgdGVzdCBBMzIgY3J5cHRvIGluc3RydWN0aW9ucyBidWlsdCIKKyAgICBncmVwIC1FICdhZXNbMC05YS16XSsuWzAtOV1ccypbcXZdJyBsaWJyYXJ5L2Flc2NlLnMKKworICAgIG1zZyAiTUJFRFRMU19BRVNfVVNFX2JvdGgsIGNsYW5nLCB0aHVtYiIKKyAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBsaWJyYXJ5L2Flc2NlLnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hMzIrY3J5cHRvIC1tdGh1bWIiCisgICAgbXNnICJjbGFuZywgdGVzdCBUMzIgY3J5cHRvIGluc3RydWN0aW9ucyBidWlsdCIKKyAgICBncmVwIC1FICdhZXNbMC05YS16XSsuWzAtOV1ccypbcXZdJyBsaWJyYXJ5L2Flc2NlLnMKKworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTQ0VfQworCisgICAgbXNnICJubyBNQkVEVExTX0FFU0NFX0MsIGNsYW5nLCBhYXJjaDY0IgorICAgIG1ha2UgLUIgbGlicmFyeS9hZXNjZS5vIGxpYnJhcnkvYWVzY2UucyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IC1tYXJjaD1hcm12OC1hIgorICAgIG1zZyAiY2xhbmcsIHRlc3QgYWFyY2g2NCBjcnlwdG8gaW5zdHJ1Y3Rpb25zIG5vdCBidWlsdCIKKyAgICBub3QgZ3JlcCAtRSAnYWVzW2Etel0rXHMqW3F2XScgbGlicmFyeS9hZXNjZS5zCisKKyAgICBtc2cgIm5vIE1CRURUTFNfQUVTQ0VfQywgY2xhbmcsIGFybSIKKyAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBsaWJyYXJ5L2Flc2NlLnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hNzIgLW1hcm0iCisgICAgbXNnICJjbGFuZywgdGVzdCBBMzIgY3J5cHRvIGluc3RydWN0aW9ucyBub3QgYnVpbHQiCisgICAgbm90IGdyZXAgLUUgJ2Flc1swLTlhLXpdKy5bMC05XVxzKltxdl0nIGxpYnJhcnkvYWVzY2UucworCisgICAgbXNnICJubyBNQkVEVExTX0FFU0NFX0MsIGNsYW5nLCB0aHVtYiIKKyAgICBtYWtlIC1CIGxpYnJhcnkvYWVzY2UubyBsaWJyYXJ5L2Flc2NlLnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hMzIgLW10aHVtYiIKKyAgICBtc2cgImNsYW5nLCB0ZXN0IFQzMiBjcnlwdG8gaW5zdHJ1Y3Rpb25zIG5vdCBidWlsdCIKKyAgICBub3QgZ3JlcCAtRSAnYWVzWzAtOWEtel0rLlswLTldXHMqW3F2XScgbGlicmFyeS9hZXNjZS5zCit9CisKK3N1cHBvcnRfYnVpbGRfc2hhX2FybWNlICgpIHsKKyAgICAjIGNsYW5nID49IDQgaXMgcmVxdWlyZWQgdG8gYnVpbGQgd2l0aCBTSEEgZXh0ZW5zaW9ucworICAgIFtbICQoY2xhbmdfdmVyc2lvbikgLWdlIDQgXV0KK30KKworY29tcG9uZW50X2J1aWxkX3NoYV9hcm1jZSAoKSB7CisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEEyNTZfVVNFX0FSTVY4X0FfQ1JZUFRPX0lGX1BSRVNFTlQKKworICAgICMgVGVzdCB2YXJpYXRpb25zIG9mIFNIQTI1NiBBcm12OCBjcnlwdG8gZXh0ZW5zaW9ucworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fT05MWQorICAgICAgICBtc2cgIk1CRURUTFNfU0hBMjU2X1VTRV9BUk1WOF9BX0NSWVBUT19PTkxZIGNsYW5nLCBhYXJjaDY0IgorICAgICAgICBtYWtlIC1CIGxpYnJhcnkvc2hhMjU2Lm8gbGlicmFyeS9zaGEyNTYucyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IC1tYXJjaD1hcm12OC1hK2NyeXB0byIKKyAgICAgICAgbXNnICJNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fT05MWSBjbGFuZywgdGVzdCBhYXJjaDY0IGNyeXB0byBpbnN0cnVjdGlvbnMgYnVpbHQiCisgICAgICAgIGdyZXAgLUUgJ3NoYTI1NlthLXowLTldK1xzK1txdl0nIGxpYnJhcnkvc2hhMjU2LnMKKworICAgICAgICBtc2cgIk1CRURUTFNfU0hBMjU2X1VTRV9BUk1WOF9BX0NSWVBUT19PTkxZIGNsYW5nLCBhcm0iCisgICAgICAgIG1ha2UgLUIgbGlicmFyeS9zaGEyNTYubyBsaWJyYXJ5L3NoYTI1Ni5zIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1jb3J0ZXgtYTcyK2NyeXB0byAtbWFybSIKKyAgICAgICAgbXNnICJNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fT05MWSBjbGFuZywgdGVzdCBBMzIgY3J5cHRvIGluc3RydWN0aW9ucyBidWlsdCIKKyAgICAgICAgZ3JlcCAtRSAnc2hhMjU2W2EtejAtOV0rLjMyXHMrW3F2XScgbGlicmFyeS9zaGEyNTYucworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BUk1WOF9BX0NSWVBUT19PTkxZCisKKworICAgICMgdGVzdCB0aGUgZGVwcmVjYXRlZCBmb3JtIG9mIHRoZSBjb25maWcgb3B0aW9uCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BNjRfQ1JZUFRPX09OTFkKKyAgICAgICAgbXNnICJNQkVEVExTX1NIQTI1Nl9VU0VfQTY0X0NSWVBUT19PTkxZIGNsYW5nLCB0aHVtYiIKKyAgICAgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5vIGxpYnJhcnkvc2hhMjU2LnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hMzIrY3J5cHRvIC1tdGh1bWIiCisgICAgICAgIG1zZyAiTUJFRFRMU19TSEEyNTZfVVNFX0E2NF9DUllQVE9fT05MWSBjbGFuZywgdGVzdCBUMzIgY3J5cHRvIGluc3RydWN0aW9ucyBidWlsdCIKKyAgICAgICAgZ3JlcCAtRSAnc2hhMjU2W2EtejAtOV0rLjMyXHMrW3F2XScgbGlicmFyeS9zaGEyNTYucworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BNjRfQ1JZUFRPX09OTFkKKworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVAorICAgICAgICBtc2cgIk1CRURUTFNfU0hBMjU2X1VTRV9BUk1WOF9BX0NSWVBUT19JRl9QUkVTRU5UIGNsYW5nLCBhYXJjaDY0IgorICAgICAgICBtYWtlIC1CIGxpYnJhcnkvc2hhMjU2Lm8gbGlicmFyeS9zaGEyNTYucyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IC1tYXJjaD1hcm12OC1hK2NyeXB0byIKKyAgICAgICAgbXNnICJNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVCBjbGFuZywgdGVzdCBhYXJjaDY0IGNyeXB0byBpbnN0cnVjdGlvbnMgYnVpbHQiCisgICAgICAgIGdyZXAgLUUgJ3NoYTI1NlthLXowLTldK1xzK1txdl0nIGxpYnJhcnkvc2hhMjU2LnMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVAorCisKKyAgICAjIHRlc3QgdGhlIGRlcHJlY2F0ZWQgZm9ybSBvZiB0aGUgY29uZmlnIG9wdGlvbgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UCisgICAgICAgIG1zZyAiTUJFRFRMU19TSEEyNTZfVVNFX0E2NF9DUllQVE9fSUZfUFJFU0VOVCBjbGFuZywgYXJtIgorICAgICAgICBtYWtlIC1CIGxpYnJhcnkvc2hhMjU2Lm8gbGlicmFyeS9zaGEyNTYucyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWE3MitjcnlwdG8gLW1hcm0gLXN0ZD1jOTkiCisKKyAgICAgICAgbXNnICJNQkVEVExTX1NIQTI1Nl9VU0VfQTY0X0NSWVBUT19JRl9QUkVTRU5UIGNsYW5nLCB0aHVtYiIKKyAgICAgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5vIGxpYnJhcnkvc2hhMjU2LnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWNvcnRleC1hMzIrY3J5cHRvIC1tdGh1bWIiCisgICAgICAgIG1zZyAiTUJFRFRMU19TSEEyNTZfVVNFX0E2NF9DUllQVE9fSUZfUFJFU0VOVCBjbGFuZywgdGVzdCBUMzIgY3J5cHRvIGluc3RydWN0aW9ucyBidWlsdCIKKyAgICAgICAgZ3JlcCAtRSAnc2hhMjU2W2EtejAtOV0rLjMyXHMrW3F2XScgbGlicmFyeS9zaGEyNTYucworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfU0hBMjU2X1VTRV9BNjRfQ1JZUFRPX0lGX1BSRVNFTlQKKworICAgICMgZXhhbWluZSB0aGUgZGlzYXNzZW1ibHkgZm9yIGFic2VuY2Ugb2YgU0hBIGluc3RydWN0aW9ucworICAgIG1zZyAiY2xhbmcsIHRlc3QgQTMyIGNyeXB0byBpbnN0cnVjdGlvbnMgbm90IGJ1aWx0IgorICAgIG1ha2UgLUIgbGlicmFyeS9zaGEyNTYucyBDQz1jbGFuZyBDRkxBR1M9Ii0tdGFyZ2V0PWFybS1saW51eC1nbnVlYWJpaGYgLW1jcHU9Y29ydGV4LWE3MiAtbWFybSIKKyAgICBub3QgZ3JlcCAtRSAnc2hhMjU2W2EtejAtOV0rLjMyXHMrW3F2XScgbGlicmFyeS9zaGEyNTYucworCisgICAgbXNnICJjbGFuZywgdGVzdCBUMzIgY3J5cHRvIGluc3RydWN0aW9ucyBub3QgYnVpbHQiCisgICAgbWFrZSAtQiBsaWJyYXJ5L3NoYTI1Ni5zIENDPWNsYW5nIENGTEFHUz0iLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1jb3J0ZXgtYTMyIC1tdGh1bWIiCisgICAgbm90IGdyZXAgLUUgJ3NoYTI1NlthLXowLTldKy4zMlxzK1txdl0nIGxpYnJhcnkvc2hhMjU2LnMKKworICAgIG1zZyAiY2xhbmcsIHRlc3QgYWFyY2g2NCBjcnlwdG8gaW5zdHJ1Y3Rpb25zIG5vdCBidWlsdCIKKyAgICBtYWtlIC1CIGxpYnJhcnkvc2hhMjU2LnMgQ0M9Y2xhbmcgQ0ZMQUdTPSItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSAtbWFyY2g9YXJtdjgtYSIKKyAgICBub3QgZ3JlcCAtRSAnc2hhMjU2W2EtejAtOV0rXHMrW3F2XScgbGlicmFyeS9zaGEyNTYucworfQorCitjb21wb25lbnRfdGVzdF9tMzJfbm9fYXNtICgpIHsKKyAgICAjIEJ1aWxkIHdpdGhvdXQgYXNzZW1ibHksIHNvIGFzIHRvIHVzZSBwb3J0YWJsZSBDIGNvZGUgKGluIGEgMzItYml0CisgICAgIyBidWlsZCkgYW5kIG5vdCB0aGUgaTM4Ni1zcGVjaWZpYyBpbmxpbmUgYXNzZW1ibHkuCisgICAgIworICAgICMgTm90ZSB0aGF0IHdlIHJlcXVpcmUgZ2NjLCBiZWNhdXNlIGNsYW5nIEFzYW4gYnVpbGRzIGZhaWwgdG8gbGluayBmb3IKKyAgICAjIHRoaXMgdGFyZ2V0IChjYW5ub3QgZmluZCBsaWJjbGFuZ19ydC5sc2FuLWkzODYuYSAtIHRoaXMgaXMgYSBrbm93biBjbGFuZyBpc3N1ZSkuCisgICAgbXNnICJidWlsZDogaTM4NiwgbWFrZSwgZ2NjLCBubyBhc20gKEFTYW4gYnVpbGQpIiAjIH4gMzBzCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSEFWRV9BU00KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BBRExPQ0tfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQyAjIEFFU05JIGZvciAzMi1iaXQgaXMgdGVzdGVkIGluIHRlc3RfYWVzbmlfbTMyCisgICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLW0zMiIgTERGTEFHUz0iLW0zMiAkQVNBTl9DRkxBR1MiCisKKyAgICBtc2cgInRlc3Q6IGkzODYsIG1ha2UsIGdjYywgbm8gYXNtIChBU2FuIGJ1aWxkKSIKKyAgICBtYWtlIHRlc3QKK30KKworc3VwcG9ydF90ZXN0X20zMl9ub19hc20gKCkgeworICAgIGNhc2UgJCh1bmFtZSAtbSkgaW4KKyAgICAgICAgYW1kNjR8eDg2XzY0KSB0cnVlOzsKKyAgICAgICAgKikgZmFsc2U7OworICAgIGVzYWMKK30KKworY29tcG9uZW50X3Rlc3RfbTMyX28yICgpIHsKKyAgICAjIEJ1aWxkIHdpdGggb3B0aW1pemF0aW9uLCB0byB1c2UgdGhlIGkzODYgc3BlY2lmaWMgaW5saW5lIGFzc2VtYmx5CisgICAgIyBhbmQgZ28gZmFzdGVyIGZvciB0ZXN0cy4KKyAgICBtc2cgImJ1aWxkOiBpMzg2LCBtYWtlLCBnY2MgLU8yIChBU2FuIGJ1aWxkKSIgIyB+IDMwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU05JX0MgIyBBRVNOSSBmb3IgMzItYml0IGlzIHRlc3RlZCBpbiB0ZXN0X2Flc25pX20zMgorICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1tMzIiIExERkxBR1M9Ii1tMzIgJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBpMzg2LCBtYWtlLCBnY2MgLU8yIChBU2FuIGJ1aWxkKSIKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAidGVzdCBzc2wtb3B0LnNoLCBpMzg2LCBtYWtlLCBnY2MtTzIiCisgICAgdGVzdHMvc3NsLW9wdC5zaAorfQorCitzdXBwb3J0X3Rlc3RfbTMyX28yICgpIHsKKyAgICBzdXBwb3J0X3Rlc3RfbTMyX25vX2FzbSAiJEAiCit9CisKK2NvbXBvbmVudF90ZXN0X20zMl9ldmVyZXN0ICgpIHsKKyAgICBtc2cgImJ1aWxkOiBpMzg2LCBFdmVyZXN0IEVDREggY29udGV4dCAoQVNhbiBidWlsZCkiICMgfiA2IG1pbgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX0VDREhfVkFSSUFOVF9FVkVSRVNUX0VOQUJMRUQKKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0FFU05JX0MgIyBBRVNOSSBmb3IgMzItYml0IGlzIHRlc3RlZCBpbiB0ZXN0X2Flc25pX20zMgorICAgIG1ha2UgQ0M9Z2NjIENGTEFHUz0iJEFTQU5fQ0ZMQUdTIC1tMzIiIExERkxBR1M9Ii1tMzIgJEFTQU5fQ0ZMQUdTIgorCisgICAgbXNnICJ0ZXN0OiBpMzg2LCBFdmVyZXN0IEVDREggY29udGV4dCAtIG1haW4gc3VpdGVzIChpbmMuIHNlbGZ0ZXN0cykgKEFTYW4gYnVpbGQpIiAjIH4gNTBzCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInRlc3Q6IGkzODYsIEV2ZXJlc3QgRUNESCBjb250ZXh0IC0gRUNESC1yZWxhdGVkIHBhcnQgb2Ygc3NsLW9wdC5zaCAoQVNhbiBidWlsZCkiICMgfiA1cworICAgIHRlc3RzL3NzbC1vcHQuc2ggLWYgRUNESAorCisgICAgbXNnICJ0ZXN0OiBpMzg2LCBFdmVyZXN0IEVDREggY29udGV4dCAtIGNvbXBhdC5zaCB3aXRoIHNvbWUgRUNESCBjaXBoZXJzdWl0ZXMgKEFTYW4gYnVpbGQpIiAjIH4gMyBtaW4KKyAgICAjIEV4Y2x1ZGUgc29tZSBzeW1tZXRyaWMgY2lwaGVycyB0aGF0IGFyZSByZWR1bmRhbnQgaGVyZSB0byBnYWluIHRpbWUuCisgICAgdGVzdHMvY29tcGF0LnNoIC1mIEVDREggLVYgTk8gLWUgJ0FSSUFcfENBTUVMTElBXHxDSEFDSEEnCit9CisKK3N1cHBvcnRfdGVzdF9tMzJfZXZlcmVzdCAoKSB7CisgICAgc3VwcG9ydF90ZXN0X20zMl9ub19hc20gIiRAIgorfQorCitjb21wb25lbnRfdGVzdF9teDMyICgpIHsKKyAgICBtc2cgImJ1aWxkOiA2NC1iaXQgSUxQMzIsIG1ha2UsIGdjYyIgIyB+IDMwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBtYWtlIENDPWdjYyBDRkxBR1M9Jy1PMiAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW14MzInIExERkxBR1M9Jy1teDMyJworCisgICAgbXNnICJ0ZXN0OiA2NC1iaXQgSUxQMzIsIG1ha2UsIGdjYyIKKyAgICBtYWtlIHRlc3QKK30KKworc3VwcG9ydF90ZXN0X214MzIgKCkgeworICAgIGNhc2UgJCh1bmFtZSAtbSkgaW4KKyAgICAgICAgYW1kNjR8eDg2XzY0KSB0cnVlOzsKKyAgICAgICAgKikgZmFsc2U7OworICAgIGVzYWMKK30KKworY29tcG9uZW50X3Rlc3RfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX2FybTV2dGUgKCkgeworICAgICMgTWltaWMgRGViaWFuIGFybWVsIHBvcnQKKyAgICBtc2cgInRlc3Q6ICR7QVJNX0xJTlVYX0dOVUVBQklfR0NDX1BSRUZJWH1nY2MgLW1hcmNoPWFybTV2dGUsIGRlZmF1bHQgY29uZmlnIiAjIH40bQorICAgIG1ha2UgQ0M9IiR7QVJNX0xJTlVYX0dOVUVBQklfR0NDX1BSRUZJWH1nY2MiIEFSPSIke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVh9YXIiIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1tYXJjaD1hcm12NXRlIC1PMScKKworICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMgbWFrZSwgZGVmYXVsdCBjb25maWcgKG91dC1vZi1ib3gpIiAjIH43bSA0MHMKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAic2VsZnRlc3Q6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSIgIyB+MHMKKyAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisKKyAgICBtc2cgInByb2dyYW0gZGVtb3M6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSIgIyB+MHMKKyAgICB0ZXN0cy9zY3JpcHRzL3J1bl9kZW1vcy5weQorfQorCitzdXBwb3J0X3Rlc3RfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX2FybTV2dGUgKCkgeworICAgIGNhbl9ydW5fYXJtX2xpbnV4X2dudWVhYmkKK30KKworIyBUaGUgaGFyZCBmbG9hdCBBQkkgaXMgbm90IGltcGxlbWVudGVkIGZvciBUaHVtYiAxLCBzbyB1c2UgZ251ZWFiaQorIyBTb21lIFRodW1iIDEgYXNtIGlzIHNlbnNpdGl2ZSB0byBvcHRpbWlzYXRpb24gbGV2ZWwsIHNvIHRlc3QgYm90aCAtTzAgYW5kIC1PcworY29tcG9uZW50X3Rlc3RfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX3RodW1iXzFfb3B0XzAgKCkgeworICAgIG1zZyAidGVzdDogJHtBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYfWdjYyAtTzAsIHRodW1iIDEsIGRlZmF1bHQgY29uZmlnIiAjIH4ybSAxMHMKKyAgICBtYWtlIENDPSIke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVh9Z2NjIiBDRkxBR1M9Jy1zdGQ9Yzk5IC1XZXJyb3IgLVdleHRyYSAtTzAgLW1jcHU9YXJtMTEzNmotcyAtbXRodW1iJworCisgICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjM2bQorICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzZWxmdGVzdDogbWFrZSwgZGVmYXVsdCBjb25maWcgKG91dC1vZi1ib3gpIiAjIH4xMHMKKyAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisKKyAgICBtc2cgInByb2dyYW0gZGVtb3M6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSIgIyB+MHMKKyAgICB0ZXN0cy9zY3JpcHRzL3J1bl9kZW1vcy5weQorfQorCitzdXBwb3J0X3Rlc3RfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX3RodW1iXzFfb3B0XzAgKCkgeworICAgIGNhbl9ydW5fYXJtX2xpbnV4X2dudWVhYmkKK30KKworY29tcG9uZW50X3Rlc3RfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX3RodW1iXzFfb3B0X3MgKCkgeworICAgIG1zZyAidGVzdDogJHtBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYfWdjYyAtT3MsIHRodW1iIDEsIGRlZmF1bHQgY29uZmlnIiAjIH4zbSAxMHMKKyAgICBtYWtlIENDPSIke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVh9Z2NjIiBDRkxBR1M9Jy1zdGQ9Yzk5IC1XZXJyb3IgLVdleHRyYSAtT3MgLW1jcHU9YXJtMTEzNmotcyAtbXRodW1iJworCisgICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjIxbSAxMHMKKyAgICBtYWtlIHRlc3QKKworICAgIG1zZyAic2VsZnRlc3Q6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSIgIyB+MnMKKyAgICBwcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisKKyAgICBtc2cgInByb2dyYW0gZGVtb3M6IG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSIgIyB+MHMKKyAgICB0ZXN0cy9zY3JpcHRzL3J1bl9kZW1vcy5weQorfQorCitzdXBwb3J0X3Rlc3RfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX3RodW1iXzFfb3B0X3MgKCkgeworICAgIGNhbl9ydW5fYXJtX2xpbnV4X2dudWVhYmkKK30KKworY29tcG9uZW50X3Rlc3RfYXJtX2xpbnV4X2dudWVhYmloZl9nY2NfYXJtdjcgKCkgeworICAgIG1zZyAidGVzdDogJHtBUk1fTElOVVhfR05VRUFCSUhGX0dDQ19QUkVGSVh9Z2NjIC1PMiwgQTMyLCBkZWZhdWx0IGNvbmZpZyIgIyB+NG0gMzBzCisgICAgbWFrZSBDQz0iJHtBUk1fTElOVVhfR05VRUFCSUhGX0dDQ19QUkVGSVh9Z2NjIiBDRkxBR1M9Jy1zdGQ9Yzk5IC1XZXJyb3IgLVdleHRyYSAtTzIgLW1hcmNoPWFybXY3LWEgLW1hcm0nCisKKyAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIG1ha2UsIGRlZmF1bHQgY29uZmlnIChvdXQtb2YtYm94KSIgIyB+M20gMzBzCisgICAgbWFrZSB0ZXN0CisKKyAgICBtc2cgInNlbGZ0ZXN0OiBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjBzCisgICAgcHJvZ3JhbXMvdGVzdC9zZWxmdGVzdAorCisgICAgbXNnICJwcm9ncmFtIGRlbW9zOiBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjBzCisgICAgdGVzdHMvc2NyaXB0cy9ydW5fZGVtb3MucHkKK30KKworc3VwcG9ydF90ZXN0X2FybV9saW51eF9nbnVlYWJpaGZfZ2NjX2FybXY3ICgpIHsKKyAgICBjYW5fcnVuX2FybV9saW51eF9nbnVlYWJpaGYKK30KKworY29tcG9uZW50X3Rlc3RfYXJtX2xpbnV4X2dudWVhYmloZl9nY2NfdGh1bWJfMiAoKSB7CisgICAgbXNnICJ0ZXN0OiAke0FSTV9MSU5VWF9HTlVFQUJJSEZfR0NDX1BSRUZJWH1nY2MgLU9zLCB0aHVtYiAyLCBkZWZhdWx0IGNvbmZpZyIgIyB+NG0KKyAgICBtYWtlIENDPSIke0FSTV9MSU5VWF9HTlVFQUJJSEZfR0NDX1BSRUZJWH1nY2MiIENGTEFHUz0nLXN0ZD1jOTkgLVdlcnJvciAtV2V4dHJhIC1PcyAtbWFyY2g9YXJtdjctYSAtbXRodW1iJworCisgICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjNtIDQwcworICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzZWxmdGVzdDogbWFrZSwgZGVmYXVsdCBjb25maWcgKG91dC1vZi1ib3gpIiAjIH4wcworICAgIHByb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKKworICAgIG1zZyAicHJvZ3JhbSBkZW1vczogbWFrZSwgZGVmYXVsdCBjb25maWcgKG91dC1vZi1ib3gpIiAjIH4wcworICAgIHRlc3RzL3NjcmlwdHMvcnVuX2RlbW9zLnB5Cit9CisKK3N1cHBvcnRfdGVzdF9hcm1fbGludXhfZ251ZWFiaWhmX2djY190aHVtYl8yICgpIHsKKyAgICBjYW5fcnVuX2FybV9saW51eF9nbnVlYWJpaGYKK30KKworY29tcG9uZW50X3Rlc3RfYWFyY2g2NF9saW51eF9nbnVfZ2NjICgpIHsKKyAgICBtc2cgInRlc3Q6ICR7QUFSQ0g2NF9MSU5VWF9HTlVfR0NDX1BSRUZJWH1nY2MgLU8yLCBkZWZhdWx0IGNvbmZpZyIgIyB+M20gNTBzCisgICAgbWFrZSBDQz0iJHtBQVJDSDY0X0xJTlVYX0dOVV9HQ0NfUFJFRklYfWdjYyIgQ0ZMQUdTPSctc3RkPWM5OSAtV2Vycm9yIC1XZXh0cmEgLU8yJworCisgICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyBtYWtlLCBkZWZhdWx0IGNvbmZpZyAob3V0LW9mLWJveCkiICMgfjFtIDUwcworICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJzZWxmdGVzdDogbWFrZSwgZGVmYXVsdCBjb25maWcgKG91dC1vZi1ib3gpIiAjIH4wcworICAgIHByb2dyYW1zL3Rlc3Qvc2VsZnRlc3QKKworICAgIG1zZyAicHJvZ3JhbSBkZW1vczogbWFrZSwgZGVmYXVsdCBjb25maWcgKG91dC1vZi1ib3gpIiAjIH4wcworICAgIHRlc3RzL3NjcmlwdHMvcnVuX2RlbW9zLnB5Cit9CisKK3N1cHBvcnRfdGVzdF9hYXJjaDY0X2xpbnV4X2dudV9nY2MgKCkgeworICAgICMgTWluaW11bSB2ZXJzaW9uIG9mIEdDQyBmb3IgTUJFRFRMU19BRVNDRV9DIGlzIDYuMAorICAgIFsgIiQoZ2NjX3ZlcnNpb24gIiR7QUFSQ0g2NF9MSU5VWF9HTlVfR0NDX1BSRUZJWH1nY2MiKSIgLWdlIDYgXSAmJiBjYW5fcnVuX2FhcmNoNjRfbGludXhfZ251Cit9CisKK2NvbXBvbmVudF9idWlsZF9hcm1fbm9uZV9lYWJpX2djYyAoKSB7CisgICAgbXNnICJidWlsZDogJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIC1PMSwgYmFyZW1ldGFsK2RlYnVnIiAjIH4gMTBzCisgICAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCisgICAgbWFrZSBDQz0iJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIiBBUj0iJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9YXIiIExEPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1sZCIgQ0ZMQUdTPSctc3RkPWM5OSAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLU8xJyBsaWIKKworICAgIG1zZyAic2l6ZTogJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIC1PMSwgYmFyZW1ldGFsK2RlYnVnIgorICAgICR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfXNpemUgLXQgbGlicmFyeS8qLm8KK30KKworY29tcG9uZW50X2J1aWxkX2FybV9saW51eF9nbnVlYWJpX2djY19hcm01dnRlICgpIHsKKyAgICBtc2cgImJ1aWxkOiAke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVh9Z2NjIC1tYXJjaD1hcm01dnRlLCBiYXJlbWV0YWwrZGVidWciICMgfiAxMHMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBiYXJlbWV0YWwKKyAgICAjIEJ1aWxkIGZvciBhIHRhcmdldCBwbGF0Zm9ybSB0aGF0J3MgY2xvc2UgdG8gd2hhdCBEZWJpYW4gdXNlcworICAgICMgZm9yIGl0cyAiYXJtZWwiIGRpc3RyaWJ1dGlvbiAoaHR0cHM6Ly93aWtpLmRlYmlhbi5vcmcvQXJtRWFiaVBvcnQpLgorICAgICMgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NYmVkLVRMUy9tYmVkdGxzL3B1bGwvMjE2OSBhbmQgY29tbWVudHMuCisgICAgIyBCdWlsZCBldmVyeXRoaW5nIGluY2x1ZGluZyBwcm9ncmFtcywgc2VlIGZvciBleGFtcGxlCisgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9wdWxsLzM0NDkjaXNzdWVjb21tZW50LTY3NTMxMzcyMAorICAgIG1ha2UgQ0M9IiR7QVJNX0xJTlVYX0dOVUVBQklfR0NDX1BSRUZJWH1nY2MiIEFSPSIke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVh9YXIiIENGTEFHUz0nLVdlcnJvciAtV2FsbCAtV2V4dHJhIC1tYXJjaD1hcm12NXRlIC1PMScgTERGTEFHUz0nLW1hcmNoPWFybXY1dGUnCisKKyAgICBtc2cgInNpemU6ICR7QVJNX0xJTlVYX0dOVUVBQklfR0NDX1BSRUZJWH1nY2MgLW1hcmNoPWFybXY1dGUgLU8xLCBiYXJlbWV0YWwrZGVidWciCisgICAgJHtBUk1fTElOVVhfR05VRUFCSV9HQ0NfUFJFRklYfXNpemUgLXQgbGlicmFyeS8qLm8KK30KKworc3VwcG9ydF9idWlsZF9hcm1fbGludXhfZ251ZWFiaV9nY2NfYXJtNXZ0ZSAoKSB7CisgICAgdHlwZSAke0FSTV9MSU5VWF9HTlVFQUJJX0dDQ19QUkVGSVh9Z2NjID4vZGV2L251bGwgMj4mMQorfQorCitjb21wb25lbnRfYnVpbGRfYXJtX25vbmVfZWFiaV9nY2NfYXJtNXZ0ZSAoKSB7CisgICAgbXNnICJidWlsZDogJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIC1tYXJjaD1hcm01dnRlLCBiYXJlbWV0YWwrZGVidWciICMgfiAxMHMKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBiYXJlbWV0YWwKKyAgICAjIFRoaXMgaXMgYW4gaW1wZXJmZWN0IHN1YnN0aXR1dGUgZm9yCisgICAgIyBjb21wb25lbnRfYnVpbGRfYXJtX2xpbnV4X2dudWVhYmlfZ2NjX2FybTV2dGUKKyAgICAjIGluIGNhc2UgdGhlIGdjYy1hcm0tbGludXgtZ251ZWFiaSB0b29sY2hhaW4gaXMgbm90IGF2YWlsYWJsZQorICAgIG1ha2UgQ0M9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyIgQVI9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWFyIiBDRkxBR1M9Jy1zdGQ9Yzk5IC1XZXJyb3IgLVdhbGwgLVdleHRyYSAtbWFyY2g9YXJtdjV0ZSAtTzEnIExERkxBR1M9Jy1tYXJjaD1hcm12NXRlJyBTSEVMTD0nc2ggLXgnIGxpYgorCisgICAgbXNnICJzaXplOiAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MgLW1hcmNoPWFybXY1dGUgLU8xLCBiYXJlbWV0YWwrZGVidWciCisgICAgJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9c2l6ZSAtdCBsaWJyYXJ5LyoubworfQorCitjb21wb25lbnRfYnVpbGRfYXJtX25vbmVfZWFiaV9nY2NfbTBwbHVzICgpIHsKKyAgICBtc2cgImJ1aWxkOiAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MgLW10aHVtYiAtbWNwdT1jb3J0ZXgtbTBwbHVzLCBiYXJlbWV0YWxfc2l6ZSIgIyB+IDEwcworICAgIHNjcmlwdHMvY29uZmlnLnB5IGJhcmVtZXRhbF9zaXplCisgICAgbWFrZSBDQz0iJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIiBBUj0iJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9YXIiIExEPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1sZCIgQ0ZMQUdTPSctc3RkPWM5OSAtV2Vycm9yIC1XYWxsIC1XZXh0cmEgLW10aHVtYiAtbWNwdT1jb3J0ZXgtbTBwbHVzIC1PcycgbGliCisKKyAgICBtc2cgInNpemU6ICR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyAtbXRodW1iIC1tY3B1PWNvcnRleC1tMHBsdXMgLU9zLCBiYXJlbWV0YWxfc2l6ZSIKKyAgICAke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1zaXplIC10IGxpYnJhcnkvKi5vCisgICAgZm9yIGxpYiBpbiBsaWJyYXJ5LyouYTsgZG8KKyAgICAgICAgZWNobyAiJGxpYjoiCisgICAgICAgICR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfXNpemUgLXQgJGxpYiB8IGdyZXAgVE9UQUxTCisgICAgZG9uZQorfQorCitjb21wb25lbnRfYnVpbGRfYXJtX25vbmVfZWFiaV9nY2Nfbm9fdWRibF9kaXZpc2lvbiAoKSB7CisgICAgbXNnICJidWlsZDogJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9Z2NjIC1ETUJFRFRMU19OT19VREJMX0RJVklTSU9OLCBtYWtlIiAjIH4gMTBzCisgICAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTk9fVURCTF9ESVZJU0lPTgorICAgIG1ha2UgQ0M9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyIgQVI9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWFyIiBMRD0iJHtBUk1fTk9ORV9FQUJJX0dDQ19QUkVGSVh9bGQiIENGTEFHUz0nLXN0ZD1jOTkgLVdlcnJvciAtV2FsbCAtV2V4dHJhJyBsaWIKKyAgICBlY2hvICJDaGVja2luZyB0aGF0IHNvZnR3YXJlIDY0LWJpdCBkaXZpc2lvbiBpcyBub3QgcmVxdWlyZWQiCisgICAgbm90IGdyZXAgX19hZWFiaV91bGRpdiBsaWJyYXJ5LyoubworfQorCitjb21wb25lbnRfYnVpbGRfYXJtX25vbmVfZWFiaV9nY2Nfbm9fNjRiaXRfbXVsdGlwbGljYXRpb24gKCkgeworICAgIG1zZyAiYnVpbGQ6ICR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWdjYyBNQkVEVExTX05PXzY0QklUX01VTFRJUExJQ0FUSU9OLCBtYWtlIiAjIH4gMTBzCisgICAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfTk9fNjRCSVRfTVVMVElQTElDQVRJT04KKyAgICBtYWtlIENDPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1nY2MiIEFSPSIke0FSTV9OT05FX0VBQklfR0NDX1BSRUZJWH1hciIgTEQ9IiR7QVJNX05PTkVfRUFCSV9HQ0NfUFJFRklYfWxkIiBDRkxBR1M9Jy1zdGQ9Yzk5IC1XZXJyb3IgLU8xIC1tYXJjaD1hcm12Ni1tIC1tdGh1bWInIGxpYgorICAgIGVjaG8gIkNoZWNraW5nIHRoYXQgc29mdHdhcmUgNjQtYml0IG11bHRpcGxpY2F0aW9uIGlzIG5vdCByZXF1aXJlZCIKKyAgICBub3QgZ3JlcCBfX2FlYWJpX2xtdWwgbGlicmFyeS8qLm8KK30KKworY29tcG9uZW50X2J1aWxkX2FybV9jbGFuZ190aHVtYiAoKSB7CisgICAgIyB+IDMwcworCisgICAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCisKKyAgICBtc2cgImJ1aWxkOiBjbGFuZyB0aHVtYiAyLCBtYWtlIgorICAgIG1ha2UgY2xlYW4KKyAgICBtYWtlIENDPSJjbGFuZyIgQ0ZMQUdTPSctc3RkPWM5OSAtV2Vycm9yIC1PcyAtLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tYXJjaD1hcm12Ny1tIC1tdGh1bWInIGxpYgorCisgICAgIyBTb21lIFRodW1iIDEgYXNtIGlzIHNlbnNpdGl2ZSB0byBvcHRpbWlzYXRpb24gbGV2ZWwsIHNvIHRlc3QgYm90aCAtTzAgYW5kIC1PcworICAgIG1zZyAiYnVpbGQ6IGNsYW5nIHRodW1iIDEgLU8wLCBtYWtlIgorICAgIG1ha2UgY2xlYW4KKyAgICBtYWtlIENDPSJjbGFuZyIgQ0ZMQUdTPSctc3RkPWM5OSAtV2Vycm9yIC1PMCAtLXRhcmdldD1hcm0tbGludXgtZ251ZWFiaWhmIC1tY3B1PWFybTExMzZqLXMgLW10aHVtYicgbGliCisKKyAgICBtc2cgImJ1aWxkOiBjbGFuZyB0aHVtYiAxIC1PcywgbWFrZSIKKyAgICBtYWtlIGNsZWFuCisgICAgbWFrZSBDQz0iY2xhbmciIENGTEFHUz0nLXN0ZD1jOTkgLVdlcnJvciAtT3MgLS10YXJnZXQ9YXJtLWxpbnV4LWdudWVhYmloZiAtbWNwdT1hcm0xMTM2ai1zIC1tdGh1bWInIGxpYgorfQorCitjb21wb25lbnRfYnVpbGRfYXJtY2MgKCkgeworICAgICMgQ29tbW9uIGNvbmZpZ3VyYXRpb24gZm9yIGFsbCB0aGUgYnVpbGRzIGJlbG93CisgICAgc2NyaXB0cy9jb25maWcucHkgYmFyZW1ldGFsCisKKyAgICAjIGFybWNbNTZdIGRvbid0IHN1cHBvcnQgU0hBLTUxMiBpbnRyaW5zaWNzCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TSEE1MTJfVVNFX0E2NF9DUllQVE9fSUZfUFJFU0VOVAorCisgICAgIyBvbGRlciB2ZXJzaW9ucyBvZiBhcm1jYy9hcm1jbGFuZyBkb24ndCBzdXBwb3J0IEFFU0NFX0Mgb24gMzItYml0IEFybQorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTQ0VfQworCisgICAgIyBTdG9wIGFybWNsYW5nIHdhcm5pbmcgYWJvdXQgZmVhdHVyZSBkZXRlY3Rpb24gZm9yIEE2NF9DUllQVE8uCisgICAgIyBXaXRoIHRoaXMgZW5hYmxlZCwgdGhlIGxpYnJhcnkgZG9lcyBidWlsZCBjb3JyZWN0bHkgdW5kZXIgYXJtY2xhbmcsCisgICAgIyBidXQgaW4gYmFyZW1ldGFsIGJ1aWxkcyAoYXMgdGVzdGVkIGhlcmUpLCBmZWF0dXJlIGRldGVjdGlvbiBpcworICAgICMgdW5hdmFpbGFibGUsIGFuZCB0aGUgdXNlciBpcyBub3RpZmllZCB2aWEgYSAjd2FybmluZy4gU28gZW5hYmxpbmcKKyAgICAjIHRoaXMgZmVhdHVyZSB3b3VsZCBwcmV2ZW50IHVzIGZyb20gYnVpbGRpbmcgd2l0aCAtV2Vycm9yIG9uCisgICAgIyBhcm1jbGFuZy4gVHJhY2tlZCBpbiAjNzE5OC4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1NIQTI1Nl9VU0VfQVJNVjhfQV9DUllQVE9fSUZfUFJFU0VOVAorCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfSEFWRV9BU00KKworICAgICMgQ29tcGlsZSBtb3N0bHkgd2l0aCAtTzEgc2luY2Ugc29tZSBBcm0gaW5saW5lIGFzc2VtYmx5IGlzIGRpc2FibGVkIGZvciAtTzAuCisKKyAgICAjIEFSTSBDb21waWxlciA2IC0gVGFyZ2V0IEFSTXY3LUEKKyAgICBoZWxwZXJfYXJtYzZfYnVpbGRfdGVzdCAiLU8xIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12Ny1hIgorCisgICAgIyBBUk0gQ29tcGlsZXIgNiAtIFRhcmdldCBBUk12Ny1NCisgICAgaGVscGVyX2FybWM2X2J1aWxkX3Rlc3QgIi1PMSAtLXRhcmdldD1hcm0tYXJtLW5vbmUtZWFiaSAtbWFyY2g9YXJtdjctbSIKKworICAgICMgQVJNIENvbXBpbGVyIDYgLSBUYXJnZXQgQVJNdjctTStEU1AKKyAgICBoZWxwZXJfYXJtYzZfYnVpbGRfdGVzdCAiLU8xIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12Ny1tK2RzcCIKKworICAgICMgQVJNIENvbXBpbGVyIDYgLSBUYXJnZXQgQVJNdjgtQSAtIEFBcmNoMzIKKyAgICBoZWxwZXJfYXJtYzZfYnVpbGRfdGVzdCAiLU8xIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12OC4yLWEiCisKKyAgICAjIEFSTSBDb21waWxlciA2IC0gVGFyZ2V0IEFSTXY4LU0KKyAgICBoZWxwZXJfYXJtYzZfYnVpbGRfdGVzdCAiLU8xIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12OC1tLm1haW4iCisKKyAgICAjIEFSTSBDb21waWxlciA2IC0gVGFyZ2V0IENvcnRleC1NMCAtIG5vIG9wdGltaXNhdGlvbgorICAgIGhlbHBlcl9hcm1jNl9idWlsZF90ZXN0ICItTzAgLS10YXJnZXQ9YXJtLWFybS1ub25lLWVhYmkgLW1jcHU9Y29ydGV4LW0wIgorCisgICAgIyBBUk0gQ29tcGlsZXIgNiAtIFRhcmdldCBDb3J0ZXgtTTAKKyAgICBoZWxwZXJfYXJtYzZfYnVpbGRfdGVzdCAiLU9zIC0tdGFyZ2V0PWFybS1hcm0tbm9uZS1lYWJpIC1tY3B1PWNvcnRleC1tMCIKKworICAgICMgQVJNIENvbXBpbGVyIDYgLSBUYXJnZXQgQVJNdjguMi1BIC0gQUFyY2g2NAorICAgICMKKyAgICAjIFJlLWVuYWJsZSBNQkVEVExTX0FFU0NFX0MgYXMgdGhpcyBzaG91bGQgYmUgc3VwcG9ydGVkIGJ5IHRoZSB2ZXJzaW9uIG9mIGFybWNsYW5nCisgICAgIyB0aGF0IHdlIGhhdmUgaW4gb3VyIENJCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfQUVTQ0VfQworICAgIGhlbHBlcl9hcm1jNl9idWlsZF90ZXN0ICItTzEgLS10YXJnZXQ9YWFyY2g2NC1hcm0tbm9uZS1lYWJpIC1tYXJjaD1hcm12OC4yLWErY3J5cHRvIgorfQorCitzdXBwb3J0X2J1aWxkX2FybWNjICgpIHsKKyAgICBhcm1jNl9jYz0iJEFSTUM2X0JJTl9ESVIvYXJtY2xhbmciCisgICAgKGNoZWNrX3Rvb2xzICIkYXJtYzZfY2MiID4gL2Rldi9udWxsIDI+JjEpCit9CisKKyMgRm9yIHRpbWViZWluZywgbm8gVklBIFBhZGxvY2sgcGxhdGZvcm0gYXZhaWxhYmxlLgorY29tcG9uZW50X2J1aWxkX2Flc192aWFfcGFkbG9jayAoKSB7CisKKyAgICBtc2cgIkFFUzpWSUEgUGFkTG9jaywgYnVpbGQgd2l0aCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1BBRExPQ0tfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTX1VTRV9IQVJEV0FSRV9PTkxZCisgICAgbWFrZSBDQz1nY2MgQ0ZMQUdTPSIkQVNBTl9DRkxBR1MgLW0zMiIgTERGTEFHUz0iLW0zMiAkQVNBTl9DRkxBR1MiCisgICAgZ3JlcCAtcSBtYmVkdGxzX3BhZGxvY2tfaGFzX3N1cHBvcnQgLi9wcm9ncmFtcy90ZXN0L3NlbGZ0ZXN0CisKK30KKworc3VwcG9ydF9idWlsZF9hZXNfdmlhX3BhZGxvY2tfb25seSAoKSB7CisgICAgKCBbICIkTUJFRFRMU19URVNUX1BMQVRGT1JNIiA9PSAiTGludXgteDg2XzY0IiBdIHx8IFwKKyAgICAgICAgWyAiJE1CRURUTFNfVEVTVF9QTEFURk9STSIgPT0gIkxpbnV4LWFtZDY0IiBdICkgJiYgXAorICAgIFsgImBkcGtnIC0tcHJpbnQtZm9yZWlnbi1hcmNoaXRlY3R1cmVzYCIgPT0gImkzODYiIF0KK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1zYW5pdGl6ZXJzLnNoIGIvdGVzdHMvc2NyaXB0cy9jb21wb25lbnRzLXNhbml0aXplcnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk2NDhhYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvY29tcG9uZW50cy1zYW5pdGl6ZXJzLnNoCkBAIC0wLDAgKzEsMjM2IEBACisjIGNvbXBvbmVudHMtc2FuaXRpemVycy5zaAorIworIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCisKKyMgVGhpcyBmaWxlIGNvbnRhaW5zIHRlc3QgY29tcG9uZW50cyB0aGF0IGFyZSBleGVjdXRlZCBieSBhbGwuc2gKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyBTYW5pdGl6ZXIgVGVzdGluZworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitza2lwX3N1aXRlc193aXRob3V0X2NvbnN0YW50X2Zsb3cgKCkgeworICAgICMgU2tpcCB0aGUgdGVzdCBzdWl0ZXMgdGhhdCBkb24ndCBoYXZlIGFueSBjb25zdGFudC1mbG93IGFubm90YXRpb25zLgorICAgICMgVGhpcyB3aWxsIG5lZWQgdG8gYmUgYWRqdXN0ZWQgaWYgd2UgZXZlciBzdGFydCBkZWNsYXJpbmcgdGhpbmdzIGFzCisgICAgIyBzZWNyZXQgZnJvbSBtYWNyb3Mgb3IgZnVuY3Rpb25zIGluc2lkZSB0ZXN0cy9pbmNsdWRlIG9yIHRlc3RzL3NyYy4KKyAgICBTS0lQX1RFU1RfU1VJVEVTPSQoCisgICAgICAgIGdpdCAtQyB0ZXN0cy9zdWl0ZXMgZ3JlcCAtTCBURVNUX0NGXyAndGVzdF9zdWl0ZV8qLmZ1bmN0aW9uJyB8CisgICAgICAgICAgICBzZWQgJ3MvdGVzdF9zdWl0ZV8vLzsgcy9cLmZ1bmN0aW9uJC8vJyB8CisgICAgICAgICAgICB0ciAnXG4nICwpCisgICAgZXhwb3J0IFNLSVBfVEVTVF9TVUlURVMKK30KKworc2tpcF9hbGxfZXhjZXB0X2dpdmVuX3N1aXRlICgpIHsKKyAgICAjIFNraXAgYWxsIGJ1dCB0aGUgZ2l2ZW4gdGVzdCBzdWl0ZQorICAgIFNLSVBfVEVTVF9TVUlURVM9JCgKKyAgICAgICAgbHMgLTEgdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfKi5mdW5jdGlvbiB8CisgICAgICAgIGdyZXAgLXYgJDEuZnVuY3Rpb24gfAorICAgICAgICAgc2VkICdzL3Rlc3RzLnN1aXRlcy50ZXN0X3N1aXRlXy8vOyBzL1wuZnVuY3Rpb24kLy8nIHwKKyAgICAgICAgdHIgJ1xuJyAsKQorICAgIGV4cG9ydCBTS0lQX1RFU1RfU1VJVEVTCit9CisKK2NvbXBvbmVudF90ZXN0X21lbXNhbl9jb25zdGFudF9mbG93ICgpIHsKKyAgICAjIFRoaXMgdGVzdHMgYm90aCAoMSkgYWNjZXNzZXMgdG8gdW5kZWZpbmVkIG1lbW9yeSwgYW5kICgyKSBicmFuY2hlcyBvcgorICAgICMgbWVtb3J5IGFjY2VzcyBkZXBlbmRpbmcgb24gc2VjcmV0IHZhbHVlcy4gVG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aG9zZToKKyAgICAjIC0gdW5zZXQgTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfTUVNU0FOIC0gZG9lcyB0aGUgZmFpbHVyZSBwZXJzaXN0PworICAgICMgLSBvciBhbHRlcm5hdGl2ZWx5LCBjaGFuZ2UgdGhlIGJ1aWxkIHR5cGUgdG8gTWVtU2FuRGJnLCB3aGljaCBlbmFibGVzCisgICAgIyBvcmlnaW4gdHJhY2tpbmcgYW5kIG5pY2VyIHN0YWNrIHRyYWNlcyAod2hpY2ggYXJlIHVzZWZ1bCBmb3IgZGVidWdnaW5nCisgICAgIyBhbnl3YXkpLCBhbmQgY2hlY2sgaWYgdGhlIG9yaWdpbiB3YXMgVEVTVF9DRl9TRUNSRVQoKSBvciBzb21ldGhpbmcgZWxzZS4KKyAgICBtc2cgImJ1aWxkOiBjbWFrZSBNU2FuIChjbGFuZyksIGZ1bGwgY29uZmlnIG1pbnVzIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gd2l0aCBjb25zdGFudCBmbG93IHRlc3RpbmciCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1RFU1RfQ09OU1RBTlRfRkxPV19NRU1TQU4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DICMgbWVtc2FuIGRvZXNuJ3QgZ3JvayBhc20KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hBVkVfQVNNCisgICAgQ0M9Y2xhbmcgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9TWVtU2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChmdWxsIG1pbnVzIE1CRURUTFNfVVNFX1BTQV9DUllQVE8sIE1zYW4gKyBjb25zdGFudCBmbG93KSIKKyAgICBtYWtlIHRlc3QKK30KKworY29tcG9uZW50X3Rlc3RfbWVtc2FuX2NvbnN0YW50X2Zsb3dfcHNhICgpIHsKKyAgICAjIFRoaXMgdGVzdHMgYm90aCAoMSkgYWNjZXNzZXMgdG8gdW5kZWZpbmVkIG1lbW9yeSwgYW5kICgyKSBicmFuY2hlcyBvcgorICAgICMgbWVtb3J5IGFjY2VzcyBkZXBlbmRpbmcgb24gc2VjcmV0IHZhbHVlcy4gVG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aG9zZToKKyAgICAjIC0gdW5zZXQgTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfTUVNU0FOIC0gZG9lcyB0aGUgZmFpbHVyZSBwZXJzaXN0PworICAgICMgLSBvciBhbHRlcm5hdGl2ZWx5LCBjaGFuZ2UgdGhlIGJ1aWxkIHR5cGUgdG8gTWVtU2FuRGJnLCB3aGljaCBlbmFibGVzCisgICAgIyBvcmlnaW4gdHJhY2tpbmcgYW5kIG5pY2VyIHN0YWNrIHRyYWNlcyAod2hpY2ggYXJlIHVzZWZ1bCBmb3IgZGVidWdnaW5nCisgICAgIyBhbnl3YXkpLCBhbmQgY2hlY2sgaWYgdGhlIG9yaWdpbiB3YXMgVEVTVF9DRl9TRUNSRVQoKSBvciBzb21ldGhpbmcgZWxzZS4KKyAgICBtc2cgImJ1aWxkOiBjbWFrZSBNU2FuIChjbGFuZyksIGZ1bGwgY29uZmlnIHdpdGggY29uc3RhbnQgZmxvdyB0ZXN0aW5nIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfTUVNU0FOCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DICMgbWVtc2FuIGRvZXNuJ3QgZ3JvayBhc20KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hBVkVfQVNNCisgICAgQ0M9Y2xhbmcgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9TWVtU2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChNc2FuICsgY29uc3RhbnQgZmxvdykiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF9yZWxlYXNlX3Rlc3RfdmFsZ3JpbmRfY29uc3RhbnRfZmxvdyAoKSB7CisgICAgIyBUaGlzIHRlc3RzIGJvdGggKDEpIGV2ZXJ5dGhpbmcgdGhhdCB2YWxncmluZCdzIG1lbWNoZWNrIHVzdWFsbHkgY2hlY2tzCisgICAgIyAoaGVhcCBidWZmZXIgb3ZlcmZsb3dzLCB1c2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnksIHVzZS1hZnRlci1mcmVlLAorICAgICMgZXRjLikgYW5kICgyKSBicmFuY2hlcyBvciBtZW1vcnkgYWNjZXNzIGRlcGVuZGluZyBvbiBzZWNyZXQgdmFsdWVzLAorICAgICMgd2hpY2ggd2lsbCBiZSByZXBvcnRlZCBhcyB1bmluaXRpYWxpemVkIG1lbW9yeS4gVG8gZGlzdGluZ3Vpc2ggYmV0d2VlbgorICAgICMgc2VjcmV0IGFuZCBhY3R1YWxseSB1bmluaXRpYWxpemVkOgorICAgICMgLSB1bnNldCBNQkVEVExTX1RFU1RfQ09OU1RBTlRfRkxPV19WQUxHUklORCAtIGRvZXMgdGhlIGZhaWx1cmUgcGVyc2lzdD8KKyAgICAjIC0gb3IgYWx0ZXJuYXRpdmVseSwgYnVpbGQgd2l0aCBkZWJ1ZyBpbmZvIGFuZCBtYW51YWxseSBydW4gdGhlIG9mZmVuZGluZworICAgICMgdGVzdCBzdWl0ZSB3aXRoIHZhbGdyaW5kIC0tdHJhY2stb3JpZ2lucz15ZXMsIHRoZW4gY2hlY2sgaWYgdGhlIG9yaWdpbgorICAgICMgd2FzIFRFU1RfQ0ZfU0VDUkVUKCkgb3Igc29tZXRoaW5nIGVsc2UuCisgICAgbXNnICJidWlsZDogY21ha2UgcmVsZWFzZSBHQ0MsIGZ1bGwgY29uZmlnIG1pbnVzIE1CRURUTFNfVVNFX1BTQV9DUllQVE8gd2l0aCBjb25zdGFudCBmbG93IHRlc3RpbmciCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1RFU1RfQ09OU1RBTlRfRkxPV19WQUxHUklORAorICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfVVNFX1BTQV9DUllQVE8KKyAgICBza2lwX3N1aXRlc193aXRob3V0X2NvbnN0YW50X2Zsb3cKKyAgICBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1SZWxlYXNlIC4KKyAgICBtYWtlCisKKyAgICAjIHRoaXMgb25seSBzaG93cyBhIHN1bW1hcnkgb2YgdGhlIHJlc3VsdHMgKGhvdyBtYW55IG9mIGVhY2ggdHlwZSkKKyAgICAjIGRldGFpbHMgYXJlIGxlZnQgaW4gVGVzdGluZy88ZGF0ZT4vRHluYW1pY0FuYWx5c2lzLnhtbAorICAgIG1zZyAidGVzdDogc29tZSBzdWl0ZXMgKGZ1bGwgbWludXMgTUJFRFRMU19VU0VfUFNBX0NSWVBUTywgdmFsZ3JpbmQgKyBjb25zdGFudCBmbG93KSIKKyAgICBtYWtlIG1lbWNoZWNrCisKKyAgICAjIFRlc3QgYXNtIHBhdGggaW4gY29uc3RhbnQgdGltZSBtb2R1bGUgLSBieSBkZWZhdWx0LCBpdCB3aWxsIHRlc3QgdGhlIHBsYWluIEMKKyAgICAjIHBhdGggdW5kZXIgVmFsZ3JpbmQgb3IgTWVtc2FuLiBSdW5uaW5nIG9ubHkgdGhlIGNvbnN0YW50X3RpbWUgdGVzdHMgaXMgZmFzdCAoPDFzKQorICAgIG1zZyAidGVzdDogdmFsZ3JpbmQgYXNtIGNvbnN0YW50X3RpbWUiCisgICAgc2tpcF9hbGxfZXhjZXB0X2dpdmVuX3N1aXRlIHRlc3Rfc3VpdGVfY29uc3RhbnRfdGltZQorICAgIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPVJlbGVhc2UgLgorICAgIG1ha2UgY2xlYW4KKyAgICBtYWtlCisgICAgbWFrZSBtZW1jaGVjaworfQorCitjb21wb25lbnRfcmVsZWFzZV90ZXN0X3ZhbGdyaW5kX2NvbnN0YW50X2Zsb3dfbm9fYXNtICgpIHsKKyAgICAjIFRoaXMgdGVzdHMgYm90aCAoMSkgZXZlcnl0aGluZyB0aGF0IHZhbGdyaW5kJ3MgbWVtY2hlY2sgdXN1YWxseSBjaGVja3MKKyAgICAjIChoZWFwIGJ1ZmZlciBvdmVyZmxvd3MsIHVzZSBvZiB1bmluaXRpYWxpemVkIG1lbW9yeSwgdXNlLWFmdGVyLWZyZWUsCisgICAgIyBldGMuKSBhbmQgKDIpIGJyYW5jaGVzIG9yIG1lbW9yeSBhY2Nlc3MgZGVwZW5kaW5nIG9uIHNlY3JldCB2YWx1ZXMsCisgICAgIyB3aGljaCB3aWxsIGJlIHJlcG9ydGVkIGFzIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LiBUbyBkaXN0aW5ndWlzaCBiZXR3ZWVuCisgICAgIyBzZWNyZXQgYW5kIGFjdHVhbGx5IHVuaW5pdGlhbGl6ZWQ6CisgICAgIyAtIHVuc2V0IE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX1ZBTEdSSU5EIC0gZG9lcyB0aGUgZmFpbHVyZSBwZXJzaXN0PworICAgICMgLSBvciBhbHRlcm5hdGl2ZWx5LCBidWlsZCB3aXRoIGRlYnVnIGluZm8gYW5kIG1hbnVhbGx5IHJ1biB0aGUgb2ZmZW5kaW5nCisgICAgIyB0ZXN0IHN1aXRlIHdpdGggdmFsZ3JpbmQgLS10cmFjay1vcmlnaW5zPXllcywgdGhlbiBjaGVjayBpZiB0aGUgb3JpZ2luCisgICAgIyB3YXMgVEVTVF9DRl9TRUNSRVQoKSBvciBzb21ldGhpbmcgZWxzZS4KKyAgICBtc2cgImJ1aWxkOiBjbWFrZSByZWxlYXNlIEdDQywgZnVsbCBjb25maWcgbWludXMgTUJFRFRMU19VU0VfUFNBX0NSWVBUTywgbWludXMgTUJFRFRMU19IQVZFX0FTTSB3aXRoIGNvbnN0YW50IGZsb3cgdGVzdGluZyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX1ZBTEdSSU5ECisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfQUVTTklfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHVuc2V0IE1CRURUTFNfSEFWRV9BU00KKyAgICBza2lwX3N1aXRlc193aXRob3V0X2NvbnN0YW50X2Zsb3cKKyAgICBjbWFrZSAtRCBDTUFLRV9CVUlMRF9UWVBFOlN0cmluZz1SZWxlYXNlIC4KKyAgICBtYWtlCisKKyAgICAjIHRoaXMgb25seSBzaG93cyBhIHN1bW1hcnkgb2YgdGhlIHJlc3VsdHMgKGhvdyBtYW55IG9mIGVhY2ggdHlwZSkKKyAgICAjIGRldGFpbHMgYXJlIGxlZnQgaW4gVGVzdGluZy88ZGF0ZT4vRHluYW1pY0FuYWx5c2lzLnhtbAorICAgIG1zZyAidGVzdDogc29tZSBzdWl0ZXMgKGZ1bGwgbWludXMgTUJFRFRMU19VU0VfUFNBX0NSWVBUTywgbWludXMgTUJFRFRMU19IQVZFX0FTTSwgdmFsZ3JpbmQgKyBjb25zdGFudCBmbG93KSIKKyAgICBtYWtlIG1lbWNoZWNrCit9CisKK2NvbXBvbmVudF9yZWxlYXNlX3Rlc3RfdmFsZ3JpbmRfY29uc3RhbnRfZmxvd19wc2EgKCkgeworICAgICMgVGhpcyB0ZXN0cyBib3RoICgxKSBldmVyeXRoaW5nIHRoYXQgdmFsZ3JpbmQncyBtZW1jaGVjayB1c3VhbGx5IGNoZWNrcworICAgICMgKGhlYXAgYnVmZmVyIG92ZXJmbG93cywgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LCB1c2UtYWZ0ZXItZnJlZSwKKyAgICAjIGV0Yy4pIGFuZCAoMikgYnJhbmNoZXMgb3IgbWVtb3J5IGFjY2VzcyBkZXBlbmRpbmcgb24gc2VjcmV0IHZhbHVlcywKKyAgICAjIHdoaWNoIHdpbGwgYmUgcmVwb3J0ZWQgYXMgdW5pbml0aWFsaXplZCBtZW1vcnkuIFRvIGRpc3Rpbmd1aXNoIGJldHdlZW4KKyAgICAjIHNlY3JldCBhbmQgYWN0dWFsbHkgdW5pbml0aWFsaXplZDoKKyAgICAjIC0gdW5zZXQgTUJFRFRMU19URVNUX0NPTlNUQU5UX0ZMT1dfVkFMR1JJTkQgLSBkb2VzIHRoZSBmYWlsdXJlIHBlcnNpc3Q/CisgICAgIyAtIG9yIGFsdGVybmF0aXZlbHksIGJ1aWxkIHdpdGggZGVidWcgaW5mbyBhbmQgbWFudWFsbHkgcnVuIHRoZSBvZmZlbmRpbmcKKyAgICAjIHRlc3Qgc3VpdGUgd2l0aCB2YWxncmluZCAtLXRyYWNrLW9yaWdpbnM9eWVzLCB0aGVuIGNoZWNrIGlmIHRoZSBvcmlnaW4KKyAgICAjIHdhcyBURVNUX0NGX1NFQ1JFVCgpIG9yIHNvbWV0aGluZyBlbHNlLgorICAgIG1zZyAiYnVpbGQ6IGNtYWtlIHJlbGVhc2UgR0NDLCBmdWxsIGNvbmZpZyB3aXRoIGNvbnN0YW50IGZsb3cgdGVzdGluZyIKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBmdWxsCisgICAgc2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfVEVTVF9DT05TVEFOVF9GTE9XX1ZBTEdSSU5ECisgICAgc2tpcF9zdWl0ZXNfd2l0aG91dF9jb25zdGFudF9mbG93CisgICAgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9UmVsZWFzZSAuCisgICAgbWFrZQorCisgICAgIyB0aGlzIG9ubHkgc2hvd3MgYSBzdW1tYXJ5IG9mIHRoZSByZXN1bHRzIChob3cgbWFueSBvZiBlYWNoIHR5cGUpCisgICAgIyBkZXRhaWxzIGFyZSBsZWZ0IGluIFRlc3RpbmcvPGRhdGU+L0R5bmFtaWNBbmFseXNpcy54bWwKKyAgICBtc2cgInRlc3Q6IHNvbWUgc3VpdGVzICh2YWxncmluZCArIGNvbnN0YW50IGZsb3cpIgorICAgIG1ha2UgbWVtY2hlY2sKK30KKworY29tcG9uZW50X3Rlc3RfdHNhbiAoKSB7CisgICAgbXNnICJidWlsZDogVFNhbiAoY2xhbmcpIgorICAgIHNjcmlwdHMvY29uZmlnLnB5IGZ1bGwKKyAgICBzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19USFJFQURJTkdfQworICAgIHNjcmlwdHMvY29uZmlnLnB5IHNldCBNQkVEVExTX1RIUkVBRElOR19QVEhSRUFECisgICAgIyBTZWxmLXRlc3RzIGRvIG5vdCBjdXJyZW50bHkgdXNlIG11bHRpcGxlIHRocmVhZHMuCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19TRUxGX1RFU1QKKworICAgICMgVGhlIGRlcHJlY2F0ZWQgTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MgaW50ZXJmYWNlIGlzIG5vdCB0aHJlYWQgc2FmZS4KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX1BTQV9DUllQVE9fU0VfQworCisgICAgQ0M9Y2xhbmcgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9VFNhbiAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcyAoVFNhbikiCisgICAgbWFrZSB0ZXN0Cit9CisKK2NvbXBvbmVudF90ZXN0X21lbXNhbiAoKSB7CisgICAgbXNnICJidWlsZDogTVNhbiAoY2xhbmcpIiAjIH4gMSBtaW4gMjBzCisgICAgc2NyaXB0cy9jb25maWcucHkgdW5zZXQgTUJFRFRMU19BRVNOSV9DICMgbWVtc2FuIGRvZXNuJ3QgZ3JvayBhc20KKyAgICBzY3JpcHRzL2NvbmZpZy5weSB1bnNldCBNQkVEVExTX0hBVkVfQVNNCisgICAgQ0M9Y2xhbmcgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9TWVtU2FuIC4KKyAgICBtYWtlCisKKyAgICBtc2cgInRlc3Q6IG1haW4gc3VpdGVzIChNU2FuKSIgIyB+IDEwcworICAgIG1ha2UgdGVzdAorCisgICAgbXNnICJ0ZXN0OiBtZXRhdGVzdHMgKE1TYW4pIgorICAgIHRlc3RzL3NjcmlwdHMvcnVuLW1ldGF0ZXN0cy5zaCBhbnkgbXNhbgorCisgICAgbXNnICJwcm9ncmFtIGRlbW9zIChNU2FuKSIgIyB+MjBzCisgICAgdGVzdHMvc2NyaXB0cy9ydW5fZGVtb3MucHkKKworICAgIG1zZyAidGVzdDogc3NsLW9wdC5zaCAoTVNhbikiICMgfiAxIG1pbgorICAgIHRlc3RzL3NzbC1vcHQuc2gKKworICAgICMgT3B0aW9uYWwgcGFydChzKQorCisgICAgaWYgWyAiJE1FTU9SWSIgLWd0IDAgXTsgdGhlbgorICAgICAgICBtc2cgInRlc3Q6IGNvbXBhdC5zaCAoTVNhbikiICMgfiA2IG1pbiAyMHMKKyAgICAgICAgdGVzdHMvY29tcGF0LnNoCisgICAgZmkKK30KKworY29tcG9uZW50X3JlbGVhc2VfdGVzdF92YWxncmluZCAoKSB7CisgICAgbXNnICJidWlsZDogUmVsZWFzZSAoY2xhbmcpIgorICAgICMgZGVmYXVsdCBjb25maWcsIGluIHBhcnRpY3VsYXIgd2l0aG91dCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgQ0M9Y2xhbmcgY21ha2UgLUQgQ01BS0VfQlVJTERfVFlQRTpTdHJpbmc9UmVsZWFzZSAuCisgICAgbWFrZQorCisgICAgbXNnICJ0ZXN0OiBtYWluIHN1aXRlcywgVmFsZ3JpbmQgKGRlZmF1bHQgY29uZmlnKSIKKyAgICBtYWtlIG1lbWNoZWNrCisKKyAgICAjIE9wdGlvbmFsIHBhcnRzIChzbG93OyBjdXJyZW50bHkgYnJva2VuIG9uIE9TIFggYmVjYXVzZSBwcm9ncmFtcyBkb24ndAorICAgICMgc2VlbSB0byByZWNlaXZlIHNpZ25hbHMgdW5kZXIgdmFsZ3JpbmQgb24gT1MgWCkuCisgICAgIyBUaGVzZSBvcHRpb25hbCBwYXJ0cyBkb24ndCBydW4gb24gdGhlIENJLgorICAgIGlmIFsgIiRNRU1PUlkiIC1ndCAwIF07IHRoZW4KKyAgICAgICAgbXNnICJ0ZXN0OiBzc2wtb3B0LnNoIC0tbWVtY2hlY2sgKGRlZmF1bHQgY29uZmlnKSIKKyAgICAgICAgdGVzdHMvc3NsLW9wdC5zaCAtLW1lbWNoZWNrCisgICAgZmkKKworICAgIGlmIFsgIiRNRU1PUlkiIC1ndCAxIF07IHRoZW4KKyAgICAgICAgbXNnICJ0ZXN0OiBjb21wYXQuc2ggLS1tZW1jaGVjayAoZGVmYXVsdCBjb25maWcpIgorICAgICAgICB0ZXN0cy9jb21wYXQuc2ggLS1tZW1jaGVjaworICAgIGZpCisKKyAgICBpZiBbICIkTUVNT1JZIiAtZ3QgMCBdOyB0aGVuCisgICAgICAgIG1zZyAidGVzdDogY29udGV4dC1pbmZvLnNoIC0tbWVtY2hlY2sgKGRlZmF1bHQgY29uZmlnKSIKKyAgICAgICAgdGVzdHMvY29udGV4dC1pbmZvLnNoIC0tbWVtY2hlY2sKKyAgICBmaQorfQorCitjb21wb25lbnRfcmVsZWFzZV90ZXN0X3ZhbGdyaW5kX3BzYSAoKSB7CisgICAgbXNnICJidWlsZDogUmVsZWFzZSwgZnVsbCAoY2xhbmcpIgorICAgICMgZnVsbCBjb25maWcsIGluIHBhcnRpY3VsYXIgd2l0aCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCisgICAgc2NyaXB0cy9jb25maWcucHkgZnVsbAorICAgIENDPWNsYW5nIGNtYWtlIC1EIENNQUtFX0JVSUxEX1RZUEU6U3RyaW5nPVJlbGVhc2UgLgorICAgIG1ha2UKKworICAgIG1zZyAidGVzdDogbWFpbiBzdWl0ZXMsIFZhbGdyaW5kIChmdWxsIGNvbmZpZykiCisgICAgbWFrZSBtZW1jaGVjaworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5IGIvdGVzdHMvc2NyaXB0cy9kZXBlbmRzLnB5CmluZGV4IDE5OTBjZDIuLjY0YTNkNDYgMTAwNzU1Ci0tLSBhL3Rlc3RzL3NjcmlwdHMvZGVwZW5kcy5weQorKysgYi90ZXN0cy9zY3JpcHRzL2RlcGVuZHMucHkKQEAgLTUzNyw3ICs1MzcsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9VHJ1ZSkKICAgICAgICAgb3B0aW9ucyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKICAgICAgICAgb3MuY2hkaXIob3B0aW9ucy5kaXJlY3RvcnkpCi0gICAgICAgIGNvbmYgPSBjb25maWcuQ29uZmlnRmlsZShvcHRpb25zLmNvbmZpZykKKyAgICAgICAgY29uZiA9IGNvbmZpZy5NYmVkVExTQ29uZmlnKG9wdGlvbnMuY29uZmlnKQogICAgICAgICBkb21haW5fZGF0YSA9IERvbWFpbkRhdGEob3B0aW9ucywgY29uZikKIAogICAgICAgICBpZiBvcHRpb25zLnRhc2tzIGlzIFRydWU6CmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX2JpZ251bV90ZXN0cy5weSBiL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA4ZGJiNmVkLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTg3ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKLSIiIkdlbmVyYXRlIHRlc3QgZGF0YSBmb3IgYmlnbnVtIGZ1bmN0aW9ucy4KLQotV2l0aCBubyBhcmd1bWVudHMsIGdlbmVyYXRlIGFsbCB0ZXN0IGRhdGEuIFdpdGggbm9uLW9wdGlvbiBhcmd1bWVudHMsCi1nZW5lcmF0ZSBvbmx5IHRoZSBzcGVjaWZpZWQgZmlsZXMuCi0KLUNsYXNzIHN0cnVjdHVyZToKLQotQ2hpbGQgY2xhc3NlcyBvZiB0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5CYXNlVGFyZ2V0IChmaWxlIHRhcmdldHMpIHJlcHJlc2VudCBhbiBvdXRwdXQKLWZpbGUuIFRoZXNlIGluZGljYXRlIHdoZXJlIHRlc3QgY2FzZXMgd2lsbCBiZSB3cml0dGVuIHRvLCBmb3IgYWxsIHN1YmNsYXNzZXMgb2YKLXRoaXMgdGFyZ2V0LiBNdWx0aXBsZSBmaWxlIHRhcmdldHMgc2hvdWxkIG5vdCByZXVzZSBhIGB0YXJnZXRfYmFzZW5hbWVgLgotCi1FYWNoIHN1YmNsYXNzIGRlcml2ZWQgZnJvbSBhIGZpbGUgdGFyZ2V0IGNhbiBlaXRoZXIgYmU6Ci0gIC0gQSBjb25jcmV0ZSBjbGFzcywgcmVwcmVzZW50aW5nIGEgdGVzdCBmdW5jdGlvbiwgd2hpY2ggZ2VuZXJhdGVzIHRlc3QgY2FzZXMuCi0gIC0gQW4gYWJzdHJhY3QgY2xhc3MgY29udGFpbmluZyBzaGFyZWQgbWV0aG9kcyBhbmQgYXR0cmlidXRlcywgbm90IGFzc29jaWF0ZWQKLSAgICAgICAgd2l0aCBhIHRlc3QgZnVuY3Rpb24uIEFuIGV4YW1wbGUgaXMgQmlnbnVtT3BlcmF0aW9uLCB3aGljaCBwcm92aWRlcwotICAgICAgICBjb21tb24gZmVhdHVyZXMgdXNlZCBmb3IgYmlnbnVtIGJpbmFyeSBvcGVyYXRpb25zLgotCi1Cb3RoIGNvbmNyZXRlIGFuZCBhYnN0cmFjdCBzdWJjbGFzc2VzIGNhbiBiZSBkZXJpdmVkIGZyb20sIHRvIGltcGxlbWVudAotYWRkaXRpb25hbCB0ZXN0IGNhc2VzIChzZWUgQmlnbnVtQ21wIGFuZCBCaWdudW1DbXBBYnMgZm9yIGV4YW1wbGVzIG9mIGRlcml2aW5nCi1mcm9tIGFic3RyYWN0IGFuZCBjb25jcmV0ZSBjbGFzc2VzKS4KLQotCi1BZGRpbmcgdGVzdCBjYXNlIGdlbmVyYXRpb24gZm9yIGEgZnVuY3Rpb246Ci0KLUEgc3ViY2xhc3MgcmVwcmVzZW50aW5nIHRoZSB0ZXN0IGZ1bmN0aW9uIHNob3VsZCBiZSBhZGRlZCwgZGVyaXZpbmcgZnJvbSBhCi1maWxlIHRhcmdldCBzdWNoIGFzIEJpZ251bVRhcmdldC4gVGhpcyB0ZXN0IGNsYXNzIG11c3Qgc2V0L2ltcGxlbWVudCB0aGUKLWZvbGxvd2luZzoKLSAgLSB0ZXN0X2Z1bmN0aW9uOiB0aGUgZnVuY3Rpb24gbmFtZSBmcm9tIHRoZSBhc3NvY2lhdGVkIC5mdW5jdGlvbiBmaWxlLgotICAtIHRlc3RfbmFtZTogYSBkZXNjcmlwdGl2ZSBuYW1lIG9yIGJyaWVmIHN1bW1hcnkgdG8gcmVmZXIgdG8gdGhlIHRlc3QKLSAgICAgICAgZnVuY3Rpb24uCi0gIC0gYXJndW1lbnRzKCk6IGEgbWV0aG9kIHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mIGFyZ3VtZW50cyByZXF1aXJlZCBmb3IgdGhlCi0gICAgICAgIHRlc3RfZnVuY3Rpb24uCi0gIC0gZ2VuZXJhdGVfZnVuY3Rpb25fdGVzdHMoKTogYSBtZXRob2QgdG8gZ2VuZXJhdGUgVGVzdENhc2VzIGZvciB0aGUgZnVuY3Rpb24uCi0gICAgICAgIFRoaXMgc2hvdWxkIGNyZWF0ZSBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzIHdpdGggcmVxdWlyZWQgaW5wdXQgZGF0YSwgYW5kCi0gICAgICAgIGNhbGwgYC5jcmVhdGVfdGVzdF9jYXNlKClgIHRvIHlpZWxkIHRoZSBUZXN0Q2FzZS4KLQotQWRkaXRpb25hbCBkZXRhaWxzIGFuZCBvdGhlciBhdHRyaWJ1dGVzL21ldGhvZHMgYXJlIGdpdmVuIGluIHRoZSBkb2N1bWVudGF0aW9uCi1vZiBCYXNlVGFyZ2V0IGluIHRlc3RfZGF0YV9nZW5lcmF0aW9uLnB5LgotIiIiCi0KLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotCi1pbXBvcnQgc3lzCi0KLWZyb20gYWJjIGltcG9ydCBBQkNNZXRhCi1mcm9tIHR5cGluZyBpbXBvcnQgTGlzdAotCi1pbXBvcnQgc2NyaXB0c19wYXRoICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IHRlc3RfZGF0YV9nZW5lcmF0aW9uCi1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCBiaWdudW1fY29tbW9uCi0jIEltcG9ydCBtb2R1bGVzIGNvbnRhaW5pbmcgYWRkaXRpb25hbCB0ZXN0IGNsYXNzZXMKLSMgVGVzdCBmdW5jdGlvbiBjbGFzc2VzIGluIHRoZXNlIG1vZHVsZXMgd2lsbCBiZSByZWdpc3RlcmVkIGJ5Ci0jIHRoZSBmcmFtZXdvcmsKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGJpZ251bV9jb3JlLCBiaWdudW1fbW9kX3JhdywgYmlnbnVtX21vZCAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtaW1wb3J0Ci0KLWNsYXNzIEJpZ251bVRhcmdldCh0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5CYXNlVGFyZ2V0KToKLSAgICAjcHlsaW50OiBkaXNhYmxlPXRvby1mZXctcHVibGljLW1ldGhvZHMKLSAgICAiIiJUYXJnZXQgZm9yIGJpZ251bSAobGVnYWN5KSB0ZXN0IGNhc2UgZ2VuZXJhdGlvbi4iIiIKLSAgICB0YXJnZXRfYmFzZW5hbWUgPSAndGVzdF9zdWl0ZV9iaWdudW0uZ2VuZXJhdGVkJwotCi0KLWNsYXNzIEJpZ251bU9wZXJhdGlvbihiaWdudW1fY29tbW9uLk9wZXJhdGlvbkNvbW1vbiwgQmlnbnVtVGFyZ2V0LAotICAgICAgICAgICAgICAgICAgICAgIG1ldGFjbGFzcz1BQkNNZXRhKToKLSAgICAjcHlsaW50OiBkaXNhYmxlPWFic3RyYWN0LW1ldGhvZAotICAgICIiIkNvbW1vbiBmZWF0dXJlcyBmb3IgYmlnbnVtIG9wZXJhdGlvbnMgaW4gbGVnYWN5IHRlc3RzLiIiIgotICAgIHVuaXF1ZV9jb21iaW5hdGlvbnNfb25seSA9IFRydWUKLSAgICBpbnB1dF92YWx1ZXMgPSBbCi0gICAgICAgICIiLCAiMCIsICItIiwgIi0wIiwKLSAgICAgICAgIjdiIiwgIi03YiIsCi0gICAgICAgICIwMDAwMDAwMDAwMDAwMDAwMTIzIiwgIi0wMDAwMDAwMDAwMDAwMDAwMTIzIiwKLSAgICAgICAgIjEyMzAwMDAwMDAwMDAwMDAwMDAiLCAiLTEyMzAwMDAwMDAwMDAwMDAwMDAiCi0gICAgXQotCi0gICAgZGVmIGRlc2NyaXB0aW9uX3N1ZmZpeChzZWxmKSAtPiBzdHI6Ci0gICAgICAgICNweWxpbnQ6IGRpc2FibGU9bm8tc2VsZi11c2UgIyBkZXJpdmVkIGNsYXNzZXMgbmVlZCBzZWxmCi0gICAgICAgICIiIlRleHQgdG8gYWRkIGF0IHRoZSBlbmQgb2YgdGhlIHRlc3QgY2FzZSBkZXNjcmlwdGlvbi4iIiIKLSAgICAgICAgcmV0dXJuICIiCi0KLSAgICBkZWYgZGVzY3JpcHRpb24oc2VsZikgLT4gc3RyOgotICAgICAgICAiIiJHZW5lcmF0ZSBhIGRlc2NyaXB0aW9uIGZvciB0aGUgdGVzdCBjYXNlLgotCi0gICAgICAgIElmIG5vdCBzZXQsIGNhc2VfZGVzY3JpcHRpb24gdXNlcyB0aGUgZm9ybSBBIGBzeW1ib2xgIEIsIHdoZXJlIHN5bWJvbAotICAgICAgICBpcyB1c2VkIHRvIHJlcHJlc2VudCB0aGUgb3BlcmF0aW9uLiBEZXNjcmlwdGlvbnMgb2YgZWFjaCB2YWx1ZSBhcmUKLSAgICAgICAgZ2VuZXJhdGVkIHRvIHByb3ZpZGUgc29tZSBjb250ZXh0IHRvIHRoZSB0ZXN0IGNhc2UuCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3Qgc2VsZi5jYXNlX2Rlc2NyaXB0aW9uOgotICAgICAgICAgICAgc2VsZi5jYXNlX2Rlc2NyaXB0aW9uID0gInt9IHt9IHt9Ii5mb3JtYXQoCi0gICAgICAgICAgICAgICAgc2VsZi52YWx1ZV9kZXNjcmlwdGlvbihzZWxmLmFyZ19hKSwKLSAgICAgICAgICAgICAgICBzZWxmLnN5bWJvbCwKLSAgICAgICAgICAgICAgICBzZWxmLnZhbHVlX2Rlc2NyaXB0aW9uKHNlbGYuYXJnX2IpCi0gICAgICAgICAgICApCi0gICAgICAgICAgICBkZXNjcmlwdGlvbl9zdWZmaXggPSBzZWxmLmRlc2NyaXB0aW9uX3N1ZmZpeCgpCi0gICAgICAgICAgICBpZiBkZXNjcmlwdGlvbl9zdWZmaXg6Ci0gICAgICAgICAgICAgICAgc2VsZi5jYXNlX2Rlc2NyaXB0aW9uICs9ICIgIiArIGRlc2NyaXB0aW9uX3N1ZmZpeAotICAgICAgICByZXR1cm4gc3VwZXIoKS5kZXNjcmlwdGlvbigpCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIHZhbHVlX2Rlc2NyaXB0aW9uKHZhbCkgLT4gc3RyOgotICAgICAgICAiIiJHZW5lcmF0ZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBhcmd1bWVudCB2YWwuCi0KLSAgICAgICAgVGhpcyBwcm9kdWNlcyBhIHNpbXBsZSBkZXNjcmlwdGlvbiBvZiB0aGUgdmFsdWUsIHdoaWNoIGlzIHVzZWQgaW4gdGVzdAotICAgICAgICBjYXNlIG5hbWluZyB0byBhZGQgY29udGV4dC4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHZhbCA9PSAiIjoKLSAgICAgICAgICAgIHJldHVybiAiMCAobnVsbCkiCi0gICAgICAgIGlmIHZhbCA9PSAiLSI6Ci0gICAgICAgICAgICByZXR1cm4gIm5lZ2F0aXZlIDAgKG51bGwpIgotICAgICAgICBpZiB2YWwgPT0gIjAiOgotICAgICAgICAgICAgcmV0dXJuICIwICgxIGxpbWIpIgotCi0gICAgICAgIGlmIHZhbFswXSA9PSAiLSI6Ci0gICAgICAgICAgICB0bXAgPSAibmVnYXRpdmUiCi0gICAgICAgICAgICB2YWwgPSB2YWxbMTpdCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB0bXAgPSAicG9zaXRpdmUiCi0gICAgICAgIGlmIHZhbFswXSA9PSAiMCI6Ci0gICAgICAgICAgICB0bXAgKz0gIiB3aXRoIGxlYWRpbmcgemVybyBsaW1iIgotICAgICAgICBlbGlmIGxlbih2YWwpID4gMTA6Ci0gICAgICAgICAgICB0bXAgPSAibGFyZ2UgIiArIHRtcAotICAgICAgICByZXR1cm4gdG1wCi0KLQotY2xhc3MgQmlnbnVtQ21wKEJpZ251bU9wZXJhdGlvbik6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIHZhbHVlIGNvbXBhcmlzb24uIiIiCi0gICAgY291bnQgPSAwCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY21wX21waSIKLSAgICB0ZXN0X25hbWUgPSAiTVBJIGNvbXBhcmUiCi0gICAgaW5wdXRfY2FzZXMgPSBbCi0gICAgICAgICgiLTIiLCAiLTMiKSwKLSAgICAgICAgKCItMiIsICItMiIpLAotICAgICAgICAoIjJiNCIsICIyYjUiKSwKLSAgICAgICAgKCIyYjUiLCAiMmI2IikKLSAgICAgICAgXQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbF9hLCB2YWxfYikgLT4gTm9uZToKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXyh2YWxfYSwgdmFsX2IpCi0gICAgICAgIHNlbGYuX3Jlc3VsdCA9IGludChzZWxmLmludF9hID4gc2VsZi5pbnRfYikgLSBpbnQoc2VsZi5pbnRfYSA8IHNlbGYuaW50X2IpCi0gICAgICAgIHNlbGYuc3ltYm9sID0gWyI8IiwgIj09IiwgIj4iXVtzZWxmLl9yZXN1bHQgKyAxXQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJldHVybiBbc3RyKHNlbGYuX3Jlc3VsdCldCi0KLQotY2xhc3MgQmlnbnVtQ21wQWJzKEJpZ251bUNtcCk6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYWJzb2x1dGUgYmlnbnVtIHZhbHVlIGNvbXBhcmlzb24uIiIiCi0gICAgY291bnQgPSAwCi0gICAgdGVzdF9mdW5jdGlvbiA9ICJtcGlfY21wX2FicyIKLSAgICB0ZXN0X25hbWUgPSAiTVBJIGNvbXBhcmUgKGFicykiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsX2EsIHZhbF9iKSAtPiBOb25lOgotICAgICAgICBzdXBlcigpLl9faW5pdF9fKHZhbF9hLnN0cmlwKCItIiksIHZhbF9iLnN0cmlwKCItIikpCi0KLQotY2xhc3MgQmlnbnVtQWRkKEJpZ251bU9wZXJhdGlvbik6Ci0gICAgIiIiVGVzdCBjYXNlcyBmb3IgYmlnbnVtIHZhbHVlIGFkZGl0aW9uLiIiIgotICAgIGNvdW50ID0gMAotICAgIHN5bWJvbCA9ICIrIgotICAgIHRlc3RfZnVuY3Rpb24gPSAibXBpX2FkZF9tcGkiCi0gICAgdGVzdF9uYW1lID0gIk1QSSBhZGQiCi0gICAgaW5wdXRfY2FzZXMgPSBiaWdudW1fY29tbW9uLmNvbWJpbmF0aW9uX3BhaXJzKAotICAgICAgICBbCi0gICAgICAgICAgICAiMWM2Nzk2NzI2OWM2IiwgIjljZGUzIiwKLSAgICAgICAgICAgICItMWM2Nzk2NzI2OWM2IiwgIi05Y2RlMyIsCi0gICAgICAgIF0KLSAgICApCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsX2E6IHN0ciwgdmFsX2I6IHN0cikgLT4gTm9uZToKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXyh2YWxfYSwgdmFsX2IpCi0gICAgICAgIHNlbGYuX3Jlc3VsdCA9IHNlbGYuaW50X2EgKyBzZWxmLmludF9iCi0KLSAgICBkZWYgZGVzY3JpcHRpb25fc3VmZml4KHNlbGYpIC0+IHN0cjoKLSAgICAgICAgaWYgKHNlbGYuaW50X2EgPj0gMCBhbmQgc2VsZi5pbnRfYiA+PSAwKToKLSAgICAgICAgICAgIHJldHVybiAiIiAjIG9idmlvdXNseSBwb3NpdGl2ZSByZXN1bHQgb3IgMAotICAgICAgICBpZiAoc2VsZi5pbnRfYSA8PSAwIGFuZCBzZWxmLmludF9iIDw9IDApOgotICAgICAgICAgICAgcmV0dXJuICIiICMgb2J2aW91c2x5IG5lZ2F0aXZlIHJlc3VsdCBvciAwCi0gICAgICAgICMgVGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBpcyBub3Qgb2J2aW91cywgc28gaW5kaWNhdGUgaXQKLSAgICAgICAgcmV0dXJuICIsIHJlc3VsdHt9MCIuZm9ybWF0KCc+JyBpZiBzZWxmLl9yZXN1bHQgPiAwIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8JyBpZiBzZWxmLl9yZXN1bHQgPCAwIGVsc2UgJz0nKQotCi0gICAgZGVmIHJlc3VsdChzZWxmKSAtPiBMaXN0W3N0cl06Ci0gICAgICAgIHJldHVybiBbYmlnbnVtX2NvbW1vbi5xdW90ZV9zdHIoIns6eH0iLmZvcm1hdChzZWxmLl9yZXN1bHQpKV0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICAjIFVzZSB0aGUgc2VjdGlvbiBvZiB0aGUgZG9jc3RyaW5nIHJlbGV2YW50IHRvIHRoZSBDTEkgYXMgZGVzY3JpcHRpb24KLSAgICB0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5tYWluKHN5cy5hcmd2WzE6XSwgIlxuIi5qb2luKF9fZG9jX18uc3BsaXRsaW5lcygpWzo0XSkpCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX2VjcF90ZXN0cy5weSBiL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBkZjFlNDY5Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfZWNwX3Rlc3RzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotIiIiR2VuZXJhdGUgdGVzdCBkYXRhIGZvciBlY3AgZnVuY3Rpb25zLgotCi1UaGUgY29tbWFuZCBsaW5lIHVzYWdlLCBjbGFzcyBzdHJ1Y3R1cmUgYW5kIGF2YWlsYWJsZSBtZXRob2RzIGFyZSB0aGUgc2FtZQotYXMgaW4gZ2VuZXJhdGVfYmlnbnVtX3Rlc3RzLnB5LgotIiIiCi0KLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotCi1pbXBvcnQgc3lzCi0KLWltcG9ydCBzY3JpcHRzX3BhdGggIyBweWxpbnQ6IGRpc2FibGU9dW51c2VkLWltcG9ydAotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgdGVzdF9kYXRhX2dlbmVyYXRpb24KLSMgSW1wb3J0IG1vZHVsZXMgY29udGFpbmluZyBhZGRpdGlvbmFsIHRlc3QgY2xhc3NlcwotIyBUZXN0IGZ1bmN0aW9uIGNsYXNzZXMgaW4gdGhlc2UgbW9kdWxlcyB3aWxsIGJlIHJlZ2lzdGVyZWQgYnkKLSMgdGhlIGZyYW1ld29yawotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgZWNwICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICAjIFVzZSB0aGUgc2VjdGlvbiBvZiB0aGUgZG9jc3RyaW5nIHJlbGV2YW50IHRvIHRoZSBDTEkgYXMgZGVzY3JpcHRpb24KLSAgICB0ZXN0X2RhdGFfZ2VuZXJhdGlvbi5tYWluKHN5cy5hcmd2WzE6XSwgIlxuIi5qb2luKF9fZG9jX18uc3BsaXRsaW5lcygpWzo0XSkpCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BrY3M3X3Rlc3RzLnB5IGIvdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9wa2NzN190ZXN0cy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMGU0ODRiMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BrY3M3X3Rlc3RzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTgzICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKLSMKLSMgIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0KLSIiIgotTWFrZSBmdXp6IGxpa2UgdGVzdGluZyBmb3IgcGtjczcgdGVzdHMKLUdpdmVuIGEgdmFsaWQgREVSIHBrY3M3IGZpbGUgYWRkIHRlc3RzIHRvIHRoZSB0ZXN0X3N1aXRlX3BrY3M3LmRhdGEgZmlsZQotIC0gSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgcGtjczdfYXNuMV9mYWlsKCBkYXRhX3QgKnBrY3M3X2J1ZiApCi0gICAgZnVuY3Rpb24gaXMgZGVmaW5lZCBpbiB0ZXN0X3N1aXRlX3BrY3M3LmZ1bmN0aW9uCi0gLSBUaGlzIGlzIG5vdCBtZWFudCB0byBiZSBwb3J0YWJsZSBjb2RlLCBpZiBhbnl0aGluZyBpdCBpcyBtZWFudCB0byBzZXJ2ZSBhcwotICAgZG9jdW1lbnRhdGlvbiBmb3Igc2hvd2luZyBob3cgdGhvc2UgdWdseSB0ZXN0cyBpbiB0ZXN0X3N1aXRlX3BrY3M3LmRhdGEgd2VyZSBjcmVhdGVkCi0iIiIKLQotCi1pbXBvcnQgc3lzCi1mcm9tIG9zLnBhdGggaW1wb3J0IGV4aXN0cwotCi1QS0NTN19URVNUX0ZJTEUgPSAiLi4vc3VpdGVzL3Rlc3Rfc3VpdGVfcGtjczcuZGF0YSIKLQotY2xhc3MgVGVzdDogIyBweWxpbnQ6IGRpc2FibGU9dG9vLWZldy1wdWJsaWMtbWV0aG9kcwotICAgICIiIgotICAgIEEgaW5zdGFuY2Ugb2YgYSB0ZXN0IGluIHRlc3Rfc3VpdGVfcGtjczcuZGF0YQotICAgICIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBkZXBlbmRzLCBmdW5jX2NhbGwpOgotICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCi0gICAgICAgIHNlbGYuZGVwZW5kcyA9IGRlcGVuZHMKLSAgICAgICAgc2VsZi5mdW5jX2NhbGwgPSBmdW5jX2NhbGwKLQotICAgICMgcHlsaW50OiBkaXNhYmxlPW5vLXNlbGYtdXNlCi0gICAgZGVmIHRvX3N0cmluZyhzZWxmKToKLSAgICAgICAgcmV0dXJuICJcbiIgKyBzZWxmLm5hbWUgKyAiXG4iICsgc2VsZi5kZXBlbmRzICsgIlxuIiArIHNlbGYuZnVuY19jYWxsICsgIlxuIgotCi1jbGFzcyBUZXN0RGF0YToKLSAgICAiIiIKLSAgICBUYWtlIGluIHRlc3Rfc3VpdGVfcGtjczcuZGF0YSBmaWxlLgotICAgIEFsbG93IGZvciBuZXcgdGVzdHMgdG8gYmUgYWRkZWQuCi0gICAgIiIiCi0gICAgbWFuZGF0b3J5X2RlcCA9ICJNQkVEVExTX01EX0NBTl9TSEEyNTYiCi0gICAgdGVzdF9uYW1lID0gIlBLQ1M3IFBhcnNlIEZhaWx1cmUgSW52YWxpZCBBU04xIgotICAgIHRlc3RfZnVuY3Rpb24gPSAicGtjczdfYXNuMV9mYWlsOiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZV9uYW1lKToKLSAgICAgICAgc2VsZi5maWxlX25hbWUgPSBmaWxlX25hbWUKLSAgICAgICAgc2VsZi5sYXN0X3Rlc3RfbnVtLCBzZWxmLm9sZF90ZXN0cyA9IHNlbGYucmVhZF90ZXN0X2ZpbGUoZmlsZV9uYW1lKQotICAgICAgICBzZWxmLm5ld190ZXN0cyA9IFtdCi0KLSAgICAjIHB5bGludDogZGlzYWJsZT1uby1zZWxmLXVzZQotICAgIGRlZiByZWFkX3Rlc3RfZmlsZShzZWxmLCBmaWxlKToKLSAgICAgICAgIiIiCi0gICAgICAgIFBhcnNlIHRoZSB0ZXN0X3N1aXRlX3BrY3M3LmRhdGEgZmlsZS4KLSAgICAgICAgIiIiCi0gICAgICAgIHRlc3RzID0gW10KLSAgICAgICAgaWYgbm90IGV4aXN0cyhmaWxlKToKLSAgICAgICAgICAgIHByaW50KGZpbGUgKyAiIERvZXMgbm90IGV4aXN0IikKLSAgICAgICAgICAgIHN5cy5leGl0KCkKLSAgICAgICAgd2l0aCBvcGVuKGZpbGUsICJyIiwgZW5jb2Rpbmc9J1VURi04JykgYXMgZnA6Ci0gICAgICAgICAgICBkYXRhID0gZnAucmVhZCgpCi0gICAgICAgIGxpbmVzID0gW2xpbmUuc3RyaXAoKSBmb3IgbGluZSBpbiBkYXRhLnNwbGl0KCdcbicpIGlmIGxlbihsaW5lLnN0cmlwKCkpID4gMV0KLSAgICAgICAgaSA9IDAKLSAgICAgICAgd2hpbGUgaSA8IGxlbihsaW5lcyk6Ci0gICAgICAgICAgICBpZiAiZGVwZW5kcyIgaW4gbGluZXNbaSsxXToKLSAgICAgICAgICAgICAgICB0ZXN0cy5hcHBlbmQoVGVzdChsaW5lc1tpXSwgbGluZXNbaSsxXSwgbGluZXNbaSsyXSkpCi0gICAgICAgICAgICAgICAgaSArPSAzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHRlc3RzLmFwcGVuZChUZXN0KGxpbmVzW2ldLCBOb25lLCBsaW5lc1tpKzFdKSkKLSAgICAgICAgICAgICAgICBpICs9IDIKLSAgICAgICAgbGF0ZXN0X3Rlc3RfbnVtID0gZmxvYXQodGVzdHNbLTFdLm5hbWUuc3BsaXQoJyMnKVsxXSkKLSAgICAgICAgcmV0dXJuIGxhdGVzdF90ZXN0X251bSwgdGVzdHMKLQotICAgIGRlZiBhZGQoc2VsZiwgbmFtZSwgZnVuY19jYWxsKToKLSAgICAgICAgc2VsZi5sYXN0X3Rlc3RfbnVtICs9IDEKLSAgICAgICAgc2VsZi5uZXdfdGVzdHMuYXBwZW5kKFRlc3Qoc2VsZi50ZXN0X25hbWUgKyAiOiAiICsgbmFtZSArICAiICMiICsgXAotICAgICAgICAgICAgICAgIHN0cihzZWxmLmxhc3RfdGVzdF9udW0pLCAiZGVwZW5kc19vbjoiICsgc2VsZi5tYW5kYXRvcnlfZGVwLCBcCi0gICAgICAgICAgICAgICAgc2VsZi50ZXN0X2Z1bmN0aW9uICsgJyInICsgZnVuY19jYWxsICsgJyInKSkKLQotICAgIGRlZiB3cml0ZV9jaGFuZ2VzKHNlbGYpOgotICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlX25hbWUsICdhJywgZW5jb2Rpbmc9J1VURi04JykgYXMgZnc6Ci0gICAgICAgICAgICBmdy53cml0ZSgiXG4iKQotICAgICAgICAgICAgZm9yIHQgaW4gc2VsZi5uZXdfdGVzdHM6Ci0gICAgICAgICAgICAgICAgZncud3JpdGUodC50b19zdHJpbmcoKSkKLQotCi1kZWYgYXNuMV9tdXRhdGUoZGF0YSk6Ci0gICAgIiIiCi0gICAgV2UgaGF2ZSBiZWVuIGdpdmVuIGFuIGFzbjEgc3RydWN0dXJlIHJlcHJlc2VudGluZyBhIHBrY3M3LgotICAgIFdlIHdhbnQgdG8gcmV0dXJuIGFuIGFycmF5IG9mIHNsaWdodGx5IG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMgZGF0YQotICAgIHRoZXkgc2hvdWxkIGJlIG1vZGlmaWVkIGluIGEgd2F5IHdoaWNoIG1ha2VzIHRoZSBzdHJ1Y3R1cmUgaW52YWxpZAotCi0gICAgV2Uga25vdyB0aGF0IGFzbjEgc3RydWN0dXJlcyBhcmU6Ci0gICAgfC0tLTEgYnl0ZSBzaG93aW5nIGRhdGEgdHlwZS0tLXwtLS0tYnl0ZShzKSBmb3IgbGVuZ3RoIG9mIGRhdGEtLS18LS0tZGF0YSBjb250ZW50LS18Ci0gICAgV2Uga25vdyB0aGF0IHNvbWUgZGF0YSB0eXBlcyBjYW4gY29udGFpbiBvdGhlciBkYXRhIHR5cGVzLgotICAgIFJldHVybiBhIGRpY3Rpb25hcnkgb2YgcmVhc29ucyBhbmQgbXV0YXRlZCBkYXRhIHR5cGVzLgotICAgICIiIgotCi0gICAgIyBvZmYgdGhlIGJhdCBqdXN0IGFkZCBieXRlcyB0byBzdGFydCBhbmQgZW5kIG9mIHRoZSBidWZmZXIKLSAgICBtdXRhdGlvbnMgPSBbXQotICAgIHJlYXNvbnMgPSBbXQotICAgIG11dGF0aW9ucy5hcHBlbmQoWyIwMCJdICsgZGF0YSkKLSAgICByZWFzb25zLmFwcGVuZCgiQWRkIG51bGwgYnl0ZSB0byBzdGFydCIpCi0gICAgbXV0YXRpb25zLmFwcGVuZChkYXRhICsgWyIwMCJdKQotICAgIHJlYXNvbnMuYXBwZW5kKCJBZGQgbnVsbCBieXRlIHRvIGVuZCIpCi0gICAgIyBmb3IgZXZlcnkgYXNuMSBlbnRyeSB3ZSBzaG91bGQgYXR0ZW1wdCB0bzoKLSAgICAjICAgIC0gY2hhbmdlIHRoZSBkYXRhIHR5cGUgdGFnCi0gICAgIyAgICAtIG1ha2UgdGhlIGxlbmd0aCBsb25nZXIgdGhhbiBhY3R1YWwKLSAgICAjICAgIC0gbWFrZSB0aGUgbGVuZ3RoIHNob3J0ZXIgdGhhbiBhY3R1YWwKLSAgICBpID0gMAotICAgIHdoaWxlIGkgPCBsZW4oZGF0YSk6Ci0gICAgICAgIHRhZ19pID0gaQotICAgICAgICBsZW5nX2kgPSB0YWdfaSArIDEKLSAgICAgICAgZGF0YV9pID0gbGVuZ19pICsgMSArIChpbnQoZGF0YVtsZW5nX2ldWzFdLCAxNikgaWYgZGF0YVtsZW5nX2ldWzBdID09ICc4JyBlbHNlIDApCi0gICAgICAgIGlmIGRhdGFbbGVuZ19pXVswXSA9PSAnOCc6Ci0gICAgICAgICAgICBsZW5ndGggPSBpbnQoJycuam9pbihkYXRhW2xlbmdfaSArIDE6IGRhdGFfaV0pLCAxNikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGxlbmd0aCA9IGludChkYXRhW2xlbmdfaV0sIDE2KQotCi0gICAgICAgIHRhZyA9IGRhdGFbdGFnX2ldCi0gICAgICAgIHByaW50KCJMb29raW5nIGF0IGFuczE6IG9mZnNldCAiICsgc3RyKGkpICsgIiB0YWcgPSAiICsgdGFnICsgXAotICAgICAgICAgICAgICAgICIsIGxlbmd0aCA9ICIgKyBzdHIobGVuZ3RoKSsgIjoiKQotICAgICAgICBwcmludCgnJy5qb2luKGRhdGFbZGF0YV9pOmRhdGFfaStsZW5ndGhdKSkKLSAgICAgICAgIyBjaGFuZ2UgdGFnIHRvIHNvbWV0aGluZyBlbHNlCi0gICAgICAgIGlmIHRhZyA9PSAiMDIiOgotICAgICAgICAgICAgIyB0dXJuIGludGVnZXJzIGludG8gb2N0ZXQgc3RyaW5ncwotICAgICAgICAgICAgbmV3X3RhZyA9ICIwNCIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgdHVybiBldmVyeXRoaW5nIGVsc2UgaW50byBhbiBpbnRlZ2VyCi0gICAgICAgICAgICBuZXdfdGFnID0gIjAyIgotICAgICAgICBtdXRhdGlvbnMuYXBwZW5kKGRhdGFbOnRhZ19pXSArIFtuZXdfdGFnXSArIGRhdGFbbGVuZ19pOl0pCi0gICAgICAgIHJlYXNvbnMuYXBwZW5kKCJDaGFuZ2UgdGFnICIgKyB0YWcgKyAiIHRvICIgKyBuZXdfdGFnKQotCi0gICAgICAgICMgY2hhbmdlIGxlbmd0aHMgdG8gdG9vIGJpZwotICAgICAgICAjIHNraXAgYW55IGVkZ2UgY2FzZXMgd2hpY2ggd291bGQgY2F1c2UgY2Fycnkgb3ZlcgotICAgICAgICBpZiBpbnQoZGF0YVtkYXRhX2kgLSAxXSwgMTYpIDwgMjU1OgotICAgICAgICAgICAgbmV3X2xlbmd0aCA9IHN0cihoZXgoaW50KGRhdGFbZGF0YV9pIC0gMV0sIDE2KSArIDEpKVsyOl0KLSAgICAgICAgICAgIGlmIGxlbihuZXdfbGVuZ3RoKSA9PSAxOgotICAgICAgICAgICAgICAgIG5ld19sZW5ndGggPSAiMCIrbmV3X2xlbmd0aAotICAgICAgICAgICAgbXV0YXRpb25zLmFwcGVuZChkYXRhWzpkYXRhX2kgLTFdICsgW25ld19sZW5ndGhdICsgZGF0YVtkYXRhX2k6XSkKLSAgICAgICAgICAgIHJlYXNvbnMuYXBwZW5kKCJDaGFuZ2UgbGVuZ3RoIGZyb20gIiArIHN0cihsZW5ndGgpICsgIiB0byAiIFwKLSAgICAgICAgICAgICAgICAgICAgKyBzdHIobGVuZ3RoICsgMSkpCi0gICAgICAgICAgICAjIHdlIGNhbiBhZGQgYW5vdGhlciB0ZXN0IGhlcmUgZm9yIHRhZ3MgdGhhdCBjb250YWluIG90aGVyIHRhZ3MgXAotICAgICAgICAgICAgIyB3aGVyZSB0aGV5IGhhdmUgbW9yZSBkYXRhIHRoYW4gdGhlcmUgY29udGFpbmluZyB0YWdzIGFjY291bnQgZm9yCi0gICAgICAgICAgICBpZiB0YWcgaW4gWyIzMCIsICJhMCIsICIzMSJdOgotICAgICAgICAgICAgICAgIG11dGF0aW9ucy5hcHBlbmQoZGF0YVs6ZGF0YV9pIC0xXSArIFtuZXdfbGVuZ3RoXSArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbZGF0YV9pOmRhdGFfaSArIGxlbmd0aF0gKyBbIjAwIl0gKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2RhdGFfaSArIGxlbmd0aDpdKQotICAgICAgICAgICAgICAgIHJlYXNvbnMuYXBwZW5kKCJDaGFuZ2UgY29udGVudHMgb2YgdGFnICIgKyB0YWcgKyAiIHRvIGNvbnRhaW4gXAotICAgICAgICAgICAgICAgICAgICAgICAgb25lIHVuYWNjb3VudGVkIGV4dHJhIGJ5dGUiKQotICAgICAgICAjIGNoYW5nZSBsZW5ndGhzIHRvIHRvbyBzbWFsbAotICAgICAgICBpZiBpbnQoZGF0YVtkYXRhX2kgLSAxXSwgMTYpID4gMDoKLSAgICAgICAgICAgIG5ld19sZW5ndGggPSBzdHIoaGV4KGludChkYXRhW2RhdGFfaSAtIDFdLCAxNikgLSAxKSlbMjpdCi0gICAgICAgICAgICBpZiBsZW4obmV3X2xlbmd0aCkgPT0gMToKLSAgICAgICAgICAgICAgICBuZXdfbGVuZ3RoID0gIjAiK25ld19sZW5ndGgKLSAgICAgICAgICAgIG11dGF0aW9ucy5hcHBlbmQoZGF0YVs6ZGF0YV9pIC0xXSArIFtuZXdfbGVuZ3RoXSArIGRhdGFbZGF0YV9pOl0pCi0gICAgICAgICAgICByZWFzb25zLmFwcGVuZCgiQ2hhbmdlIGxlbmd0aCBmcm9tICIgKyBzdHIobGVuZ3RoKSArICIgdG8gIiArIHN0cihsZW5ndGggLSAxKSkKLQotICAgICAgICAjIHNvbWUgdGFnIHR5cGVzIGNvbnRhaW4gb3RoZXIgdGFnIHR5cGVzIHNvIHdlIHNob3VsZCBpdGVyYXRlIGludG8gdGhlIGRhdGEKLSAgICAgICAgaWYgdGFnIGluIFsiMzAiLCAiYTAiLCAiMzEiXToKLSAgICAgICAgICAgIGkgPSBkYXRhX2kKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGkgPSBkYXRhX2kgKyBsZW5ndGgKLQotICAgIHJldHVybiBsaXN0KHppcChyZWFzb25zLCBtdXRhdGlvbnMpKQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIGlmIGxlbihzeXMuYXJndikgPCAyOgotICAgICAgICBwcmludCgiVVNBR0U6ICIgKyBzeXMuYXJndlswXSArICIgPHBrY3M3X2Rlcl9maWxlPiIpCi0gICAgICAgIHN5cy5leGl0KCkKLQotICAgIERBVEFfRklMRSA9IHN5cy5hcmd2WzFdCi0gICAgVEVTVF9EQVRBID0gVGVzdERhdGEoUEtDUzdfVEVTVF9GSUxFKQotICAgIHdpdGggb3BlbihEQVRBX0ZJTEUsICdyYicpIGFzIGY6Ci0gICAgICAgIERBVEFfU1RSID0gZi5yZWFkKCkuaGV4KCkKLSAgICAjIG1ha2UgZGF0YSBhbiBhcnJheSBvZiBieXRlIHN0cmluZ3MgZWcgWydkZScsJ2FkJywnYmUnLCdlZiddCi0gICAgSEVYX0RBVEEgPSBsaXN0KG1hcCgnJy5qb2luLCBbW0RBVEFfU1RSW2ldLCBEQVRBX1NUUltpKzFdXSBmb3IgaSBpbiByYW5nZSgwLCBsZW4oREFUQV9TVFIpLCBcCi0gICAgICAgICAgICAyKV0pKQotICAgICMgcmV0dXJucyB0dXBsZXMgb2YgdGVzdF9uYW1lcyBhbmQgbW9kaWZpZWQgZGF0YSBidWZmZXJzCi0gICAgTVVUX0FSUiA9IGFzbjFfbXV0YXRlKEhFWF9EQVRBKQotCi0gICAgcHJpbnQoIm1hZGUgIiArIHN0cihsZW4oTVVUX0FSUikpICsgIiBuZXcgdGVzdHMiKQotICAgIGZvciBuZXdfdGVzdCBpbiBNVVRfQVJSOgotICAgICAgICBURVNUX0RBVEEuYWRkKG5ld190ZXN0WzBdLCAnJy5qb2luKG5ld190ZXN0WzFdKSkKLQotICAgIFRFU1RfREFUQS53cml0ZV9jaGFuZ2VzKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfcHNhX3Rlc3RzLnB5IGIvdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGZkMjc4ZjguLjAwMDAwMDAKLS0tIGEvdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9wc2FfdGVzdHMucHkKKysrIC9kZXYvbnVsbApAQCAtMSw4NTAgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotIiIiR2VuZXJhdGUgdGVzdCBkYXRhIGZvciBQU0EgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zLgotCi1XaXRoIG5vIGFyZ3VtZW50cywgZ2VuZXJhdGUgYWxsIHRlc3QgZGF0YS4gV2l0aCBub24tb3B0aW9uIGFyZ3VtZW50cywKLWdlbmVyYXRlIG9ubHkgdGhlIHNwZWNpZmllZCBmaWxlcy4KLSIiIgotCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLQotaW1wb3J0IGVudW0KLWltcG9ydCByZQotaW1wb3J0IHN5cwotZnJvbSB0eXBpbmcgaW1wb3J0IENhbGxhYmxlLCBEaWN0LCBGcm96ZW5TZXQsIEl0ZXJhYmxlLCBJdGVyYXRvciwgTGlzdCwgT3B0aW9uYWwKLQotaW1wb3J0IHNjcmlwdHNfcGF0aCAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtaW1wb3J0Ci1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCBjcnlwdG9fZGF0YV90ZXN0cwotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgY3J5cHRvX2tub3dsZWRnZQotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgbWFjcm9fY29sbGVjdG9yICNweWxpbnQ6IGRpc2FibGU9dW51c2VkLWltcG9ydAotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgcHNhX2luZm9ybWF0aW9uCi1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCBwc2Ffc3RvcmFnZQotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgdGVzdF9jYXNlCi1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCB0ZXN0X2RhdGFfZ2VuZXJhdGlvbgotCi0KLQotZGVmIHRlc3RfY2FzZV9mb3Jfa2V5X3R5cGVfbm90X3N1cHBvcnRlZCgKLSAgICAgICAgdmVyYjogc3RyLCBrZXlfdHlwZTogc3RyLCBiaXRzOiBpbnQsCi0gICAgICAgIGRlcGVuZGVuY2llczogTGlzdFtzdHJdLAotICAgICAgICAqYXJnczogc3RyLAotICAgICAgICBwYXJhbV9kZXNjcjogc3RyID0gJycKLSkgLT4gdGVzdF9jYXNlLlRlc3RDYXNlOgotICAgICIiIlJldHVybiBvbmUgdGVzdCBjYXNlIGV4ZXJjaXNpbmcgYSBrZXkgY3JlYXRpb24gbWV0aG9kCi0gICAgZm9yIGFuIHVuc3VwcG9ydGVkIGtleSB0eXBlIG9yIHNpemUuCi0gICAgIiIiCi0gICAgcHNhX2luZm9ybWF0aW9uLmhhY2tfZGVwZW5kZW5jaWVzX25vdF9pbXBsZW1lbnRlZChkZXBlbmRlbmNpZXMpCi0gICAgdGMgPSB0ZXN0X2Nhc2UuVGVzdENhc2UoKQotICAgIHNob3J0X2tleV90eXBlID0gY3J5cHRvX2tub3dsZWRnZS5zaG9ydF9leHByZXNzaW9uKGtleV90eXBlKQotICAgIGFkdmVyYiA9ICdub3QnIGlmIGRlcGVuZGVuY2llcyBlbHNlICduZXZlcicKLSAgICBpZiBwYXJhbV9kZXNjcjoKLSAgICAgICAgYWR2ZXJiID0gcGFyYW1fZGVzY3IgKyAnICcgKyBhZHZlcmIKLSAgICB0Yy5zZXRfZGVzY3JpcHRpb24oJ1BTQSB7fSB7fSB7fS1iaXQge30gc3VwcG9ydGVkJwotICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KHZlcmIsIHNob3J0X2tleV90eXBlLCBiaXRzLCBhZHZlcmIpKQotICAgIHRjLnNldF9kZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKQotICAgIHRjLnNldF9mdW5jdGlvbih2ZXJiICsgJ19ub3Rfc3VwcG9ydGVkJykKLSAgICB0Yy5zZXRfYXJndW1lbnRzKFtrZXlfdHlwZV0gKyBsaXN0KGFyZ3MpKQotICAgIHJldHVybiB0YwotCi1jbGFzcyBLZXlUeXBlTm90U3VwcG9ydGVkOgotICAgICIiIkdlbmVyYXRlIHRlc3QgY2FzZXMgZm9yIHdoZW4gYSBrZXkgdHlwZSBpcyBub3Qgc3VwcG9ydGVkLiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGluZm86IHBzYV9pbmZvcm1hdGlvbi5JbmZvcm1hdGlvbikgLT4gTm9uZToKLSAgICAgICAgc2VsZi5jb25zdHJ1Y3RvcnMgPSBpbmZvLmNvbnN0cnVjdG9ycwotCi0gICAgQUxXQVlTX1NVUFBPUlRFRCA9IGZyb3plbnNldChbCi0gICAgICAgICdQU0FfS0VZX1RZUEVfREVSSVZFJywKLSAgICAgICAgJ1BTQV9LRVlfVFlQRV9QQVNTV09SRCcsCi0gICAgICAgICdQU0FfS0VZX1RZUEVfUEFTU1dPUkRfSEFTSCcsCi0gICAgICAgICdQU0FfS0VZX1RZUEVfUkFXX0RBVEEnLAotICAgICAgICAnUFNBX0tFWV9UWVBFX0hNQUMnCi0gICAgXSkKLSAgICBkZWYgdGVzdF9jYXNlc19mb3Jfa2V5X3R5cGVfbm90X3N1cHBvcnRlZCgKLSAgICAgICAgICAgIHNlbGYsCi0gICAgICAgICAgICBrdDogY3J5cHRvX2tub3dsZWRnZS5LZXlUeXBlLAotICAgICAgICAgICAgcGFyYW06IE9wdGlvbmFsW2ludF0gPSBOb25lLAotICAgICAgICAgICAgcGFyYW1fZGVzY3I6IHN0ciA9ICcnLAotICAgICkgLT4gSXRlcmF0b3JbdGVzdF9jYXNlLlRlc3RDYXNlXToKLSAgICAgICAgIiIiUmV0dXJuIHRlc3QgY2FzZXMgZXhlcmNpc2luZyBrZXkgY3JlYXRpb24gd2hlbiB0aGUgZ2l2ZW4gdHlwZSBpcyB1bnN1cHBvcnRlZC4KLQotICAgICAgICBJZiBwYXJhbSBpcyBwcmVzZW50IGFuZCBub3QgTm9uZSwgZW1pdCB0ZXN0IGNhc2VzIGNvbmRpdGlvbmVkIG9uIHRoaXMKLSAgICAgICAgcGFyYW1ldGVyIG5vdCBiZWluZyBzdXBwb3J0ZWQuIElmIGl0IGlzIGFic2VudCBvciBOb25lLCBlbWl0IHRlc3QgY2FzZXMKLSAgICAgICAgY29uZGl0aW9uZWQgb24gdGhlIGJhc2UgdHlwZSBub3QgYmVpbmcgc3VwcG9ydGVkLgotICAgICAgICAiIiIKLSAgICAgICAgaWYga3QubmFtZSBpbiBzZWxmLkFMV0FZU19TVVBQT1JURUQ6Ci0gICAgICAgICAgICAjIERvbid0IGdlbmVyYXRlIHRlc3QgY2FzZXMgZm9yIGtleSB0eXBlcyB0aGF0IGFyZSBhbHdheXMgc3VwcG9ydGVkLgotICAgICAgICAgICAgIyBUaGV5IHdvdWxkIGJlIHNraXBwZWQgaW4gYWxsIGNvbmZpZ3VyYXRpb25zLCB3aGljaCBpcyBub2lzZS4KLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBpbXBvcnRfZGVwZW5kZW5jaWVzID0gWygnIScgaWYgcGFyYW0gaXMgTm9uZSBlbHNlICcnKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2luZm9ybWF0aW9uLnBzYV93YW50X3N5bWJvbChrdC5uYW1lKV0KLSAgICAgICAgaWYga3QucGFyYW1zIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgaW1wb3J0X2RlcGVuZGVuY2llcyArPSBbKCchJyBpZiBwYXJhbSA9PSBpIGVsc2UgJycpICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9pbmZvcm1hdGlvbi5wc2Ffd2FudF9zeW1ib2woc3ltKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGksIHN5bSBpbiBlbnVtZXJhdGUoa3QucGFyYW1zKV0KLSAgICAgICAgaWYga3QubmFtZS5lbmRzd2l0aCgnX1BVQkxJQ19LRVknKToKLSAgICAgICAgICAgIGdlbmVyYXRlX2RlcGVuZGVuY2llcyA9IFtdCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBnZW5lcmF0ZV9kZXBlbmRlbmNpZXMgPSBcCi0gICAgICAgICAgICAgICAgcHNhX2luZm9ybWF0aW9uLmZpeF9rZXlfcGFpcl9kZXBlbmRlbmNpZXMoaW1wb3J0X2RlcGVuZGVuY2llcywgJ0dFTkVSQVRFJykKLSAgICAgICAgICAgIGltcG9ydF9kZXBlbmRlbmNpZXMgPSBcCi0gICAgICAgICAgICAgICAgcHNhX2luZm9ybWF0aW9uLmZpeF9rZXlfcGFpcl9kZXBlbmRlbmNpZXMoaW1wb3J0X2RlcGVuZGVuY2llcywgJ0JBU0lDJykKLSAgICAgICAgZm9yIGJpdHMgaW4ga3Quc2l6ZXNfdG9fdGVzdCgpOgotICAgICAgICAgICAgeWllbGQgdGVzdF9jYXNlX2Zvcl9rZXlfdHlwZV9ub3Rfc3VwcG9ydGVkKAotICAgICAgICAgICAgICAgICdpbXBvcnQnLCBrdC5leHByZXNzaW9uLCBiaXRzLAotICAgICAgICAgICAgICAgIHBzYV9pbmZvcm1hdGlvbi5maW5pc2hfZmFtaWx5X2RlcGVuZGVuY2llcyhpbXBvcnRfZGVwZW5kZW5jaWVzLCBiaXRzKSwKLSAgICAgICAgICAgICAgICB0ZXN0X2Nhc2UuaGV4X3N0cmluZyhrdC5rZXlfbWF0ZXJpYWwoYml0cykpLAotICAgICAgICAgICAgICAgIHBhcmFtX2Rlc2NyPXBhcmFtX2Rlc2NyLAotICAgICAgICAgICAgKQotICAgICAgICAgICAgaWYgbm90IGdlbmVyYXRlX2RlcGVuZGVuY2llcyBhbmQgcGFyYW0gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgIyBJZiBnZW5lcmF0aW9uIGlzIGltcG9zc2libGUgZm9yIHRoaXMga2V5IHR5cGUsIHJhdGhlciB0aGFuCi0gICAgICAgICAgICAgICAgIyBzdXBwb3J0ZWQgb3Igbm90IGRlcGVuZGluZyBvbiBpbXBsZW1lbnRhdGlvbiBjYXBhYmlsaXRpZXMsCi0gICAgICAgICAgICAgICAgIyBvbmx5IGdlbmVyYXRlIHRoZSB0ZXN0IGNhc2Ugb25jZS4KLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICMgRm9yIHB1YmxpYyBrZXkgd2UgZXhwZWN0IHRoYXQga2V5IGdlbmVyYXRpb24gZmFpbHMgd2l0aAotICAgICAgICAgICAgICAgICMgSU5WQUxJRF9BUkdVTUVOVC4gSXQgaXMgaGFuZGxlZCBieSBLZXlHZW5lcmF0ZSBjbGFzcy4KLSAgICAgICAgICAgIGlmIG5vdCBrdC5pc19wdWJsaWMoKToKLSAgICAgICAgICAgICAgICB5aWVsZCB0ZXN0X2Nhc2VfZm9yX2tleV90eXBlX25vdF9zdXBwb3J0ZWQoCi0gICAgICAgICAgICAgICAgICAgICdnZW5lcmF0ZScsIGt0LmV4cHJlc3Npb24sIGJpdHMsCi0gICAgICAgICAgICAgICAgICAgIHBzYV9pbmZvcm1hdGlvbi5maW5pc2hfZmFtaWx5X2RlcGVuZGVuY2llcyhnZW5lcmF0ZV9kZXBlbmRlbmNpZXMsIGJpdHMpLAotICAgICAgICAgICAgICAgICAgICBzdHIoYml0cyksCi0gICAgICAgICAgICAgICAgICAgIHBhcmFtX2Rlc2NyPXBhcmFtX2Rlc2NyLAotICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICMgVG8gYmUgYWRkZWQ6IGRlcml2ZQotCi0gICAgRUNDX0tFWV9UWVBFUyA9ICgnUFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUicsCi0gICAgICAgICAgICAgICAgICAgICAnUFNBX0tFWV9UWVBFX0VDQ19QVUJMSUNfS0VZJykKLSAgICBESF9LRVlfVFlQRVMgPSAoJ1BTQV9LRVlfVFlQRV9ESF9LRVlfUEFJUicsCi0gICAgICAgICAgICAgICAgICAgICdQU0FfS0VZX1RZUEVfREhfUFVCTElDX0tFWScpCi0KLSAgICBkZWYgdGVzdF9jYXNlc19mb3Jfbm90X3N1cHBvcnRlZChzZWxmKSAtPiBJdGVyYXRvclt0ZXN0X2Nhc2UuVGVzdENhc2VdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGNhc2VzIHRoYXQgZXhlcmNpc2UgdGhlIGNyZWF0aW9uIG9mIGtleXMgb2YgdW5zdXBwb3J0ZWQgdHlwZXMuIiIiCi0gICAgICAgIGZvciBrZXlfdHlwZSBpbiBzb3J0ZWQoc2VsZi5jb25zdHJ1Y3RvcnMua2V5X3R5cGVzKToKLSAgICAgICAgICAgIGlmIGtleV90eXBlIGluIHNlbGYuRUNDX0tFWV9UWVBFUzoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYga2V5X3R5cGUgaW4gc2VsZi5ESF9LRVlfVFlQRVM6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGt0ID0gY3J5cHRvX2tub3dsZWRnZS5LZXlUeXBlKGtleV90eXBlKQotICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLnRlc3RfY2FzZXNfZm9yX2tleV90eXBlX25vdF9zdXBwb3J0ZWQoa3QpCi0gICAgICAgIGZvciBjdXJ2ZV9mYW1pbHkgaW4gc29ydGVkKHNlbGYuY29uc3RydWN0b3JzLmVjY19jdXJ2ZXMpOgotICAgICAgICAgICAgZm9yIGNvbnN0ciBpbiBzZWxmLkVDQ19LRVlfVFlQRVM6Ci0gICAgICAgICAgICAgICAga3QgPSBjcnlwdG9fa25vd2xlZGdlLktleVR5cGUoY29uc3RyLCBbY3VydmVfZmFtaWx5XSkKLSAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHNlbGYudGVzdF9jYXNlc19mb3Jfa2V5X3R5cGVfbm90X3N1cHBvcnRlZCgKLSAgICAgICAgICAgICAgICAgICAga3QsIHBhcmFtX2Rlc2NyPSd0eXBlJykKLSAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHNlbGYudGVzdF9jYXNlc19mb3Jfa2V5X3R5cGVfbm90X3N1cHBvcnRlZCgKLSAgICAgICAgICAgICAgICAgICAga3QsIDAsIHBhcmFtX2Rlc2NyPSdjdXJ2ZScpCi0gICAgICAgIGZvciBkaF9mYW1pbHkgaW4gc29ydGVkKHNlbGYuY29uc3RydWN0b3JzLmRoX2dyb3Vwcyk6Ci0gICAgICAgICAgICBmb3IgY29uc3RyIGluIHNlbGYuREhfS0VZX1RZUEVTOgotICAgICAgICAgICAgICAgIGt0ID0gY3J5cHRvX2tub3dsZWRnZS5LZXlUeXBlKGNvbnN0ciwgW2RoX2ZhbWlseV0pCi0gICAgICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLnRlc3RfY2FzZXNfZm9yX2tleV90eXBlX25vdF9zdXBwb3J0ZWQoCi0gICAgICAgICAgICAgICAgICAgIGt0LCBwYXJhbV9kZXNjcj0ndHlwZScpCi0gICAgICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLnRlc3RfY2FzZXNfZm9yX2tleV90eXBlX25vdF9zdXBwb3J0ZWQoCi0gICAgICAgICAgICAgICAgICAgIGt0LCAwLCBwYXJhbV9kZXNjcj0nZ3JvdXAnKQotCi1kZWYgdGVzdF9jYXNlX2Zvcl9rZXlfZ2VuZXJhdGlvbigKLSAgICAgICAga2V5X3R5cGU6IHN0ciwgYml0czogaW50LAotICAgICAgICBkZXBlbmRlbmNpZXM6IExpc3Rbc3RyXSwKLSAgICAgICAgKmFyZ3M6IHN0ciwKLSAgICAgICAgcmVzdWx0OiBzdHIgPSAnJwotKSAtPiB0ZXN0X2Nhc2UuVGVzdENhc2U6Ci0gICAgIiIiUmV0dXJuIG9uZSB0ZXN0IGNhc2UgZXhlcmNpc2luZyBhIGtleSBnZW5lcmF0aW9uLgotICAgICIiIgotICAgIHBzYV9pbmZvcm1hdGlvbi5oYWNrX2RlcGVuZGVuY2llc19ub3RfaW1wbGVtZW50ZWQoZGVwZW5kZW5jaWVzKQotICAgIHRjID0gdGVzdF9jYXNlLlRlc3RDYXNlKCkKLSAgICBzaG9ydF9rZXlfdHlwZSA9IGNyeXB0b19rbm93bGVkZ2Uuc2hvcnRfZXhwcmVzc2lvbihrZXlfdHlwZSkKLSAgICB0Yy5zZXRfZGVzY3JpcHRpb24oJ1BTQSB7fSB7fS1iaXQnCi0gICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoc2hvcnRfa2V5X3R5cGUsIGJpdHMpKQotICAgIHRjLnNldF9kZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKQotICAgIHRjLnNldF9mdW5jdGlvbignZ2VuZXJhdGVfa2V5JykKLSAgICB0Yy5zZXRfYXJndW1lbnRzKFtrZXlfdHlwZV0gKyBsaXN0KGFyZ3MpICsgW3Jlc3VsdF0pCi0KLSAgICByZXR1cm4gdGMKLQotY2xhc3MgS2V5R2VuZXJhdGU6Ci0gICAgIiIiR2VuZXJhdGUgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIChpbnZhbGlkIGFyZ3VtZW50KSB0ZXN0IGNhc2VzIGZvciBrZXkgZ2VuZXJhdGlvbi4iIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpbmZvOiBwc2FfaW5mb3JtYXRpb24uSW5mb3JtYXRpb24pIC0+IE5vbmU6Ci0gICAgICAgIHNlbGYuY29uc3RydWN0b3JzID0gaW5mby5jb25zdHJ1Y3RvcnMKLQotICAgIEVDQ19LRVlfVFlQRVMgPSAoJ1BTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVInLAotICAgICAgICAgICAgICAgICAgICAgJ1BTQV9LRVlfVFlQRV9FQ0NfUFVCTElDX0tFWScpCi0gICAgREhfS0VZX1RZUEVTID0gKCdQU0FfS0VZX1RZUEVfREhfS0VZX1BBSVInLAotICAgICAgICAgICAgICAgICAgICAnUFNBX0tFWV9UWVBFX0RIX1BVQkxJQ19LRVknKQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiB0ZXN0X2Nhc2VzX2Zvcl9rZXlfdHlwZV9rZXlfZ2VuZXJhdGlvbigKLSAgICAgICAgICAgIGt0OiBjcnlwdG9fa25vd2xlZGdlLktleVR5cGUKLSAgICApIC0+IEl0ZXJhdG9yW3Rlc3RfY2FzZS5UZXN0Q2FzZV06Ci0gICAgICAgICIiIlJldHVybiB0ZXN0IGNhc2VzIGV4ZXJjaXNpbmcga2V5IGdlbmVyYXRpb24uCi0KLSAgICAgICAgQWxsIGtleSB0eXBlcyBjYW4gYmUgZ2VuZXJhdGVkIGV4Y2VwdCBmb3IgcHVibGljIGtleXMuIEZvciBwdWJsaWMga2V5Ci0gICAgICAgIFBTQV9FUlJPUl9JTlZBTElEX0FSR1VNRU5UIHN0YXR1cyBpcyBleHBlY3RlZC4KLSAgICAgICAgIiIiCi0gICAgICAgIHJlc3VsdCA9ICdQU0FfU1VDQ0VTUycKLQotICAgICAgICBpbXBvcnRfZGVwZW5kZW5jaWVzID0gW3BzYV9pbmZvcm1hdGlvbi5wc2Ffd2FudF9zeW1ib2woa3QubmFtZSldCi0gICAgICAgIGlmIGt0LnBhcmFtcyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGltcG9ydF9kZXBlbmRlbmNpZXMgKz0gW3BzYV9pbmZvcm1hdGlvbi5wc2Ffd2FudF9zeW1ib2woc3ltKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGksIHN5bSBpbiBlbnVtZXJhdGUoa3QucGFyYW1zKV0KLSAgICAgICAgaWYga3QubmFtZS5lbmRzd2l0aCgnX1BVQkxJQ19LRVknKToKLSAgICAgICAgICAgICMgVGhlIGxpYnJhcnkgY2hlY2tzIHdoZXRoZXIgdGhlIGtleSB0eXBlIGlzIGEgcHVibGljIGtleSBnZW5lcmljYWxseSwKLSAgICAgICAgICAgICMgYmVmb3JlIGl0IHJlYWNoZXMgYSBwb2ludCB3aGVyZSBpdCBuZWVkcyBzdXBwb3J0IGZvciB0aGUgc3BlY2lmaWMga2V5Ci0gICAgICAgICAgICAjIHR5cGUsIHNvIGl0IHJldHVybnMgSU5WQUxJRF9BUkdVTUVOVCBmb3IgdW5zdXBwb3J0ZWQgcHVibGljIGtleSB0eXBlcy4KLSAgICAgICAgICAgIGdlbmVyYXRlX2RlcGVuZGVuY2llcyA9IFtdCi0gICAgICAgICAgICByZXN1bHQgPSAnUFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQnCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBnZW5lcmF0ZV9kZXBlbmRlbmNpZXMgPSBcCi0gICAgICAgICAgICAgICAgcHNhX2luZm9ybWF0aW9uLmZpeF9rZXlfcGFpcl9kZXBlbmRlbmNpZXMoaW1wb3J0X2RlcGVuZGVuY2llcywgJ0dFTkVSQVRFJykKLSAgICAgICAgZm9yIGJpdHMgaW4ga3Quc2l6ZXNfdG9fdGVzdCgpOgotICAgICAgICAgICAgaWYga3QubmFtZSA9PSAnUFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUic6Ci0gICAgICAgICAgICAgICAgc2l6ZV9kZXBlbmRlbmN5ID0gIlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUyA8PSAiICsgIHN0cihiaXRzKQotICAgICAgICAgICAgICAgIHRlc3RfZGVwZW5kZW5jaWVzID0gZ2VuZXJhdGVfZGVwZW5kZW5jaWVzICsgW3NpemVfZGVwZW5kZW5jeV0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdGVzdF9kZXBlbmRlbmNpZXMgPSBnZW5lcmF0ZV9kZXBlbmRlbmNpZXMKLSAgICAgICAgICAgIHlpZWxkIHRlc3RfY2FzZV9mb3Jfa2V5X2dlbmVyYXRpb24oCi0gICAgICAgICAgICAgICAga3QuZXhwcmVzc2lvbiwgYml0cywKLSAgICAgICAgICAgICAgICBwc2FfaW5mb3JtYXRpb24uZmluaXNoX2ZhbWlseV9kZXBlbmRlbmNpZXModGVzdF9kZXBlbmRlbmNpZXMsIGJpdHMpLAotICAgICAgICAgICAgICAgIHN0cihiaXRzKSwKLSAgICAgICAgICAgICAgICByZXN1bHQKLSAgICAgICAgICAgICkKLQotICAgIGRlZiB0ZXN0X2Nhc2VzX2Zvcl9rZXlfZ2VuZXJhdGlvbihzZWxmKSAtPiBJdGVyYXRvclt0ZXN0X2Nhc2UuVGVzdENhc2VdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGNhc2VzIHRoYXQgZXhlcmNpc2UgdGhlIGdlbmVyYXRpb24gb2Yga2V5cy4iIiIKLSAgICAgICAgZm9yIGtleV90eXBlIGluIHNvcnRlZChzZWxmLmNvbnN0cnVjdG9ycy5rZXlfdHlwZXMpOgotICAgICAgICAgICAgaWYga2V5X3R5cGUgaW4gc2VsZi5FQ0NfS0VZX1RZUEVTOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBrZXlfdHlwZSBpbiBzZWxmLkRIX0tFWV9UWVBFUzoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAga3QgPSBjcnlwdG9fa25vd2xlZGdlLktleVR5cGUoa2V5X3R5cGUpCi0gICAgICAgICAgICB5aWVsZCBmcm9tIHNlbGYudGVzdF9jYXNlc19mb3Jfa2V5X3R5cGVfa2V5X2dlbmVyYXRpb24oa3QpCi0gICAgICAgIGZvciBjdXJ2ZV9mYW1pbHkgaW4gc29ydGVkKHNlbGYuY29uc3RydWN0b3JzLmVjY19jdXJ2ZXMpOgotICAgICAgICAgICAgZm9yIGNvbnN0ciBpbiBzZWxmLkVDQ19LRVlfVFlQRVM6Ci0gICAgICAgICAgICAgICAga3QgPSBjcnlwdG9fa25vd2xlZGdlLktleVR5cGUoY29uc3RyLCBbY3VydmVfZmFtaWx5XSkKLSAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHNlbGYudGVzdF9jYXNlc19mb3Jfa2V5X3R5cGVfa2V5X2dlbmVyYXRpb24oa3QpCi0gICAgICAgIGZvciBkaF9mYW1pbHkgaW4gc29ydGVkKHNlbGYuY29uc3RydWN0b3JzLmRoX2dyb3Vwcyk6Ci0gICAgICAgICAgICBmb3IgY29uc3RyIGluIHNlbGYuREhfS0VZX1RZUEVTOgotICAgICAgICAgICAgICAgIGt0ID0gY3J5cHRvX2tub3dsZWRnZS5LZXlUeXBlKGNvbnN0ciwgW2RoX2ZhbWlseV0pCi0gICAgICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLnRlc3RfY2FzZXNfZm9yX2tleV90eXBlX2tleV9nZW5lcmF0aW9uKGt0KQotCi1jbGFzcyBPcEZhaWw6Ci0gICAgIiIiR2VuZXJhdGUgdGVzdCBjYXNlcyBmb3Igb3BlcmF0aW9ucyB0aGF0IG11c3QgZmFpbC4iIiIKLSAgICAjcHlsaW50OiBkaXNhYmxlPXRvby1mZXctcHVibGljLW1ldGhvZHMKLQotICAgIGNsYXNzIFJlYXNvbihlbnVtLkVudW0pOgotICAgICAgICBOT1RfU1VQUE9SVEVEID0gMAotICAgICAgICBJTlZBTElEID0gMQotICAgICAgICBJTkNPTVBBVElCTEUgPSAyCi0gICAgICAgIFBVQkxJQyA9IDMKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpbmZvOiBwc2FfaW5mb3JtYXRpb24uSW5mb3JtYXRpb24pIC0+IE5vbmU6Ci0gICAgICAgIHNlbGYuY29uc3RydWN0b3JzID0gaW5mby5jb25zdHJ1Y3RvcnMKLSAgICAgICAga2V5X3R5cGVfZXhwcmVzc2lvbnMgPSBzZWxmLmNvbnN0cnVjdG9ycy5nZW5lcmF0ZV9leHByZXNzaW9ucygKLSAgICAgICAgICAgIHNvcnRlZChzZWxmLmNvbnN0cnVjdG9ycy5rZXlfdHlwZXMpCi0gICAgICAgICkKLSAgICAgICAgc2VsZi5rZXlfdHlwZXMgPSBbY3J5cHRvX2tub3dsZWRnZS5LZXlUeXBlKGt0X2V4cHIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBrdF9leHByIGluIGtleV90eXBlX2V4cHJlc3Npb25zXQotCi0gICAgZGVmIG1ha2VfdGVzdF9jYXNlKAotICAgICAgICAgICAgc2VsZiwKLSAgICAgICAgICAgIGFsZzogY3J5cHRvX2tub3dsZWRnZS5BbGdvcml0aG0sCi0gICAgICAgICAgICBjYXRlZ29yeTogY3J5cHRvX2tub3dsZWRnZS5BbGdvcml0aG1DYXRlZ29yeSwKLSAgICAgICAgICAgIHJlYXNvbjogJ1JlYXNvbicsCi0gICAgICAgICAgICBrdDogT3B0aW9uYWxbY3J5cHRvX2tub3dsZWRnZS5LZXlUeXBlXSA9IE5vbmUsCi0gICAgICAgICAgICBub3RfZGVwczogRnJvemVuU2V0W3N0cl0gPSBmcm96ZW5zZXQoKSwKLSAgICApIC0+IHRlc3RfY2FzZS5UZXN0Q2FzZToKLSAgICAgICAgIiIiQ29uc3RydWN0IGEgZmFpbHVyZSB0ZXN0IGNhc2UgZm9yIGEgb25lLWtleSBvciBrZXlsZXNzIG9wZXJhdGlvbi4iIiIKLSAgICAgICAgI3B5bGludDogZGlzYWJsZT10b28tbWFueS1hcmd1bWVudHMsdG9vLW1hbnktbG9jYWxzCi0gICAgICAgIHRjID0gdGVzdF9jYXNlLlRlc3RDYXNlKCkKLSAgICAgICAgcHJldHR5X2FsZyA9IGFsZy5zaG9ydF9leHByZXNzaW9uKCkKLSAgICAgICAgaWYgcmVhc29uID09IHNlbGYuUmVhc29uLk5PVF9TVVBQT1JURUQ6Ci0gICAgICAgICAgICBzaG9ydF9kZXBzID0gW3JlLnN1YihyJ1BTQV9XQU5UX0FMR18nLCByJycsIGRlcCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGRlcCBpbiBub3RfZGVwc10KLSAgICAgICAgICAgIHByZXR0eV9yZWFzb24gPSAnIScgKyAnJicuam9pbihzb3J0ZWQoc2hvcnRfZGVwcykpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwcmV0dHlfcmVhc29uID0gcmVhc29uLm5hbWUubG93ZXIoKQotICAgICAgICBpZiBrdDoKLSAgICAgICAgICAgIGtleV90eXBlID0ga3QuZXhwcmVzc2lvbgotICAgICAgICAgICAgcHJldHR5X3R5cGUgPSBrdC5zaG9ydF9leHByZXNzaW9uKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGtleV90eXBlID0gJycKLSAgICAgICAgICAgIHByZXR0eV90eXBlID0gJycKLSAgICAgICAgdGMuc2V0X2Rlc2NyaXB0aW9uKCdQU0Ege30ge306IHt9e30nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KGNhdGVnb3J5Lm5hbWUubG93ZXIoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldHR5X2FsZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldHR5X3JlYXNvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyB3aXRoICcgKyBwcmV0dHlfdHlwZSBpZiBwcmV0dHlfdHlwZSBlbHNlICcnKSkKLSAgICAgICAgZGVwZW5kZW5jaWVzID0gcHNhX2luZm9ybWF0aW9uLmF1dG9tYXRpY19kZXBlbmRlbmNpZXMoYWxnLmJhc2VfZXhwcmVzc2lvbiwga2V5X3R5cGUpCi0gICAgICAgIGRlcGVuZGVuY2llcyA9IHBzYV9pbmZvcm1hdGlvbi5maXhfa2V5X3BhaXJfZGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcywgJ0JBU0lDJykKLSAgICAgICAgZm9yIGksIGRlcCBpbiBlbnVtZXJhdGUoZGVwZW5kZW5jaWVzKToKLSAgICAgICAgICAgIGlmIGRlcCBpbiBub3RfZGVwczoKLSAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXNbaV0gPSAnIScgKyBkZXAKLSAgICAgICAgdGMuc2V0X2RlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMpCi0gICAgICAgIHRjLnNldF9mdW5jdGlvbihjYXRlZ29yeS5uYW1lLmxvd2VyKCkgKyAnX2ZhaWwnKQotICAgICAgICBhcmd1bWVudHMgPSBbXSAjIHR5cGU6IExpc3Rbc3RyXQotICAgICAgICBpZiBrdDoKLSAgICAgICAgICAgIGtleV9tYXRlcmlhbCA9IGt0LmtleV9tYXRlcmlhbChrdC5zaXplc190b190ZXN0KClbMF0pCi0gICAgICAgICAgICBhcmd1bWVudHMgKz0gW2tleV90eXBlLCB0ZXN0X2Nhc2UuaGV4X3N0cmluZyhrZXlfbWF0ZXJpYWwpXQotICAgICAgICBhcmd1bWVudHMuYXBwZW5kKGFsZy5leHByZXNzaW9uKQotICAgICAgICBpZiBjYXRlZ29yeS5pc19hc3ltbWV0cmljKCk6Ci0gICAgICAgICAgICBhcmd1bWVudHMuYXBwZW5kKCcxJyBpZiByZWFzb24gPT0gc2VsZi5SZWFzb24uUFVCTElDIGVsc2UgJzAnKQotICAgICAgICBlcnJvciA9ICgnTk9UX1NVUFBPUlRFRCcgaWYgcmVhc29uID09IHNlbGYuUmVhc29uLk5PVF9TVVBQT1JURUQgZWxzZQotICAgICAgICAgICAgICAgICAnSU5WQUxJRF9BUkdVTUVOVCcpCi0gICAgICAgIGFyZ3VtZW50cy5hcHBlbmQoJ1BTQV9FUlJPUl8nICsgZXJyb3IpCi0gICAgICAgIHRjLnNldF9hcmd1bWVudHMoYXJndW1lbnRzKQotICAgICAgICByZXR1cm4gdGMKLQotICAgIGRlZiBub19rZXlfdGVzdF9jYXNlcygKLSAgICAgICAgICAgIHNlbGYsCi0gICAgICAgICAgICBhbGc6IGNyeXB0b19rbm93bGVkZ2UuQWxnb3JpdGhtLAotICAgICAgICAgICAgY2F0ZWdvcnk6IGNyeXB0b19rbm93bGVkZ2UuQWxnb3JpdGhtQ2F0ZWdvcnksCi0gICAgKSAtPiBJdGVyYXRvclt0ZXN0X2Nhc2UuVGVzdENhc2VdOgotICAgICAgICAiIiJHZW5lcmF0ZSBmYWlsdXJlIHRlc3QgY2FzZXMgZm9yIGtleWxlc3Mgb3BlcmF0aW9ucyB3aXRoIHRoZSBzcGVjaWZpZWQgYWxnb3JpdGhtLiIiIgotICAgICAgICBpZiBhbGcuY2FuX2RvKGNhdGVnb3J5KToKLSAgICAgICAgICAgICMgQ29tcGF0aWJsZSBvcGVyYXRpb24sIHVuc3VwcG9ydGVkIGFsZ29yaXRobQotICAgICAgICAgICAgZm9yIGRlcCBpbiBwc2FfaW5mb3JtYXRpb24uYXV0b21hdGljX2RlcGVuZGVuY2llcyhhbGcuYmFzZV9leHByZXNzaW9uKToKLSAgICAgICAgICAgICAgICB5aWVsZCBzZWxmLm1ha2VfdGVzdF9jYXNlKGFsZywgY2F0ZWdvcnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLlJlYXNvbi5OT1RfU1VQUE9SVEVELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90X2RlcHM9ZnJvemVuc2V0KFtkZXBdKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgSW5jb21wYXRpYmxlIG9wZXJhdGlvbiwgc3VwcG9ydGVkIGFsZ29yaXRobQotICAgICAgICAgICAgeWllbGQgc2VsZi5tYWtlX3Rlc3RfY2FzZShhbGcsIGNhdGVnb3J5LCBzZWxmLlJlYXNvbi5JTlZBTElEKQotCi0gICAgZGVmIG9uZV9rZXlfdGVzdF9jYXNlcygKLSAgICAgICAgICAgIHNlbGYsCi0gICAgICAgICAgICBhbGc6IGNyeXB0b19rbm93bGVkZ2UuQWxnb3JpdGhtLAotICAgICAgICAgICAgY2F0ZWdvcnk6IGNyeXB0b19rbm93bGVkZ2UuQWxnb3JpdGhtQ2F0ZWdvcnksCi0gICAgKSAtPiBJdGVyYXRvclt0ZXN0X2Nhc2UuVGVzdENhc2VdOgotICAgICAgICAiIiJHZW5lcmF0ZSBmYWlsdXJlIHRlc3QgY2FzZXMgZm9yIG9uZS1rZXkgb3BlcmF0aW9ucyB3aXRoIHRoZSBzcGVjaWZpZWQgYWxnb3JpdGhtLiIiIgotICAgICAgICBmb3Iga3QgaW4gc2VsZi5rZXlfdHlwZXM6Ci0gICAgICAgICAgICBrZXlfaXNfY29tcGF0aWJsZSA9IGt0LmNhbl9kbyhhbGcpCi0gICAgICAgICAgICBpZiBrZXlfaXNfY29tcGF0aWJsZSBhbmQgYWxnLmNhbl9kbyhjYXRlZ29yeSk6Ci0gICAgICAgICAgICAgICAgIyBDb21wYXRpYmxlIGtleSBhbmQgb3BlcmF0aW9uLCB1bnN1cHBvcnRlZCBhbGdvcml0aG0KLSAgICAgICAgICAgICAgICBmb3IgZGVwIGluIHBzYV9pbmZvcm1hdGlvbi5hdXRvbWF0aWNfZGVwZW5kZW5jaWVzKGFsZy5iYXNlX2V4cHJlc3Npb24pOgotICAgICAgICAgICAgICAgICAgICB5aWVsZCBzZWxmLm1ha2VfdGVzdF9jYXNlKGFsZywgY2F0ZWdvcnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5SZWFzb24uTk9UX1NVUFBPUlRFRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrdD1rdCwgbm90X2RlcHM9ZnJvemVuc2V0KFtkZXBdKSkKLSAgICAgICAgICAgICAgICAjIFB1YmxpYyBrZXkgZm9yIGEgcHJpdmF0ZS1rZXkgb3BlcmF0aW9uCi0gICAgICAgICAgICAgICAgaWYgY2F0ZWdvcnkuaXNfYXN5bW1ldHJpYygpIGFuZCBrdC5pc19wdWJsaWMoKToKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgc2VsZi5tYWtlX3Rlc3RfY2FzZShhbGcsIGNhdGVnb3J5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuUmVhc29uLlBVQkxJQywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrdD1rdCkKLSAgICAgICAgICAgIGVsaWYga2V5X2lzX2NvbXBhdGlibGU6Ci0gICAgICAgICAgICAgICAgIyBDb21wYXRpYmxlIGtleSwgaW5jb21wYXRpYmxlIG9wZXJhdGlvbiwgc3VwcG9ydGVkIGFsZ29yaXRobQotICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYubWFrZV90ZXN0X2Nhc2UoYWxnLCBjYXRlZ29yeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuUmVhc29uLklOVkFMSUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrdD1rdCkKLSAgICAgICAgICAgIGVsaWYgYWxnLmNhbl9kbyhjYXRlZ29yeSk6Ci0gICAgICAgICAgICAgICAgIyBJbmNvbXBhdGlibGUga2V5LCBjb21wYXRpYmxlIG9wZXJhdGlvbiwgc3VwcG9ydGVkIGFsZ29yaXRobQotICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYubWFrZV90ZXN0X2Nhc2UoYWxnLCBjYXRlZ29yeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuUmVhc29uLklOQ09NUEFUSUJMRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt0PWt0KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIEluY29tcGF0aWJsZSBrZXkgYW5kIG9wZXJhdGlvbi4gRG9uJ3QgdGVzdCBjYXNlcyB3aGVyZQotICAgICAgICAgICAgICAgICMgbXVsdGlwbGUgdGhpbmdzIGFyZSB3cm9uZywgdG8ga2VlcCB0aGUgbnVtYmVyIG9mIHRlc3QKLSAgICAgICAgICAgICAgICAjIGNhc2VzIHJlYXNvbmFibGUuCi0gICAgICAgICAgICAgICAgcGFzcwotCi0gICAgZGVmIHRlc3RfY2FzZXNfZm9yX2FsZ29yaXRobSgKLSAgICAgICAgICAgIHNlbGYsCi0gICAgICAgICAgICBhbGc6IGNyeXB0b19rbm93bGVkZ2UuQWxnb3JpdGhtLAotICAgICkgLT4gSXRlcmF0b3JbdGVzdF9jYXNlLlRlc3RDYXNlXToKLSAgICAgICAgIiIiR2VuZXJhdGUgb3BlcmF0aW9uIGZhaWx1cmUgdGVzdCBjYXNlcyBmb3IgdGhlIHNwZWNpZmllZCBhbGdvcml0aG0uIiIiCi0gICAgICAgIGZvciBjYXRlZ29yeSBpbiBjcnlwdG9fa25vd2xlZGdlLkFsZ29yaXRobUNhdGVnb3J5OgotICAgICAgICAgICAgaWYgY2F0ZWdvcnkgPT0gY3J5cHRvX2tub3dsZWRnZS5BbGdvcml0aG1DYXRlZ29yeS5QQUtFOgotICAgICAgICAgICAgICAgICMgUEFLRSBvcGVyYXRpb25zIGFyZSBub3QgaW1wbGVtZW50ZWQgeWV0Ci0gICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgZWxpZiBjYXRlZ29yeS5yZXF1aXJlc19rZXkoKToKLSAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHNlbGYub25lX2tleV90ZXN0X2Nhc2VzKGFsZywgY2F0ZWdvcnkpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gc2VsZi5ub19rZXlfdGVzdF9jYXNlcyhhbGcsIGNhdGVnb3J5KQotCi0gICAgZGVmIGFsbF90ZXN0X2Nhc2VzKHNlbGYpIC0+IEl0ZXJhdG9yW3Rlc3RfY2FzZS5UZXN0Q2FzZV06Ci0gICAgICAgICIiIkdlbmVyYXRlIGFsbCB0ZXN0IGNhc2VzIGZvciBvcGVyYXRpb25zIHRoYXQgbXVzdCBmYWlsLiIiIgotICAgICAgICBhbGdvcml0aG1zID0gc29ydGVkKHNlbGYuY29uc3RydWN0b3JzLmFsZ29yaXRobXMpCi0gICAgICAgIGZvciBleHByIGluIHNlbGYuY29uc3RydWN0b3JzLmdlbmVyYXRlX2V4cHJlc3Npb25zKGFsZ29yaXRobXMpOgotICAgICAgICAgICAgYWxnID0gY3J5cHRvX2tub3dsZWRnZS5BbGdvcml0aG0oZXhwcikKLSAgICAgICAgICAgIHlpZWxkIGZyb20gc2VsZi50ZXN0X2Nhc2VzX2Zvcl9hbGdvcml0aG0oYWxnKQotCi0KLWNsYXNzIFN0b3JhZ2VLZXkocHNhX3N0b3JhZ2UuS2V5KToKLSAgICAiIiJSZXByZXNlbnRhdGlvbiBvZiBhIGtleSBmb3Igc3RvcmFnZSBmb3JtYXQgdGVzdGluZy4iIiIKLQotICAgIElNUExJQ0lUX1VTQUdFX0ZMQUdTID0gewotICAgICAgICAnUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0gnOiAnUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UnLAotICAgICAgICAnUFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSCc6ICdQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFJwotICAgIH0gI3R5cGU6IERpY3Rbc3RyLCBzdHJdCi0gICAgIiIiTWFwcGluZyBvZiB1c2FnZSBmbGFncyB0byB0aGUgZmxhZ3MgdGhhdCB0aGV5IGltcGx5LiIiIgotCi0gICAgZGVmIF9faW5pdF9fKAotICAgICAgICAgICAgc2VsZiwKLSAgICAgICAgICAgIHVzYWdlOiBJdGVyYWJsZVtzdHJdLAotICAgICAgICAgICAgd2l0aG91dF9pbXBsaWNpdF91c2FnZTogT3B0aW9uYWxbYm9vbF0gPSBGYWxzZSwKLSAgICAgICAgICAgICoqa3dhcmdzCi0gICAgKSAtPiBOb25lOgotICAgICAgICAiIiJQcmVwYXJlIHRvIGdlbmVyYXRlIGEga2V5LgotCi0gICAgICAgICogYHVzYWdlYCAgICAgICAgICAgICAgICAgOiBUaGUgdXNhZ2UgZmxhZ3MgdXNlZCBmb3IgdGhlIGtleS4KLSAgICAgICAgKiBgd2l0aG91dF9pbXBsaWNpdF91c2FnZWA6IEZsYWcgdG8gZGVmaW5lIHRvIGFwcGx5IHRoZSB1c2FnZSBleHRlbnNpb24KLSAgICAgICAgIiIiCi0gICAgICAgIHVzYWdlX2ZsYWdzID0gc2V0KHVzYWdlKQotICAgICAgICBpZiBub3Qgd2l0aG91dF9pbXBsaWNpdF91c2FnZToKLSAgICAgICAgICAgIGZvciBmbGFnIGluIHNvcnRlZCh1c2FnZV9mbGFncyk6Ci0gICAgICAgICAgICAgICAgaWYgZmxhZyBpbiBzZWxmLklNUExJQ0lUX1VTQUdFX0ZMQUdTOgotICAgICAgICAgICAgICAgICAgICB1c2FnZV9mbGFncy5hZGQoc2VsZi5JTVBMSUNJVF9VU0FHRV9GTEFHU1tmbGFnXSkKLSAgICAgICAgaWYgdXNhZ2VfZmxhZ3M6Ci0gICAgICAgICAgICB1c2FnZV9leHByZXNzaW9uID0gJyB8ICcuam9pbihzb3J0ZWQodXNhZ2VfZmxhZ3MpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgdXNhZ2VfZXhwcmVzc2lvbiA9ICcwJwotICAgICAgICBzdXBlcigpLl9faW5pdF9fKHVzYWdlPXVzYWdlX2V4cHJlc3Npb24sICoqa3dhcmdzKQotCi1jbGFzcyBTdG9yYWdlVGVzdERhdGEoU3RvcmFnZUtleSk6Ci0gICAgIiIiUmVwcmVzZW50YXRpb24gb2YgdGVzdCBjYXNlIGRhdGEgZm9yIHN0b3JhZ2UgZm9ybWF0IHRlc3RpbmcuIiIiCi0KLSAgICBkZWYgX19pbml0X18oCi0gICAgICAgICAgICBzZWxmLAotICAgICAgICAgICAgZGVzY3JpcHRpb246IHN0ciwKLSAgICAgICAgICAgIGV4cGVjdGVkX3VzYWdlOiBPcHRpb25hbFtMaXN0W3N0cl1dID0gTm9uZSwKLSAgICAgICAgICAgICoqa3dhcmdzCi0gICAgKSAtPiBOb25lOgotICAgICAgICAiIiJQcmVwYXJlIHRvIGdlbmVyYXRlIHRlc3QgZGF0YQotCi0gICAgICAgICogYGRlc2NyaXB0aW9uYCAgIDogdXNlZCBmb3IgdGhlIHRlc3QgY2FzZSBuYW1lcwotICAgICAgICAqIGBleHBlY3RlZF91c2FnZWA6IHRoZSB1c2FnZSBmbGFncyBnZW5lcmF0ZWQgYXMgdGhlIGV4cGVjdGVkIHVzYWdlIGZsYWdzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIHRlc3QgY2FzZXMuIENBbiBkaWZmZXIgZnJvbSB0aGUgdXNhZ2UgZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZWQgaW4gdGhlIGtleXMgYmVjYXVzZSBvZiB0aGUgdXNhZ2UgZmxhZ3MgZXh0ZW5zaW9uLgotICAgICAgICAiIiIKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXygqKmt3YXJncykKLSAgICAgICAgc2VsZi5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uICN0eXBlOiBzdHIKLSAgICAgICAgaWYgZXhwZWN0ZWRfdXNhZ2UgaXMgTm9uZToKLSAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRfdXNhZ2UgPSBzZWxmLnVzYWdlICN0eXBlOiBwc2Ffc3RvcmFnZS5FeHByCi0gICAgICAgIGVsaWYgZXhwZWN0ZWRfdXNhZ2U6Ci0gICAgICAgICAgICBzZWxmLmV4cGVjdGVkX3VzYWdlID0gcHNhX3N0b3JhZ2UuRXhwcignIHwgJy5qb2luKGV4cGVjdGVkX3VzYWdlKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRfdXNhZ2UgPSBwc2Ffc3RvcmFnZS5FeHByKDApCi0KLWNsYXNzIFN0b3JhZ2VGb3JtYXQ6Ci0gICAgIiIiU3RvcmFnZSBmb3JtYXQgc3RhYmlsaXR5IHRlc3QgY2FzZXMuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgaW5mbzogcHNhX2luZm9ybWF0aW9uLkluZm9ybWF0aW9uLCB2ZXJzaW9uOiBpbnQsIGZvcndhcmQ6IGJvb2wpIC0+IE5vbmU6Ci0gICAgICAgICIiIlByZXBhcmUgdG8gZ2VuZXJhdGUgdGVzdCBjYXNlcyBmb3Igc3RvcmFnZSBmb3JtYXQgc3RhYmlsaXR5LgotCi0gICAgICAgICogYGluZm9gOiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQVBJLiBTZWUgdGhlIGBJbmZvcm1hdGlvbmAgY2xhc3MuCi0gICAgICAgICogYHZlcnNpb25gOiB0aGUgc3RvcmFnZSBmb3JtYXQgdmVyc2lvbiB0byBnZW5lcmF0ZSB0ZXN0IGNhc2VzIGZvci4KLSAgICAgICAgKiBgZm9yd2FyZGA6IGlmIHRydWUsIGdlbmVyYXRlIGZvcndhcmQgY29tcGF0aWJpbGl0eSB0ZXN0IGNhc2VzIHdoaWNoCi0gICAgICAgICAgc2F2ZSBhIGtleSBhbmQgY2hlY2sgdGhhdCBpdHMgcmVwcmVzZW50YXRpb24gaXMgYXMgaW50ZW5kZWQuIE90aGVyd2lzZQotICAgICAgICAgIGdlbmVyYXRlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgdGVzdCBjYXNlcyB3aGljaCBpbmplY3QgYSBrZXkKLSAgICAgICAgICByZXByZXNlbnRhdGlvbiBhbmQgY2hlY2sgdGhhdCBpdCBjYW4gYmUgcmVhZCBhbmQgdXNlZC4KLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuY29uc3RydWN0b3JzID0gaW5mby5jb25zdHJ1Y3RvcnMgI3R5cGU6IG1hY3JvX2NvbGxlY3Rvci5QU0FNYWNyb0VudW1lcmF0b3IKLSAgICAgICAgc2VsZi52ZXJzaW9uID0gdmVyc2lvbiAjdHlwZTogaW50Ci0gICAgICAgIHNlbGYuZm9yd2FyZCA9IGZvcndhcmQgI3R5cGU6IGJvb2wKLQotICAgIFJTQV9PQUVQX1JFID0gcmUuY29tcGlsZShyJ1BTQV9BTEdfUlNBX09BRVBcKCguKilcKVxaJykKLSAgICBCUkFJTlBPT0xfUkUgPSByZS5jb21waWxlKHInUFNBX0tFWV9UWVBFX1x3K1woUFNBX0VDQ19GQU1JTFlfQlJBSU5QT09MX1x3K1wpXFonKQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBleGVyY2lzZV9rZXlfd2l0aF9hbGdvcml0aG0oCi0gICAgICAgICAgICBjbHMsCi0gICAgICAgICAgICBrZXlfdHlwZTogcHNhX3N0b3JhZ2UuRXhwciwgYml0czogaW50LAotICAgICAgICAgICAgYWxnOiBwc2Ffc3RvcmFnZS5FeHByCi0gICAgKSAtPiBib29sOgotICAgICAgICAiIiJXaGV0aGVyIHRvIGV4ZXJjaXNlIHRoZSBnaXZlbiBrZXkgd2l0aCB0aGUgZ2l2ZW4gYWxnb3JpdGhtLgotCi0gICAgICAgIE5vcm1hbGx5IG9ubHkgdGhlIHR5cGUgYW5kIGFsZ29yaXRobSBtYXR0ZXIgZm9yIGNvbXBhdGliaWxpdHksIGFuZAotICAgICAgICB0aGlzIGlzIGhhbmRsZWQgaW4gY3J5cHRvX2tub3dsZWRnZS5LZXlUeXBlLmNhbl9kbygpLiBUaGlzIGZ1bmN0aW9uCi0gICAgICAgIGV4aXN0cyB0byBkZXRlY3QgZXhjZXB0aW9uYWwgY2FzZXMuIEV4Y2VwdGlvbmFsIGNhc2VzIGRldGVjdGVkIGhlcmUKLSAgICAgICAgYXJlIG5vdCB0ZXN0ZWQgaW4gT3BGYWlsIGFuZCBzaG91bGQgdGhlcmVmb3JlIGhhdmUgbWFudWFsbHkgd3JpdHRlbgotICAgICAgICB0ZXN0IGNhc2VzLgotICAgICAgICAiIiIKLSAgICAgICAgIyBTb21lIHRlc3Qga2V5cyBoYXZlIHRoZSBSQVdfREFUQSB0eXBlIGFuZCBhdHRyaWJ1dGVzIHRoYXQgZG9uJ3QKLSAgICAgICAgIyBuZWNlc3NhcmlseSBtYWtlIHNlbnNlLiBXZSBkbyB0aGlzIHRvIHZhbGlkYXRlIG51bWVyaWNhbAotICAgICAgICAjIGVuY29kaW5ncyBvZiB0aGUgYXR0cmlidXRlcy4KLSAgICAgICAgIyBSYXcgZGF0YSBrZXlzIGhhdmUgbm8gdXNlZnVsIGV4ZXJjaXNlIGFueXdheSBzbyB0aGVyZSBpcyBubwotICAgICAgICAjIGxvc3Mgb2YgdGVzdCBjb3ZlcmFnZS4KLSAgICAgICAgaWYga2V5X3R5cGUuc3RyaW5nID09ICdQU0FfS0VZX1RZUEVfUkFXX0RBVEEnOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICMgT0FFUCByZXF1aXJlcyByb29tIGZvciB0d28gaGFzaGVzIHBsdXMgd3JhcHBpbmcKLSAgICAgICAgbSA9IGNscy5SU0FfT0FFUF9SRS5tYXRjaChhbGcuc3RyaW5nKQotICAgICAgICBpZiBtOgotICAgICAgICAgICAgaGFzaF9hbGcgPSBtLmdyb3VwKDEpCi0gICAgICAgICAgICBoYXNoX2xlbmd0aCA9IGNyeXB0b19rbm93bGVkZ2UuQWxnb3JpdGhtLmhhc2hfbGVuZ3RoKGhhc2hfYWxnKQotICAgICAgICAgICAga2V5X2xlbmd0aCA9IChiaXRzICsgNykgLy8gOAotICAgICAgICAgICAgIyBMZWF2ZSBlbm91Z2ggcm9vbSBmb3IgYXQgbGVhc3Qgb25lIGJ5dGUgb2YgcGxhaW50ZXh0Ci0gICAgICAgICAgICByZXR1cm4ga2V5X2xlbmd0aCA+IDIgKiBoYXNoX2xlbmd0aCArIDIKLSAgICAgICAgIyBUaGVyZSdzIG5vdGhpbmcgd3Jvbmcgd2l0aCBFQ0Mga2V5cyBvbiBCcmFpbnBvb2wgY3VydmVzLAotICAgICAgICAjIGJ1dCBvcGVyYXRpb25zIHdpdGggdGhlbSBhcmUgdmVyeSBzbG93LiBTbyB3ZSBvbmx5IGV4ZXJjaXNlIHRoZW0KLSAgICAgICAgIyB3aXRoIGEgc2luZ2xlIGFsZ29yaXRobSwgbm90IHdpdGggYWxsIHBvc3NpYmxlIGhhc2hlcy4gV2UgZG8KLSAgICAgICAgIyBleGVyY2lzZSBvdGhlciBjdXJ2ZXMgd2l0aCBhbGwgYWxnb3JpdGhtcyBzbyB0ZXN0IGNvdmVyYWdlIGlzCi0gICAgICAgICMgcGVyZmVjdGx5IGFkZXF1YXRlIGxpa2UgdGhpcy4KLSAgICAgICAgbSA9IGNscy5CUkFJTlBPT0xfUkUubWF0Y2goa2V5X3R5cGUuc3RyaW5nKQotICAgICAgICBpZiBtIGFuZCBhbGcuc3RyaW5nICE9ICdQU0FfQUxHX0VDRFNBX0FOWSc6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIFRydWUKLQotICAgIGRlZiBtYWtlX3Rlc3RfY2FzZShzZWxmLCBrZXk6IFN0b3JhZ2VUZXN0RGF0YSkgLT4gdGVzdF9jYXNlLlRlc3RDYXNlOgotICAgICAgICAiIiJDb25zdHJ1Y3QgYSBzdG9yYWdlIGZvcm1hdCB0ZXN0IGNhc2UgZm9yIHRoZSBnaXZlbiBrZXkuCi0KLSAgICAgICAgSWYgYGBmb3J3YXJkYGAgaXMgdHJ1ZSwgZ2VuZXJhdGUgYSBmb3J3YXJkIGNvbXBhdGliaWxpdHkgdGVzdCBjYXNlOgotICAgICAgICBjcmVhdGUgYSBrZXkgYW5kIHZhbGlkYXRlIHRoYXQgaXQgaGFzIHRoZSBleHBlY3RlZCByZXByZXNlbnRhdGlvbi4KLSAgICAgICAgT3RoZXJ3aXNlIGdlbmVyYXRlIGEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB0ZXN0IGNhc2U6IGluamVjdCB0aGUKLSAgICAgICAga2V5IHJlcHJlc2VudGF0aW9uIGludG8gc3RvcmFnZSBhbmQgdmFsaWRhdGUgdGhhdCBpdCBjYW4gYmUgcmVhZAotICAgICAgICBjb3JyZWN0bHkuCi0gICAgICAgICIiIgotICAgICAgICB2ZXJiID0gJ3NhdmUnIGlmIHNlbGYuZm9yd2FyZCBlbHNlICdyZWFkJwotICAgICAgICB0YyA9IHRlc3RfY2FzZS5UZXN0Q2FzZSgpCi0gICAgICAgIHRjLnNldF9kZXNjcmlwdGlvbih2ZXJiICsgJyAnICsga2V5LmRlc2NyaXB0aW9uKQotICAgICAgICBkZXBlbmRlbmNpZXMgPSBwc2FfaW5mb3JtYXRpb24uYXV0b21hdGljX2RlcGVuZGVuY2llcygKLSAgICAgICAgICAgIGtleS5saWZldGltZS5zdHJpbmcsIGtleS50eXBlLnN0cmluZywKLSAgICAgICAgICAgIGtleS5hbGcuc3RyaW5nLCBrZXkuYWxnMi5zdHJpbmcsCi0gICAgICAgICkKLSAgICAgICAgZGVwZW5kZW5jaWVzID0gcHNhX2luZm9ybWF0aW9uLmZpbmlzaF9mYW1pbHlfZGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcywga2V5LmJpdHMpCi0gICAgICAgIGRlcGVuZGVuY2llcyArPSBwc2FfaW5mb3JtYXRpb24uZ2VuZXJhdGVfZGVwc19mcm9tX2Rlc2NyaXB0aW9uKGtleS5kZXNjcmlwdGlvbikKLSAgICAgICAgZGVwZW5kZW5jaWVzID0gcHNhX2luZm9ybWF0aW9uLmZpeF9rZXlfcGFpcl9kZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzLCAnQkFTSUMnKQotICAgICAgICB0Yy5zZXRfZGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcykKLSAgICAgICAgdGMuc2V0X2Z1bmN0aW9uKCdrZXlfc3RvcmFnZV8nICsgdmVyYikKLSAgICAgICAgaWYgc2VsZi5mb3J3YXJkOgotICAgICAgICAgICAgZXh0cmFfYXJndW1lbnRzID0gW10KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZsYWdzID0gW10KLSAgICAgICAgICAgIGlmIHNlbGYuZXhlcmNpc2Vfa2V5X3dpdGhfYWxnb3JpdGhtKGtleS50eXBlLCBrZXkuYml0cywga2V5LmFsZyk6Ci0gICAgICAgICAgICAgICAgZmxhZ3MuYXBwZW5kKCdURVNUX0ZMQUdfRVhFUkNJU0UnKQotICAgICAgICAgICAgaWYgJ1JFQURfT05MWScgaW4ga2V5LmxpZmV0aW1lLnN0cmluZzoKLSAgICAgICAgICAgICAgICBmbGFncy5hcHBlbmQoJ1RFU1RfRkxBR19SRUFEX09OTFknKQotICAgICAgICAgICAgZXh0cmFfYXJndW1lbnRzID0gWycgfCAnLmpvaW4oZmxhZ3MpIGlmIGZsYWdzIGVsc2UgJzAnXQotICAgICAgICB0Yy5zZXRfYXJndW1lbnRzKFtrZXkubGlmZXRpbWUuc3RyaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkudHlwZS5zdHJpbmcsIHN0cihrZXkuYml0cyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGtleS5leHBlY3RlZF91c2FnZS5zdHJpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGtleS5hbGcuc3RyaW5nLCBrZXkuYWxnMi5zdHJpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICciJyArIGtleS5tYXRlcmlhbC5oZXgoKSArICciJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJyInICsga2V5LmhleCgpICsgJyInLAotICAgICAgICAgICAgICAgICAgICAgICAgICAqZXh0cmFfYXJndW1lbnRzXSkKLSAgICAgICAgcmV0dXJuIHRjCi0KLSAgICBkZWYga2V5X2Zvcl9saWZldGltZSgKLSAgICAgICAgICAgIHNlbGYsCi0gICAgICAgICAgICBsaWZldGltZTogc3RyLAotICAgICkgLT4gU3RvcmFnZVRlc3REYXRhOgotICAgICAgICAiIiJDb25zdHJ1Y3QgYSB0ZXN0IGtleSBmb3IgdGhlIGdpdmVuIGxpZmV0aW1lLiIiIgotICAgICAgICBzaG9ydCA9IGxpZmV0aW1lCi0gICAgICAgIHNob3J0ID0gcmUuc3ViKHInUFNBX0tFWV9MSUZFVElNRV9GUk9NX1BFUlNJU1RFTkNFX0FORF9MT0NBVElPTicsCi0gICAgICAgICAgICAgICAgICAgICAgIHInJywgc2hvcnQpCi0gICAgICAgIHNob3J0ID0gY3J5cHRvX2tub3dsZWRnZS5zaG9ydF9leHByZXNzaW9uKHNob3J0KQotICAgICAgICBkZXNjcmlwdGlvbiA9ICdsaWZldGltZTogJyArIHNob3J0Ci0gICAgICAgIGtleSA9IFN0b3JhZ2VUZXN0RGF0YSh2ZXJzaW9uPXNlbGYudmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPTEsIGxpZmV0aW1lPWxpZmV0aW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0nUFNBX0tFWV9UWVBFX1JBV19EQVRBJywgYml0cz04LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNhZ2U9WydQU0FfS0VZX1VTQUdFX0VYUE9SVCddLCBhbGc9MCwgYWxnMj0wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWw9YidMJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uKQotICAgICAgICByZXR1cm4ga2V5Ci0KLSAgICBkZWYgYWxsX2tleXNfZm9yX2xpZmV0aW1lcyhzZWxmKSAtPiBJdGVyYXRvcltTdG9yYWdlVGVzdERhdGFdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGtleXMgY292ZXJpbmcgbGlmZXRpbWVzLiIiIgotICAgICAgICBsaWZldGltZXMgPSBzb3J0ZWQoc2VsZi5jb25zdHJ1Y3RvcnMubGlmZXRpbWVzKQotICAgICAgICBleHByZXNzaW9ucyA9IHNlbGYuY29uc3RydWN0b3JzLmdlbmVyYXRlX2V4cHJlc3Npb25zKGxpZmV0aW1lcykKLSAgICAgICAgZm9yIGxpZmV0aW1lIGluIGV4cHJlc3Npb25zOgotICAgICAgICAgICAgIyBEb24ndCBhdHRlbXB0IHRvIGNyZWF0ZSBvciBsb2FkIGEgdm9sYXRpbGUga2V5IGluIHN0b3JhZ2UKLSAgICAgICAgICAgIGlmICdWT0xBVElMRScgaW4gbGlmZXRpbWU6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICMgRG9uJ3QgYXR0ZW1wdCB0byBjcmVhdGUgYSByZWFkLW9ubHkga2V5IGluIHN0b3JhZ2UsCi0gICAgICAgICAgICAjIGJ1dCBkbyBhdHRlbXB0IHRvIGxvYWQgb25lLgotICAgICAgICAgICAgaWYgJ1JFQURfT05MWScgaW4gbGlmZXRpbWUgYW5kIHNlbGYuZm9yd2FyZDoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgeWllbGQgc2VsZi5rZXlfZm9yX2xpZmV0aW1lKGxpZmV0aW1lKQotCi0gICAgZGVmIGtleV9mb3JfdXNhZ2VfZmxhZ3MoCi0gICAgICAgICAgICBzZWxmLAotICAgICAgICAgICAgdXNhZ2VfZmxhZ3M6IExpc3Rbc3RyXSwKLSAgICAgICAgICAgIHNob3J0OiBPcHRpb25hbFtzdHJdID0gTm9uZSwKLSAgICAgICAgICAgIHRlc3RfaW1wbGljaXRfdXNhZ2U6IE9wdGlvbmFsW2Jvb2xdID0gVHJ1ZQotICAgICkgLT4gU3RvcmFnZVRlc3REYXRhOgotICAgICAgICAiIiJDb25zdHJ1Y3QgYSB0ZXN0IGtleSBmb3IgdGhlIGdpdmVuIGtleSB1c2FnZS4iIiIKLSAgICAgICAgZXh0cmFfZGVzYyA9ICcgd2l0aG91dCBpbXBsaWNhdGlvbicgaWYgdGVzdF9pbXBsaWNpdF91c2FnZSBlbHNlICcnCi0gICAgICAgIGRlc2NyaXB0aW9uID0gJ3VzYWdlJyArIGV4dHJhX2Rlc2MgKyAnOiAnCi0gICAgICAgIGtleTEgPSBTdG9yYWdlVGVzdERhdGEodmVyc2lvbj1zZWxmLnZlcnNpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9MSwgbGlmZXRpbWU9MHgwMDAwMDAwMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdQU0FfS0VZX1RZUEVfUkFXX0RBVEEnLCBiaXRzPTgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfdXNhZ2U9dXNhZ2VfZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dF9pbXBsaWNpdF91c2FnZT1ub3QgdGVzdF9pbXBsaWNpdF91c2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2FnZT11c2FnZV9mbGFncywgYWxnPTAsIGFsZzI9MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbD1iJ0snLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uKQotICAgICAgICBpZiBzaG9ydCBpcyBOb25lOgotICAgICAgICAgICAgdXNhZ2VfZXhwciA9IGtleTEuZXhwZWN0ZWRfdXNhZ2Uuc3RyaW5nCi0gICAgICAgICAgICBrZXkxLmRlc2NyaXB0aW9uICs9IGNyeXB0b19rbm93bGVkZ2Uuc2hvcnRfZXhwcmVzc2lvbih1c2FnZV9leHByKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAga2V5MS5kZXNjcmlwdGlvbiArPSBzaG9ydAotICAgICAgICByZXR1cm4ga2V5MQotCi0gICAgZGVmIGdlbmVyYXRlX2tleXNfZm9yX3VzYWdlX2ZsYWdzKHNlbGYsICoqa3dhcmdzKSAtPiBJdGVyYXRvcltTdG9yYWdlVGVzdERhdGFdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGtleXMgY292ZXJpbmcgdXNhZ2UgZmxhZ3MuIiIiCi0gICAgICAgIGtub3duX2ZsYWdzID0gc29ydGVkKHNlbGYuY29uc3RydWN0b3JzLmtleV91c2FnZV9mbGFncykKLSAgICAgICAgeWllbGQgc2VsZi5rZXlfZm9yX3VzYWdlX2ZsYWdzKFsnMCddLCAqKmt3YXJncykKLSAgICAgICAgZm9yIHVzYWdlX2ZsYWcgaW4ga25vd25fZmxhZ3M6Ci0gICAgICAgICAgICB5aWVsZCBzZWxmLmtleV9mb3JfdXNhZ2VfZmxhZ3MoW3VzYWdlX2ZsYWddLCAqKmt3YXJncykKLSAgICAgICAgZm9yIGZsYWcxLCBmbGFnMiBpbiB6aXAoa25vd25fZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtub3duX2ZsYWdzWzE6XSArIFtrbm93bl9mbGFnc1swXV0pOgotICAgICAgICAgICAgeWllbGQgc2VsZi5rZXlfZm9yX3VzYWdlX2ZsYWdzKFtmbGFnMSwgZmxhZzJdLCAqKmt3YXJncykKLQotICAgIGRlZiBnZW5lcmF0ZV9rZXlfZm9yX2FsbF91c2FnZV9mbGFncyhzZWxmKSAtPiBJdGVyYXRvcltTdG9yYWdlVGVzdERhdGFdOgotICAgICAgICBrbm93bl9mbGFncyA9IHNvcnRlZChzZWxmLmNvbnN0cnVjdG9ycy5rZXlfdXNhZ2VfZmxhZ3MpCi0gICAgICAgIHlpZWxkIHNlbGYua2V5X2Zvcl91c2FnZV9mbGFncyhrbm93bl9mbGFncywgc2hvcnQ9J2FsbCBrbm93bicpCi0KLSAgICBkZWYgYWxsX2tleXNfZm9yX3VzYWdlX2ZsYWdzKHNlbGYpIC0+IEl0ZXJhdG9yW1N0b3JhZ2VUZXN0RGF0YV06Ci0gICAgICAgIHlpZWxkIGZyb20gc2VsZi5nZW5lcmF0ZV9rZXlzX2Zvcl91c2FnZV9mbGFncygpCi0gICAgICAgIHlpZWxkIGZyb20gc2VsZi5nZW5lcmF0ZV9rZXlfZm9yX2FsbF91c2FnZV9mbGFncygpCi0KLSAgICBkZWYga2V5X2Zvcl90eXBlX2FuZF9hbGcoCi0gICAgICAgICAgICBzZWxmLAotICAgICAgICAgICAga3Q6IGNyeXB0b19rbm93bGVkZ2UuS2V5VHlwZSwKLSAgICAgICAgICAgIGJpdHM6IGludCwKLSAgICAgICAgICAgIGFsZzogT3B0aW9uYWxbY3J5cHRvX2tub3dsZWRnZS5BbGdvcml0aG1dID0gTm9uZSwKLSAgICApIC0+IFN0b3JhZ2VUZXN0RGF0YToKLSAgICAgICAgIiIiQ29uc3RydWN0IGEgdGVzdCBrZXkgb2YgdGhlIGdpdmVuIHR5cGUuCi0KLSAgICAgICAgSWYgYWxnIGlzIG5vdCBOb25lLCB0aGlzIGtleSBhbGxvd3MgaXQuCi0gICAgICAgICIiIgotICAgICAgICB1c2FnZV9mbGFncyA9IFsnUFNBX0tFWV9VU0FHRV9FWFBPUlQnXQotICAgICAgICBhbGcxID0gMCAjdHlwZTogcHNhX3N0b3JhZ2UuRXhwcmFibGUKLSAgICAgICAgYWxnMiA9IDAKLSAgICAgICAgaWYgYWxnIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgYWxnMSA9IGFsZy5leHByZXNzaW9uCi0gICAgICAgICAgICB1c2FnZV9mbGFncyArPSBhbGcudXNhZ2VfZmxhZ3MocHVibGljPWt0LmlzX3B1YmxpYygpKQotICAgICAgICBrZXlfbWF0ZXJpYWwgPSBrdC5rZXlfbWF0ZXJpYWwoYml0cykKLSAgICAgICAgZGVzY3JpcHRpb24gPSAndHlwZToge30ge30tYml0Jy5mb3JtYXQoa3Quc2hvcnRfZXhwcmVzc2lvbigxKSwgYml0cykKLSAgICAgICAgaWYgYWxnIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgZGVzY3JpcHRpb24gKz0gJywgJyArIGFsZy5zaG9ydF9leHByZXNzaW9uKDEpCi0gICAgICAgIGtleSA9IFN0b3JhZ2VUZXN0RGF0YSh2ZXJzaW9uPXNlbGYudmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPTEsIGxpZmV0aW1lPTB4MDAwMDAwMDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPWt0LmV4cHJlc3Npb24sIGJpdHM9Yml0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYWdlPXVzYWdlX2ZsYWdzLCBhbGc9YWxnMSwgYWxnMj1hbGcyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWw9a2V5X21hdGVyaWFsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249ZGVzY3JpcHRpb24pCi0gICAgICAgIHJldHVybiBrZXkKLQotICAgIGRlZiBrZXlzX2Zvcl90eXBlKAotICAgICAgICAgICAgc2VsZiwKLSAgICAgICAgICAgIGtleV90eXBlOiBzdHIsCi0gICAgICAgICAgICBhbGxfYWxnb3JpdGhtczogTGlzdFtjcnlwdG9fa25vd2xlZGdlLkFsZ29yaXRobV0sCi0gICAgKSAtPiBJdGVyYXRvcltTdG9yYWdlVGVzdERhdGFdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGtleXMgZm9yIHRoZSBnaXZlbiBrZXkgdHlwZS4iIiIKLSAgICAgICAga3QgPSBjcnlwdG9fa25vd2xlZGdlLktleVR5cGUoa2V5X3R5cGUpCi0gICAgICAgIGZvciBiaXRzIGluIGt0LnNpemVzX3RvX3Rlc3QoKToKLSAgICAgICAgICAgICMgVGVzdCBhIG5vbi1leGVyY2lzYWJsZSBrZXksIGFzIHdlbGwgYXMgZXhlcmNpc2FibGUga2V5cyBmb3IKLSAgICAgICAgICAgICMgZWFjaCBjb21wYXRpYmxlIGFsZ29yaXRobS4KLSAgICAgICAgICAgICMgVG8gZG86IHRlc3QgcmVhZGluZyBhIGtleSBmcm9tIHN0b3JhZ2Ugd2l0aCBhbiBpbmNvbXBhdGlibGUKLSAgICAgICAgICAgICMgb3IgdW5zdXBwb3J0ZWQgYWxnb3JpdGhtLgotICAgICAgICAgICAgeWllbGQgc2VsZi5rZXlfZm9yX3R5cGVfYW5kX2FsZyhrdCwgYml0cykKLSAgICAgICAgICAgIGNvbXBhdGlibGVfYWxnb3JpdGhtcyA9IFthbGcgZm9yIGFsZyBpbiBhbGxfYWxnb3JpdGhtcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGt0LmNhbl9kbyhhbGcpXQotICAgICAgICAgICAgZm9yIGFsZyBpbiBjb21wYXRpYmxlX2FsZ29yaXRobXM6Ci0gICAgICAgICAgICAgICAgeWllbGQgc2VsZi5rZXlfZm9yX3R5cGVfYW5kX2FsZyhrdCwgYml0cywgYWxnKQotCi0gICAgZGVmIGFsbF9rZXlzX2Zvcl90eXBlcyhzZWxmKSAtPiBJdGVyYXRvcltTdG9yYWdlVGVzdERhdGFdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGtleXMgY292ZXJpbmcga2V5IHR5cGVzIGFuZCB0aGVpciByZXByZXNlbnRhdGlvbnMuIiIiCi0gICAgICAgIGtleV90eXBlcyA9IHNvcnRlZChzZWxmLmNvbnN0cnVjdG9ycy5rZXlfdHlwZXMpCi0gICAgICAgIGFsbF9hbGdvcml0aG1zID0gW2NyeXB0b19rbm93bGVkZ2UuQWxnb3JpdGhtKGFsZykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGFsZyBpbiBzZWxmLmNvbnN0cnVjdG9ycy5nZW5lcmF0ZV9leHByZXNzaW9ucygKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRlZChzZWxmLmNvbnN0cnVjdG9ycy5hbGdvcml0aG1zKQotICAgICAgICAgICAgICAgICAgICAgICAgICApXQotICAgICAgICBmb3Iga2V5X3R5cGUgaW4gc2VsZi5jb25zdHJ1Y3RvcnMuZ2VuZXJhdGVfZXhwcmVzc2lvbnMoa2V5X3R5cGVzKToKLSAgICAgICAgICAgIHlpZWxkIGZyb20gc2VsZi5rZXlzX2Zvcl90eXBlKGtleV90eXBlLCBhbGxfYWxnb3JpdGhtcykKLQotICAgIGRlZiBrZXlzX2Zvcl9hbGdvcml0aG0oc2VsZiwgYWxnOiBzdHIpIC0+IEl0ZXJhdG9yW1N0b3JhZ2VUZXN0RGF0YV06Ci0gICAgICAgICIiIkdlbmVyYXRlIHRlc3Qga2V5cyBmb3IgdGhlIGVuY29kaW5nIG9mIHRoZSBzcGVjaWZpZWQgYWxnb3JpdGhtLiIiIgotICAgICAgICAjIFRoZXNlIHRlc3QgY2FzZXMgb25seSB2YWxpZGF0ZSB0aGUgZW5jb2Rpbmcgb2YgYWxnb3JpdGhtcywgbm90Ci0gICAgICAgICMgd2hldGhlciB0aGUga2V5IHJlYWQgZnJvbSBzdG9yYWdlIGlzIHN1aXRhYmxlIGZvciBhbiBvcGVyYXRpb24uCi0gICAgICAgICMgYGtleXNfZm9yX3R5cGVzYCBnZW5lcmF0ZSByZWFkIHRlc3RzIHdpdGggYW4gYWxnb3JpdGhtIGFuZCBhCi0gICAgICAgICMgY29tcGF0aWJsZSBrZXkuCi0gICAgICAgIGRlc2NyID0gY3J5cHRvX2tub3dsZWRnZS5zaG9ydF9leHByZXNzaW9uKGFsZywgMSkKLSAgICAgICAgdXNhZ2UgPSBbJ1BTQV9LRVlfVVNBR0VfRVhQT1JUJ10KLSAgICAgICAga2V5MSA9IFN0b3JhZ2VUZXN0RGF0YSh2ZXJzaW9uPXNlbGYudmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0xLCBsaWZldGltZT0weDAwMDAwMDAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9J1BTQV9LRVlfVFlQRV9SQVdfREFUQScsIGJpdHM9OCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2FnZT11c2FnZSwgYWxnPWFsZywgYWxnMj0wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsPWInSycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249J2FsZzogJyArIGRlc2NyKQotICAgICAgICB5aWVsZCBrZXkxCi0gICAgICAgIGtleTIgPSBTdG9yYWdlVGVzdERhdGEodmVyc2lvbj1zZWxmLnZlcnNpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9MSwgbGlmZXRpbWU9MHgwMDAwMDAwMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdQU0FfS0VZX1RZUEVfUkFXX0RBVEEnLCBiaXRzPTgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNhZ2U9dXNhZ2UsIGFsZz0wLCBhbGcyPWFsZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbD1iJ0wnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSdhbGcyOiAnICsgZGVzY3IpCi0gICAgICAgIHlpZWxkIGtleTIKLQotICAgIGRlZiBhbGxfa2V5c19mb3JfYWxnb3JpdGhtcyhzZWxmKSAtPiBJdGVyYXRvcltTdG9yYWdlVGVzdERhdGFdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGtleXMgY292ZXJpbmcgYWxnb3JpdGhtIGVuY29kaW5ncy4iIiIKLSAgICAgICAgYWxnb3JpdGhtcyA9IHNvcnRlZChzZWxmLmNvbnN0cnVjdG9ycy5hbGdvcml0aG1zKQotICAgICAgICBmb3IgYWxnIGluIHNlbGYuY29uc3RydWN0b3JzLmdlbmVyYXRlX2V4cHJlc3Npb25zKGFsZ29yaXRobXMpOgotICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLmtleXNfZm9yX2FsZ29yaXRobShhbGcpCi0KLSAgICBkZWYgZ2VuZXJhdGVfYWxsX2tleXMoc2VsZikgLT4gSXRlcmF0b3JbU3RvcmFnZVRlc3REYXRhXToKLSAgICAgICAgIiIiR2VuZXJhdGUgYWxsIGtleXMgZm9yIHRoZSB0ZXN0IGNhc2VzLiIiIgotICAgICAgICB5aWVsZCBmcm9tIHNlbGYuYWxsX2tleXNfZm9yX2xpZmV0aW1lcygpCi0gICAgICAgIHlpZWxkIGZyb20gc2VsZi5hbGxfa2V5c19mb3JfdXNhZ2VfZmxhZ3MoKQotICAgICAgICB5aWVsZCBmcm9tIHNlbGYuYWxsX2tleXNfZm9yX3R5cGVzKCkKLSAgICAgICAgeWllbGQgZnJvbSBzZWxmLmFsbF9rZXlzX2Zvcl9hbGdvcml0aG1zKCkKLQotICAgIGRlZiBhbGxfdGVzdF9jYXNlcyhzZWxmKSAtPiBJdGVyYXRvclt0ZXN0X2Nhc2UuVGVzdENhc2VdOgotICAgICAgICAiIiJHZW5lcmF0ZSBhbGwgc3RvcmFnZSBmb3JtYXQgdGVzdCBjYXNlcy4iIiIKLSAgICAgICAgIyBGaXJzdCBidWlsZCBhIGxpc3Qgb2YgYWxsIGtleXMsIHRoZW4gY29uc3RydWN0IGFsbCB0aGUgY29ycmVzcG9uZGluZwotICAgICAgICAjIHRlc3QgY2FzZXMuIFRoaXMgYWxsb3dzIGFsbCByZXF1aXJlZCBpbmZvcm1hdGlvbiB0byBiZSBvYnRhaW5lZCBpbgotICAgICAgICAjIG9uZSBnbywgd2hpY2ggaXMgYSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBnYWluIGFzIHRoZSBpbmZvcm1hdGlvbgotICAgICAgICAjIGluY2x1ZGVzIG51bWVyaWNhbCB2YWx1ZXMgb2J0YWluZWQgYnkgY29tcGlsaW5nIGEgQyBwcm9ncmFtLgotICAgICAgICBhbGxfa2V5cyA9IGxpc3Qoc2VsZi5nZW5lcmF0ZV9hbGxfa2V5cygpKQotICAgICAgICBmb3Iga2V5IGluIGFsbF9rZXlzOgotICAgICAgICAgICAgaWYga2V5LmxvY2F0aW9uX3ZhbHVlKCkgIT0gMDoKLSAgICAgICAgICAgICAgICAjIFNraXAga2V5cyB3aXRoIGEgbm9uLWRlZmF1bHQgbG9jYXRpb24sIGJlY2F1c2UgdGhleQotICAgICAgICAgICAgICAgICMgcmVxdWlyZSBhIGRyaXZlciBhbmQgd2UgY3VycmVudGx5IGhhdmUgbm8gbWVjaGFuaXNtIHRvCi0gICAgICAgICAgICAgICAgIyBkZXRlcm1pbmUgd2hldGhlciBhIGRyaXZlciBpcyBhdmFpbGFibGUuCi0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIHlpZWxkIHNlbGYubWFrZV90ZXN0X2Nhc2Uoa2V5KQotCi1jbGFzcyBTdG9yYWdlRm9ybWF0Rm9yd2FyZChTdG9yYWdlRm9ybWF0KToKLSAgICAiIiJTdG9yYWdlIGZvcm1hdCBzdGFiaWxpdHkgdGVzdCBjYXNlcyBmb3IgZm9yd2FyZCBjb21wYXRpYmlsaXR5LiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGluZm86IHBzYV9pbmZvcm1hdGlvbi5JbmZvcm1hdGlvbiwgdmVyc2lvbjogaW50KSAtPiBOb25lOgotICAgICAgICBzdXBlcigpLl9faW5pdF9fKGluZm8sIHZlcnNpb24sIFRydWUpCi0KLWNsYXNzIFN0b3JhZ2VGb3JtYXRWMChTdG9yYWdlRm9ybWF0KToKLSAgICAiIiJTdG9yYWdlIGZvcm1hdCBzdGFiaWxpdHkgdGVzdCBjYXNlcyBmb3IgdmVyc2lvbiAwIGNvbXBhdGliaWxpdHkuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgaW5mbzogcHNhX2luZm9ybWF0aW9uLkluZm9ybWF0aW9uKSAtPiBOb25lOgotICAgICAgICBzdXBlcigpLl9faW5pdF9fKGluZm8sIDAsIEZhbHNlKQotCi0gICAgZGVmIGFsbF9rZXlzX2Zvcl91c2FnZV9mbGFncyhzZWxmKSAtPiBJdGVyYXRvcltTdG9yYWdlVGVzdERhdGFdOgotICAgICAgICAiIiJHZW5lcmF0ZSB0ZXN0IGtleXMgY292ZXJpbmcgdXNhZ2UgZmxhZ3MuIiIiCi0gICAgICAgIHlpZWxkIGZyb20gc3VwZXIoKS5hbGxfa2V5c19mb3JfdXNhZ2VfZmxhZ3MoKQotICAgICAgICB5aWVsZCBmcm9tIHNlbGYuZ2VuZXJhdGVfa2V5c19mb3JfdXNhZ2VfZmxhZ3ModGVzdF9pbXBsaWNpdF91c2FnZT1GYWxzZSkKLQotICAgIGRlZiBrZXlzX2Zvcl9pbXBsaWNpdF91c2FnZSgKLSAgICAgICAgICAgIHNlbGYsCi0gICAgICAgICAgICBpbXBseWVyX3VzYWdlOiBzdHIsCi0gICAgICAgICAgICBhbGc6IHN0ciwKLSAgICAgICAgICAgIGtleV90eXBlOiBjcnlwdG9fa25vd2xlZGdlLktleVR5cGUKLSAgICApIC0+IFN0b3JhZ2VUZXN0RGF0YToKLSAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktbG9jYWxzCi0gICAgICAgICIiIkdlbmVyYXRlIHRlc3Qga2V5cyBmb3IgdGhlIHNwZWNpZmllZCBpbXBsaWNpdCB1c2FnZSBmbGFnLAotICAgICAgICAgICBhbGdvcml0aG0gYW5kIGtleSB0eXBlIGNvbWJpbmF0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgYml0cyA9IGtleV90eXBlLnNpemVzX3RvX3Rlc3QoKVswXQotICAgICAgICBpbXBsaWNpdF91c2FnZSA9IFN0b3JhZ2VLZXkuSU1QTElDSVRfVVNBR0VfRkxBR1NbaW1wbHllcl91c2FnZV0KLSAgICAgICAgdXNhZ2VfZmxhZ3MgPSBbJ1BTQV9LRVlfVVNBR0VfRVhQT1JUJ10KLSAgICAgICAgbWF0ZXJpYWxfdXNhZ2VfZmxhZ3MgPSB1c2FnZV9mbGFncyArIFtpbXBseWVyX3VzYWdlXQotICAgICAgICBleHBlY3RlZF91c2FnZV9mbGFncyA9IG1hdGVyaWFsX3VzYWdlX2ZsYWdzICsgW2ltcGxpY2l0X3VzYWdlXQotICAgICAgICBhbGcyID0gMAotICAgICAgICBrZXlfbWF0ZXJpYWwgPSBrZXlfdHlwZS5rZXlfbWF0ZXJpYWwoYml0cykKLSAgICAgICAgdXNhZ2VfZXhwcmVzc2lvbiA9IGNyeXB0b19rbm93bGVkZ2Uuc2hvcnRfZXhwcmVzc2lvbihpbXBseWVyX3VzYWdlLCAxKQotICAgICAgICBhbGdfZXhwcmVzc2lvbiA9IGNyeXB0b19rbm93bGVkZ2Uuc2hvcnRfZXhwcmVzc2lvbihhbGcsIDEpCi0gICAgICAgIGtleV90eXBlX2V4cHJlc3Npb24gPSBrZXlfdHlwZS5zaG9ydF9leHByZXNzaW9uKDEpCi0gICAgICAgIGRlc2NyaXB0aW9uID0gJ2ltcGxpZWQgYnkge306IHt9IHt9IHt9LWJpdCcuZm9ybWF0KAotICAgICAgICAgICAgdXNhZ2VfZXhwcmVzc2lvbiwgYWxnX2V4cHJlc3Npb24sIGtleV90eXBlX2V4cHJlc3Npb24sIGJpdHMpCi0gICAgICAgIGtleSA9IFN0b3JhZ2VUZXN0RGF0YSh2ZXJzaW9uPXNlbGYudmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPTEsIGxpZmV0aW1lPTB4MDAwMDAwMDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPWtleV90eXBlLmV4cHJlc3Npb24sIGJpdHM9Yml0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYWdlPW1hdGVyaWFsX3VzYWdlX2ZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfdXNhZ2U9ZXhwZWN0ZWRfdXNhZ2VfZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0X2ltcGxpY2l0X3VzYWdlPVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGc9YWxnLCBhbGcyPWFsZzIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRlcmlhbD1rZXlfbWF0ZXJpYWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1kZXNjcmlwdGlvbikKLSAgICAgICAgcmV0dXJuIGtleQotCi0gICAgZGVmIGdhdGhlcl9rZXlfdHlwZXNfZm9yX3NpZ25fYWxnKHNlbGYpIC0+IERpY3Rbc3RyLCBMaXN0W3N0cl1dOgotICAgICAgICAjIHB5bGludDogZGlzYWJsZT10b28tbWFueS1sb2NhbHMKLSAgICAgICAgIiIiTWF0Y2ggcG9zc2libGUga2V5IHR5cGVzIGZvciBzaWduIGFsZ29yaXRobXMuIiIiCi0gICAgICAgICMgVG8gY3JlYXRlIGEgdmFsaWQgY29tYmluYXRpb24gYm90aCB0aGUgYWxnb3JpdGhtcyBhbmQga2V5IHR5cGVzCi0gICAgICAgICMgbXVzdCBiZSBmaWx0ZXJlZC4gUGFpciB0aGVtIHdpdGgga2V5d29yZHMgY3JlYXRlZCBmcm9tIGl0cyBuYW1lcy4KLSAgICAgICAgaW5jb21wYXRpYmxlX2FsZ19rZXl3b3JkID0gZnJvemVuc2V0KFsnUkFXJywgJ0FOWScsICdQVVJFJ10pCi0gICAgICAgIGluY29tcGF0aWJsZV9rZXlfdHlwZV9rZXl3b3JkcyA9IGZyb3plbnNldChbJ01PTlRHT01FUlknXSkKLSAgICAgICAga2V5d29yZF90cmFuc2xhdGlvbiA9IHsKLSAgICAgICAgICAgICdFQ0RTQSc6ICdFQ0MnLAotICAgICAgICAgICAgJ0VEWzAtOV0qLionIDogJ0VEV0FSRFMnCi0gICAgICAgIH0KLSAgICAgICAgZXhjbHVzaXZlX2tleXdvcmRzID0gewotICAgICAgICAgICAgJ0VEV0FSRFMnOiAnRUNDJwotICAgICAgICB9Ci0gICAgICAgIGtleV90eXBlcyA9IHNldChzZWxmLmNvbnN0cnVjdG9ycy5nZW5lcmF0ZV9leHByZXNzaW9ucyhzZWxmLmNvbnN0cnVjdG9ycy5rZXlfdHlwZXMpKQotICAgICAgICBhbGdvcml0aG1zID0gc2V0KHNlbGYuY29uc3RydWN0b3JzLmdlbmVyYXRlX2V4cHJlc3Npb25zKHNlbGYuY29uc3RydWN0b3JzLnNpZ25fYWxnb3JpdGhtcykpCi0gICAgICAgIGFsZ193aXRoX2tleXMgPSB7fSAjdHlwZTogRGljdFtzdHIsIExpc3Rbc3RyXV0KLSAgICAgICAgdHJhbnNsYXRpb25fdGFibGUgPSBzdHIubWFrZXRyYW5zKCcoJywgJ18nLCAnKScpCi0gICAgICAgIGZvciBhbGcgaW4gYWxnb3JpdGhtczoKLSAgICAgICAgICAgICMgR2VuZXJhdGUga2V5d29yZHMgZnJvbSB0aGUgbmFtZSBvZiB0aGUgYWxnb3JpdGhtCi0gICAgICAgICAgICBhbGdfa2V5d29yZHMgPSBzZXQoYWxnLnBhcnRpdGlvbignKCcpWzBdLnNwbGl0KHNlcD0nXycpWzI6XSkKLSAgICAgICAgICAgICMgVHJhbnNsYXRlIGtleXdvcmRzIGZvciBiZXR0ZXIgbWF0Y2hpbmcgd2l0aCB0aGUga2V5IHR5cGVzCi0gICAgICAgICAgICBmb3Iga2V5d29yZCBpbiBhbGdfa2V5d29yZHMuY29weSgpOgotICAgICAgICAgICAgICAgIGZvciBwYXR0ZXJuLCByZXBsYWNlIGluIGtleXdvcmRfdHJhbnNsYXRpb24uaXRlbXMoKToKLSAgICAgICAgICAgICAgICAgICAgaWYgcmUubWF0Y2gocGF0dGVybiwga2V5d29yZCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbGdfa2V5d29yZHMucmVtb3ZlKGtleXdvcmQpCi0gICAgICAgICAgICAgICAgICAgICAgICBhbGdfa2V5d29yZHMuYWRkKHJlcGxhY2UpCi0gICAgICAgICAgICAjIEZpbHRlciBvdXQgaW5jb21wYXRpYmxlIGFsZ29yaXRobXMKLSAgICAgICAgICAgIGlmIG5vdCBhbGdfa2V5d29yZHMuaXNkaXNqb2ludChpbmNvbXBhdGlibGVfYWxnX2tleXdvcmQpOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgIGZvciBrZXlfdHlwZSBpbiBrZXlfdHlwZXM6Ci0gICAgICAgICAgICAgICAgIyBHZW5lcmF0ZSBrZXl3b3JkcyBmcm9tIHRoZSBvZiB0aGUga2V5IHR5cGUKLSAgICAgICAgICAgICAgICBrZXlfdHlwZV9rZXl3b3JkcyA9IHNldChrZXlfdHlwZS50cmFuc2xhdGUodHJhbnNsYXRpb25fdGFibGUpLnNwbGl0KHNlcD0nXycpWzM6XSkKLQotICAgICAgICAgICAgICAgICMgUmVtb3ZlIGFtYmlndW91cyBrZXl3b3JkcwotICAgICAgICAgICAgICAgIGZvciBrZXl3b3JkMSwga2V5d29yZDIgaW4gZXhjbHVzaXZlX2tleXdvcmRzLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGtleXdvcmQxIGluIGtleV90eXBlX2tleXdvcmRzOgotICAgICAgICAgICAgICAgICAgICAgICAga2V5X3R5cGVfa2V5d29yZHMucmVtb3ZlKGtleXdvcmQyKQotCi0gICAgICAgICAgICAgICAgaWYga2V5X3R5cGVfa2V5d29yZHMuaXNkaXNqb2ludChpbmNvbXBhdGlibGVfa2V5X3R5cGVfa2V5d29yZHMpIGFuZFwKLSAgICAgICAgICAgICAgICAgICBub3Qga2V5X3R5cGVfa2V5d29yZHMuaXNkaXNqb2ludChhbGdfa2V5d29yZHMpOgotICAgICAgICAgICAgICAgICAgICBpZiBhbGcgaW4gYWxnX3dpdGhfa2V5czoKLSAgICAgICAgICAgICAgICAgICAgICAgIGFsZ193aXRoX2tleXNbYWxnXS5hcHBlbmQoa2V5X3R5cGUpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbGdfd2l0aF9rZXlzW2FsZ10gPSBba2V5X3R5cGVdCi0gICAgICAgIHJldHVybiBhbGdfd2l0aF9rZXlzCi0KLSAgICBkZWYgYWxsX2tleXNfZm9yX2ltcGxpY2l0X3VzYWdlKHNlbGYpIC0+IEl0ZXJhdG9yW1N0b3JhZ2VUZXN0RGF0YV06Ci0gICAgICAgICIiIkdlbmVyYXRlIHRlc3Qga2V5cyBmb3IgdXNhZ2UgZmxhZyBleHRlbnNpb25zLiIiIgotICAgICAgICAjIEdlbmVyYXRlIGEga2V5IHR5cGUgYW5kIGFsZ29yaXRobSBwYWlyIGZvciBlYWNoIGV4dGVuZGFibGUgdXNhZ2UKLSAgICAgICAgIyBmbGFnIHRvIGdlbmVyYXRlIGEgdmFsaWQga2V5IGZvciBleGVyY2lzaW5nLiBUaGUga2V5IGlzIGdlbmVyYXRlZAotICAgICAgICAjIHdpdGhvdXQgdXNhZ2UgZXh0ZW5zaW9uIHRvIGNoZWNrIHRoZSBleHRlbnNpb24gY29tcGF0aWJpbGl0eS4KLSAgICAgICAgYWxnX3dpdGhfa2V5cyA9IHNlbGYuZ2F0aGVyX2tleV90eXBlc19mb3Jfc2lnbl9hbGcoKQotCi0gICAgICAgIGZvciB1c2FnZSBpbiBzb3J0ZWQoU3RvcmFnZUtleS5JTVBMSUNJVF9VU0FHRV9GTEFHUywga2V5PXN0cik6Ci0gICAgICAgICAgICBmb3IgYWxnIGluIHNvcnRlZChhbGdfd2l0aF9rZXlzKToKLSAgICAgICAgICAgICAgICBmb3Iga2V5X3R5cGUgaW4gc29ydGVkKGFsZ193aXRoX2tleXNbYWxnXSk6Ci0gICAgICAgICAgICAgICAgICAgICMgVGhlIGtleSB0eXBlcyBtdXN0IGJlIGZpbHRlcmVkIHRvIGZpdCB0aGUgc3BlY2lmaWMgdXNhZ2UgZmxhZy4KLSAgICAgICAgICAgICAgICAgICAga3QgPSBjcnlwdG9fa25vd2xlZGdlLktleVR5cGUoa2V5X3R5cGUpCi0gICAgICAgICAgICAgICAgICAgIGlmIGt0LmlzX3B1YmxpYygpIGFuZCAnX1NJR05fJyBpbiB1c2FnZToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgQ2FuJ3Qgc2lnbiB3aXRoIGEgcHVibGljIGtleQotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgc2VsZi5rZXlzX2Zvcl9pbXBsaWNpdF91c2FnZSh1c2FnZSwgYWxnLCBrdCkKLQotICAgIGRlZiBnZW5lcmF0ZV9hbGxfa2V5cyhzZWxmKSAtPiBJdGVyYXRvcltTdG9yYWdlVGVzdERhdGFdOgotICAgICAgICB5aWVsZCBmcm9tIHN1cGVyKCkuZ2VuZXJhdGVfYWxsX2tleXMoKQotICAgICAgICB5aWVsZCBmcm9tIHNlbGYuYWxsX2tleXNfZm9yX2ltcGxpY2l0X3VzYWdlKCkKLQotCi1jbGFzcyBQU0FUZXN0R2VuZXJhdG9yKHRlc3RfZGF0YV9nZW5lcmF0aW9uLlRlc3RHZW5lcmF0b3IpOgotICAgICIiIlRlc3QgZ2VuZXJhdG9yIHN1YmNsYXNzIGluY2x1ZGluZyBQU0EgdGFyZ2V0cyBhbmQgaW5mby4iIiIKLSAgICAjIE5vdGUgdGhhdCB0YXJnZXRzIHdob3NlIG5hbWVzIGNvbnRhaW4gJ3Rlc3RfZm9ybWF0JyBoYXZlIHRoZWlyIGNvbnRlbnQKLSAgICAjIHZhbGlkYXRlZCBieSBgYWJpX2NoZWNrLnB5YC4KLSAgICB0YXJnZXRzID0gewotICAgICAgICAndGVzdF9zdWl0ZV9wc2FfY3J5cHRvX2dlbmVyYXRlX2tleS5nZW5lcmF0ZWQnOgotICAgICAgICBsYW1iZGEgaW5mbzogS2V5R2VuZXJhdGUoaW5mbykudGVzdF9jYXNlc19mb3Jfa2V5X2dlbmVyYXRpb24oKSwKLSAgICAgICAgJ3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19ub3Rfc3VwcG9ydGVkLmdlbmVyYXRlZCc6Ci0gICAgICAgIGxhbWJkYSBpbmZvOiBLZXlUeXBlTm90U3VwcG9ydGVkKGluZm8pLnRlc3RfY2FzZXNfZm9yX25vdF9zdXBwb3J0ZWQoKSwKLSAgICAgICAgJ3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19sb3dfaGFzaC5nZW5lcmF0ZWQnOgotICAgICAgICBsYW1iZGEgaW5mbzogY3J5cHRvX2RhdGFfdGVzdHMuSGFzaFBTQUxvd0xldmVsKGluZm8pLmFsbF90ZXN0X2Nhc2VzKCksCi0gICAgICAgICd0ZXN0X3N1aXRlX3BzYV9jcnlwdG9fb3BfZmFpbC5nZW5lcmF0ZWQnOgotICAgICAgICBsYW1iZGEgaW5mbzogT3BGYWlsKGluZm8pLmFsbF90ZXN0X2Nhc2VzKCksCi0gICAgICAgICd0ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc3RvcmFnZV9mb3JtYXQuY3VycmVudCc6Ci0gICAgICAgIGxhbWJkYSBpbmZvOiBTdG9yYWdlRm9ybWF0Rm9yd2FyZChpbmZvLCAwKS5hbGxfdGVzdF9jYXNlcygpLAotICAgICAgICAndGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3N0b3JhZ2VfZm9ybWF0LnYwJzoKLSAgICAgICAgbGFtYmRhIGluZm86IFN0b3JhZ2VGb3JtYXRWMChpbmZvKS5hbGxfdGVzdF9jYXNlcygpLAotICAgIH0gI3R5cGU6IERpY3Rbc3RyLCBDYWxsYWJsZVtbcHNhX2luZm9ybWF0aW9uLkluZm9ybWF0aW9uXSwgSXRlcmFibGVbdGVzdF9jYXNlLlRlc3RDYXNlXV1dCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucyk6Ci0gICAgICAgIHN1cGVyKCkuX19pbml0X18ob3B0aW9ucykKLSAgICAgICAgc2VsZi5pbmZvID0gcHNhX2luZm9ybWF0aW9uLkluZm9ybWF0aW9uKCkKLQotICAgIGRlZiBnZW5lcmF0ZV90YXJnZXQoc2VsZiwgbmFtZTogc3RyLCAqdGFyZ2V0X2FyZ3MpIC0+IE5vbmU6Ci0gICAgICAgIHN1cGVyKCkuZ2VuZXJhdGVfdGFyZ2V0KG5hbWUsIHNlbGYuaW5mbykKLQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHRlc3RfZGF0YV9nZW5lcmF0aW9uLm1haW4oc3lzLmFyZ3ZbMTpdLCBfX2RvY19fLCBQU0FUZXN0R2VuZXJhdG9yKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV9wc2Ffd3JhcHBlcnMucHkgYi90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BzYV93cmFwcGVycy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDdkMTQ1MC4uMDAwMDAwMAotLS0gYS90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3BzYV93cmFwcGVycy5weQorKysgL2Rldi9udWxsCkBAIC0xLDI1NyArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24zCi0iIiJHZW5lcmF0ZSB3cmFwcGVyIGZ1bmN0aW9ucyBmb3IgUFNBIGZ1bmN0aW9uIGNhbGxzLgotIiIiCi0KLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotCi0jIyMgV0FSTklORzogdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGhhcyBub3QgYmVlbiBleHRlbnNpdmVseSByZXZpZXdlZCB5ZXQuCi0jIyMgV2UgZG8gbm90IHRoaW5rIGl0IGlzIGhhcm1mdWwsIGJ1dCBpdCBtYXkgYmUgYmVsb3cgb3VyIG5vcm1hbCBzdGFuZGFyZHMKLSMjIyBmb3Igcm9idXN0bmVzcyBhbmQgbWFpbnRhaW5hYmlsaXR5LgotCi1pbXBvcnQgYXJncGFyc2UKLWltcG9ydCBpdGVydG9vbHMKLWltcG9ydCBvcwotZnJvbSB0eXBpbmcgaW1wb3J0IEl0ZXJhdG9yLCBMaXN0LCBPcHRpb25hbCwgVHVwbGUKLQotaW1wb3J0IHNjcmlwdHNfcGF0aCAjcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGJ1aWxkX3RyZWUKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGNfcGFyc2luZ19oZWxwZXIKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGNfd3JhcHBlcl9nZW5lcmF0b3IKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IHR5cGluZ191dGlsCi0KLQotY2xhc3MgQnVmZmVyUGFyYW1ldGVyOgotICAgICIiIkRlc2NyaXB0aW9uIG9mIGFuIGlucHV0IG9yIG91dHB1dCBidWZmZXIgcGFyYW1ldGVyIHNlcXVlbmNlIHRvIGEgUFNBIGZ1bmN0aW9uLiIiIgotICAgICNweWxpbnQ6IGRpc2FibGU9dG9vLWZldy1wdWJsaWMtbWV0aG9kcwotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGk6IGludCwgaXNfb3V0cHV0OiBib29sLAotICAgICAgICAgICAgICAgICBidWZmZXJfbmFtZTogc3RyLCBzaXplX25hbWU6IHN0cikgLT4gTm9uZToKLSAgICAgICAgIiIiSW5pdGlhbGl6ZSB0aGUgcGFyYW1ldGVyIGluZm9ybWF0aW9uLgotCi0gICAgICAgIGkgaXMgdGhlIGluZGV4IG9mIHRoZSBmdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzIHRoZSBwb2ludGVyIHRvIHRoZSBidWZmZXIuCi0gICAgICAgIFRoZSBzaXplIGlzIGFyZ3VtZW50IGkrMS4gRm9yIGEgdmFyaWFibGUtc2l6ZSBvdXRwdXQsIHRoZSBhY3R1YWwgbGVuZ3RoCi0gICAgICAgIGdvZXMgaW4gYXJndW1lbnQgaSsyLgotCi0gICAgICAgIGJ1ZmZlcl9uYW1lIGFuZCBzaXplX25hbWVzIGFyZSB0aGUgbmFtZXMgb2YgYXJndW1lbnRzIGkgYW5kIGkrMS4KLSAgICAgICAgVGhpcyBjbGFzcyBkb2VzIG5vdCB5ZXQgaGVscCB3aXRoIHRoZSBvdXRwdXQgbGVuZ3RoLgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5pbmRleCA9IGkKLSAgICAgICAgc2VsZi5idWZmZXJfbmFtZSA9IGJ1ZmZlcl9uYW1lCi0gICAgICAgIHNlbGYuc2l6ZV9uYW1lID0gc2l6ZV9uYW1lCi0gICAgICAgIHNlbGYuaXNfb3V0cHV0ID0gaXNfb3V0cHV0Ci0KLQotY2xhc3MgUFNBV3JhcHBlckdlbmVyYXRvcihjX3dyYXBwZXJfZ2VuZXJhdG9yLkJhc2UpOgotICAgICIiIkdlbmVyYXRlIGEgQyBzb3VyY2UgZmlsZSBjb250YWluaW5nIHdyYXBwZXIgZnVuY3Rpb25zIGZvciBQU0EgQ3J5cHRvIEFQSSBjYWxscy4iIiIKLQotICAgIF9DUFBfR1VBUkRTID0gKCdkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DKSAmJiAnICsKLSAgICAgICAgICAgICAgICAgICAnZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmIFxcXG4gICAgJyArCi0gICAgICAgICAgICAgICAgICAgJyFkZWZpbmVkKFJFQ09SRF9QU0FfU1RBVFVTX0NPVkVSQUdFX0xPRyknKQotICAgIF9XUkFQUEVSX05BTUVfUFJFRklYID0gJ21iZWR0bHNfdGVzdF93cmFwXycKLSAgICBfV1JBUFBFUl9OQU1FX1NVRkZJWCA9ICcnCi0KLSAgICBkZWYgZ2F0aGVyX2RhdGEoc2VsZikgLT4gTm9uZToKLSAgICAgICAgcm9vdF9kaXIgPSBidWlsZF90cmVlLmd1ZXNzX21iZWR0bHNfcm9vdCgpCi0gICAgICAgIGZvciBoZWFkZXJfbmFtZSBpbiBbJ2NyeXB0by5oJywgJ2NyeXB0b19leHRyYS5oJ106Ci0gICAgICAgICAgICBoZWFkZXJfcGF0aCA9IG9zLnBhdGguam9pbihyb290X2RpciwgJ2luY2x1ZGUnLCAncHNhJywgaGVhZGVyX25hbWUpCi0gICAgICAgICAgICBjX3BhcnNpbmdfaGVscGVyLnJlYWRfZnVuY3Rpb25fZGVjbGFyYXRpb25zKHNlbGYuZnVuY3Rpb25zLCBoZWFkZXJfcGF0aCkKLQotICAgIF9TS0lQX0ZVTkNUSU9OUyA9IGZyb3plbnNldChbCi0gICAgICAgICdtYmVkdGxzX3BzYV9leHRlcm5hbF9nZXRfcmFuZG9tJywgIyBub3QgYSBsaWJyYXJ5IGZ1bmN0aW9uCi0gICAgICAgICdwc2FfZ2V0X2tleV9kb21haW5fcGFyYW1ldGVycycsICMgY2xpZW50LXNpZGUgZnVuY3Rpb24KLSAgICAgICAgJ3BzYV9nZXRfa2V5X3Nsb3RfbnVtYmVyJywgIyBjbGllbnQtc2lkZSBmdW5jdGlvbgotICAgICAgICAncHNhX2tleV9kZXJpdmF0aW9uX3ZlcmlmeV9ieXRlcycsICMgbm90IGltcGxlbWVudGVkIHlldAotICAgICAgICAncHNhX2tleV9kZXJpdmF0aW9uX3ZlcmlmeV9rZXknLCAjIG5vdCBpbXBsZW1lbnRlZCB5ZXQKLSAgICAgICAgJ3BzYV9zZXRfa2V5X2RvbWFpbl9wYXJhbWV0ZXJzJywgIyBjbGllbnQtc2lkZSBmdW5jdGlvbgotICAgIF0pCi0KLSAgICBkZWYgX3NraXBfZnVuY3Rpb24oc2VsZiwgZnVuY3Rpb246IGNfd3JhcHBlcl9nZW5lcmF0b3IuRnVuY3Rpb25JbmZvKSAtPiBib29sOgotICAgICAgICBpZiBmdW5jdGlvbi5yZXR1cm5fdHlwZSAhPSAncHNhX3N0YXR1c190JzoKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGlmIGZ1bmN0aW9uLm5hbWUgaW4gc2VsZi5fU0tJUF9GVU5DVElPTlM6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICMgUEFLRSBzdHVmZjogbm90IGltcGxlbWVudGVkIHlldAotICAgIF9QQUtFX1NUVUZGID0gZnJvemVuc2V0KFsKLSAgICAgICAgJ3BzYV9jcnlwdG9fZHJpdmVyX3Bha2VfaW5wdXRzX3QgKicsCi0gICAgICAgICdwc2FfcGFrZV9jaXBoZXJfc3VpdGVfdCAqJywKLSAgICBdKQotCi0gICAgZGVmIF9yZXR1cm5fdmFyaWFibGVfbmFtZShzZWxmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGNfd3JhcHBlcl9nZW5lcmF0b3IuRnVuY3Rpb25JbmZvKSAtPiBzdHI6Ci0gICAgICAgICIiIlRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0aGF0IHdpbGwgY29udGFpbiB0aGUgcmV0dXJuIHZhbHVlLiIiIgotICAgICAgICBpZiBmdW5jdGlvbi5yZXR1cm5fdHlwZSA9PSAncHNhX3N0YXR1c190JzoKLSAgICAgICAgICAgIHJldHVybiAnc3RhdHVzJwotICAgICAgICByZXR1cm4gc3VwZXIoKS5fcmV0dXJuX3ZhcmlhYmxlX25hbWUoZnVuY3Rpb24pCi0KLSAgICBfRlVOQ1RJT05fR1VBUkRTID0gY193cmFwcGVyX2dlbmVyYXRvci5CYXNlLl9GVU5DVElPTl9HVUFSRFMuY29weSgpIFwKLSAgICAgICAgI3B5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCi0gICAgX0ZVTkNUSU9OX0dVQVJEUy51cGRhdGUoewotICAgICAgICAnbWJlZHRsc19wc2FfcmVnaXN0ZXJfc2Vfa2V5JzogJ2RlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MpJywKLSAgICAgICAgJ21iZWR0bHNfcHNhX2luamVjdF9lbnRyb3B5JzogJ2RlZmluZWQoTUJFRFRMU19QU0FfSU5KRUNUX0VOVFJPUFkpJywKLSAgICAgICAgJ21iZWR0bHNfcHNhX2V4dGVybmFsX2dldF9yYW5kb20nOiAnZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fRVhURVJOQUxfUk5HKScsCi0gICAgICAgICdtYmVkdGxzX3BzYV9wbGF0Zm9ybV9nZXRfYnVpbHRpbl9rZXknOiAnZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQlVJTFRJTl9LRVlTKScsCi0gICAgfSkKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2RldGVjdF9idWZmZXJfcGFyYW1ldGVycyhhcmd1bWVudHM6IExpc3RbY19wYXJzaW5nX2hlbHBlci5Bcmd1bWVudEluZm9dLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50X25hbWVzOiBMaXN0W3N0cl0pIC0+IEl0ZXJhdG9yW0J1ZmZlclBhcmFtZXRlcl06Ci0gICAgICAgICIiIkRldGVjdCBmdW5jdGlvbiBhcmd1bWVudHMgdGhhdCBhcmUgYnVmZmVycyAocG9pbnRlciwgc2l6ZSBbLGxlbmd0aF0pLiIiIgotICAgICAgICB0eXBlcyA9IFsnJyBpZiBhcmcuc3VmZml4IGVsc2UgYXJnLnR5cGUgZm9yIGFyZyBpbiBhcmd1bWVudHNdCi0gICAgICAgICMgcGFpcnMgPSBsaXN0IG9mICh0eXBlX29mX2FyZ19OLCB0eXBlX29mX2FyZ19OKzEpCi0gICAgICAgICMgd2hlcmUgZWFjaCB0eXBlX29mX2FyZ19YIGlzIHRoZSBlbXB0eSBzdHJpbmcgaWYgdGhlIHR5cGUgaXMgYW4gYXJyYXkKLSAgICAgICAgIyBvciB0aGVyZSBpcyBubyBhcmd1bWVudCBYLgotICAgICAgICBwYWlycyA9IGVudW1lcmF0ZShpdGVydG9vbHMuemlwX2xvbmdlc3QodHlwZXMsIHR5cGVzWzE6XSwgZmlsbHZhbHVlPScnKSkKLSAgICAgICAgZm9yIGksIHQwMSBpbiBwYWlyczoKLSAgICAgICAgICAgIGlmICh0MDFbMF0gPT0gJ2NvbnN0IHVpbnQ4X3QgKicgb3IgdDAxWzBdID09ICd1aW50OF90IConKSBhbmQgXAotICAgICAgICAgICAgICAgdDAxWzFdID09ICdzaXplX3QnOgotICAgICAgICAgICAgICAgIHlpZWxkIEJ1ZmZlclBhcmFtZXRlcihpLCBub3QgdDAxWzBdLnN0YXJ0c3dpdGgoJ2NvbnN0ICcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudF9uYW1lc1tpXSwgYXJndW1lbnRfbmFtZXNbaSsxXSkKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3dyaXRlX3BvaXNvbl9idWZmZXJfcGFyYW1ldGVyKG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbTogQnVmZmVyUGFyYW1ldGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pc29uOiBib29sKSAtPiBOb25lOgotICAgICAgICAiIiJXcml0ZSBwb2lzb25pbmcgb3IgdW5wb2lzb25pbmcgY29kZSBmb3IgYSBidWZmZXIgcGFyYW1ldGVyLgotCi0gICAgICAgIFdyaXRlIHBvaXNvbmluZyBjb2RlIGlmIHBvaXNvbiBpcyB0cnVlLCB1bnBvaXNvbmluZyBjb2RlIG90aGVyd2lzZS4KLSAgICAgICAgIiIiCi0gICAgICAgIG91dC53cml0ZSgnICAgIE1CRURUTFNfVEVTVF9NRU1PUllfe30oe30sIHt9KTtcbicuZm9ybWF0KAotICAgICAgICAgICAgJ1BPSVNPTicgaWYgcG9pc29uIGVsc2UgJ1VOUE9JU09OJywKLSAgICAgICAgICAgIHBhcmFtLmJ1ZmZlcl9uYW1lLCBwYXJhbS5zaXplX25hbWUKLSAgICAgICAgKSkKLQotICAgIGRlZiBfd3JpdGVfcG9pc29uX2J1ZmZlcl9wYXJhbWV0ZXJzKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyX3BhcmFtZXRlcnM6IExpc3RbQnVmZmVyUGFyYW1ldGVyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2lzb246IGJvb2wpIC0+IE5vbmU6Ci0gICAgICAgICIiIldyaXRlIHBvaXNvbmluZyBvciB1bnBvaXNvbmluZyBjb2RlIGZvciB0aGUgYnVmZmVyIHBhcmFtZXRlcnMuCi0KLSAgICAgICAgV3JpdGUgcG9pc29uaW5nIGNvZGUgaWYgcG9pc29uIGlzIHRydWUsIHVucG9pc29uaW5nIGNvZGUgb3RoZXJ3aXNlLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgbm90IGJ1ZmZlcl9wYXJhbWV0ZXJzOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIG91dC53cml0ZSgnI2lmICFkZWZpbmVkKE1CRURUTFNfUFNBX0FTU1VNRV9FWENMVVNJVkVfQlVGRkVSUylcbicpCi0gICAgICAgIGZvciBwYXJhbSBpbiBidWZmZXJfcGFyYW1ldGVyczoKLSAgICAgICAgICAgIHNlbGYuX3dyaXRlX3BvaXNvbl9idWZmZXJfcGFyYW1ldGVyKG91dCwgcGFyYW0sIHBvaXNvbikKLSAgICAgICAgb3V0LndyaXRlKCcjZW5kaWYgLyogIWRlZmluZWQoTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTKSAqL1xuJykKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3BhcmFtZXRlcl9zaG91bGRfYmVfY29waWVkKGZ1bmN0aW9uX25hbWU6IHN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9idWZmZXJfbmFtZTogT3B0aW9uYWxbc3RyXSkgLT4gYm9vbDoKLSAgICAgICAgIiIiV2hldGhlciB0aGUgc3BlY2lmaWVkIGJ1ZmZlciBhcmd1bWVudCB0byBhIFBTQSBmdW5jdGlvbiBzaG91bGQgYmUgY29waWVkLgotICAgICAgICAiIiIKLSAgICAgICAgIyBGYWxzZS1wb3NpdGl2ZXMgdGhhdCBkbyBub3QgbmVlZCBidWZmZXIgY29weWluZwotICAgICAgICBpZiBmdW5jdGlvbl9uYW1lIGluICgnbWJlZHRsc19wc2FfaW5qZWN0X2VudHJvcHknLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfcGFzc3dvcmQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfdXNlcicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wZWVyJyk6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIF93cml0ZV9mdW5jdGlvbl9jYWxsKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBjX3dyYXBwZXJfZ2VuZXJhdG9yLkZ1bmN0aW9uSW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRfbmFtZXM6IExpc3Rbc3RyXSkgLT4gTm9uZToKLSAgICAgICAgYnVmZmVyX3BhcmFtZXRlcnMgPSBsaXN0KAotICAgICAgICAgICAgcGFyYW0KLSAgICAgICAgICAgIGZvciBwYXJhbSBpbiBzZWxmLl9kZXRlY3RfYnVmZmVyX3BhcmFtZXRlcnMoZnVuY3Rpb24uYXJndW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudF9uYW1lcykKLSAgICAgICAgICAgIGlmIHNlbGYuX3BhcmFtZXRlcl9zaG91bGRfYmVfY29waWVkKGZ1bmN0aW9uLm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbi5hcmd1bWVudHNbcGFyYW0uaW5kZXhdLm5hbWUpKQotICAgICAgICBzZWxmLl93cml0ZV9wb2lzb25fYnVmZmVyX3BhcmFtZXRlcnMob3V0LCBidWZmZXJfcGFyYW1ldGVycywgVHJ1ZSkKLSAgICAgICAgc3VwZXIoKS5fd3JpdGVfZnVuY3Rpb25fY2FsbChvdXQsIGZ1bmN0aW9uLCBhcmd1bWVudF9uYW1lcykKLSAgICAgICAgc2VsZi5fd3JpdGVfcG9pc29uX2J1ZmZlcl9wYXJhbWV0ZXJzKG91dCwgYnVmZmVyX3BhcmFtZXRlcnMsIEZhbHNlKQotCi0gICAgZGVmIF93cml0ZV9wcm9sb2d1ZShzZWxmLCBvdXQ6IHR5cGluZ191dGlsLldyaXRhYmxlLCBoZWFkZXI6IGJvb2wpIC0+IE5vbmU6Ci0gICAgICAgIHN1cGVyKCkuX3dyaXRlX3Byb2xvZ3VlKG91dCwgaGVhZGVyKQotICAgICAgICBvdXQud3JpdGUoIiIiCi0jaWYge30KLQotI2luY2x1ZGUgPHBzYS9jcnlwdG8uaD4KLQotI2luY2x1ZGUgPHRlc3QvbWVtb3J5Lmg+Ci0jaW5jbHVkZSA8dGVzdC9wc2FfY3J5cHRvX2hlbHBlcnMuaD4KLSNpbmNsdWRlIDx0ZXN0L3BzYV90ZXN0X3dyYXBwZXJzLmg+Ci0iIiIKLSAgICAgICAgICAgICAgICAgIC5mb3JtYXQoc2VsZi5fQ1BQX0dVQVJEUykpCi0KLSAgICBkZWYgX3dyaXRlX2VwaWxvZ3VlKHNlbGYsIG91dDogdHlwaW5nX3V0aWwuV3JpdGFibGUsIGhlYWRlcjogYm9vbCkgLT4gTm9uZToKLSAgICAgICAgb3V0LndyaXRlKCIiIgotI2VuZGlmIC8qIHt9ICovCi0iIiIKLSAgICAgICAgICAgICAgICAgIC5mb3JtYXQoc2VsZi5fQ1BQX0dVQVJEUykpCi0gICAgICAgIHN1cGVyKCkuX3dyaXRlX2VwaWxvZ3VlKG91dCwgaGVhZGVyKQotCi0KLWNsYXNzIFBTQUxvZ2dpbmdXcmFwcGVyR2VuZXJhdG9yKFBTQVdyYXBwZXJHZW5lcmF0b3IsIGNfd3JhcHBlcl9nZW5lcmF0b3IuTG9nZ2luZyk6Ci0gICAgIiIiR2VuZXJhdGUgYSBDIHNvdXJjZSBmaWxlIGNvbnRhaW5pbmcgd3JhcHBlciBmdW5jdGlvbnMgdGhhdCBsb2cgUFNBIENyeXB0byBBUEkgY2FsbHMuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgc3RyZWFtOiBzdHIpIC0+IE5vbmU6Ci0gICAgICAgIHN1cGVyKCkuX19pbml0X18oKQotICAgICAgICBzZWxmLnNldF9zdHJlYW0oc3RyZWFtKQotCi0gICAgX1BSSU5URl9UWVBFX0NBU1QgPSBjX3dyYXBwZXJfZ2VuZXJhdG9yLkxvZ2dpbmcuX1BSSU5URl9UWVBFX0NBU1QuY29weSgpCi0gICAgX1BSSU5URl9UWVBFX0NBU1QudXBkYXRlKHsKLSAgICAgICAgJ21iZWR0bHNfc3ZjX2tleV9pZF90JzogJ3Vuc2lnbmVkJywKLSAgICAgICAgJ3BzYV9hbGdvcml0aG1fdCc6ICd1bnNpZ25lZCcsCi0gICAgICAgICdwc2FfZHJ2X3Nsb3RfbnVtYmVyX3QnOiAndW5zaWduZWQgbG9uZyBsb25nJywKLSAgICAgICAgJ3BzYV9rZXlfZGVyaXZhdGlvbl9zdGVwX3QnOiAnaW50JywKLSAgICAgICAgJ3BzYV9rZXlfaWRfdCc6ICd1bnNpZ25lZCcsCi0gICAgICAgICdwc2Ffa2V5X3Nsb3RfbnVtYmVyX3QnOiAndW5zaWduZWQgbG9uZyBsb25nJywKLSAgICAgICAgJ3BzYV9rZXlfbGlmZXRpbWVfdCc6ICd1bnNpZ25lZCcsCi0gICAgICAgICdwc2Ffa2V5X3R5cGVfdCc6ICd1bnNpZ25lZCcsCi0gICAgICAgICdwc2Ffa2V5X3VzYWdlX2ZsYWdzX3QnOiAndW5zaWduZWQnLAotICAgICAgICAncHNhX3Bha2Vfcm9sZV90JzogJ2ludCcsCi0gICAgICAgICdwc2FfcGFrZV9zdGVwX3QnOiAnaW50JywKLSAgICAgICAgJ3BzYV9zdGF0dXNfdCc6ICdpbnQnLAotICAgIH0pCi0KLSAgICBkZWYgX3ByaW50Zl9wYXJhbWV0ZXJzKHNlbGYsIHR5cDogc3RyLCB2YXI6IHN0cikgLT4gVHVwbGVbc3RyLCBMaXN0W3N0cl1dOgotICAgICAgICBpZiB0eXAuc3RhcnRzd2l0aCgnY29uc3QgJyk6Ci0gICAgICAgICAgICB0eXAgPSB0eXBbNjpdCi0gICAgICAgIGlmIHR5cCA9PSAndWludDhfdCAqJzoKLSAgICAgICAgICAgICMgU2tpcCBidWZmZXJzCi0gICAgICAgICAgICByZXR1cm4gJycsIFtdCi0gICAgICAgIGlmIHR5cC5lbmRzd2l0aCgnb3BlcmF0aW9uX3QgKicpOgotICAgICAgICAgICAgcmV0dXJuICcnLCBbXQotICAgICAgICBpZiB0eXAgaW4gc2VsZi5fUEFLRV9TVFVGRjoKLSAgICAgICAgICAgIHJldHVybiAnJywgW10KLSAgICAgICAgaWYgdHlwID09ICdwc2Ffa2V5X2F0dHJpYnV0ZXNfdCAqJzoKLSAgICAgICAgICAgIHJldHVybiAodmFyICsgJz17aWQ9JXUsIGxpZmV0aW1lPTB4JTA4eCwgdHlwZT0weCUwOHgsIGJpdHM9JXUsIGFsZz0lMDh4LCB1c2FnZT0lMDh4fScsCi0gICAgICAgICAgICAgICAgICAgIFsnKHVuc2lnbmVkKSBwc2FfZ2V0X2tleV97fSh7fSknLmZvcm1hdChmaWVsZCwgdmFyKQotICAgICAgICAgICAgICAgICAgICAgZm9yIGZpZWxkIGluIFsnaWQnLCAnbGlmZXRpbWUnLCAndHlwZScsICdiaXRzJywgJ2FsZ29yaXRobScsICd1c2FnZV9mbGFncyddXSkKLSAgICAgICAgcmV0dXJuIHN1cGVyKCkuX3ByaW50Zl9wYXJhbWV0ZXJzKHR5cCwgdmFyKQotCi0KLURFRkFVTFRfQ19PVVRQVVRfRklMRV9OQU1FID0gJ3Rlc3RzL3NyYy9wc2FfdGVzdF93cmFwcGVycy5jJwotREVGQVVMVF9IX09VVFBVVF9GSUxFX05BTUUgPSAndGVzdHMvaW5jbHVkZS90ZXN0L3BzYV90ZXN0X3dyYXBwZXJzLmgnCi0KLWRlZiBtYWluKCkgLT4gTm9uZToKLSAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj1nbG9iYWxzKClbJ19fZG9jX18nXSkKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxvZycsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTdHJlYW0gdG8gbG9nIHRvIChkZWZhdWx0OiBubyBsb2dnaW5nIGNvZGUpJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW91dHB1dC1jJywKLSAgICAgICAgICAgICAgICAgICAgICAgIG1ldGF2YXI9J0ZJTEVOQU1FJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9REVGQVVMVF9DX09VVFBVVF9GSUxFX05BTUUsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnT3V0cHV0IC5jIGZpbGUgcGF0aCAoZGVmYXVsdDoge307IHNraXAgLmMgb3V0cHV0IGlmIGVtcHR5KScKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoREVGQVVMVF9DX09VVFBVVF9GSUxFX05BTUUpKSkKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW91dHB1dC1oJywKLSAgICAgICAgICAgICAgICAgICAgICAgIG1ldGF2YXI9J0ZJTEVOQU1FJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9REVGQVVMVF9IX09VVFBVVF9GSUxFX05BTUUsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnT3V0cHV0IC5oIGZpbGUgcGF0aCAoZGVmYXVsdDoge307IHNraXAgLmggb3V0cHV0IGlmIGVtcHR5KScKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoREVGQVVMVF9IX09VVFBVVF9GSUxFX05BTUUpKSkKLSAgICBvcHRpb25zID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotICAgIGlmIG9wdGlvbnMubG9nOgotICAgICAgICBnZW5lcmF0b3IgPSBQU0FMb2dnaW5nV3JhcHBlckdlbmVyYXRvcihvcHRpb25zLmxvZykgI3R5cGU6IFBTQVdyYXBwZXJHZW5lcmF0b3IKLSAgICBlbHNlOgotICAgICAgICBnZW5lcmF0b3IgPSBQU0FXcmFwcGVyR2VuZXJhdG9yKCkKLSAgICBnZW5lcmF0b3IuZ2F0aGVyX2RhdGEoKQotICAgIGlmIG9wdGlvbnMub3V0cHV0X2g6Ci0gICAgICAgIGdlbmVyYXRvci53cml0ZV9oX2ZpbGUob3B0aW9ucy5vdXRwdXRfaCkKLSAgICBpZiBvcHRpb25zLm91dHB1dF9jOgotICAgICAgICBnZW5lcmF0b3Iud3JpdGVfY19maWxlKG9wdGlvbnMub3V0cHV0X2MpCi0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgbWFpbigpCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3Rlc3RfY2VydF9tYWNyb3MucHkgYi90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3Rlc3RfY2VydF9tYWNyb3MucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGEzYmNhN2UuLjAwMDAwMDAKLS0tIGEvdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2NlcnRfbWFjcm9zLnB5CisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotCi0iIiIKLUdlbmVyYXRlIGB0ZXN0cy9zcmMvdGVzdF9jZXJ0cy5oYCB3aGljaCBpbmNsdWRlcyBjZXJ0ZmljYXRpZXMva2V5cy9jZXJ0aWZpY2F0ZSBsaXN0IGZvciB0ZXN0aW5nLgotIiIiCi0KLSMKLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotCi0KLWltcG9ydCBvcwotaW1wb3J0IHN5cwotaW1wb3J0IGFyZ3BhcnNlCi1pbXBvcnQgamluamEyCi0KLWNsYXNzIE1hY3JvRGVmaW5lQWN0aW9uKGFyZ3BhcnNlLkFjdGlvbik6Ci0gICAgI3B5bGludDogZGlzYWJsZT1zaWduYXR1cmUtZGlmZmVycywgdG9vLWZldy1wdWJsaWMtbWV0aG9kcwotICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwYXJzZXIsIG5hbWVzcGFjZSwgdmFsdWVzLCBvcHRpb25fc3RyaW5nKToKLSAgICAgICAgaWYgbm90IGhhc2F0dHIobmFtZXNwYWNlLCAndmFsdWVzJyk6Ci0gICAgICAgICAgICBzZXRhdHRyKG5hbWVzcGFjZSwgJ3ZhbHVlcycsIFtdKQotICAgICAgICBtYWNyb19uYW1lLCBmaWxlbmFtZSA9IHZhbHVlcwotICAgICAgICBpZiBzZWxmLmRlc3QgaW4gKCdzdHJpbmcnLCAnYmluYXJ5JykgYW5kIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlbmFtZSk6Ci0gICAgICAgICAgICByYWlzZSBhcmdwYXJzZS5Bcmd1bWVudEVycm9yKAotICAgICAgICAgICAgICAgIE5vbmUsICdge31gOiBJbnB1dCBmaWxlIGRvZXMgbm90IGV4aXN0LicuZm9ybWF0KGZpbGVuYW1lKSkKLSAgICAgICAgbmFtZXNwYWNlLnZhbHVlcy5hcHBlbmQoKHNlbGYuZGVzdCwgbWFjcm9fbmFtZSwgZmlsZW5hbWUpKQotCi0KLWRlZiBtYWNyb19kZWZpbmVfdHlwZSh2YWx1ZSk6Ci0gICAgcmV0ID0gdmFsdWUuc3BsaXQoJz0nLCAxKQotICAgIGlmIGxlbihyZXQpICE9IDI6Ci0gICAgICAgIHJhaXNlIGFyZ3BhcnNlLkFyZ3VtZW50VHlwZUVycm9yKAotICAgICAgICAgICAgJ2B7fWAgaXMgbm90IE1BQ1JPPXZhbHVlIGZvcm1hdCcuZm9ybWF0KHZhbHVlKSkKLSAgICByZXR1cm4gcmV0Ci0KLQotZGVmIGJ1aWxkX2FyZ3BhcnNlcihwYXJzZXIpOgotICAgIHBhcnNlci5kZXNjcmlwdGlvbiA9IF9fZG9jX18KLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXN0cmluZycsIHR5cGU9bWFjcm9fZGVmaW5lX3R5cGUsIGFjdGlvbj1NYWNyb0RlZmluZUFjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1ldGF2YXI9J01BQ1JPX05BTUU9cGF0aC90by9maWxlJywgaGVscD0nUEVNIHRvIEMgc3RyaW5nLiAnKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYmluYXJ5JywgdHlwZT1tYWNyb19kZWZpbmVfdHlwZSwgYWN0aW9uPU1hY3JvRGVmaW5lQWN0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgbWV0YXZhcj0nTUFDUk9fTkFNRT1wYXRoL3RvL2ZpbGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nREVSIHRvIEMgYXJyYXJ5LicpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1wYXNzd29yZCcsIHR5cGU9bWFjcm9fZGVmaW5lX3R5cGUsIGFjdGlvbj1NYWNyb0RlZmluZUFjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1ldGF2YXI9J01BQ1JPX05BTUU9cGFzc3dvcmQnLCBoZWxwPSdQYXNzd29yZCB0byBDIHN0cmluZy4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tb3V0cHV0JywgdHlwZT1zdHIsIHJlcXVpcmVkPVRydWUpCi0KLQotZGVmIG1haW4oKToKLSAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCi0gICAgYnVpbGRfYXJncGFyc2VyKHBhcnNlcikKLSAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotICAgIHJldHVybiBnZW5lcmF0ZSgqKnZhcnMoYXJncykpCi0KLSNweWxpbnQ6IGRpc2FibGU9ZGFuZ2Vyb3VzLWRlZmF1bHQtdmFsdWUsIHVudXNlZC1hcmd1bWVudAotZGVmIGdlbmVyYXRlKHZhbHVlcz1bXSwgb3V0cHV0PU5vbmUsICoqa3dhcmdzKToKLSAgICAiIiJHZW5lcmF0ZSBDIGhlYWRlciBmaWxlLgotICAgICIiIgotICAgIHRoaXNfZGlyID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCi0gICAgdGVtcGxhdGVfbG9hZGVyID0gamluamEyLkZpbGVTeXN0ZW1Mb2FkZXIoCi0gICAgICAgIHNlYXJjaHBhdGg9b3MucGF0aC5qb2luKHRoaXNfZGlyLCAnLi4nLCAnZGF0YV9maWxlcycpKQotICAgIHRlbXBsYXRlX2VudiA9IGppbmphMi5FbnZpcm9ubWVudCgKLSAgICAgICAgbG9hZGVyPXRlbXBsYXRlX2xvYWRlciwgbHN0cmlwX2Jsb2Nrcz1UcnVlLCB0cmltX2Jsb2Nrcz1UcnVlKQotCi0gICAgZGVmIHJlYWRfYXNfY19hcnJheShmaWxlbmFtZSk6Ci0gICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3JiJykgYXMgZjoKLSAgICAgICAgICAgIGRhdGEgPSBmLnJlYWQoMTIpCi0gICAgICAgICAgICB3aGlsZSBkYXRhOgotICAgICAgICAgICAgICAgIHlpZWxkICcsICcuam9pbihbJ3s6IzA0eH0nLmZvcm1hdChiKSBmb3IgYiBpbiBkYXRhXSkKLSAgICAgICAgICAgICAgICBkYXRhID0gZi5yZWFkKDEyKQotCi0gICAgZGVmIHJlYWRfbGluZXMoZmlsZW5hbWUpOgotICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIGY6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gZjoKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgbGluZS5zdHJpcCgpCi0gICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgcHJpbnQoZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgcmFpc2UKLQotICAgIGRlZiBwdXRfdG9fY29sdW1uKHZhbHVlLCBwb3NpdGlvbj0wKToKLSAgICAgICAgcmV0dXJuICcgJypwb3NpdGlvbiArIHZhbHVlCi0KLSAgICB0ZW1wbGF0ZV9lbnYuZmlsdGVyc1sncmVhZF9hc19jX2FycmF5J10gPSByZWFkX2FzX2NfYXJyYXkKLSAgICB0ZW1wbGF0ZV9lbnYuZmlsdGVyc1sncmVhZF9saW5lcyddID0gcmVhZF9saW5lcwotICAgIHRlbXBsYXRlX2Vudi5maWx0ZXJzWydwdXRfdG9fY29sdW1uJ10gPSBwdXRfdG9fY29sdW1uCi0KLSAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlX2Vudi5nZXRfdGVtcGxhdGUoJ3Rlc3RfY2VydHMuaC5qaW5qYTInKQotCi0gICAgd2l0aCBvcGVuKG91dHB1dCwgJ3cnKSBhcyBmOgotICAgICAgICBmLndyaXRlKHRlbXBsYXRlLnJlbmRlcihtYWNyb3M9dmFsdWVzKSkKLQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHN5cy5leGl0KG1haW4oKSkKZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jb2RlLnB5IGIvdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2NvZGUucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDVmNzExYmYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2NvZGUucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMjc3ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKLSMgVGVzdCBzdWl0ZXMgY29kZSBnZW5lcmF0b3IuCi0jCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLQotIiIiCi1UaGlzIHNjcmlwdCBpcyBhIGtleSBwYXJ0IG9mIE1iZWQgVExTIHRlc3Qgc3VpdGVzIGZyYW1ld29yay4gRm9yCi11bmRlcnN0YW5kaW5nIHRoZSBzY3JpcHQgaXQgaXMgaW1wb3J0YW50IHRvIHVuZGVyc3RhbmQgdGhlCi1mcmFtZXdvcmsuIFRoaXMgZG9jIHN0cmluZyBjb250YWlucyBhIHN1bW1hcnkgb2YgdGhlIGZyYW1ld29yawotYW5kIGV4cGxhaW5zIHRoZSBmdW5jdGlvbiBvZiB0aGlzIHNjcmlwdC4KLQotTWJlZCBUTFMgdGVzdCBzdWl0ZXM6Ci09PT09PT09PT09PT09PT09PT09PT0KLVNjb3BlOgotLS0tLS0tCi1UaGUgdGVzdCBzdWl0ZXMgZm9jdXMgb24gdW5pdCB0ZXN0aW5nIHRoZSBjcnlwdG8gcHJpbWl0aXZlcyBhbmQgYWxzbwotaW5jbHVkZSB4NTA5IHBhcnNlciB0ZXN0cy4gVGVzdHMgY2FuIGJlIGFkZGVkIHRvIHRlc3QgYW55IE1iZWQgVExTCi1tb2R1bGUuIEhvd2V2ZXIsIHRoZSBmcmFtZXdvcmsgaXMgbm90IGNhcGFibGUgb2YgdGVzdGluZyBTU0wKLXByb3RvY29sLCBzaW5jZSB0aGF0IHJlcXVpcmVzIGZ1bGwgc3RhY2sgZXhlY3V0aW9uIGFuZCB0aGF0IGlzIGJlc3QKLXRlc3RlZCBhcyBwYXJ0IG9mIHRoZSBzeXN0ZW0gdGVzdC4KLQotVGVzdCBjYXNlIGRlZmluaXRpb246Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVRlc3RzIGFyZSBkZWZpbmVkIGluIGEgdGVzdF9zdWl0ZV88bW9kdWxlPlsuPG9wdGlvbmFsIHN1YiBtb2R1bGU+XS5kYXRhCi1maWxlLiBBIHRlc3QgZGVmaW5pdGlvbiBjb250YWluczoKLSB0ZXN0IG5hbWUKLSBvcHRpb25hbCBidWlsZCBtYWNybyBkZXBlbmRlbmNpZXMKLSB0ZXN0IGZ1bmN0aW9uCi0gdGVzdCBwYXJhbWV0ZXJzCi0KLVRlc3QgZGVwZW5kZW5jaWVzIGFyZSBidWlsZCBtYWNyb3MgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIHRvIGluZGljYXRlCi10aGUgYnVpbGQgY29uZmlnIGluIHdoaWNoIHRoZSB0ZXN0IGlzIHZhbGlkLiBGb3IgZXhhbXBsZSBpZiBhIHRlc3QKLWRlcGVuZHMgb24gYSBmZWF0dXJlIHRoYXQgaXMgb25seSBlbmFibGVkIGJ5IGRlZmluaW5nIGEgbWFjcm8uIFRoZW4KLXRoYXQgbWFjcm8gc2hvdWxkIGJlIHNwZWNpZmllZCBhcyBhIGRlcGVuZGVuY3kgb2YgdGhlIHRlc3QuCi0KLVRlc3QgZnVuY3Rpb24gaXMgdGhlIGZ1bmN0aW9uIHRoYXQgaW1wbGVtZW50cyB0aGUgdGVzdCBzdGVwcy4gVGhpcwotZnVuY3Rpb24gaXMgc3BlY2lmaWVkIGZvciBkaWZmZXJlbnQgdGVzdHMgdGhhdCBwZXJmb3JtIHNhbWUgc3RlcHMKLXdpdGggZGlmZmVyZW50IHBhcmFtZXRlcnMuCi0KLVRlc3QgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkIGluIHN0cmluZyBmb3JtIHNlcGFyYXRlZCBieSAnOicuCi1QYXJhbWV0ZXJzIGNhbiBiZSBvZiB0eXBlIHN0cmluZywgYmluYXJ5IGRhdGEgc3BlY2lmaWVkIGFzIGhleAotc3RyaW5nIGFuZCBpbnRlZ2VyIGNvbnN0YW50cyBzcGVjaWZpZWQgYXMgaW50ZWdlciwgbWFjcm8gb3IKLWFzIGFuIGV4cHJlc3Npb24uIEZvbGxvd2luZyBpcyBhbiBleGFtcGxlIHRlc3QgZGVmaW5pdGlvbjoKLQotIEFFUyAxMjggR0NNIEVuY3J5cHQgYW5kIGRlY3J5cHQgOCBieXRlcwotIGRlcGVuZHNfb246TUJFRFRMU19BRVNfQzpNQkVEVExTX0dDTV9DCi0gZW5jX2RlY19idWY6TUJFRFRMU19DSVBIRVJfQUVTXzEyOF9HQ006IkFFUy0xMjgtR0NNIjoxMjg6ODotMQotCi1UZXN0IGZ1bmN0aW9uczoKLS0tLS0tLS0tLS0tLS0tLQotVGVzdCBmdW5jdGlvbnMgYXJlIGNvZGVkIGluIEMgaW4gdGVzdF9zdWl0ZV88bW9kdWxlPi5mdW5jdGlvbiBmaWxlcy4KLUZ1bmN0aW9ucyBmaWxlIGlzIGl0c2VsZiBub3QgY29tcGlsYWJsZSBhbmQgY29udGFpbnMgc3BlY2lhbAotZm9ybWF0IHBhdHRlcm5zIHRvIHNwZWNpZnkgdGVzdCBzdWl0ZSBkZXBlbmRlbmNpZXMsIHN0YXJ0IGFuZCBlbmQKLW9mIGZ1bmN0aW9ucyBhbmQgZnVuY3Rpb24gZGVwZW5kZW5jaWVzLiBDaGVjayBhbnkgZXhpc3RpbmcgZnVuY3Rpb25zCi1maWxlIGZvciBleGFtcGxlLgotCi1FeGVjdXRpb246Ci0tLS0tLS0tLS0tCi1UZXN0cyBhcmUgZXhlY3V0ZWQgaW4gMyBzdGVwczoKLS0gR2VuZXJhdGluZyB0ZXN0X3N1aXRlXzxtb2R1bGU+Wy48b3B0aW9uYWwgc3ViIG1vZHVsZT5dLmMgZmlsZQotICBmb3IgZWFjaCBjb3JyZXNwb25kaW5nIC5kYXRhIGZpbGUuCi0tIEJ1aWxkaW5nIGVhY2ggc291cmNlIGZpbGUgaW50byBleGVjdXRhYmxlcy4KLS0gUnVubmluZyBlYWNoIGV4ZWN1dGFibGUgYW5kIHByaW50aW5nIHJlcG9ydC4KLQotR2VuZXJhdGluZyBDIHRlc3Qgc291cmNlIHJlcXVpcmVzIG1vcmUgdGhhbiBqdXN0IHRoZSB0ZXN0IGZ1bmN0aW9ucy4KLUZvbGxvd2luZyBleHRyYXMgYXJlIHJlcXVpcmVkOgotLSBQcm9jZXNzIG1haW4oKQotLSBSZWFkaW5nIC5kYXRhIGZpbGUgYW5kIGRpc3BhdGNoaW5nIHRlc3QgY2FzZXMuCi0tIFBsYXRmb3JtIHNwZWNpZmljIHRlc3QgY2FzZSBleGVjdXRpb24KLS0gRGVwZW5kZW5jeSBjaGVja2luZwotLSBJbnRlZ2VyIGV4cHJlc3Npb24gZXZhbHVhdGlvbgotLSBUZXN0IGZ1bmN0aW9uIGRpc3BhdGNoCi0KLUJ1aWxkIGRlcGVuZGVuY2llcyBhbmQgaW50ZWdlciBleHByZXNzaW9ucyAoaW4gdGhlIHRlc3QgcGFyYW1ldGVycykKLWFyZSBzcGVjaWZpZWQgYXMgc3RyaW5ncyBpbiB0aGUgLmRhdGEgZmlsZS4gVGhlaXIgcnVuIHRpbWUgdmFsdWUgaXMKLW5vdCBrbm93biBhdCB0aGUgZ2VuZXJhdGlvbiBzdGFnZS4gSGVuY2UsIHRoZXkgbmVlZCB0byBiZSB0cmFuc2xhdGVkCi1pbnRvIHJ1biB0aW1lIGV2YWx1YXRpb25zLiBUaGlzIHNjcmlwdCBnZW5lcmF0ZXMgdGhlIHJ1biB0aW1lIGNoZWNrcwotZm9yIGRlcGVuZGVuY2llcyBhbmQgaW50ZWdlciBleHByZXNzaW9ucy4KLQotU2ltaWxhcmx5LCBmdW5jdGlvbiBuYW1lcyBoYXZlIHRvIGJlIHRyYW5zbGF0ZWQgaW50byBmdW5jdGlvbiBjYWxscy4KLVRoaXMgc2NyaXB0IGFsc28gZ2VuZXJhdGVzIGNvZGUgZm9yIGZ1bmN0aW9uIGRpc3BhdGNoLgotCi1UaGUgZXh0cmEgY29kZSBtZW50aW9uZWQgaGVyZSBpcyBlaXRoZXIgZ2VuZXJhdGVkIGJ5IHRoaXMgc2NyaXB0Ci1vciBpdCBjb21lcyBmcm9tIHRoZSBpbnB1dCBmaWxlczogaGVscGVycyBmaWxlLCBwbGF0Zm9ybSBmaWxlIGFuZAotdGhlIHRlbXBsYXRlIGZpbGUuCi0KLUhlbHBlciBmaWxlOgotLS0tLS0tLS0tLS0tCi1IZWxwZXJzIGZpbGUgY29udGFpbnMgY29tbW9uIGhlbHBlci91dGlsaXR5IGZ1bmN0aW9ucyBhbmQgZGF0YS4KLQotUGxhdGZvcm0gZmlsZToKLS0tLS0tLS0tLS0tLS0tCi1QbGF0Zm9ybSBmaWxlIGNvbnRhaW5zIHBsYXRmb3JtIHNwZWNpZmljIHNldHVwIGNvZGUgYW5kIHRlc3QgY2FzZQotZGlzcGF0Y2ggY29kZS4gRm9yIGV4YW1wbGUsIGhvc3RfdGVzdC5mdW5jdGlvbiByZWFkcyB0ZXN0IGRhdGEKLWZpbGUgZnJvbSBob3N0J3MgZmlsZSBzeXN0ZW0gYW5kIGRpc3BhdGNoZXMgdGVzdHMuCi0KLVRlbXBsYXRlIGZpbGU6Ci0tLS0tLS0tLS0KLVRlbXBsYXRlIGZpbGUgZm9yIGV4YW1wbGUgbWFpbl90ZXN0LmZ1bmN0aW9uIGlzIGEgdGVtcGxhdGUgQyBmaWxlIGluCi13aGljaCBnZW5lcmF0ZWQgY29kZSBhbmQgY29kZSBmcm9tIGlucHV0IGZpbGVzIGlzIHN1YnN0aXR1dGVkIHRvCi1nZW5lcmF0ZSBhIGNvbXBpbGFibGUgQyBmaWxlLiBJdCBhbHNvIGNvbnRhaW5zIHNrZWxldG9uIGZ1bmN0aW9ucyBmb3IKLWRlcGVuZGVuY3kgY2hlY2tzLCBleHByZXNzaW9uIGV2YWx1YXRpb24gYW5kIGZ1bmN0aW9uIGRpc3BhdGNoLiBUaGVzZQotZnVuY3Rpb25zIGFyZSBwb3B1bGF0ZWQgd2l0aCBjaGVja3MgYW5kIHJldHVybiBjb2RlcyBieSB0aGlzIHNjcmlwdC4KLQotVGVtcGxhdGUgZmlsZSBjb250YWlucyAicmVwbGFjZW1lbnQiIGZpZWxkcyB0aGF0IGFyZSBmb3JtYXR0ZWQKLXN0cmluZ3MgcHJvY2Vzc2VkIGJ5IFB5dGhvbiBzdHJpbmcuVGVtcGxhdGUuc3Vic3RpdHV0ZSgpIG1ldGhvZC4KLQotVGhpcyBzY3JpcHQ6Ci09PT09PT09PT09PT0KLUNvcmUgZnVuY3Rpb24gb2YgdGhpcyBzY3JpcHQgaXMgdG8gZmlsbCB0aGUgdGVtcGxhdGUgZmlsZSB3aXRoCi1jb2RlIHRoYXQgaXMgZ2VuZXJhdGVkIG9yIHJlYWQgZnJvbSBoZWxwZXJzIGFuZCBwbGF0Zm9ybSBmaWxlcy4KLQotVGhpcyBzY3JpcHQgcmVwbGFjZXMgZm9sbG93aW5nIGZpZWxkcyBpbiB0aGUgdGVtcGxhdGUgYW5kIGdlbmVyYXRlcwotdGhlIHRlc3Qgc291cmNlIGZpbGU6Ci0KLV9fTUJFRFRMU19URVNUX1RFTVBMQVRFX19URVNUX0NPTU1PTl9IRUxQRVJTCi0gICAgICAgICAgICBBbGwgY29tbW9uIGNvZGUgZnJvbSBoZWxwZXJzLmZ1bmN0aW9uCi0gICAgICAgICAgICBpcyBzdWJzdGl0dXRlZCBoZXJlLgotX19NQkVEVExTX1RFU1RfVEVNUExBVEVfX0ZVTkNUSU9OU19DT0RFCi0gICAgICAgICAgICBUZXN0IGZ1bmN0aW9ucyBhcmUgc3Vic3RpdHV0ZWQgaGVyZQotICAgICAgICAgICAgZnJvbSB0aGUgaW5wdXQgdGVzdF9zdWl0X3h5ei5mdW5jdGlvbgotICAgICAgICAgICAgZmlsZS4gQyBwcmVwcm9jZXNzb3IgY2hlY2tzIGFyZSBnZW5lcmF0ZWQKLSAgICAgICAgICAgIGZvciB0aGUgYnVpbGQgZGVwZW5kZW5jaWVzIHNwZWNpZmllZAotICAgICAgICAgICAgaW4gdGhlIGlucHV0IGZpbGUuIFRoaXMgc2NyaXB0IGFsc28KLSAgICAgICAgICAgIGdlbmVyYXRlcyB3cmFwcGVycyBmb3IgdGhlIHRlc3QKLSAgICAgICAgICAgIGZ1bmN0aW9ucyB3aXRoIGNvZGUgdG8gZXhwYW5kIHRoZQotICAgICAgICAgICAgc3RyaW5nIHBhcmFtZXRlcnMgcmVhZCBmcm9tIHRoZSBkYXRhCi0gICAgICAgICAgICBmaWxlLgotX19NQkVEVExTX1RFU1RfVEVNUExBVEVfX0VYUFJFU1NJT05fQ09ERQotICAgICAgICAgICAgVGhpcyBzY3JpcHQgZW51bWVyYXRlcyB0aGUKLSAgICAgICAgICAgIGV4cHJlc3Npb25zIGluIHRoZSAuZGF0YSBmaWxlIGFuZAotICAgICAgICAgICAgZ2VuZXJhdGVzIGNvZGUgdG8gaGFuZGxlIGVudW1lcmF0ZWQKLSAgICAgICAgICAgIGV4cHJlc3Npb24gSWRzIGFuZCByZXR1cm4gdGhlIHZhbHVlcy4KLV9fTUJFRFRMU19URVNUX1RFTVBMQVRFX19ERVBfQ0hFQ0tfQ09ERQotICAgICAgICAgICAgVGhpcyBzY3JpcHQgZW51bWVyYXRlcyBhbGwKLSAgICAgICAgICAgIGJ1aWxkIGRlcGVuZGVuY2llcyBhbmQgZ2VuZXJhdGUKLSAgICAgICAgICAgIGNvZGUgdG8gaGFuZGxlIGVudW1lcmF0ZWQgYnVpbGQKLSAgICAgICAgICAgIGRlcGVuZGVuY3kgSWQgYW5kIHJldHVybiBzdGF0dXM6IGlmCi0gICAgICAgICAgICB0aGUgZGVwZW5kZW5jeSBpcyBkZWZpbmVkIG9yIG5vdC4KLV9fTUJFRFRMU19URVNUX1RFTVBMQVRFX19ESVNQQVRDSF9DT0RFCi0gICAgICAgICAgICBUaGlzIHNjcmlwdCBlbnVtZXJhdGVzIHRoZSBmdW5jdGlvbnMKLSAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgaW5wdXQgdGVzdCBkYXRhIGZpbGUKLSAgICAgICAgICAgIGFuZCBnZW5lcmF0ZXMgdGhlIGluaXRpYWxpemVyIGZvciB0aGUKLSAgICAgICAgICAgIGZ1bmN0aW9uIHRhYmxlIGluIHRoZSB0ZW1wbGF0ZQotICAgICAgICAgICAgZmlsZS4KLV9fTUJFRFRMU19URVNUX1RFTVBMQVRFX19QTEFURk9STV9DT0RFCi0gICAgICAgICAgICBQbGF0Zm9ybSBzcGVjaWZpYyBzZXR1cCBhbmQgdGVzdAotICAgICAgICAgICAgZGlzcGF0Y2ggY29kZS4KLQotIiIiCi0KLQotaW1wb3J0IG9zCi1pbXBvcnQgcmUKLWltcG9ydCBzeXMKLWltcG9ydCBzdHJpbmcKLWltcG9ydCBhcmdwYXJzZQotCi0KLSMgVHlwZXMgcmVjb2duaXplZCBhcyBzaWduZWQgaW50ZWdlciBhcmd1bWVudHMgaW4gdGVzdCBmdW5jdGlvbnMuCi1TSUdORURfSU5URUdFUl9UWVBFUyA9IGZyb3plbnNldChbCi0gICAgJ2NoYXInLAotICAgICdzaG9ydCcsCi0gICAgJ3Nob3J0IGludCcsCi0gICAgJ2ludCcsCi0gICAgJ2ludDhfdCcsCi0gICAgJ2ludDE2X3QnLAotICAgICdpbnQzMl90JywKLSAgICAnaW50NjRfdCcsCi0gICAgJ2ludG1heF90JywKLSAgICAnbG9uZycsCi0gICAgJ2xvbmcgaW50JywKLSAgICAnbG9uZyBsb25nIGludCcsCi0gICAgJ21iZWR0bHNfbXBpX3NpbnQnLAotICAgICdwc2Ffc3RhdHVzX3QnLAotXSkKLSMgVHlwZXMgcmVjb2duaXplZCBhcyBzdHJpbmcgYXJndW1lbnRzIGluIHRlc3QgZnVuY3Rpb25zLgotU1RSSU5HX1RZUEVTID0gZnJvemVuc2V0KFsnY2hhcionLCAnY29uc3QgY2hhcionLCAnY2hhciBjb25zdConXSkKLSMgVHlwZXMgcmVjb2duaXplZCBhcyBoZXggZGF0YSBhcmd1bWVudHMgaW4gdGVzdCBmdW5jdGlvbnMuCi1EQVRBX1RZUEVTID0gZnJvemVuc2V0KFsnZGF0YV90KicsICdjb25zdCBkYXRhX3QqJywgJ2RhdGFfdCBjb25zdConXSkKLQotQkVHSU5fSEVBREVSX1JFR0VYID0gcicvXCpccypCRUdJTl9IRUFERVJccypcKi8nCi1FTkRfSEVBREVSX1JFR0VYID0gcicvXCpccypFTkRfSEVBREVSXHMqXCovJwotCi1CRUdJTl9TVUlURV9IRUxQRVJTX1JFR0VYID0gcicvXCpccypCRUdJTl9TVUlURV9IRUxQRVJTXHMqXCovJwotRU5EX1NVSVRFX0hFTFBFUlNfUkVHRVggPSByJy9cKlxzKkVORF9TVUlURV9IRUxQRVJTXHMqXCovJwotCi1CRUdJTl9ERVBfUkVHRVggPSByJ0JFR0lOX0RFUEVOREVOQ0lFUycKLUVORF9ERVBfUkVHRVggPSByJ0VORF9ERVBFTkRFTkNJRVMnCi0KLUJFR0lOX0NBU0VfUkVHRVggPSByJy9cKlxzKkJFR0lOX0NBU0VccyooP1A8ZGVwZW5kc19vbj4uKj8pXHMqXCovJwotRU5EX0NBU0VfUkVHRVggPSByJy9cKlxzKkVORF9DQVNFXHMqXCovJwotCi1ERVBFTkRFTkNZX1JFR0VYID0gcidkZXBlbmRzX29uOig/UDxkZXBlbmRlbmNpZXM+LiopJwotQ19JREVOVElGSUVSX1JFR0VYID0gcichP1thLXpfXVthLXowLTlfXSonCi1DT05ESVRJT05fT1BFUkFUT1JfUkVHRVggPSByJ1shPV09fFs8Pl09PycKLSMgZm9yYmlkIDBkZGQgd2hpY2ggbWlnaHQgYmUgYWNjaWRlbnRhbGx5IG9jdGFsIG9yIGFjY2lkZW50YWxseSBkZWNpbWFsCi1DT05ESVRJT05fVkFMVUVfUkVHRVggPSByJ1stK10/KDB4WzAtOWEtZl0rfDB8WzEtOV1bMC05XSopJwotQ09ORElUSU9OX1JFR0VYID0gcicoe30pKD86XHMqKHt9KVxzKih7fSkpPyQnLmZvcm1hdChDX0lERU5USUZJRVJfUkVHRVgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTkRJVElPTl9PUEVSQVRPUl9SRUdFWCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09ORElUSU9OX1ZBTFVFX1JFR0VYKQotVEVTVF9GVU5DVElPTl9WQUxJREFUSU9OX1JFR0VYID0gcidccyp2b2lkXHMrKD9QPGZ1bmNfbmFtZT5cdyspXHMqXCgnCi1GVU5DVElPTl9BUkdfTElTVF9FTkRfUkVHRVggPSByJy4qXCknCi1FWElUX0xBQkVMX1JFR0VYID0gcideZXhpdDonCi0KLQotY2xhc3MgR2VuZXJhdG9ySW5wdXRFcnJvcihFeGNlcHRpb24pOgotICAgICIiIgotICAgIEV4Y2VwdGlvbiB0byBpbmRpY2F0ZSBlcnJvciBpbiB0aGUgaW5wdXQgZmlsZXMgdG8gdGhpcyBzY3JpcHQuCi0gICAgVGhpcyBpbmNsdWRlcyBtaXNzaW5nIHBhdHRlcm5zLCB0ZXN0IGZ1bmN0aW9uIG5hbWVzIGFuZCBvdGhlcgotICAgIHBhcnNpbmcgZXJyb3JzLgotICAgICIiIgotICAgIHBhc3MKLQotCi1jbGFzcyBGaWxlV3JhcHBlcjoKLSAgICAiIiIKLSAgICBUaGlzIGNsYXNzIGV4dGVuZHMgdGhlIGZpbGUgb2JqZWN0IHdpdGggYXR0cmlidXRlIGxpbmVfbm8sCi0gICAgdGhhdCBpbmRpY2F0ZXMgbGluZSBudW1iZXIgZm9yIHRoZSBsaW5lIHRoYXQgaXMgcmVhZC4KLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlX25hbWUpIC0+IE5vbmU6Ci0gICAgICAgICIiIgotICAgICAgICBJbnN0YW50aWF0ZSB0aGUgZmlsZSBvYmplY3QgYW5kIGluaXRpYWxpemUgdGhlIGxpbmUgbnVtYmVyIHRvIDAuCi0KLSAgICAgICAgOnBhcmFtIGZpbGVfbmFtZTogRmlsZSBwYXRoIHRvIG9wZW4uCi0gICAgICAgICIiIgotICAgICAgICAjIHByaXZhdGUgbWl4LWluIGZpbGUgb2JqZWN0Ci0gICAgICAgIHNlbGYuX2YgPSBvcGVuKGZpbGVfbmFtZSwgJ3JiJykKLSAgICAgICAgc2VsZi5fbGluZV9ubyA9IDAKLQotICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgIGRlZiBfX25leHRfXyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRoaXMgbWV0aG9kIG1ha2VzIEZpbGVXcmFwcGVyIGl0ZXJhYmxlLgotICAgICAgICBJdCBjb3VudHMgdGhlIGxpbmUgbnVtYmVycyBhcyBlYWNoIGxpbmUgaXMgcmVhZC4KLQotICAgICAgICA6cmV0dXJuOiBMaW5lIHJlYWQgZnJvbSBmaWxlLgotICAgICAgICAiIiIKLSAgICAgICAgbGluZSA9IHNlbGYuX2YuX19uZXh0X18oKQotICAgICAgICBzZWxmLl9saW5lX25vICs9IDEKLSAgICAgICAgIyBDb252ZXJ0IGJ5dGUgYXJyYXkgdG8gc3RyaW5nIHdpdGggY29ycmVjdCBlbmNvZGluZyBhbmQKLSAgICAgICAgIyBzdHJpcCBhbnkgd2hpdGVzcGFjZXMgYWRkZWQgaW4gdGhlIGRlY29kaW5nIHByb2Nlc3MuCi0gICAgICAgIHJldHVybiBsaW5lLmRlY29kZShzeXMuZ2V0ZGVmYXVsdGVuY29kaW5nKCkpLnJzdHJpcCgpKyAnXG4nCi0KLSAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZgotCi0gICAgZGVmIF9fZXhpdF9fKHNlbGYsIGV4Y190eXBlLCBleGNfdmFsLCBleGNfdGIpOgotICAgICAgICBzZWxmLl9mLl9fZXhpdF9fKGV4Y190eXBlLCBleGNfdmFsLCBleGNfdGIpCi0KLSAgICBAcHJvcGVydHkKLSAgICBkZWYgbGluZV9ubyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFByb3BlcnR5IHRoYXQgaW5kaWNhdGVzIGxpbmUgbnVtYmVyIGZvciB0aGUgbGluZSB0aGF0IGlzIHJlYWQuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gc2VsZi5fbGluZV9ubwotCi0gICAgQHByb3BlcnR5Ci0gICAgZGVmIG5hbWUoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBQcm9wZXJ0eSB0aGF0IGluZGljYXRlcyBuYW1lIG9mIHRoZSBmaWxlIHRoYXQgaXMgcmVhZC4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9mLm5hbWUKLQotCi1kZWYgc3BsaXRfZGVwKGRlcCk6Ci0gICAgIiIiCi0gICAgU3BsaXQgTk9UIGNoYXJhY3RlciAnIScgZnJvbSBkZXBlbmRlbmN5LiBVc2VkIGJ5IGdlbl9kZXBlbmRlbmNpZXMoKQotCi0gICAgOnBhcmFtIGRlcDogRGVwZW5kZW5jeSBsaXN0Ci0gICAgOnJldHVybjogc3RyaW5nIHR1cGxlLiBFeDogKCchJywgTUFDUk8pIGZvciAhTUFDUk8gYW5kICgnJywgTUFDUk8pIGZvcgotICAgICAgICAgICAgIE1BQ1JPLgotICAgICIiIgotICAgIHJldHVybiAoJyEnLCBkZXBbMTpdKSBpZiBkZXBbMF0gPT0gJyEnIGVsc2UgKCcnLCBkZXApCi0KLQotZGVmIGdlbl9kZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKToKLSAgICAiIiIKLSAgICBUZXN0IHN1aXRlIGRhdGEgYW5kIGZ1bmN0aW9ucyBzcGVjaWZpZXMgY29tcGlsZSB0aW1lIGRlcGVuZGVuY2llcy4KLSAgICBUaGlzIGZ1bmN0aW9uIGdlbmVyYXRlcyBDIHByZXByb2Nlc3NvciBjb2RlIGZyb20gdGhlIGlucHV0Ci0gICAgZGVwZW5kZW5jeSBsaXN0LiBDYWxsZXIgdXNlcyB0aGUgZ2VuZXJhdGVkIHByZXByb2Nlc3NvciBjb2RlIHRvCi0gICAgd3JhcCBkZXBlbmRlbnQgY29kZS4KLSAgICBBIGRlcGVuZGVuY3kgaW4gdGhlIGlucHV0IGxpc3QgY2FuIGhhdmUgYSBsZWFkaW5nICchJyBjaGFyYWN0ZXIKLSAgICB0byBuZWdhdGUgYSBjb25kaXRpb24uICchJyBpcyBzZXBhcmF0ZWQgZnJvbSB0aGUgZGVwZW5kZW5jeSB1c2luZwotICAgIGZ1bmN0aW9uIHNwbGl0X2RlcCgpIGFuZCBwcm9wZXIgcHJlcHJvY2Vzc29yIGNoZWNrIGlzIGdlbmVyYXRlZAotICAgIGFjY29yZGluZ2x5LgotCi0gICAgOnBhcmFtIGRlcGVuZGVuY2llczogTGlzdCBvZiBkZXBlbmRlbmNpZXMuCi0gICAgOnJldHVybjogaWYgZGVmaW5lZCBhbmQgZW5kaWYgY29kZSB3aXRoIG1hY3JvIGFubm90YXRpb25zIGZvcgotICAgICAgICAgICAgIHJlYWRhYmlsaXR5LgotICAgICIiIgotICAgIGRlcF9zdGFydCA9ICcnLmpvaW4oWycjaWYgJXNkZWZpbmVkKCVzKVxuJyAlICh4LCB5KSBmb3IgeCwgeSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChzcGxpdF9kZXAsIGRlcGVuZGVuY2llcyldKQotICAgIGRlcF9lbmQgPSAnJy5qb2luKFsnI2VuZGlmIC8qICVzICovXG4nICUKLSAgICAgICAgICAgICAgICAgICAgICAgeCBmb3IgeCBpbiByZXZlcnNlZChkZXBlbmRlbmNpZXMpXSkKLQotICAgIHJldHVybiBkZXBfc3RhcnQsIGRlcF9lbmQKLQotCi1kZWYgZ2VuX2RlcGVuZGVuY2llc19vbmVfbGluZShkZXBlbmRlbmNpZXMpOgotICAgICIiIgotICAgIFNpbWlsYXIgdG8gZ2VuX2RlcGVuZGVuY2llcygpIGJ1dCBnZW5lcmF0ZXMgZGVwZW5kZW5jeSBjaGVja3MgaW4gb25lIGxpbmUuCi0gICAgVXNlZnVsIGZvciBnZW5lcmF0aW5nIGNvZGUgd2l0aCAjZWxzZSBibG9jay4KLQotICAgIDpwYXJhbSBkZXBlbmRlbmNpZXM6IExpc3Qgb2YgZGVwZW5kZW5jaWVzLgotICAgIDpyZXR1cm46IFByZXByb2Nlc3NvciBjaGVjayBjb2RlCi0gICAgIiIiCi0gICAgZGVmaW5lcyA9ICcjaWYgJyBpZiBkZXBlbmRlbmNpZXMgZWxzZSAnJwotICAgIGRlZmluZXMgKz0gJyAmJiAnLmpvaW4oWyclc2RlZmluZWQoJXMpJyAlICh4LCB5KSBmb3IgeCwgeSBpbiBtYXAoCi0gICAgICAgIHNwbGl0X2RlcCwgZGVwZW5kZW5jaWVzKV0pCi0gICAgcmV0dXJuIGRlZmluZXMKLQotCi1kZWYgZ2VuX2Z1bmN0aW9uX3dyYXBwZXIobmFtZSwgbG9jYWxfdmFycywgYXJnc19kaXNwYXRjaCk6Ci0gICAgIiIiCi0gICAgQ3JlYXRlcyB0ZXN0IGZ1bmN0aW9uIHdyYXBwZXIgY29kZS4gQSB3cmFwcGVyIGhhcyB0aGUgY29kZSB0bwotICAgIHVucGFjayBwYXJhbWV0ZXJzIGZyb20gcGFyYW1ldGVyc1tdIGFycmF5LgotCi0gICAgOnBhcmFtIG5hbWU6IFRlc3QgZnVuY3Rpb24gbmFtZQotICAgIDpwYXJhbSBsb2NhbF92YXJzOiBMb2NhbCB2YXJpYWJsZXMgZGVjbGFyYXRpb24gY29kZQotICAgIDpwYXJhbSBhcmdzX2Rpc3BhdGNoOiBMaXN0IG9mIGRpc3BhdGNoIGFyZ3VtZW50cy4KLSAgICAgICAgICAgRXg6IFsnKGNoYXIgKikgcGFyYW1zWzBdJywgJyooKGludCAqKSBwYXJhbXNbMV0pJ10KLSAgICA6cmV0dXJuOiBUZXN0IGZ1bmN0aW9uIHdyYXBwZXIuCi0gICAgIiIiCi0gICAgIyBUaGVuIGNyZWF0ZSB0aGUgd3JhcHBlcgotICAgIHdyYXBwZXIgPSAnJycKLXZvaWQge25hbWV9X3dyYXBwZXIoIHZvaWQgKiogcGFyYW1zICkKLXt7Ci17dW51c2VkX3BhcmFtc317bG9jYWxzfQotICAgIHtuYW1lfSgge2FyZ3N9ICk7Ci19fQotJycnLmZvcm1hdChuYW1lPW5hbWUsCi0gICAgICAgICAgIHVudXNlZF9wYXJhbXM9JycgaWYgYXJnc19kaXNwYXRjaCBlbHNlICcgICAgKHZvaWQpcGFyYW1zO1xuJywKLSAgICAgICAgICAgYXJncz0nLCAnLmpvaW4oYXJnc19kaXNwYXRjaCksCi0gICAgICAgICAgIGxvY2Fscz1sb2NhbF92YXJzKQotICAgIHJldHVybiB3cmFwcGVyCi0KLQotZGVmIGdlbl9kaXNwYXRjaChuYW1lLCBkZXBlbmRlbmNpZXMpOgotICAgICIiIgotICAgIFRlc3Qgc3VpdGUgY29kZSB0ZW1wbGF0ZSBtYWluX3Rlc3QuZnVuY3Rpb24gZGVmaW5lcyBhIEMgZnVuY3Rpb24KLSAgICBhcnJheSB0byBjb250YWluIHRlc3QgY2FzZSBmdW5jdGlvbnMuIFRoaXMgZnVuY3Rpb24gZ2VuZXJhdGVzIGFuCi0gICAgaW5pdGlhbGl6ZXIgZW50cnkgZm9yIGEgZnVuY3Rpb24gaW4gdGhhdCBhcnJheS4gVGhlIGVudHJ5IGlzCi0gICAgY29tcG9zZWQgb2YgYSBjb21waWxlIHRpbWUgY2hlY2sgZm9yIHRoZSB0ZXN0IGZ1bmN0aW9uCi0gICAgZGVwZW5kZW5jaWVzLiBBdCBjb21waWxlIHRpbWUgdGhlIHRlc3QgZnVuY3Rpb24gaXMgYXNzaWduZWQgd2hlbgotICAgIGRlcGVuZGVuY2llcyBhcmUgbWV0LCBlbHNlIE5VTEwgaXMgYXNzaWduZWQuCi0KLSAgICA6cGFyYW0gbmFtZTogVGVzdCBmdW5jdGlvbiBuYW1lCi0gICAgOnBhcmFtIGRlcGVuZGVuY2llczogTGlzdCBvZiBkZXBlbmRlbmNpZXMKLSAgICA6cmV0dXJuOiBEaXNwYXRjaCBjb2RlLgotICAgICIiIgotICAgIGlmIGRlcGVuZGVuY2llczoKLSAgICAgICAgcHJlcHJvY2Vzc29yX2NoZWNrID0gZ2VuX2RlcGVuZGVuY2llc19vbmVfbGluZShkZXBlbmRlbmNpZXMpCi0gICAgICAgIGRpc3BhdGNoX2NvZGUgPSAnJycKLXtwcmVwcm9jZXNzb3JfY2hlY2t9Ci0gICAge25hbWV9X3dyYXBwZXIsCi0jZWxzZQotICAgIE5VTEwsCi0jZW5kaWYKLScnJy5mb3JtYXQocHJlcHJvY2Vzc29yX2NoZWNrPXByZXByb2Nlc3Nvcl9jaGVjaywgbmFtZT1uYW1lKQotICAgIGVsc2U6Ci0gICAgICAgIGRpc3BhdGNoX2NvZGUgPSAnJycKLSAgICB7bmFtZX1fd3JhcHBlciwKLScnJy5mb3JtYXQobmFtZT1uYW1lKQotCi0gICAgcmV0dXJuIGRpc3BhdGNoX2NvZGUKLQotCi1kZWYgcGFyc2VfdW50aWxfcGF0dGVybihmdW5jc19mLCBlbmRfcmVnZXgpOgotICAgICIiIgotICAgIE1hdGNoZXMgcGF0dGVybiBlbmRfcmVnZXggdG8gdGhlIGxpbmVzIHJlYWQgZnJvbSB0aGUgZmlsZSBvYmplY3QuCi0gICAgUmV0dXJucyB0aGUgbGluZXMgcmVhZCB1bnRpbCBlbmQgcGF0dGVybiBpcyBtYXRjaGVkLgotCi0gICAgOnBhcmFtIGZ1bmNzX2Y6IGZpbGUgb2JqZWN0IGZvciAuZnVuY3Rpb24gZmlsZQotICAgIDpwYXJhbSBlbmRfcmVnZXg6IFBhdHRlcm4gdG8gc3RvcCBwYXJzaW5nCi0gICAgOnJldHVybjogTGluZXMgcmVhZCBiZWZvcmUgdGhlIGVuZCBwYXR0ZXJuCi0gICAgIiIiCi0gICAgaGVhZGVycyA9ICcjbGluZSAlZCAiJXMiXG4nICUgKGZ1bmNzX2YubGluZV9ubyArIDEsIGZ1bmNzX2YubmFtZSkKLSAgICBmb3IgbGluZSBpbiBmdW5jc19mOgotICAgICAgICBpZiByZS5zZWFyY2goZW5kX3JlZ2V4LCBsaW5lKToKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGhlYWRlcnMgKz0gbGluZQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIEdlbmVyYXRvcklucHV0RXJyb3IoImZpbGU6ICVzIC0gZW5kIHBhdHRlcm4gWyVzXSBub3QgZm91bmQhIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNzX2YubmFtZSwgZW5kX3JlZ2V4KSkKLQotICAgIHJldHVybiBoZWFkZXJzCi0KLQotZGVmIHZhbGlkYXRlX2RlcGVuZGVuY3koZGVwZW5kZW5jeSk6Ci0gICAgIiIiCi0gICAgVmFsaWRhdGVzIGEgQyBtYWNybyBhbmQgcmFpc2VzIEdlbmVyYXRvcklucHV0RXJyb3Igb24gaW52YWxpZCBpbnB1dC4KLSAgICA6cGFyYW0gZGVwZW5kZW5jeTogSW5wdXQgbWFjcm8gZGVwZW5kZW5jeQotICAgIDpyZXR1cm46IGlucHV0IGRlcGVuZGVuY3kgc3RyaXBwZWQgb2YgbGVhZGluZyAmIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4KLSAgICAiIiIKLSAgICBkZXBlbmRlbmN5ID0gZGVwZW5kZW5jeS5zdHJpcCgpCi0gICAgaWYgbm90IHJlLm1hdGNoKENPTkRJVElPTl9SRUdFWCwgZGVwZW5kZW5jeSwgcmUuSSk6Ci0gICAgICAgIHJhaXNlIEdlbmVyYXRvcklucHV0RXJyb3IoJ0ludmFsaWQgZGVwZW5kZW5jeSAlcycgJSBkZXBlbmRlbmN5KQotICAgIHJldHVybiBkZXBlbmRlbmN5Ci0KLQotZGVmIHBhcnNlX2RlcGVuZGVuY2llcyhpbnBfc3RyKToKLSAgICAiIiIKLSAgICBQYXJzZXMgZGVwZW5kZW5jaWVzIG91dCBvZiBpbnBfc3RyLCB2YWxpZGF0ZXMgdGhlbSBhbmQgcmV0dXJucyBhCi0gICAgbGlzdCBvZiBtYWNyb3MuCi0KLSAgICA6cGFyYW0gaW5wX3N0cjogSW5wdXQgc3RyaW5nIHdpdGggbWFjcm9zIGRlbGltaXRlZCBieSAnOicuCi0gICAgOnJldHVybjogbGlzdCBvZiBkZXBlbmRlbmNpZXMKLSAgICAiIiIKLSAgICBkZXBlbmRlbmNpZXMgPSBsaXN0KG1hcCh2YWxpZGF0ZV9kZXBlbmRlbmN5LCBpbnBfc3RyLnNwbGl0KCc6JykpKQotICAgIHJldHVybiBkZXBlbmRlbmNpZXMKLQotCi1kZWYgcGFyc2Vfc3VpdGVfZGVwZW5kZW5jaWVzKGZ1bmNzX2YpOgotICAgICIiIgotICAgIFBhcnNlcyB0ZXN0IHN1aXRlIGRlcGVuZGVuY2llcyBzcGVjaWZpZWQgYXQgdGhlIHRvcCBvZiBhCi0gICAgLmZ1bmN0aW9uIGZpbGUsIHRoYXQgc3RhcnRzIHdpdGggcGF0dGVybiBCRUdJTl9ERVBFTkRFTkNJRVMKLSAgICBhbmQgZW5kIHdpdGggRU5EX0RFUEVOREVOQ0lFUy4gRGVwZW5kZW5jaWVzIGFyZSBzcGVjaWZpZWQKLSAgICBhZnRlciBwYXR0ZXJuICdkZXBlbmRzX29uOicgYW5kIGFyZSBkZWxpbWl0ZWQgYnkgJzonLgotCi0gICAgOnBhcmFtIGZ1bmNzX2Y6IGZpbGUgb2JqZWN0IGZvciAuZnVuY3Rpb24gZmlsZQotICAgIDpyZXR1cm46IExpc3Qgb2YgdGVzdCBzdWl0ZSBkZXBlbmRlbmNpZXMuCi0gICAgIiIiCi0gICAgZGVwZW5kZW5jaWVzID0gW10KLSAgICBmb3IgbGluZSBpbiBmdW5jc19mOgotICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChERVBFTkRFTkNZX1JFR0VYLCBsaW5lLnN0cmlwKCkpCi0gICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA9IHBhcnNlX2RlcGVuZGVuY2llcyhtYXRjaC5ncm91cCgnZGVwZW5kZW5jaWVzJykpCi0gICAgICAgICAgICBleGNlcHQgR2VuZXJhdG9ySW5wdXRFcnJvciBhcyBlcnJvcjoKLSAgICAgICAgICAgICAgICByYWlzZSBHZW5lcmF0b3JJbnB1dEVycm9yKAotICAgICAgICAgICAgICAgICAgICBzdHIoZXJyb3IpICsgIiAtICVzOiVkIiAlIChmdW5jc19mLm5hbWUsIGZ1bmNzX2YubGluZV9ubykpCi0gICAgICAgIGlmIHJlLnNlYXJjaChFTkRfREVQX1JFR0VYLCBsaW5lKToKLSAgICAgICAgICAgIGJyZWFrCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgR2VuZXJhdG9ySW5wdXRFcnJvcigiZmlsZTogJXMgLSBlbmQgZGVwZW5kZW5jeSBwYXR0ZXJuIFslc10iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBub3QgZm91bmQhIiAlIChmdW5jc19mLm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTkRfREVQX1JFR0VYKSkKLQotICAgIHJldHVybiBkZXBlbmRlbmNpZXMKLQotCi1kZWYgcGFyc2VfZnVuY3Rpb25fZGVwZW5kZW5jaWVzKGxpbmUpOgotICAgICIiIgotICAgIFBhcnNlcyBmdW5jdGlvbiBkZXBlbmRlbmNpZXMsIHRoYXQgYXJlIGluIHRoZSBzYW1lIGxpbmUgYXMKLSAgICBjb21tZW50IEJFR0lOX0NBU0UuIERlcGVuZGVuY2llcyBhcmUgc3BlY2lmaWVkIGFmdGVyIHBhdHRlcm4KLSAgICAnZGVwZW5kc19vbjonIGFuZCBhcmUgZGVsaW1pdGVkIGJ5ICc6Jy4KLQotICAgIDpwYXJhbSBsaW5lOiBMaW5lIGZyb20gLmZ1bmN0aW9uIGZpbGUgdGhhdCBoYXMgZGVwZW5kZW5jaWVzLgotICAgIDpyZXR1cm46IExpc3Qgb2YgZGVwZW5kZW5jaWVzLgotICAgICIiIgotICAgIGRlcGVuZGVuY2llcyA9IFtdCi0gICAgbWF0Y2ggPSByZS5zZWFyY2goQkVHSU5fQ0FTRV9SRUdFWCwgbGluZSkKLSAgICBkZXBfc3RyID0gbWF0Y2guZ3JvdXAoJ2RlcGVuZHNfb24nKQotICAgIGlmIGRlcF9zdHI6Ci0gICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKERFUEVOREVOQ1lfUkVHRVgsIGRlcF9zdHIpCi0gICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgZGVwZW5kZW5jaWVzICs9IHBhcnNlX2RlcGVuZGVuY2llcyhtYXRjaC5ncm91cCgnZGVwZW5kZW5jaWVzJykpCi0KLSAgICByZXR1cm4gZGVwZW5kZW5jaWVzCi0KLQotQVJHVU1FTlRfREVDTEFSQVRJT05fUkVHRVggPSByZS5jb21waWxlKHInKC4rPykgPyg/OlxiY29uc3RcYik/ID8oXHcrKVxaJywgcmUuUykKLWRlZiBwYXJzZV9mdW5jdGlvbl9hcmd1bWVudChhcmcsIGFyZ19pZHgsIGFyZ3MsIGxvY2FsX3ZhcnMsIGFyZ3NfZGlzcGF0Y2gpOgotICAgICIiIgotICAgIFBhcnNlcyBvbmUgdGVzdCBmdW5jdGlvbidzIGFyZ3VtZW50IGRlY2xhcmF0aW9uLgotCi0gICAgOnBhcmFtIGFyZzogYXJndW1lbnQgZGVjbGFyYXRpb24uCi0gICAgOnBhcmFtIGFyZ19pZHg6IGN1cnJlbnQgd3JhcHBlciBhcmd1bWVudCBpbmRleC4KLSAgICA6cGFyYW0gYXJnczogYWNjdW11bGF0b3Igb2YgYXJndW1lbnRzJyBpbnRlcm5hbCB0eXBlcy4KLSAgICA6cGFyYW0gbG9jYWxfdmFyczogYWNjdW11bGF0b3Igb2YgaW50ZXJuYWwgdmFyaWFibGUgZGVjbGFyYXRpb25zLgotICAgIDpwYXJhbSBhcmdzX2Rpc3BhdGNoOiBhY2N1bXVsYXRvciBvZiBhcmd1bWVudCB1c2FnZSBleHByZXNzaW9ucy4KLSAgICA6cmV0dXJuOiB0aGUgbnVtYmVyIG9mIG5ldyB3cmFwcGVyIGFyZ3VtZW50cywKLSAgICAgICAgICAgICBvciBOb25lIGlmIHRoZSBhcmd1bWVudCBkZWNsYXJhdGlvbiBpcyBpbnZhbGlkLgotICAgICIiIgotICAgICMgTm9ybWFsaXplIHdoaXRlc3BhY2UKLSAgICBhcmcgPSBhcmcuc3RyaXAoKQotICAgIGFyZyA9IHJlLnN1YihyJ1xzKlwqXHMqJywgcicqJywgYXJnKQotICAgIGFyZyA9IHJlLnN1YihyJ1xzKycsIHInICcsIGFyZykKLSAgICAjIEV4dHJhY3QgbmFtZSBhbmQgdHlwZQotICAgIG0gPSBBUkdVTUVOVF9ERUNMQVJBVElPTl9SRUdFWC5zZWFyY2goYXJnKQotICAgIGlmIG5vdCBtOgotICAgICAgICAjIEUuZy4gImludCB4WzQyXSIKLSAgICAgICAgcmV0dXJuIE5vbmUKLSAgICB0eXAsIF8gPSBtLmdyb3VwcygpCi0gICAgaWYgdHlwIGluIFNJR05FRF9JTlRFR0VSX1RZUEVTOgotICAgICAgICBhcmdzLmFwcGVuZCgnaW50JykKLSAgICAgICAgYXJnc19kaXNwYXRjaC5hcHBlbmQoJygobWJlZHRsc190ZXN0X2FyZ3VtZW50X3QgKikgcGFyYW1zWyVkXSktPnNpbnQnICUgYXJnX2lkeCkKLSAgICAgICAgcmV0dXJuIDEKLSAgICBpZiB0eXAgaW4gU1RSSU5HX1RZUEVTOgotICAgICAgICBhcmdzLmFwcGVuZCgnY2hhcionKQotICAgICAgICBhcmdzX2Rpc3BhdGNoLmFwcGVuZCgnKGNoYXIgKikgcGFyYW1zWyVkXScgJSBhcmdfaWR4KQotICAgICAgICByZXR1cm4gMQotICAgIGlmIHR5cCBpbiBEQVRBX1RZUEVTOgotICAgICAgICBhcmdzLmFwcGVuZCgnaGV4JykKLSAgICAgICAgIyBjcmVhdGUgYSBzdHJ1Y3R1cmUKLSAgICAgICAgcG9pbnRlcl9pbml0aWFsaXplciA9ICcodWludDhfdCAqKSBwYXJhbXNbJWRdJyAlIGFyZ19pZHgKLSAgICAgICAgbGVuX2luaXRpYWxpemVyID0gJygobWJlZHRsc190ZXN0X2FyZ3VtZW50X3QgKikgcGFyYW1zWyVkXSktPmxlbicgJSAoYXJnX2lkeCsxKQotICAgICAgICBsb2NhbF92YXJzLmFwcGVuZCgnICAgIGRhdGFfdCBkYXRhJWQgPSB7JXMsICVzfTtcbicgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAoYXJnX2lkeCwgcG9pbnRlcl9pbml0aWFsaXplciwgbGVuX2luaXRpYWxpemVyKSkKLSAgICAgICAgYXJnc19kaXNwYXRjaC5hcHBlbmQoJyZkYXRhJWQnICUgYXJnX2lkeCkKLSAgICAgICAgcmV0dXJuIDIKLSAgICByZXR1cm4gTm9uZQotCi1BUkdVTUVOVF9MSVNUX1JFR0VYID0gcmUuY29tcGlsZShyJ1woKC4qPylcKScsIHJlLlMpCi1kZWYgcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzKGxpbmUpOgotICAgICIiIgotICAgIFBhcnNlcyB0ZXN0IGZ1bmN0aW9uIHNpZ25hdHVyZSBmb3IgdmFsaWRhdGlvbiBhbmQgZ2VuZXJhdGVzCi0gICAgYSBkaXNwYXRjaCB3cmFwcGVyIGZ1bmN0aW9uIHRoYXQgdHJhbnNsYXRlcyBpbnB1dCB0ZXN0IHZlY3RvcnMKLSAgICByZWFkIGZyb20gdGhlIGRhdGEgZmlsZSBpbnRvIHRlc3QgZnVuY3Rpb24gYXJndW1lbnRzLgotCi0gICAgOnBhcmFtIGxpbmU6IExpbmUgZnJvbSAuZnVuY3Rpb24gZmlsZSB0aGF0IGhhcyBhIGZ1bmN0aW9uCi0gICAgICAgICAgICAgICAgIHNpZ25hdHVyZS4KLSAgICA6cmV0dXJuOiBhcmd1bWVudCBsaXN0LCBsb2NhbCB2YXJpYWJsZXMgZm9yCi0gICAgICAgICAgICAgd3JhcHBlciBmdW5jdGlvbiBhbmQgYXJndW1lbnQgZGlzcGF0Y2ggY29kZS4KLSAgICAiIiIKLSAgICAjIFByb2Nlc3MgYXJndW1lbnRzLCBleDogPHR5cGU+IGFyZzEsIDx0eXBlPiBhcmcyICkKLSAgICAjIFRoaXMgc2NyaXB0IGFzc3VtZXMgdGhhdCB0aGUgYXJndW1lbnQgbGlzdCBpcyB0ZXJtaW5hdGVkIGJ5ICcpJwotICAgICMgaS5lLiB0aGUgdGVzdCBmdW5jdGlvbnMgd2lsbCBub3QgaGF2ZSBhIGZ1bmN0aW9uIHBvaW50ZXIKLSAgICAjIGFyZ3VtZW50LgotICAgIG0gPSBBUkdVTUVOVF9MSVNUX1JFR0VYLnNlYXJjaChsaW5lKQotICAgIGFyZ19saXN0ID0gbS5ncm91cCgxKS5zdHJpcCgpCi0gICAgaWYgYXJnX2xpc3QgaW4gWycnLCAndm9pZCddOgotICAgICAgICByZXR1cm4gW10sICcnLCBbXQotICAgIGFyZ3MgPSBbXQotICAgIGxvY2FsX3ZhcnMgPSBbXQotICAgIGFyZ3NfZGlzcGF0Y2ggPSBbXQotICAgIGFyZ19pZHggPSAwCi0gICAgZm9yIGFyZyBpbiBhcmdfbGlzdC5zcGxpdCgnLCcpOgotICAgICAgICBpbmRleGVzID0gcGFyc2VfZnVuY3Rpb25fYXJndW1lbnQoYXJnLCBhcmdfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncywgbG9jYWxfdmFycywgYXJnc19kaXNwYXRjaCkKLSAgICAgICAgaWYgaW5kZXhlcyBpcyBOb25lOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVGVzdCBmdW5jdGlvbiBhcmd1bWVudHMgY2FuIG9ubHkgYmUgJ2ludCcsICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIidjaGFyIConIG9yICdkYXRhX3QnXG4lcyIgJSBsaW5lKQotICAgICAgICBhcmdfaWR4ICs9IGluZGV4ZXMKLQotICAgIHJldHVybiBhcmdzLCAnJy5qb2luKGxvY2FsX3ZhcnMpLCBhcmdzX2Rpc3BhdGNoCi0KLQotZGVmIGdlbmVyYXRlX2Z1bmN0aW9uX2NvZGUobmFtZSwgY29kZSwgbG9jYWxfdmFycywgYXJnc19kaXNwYXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyk6Ci0gICAgIiIiCi0gICAgR2VuZXJhdGUgZnVuY3Rpb24gY29kZSB3aXRoIHByZXByb2Nlc3NvciBjaGVja3MgYW5kIHBhcmFtZXRlciBkaXNwYXRjaAotICAgIHdyYXBwZXIuCi0KLSAgICA6cGFyYW0gbmFtZTogRnVuY3Rpb24gbmFtZQotICAgIDpwYXJhbSBjb2RlOiBGdW5jdGlvbiBjb2RlCi0gICAgOnBhcmFtIGxvY2FsX3ZhcnM6IExvY2FsIHZhcmlhYmxlcyBmb3IgZnVuY3Rpb24gd3JhcHBlcgotICAgIDpwYXJhbSBhcmdzX2Rpc3BhdGNoOiBBcmd1bWVudCBkaXNwYXRjaCBjb2RlCi0gICAgOnBhcmFtIGRlcGVuZGVuY2llczogUHJlcHJvY2Vzc29yIGRlcGVuZGVuY2llcyBsaXN0Ci0gICAgOnJldHVybjogRmluYWwgZnVuY3Rpb24gY29kZQotICAgICIiIgotICAgICMgQWRkIGV4aXQgbGFiZWwgaWYgbm90IHByZXNlbnQKLSAgICBpZiBjb2RlLmZpbmQoJ2V4aXQ6JykgPT0gLTE6Ci0gICAgICAgIHNwbGl0X2NvZGUgPSBjb2RlLnJzcGxpdCgnfScsIDEpCi0gICAgICAgIGlmIGxlbihzcGxpdF9jb2RlKSA9PSAyOgotICAgICAgICAgICAgY29kZSA9ICIiImV4aXQ6Ci0gICAgOwotfSIiIi5qb2luKHNwbGl0X2NvZGUpCi0KLSAgICBjb2RlICs9IGdlbl9mdW5jdGlvbl93cmFwcGVyKG5hbWUsIGxvY2FsX3ZhcnMsIGFyZ3NfZGlzcGF0Y2gpCi0gICAgcHJlcHJvY2Vzc29yX2NoZWNrX3N0YXJ0LCBwcmVwcm9jZXNzb3JfY2hlY2tfZW5kID0gXAotICAgICAgICBnZW5fZGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcykKLSAgICByZXR1cm4gcHJlcHJvY2Vzc29yX2NoZWNrX3N0YXJ0ICsgY29kZSArIHByZXByb2Nlc3Nvcl9jaGVja19lbmQKLQotQ09NTUVOVF9TVEFSVF9SRUdFWCA9IHJlLmNvbXBpbGUocicvWyovXScpCi0KLWRlZiBza2lwX2NvbW1lbnRzKGxpbmUsIHN0cmVhbSk6Ci0gICAgIiIiUmVtb3ZlIGNvbW1lbnRzIGluIGxpbmUuCi0KLSAgICBJZiB0aGUgbGluZSBjb250YWlucyBhbiB1bmZpbmlzaGVkIGNvbW1lbnQsIHJlYWQgbW9yZSBsaW5lcyBmcm9tIHN0cmVhbQotICAgIHVudGlsIHRoZSBsaW5lIHRoYXQgY29udGFpbnMgdGhlIGNvbW1lbnQuCi0KLSAgICA6cmV0dXJuOiBUaGUgb3JpZ2luYWwgbGluZSB3aXRoIGlubmVyIGNvbW1lbnRzIHJlcGxhY2VkIGJ5IHNwYWNlcy4KLSAgICAgICAgICAgICBUcmFpbGluZyBjb21tZW50cyBhbmQgd2hpdGVzcGFjZSBtYXkgYmUgcmVtb3ZlZCBjb21wbGV0ZWx5LgotICAgICIiIgotICAgIHBvcyA9IDAKLSAgICB3aGlsZSBUcnVlOgotICAgICAgICBvcGVuaW5nID0gQ09NTUVOVF9TVEFSVF9SRUdFWC5zZWFyY2gobGluZSwgcG9zKQotICAgICAgICBpZiBub3Qgb3BlbmluZzoKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGlmIGxpbmVbb3BlbmluZy5zdGFydCgwKSArIDFdID09ICcvJzogIyAvLy4uLgotICAgICAgICAgICAgY29udGludWF0aW9uID0gbGluZQotICAgICAgICAgICAgIyBDb3VudCB0aGUgbnVtYmVyIG9mIGxpbmUgYnJlYWtzLCB0byBrZWVwIGxpbmUgbnVtYmVycyBhbGlnbmVkCi0gICAgICAgICAgICAjIGluIHRoZSBvdXRwdXQuCi0gICAgICAgICAgICBsaW5lX2NvdW50ID0gMQotICAgICAgICAgICAgd2hpbGUgY29udGludWF0aW9uLmVuZHN3aXRoKCdcXFxuJyk6Ci0gICAgICAgICAgICAgICAgIyBUaGlzIGVycm9ycyBvdXQgaWYgdGhlIGZpbGUgZW5kcyB3aXRoIGFuIHVuZmluaXNoZWQgbGluZQotICAgICAgICAgICAgICAgICMgY29tbWVudC4gVGhhdCdzIGFjY2VwdGFibGUgdG8gbm90IGNvbXBsaWNhdGUgdGhlIGNvZGUgZnVydGhlci4KLSAgICAgICAgICAgICAgICBjb250aW51YXRpb24gPSBuZXh0KHN0cmVhbSkKLSAgICAgICAgICAgICAgICBsaW5lX2NvdW50ICs9IDEKLSAgICAgICAgICAgIHJldHVybiBsaW5lWzpvcGVuaW5nLnN0YXJ0KDApXS5yc3RyaXAoKSArICdcbicgKiBsaW5lX2NvdW50Ci0gICAgICAgICMgUGFyc2luZyAvKi4uLiovLCBsb29raW5nIGZvciB0aGUgZW5kCi0gICAgICAgIGNsb3NpbmcgPSBsaW5lLmZpbmQoJyovJywgb3BlbmluZy5lbmQoMCkpCi0gICAgICAgIHdoaWxlIGNsb3NpbmcgPT0gLTE6Ci0gICAgICAgICAgICAjIFRoaXMgZXJyb3JzIG91dCBpZiB0aGUgZmlsZSBlbmRzIHdpdGggYW4gdW5maW5pc2hlZCBibG9jawotICAgICAgICAgICAgIyBjb21tZW50LiBUaGF0J3MgYWNjZXB0YWJsZSB0byBub3QgY29tcGxpY2F0ZSB0aGUgY29kZSBmdXJ0aGVyLgotICAgICAgICAgICAgbGluZSArPSBuZXh0KHN0cmVhbSkKLSAgICAgICAgICAgIGNsb3NpbmcgPSBsaW5lLmZpbmQoJyovJywgb3BlbmluZy5lbmQoMCkpCi0gICAgICAgIHBvcyA9IGNsb3NpbmcgKyAyCi0gICAgICAgICMgUmVwbGFjZSBpbm5lciBjb21tZW50IGJ5IHNwYWNlcy4gVGhlcmUgbmVlZHMgdG8gYmUgYXQgbGVhc3Qgb25lIHNwYWNlCi0gICAgICAgICMgZm9yIHRoaW5ncyBsaWtlICdpbnQvKmloYXRlc3BhY2VzKi9mb28nLiBHbyBmdXJ0aGVyIGFuZCBwcmVzZXJ2ZSB0aGUKLSAgICAgICAgIyB3aWR0aCBvZiB0aGUgY29tbWVudCBhbmQgbGluZSBicmVha3MsIHRoaXMgd2F5IHBvc2l0aW9ucyBpbiBlcnJvcgotICAgICAgICAjIG1lc3NhZ2VzIHJlbWFpbiBjb3JyZWN0LgotICAgICAgICBsaW5lID0gKGxpbmVbOm9wZW5pbmcuc3RhcnQoMCldICsKLSAgICAgICAgICAgICAgICByZS5zdWIocicuJywgcicgJywgbGluZVtvcGVuaW5nLnN0YXJ0KDApOnBvc10pICsKLSAgICAgICAgICAgICAgICBsaW5lW3BvczpdKQotICAgICMgU3RyaXAgd2hpdGVzcGFjZSBhdCB0aGUgZW5kIG9mIGxpbmVzIChpdCdzIGlycmVsZXZhbnQgdG8gZXJyb3IgbWVzc2FnZXMpLgotICAgIHJldHVybiByZS5zdWIocicgKyhcbnxcWiknLCByJ1wxJywgbGluZSkKLQotZGVmIHBhcnNlX2Z1bmN0aW9uX2NvZGUoZnVuY3NfZiwgZGVwZW5kZW5jaWVzLCBzdWl0ZV9kZXBlbmRlbmNpZXMpOgotICAgICIiIgotICAgIFBhcnNlcyBvdXQgYSBmdW5jdGlvbiBmcm9tIGZ1bmN0aW9uIGZpbGUgb2JqZWN0IGFuZCBnZW5lcmF0ZXMKLSAgICBmdW5jdGlvbiBhbmQgZGlzcGF0Y2ggY29kZS4KLQotICAgIDpwYXJhbSBmdW5jc19mOiBmaWxlIG9iamVjdCBvZiB0aGUgZnVuY3Rpb25zIGZpbGUuCi0gICAgOnBhcmFtIGRlcGVuZGVuY2llczogTGlzdCBvZiBkZXBlbmRlbmNpZXMKLSAgICA6cGFyYW0gc3VpdGVfZGVwZW5kZW5jaWVzOiBMaXN0IG9mIHRlc3Qgc3VpdGUgZGVwZW5kZW5jaWVzCi0gICAgOnJldHVybjogRnVuY3Rpb24gbmFtZSwgYXJndW1lbnRzLCBmdW5jdGlvbiBjb2RlIGFuZCBkaXNwYXRjaCBjb2RlLgotICAgICIiIgotICAgIGxpbmVfZGlyZWN0aXZlID0gJyNsaW5lICVkICIlcyJcbicgJSAoZnVuY3NfZi5saW5lX25vICsgMSwgZnVuY3NfZi5uYW1lKQotICAgIGNvZGUgPSAnJwotICAgIGhhc19leGl0X2xhYmVsID0gRmFsc2UKLSAgICBmb3IgbGluZSBpbiBmdW5jc19mOgotICAgICAgICAjIENoZWNrIGZ1bmN0aW9uIHNpZ25hdHVyZS4gRnVuY3Rpb24gc2lnbmF0dXJlIG1heSBiZSBzcGxpdAotICAgICAgICAjIGFjcm9zcyBtdWx0aXBsZSBsaW5lcy4gSGVyZSB3ZSB0cnkgdG8gZmluZCB0aGUgc3RhcnQgb2YKLSAgICAgICAgIyBhcmd1bWVudHMgbGlzdCwgdGhlbiByZW1vdmUgJ1xuJ3MgYW5kIGFwcGx5IHRoZSByZWdleCB0bwotICAgICAgICAjIGRldGVjdCBmdW5jdGlvbiBzdGFydC4KLSAgICAgICAgbGluZSA9IHNraXBfY29tbWVudHMobGluZSwgZnVuY3NfZikKLSAgICAgICAgdXBfdG9fYXJnX2xpc3Rfc3RhcnQgPSBjb2RlICsgbGluZVs6bGluZS5maW5kKCcoJykgKyAxXQotICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKFRFU1RfRlVOQ1RJT05fVkFMSURBVElPTl9SRUdFWCwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1cF90b19hcmdfbGlzdF9zdGFydC5yZXBsYWNlKCdcbicsICcgJyksIHJlLkkpCi0gICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgIyBjaGVjayBpZiB3ZSBoYXZlIGZ1bGwgc2lnbmF0dXJlIGkuZS4gc3BsaXQgaW4gbW9yZSBsaW5lcwotICAgICAgICAgICAgbmFtZSA9IG1hdGNoLmdyb3VwKCdmdW5jX25hbWUnKQotICAgICAgICAgICAgaWYgbm90IHJlLm1hdGNoKEZVTkNUSU9OX0FSR19MSVNUX0VORF9SRUdFWCwgbGluZSk6Ci0gICAgICAgICAgICAgICAgZm9yIGxpbiBpbiBmdW5jc19mOgotICAgICAgICAgICAgICAgICAgICBsaW5lICs9IHNraXBfY29tbWVudHMobGluLCBmdW5jc19mKQotICAgICAgICAgICAgICAgICAgICBpZiByZS5zZWFyY2goRlVOQ1RJT05fQVJHX0xJU1RfRU5EX1JFR0VYLCBsaW5lKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBhcmdzLCBsb2NhbF92YXJzLCBhcmdzX2Rpc3BhdGNoID0gcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzKAotICAgICAgICAgICAgICAgIGxpbmUpCi0gICAgICAgICAgICBjb2RlICs9IGxpbmUKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGNvZGUgKz0gbGluZQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIEdlbmVyYXRvcklucHV0RXJyb3IoImZpbGU6ICVzIC0gVGVzdCBmdW5jdGlvbnMgbm90IGZvdW5kISIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmNzX2YubmFtZSkKLQotICAgICMgUHJlZml4IHRlc3QgZnVuY3Rpb24gbmFtZSB3aXRoICd0ZXN0XycKLSAgICBjb2RlID0gY29kZS5yZXBsYWNlKG5hbWUsICd0ZXN0XycgKyBuYW1lLCAxKQotICAgIG5hbWUgPSAndGVzdF8nICsgbmFtZQotCi0gICAgIyBJZiBhIHRlc3QgZnVuY3Rpb24gaGFzIG5vIGFyZ3VtZW50cyB0aGVuIGFkZCAndm9pZCcgYXJndW1lbnQgdG8KLSAgICAjIGF2b2lkICItV3N0cmljdC1wcm90b3R5cGVzIiB3YXJuaW5ncyBmcm9tIGNsYW5nCi0gICAgaWYgbGVuKGFyZ3MpID09IDA6Ci0gICAgICAgIGNvZGUgPSBjb2RlLnJlcGxhY2UoJygpJywgJyh2b2lkKScsIDEpCi0KLSAgICBmb3IgbGluZSBpbiBmdW5jc19mOgotICAgICAgICBpZiByZS5zZWFyY2goRU5EX0NBU0VfUkVHRVgsIGxpbmUpOgotICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgaWYgbm90IGhhc19leGl0X2xhYmVsOgotICAgICAgICAgICAgaGFzX2V4aXRfbGFiZWwgPSBcCi0gICAgICAgICAgICAgICAgcmUuc2VhcmNoKEVYSVRfTEFCRUxfUkVHRVgsIGxpbmUuc3RyaXAoKSkgaXMgbm90IE5vbmUKLSAgICAgICAgY29kZSArPSBsaW5lCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgR2VuZXJhdG9ySW5wdXRFcnJvcigiZmlsZTogJXMgLSBlbmQgY2FzZSBwYXR0ZXJuIFslc10gbm90ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91bmQhIiAlIChmdW5jc19mLm5hbWUsIEVORF9DQVNFX1JFR0VYKSkKLQotICAgIGNvZGUgPSBsaW5lX2RpcmVjdGl2ZSArIGNvZGUKLSAgICBjb2RlID0gZ2VuZXJhdGVfZnVuY3Rpb25fY29kZShuYW1lLCBjb2RlLCBsb2NhbF92YXJzLCBhcmdzX2Rpc3BhdGNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcykKLSAgICBkaXNwYXRjaF9jb2RlID0gZ2VuX2Rpc3BhdGNoKG5hbWUsIHN1aXRlX2RlcGVuZGVuY2llcyArIGRlcGVuZGVuY2llcykKLSAgICByZXR1cm4gKG5hbWUsIGFyZ3MsIGNvZGUsIGRpc3BhdGNoX2NvZGUpCi0KLQotZGVmIHBhcnNlX2Z1bmN0aW9ucyhmdW5jc19mKToKLSAgICAiIiIKLSAgICBQYXJzZXMgYSB0ZXN0X3N1aXRlX3h4eC5mdW5jdGlvbiBmaWxlIGFuZCByZXR1cm5zIGluZm9ybWF0aW9uCi0gICAgZm9yIGdlbmVyYXRpbmcgYSBDIHNvdXJjZSBmaWxlIGZvciB0aGUgdGVzdCBzdWl0ZS4KLQotICAgIDpwYXJhbSBmdW5jc19mOiBmaWxlIG9iamVjdCBvZiB0aGUgZnVuY3Rpb25zIGZpbGUuCi0gICAgOnJldHVybjogTGlzdCBvZiB0ZXN0IHN1aXRlIGRlcGVuZGVuY2llcywgdGVzdCBmdW5jdGlvbiBkaXNwYXRjaAotICAgICAgICAgICAgIGNvZGUsIGZ1bmN0aW9uIGNvZGUgYW5kIGEgZGljdCB3aXRoIGZ1bmN0aW9uIGlkZW50aWZpZXJzCi0gICAgICAgICAgICAgYW5kIGFyZ3VtZW50cyBpbmZvLgotICAgICIiIgotICAgIHN1aXRlX2hlbHBlcnMgPSAnJwotICAgIHN1aXRlX2RlcGVuZGVuY2llcyA9IFtdCi0gICAgc3VpdGVfZnVuY3Rpb25zID0gJycKLSAgICBmdW5jX2luZm8gPSB7fQotICAgIGZ1bmN0aW9uX2lkeCA9IDAKLSAgICBkaXNwYXRjaF9jb2RlID0gJycKLSAgICBmb3IgbGluZSBpbiBmdW5jc19mOgotICAgICAgICBpZiByZS5zZWFyY2goQkVHSU5fSEVBREVSX1JFR0VYLCBsaW5lKToKLSAgICAgICAgICAgIHN1aXRlX2hlbHBlcnMgKz0gcGFyc2VfdW50aWxfcGF0dGVybihmdW5jc19mLCBFTkRfSEVBREVSX1JFR0VYKQotICAgICAgICBlbGlmIHJlLnNlYXJjaChCRUdJTl9TVUlURV9IRUxQRVJTX1JFR0VYLCBsaW5lKToKLSAgICAgICAgICAgIHN1aXRlX2hlbHBlcnMgKz0gcGFyc2VfdW50aWxfcGF0dGVybihmdW5jc19mLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVORF9TVUlURV9IRUxQRVJTX1JFR0VYKQotICAgICAgICBlbGlmIHJlLnNlYXJjaChCRUdJTl9ERVBfUkVHRVgsIGxpbmUpOgotICAgICAgICAgICAgc3VpdGVfZGVwZW5kZW5jaWVzICs9IHBhcnNlX3N1aXRlX2RlcGVuZGVuY2llcyhmdW5jc19mKQotICAgICAgICBlbGlmIHJlLnNlYXJjaChCRUdJTl9DQVNFX1JFR0VYLCBsaW5lKToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgPSBwYXJzZV9mdW5jdGlvbl9kZXBlbmRlbmNpZXMobGluZSkKLSAgICAgICAgICAgIGV4Y2VwdCBHZW5lcmF0b3JJbnB1dEVycm9yIGFzIGVycm9yOgotICAgICAgICAgICAgICAgIHJhaXNlIEdlbmVyYXRvcklucHV0RXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICIlczolZDogJXMiICUgKGZ1bmNzX2YubmFtZSwgZnVuY3NfZi5saW5lX25vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoZXJyb3IpKSkKLSAgICAgICAgICAgIGZ1bmNfbmFtZSwgYXJncywgZnVuY19jb2RlLCBmdW5jX2Rpc3BhdGNoID1cCi0gICAgICAgICAgICAgICAgcGFyc2VfZnVuY3Rpb25fY29kZShmdW5jc19mLCBkZXBlbmRlbmNpZXMsIHN1aXRlX2RlcGVuZGVuY2llcykKLSAgICAgICAgICAgIHN1aXRlX2Z1bmN0aW9ucyArPSBmdW5jX2NvZGUKLSAgICAgICAgICAgICMgR2VuZXJhdGUgZGlzcGF0Y2ggY29kZSBhbmQgZW51bWVyYXRpb24gaW5mbwotICAgICAgICAgICAgaWYgZnVuY19uYW1lIGluIGZ1bmNfaW5mbzoKLSAgICAgICAgICAgICAgICByYWlzZSBHZW5lcmF0b3JJbnB1dEVycm9yKAotICAgICAgICAgICAgICAgICAgICAiZmlsZTogJXMgLSBmdW5jdGlvbiAlcyByZS1kZWNsYXJlZCBhdCBsaW5lICVkIiAlCi0gICAgICAgICAgICAgICAgICAgIChmdW5jc19mLm5hbWUsIGZ1bmNfbmFtZSwgZnVuY3NfZi5saW5lX25vKSkKLSAgICAgICAgICAgIGZ1bmNfaW5mb1tmdW5jX25hbWVdID0gKGZ1bmN0aW9uX2lkeCwgYXJncykKLSAgICAgICAgICAgIGRpc3BhdGNoX2NvZGUgKz0gJy8qIEZ1bmN0aW9uIElkOiAlZCAqL1xuJyAlIGZ1bmN0aW9uX2lkeAotICAgICAgICAgICAgZGlzcGF0Y2hfY29kZSArPSBmdW5jX2Rpc3BhdGNoCi0gICAgICAgICAgICBmdW5jdGlvbl9pZHggKz0gMQotCi0gICAgZnVuY19jb2RlID0gKHN1aXRlX2hlbHBlcnMgKwotICAgICAgICAgICAgICAgICBzdWl0ZV9mdW5jdGlvbnMpLmpvaW4oZ2VuX2RlcGVuZGVuY2llcyhzdWl0ZV9kZXBlbmRlbmNpZXMpKQotICAgIHJldHVybiBzdWl0ZV9kZXBlbmRlbmNpZXMsIGRpc3BhdGNoX2NvZGUsIGZ1bmNfY29kZSwgZnVuY19pbmZvCi0KLQotZGVmIGVzY2FwZWRfc3BsaXQoaW5wX3N0ciwgc3BsaXRfY2hhcik6Ci0gICAgIiIiCi0gICAgU3BsaXQgaW5wX3N0ciBvbiBjaGFyYWN0ZXIgc3BsaXRfY2hhciBidXQgaWdub3JlIGlmIGVzY2FwZWQuCi0gICAgU2luY2UsIHJldHVybiB2YWx1ZSBpcyB1c2VkIHRvIHdyaXRlIGJhY2sgdG8gdGhlIGludGVybWVkaWF0ZQotICAgIGRhdGEgZmlsZSwgYW55IGVzY2FwZSBjaGFyYWN0ZXJzIGluIHRoZSBpbnB1dCBhcmUgcmV0YWluZWQgaW4gdGhlCi0gICAgb3V0cHV0LgotCi0gICAgOnBhcmFtIGlucF9zdHI6IFN0cmluZyB0byBzcGxpdAotICAgIDpwYXJhbSBzcGxpdF9jaGFyOiBTcGxpdCBjaGFyYWN0ZXIKLSAgICA6cmV0dXJuOiBMaXN0IG9mIHNwbGl0cwotICAgICIiIgotICAgIGlmIGxlbihzcGxpdF9jaGFyKSA+IDE6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0V4cGVjdGVkIHNwbGl0IGNoYXJhY3Rlci4gRm91bmQgc3RyaW5nIScpCi0gICAgb3V0ID0gcmUuc3ViKHInKFxcLil8JyArIHNwbGl0X2NoYXIsCi0gICAgICAgICAgICAgICAgIGxhbWJkYSBtOiBtLmdyb3VwKDEpIG9yICdcbicsIGlucF9zdHIsCi0gICAgICAgICAgICAgICAgIGxlbihpbnBfc3RyKSkuc3BsaXQoJ1xuJykKLSAgICBvdXQgPSBbeCBmb3IgeCBpbiBvdXQgaWYgeF0KLSAgICByZXR1cm4gb3V0Ci0KLQotZGVmIHBhcnNlX3Rlc3RfZGF0YShkYXRhX2YpOgotICAgICIiIgotICAgIFBhcnNlcyAuZGF0YSBmaWxlIGZvciBlYWNoIHRlc3QgY2FzZSBuYW1lLCB0ZXN0IGZ1bmN0aW9uIG5hbWUsCi0gICAgdGVzdCBkZXBlbmRlbmNpZXMgYW5kIHRlc3QgYXJndW1lbnRzLiBUaGlzIGluZm9ybWF0aW9uIGlzCi0gICAgY29ycmVsYXRlZCB3aXRoIHRoZSB0ZXN0IGZ1bmN0aW9ucyBmaWxlIGZvciBnZW5lcmF0aW5nIGFuCi0gICAgaW50ZXJtZWRpYXRlIGRhdGEgZmlsZSByZXBsYWNpbmcgdGhlIHN0cmluZ3MgZm9yIHRlc3QgZnVuY3Rpb24KLSAgICBuYW1lcywgZGVwZW5kZW5jaWVzIGFuZCBpbnRlZ2VyIGNvbnN0YW50IGV4cHJlc3Npb25zIHdpdGgKLSAgICBpZGVudGlmaWVycy4gTWFpbmx5IGZvciBvcHRpbWlzaW5nIHNwYWNlIGZvciBvbi10YXJnZXQKLSAgICBleGVjdXRpb24uCi0KLSAgICA6cGFyYW0gZGF0YV9mOiBmaWxlIG9iamVjdCBvZiB0aGUgZGF0YSBmaWxlLgotICAgIDpyZXR1cm46IEdlbmVyYXRvciB0aGF0IHlpZWxkcyBsaW5lIG51bWJlciwgdGVzdCBuYW1lLCBmdW5jdGlvbiBuYW1lLAotICAgICAgICAgICAgIGRlcGVuZGVuY3kgbGlzdCBhbmQgZnVuY3Rpb24gYXJndW1lbnQgbGlzdC4KLSAgICAiIiIKLSAgICBfX3N0YXRlX3JlYWRfbmFtZSA9IDAKLSAgICBfX3N0YXRlX3JlYWRfYXJncyA9IDEKLSAgICBzdGF0ZSA9IF9fc3RhdGVfcmVhZF9uYW1lCi0gICAgZGVwZW5kZW5jaWVzID0gW10KLSAgICBuYW1lID0gJycKLSAgICBmb3IgbGluZSBpbiBkYXRhX2Y6Ci0gICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKLSAgICAgICAgIyBTa2lwIGNvbW1lbnRzCi0gICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnIycpOgotICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAjIEJsYW5rIGxpbmUgaW5kaWNhdGVzIGVuZCBvZiB0ZXN0Ci0gICAgICAgIGlmIG5vdCBsaW5lOgotICAgICAgICAgICAgaWYgc3RhdGUgPT0gX19zdGF0ZV9yZWFkX2FyZ3M6Ci0gICAgICAgICAgICAgICAgcmFpc2UgR2VuZXJhdG9ySW5wdXRFcnJvcigiWyVzOiVkXSBOZXdsaW5lIGJlZm9yZSBhcmd1bWVudHMuICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXN0IGZ1bmN0aW9uIGFuZCBhcmd1bWVudHMgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1pc3NpbmcgZm9yICVzIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGF0YV9mLm5hbWUsIGRhdGFfZi5saW5lX25vLCBuYW1lKSkKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgaWYgc3RhdGUgPT0gX19zdGF0ZV9yZWFkX25hbWU6Ci0gICAgICAgICAgICAjIFJlYWQgdGVzdCBuYW1lCi0gICAgICAgICAgICBuYW1lID0gbGluZQotICAgICAgICAgICAgc3RhdGUgPSBfX3N0YXRlX3JlYWRfYXJncwotICAgICAgICBlbGlmIHN0YXRlID09IF9fc3RhdGVfcmVhZF9hcmdzOgotICAgICAgICAgICAgIyBDaGVjayBkZXBlbmRlbmNpZXMKLSAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKERFUEVOREVOQ1lfUkVHRVgsIGxpbmUpCi0gICAgICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA9IHBhcnNlX2RlcGVuZGVuY2llcygKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoLmdyb3VwKCdkZXBlbmRlbmNpZXMnKSkKLSAgICAgICAgICAgICAgICBleGNlcHQgR2VuZXJhdG9ySW5wdXRFcnJvciBhcyBlcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgR2VuZXJhdG9ySW5wdXRFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cihlcnJvcikgKyAiIC0gJXM6JWQiICUKLSAgICAgICAgICAgICAgICAgICAgICAgIChkYXRhX2YubmFtZSwgZGF0YV9mLmxpbmVfbm8pKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIFJlYWQgdGVzdCB2ZWN0b3JzCi0gICAgICAgICAgICAgICAgcGFydHMgPSBlc2NhcGVkX3NwbGl0KGxpbmUsICc6JykKLSAgICAgICAgICAgICAgICB0ZXN0X2Z1bmN0aW9uID0gcGFydHNbMF0KLSAgICAgICAgICAgICAgICBhcmdzID0gcGFydHNbMTpdCi0gICAgICAgICAgICAgICAgeWllbGQgZGF0YV9mLmxpbmVfbm8sIG5hbWUsIHRlc3RfZnVuY3Rpb24sIGRlcGVuZGVuY2llcywgYXJncwotICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA9IFtdCi0gICAgICAgICAgICAgICAgc3RhdGUgPSBfX3N0YXRlX3JlYWRfbmFtZQotICAgIGlmIHN0YXRlID09IF9fc3RhdGVfcmVhZF9hcmdzOgotICAgICAgICByYWlzZSBHZW5lcmF0b3JJbnB1dEVycm9yKCJbJXM6JWRdIE5ld2xpbmUgYmVmb3JlIGFyZ3VtZW50cy4gIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXN0IGZ1bmN0aW9uIGFuZCBhcmd1bWVudHMgbWlzc2luZyBmb3IgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgJSAoZGF0YV9mLm5hbWUsIGRhdGFfZi5saW5lX25vLCBuYW1lKSkKLQotCi1kZWYgZ2VuX2RlcF9jaGVjayhkZXBfaWQsIGRlcCk6Ci0gICAgIiIiCi0gICAgR2VuZXJhdGUgY29kZSBmb3IgY2hlY2tpbmcgZGVwZW5kZW5jeSB3aXRoIHRoZSBhc3NvY2lhdGVkCi0gICAgaWRlbnRpZmllci4KLQotICAgIDpwYXJhbSBkZXBfaWQ6IERlcGVuZGVuY3kgaWRlbnRpZmllcgotICAgIDpwYXJhbSBkZXA6IERlcGVuZGVuY3kgbWFjcm8KLSAgICA6cmV0dXJuOiBEZXBlbmRlbmN5IGNoZWNrIGNvZGUKLSAgICAiIiIKLSAgICBpZiBkZXBfaWQgPCAwOgotICAgICAgICByYWlzZSBHZW5lcmF0b3JJbnB1dEVycm9yKCJEZXBlbmRlbmN5IElkIHNob3VsZCBiZSBhIHBvc2l0aXZlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW50ZWdlci4iKQotICAgIF9ub3QsIGRlcCA9ICgnIScsIGRlcFsxOl0pIGlmIGRlcFswXSA9PSAnIScgZWxzZSAoJycsIGRlcCkKLSAgICBpZiBub3QgZGVwOgotICAgICAgICByYWlzZSBHZW5lcmF0b3JJbnB1dEVycm9yKCJEZXBlbmRlbmN5IHNob3VsZCBub3QgYmUgYW4gZW1wdHkgc3RyaW5nLiIpCi0KLSAgICBkZXBlbmRlbmN5ID0gcmUubWF0Y2goQ09ORElUSU9OX1JFR0VYLCBkZXAsIHJlLkkpCi0gICAgaWYgbm90IGRlcGVuZGVuY3k6Ci0gICAgICAgIHJhaXNlIEdlbmVyYXRvcklucHV0RXJyb3IoJ0ludmFsaWQgZGVwZW5kZW5jeSAlcycgJSBkZXApCi0KLSAgICBfZGVmaW5lZCA9ICcnIGlmIGRlcGVuZGVuY3kuZ3JvdXAoMikgZWxzZSAnZGVmaW5lZCcKLSAgICBfY29uZCA9IGRlcGVuZGVuY3kuZ3JvdXAoMikgaWYgZGVwZW5kZW5jeS5ncm91cCgyKSBlbHNlICcnCi0gICAgX3ZhbHVlID0gZGVwZW5kZW5jeS5ncm91cCgzKSBpZiBkZXBlbmRlbmN5Lmdyb3VwKDMpIGVsc2UgJycKLQotICAgIGRlcF9jaGVjayA9ICcnJwotICAgICAgICBjYXNlIHtpZH06Ci0gICAgICAgICAgICB7ewotI2lmIHtfbm90fXtfZGVmaW5lZH0oe21hY3JvfXtfY29uZH17X3ZhbHVlfSkKLSAgICAgICAgICAgICAgICByZXQgPSBERVBFTkRFTkNZX1NVUFBPUlRFRDsKLSNlbHNlCi0gICAgICAgICAgICAgICAgcmV0ID0gREVQRU5ERU5DWV9OT1RfU1VQUE9SVEVEOwotI2VuZGlmCi0gICAgICAgICAgICB9fQotICAgICAgICAgICAgYnJlYWs7JycnLmZvcm1hdChfbm90PV9ub3QsIF9kZWZpbmVkPV9kZWZpbmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybz1kZXBlbmRlbmN5Lmdyb3VwKDEpLCBpZD1kZXBfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jb25kPV9jb25kLCBfdmFsdWU9X3ZhbHVlKQotICAgIHJldHVybiBkZXBfY2hlY2sKLQotCi1kZWYgZ2VuX2V4cHJlc3Npb25fY2hlY2soZXhwX2lkLCBleHApOgotICAgICIiIgotICAgIEdlbmVyYXRlcyBjb2RlIGZvciBldmFsdWF0aW5nIGFuIGludGVnZXIgZXhwcmVzc2lvbiB1c2luZwotICAgIGFzc29jaWF0ZWQgZXhwcmVzc2lvbiBJZC4KLQotICAgIDpwYXJhbSBleHBfaWQ6IEV4cHJlc3Npb24gSWRlbnRpZmllcgotICAgIDpwYXJhbSBleHA6IEV4cHJlc3Npb24vTWFjcm8KLSAgICA6cmV0dXJuOiBFeHByZXNzaW9uIGNoZWNrIGNvZGUKLSAgICAiIiIKLSAgICBpZiBleHBfaWQgPCAwOgotICAgICAgICByYWlzZSBHZW5lcmF0b3JJbnB1dEVycm9yKCJFeHByZXNzaW9uIElkIHNob3VsZCBiZSBhIHBvc2l0aXZlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW50ZWdlci4iKQotICAgIGlmIG5vdCBleHA6Ci0gICAgICAgIHJhaXNlIEdlbmVyYXRvcklucHV0RXJyb3IoIkV4cHJlc3Npb24gc2hvdWxkIG5vdCBiZSBhbiBlbXB0eSBzdHJpbmcuIikKLSAgICBleHBfY29kZSA9ICcnJwotICAgICAgICBjYXNlIHtleHBfaWR9OgotICAgICAgICAgICAge3sKLSAgICAgICAgICAgICAgICAqb3V0X3ZhbHVlID0ge2V4cHJlc3Npb259OwotICAgICAgICAgICAgfX0KLSAgICAgICAgICAgIGJyZWFrOycnJy5mb3JtYXQoZXhwX2lkPWV4cF9pZCwgZXhwcmVzc2lvbj1leHApCi0gICAgcmV0dXJuIGV4cF9jb2RlCi0KLQotZGVmIHdyaXRlX2RlcGVuZGVuY2llcyhvdXRfZGF0YV9mLCB0ZXN0X2RlcGVuZGVuY2llcywgdW5pcXVlX2RlcGVuZGVuY2llcyk6Ci0gICAgIiIiCi0gICAgV3JpdGUgZGVwZW5kZW5jaWVzIHRvIGludGVybWVkaWF0ZSB0ZXN0IGRhdGEgZmlsZSwgcmVwbGFjaW5nCi0gICAgdGhlIHN0cmluZyBmb3JtIHdpdGggaWRlbnRpZmllcnMuIEFsc28sIGdlbmVyYXRlcyBkZXBlbmRlbmN5Ci0gICAgY2hlY2sgY29kZS4KLQotICAgIDpwYXJhbSBvdXRfZGF0YV9mOiBPdXRwdXQgaW50ZXJtZWRpYXRlIGRhdGEgZmlsZQotICAgIDpwYXJhbSB0ZXN0X2RlcGVuZGVuY2llczogRGVwZW5kZW5jaWVzCi0gICAgOnBhcmFtIHVuaXF1ZV9kZXBlbmRlbmNpZXM6IE11dGFibGUgbGlzdCB0byB0cmFjayB1bmlxdWUgZGVwZW5kZW5jaWVzCi0gICAgICAgICAgIHRoYXQgYXJlIGdsb2JhbCB0byB0aGlzIHJlLWVudHJhbnQgZnVuY3Rpb24uCi0gICAgOnJldHVybjogcmV0dXJucyBkZXBlbmRlbmN5IGNoZWNrIGNvZGUuCi0gICAgIiIiCi0gICAgZGVwX2NoZWNrX2NvZGUgPSAnJwotICAgIGlmIHRlc3RfZGVwZW5kZW5jaWVzOgotICAgICAgICBvdXRfZGF0YV9mLndyaXRlKCdkZXBlbmRzX29uJykKLSAgICAgICAgZm9yIGRlcCBpbiB0ZXN0X2RlcGVuZGVuY2llczoKLSAgICAgICAgICAgIGlmIGRlcCBub3QgaW4gdW5pcXVlX2RlcGVuZGVuY2llczoKLSAgICAgICAgICAgICAgICB1bmlxdWVfZGVwZW5kZW5jaWVzLmFwcGVuZChkZXApCi0gICAgICAgICAgICAgICAgZGVwX2lkID0gdW5pcXVlX2RlcGVuZGVuY2llcy5pbmRleChkZXApCi0gICAgICAgICAgICAgICAgZGVwX2NoZWNrX2NvZGUgKz0gZ2VuX2RlcF9jaGVjayhkZXBfaWQsIGRlcCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZGVwX2lkID0gdW5pcXVlX2RlcGVuZGVuY2llcy5pbmRleChkZXApCi0gICAgICAgICAgICBvdXRfZGF0YV9mLndyaXRlKCc6JyArIHN0cihkZXBfaWQpKQotICAgICAgICBvdXRfZGF0YV9mLndyaXRlKCdcbicpCi0gICAgcmV0dXJuIGRlcF9jaGVja19jb2RlCi0KLQotSU5UX1ZBTF9SRUdFWCA9IHJlLmNvbXBpbGUocictPyhcZCt8MHhbMC05YS1mXSspJCcsIHJlLkkpCi1kZWYgdmFsX2lzX2ludCh2YWw6IHN0cikgLT4gYm9vbDoKLSAgICAiIiJXaGV0aGVyIHZhbCBpcyBzdWl0YWJsZSBhcyBhbiAnaW50JyBwYXJhbWV0ZXIgaW4gdGhlIC5kYXRheCBmaWxlLiIiIgotICAgIGlmIG5vdCBJTlRfVkFMX1JFR0VYLm1hdGNoKHZhbCk6Ci0gICAgICAgIHJldHVybiBGYWxzZQotICAgICMgTGltaXQgdGhlIHJhbmdlIHRvIHdoYXQgaXMgZ3VhcmFudGVlZCB0byBnZXQgdGhyb3VnaCBzdHJ0b2woKQotICAgIHJldHVybiBhYnMoaW50KHZhbCwgMCkpIDw9IDB4N2ZmZmZmZmYKLQotZGVmIHdyaXRlX3BhcmFtZXRlcnMob3V0X2RhdGFfZiwgdGVzdF9hcmdzLCBmdW5jX2FyZ3MsIHVuaXF1ZV9leHByZXNzaW9ucyk6Ci0gICAgIiIiCi0gICAgV3JpdGVzIHRlc3QgcGFyYW1ldGVycyB0byB0aGUgaW50ZXJtZWRpYXRlIGRhdGEgZmlsZSwgcmVwbGFjaW5nCi0gICAgdGhlIHN0cmluZyBmb3JtIHdpdGggaWRlbnRpZmllcnMuIEFsc28sIGdlbmVyYXRlcyBleHByZXNzaW9uCi0gICAgY2hlY2sgY29kZS4KLQotICAgIDpwYXJhbSBvdXRfZGF0YV9mOiBPdXRwdXQgaW50ZXJtZWRpYXRlIGRhdGEgZmlsZQotICAgIDpwYXJhbSB0ZXN0X2FyZ3M6IFRlc3QgcGFyYW1ldGVycwotICAgIDpwYXJhbSBmdW5jX2FyZ3M6IEZ1bmN0aW9uIGFyZ3VtZW50cwotICAgIDpwYXJhbSB1bmlxdWVfZXhwcmVzc2lvbnM6IE11dGFibGUgbGlzdCB0byB0cmFjayB1bmlxdWUKLSAgICAgICAgICAgZXhwcmVzc2lvbnMgdGhhdCBhcmUgZ2xvYmFsIHRvIHRoaXMgcmUtZW50cmFudCBmdW5jdGlvbi4KLSAgICA6cmV0dXJuOiBSZXR1cm5zIGV4cHJlc3Npb24gY2hlY2sgY29kZS4KLSAgICAiIiIKLSAgICBleHByZXNzaW9uX2NvZGUgPSAnJwotICAgIGZvciBpLCBfIGluIGVudW1lcmF0ZSh0ZXN0X2FyZ3MpOgotICAgICAgICB0eXAgPSBmdW5jX2FyZ3NbaV0KLSAgICAgICAgdmFsID0gdGVzdF9hcmdzW2ldCi0KLSAgICAgICAgIyBQYXNzIHNtYWxsIGludGVnZXIgY29uc3RhbnRzIGxpdGVyYWxseS4gVGhpcyByZWR1Y2VzIHRoZSBzaXplIG9mCi0gICAgICAgICMgdGhlIEMgY29kZS4gUmVnaXN0ZXIgYW55dGhpbmcgZWxzZSBhcyBhbiBleHByZXNzaW9uLgotICAgICAgICBpZiB0eXAgPT0gJ2ludCcgYW5kIG5vdCB2YWxfaXNfaW50KHZhbCk6Ci0gICAgICAgICAgICB0eXAgPSAnZXhwJwotICAgICAgICAgICAgaWYgdmFsIG5vdCBpbiB1bmlxdWVfZXhwcmVzc2lvbnM6Ci0gICAgICAgICAgICAgICAgdW5pcXVlX2V4cHJlc3Npb25zLmFwcGVuZCh2YWwpCi0gICAgICAgICAgICAgICAgIyBleHBfaWQgY2FuIGJlIGRlcml2ZWQgZnJvbSBsZW4oKS4gQnV0IGZvcgotICAgICAgICAgICAgICAgICMgcmVhZGFiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IHdpdGggY2FzZSBvZiBleGlzdGluZwotICAgICAgICAgICAgICAgICMgbGV0J3MgdXNlIGluZGV4KCkuCi0gICAgICAgICAgICAgICAgZXhwX2lkID0gdW5pcXVlX2V4cHJlc3Npb25zLmluZGV4KHZhbCkKLSAgICAgICAgICAgICAgICBleHByZXNzaW9uX2NvZGUgKz0gZ2VuX2V4cHJlc3Npb25fY2hlY2soZXhwX2lkLCB2YWwpCi0gICAgICAgICAgICAgICAgdmFsID0gZXhwX2lkCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHZhbCA9IHVuaXF1ZV9leHByZXNzaW9ucy5pbmRleCh2YWwpCi0gICAgICAgIG91dF9kYXRhX2Yud3JpdGUoJzonICsgdHlwICsgJzonICsgc3RyKHZhbCkpCi0gICAgb3V0X2RhdGFfZi53cml0ZSgnXG4nKQotICAgIHJldHVybiBleHByZXNzaW9uX2NvZGUKLQotCi1kZWYgZ2VuX3N1aXRlX2RlcF9jaGVja3Moc3VpdGVfZGVwZW5kZW5jaWVzLCBkZXBfY2hlY2tfY29kZSwgZXhwcmVzc2lvbl9jb2RlKToKLSAgICAiIiIKLSAgICBHZW5lcmF0ZXMgcHJlcHJvY2Vzc29yIGNoZWNrcyBmb3IgdGVzdCBzdWl0ZSBkZXBlbmRlbmNpZXMuCi0KLSAgICA6cGFyYW0gc3VpdGVfZGVwZW5kZW5jaWVzOiBUZXN0IHN1aXRlIGRlcGVuZGVuY2llcyByZWFkIGZyb20gdGhlCi0gICAgICAgICAgICAuZnVuY3Rpb24gZmlsZS4KLSAgICA6cGFyYW0gZGVwX2NoZWNrX2NvZGU6IERlcGVuZGVuY3kgY2hlY2sgY29kZQotICAgIDpwYXJhbSBleHByZXNzaW9uX2NvZGU6IEV4cHJlc3Npb24gY2hlY2sgY29kZQotICAgIDpyZXR1cm46IERlcGVuZGVuY3kgYW5kIGV4cHJlc3Npb24gY29kZSBndWFyZGVkIGJ5IHRlc3Qgc3VpdGUKLSAgICAgICAgICAgICBkZXBlbmRlbmNpZXMuCi0gICAgIiIiCi0gICAgaWYgc3VpdGVfZGVwZW5kZW5jaWVzOgotICAgICAgICBwcmVwcm9jZXNzb3JfY2hlY2sgPSBnZW5fZGVwZW5kZW5jaWVzX29uZV9saW5lKHN1aXRlX2RlcGVuZGVuY2llcykKLSAgICAgICAgZGVwX2NoZWNrX2NvZGUgPSAnJycKLXtwcmVwcm9jZXNzb3JfY2hlY2t9Ci17Y29kZX0KLSNlbmRpZgotJycnLmZvcm1hdChwcmVwcm9jZXNzb3JfY2hlY2s9cHJlcHJvY2Vzc29yX2NoZWNrLCBjb2RlPWRlcF9jaGVja19jb2RlKQotICAgICAgICBleHByZXNzaW9uX2NvZGUgPSAnJycKLXtwcmVwcm9jZXNzb3JfY2hlY2t9Ci17Y29kZX0KLSNlbmRpZgotJycnLmZvcm1hdChwcmVwcm9jZXNzb3JfY2hlY2s9cHJlcHJvY2Vzc29yX2NoZWNrLCBjb2RlPWV4cHJlc3Npb25fY29kZSkKLSAgICByZXR1cm4gZGVwX2NoZWNrX2NvZGUsIGV4cHJlc3Npb25fY29kZQotCi0KLWRlZiBnZXRfZnVuY3Rpb25faW5mbyhmdW5jX2luZm8sIGZ1bmN0aW9uX25hbWUsIGxpbmVfbm8pOgotICAgICIiIkxvb2sgdXAgaW5mb3JtYXRpb24gYWJvdXQgYSB0ZXN0IGZ1bmN0aW9uIGJ5IG5hbWUuCi0KLSAgICBSYWlzZSBhbiBpbmZvcm1hdGl2ZSBleHByZXNzaW9uIGlmIGZ1bmN0aW9uX25hbWUgaXMgbm90IGZvdW5kLgotCi0gICAgOnBhcmFtIGZ1bmNfaW5mbzogZGljdGlvbmFyeSBtYXBwaW5nIGZ1bmN0aW9uIG5hbWVzIHRvIHRoZWlyIGluZm9ybWF0aW9uLgotICAgIDpwYXJhbSBmdW5jdGlvbl9uYW1lOiB0aGUgZnVuY3Rpb24gbmFtZSBhcyB3cml0dGVuIGluIHRoZSAuZnVuY3Rpb24gYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgIC5kYXRhIGZpbGVzLgotICAgIDpwYXJhbSBsaW5lX25vOiBsaW5lIG51bWJlciBmb3IgZXJyb3IgbWVzc2FnZXMuCi0gICAgOnJldHVybiBGdW5jdGlvbiBpbmZvcm1hdGlvbiAoaWQsIGFyZ3MpLgotICAgICIiIgotICAgIHRlc3RfZnVuY3Rpb25fbmFtZSA9ICd0ZXN0XycgKyBmdW5jdGlvbl9uYW1lCi0gICAgaWYgdGVzdF9mdW5jdGlvbl9uYW1lIG5vdCBpbiBmdW5jX2luZm86Ci0gICAgICAgIHJhaXNlIEdlbmVyYXRvcklucHV0RXJyb3IoIiVkOiBGdW5jdGlvbiAlcyBub3QgZm91bmQhIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpbmVfbm8sIHRlc3RfZnVuY3Rpb25fbmFtZSkpCi0gICAgcmV0dXJuIGZ1bmNfaW5mb1t0ZXN0X2Z1bmN0aW9uX25hbWVdCi0KLQotZGVmIGdlbl9mcm9tX3Rlc3RfZGF0YShkYXRhX2YsIG91dF9kYXRhX2YsIGZ1bmNfaW5mbywgc3VpdGVfZGVwZW5kZW5jaWVzKToKLSAgICAiIiIKLSAgICBUaGlzIGZ1bmN0aW9uIHJlYWRzIHRlc3QgY2FzZSBuYW1lLCBkZXBlbmRlbmNpZXMgYW5kIHRlc3QgdmVjdG9ycwotICAgIGZyb20gdGhlIC5kYXRhIGZpbGUuIFRoaXMgaW5mb3JtYXRpb24gaXMgY29ycmVsYXRlZCB3aXRoIHRoZSB0ZXN0Ci0gICAgZnVuY3Rpb25zIGZpbGUgZm9yIGdlbmVyYXRpbmcgYW4gaW50ZXJtZWRpYXRlIGRhdGEgZmlsZSByZXBsYWNpbmcKLSAgICB0aGUgc3RyaW5ncyBmb3IgdGVzdCBmdW5jdGlvbiBuYW1lcywgZGVwZW5kZW5jaWVzIGFuZCBpbnRlZ2VyCi0gICAgY29uc3RhbnQgZXhwcmVzc2lvbnMgd2l0aCBpZGVudGlmaWVycy4gTWFpbmx5IGZvciBvcHRpbWlzaW5nCi0gICAgc3BhY2UgZm9yIG9uLXRhcmdldCBleGVjdXRpb24uCi0gICAgSXQgYWxzbyBnZW5lcmF0ZXMgdGVzdCBjYXNlIGRlcGVuZGVuY3kgY2hlY2sgY29kZSBhbmQgZXhwcmVzc2lvbgotICAgIGV2YWx1YXRpb24gY29kZS4KLQotICAgIDpwYXJhbSBkYXRhX2Y6IERhdGEgZmlsZSBvYmplY3QKLSAgICA6cGFyYW0gb3V0X2RhdGFfZjogT3V0cHV0IGludGVybWVkaWF0ZSBkYXRhIGZpbGUKLSAgICA6cGFyYW0gZnVuY19pbmZvOiBEaWN0IGtleWVkIGJ5IGZ1bmN0aW9uIGFuZCB3aXRoIGZ1bmN0aW9uIGlkCi0gICAgICAgICAgIGFuZCBhcmd1bWVudHMgaW5mbwotICAgIDpwYXJhbSBzdWl0ZV9kZXBlbmRlbmNpZXM6IFRlc3Qgc3VpdGUgZGVwZW5kZW5jaWVzCi0gICAgOnJldHVybjogUmV0dXJucyBkZXBlbmRlbmN5IGFuZCBleHByZXNzaW9uIGNoZWNrIGNvZGUKLSAgICAiIiIKLSAgICB1bmlxdWVfZGVwZW5kZW5jaWVzID0gW10KLSAgICB1bmlxdWVfZXhwcmVzc2lvbnMgPSBbXQotICAgIGRlcF9jaGVja19jb2RlID0gJycKLSAgICBleHByZXNzaW9uX2NvZGUgPSAnJwotICAgIGZvciBsaW5lX25vLCB0ZXN0X25hbWUsIGZ1bmN0aW9uX25hbWUsIHRlc3RfZGVwZW5kZW5jaWVzLCB0ZXN0X2FyZ3MgaW4gXAotICAgICAgICAgICAgcGFyc2VfdGVzdF9kYXRhKGRhdGFfZik6Ci0gICAgICAgIG91dF9kYXRhX2Yud3JpdGUodGVzdF9uYW1lICsgJ1xuJykKLQotICAgICAgICAjIFdyaXRlIGRlcGVuZGVuY2llcwotICAgICAgICBkZXBfY2hlY2tfY29kZSArPSB3cml0ZV9kZXBlbmRlbmNpZXMob3V0X2RhdGFfZiwgdGVzdF9kZXBlbmRlbmNpZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWVfZGVwZW5kZW5jaWVzKQotCi0gICAgICAgICMgV3JpdGUgdGVzdCBmdW5jdGlvbiBuYW1lCi0gICAgICAgIGZ1bmNfaWQsIGZ1bmNfYXJncyA9IFwKLSAgICAgICAgICAgIGdldF9mdW5jdGlvbl9pbmZvKGZ1bmNfaW5mbywgZnVuY3Rpb25fbmFtZSwgbGluZV9ubykKLSAgICAgICAgb3V0X2RhdGFfZi53cml0ZShzdHIoZnVuY19pZCkpCi0KLSAgICAgICAgIyBXcml0ZSBwYXJhbWV0ZXJzCi0gICAgICAgIGlmIGxlbih0ZXN0X2FyZ3MpICE9IGxlbihmdW5jX2FyZ3MpOgotICAgICAgICAgICAgcmFpc2UgR2VuZXJhdG9ySW5wdXRFcnJvcigiJWQ6IEludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyBpbiB0ZXN0ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzLiBTZWUgZnVuY3Rpb24gJXMgc2lnbmF0dXJlLiIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGluZV9ubywgdGVzdF9uYW1lLCBmdW5jdGlvbl9uYW1lKSkKLSAgICAgICAgZXhwcmVzc2lvbl9jb2RlICs9IHdyaXRlX3BhcmFtZXRlcnMob3V0X2RhdGFfZiwgdGVzdF9hcmdzLCBmdW5jX2FyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXF1ZV9leHByZXNzaW9ucykKLQotICAgICAgICAjIFdyaXRlIGEgbmV3bGluZSBhcyB0ZXN0IGNhc2Ugc2VwYXJhdG9yCi0gICAgICAgIG91dF9kYXRhX2Yud3JpdGUoJ1xuJykKLQotICAgIGRlcF9jaGVja19jb2RlLCBleHByZXNzaW9uX2NvZGUgPSBnZW5fc3VpdGVfZGVwX2NoZWNrcygKLSAgICAgICAgc3VpdGVfZGVwZW5kZW5jaWVzLCBkZXBfY2hlY2tfY29kZSwgZXhwcmVzc2lvbl9jb2RlKQotICAgIHJldHVybiBkZXBfY2hlY2tfY29kZSwgZXhwcmVzc2lvbl9jb2RlCi0KLQotZGVmIGFkZF9pbnB1dF9pbmZvKGZ1bmNzX2ZpbGUsIGRhdGFfZmlsZSwgdGVtcGxhdGVfZmlsZSwKLSAgICAgICAgICAgICAgICAgICBjX2ZpbGUsIHNuaXBwZXRzKToKLSAgICAiIiIKLSAgICBBZGQgZ2VuZXJhdG9yIGlucHV0IGluZm8gaW4gc25pcHBldHMuCi0KLSAgICA6cGFyYW0gZnVuY3NfZmlsZTogRnVuY3Rpb25zIGZpbGUgb2JqZWN0Ci0gICAgOnBhcmFtIGRhdGFfZmlsZTogRGF0YSBmaWxlIG9iamVjdAotICAgIDpwYXJhbSB0ZW1wbGF0ZV9maWxlOiBUZW1wbGF0ZSBmaWxlIG9iamVjdAotICAgIDpwYXJhbSBjX2ZpbGU6IE91dHB1dCBDIGZpbGUgb2JqZWN0Ci0gICAgOnBhcmFtIHNuaXBwZXRzOiBEaWN0aW9uYXJ5IHRvIGNvbnRhaW4gY29kZSBwaWVjZXMgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGVkIGluIHRoZSB0ZW1wbGF0ZS4KLSAgICA6cmV0dXJuOgotICAgICIiIgotICAgIHNuaXBwZXRzWyd0ZXN0X2ZpbGUnXSA9IGNfZmlsZQotICAgIHNuaXBwZXRzWyd0ZXN0X21haW5fZmlsZSddID0gdGVtcGxhdGVfZmlsZQotICAgIHNuaXBwZXRzWyd0ZXN0X2Nhc2VfZmlsZSddID0gZnVuY3NfZmlsZQotICAgIHNuaXBwZXRzWyd0ZXN0X2Nhc2VfZGF0YV9maWxlJ10gPSBkYXRhX2ZpbGUKLQotCi1kZWYgcmVhZF9jb2RlX2Zyb21faW5wdXRfZmlsZXMocGxhdGZvcm1fZmlsZSwgaGVscGVyc19maWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dF9kYXRhX2ZpbGUsIHNuaXBwZXRzKToKLSAgICAiIiIKLSAgICBSZWFkIGNvZGUgZnJvbSBpbnB1dCBmaWxlcyBhbmQgY3JlYXRlIHN1YnN0aXR1dGlvbnMgZm9yIHJlcGxhY2VtZW50Ci0gICAgc3RyaW5ncyBpbiB0aGUgdGVtcGxhdGUgZmlsZS4KLQotICAgIDpwYXJhbSBwbGF0Zm9ybV9maWxlOiBQbGF0Zm9ybSBmaWxlIG9iamVjdAotICAgIDpwYXJhbSBoZWxwZXJzX2ZpbGU6IEhlbHBlciBmdW5jdGlvbnMgZmlsZSBvYmplY3QKLSAgICA6cGFyYW0gb3V0X2RhdGFfZmlsZTogT3V0cHV0IGludGVybWVkaWF0ZSBkYXRhIGZpbGUgb2JqZWN0Ci0gICAgOnBhcmFtIHNuaXBwZXRzOiBEaWN0aW9uYXJ5IHRvIGNvbnRhaW4gY29kZSBwaWVjZXMgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGVkIGluIHRoZSB0ZW1wbGF0ZS4KLSAgICA6cmV0dXJuOgotICAgICIiIgotICAgICMgUmVhZCBoZWxwZXJzCi0gICAgd2l0aCBvcGVuKGhlbHBlcnNfZmlsZSwgJ3InKSBhcyBoZWxwX2YsIG9wZW4ocGxhdGZvcm1fZmlsZSwgJ3InKSBhcyBcCi0gICAgICAgICAgICBwbGF0Zm9ybV9mOgotICAgICAgICBzbmlwcGV0c1sndGVzdF9jb21tb25faGVscGVyX2ZpbGUnXSA9IGhlbHBlcnNfZmlsZQotICAgICAgICBzbmlwcGV0c1sndGVzdF9jb21tb25faGVscGVycyddID0gaGVscF9mLnJlYWQoKQotICAgICAgICBzbmlwcGV0c1sndGVzdF9wbGF0Zm9ybV9maWxlJ10gPSBwbGF0Zm9ybV9maWxlCi0gICAgICAgIHNuaXBwZXRzWydwbGF0Zm9ybV9jb2RlJ10gPSBwbGF0Zm9ybV9mLnJlYWQoKS5yZXBsYWNlKAotICAgICAgICAgICAgJ0RBVEFfRklMRScsIG91dF9kYXRhX2ZpbGUucmVwbGFjZSgnXFwnLCAnXFxcXCcpKSAgIyBlc2NhcGUgJ1wnCi0KLQotZGVmIHdyaXRlX3Rlc3Rfc291cmNlX2ZpbGUodGVtcGxhdGVfZmlsZSwgY19maWxlLCBzbmlwcGV0cyk6Ci0gICAgIiIiCi0gICAgV3JpdGUgb3V0cHV0IHNvdXJjZSBmaWxlIHdpdGggZ2VuZXJhdGVkIHNvdXJjZSBjb2RlLgotCi0gICAgOnBhcmFtIHRlbXBsYXRlX2ZpbGU6IFRlbXBsYXRlIGZpbGUgbmFtZQotICAgIDpwYXJhbSBjX2ZpbGU6IE91dHB1dCBzb3VyY2UgZmlsZQotICAgIDpwYXJhbSBzbmlwcGV0czogR2VuZXJhdGVkIGFuZCBjb2RlIHNuaXBwZXRzCi0gICAgOnJldHVybjoKLSAgICAiIiIKLQotICAgICMgQ3JlYXRlIGEgcGxhY2Vob2xkZXIgcGF0dGVybiB3aXRoIHRoZSBjb3JyZWN0IG5hbWVkIGNhcHR1cmUgZ3JvdXBzCi0gICAgIyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm92aWRlZCB3aXRoIFRlbXBsYXRlLgotICAgICMgTWF0Y2ggbm90aGluZyAobm8gd2F5IG9mIGVzY2FwaW5nIHBsYWNlaG9sZGVycykuCi0gICAgZXNjYXBlZCA9ICIoP1A8ZXNjYXBlZD4oPyEpKSIKLSAgICAjIE1hdGNoIHRoZSAiX19NQkVEVExTX1RFU1RfVEVNUExBVEVfX1BMQUNFSE9MREVSX05BTUUiIHBhdHRlcm4uCi0gICAgbmFtZWQgPSAiX19NQkVEVExTX1RFU1RfVEVNUExBVEVfXyg/UDxuYW1lZD5bQS1aXVtfQS1aMC05XSopIgotICAgICMgTWF0Y2ggbm90aGluZyAobm8gYnJhY2VkIHBsYWNlaG9sZGVyIHN5bnRheCkuCi0gICAgYnJhY2VkID0gIig/UDxicmFjZWQ+KD8hKSkiCi0gICAgIyBJZiBub3QgYWxyZWFkeSBtYXRjaGVkLCBhICJfX01CRURUTFNfVEVTVF9URU1QTEFURV9fIiBwcmVmaXggaXMgaW52YWxpZC4KLSAgICBpbnZhbGlkID0gIig/UDxpbnZhbGlkPl9fTUJFRFRMU19URVNUX1RFTVBMQVRFX18pIgotICAgIHBsYWNlaG9sZGVyX3BhdHRlcm4gPSByZS5jb21waWxlKCJ8Ii5qb2luKFtlc2NhcGVkLCBuYW1lZCwgYnJhY2VkLCBpbnZhbGlkXSkpCi0KLSAgICB3aXRoIG9wZW4odGVtcGxhdGVfZmlsZSwgJ3InKSBhcyB0ZW1wbGF0ZV9mLCBvcGVuKGNfZmlsZSwgJ3cnKSBhcyBjX2Y6Ci0gICAgICAgIGZvciBsaW5lX25vLCBsaW5lIGluIGVudW1lcmF0ZSh0ZW1wbGF0ZV9mLnJlYWRsaW5lcygpLCAxKToKLSAgICAgICAgICAgICMgVXBkYXRlIGxpbmUgbnVtYmVyLiArMSBhcyAjbGluZSBkaXJlY3RpdmUgc2V0cyBuZXh0IGxpbmUgbnVtYmVyCi0gICAgICAgICAgICBzbmlwcGV0c1snbGluZV9ubyddID0gbGluZV9ubyArIDEKLSAgICAgICAgICAgIHRlbXBsYXRlID0gc3RyaW5nLlRlbXBsYXRlKGxpbmUpCi0gICAgICAgICAgICB0ZW1wbGF0ZS5wYXR0ZXJuID0gcGxhY2Vob2xkZXJfcGF0dGVybgotICAgICAgICAgICAgc25pcHBldHMgPSB7ay51cHBlcigpOnYgZm9yIChrLCB2KSBpbiBzbmlwcGV0cy5pdGVtcygpfQotICAgICAgICAgICAgY29kZSA9IHRlbXBsYXRlLnN1YnN0aXR1dGUoKipzbmlwcGV0cykKLSAgICAgICAgICAgIGNfZi53cml0ZShjb2RlKQotCi0KLWRlZiBwYXJzZV9mdW5jdGlvbl9maWxlKGZ1bmNzX2ZpbGUsIHNuaXBwZXRzKToKLSAgICAiIiIKLSAgICBQYXJzZSBmdW5jdGlvbiBmaWxlIGFuZCBnZW5lcmF0ZSBmdW5jdGlvbiBkaXNwYXRjaCBjb2RlLgotCi0gICAgOnBhcmFtIGZ1bmNzX2ZpbGU6IEZ1bmN0aW9ucyBmaWxlIG5hbWUKLSAgICA6cGFyYW0gc25pcHBldHM6IERpY3Rpb25hcnkgdG8gY29udGFpbiBjb2RlIHBpZWNlcyB0byBiZQotICAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0ZWQgaW4gdGhlIHRlbXBsYXRlLgotICAgIDpyZXR1cm46Ci0gICAgIiIiCi0gICAgd2l0aCBGaWxlV3JhcHBlcihmdW5jc19maWxlKSBhcyBmdW5jc19mOgotICAgICAgICBzdWl0ZV9kZXBlbmRlbmNpZXMsIGRpc3BhdGNoX2NvZGUsIGZ1bmNfY29kZSwgZnVuY19pbmZvID0gXAotICAgICAgICAgICAgcGFyc2VfZnVuY3Rpb25zKGZ1bmNzX2YpCi0gICAgICAgIHNuaXBwZXRzWydmdW5jdGlvbnNfY29kZSddID0gZnVuY19jb2RlCi0gICAgICAgIHNuaXBwZXRzWydkaXNwYXRjaF9jb2RlJ10gPSBkaXNwYXRjaF9jb2RlCi0gICAgICAgIHJldHVybiBzdWl0ZV9kZXBlbmRlbmNpZXMsIGZ1bmNfaW5mbwotCi0KLWRlZiBnZW5lcmF0ZV9pbnRlcm1lZGlhdGVfZGF0YV9maWxlKGRhdGFfZmlsZSwgb3V0X2RhdGFfZmlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1aXRlX2RlcGVuZGVuY2llcywgZnVuY19pbmZvLCBzbmlwcGV0cyk6Ci0gICAgIiIiCi0gICAgR2VuZXJhdGVzIGludGVybWVkaWF0ZSBkYXRhIGZpbGUgZnJvbSBpbnB1dCBkYXRhIGZpbGUgYW5kCi0gICAgaW5mb3JtYXRpb24gcmVhZCBmcm9tIGZ1bmN0aW9ucyBmaWxlLgotCi0gICAgOnBhcmFtIGRhdGFfZmlsZTogRGF0YSBmaWxlIG5hbWUKLSAgICA6cGFyYW0gb3V0X2RhdGFfZmlsZTogT3V0cHV0L0ludGVybWVkaWF0ZSBkYXRhIGZpbGUKLSAgICA6cGFyYW0gc3VpdGVfZGVwZW5kZW5jaWVzOiBMaXN0IG9mIHN1aXRlIGRlcGVuZGVuY2llcy4KLSAgICA6cGFyYW0gZnVuY19pbmZvOiBGdW5jdGlvbiBpbmZvIHBhcnNlZCBmcm9tIGZ1bmN0aW9ucyBmaWxlLgotICAgIDpwYXJhbSBzbmlwcGV0czogRGljdGlvbmFyeSB0byBjb250YWluIGNvZGUgcGllY2VzIHRvIGJlCi0gICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRlZCBpbiB0aGUgdGVtcGxhdGUuCi0gICAgOnJldHVybjoKLSAgICAiIiIKLSAgICB3aXRoIEZpbGVXcmFwcGVyKGRhdGFfZmlsZSkgYXMgZGF0YV9mLCBcCi0gICAgICAgICAgICBvcGVuKG91dF9kYXRhX2ZpbGUsICd3JykgYXMgb3V0X2RhdGFfZjoKLSAgICAgICAgZGVwX2NoZWNrX2NvZGUsIGV4cHJlc3Npb25fY29kZSA9IGdlbl9mcm9tX3Rlc3RfZGF0YSgKLSAgICAgICAgICAgIGRhdGFfZiwgb3V0X2RhdGFfZiwgZnVuY19pbmZvLCBzdWl0ZV9kZXBlbmRlbmNpZXMpCi0gICAgICAgIHNuaXBwZXRzWydkZXBfY2hlY2tfY29kZSddID0gZGVwX2NoZWNrX2NvZGUKLSAgICAgICAgc25pcHBldHNbJ2V4cHJlc3Npb25fY29kZSddID0gZXhwcmVzc2lvbl9jb2RlCi0KLQotZGVmIGdlbmVyYXRlX2NvZGUoKippbnB1dF9pbmZvKToKLSAgICAiIiIKLSAgICBHZW5lcmF0ZXMgQyBzb3VyY2UgY29kZSBmcm9tIHRlc3Qgc3VpdGUgZmlsZSwgZGF0YSBmaWxlLCBjb21tb24KLSAgICBoZWxwZXJzIGZpbGUgYW5kIHBsYXRmb3JtIGZpbGUuCi0KLSAgICBpbnB1dF9pbmZvIGV4cGFuZHMgdG8gZm9sbG93aW5nIHBhcmFtZXRlcnM6Ci0gICAgZnVuY3NfZmlsZTogRnVuY3Rpb25zIGZpbGUgb2JqZWN0Ci0gICAgZGF0YV9maWxlOiBEYXRhIGZpbGUgb2JqZWN0Ci0gICAgdGVtcGxhdGVfZmlsZTogVGVtcGxhdGUgZmlsZSBvYmplY3QKLSAgICBwbGF0Zm9ybV9maWxlOiBQbGF0Zm9ybSBmaWxlIG9iamVjdAotICAgIGhlbHBlcnNfZmlsZTogSGVscGVyIGZ1bmN0aW9ucyBmaWxlIG9iamVjdAotICAgIHN1aXRlc19kaXI6IFRlc3Qgc3VpdGVzIGRpcgotICAgIGNfZmlsZTogT3V0cHV0IEMgZmlsZSBvYmplY3QKLSAgICBvdXRfZGF0YV9maWxlOiBPdXRwdXQgaW50ZXJtZWRpYXRlIGRhdGEgZmlsZSBvYmplY3QKLSAgICA6cmV0dXJuOgotICAgICIiIgotICAgIGZ1bmNzX2ZpbGUgPSBpbnB1dF9pbmZvWydmdW5jc19maWxlJ10KLSAgICBkYXRhX2ZpbGUgPSBpbnB1dF9pbmZvWydkYXRhX2ZpbGUnXQotICAgIHRlbXBsYXRlX2ZpbGUgPSBpbnB1dF9pbmZvWyd0ZW1wbGF0ZV9maWxlJ10KLSAgICBwbGF0Zm9ybV9maWxlID0gaW5wdXRfaW5mb1sncGxhdGZvcm1fZmlsZSddCi0gICAgaGVscGVyc19maWxlID0gaW5wdXRfaW5mb1snaGVscGVyc19maWxlJ10KLSAgICBzdWl0ZXNfZGlyID0gaW5wdXRfaW5mb1snc3VpdGVzX2RpciddCi0gICAgY19maWxlID0gaW5wdXRfaW5mb1snY19maWxlJ10KLSAgICBvdXRfZGF0YV9maWxlID0gaW5wdXRfaW5mb1snb3V0X2RhdGFfZmlsZSddCi0gICAgZm9yIG5hbWUsIHBhdGggaW4gWygnRnVuY3Rpb25zIGZpbGUnLCBmdW5jc19maWxlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgKCdEYXRhIGZpbGUnLCBkYXRhX2ZpbGUpLAotICAgICAgICAgICAgICAgICAgICAgICAoJ1RlbXBsYXRlIGZpbGUnLCB0ZW1wbGF0ZV9maWxlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgKCdQbGF0Zm9ybSBmaWxlJywgcGxhdGZvcm1fZmlsZSksCi0gICAgICAgICAgICAgICAgICAgICAgICgnSGVscGVycyBjb2RlIGZpbGUnLCBoZWxwZXJzX2ZpbGUpLAotICAgICAgICAgICAgICAgICAgICAgICAoJ1N1aXRlcyBkaXInLCBzdWl0ZXNfZGlyKV06Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoIkVSUk9SOiAlcyBbJXNdIG5vdCBmb3VuZCEiICUgKG5hbWUsIHBhdGgpKQotCi0gICAgc25pcHBldHMgPSB7J2dlbmVyYXRvcl9zY3JpcHQnOiBvcy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9fKX0KLSAgICByZWFkX2NvZGVfZnJvbV9pbnB1dF9maWxlcyhwbGF0Zm9ybV9maWxlLCBoZWxwZXJzX2ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0X2RhdGFfZmlsZSwgc25pcHBldHMpCi0gICAgYWRkX2lucHV0X2luZm8oZnVuY3NfZmlsZSwgZGF0YV9maWxlLCB0ZW1wbGF0ZV9maWxlLAotICAgICAgICAgICAgICAgICAgIGNfZmlsZSwgc25pcHBldHMpCi0gICAgc3VpdGVfZGVwZW5kZW5jaWVzLCBmdW5jX2luZm8gPSBwYXJzZV9mdW5jdGlvbl9maWxlKGZ1bmNzX2ZpbGUsIHNuaXBwZXRzKQotICAgIGdlbmVyYXRlX2ludGVybWVkaWF0ZV9kYXRhX2ZpbGUoZGF0YV9maWxlLCBvdXRfZGF0YV9maWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VpdGVfZGVwZW5kZW5jaWVzLCBmdW5jX2luZm8sIHNuaXBwZXRzKQotICAgIHdyaXRlX3Rlc3Rfc291cmNlX2ZpbGUodGVtcGxhdGVfZmlsZSwgY19maWxlLCBzbmlwcGV0cykKLQotCi1kZWYgbWFpbigpOgotICAgICIiIgotICAgIENvbW1hbmQgbGluZSBwYXJzZXIuCi0KLSAgICA6cmV0dXJuOgotICAgICIiIgotICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKAotICAgICAgICBkZXNjcmlwdGlvbj0nRHluYW1pY2FsbHkgZ2VuZXJhdGUgdGVzdCBzdWl0ZSBjb2RlLicpCi0KLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItZiIsICItLWZ1bmN0aW9ucy1maWxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9ImZ1bmNzX2ZpbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRnVuY3Rpb25zIGZpbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgbWV0YXZhcj0iRlVOQ1RJT05TX0ZJTEUiLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9VHJ1ZSkKLQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi1kIiwgIi0tZGF0YS1maWxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9ImRhdGFfZmlsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEYXRhIGZpbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgbWV0YXZhcj0iREFUQV9GSUxFIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPVRydWUpCi0KLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItdCIsICItLXRlbXBsYXRlLWZpbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0idGVtcGxhdGVfZmlsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUZW1wbGF0ZSBmaWxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1ldGF2YXI9IlRFTVBMQVRFX0ZJTEUiLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9VHJ1ZSkKLQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi1zIiwgIi0tc3VpdGVzLWRpciIsCi0gICAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJzdWl0ZXNfZGlyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlN1aXRlcyBkaXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgbWV0YXZhcj0iU1VJVEVTX0RJUiIsCi0gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD1UcnVlKQotCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1oZWxwZXJzLWZpbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0iaGVscGVyc19maWxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkhlbHBlcnMgZmlsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBtZXRhdmFyPSJIRUxQRVJTX0ZJTEUiLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ9VHJ1ZSkKLQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi1wIiwgIi0tcGxhdGZvcm0tZmlsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJwbGF0Zm9ybV9maWxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBsYXRmb3JtIGNvZGUgZmlsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBtZXRhdmFyPSJQTEFURk9STV9GSUxFIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPVRydWUpCi0KLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItbyIsICItLW91dC1kaXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0ib3V0X2RpciIsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEaXIgd2hlcmUgZ2VuZXJhdGVkIGNvZGUgYW5kIHNjcmlwdHMgYXJlIGNvcGllZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICBtZXRhdmFyPSJPVVRfRElSIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPVRydWUpCi0KLSAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotCi0gICAgZGF0YV9maWxlX25hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKGFyZ3MuZGF0YV9maWxlKQotICAgIGRhdGFfbmFtZSA9IG9zLnBhdGguc3BsaXRleHQoZGF0YV9maWxlX25hbWUpWzBdCi0KLSAgICBvdXRfY19maWxlID0gb3MucGF0aC5qb2luKGFyZ3Mub3V0X2RpciwgZGF0YV9uYW1lICsgJy5jJykKLSAgICBvdXRfZGF0YV9maWxlID0gb3MucGF0aC5qb2luKGFyZ3Mub3V0X2RpciwgZGF0YV9uYW1lICsgJy5kYXRheCcpCi0KLSAgICBvdXRfY19maWxlX2RpciA9IG9zLnBhdGguZGlybmFtZShvdXRfY19maWxlKQotICAgIG91dF9kYXRhX2ZpbGVfZGlyID0gb3MucGF0aC5kaXJuYW1lKG91dF9kYXRhX2ZpbGUpCi0gICAgZm9yIGRpcmVjdG9yeSBpbiBbb3V0X2NfZmlsZV9kaXIsIG91dF9kYXRhX2ZpbGVfZGlyXToKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRpcmVjdG9yeSk6Ci0gICAgICAgICAgICBvcy5tYWtlZGlycyhkaXJlY3RvcnkpCi0KLSAgICBnZW5lcmF0ZV9jb2RlKGZ1bmNzX2ZpbGU9YXJncy5mdW5jc19maWxlLCBkYXRhX2ZpbGU9YXJncy5kYXRhX2ZpbGUsCi0gICAgICAgICAgICAgICAgICB0ZW1wbGF0ZV9maWxlPWFyZ3MudGVtcGxhdGVfZmlsZSwKLSAgICAgICAgICAgICAgICAgIHBsYXRmb3JtX2ZpbGU9YXJncy5wbGF0Zm9ybV9maWxlLAotICAgICAgICAgICAgICAgICAgaGVscGVyc19maWxlPWFyZ3MuaGVscGVyc19maWxlLCBzdWl0ZXNfZGlyPWFyZ3Muc3VpdGVzX2RpciwKLSAgICAgICAgICAgICAgICAgIGNfZmlsZT1vdXRfY19maWxlLCBvdXRfZGF0YV9maWxlPW91dF9kYXRhX2ZpbGUpCi0KLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB0cnk6Ci0gICAgICAgIG1haW4oKQotICAgIGV4Y2VwdCBHZW5lcmF0b3JJbnB1dEVycm9yIGFzIGVycjoKLSAgICAgICAgc3lzLmV4aXQoIiVzOiBpbnB1dCBlcnJvcjogJXMiICUKLSAgICAgICAgICAgICAgICAgKG9zLnBhdGguYmFzZW5hbWUoc3lzLmFyZ3ZbMF0pLCBzdHIoZXJyKSkpCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL2dlbmVyYXRlX3RsczEzX2NvbXBhdF90ZXN0cy5weSBiL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfdGxzMTNfY29tcGF0X3Rlc3RzLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA4YjI4NTkwLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfdGxzMTNfY29tcGF0X3Rlc3RzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNjU3ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKLQotIyBnZW5lcmF0ZV90bHMxM19jb21wYXRfdGVzdHMucHkKLSMKLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotCi0iIiIKLUdlbmVyYXRlIFRMU3YxLjMgQ29tcGF0IHRlc3QgY2FzZXMKLQotIiIiCi0KLWltcG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IGFyZ3BhcnNlCi1pbXBvcnQgaXRlcnRvb2xzCi1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlCi0KLSMgZGVmaW5lIGNlcnRpZmljYXRlcyBjb25maWd1cmF0aW9uIGVudHJ5Ci1DZXJ0aWZpY2F0ZSA9IG5hbWVkdHVwbGUoIkNlcnRpZmljYXRlIiwgWydjYWZpbGUnLCAnY2VydGZpbGUnLCAna2V5ZmlsZSddKQotIyBkZWZpbmUgdGhlIGNlcnRpZmljYXRlIHBhcmFtZXRlcnMgZm9yIHNpZ25hdHVyZSBhbGdvcml0aG1zCi1DRVJUSUZJQ0FURVMgPSB7Ci0gICAgJ2VjZHNhX3NlY3AyNTZyMV9zaGEyNTYnOiBDZXJ0aWZpY2F0ZSgnZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5JyksCi0gICAgJ2VjZHNhX3NlY3AzODRyMV9zaGEzODQnOiBDZXJ0aWZpY2F0ZSgnZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGFfZmlsZXMvZWNkc2Ffc2VjcDM4NHIxLmNydCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5JyksCi0gICAgJ2VjZHNhX3NlY3A1MjFyMV9zaGE1MTInOiBDZXJ0aWZpY2F0ZSgnZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5JyksCi0gICAgJ3JzYV9wc3NfcnNhZV9zaGEyNTYnOiBDZXJ0aWZpY2F0ZSgnZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQnLCAnZGF0YV9maWxlcy9zZXJ2ZXIyLmtleScKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLX0KLQotQ0lQSEVSX1NVSVRFX0lBTkFfVkFMVUUgPSB7Ci0gICAgIlRMU19BRVNfMTI4X0dDTV9TSEEyNTYiOiAweDEzMDEsCi0gICAgIlRMU19BRVNfMjU2X0dDTV9TSEEzODQiOiAweDEzMDIsCi0gICAgIlRMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYiOiAweDEzMDMsCi0gICAgIlRMU19BRVNfMTI4X0NDTV9TSEEyNTYiOiAweDEzMDQsCi0gICAgIlRMU19BRVNfMTI4X0NDTV84X1NIQTI1NiI6IDB4MTMwNQotfQotCi1TSUdfQUxHX0lBTkFfVkFMVUUgPSB7Ci0gICAgImVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiOiAweDA0MDMsCi0gICAgImVjZHNhX3NlY3AzODRyMV9zaGEzODQiOiAweDA1MDMsCi0gICAgImVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiOiAweDA2MDMsCi0gICAgJ3JzYV9wc3NfcnNhZV9zaGEyNTYnOiAweDA4MDQsCi19Ci0KLU5BTUVEX0dST1VQX0lBTkFfVkFMVUUgPSB7Ci0gICAgJ3NlY3AyNTZyMSc6IDB4MTcsCi0gICAgJ3NlY3AzODRyMSc6IDB4MTgsCi0gICAgJ3NlY3A1MjFyMSc6IDB4MTksCi0gICAgJ3gyNTUxOSc6IDB4MWQsCi0gICAgJ3g0NDgnOiAweDFlLAotICAgICMgT25seSBvbmUgZmluaXRlIGZpZWxkIGdyb3VwIHRvIGtlZXAgdGVzdGluZyB0aW1lIHdpdGhpbiByZWFzb25hYmxlIGJvdW5kcy4KLSAgICAnZmZkaGUyMDQ4JzogMHgxMDAsCi19Ci0KLWNsYXNzIFRMU1Byb2dyYW06Ci0gICAgIiIiCi0gICAgQmFzZSBjbGFzcyBmb3IgZ2VuZXJhdGUgc2VydmVyL2NsaWVudCBjb21tYW5kLgotICAgICIiIgotCi0gICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktYXJndW1lbnRzCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGNpcGhlcnN1aXRlPU5vbmUsIHNpZ25hdHVyZV9hbGdvcml0aG09Tm9uZSwgbmFtZWRfZ3JvdXA9Tm9uZSwKLSAgICAgICAgICAgICAgICAgY2VydF9zaWdfYWxnPU5vbmUsIGNvbXBhdF9tb2RlPVRydWUpOgotICAgICAgICBzZWxmLl9jaXBoZXJzID0gW10KLSAgICAgICAgc2VsZi5fc2lnX2FsZ3MgPSBbXQotICAgICAgICBzZWxmLl9uYW1lZF9ncm91cHMgPSBbXQotICAgICAgICBzZWxmLl9jZXJ0X3NpZ19hbGdzID0gW10KLSAgICAgICAgaWYgY2lwaGVyc3VpdGU6Ci0gICAgICAgICAgICBzZWxmLmFkZF9jaXBoZXJzdWl0ZXMoY2lwaGVyc3VpdGUpCi0gICAgICAgIGlmIG5hbWVkX2dyb3VwOgotICAgICAgICAgICAgc2VsZi5hZGRfbmFtZWRfZ3JvdXBzKG5hbWVkX2dyb3VwKQotICAgICAgICBpZiBzaWduYXR1cmVfYWxnb3JpdGhtOgotICAgICAgICAgICAgc2VsZi5hZGRfc2lnbmF0dXJlX2FsZ29yaXRobXMoc2lnbmF0dXJlX2FsZ29yaXRobSkKLSAgICAgICAgaWYgY2VydF9zaWdfYWxnOgotICAgICAgICAgICAgc2VsZi5hZGRfY2VydF9zaWduYXR1cmVfYWxnb3JpdGhtcyhjZXJ0X3NpZ19hbGcpCi0gICAgICAgIHNlbGYuX2NvbXBhdF9tb2RlID0gY29tcGF0X21vZGUKLQotICAgICMgYWRkX2NpcGhlcnN1aXRlcyBzaG91bGQgbm90IG92ZXJyaWRlIGJ5IHN1YiBjbGFzcwotICAgIGRlZiBhZGRfY2lwaGVyc3VpdGVzKHNlbGYsICpjaXBoZXJzdWl0ZXMpOgotICAgICAgICBzZWxmLl9jaXBoZXJzLmV4dGVuZCgKLSAgICAgICAgICAgIFtjaXBoZXIgZm9yIGNpcGhlciBpbiBjaXBoZXJzdWl0ZXMgaWYgY2lwaGVyIG5vdCBpbiBzZWxmLl9jaXBoZXJzXSkKLQotICAgICMgYWRkX3NpZ25hdHVyZV9hbGdvcml0aG1zIHNob3VsZCBub3Qgb3ZlcnJpZGUgYnkgc3ViIGNsYXNzCi0gICAgZGVmIGFkZF9zaWduYXR1cmVfYWxnb3JpdGhtcyhzZWxmLCAqc2lnbmF0dXJlX2FsZ29yaXRobXMpOgotICAgICAgICBzZWxmLl9zaWdfYWxncy5leHRlbmQoCi0gICAgICAgICAgICBbc2lnX2FsZyBmb3Igc2lnX2FsZyBpbiBzaWduYXR1cmVfYWxnb3JpdGhtcyBpZiBzaWdfYWxnIG5vdCBpbiBzZWxmLl9zaWdfYWxnc10pCi0KLSAgICAjIGFkZF9uYW1lZF9ncm91cHMgc2hvdWxkIG5vdCBvdmVycmlkZSBieSBzdWIgY2xhc3MKLSAgICBkZWYgYWRkX25hbWVkX2dyb3VwcyhzZWxmLCAqbmFtZWRfZ3JvdXBzKToKLSAgICAgICAgc2VsZi5fbmFtZWRfZ3JvdXBzLmV4dGVuZCgKLSAgICAgICAgICAgIFtuYW1lZF9ncm91cCBmb3IgbmFtZWRfZ3JvdXAgaW4gbmFtZWRfZ3JvdXBzIGlmIG5hbWVkX2dyb3VwIG5vdCBpbiBzZWxmLl9uYW1lZF9ncm91cHNdKQotCi0gICAgIyBhZGRfY2VydF9zaWduYXR1cmVfYWxnb3JpdGhtcyBzaG91bGQgbm90IG92ZXJyaWRlIGJ5IHN1YiBjbGFzcwotICAgIGRlZiBhZGRfY2VydF9zaWduYXR1cmVfYWxnb3JpdGhtcyhzZWxmLCAqc2lnbmF0dXJlX2FsZ29yaXRobXMpOgotICAgICAgICBzZWxmLl9jZXJ0X3NpZ19hbGdzLmV4dGVuZCgKLSAgICAgICAgICAgIFtzaWdfYWxnIGZvciBzaWdfYWxnIGluIHNpZ25hdHVyZV9hbGdvcml0aG1zIGlmIHNpZ19hbGcgbm90IGluIHNlbGYuX2NlcnRfc2lnX2FsZ3NdKQotCi0gICAgIyBweWxpbnQ6IGRpc2FibGU9bm8tc2VsZi11c2UKLSAgICBkZWYgcHJlX2NoZWNrcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIFtdCi0KLSAgICAjIHB5bGludDogZGlzYWJsZT1uby1zZWxmLXVzZQotICAgIGRlZiBjbWQoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLl9jZXJ0X3NpZ19hbGdzOgotICAgICAgICAgICAgc2VsZi5fY2VydF9zaWdfYWxncyA9IGxpc3QoQ0VSVElGSUNBVEVTLmtleXMoKSkKLSAgICAgICAgcmV0dXJuIHNlbGYucHJlX2NtZCgpCi0KLSAgICAjIHB5bGludDogZGlzYWJsZT1uby1zZWxmLXVzZQotICAgIGRlZiBwb3N0X2NoZWNrcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIFtdCi0KLSAgICAjIHB5bGludDogZGlzYWJsZT1uby1zZWxmLXVzZQotICAgIGRlZiBwcmVfY21kKHNlbGYpOgotICAgICAgICByZXR1cm4gWydmYWxzZSddCi0KLSAgICAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtYXJndW1lbnQsbm8tc2VsZi11c2UKLSAgICBkZWYgaHJyX3Bvc3RfY2hlY2tzKHNlbGYsIG5hbWVkX2dyb3VwKToKLSAgICAgICAgcmV0dXJuIFtdCi0KLQotY2xhc3MgT3BlblNTTEJhc2UoVExTUHJvZ3JhbSk6Ci0gICAgIiIiCi0gICAgR2VuZXJhdGUgYmFzZSB0ZXN0IGNvbW1hbmRzIGZvciBPcGVuU1NMLgotICAgICIiIgotCi0gICAgTkFNRURfR1JPVVAgPSB7Ci0gICAgICAgICdzZWNwMjU2cjEnOiAnUC0yNTYnLAotICAgICAgICAnc2VjcDM4NHIxJzogJ1AtMzg0JywKLSAgICAgICAgJ3NlY3A1MjFyMSc6ICdQLTUyMScsCi0gICAgICAgICd4MjU1MTknOiAnWDI1NTE5JywKLSAgICAgICAgJ3g0NDgnOiAnWDQ0OCcsCi0gICAgICAgICdmZmRoZTIwNDgnOiAnZmZkaGUyMDQ4JywKLSAgICB9Ci0KLSAgICBkZWYgY21kKHNlbGYpOgotICAgICAgICByZXQgPSBzdXBlcigpLmNtZCgpCi0KLSAgICAgICAgaWYgc2VsZi5fY2lwaGVyczoKLSAgICAgICAgICAgIGNpcGhlcnN1aXRlcyA9ICc6Jy5qb2luKHNlbGYuX2NpcGhlcnMpCi0gICAgICAgICAgICByZXQgKz0gWyItY2lwaGVyc3VpdGVzIHtjaXBoZXJzdWl0ZXN9Ii5mb3JtYXQoY2lwaGVyc3VpdGVzPWNpcGhlcnN1aXRlcyldCi0KLSAgICAgICAgaWYgc2VsZi5fc2lnX2FsZ3M6Ci0gICAgICAgICAgICBzaWduYXR1cmVfYWxnb3JpdGhtcyA9IHNldChzZWxmLl9zaWdfYWxncyArIHNlbGYuX2NlcnRfc2lnX2FsZ3MpCi0gICAgICAgICAgICBzaWduYXR1cmVfYWxnb3JpdGhtcyA9ICc6Jy5qb2luKHNpZ25hdHVyZV9hbGdvcml0aG1zKQotICAgICAgICAgICAgcmV0ICs9IFsiLXNpZ2FsZ3Mge3NpZ25hdHVyZV9hbGdvcml0aG1zfSIuZm9ybWF0KAotICAgICAgICAgICAgICAgIHNpZ25hdHVyZV9hbGdvcml0aG1zPXNpZ25hdHVyZV9hbGdvcml0aG1zKV0KLQotICAgICAgICBpZiBzZWxmLl9uYW1lZF9ncm91cHM6Ci0gICAgICAgICAgICBuYW1lZF9ncm91cHMgPSAnOicuam9pbigKLSAgICAgICAgICAgICAgICBtYXAobGFtYmRhIG5hbWVkX2dyb3VwOiBzZWxmLk5BTUVEX0dST1VQW25hbWVkX2dyb3VwXSwgc2VsZi5fbmFtZWRfZ3JvdXBzKSkKLSAgICAgICAgICAgIHJldCArPSBbIi1ncm91cHMge25hbWVkX2dyb3Vwc30iLmZvcm1hdChuYW1lZF9ncm91cHM9bmFtZWRfZ3JvdXBzKV0KLQotICAgICAgICByZXQgKz0gWyctbXNnIC10bHMxXzMnXQotICAgICAgICBpZiBub3Qgc2VsZi5fY29tcGF0X21vZGU6Ci0gICAgICAgICAgICByZXQgKz0gWyctbm9fbWlkZGxlYm94J10KLQotICAgICAgICByZXR1cm4gcmV0Ci0KLSAgICBkZWYgcHJlX2NoZWNrcyhzZWxmKToKLSAgICAgICAgcmV0ID0gWyJyZXF1aXJlc19vcGVuc3NsX3RsczFfMyJdCi0KLSAgICAgICAgIyBmZmRoIGdyb3VwcyByZXF1aXJlIGF0IGxlYXN0IG9wZW5zc2wgMy4wCi0gICAgICAgIGZmZGhfZ3JvdXBzID0gWydmZmRoZTIwNDgnXQotCi0gICAgICAgIGlmIGFueSh4IGluIGZmZGhfZ3JvdXBzIGZvciB4IGluIHNlbGYuX25hbWVkX2dyb3Vwcyk6Ci0gICAgICAgICAgICByZXQgPSBbInJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfZmZkaCJdCi0KLSAgICAgICAgcmV0dXJuIHJldAotCi0KLWNsYXNzIE9wZW5TU0xTZXJ2KE9wZW5TU0xCYXNlKToKLSAgICAiIiIKLSAgICBHZW5lcmF0ZSB0ZXN0IGNvbW1hbmRzIGZvciBPcGVuU1NMIHNlcnZlci4KLSAgICAiIiIKLQotICAgIGRlZiBjbWQoc2VsZik6Ci0gICAgICAgIHJldCA9IHN1cGVyKCkuY21kKCkKLSAgICAgICAgcmV0ICs9IFsnLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlJ10KLSAgICAgICAgcmV0dXJuIHJldAotCi0gICAgZGVmIHBvc3RfY2hlY2tzKHNlbGYpOgotICAgICAgICByZXR1cm4gWyctYyAiSFRUUC8xLjAgMjAwIG9rIiddCi0KLSAgICBkZWYgcHJlX2NtZChzZWxmKToKLSAgICAgICAgcmV0ID0gWyckT19ORVhUX1NSVl9OT19DRVJUJ10KLSAgICAgICAgZm9yIF8sIGNlcnQsIGtleSBpbiBtYXAobGFtYmRhIHNpZ19hbGc6IENFUlRJRklDQVRFU1tzaWdfYWxnXSwgc2VsZi5fY2VydF9zaWdfYWxncyk6Ci0gICAgICAgICAgICByZXQgKz0gWyctY2VydCB7Y2VydH0gLWtleSB7a2V5fScuZm9ybWF0KGNlcnQ9Y2VydCwga2V5PWtleSldCi0gICAgICAgIHJldHVybiByZXQKLQotCi1jbGFzcyBPcGVuU1NMQ2xpKE9wZW5TU0xCYXNlKToKLSAgICAiIiIKLSAgICBHZW5lcmF0ZSB0ZXN0IGNvbW1hbmRzIGZvciBPcGVuU1NMIGNsaWVudC4KLSAgICAiIiIKLQotICAgIGRlZiBwcmVfY21kKHNlbGYpOgotICAgICAgICByZXR1cm4gWyckT19ORVhUX0NMSV9OT19DRVJUJywKLSAgICAgICAgICAgICAgICAnLUNBZmlsZSB7Y2FmaWxlfScuZm9ybWF0KGNhZmlsZT1DRVJUSUZJQ0FURVNbc2VsZi5fY2VydF9zaWdfYWxnc1swXV0uY2FmaWxlKV0KLQotCi1jbGFzcyBHbnVUTFNCYXNlKFRMU1Byb2dyYW0pOgotICAgICIiIgotICAgIEdlbmVyYXRlIGJhc2UgdGVzdCBjb21tYW5kcyBmb3IgR251VExTLgotICAgICIiIgotCi0gICAgQ0lQSEVSX1NVSVRFID0gewotICAgICAgICAnVExTX0FFU18yNTZfR0NNX1NIQTM4NCc6IFsKLSAgICAgICAgICAgICdBRVMtMjU2LUdDTScsCi0gICAgICAgICAgICAnU0hBMzg0JywKLSAgICAgICAgICAgICdBRUFEJ10sCi0gICAgICAgICdUTFNfQUVTXzEyOF9HQ01fU0hBMjU2JzogWwotICAgICAgICAgICAgJ0FFUy0xMjgtR0NNJywKLSAgICAgICAgICAgICdTSEEyNTYnLAotICAgICAgICAgICAgJ0FFQUQnXSwKLSAgICAgICAgJ1RMU19DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYnOiBbCi0gICAgICAgICAgICAnQ0hBQ0hBMjAtUE9MWTEzMDUnLAotICAgICAgICAgICAgJ1NIQTI1NicsCi0gICAgICAgICAgICAnQUVBRCddLAotICAgICAgICAnVExTX0FFU18xMjhfQ0NNX1NIQTI1Nic6IFsKLSAgICAgICAgICAgICdBRVMtMTI4LUNDTScsCi0gICAgICAgICAgICAnU0hBMjU2JywKLSAgICAgICAgICAgICdBRUFEJ10sCi0gICAgICAgICdUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYnOiBbCi0gICAgICAgICAgICAnQUVTLTEyOC1DQ00tOCcsCi0gICAgICAgICAgICAnU0hBMjU2JywKLSAgICAgICAgICAgICdBRUFEJ119Ci0KLSAgICBTSUdOQVRVUkVfQUxHT1JJVEhNID0gewotICAgICAgICAnZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nic6IFsnU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2J10sCi0gICAgICAgICdlY2RzYV9zZWNwNTIxcjFfc2hhNTEyJzogWydTSUdOLUVDRFNBLVNFQ1A1MjFSMS1TSEE1MTInXSwKLSAgICAgICAgJ2VjZHNhX3NlY3AzODRyMV9zaGEzODQnOiBbJ1NJR04tRUNEU0EtU0VDUDM4NFIxLVNIQTM4NCddLAotICAgICAgICAncnNhX3Bzc19yc2FlX3NoYTI1Nic6IFsnU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2J119Ci0KLSAgICBOQU1FRF9HUk9VUCA9IHsKLSAgICAgICAgJ3NlY3AyNTZyMSc6IFsnR1JPVVAtU0VDUDI1NlIxJ10sCi0gICAgICAgICdzZWNwMzg0cjEnOiBbJ0dST1VQLVNFQ1AzODRSMSddLAotICAgICAgICAnc2VjcDUyMXIxJzogWydHUk9VUC1TRUNQNTIxUjEnXSwKLSAgICAgICAgJ3gyNTUxOSc6IFsnR1JPVVAtWDI1NTE5J10sCi0gICAgICAgICd4NDQ4JzogWydHUk9VUC1YNDQ4J10sCi0gICAgICAgICdmZmRoZTIwNDgnOiBbJ0dST1VQLUZGREhFMjA0OCddLAotICAgIH0KLQotICAgIGRlZiBwcmVfY2hlY2tzKHNlbGYpOgotICAgICAgICByZXR1cm4gWyJyZXF1aXJlc19nbnV0bHNfdGxzMV8zIiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0IiwKLSAgICAgICAgICAgICAgICAicmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQiLCBdCi0KLSAgICBkZWYgY21kKHNlbGYpOgotICAgICAgICByZXQgPSBzdXBlcigpLmNtZCgpCi0KLSAgICAgICAgcHJpb3JpdHlfc3RyaW5nX2xpc3QgPSBbXQotCi0gICAgICAgIGRlZiB1cGRhdGVfcHJpb3JpdHlfc3RyaW5nX2xpc3QoaXRlbXMsIG1hcF90YWJsZSk6Ci0gICAgICAgICAgICBmb3IgaXRlbSBpbiBpdGVtczoKLSAgICAgICAgICAgICAgICBmb3IgaSBpbiBtYXBfdGFibGVbaXRlbV06Ci0gICAgICAgICAgICAgICAgICAgIGlmIGkgbm90IGluIHByaW9yaXR5X3N0cmluZ19saXN0OgotICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgaQotCi0gICAgICAgIGlmIHNlbGYuX2NpcGhlcnM6Ci0gICAgICAgICAgICBwcmlvcml0eV9zdHJpbmdfbGlzdC5leHRlbmQodXBkYXRlX3ByaW9yaXR5X3N0cmluZ19saXN0KAotICAgICAgICAgICAgICAgIHNlbGYuX2NpcGhlcnMsIHNlbGYuQ0lQSEVSX1NVSVRFKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHByaW9yaXR5X3N0cmluZ19saXN0LmV4dGVuZChbJ0NJUEhFUi1BTEwnLCAnTUFDLUFMTCddKQotCi0gICAgICAgIGlmIHNlbGYuX3NpZ19hbGdzOgotICAgICAgICAgICAgc2lnbmF0dXJlX2FsZ29yaXRobXMgPSBzZXQoc2VsZi5fc2lnX2FsZ3MgKyBzZWxmLl9jZXJ0X3NpZ19hbGdzKQotICAgICAgICAgICAgcHJpb3JpdHlfc3RyaW5nX2xpc3QuZXh0ZW5kKHVwZGF0ZV9wcmlvcml0eV9zdHJpbmdfbGlzdCgKLSAgICAgICAgICAgICAgICBzaWduYXR1cmVfYWxnb3JpdGhtcywgc2VsZi5TSUdOQVRVUkVfQUxHT1JJVEhNKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHByaW9yaXR5X3N0cmluZ19saXN0LmFwcGVuZCgnU0lHTi1BTEwnKQotCi0KLSAgICAgICAgaWYgc2VsZi5fbmFtZWRfZ3JvdXBzOgotICAgICAgICAgICAgcHJpb3JpdHlfc3RyaW5nX2xpc3QuZXh0ZW5kKHVwZGF0ZV9wcmlvcml0eV9zdHJpbmdfbGlzdCgKLSAgICAgICAgICAgICAgICBzZWxmLl9uYW1lZF9ncm91cHMsIHNlbGYuTkFNRURfR1JPVVApKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHJpb3JpdHlfc3RyaW5nX2xpc3QuYXBwZW5kKCdHUk9VUC1BTEwnKQotCi0gICAgICAgIHByaW9yaXR5X3N0cmluZ19saXN0ID0gWydOT05FJ10gKyBcCi0gICAgICAgICAgICBwcmlvcml0eV9zdHJpbmdfbGlzdCArIFsnVkVSUy1UTFMxLjMnXQotCi0gICAgICAgIHByaW9yaXR5X3N0cmluZyA9ICc6Kycuam9pbihwcmlvcml0eV9zdHJpbmdfbGlzdCkKLSAgICAgICAgcHJpb3JpdHlfc3RyaW5nICs9ICc6JU5PX1RJQ0tFVFMnCi0KLSAgICAgICAgaWYgbm90IHNlbGYuX2NvbXBhdF9tb2RlOgotICAgICAgICAgICAgcHJpb3JpdHlfc3RyaW5nICs9IFsnOiVESVNBQkxFX1RMUzEzX0NPTVBBVF9NT0RFJ10KLQotICAgICAgICByZXQgKz0gWyctLXByaW9yaXR5PXtwcmlvcml0eV9zdHJpbmd9Jy5mb3JtYXQoCi0gICAgICAgICAgICBwcmlvcml0eV9zdHJpbmc9cHJpb3JpdHlfc3RyaW5nKV0KLSAgICAgICAgcmV0dXJuIHJldAotCi1jbGFzcyBHbnVUTFNTZXJ2KEdudVRMU0Jhc2UpOgotICAgICIiIgotICAgIEdlbmVyYXRlIHRlc3QgY29tbWFuZHMgZm9yIEdudVRMUyBzZXJ2ZXIuCi0gICAgIiIiCi0KLSAgICBkZWYgcHJlX2NtZChzZWxmKToKLSAgICAgICAgcmV0ID0gWyckR19ORVhUX1NSVl9OT19DRVJUJywgJy0taHR0cCcsICctLWRpc2FibGUtY2xpZW50LWNlcnQnLCAnLS1kZWJ1Zz00J10KLQotICAgICAgICBmb3IgXywgY2VydCwga2V5IGluIG1hcChsYW1iZGEgc2lnX2FsZzogQ0VSVElGSUNBVEVTW3NpZ19hbGddLCBzZWxmLl9jZXJ0X3NpZ19hbGdzKToKLSAgICAgICAgICAgIHJldCArPSBbJy0teDUwOWNlcnRmaWxlIHtjZXJ0fSAtLXg1MDlrZXlmaWxlIHtrZXl9Jy5mb3JtYXQoCi0gICAgICAgICAgICAgICAgY2VydD1jZXJ0LCBrZXk9a2V5KV0KLSAgICAgICAgcmV0dXJuIHJldAotCi0gICAgZGVmIHBvc3RfY2hlY2tzKHNlbGYpOgotICAgICAgICByZXR1cm4gWyctYyAiSFRUUC8xLjAgMjAwIE9LIiddCi0KLQotY2xhc3MgR251VExTQ2xpKEdudVRMU0Jhc2UpOgotICAgICIiIgotICAgIEdlbmVyYXRlIHRlc3QgY29tbWFuZHMgZm9yIEdudVRMUyBjbGllbnQuCi0gICAgIiIiCi0KLSAgICBkZWYgcHJlX2NtZChzZWxmKToKLSAgICAgICAgcmV0dXJuIFsnJEdfTkVYVF9DTElfTk9fQ0VSVCcsICctLWRlYnVnPTQnLCAnLS1zaW5nbGUta2V5LXNoYXJlJywKLSAgICAgICAgICAgICAgICAnLS14NTA5Y2FmaWxlIHtjYWZpbGV9Jy5mb3JtYXQoY2FmaWxlPUNFUlRJRklDQVRFU1tzZWxmLl9jZXJ0X3NpZ19hbGdzWzBdXS5jYWZpbGUpXQotCi0KLWNsYXNzIE1iZWRUTFNCYXNlKFRMU1Byb2dyYW0pOgotICAgICIiIgotICAgIEdlbmVyYXRlIGJhc2UgdGVzdCBjb21tYW5kcyBmb3IgbWJlZFRMUy4KLSAgICAiIiIKLQotICAgIENJUEhFUl9TVUlURSA9IHsKLSAgICAgICAgJ1RMU19BRVNfMjU2X0dDTV9TSEEzODQnOiAnVExTMS0zLUFFUy0yNTYtR0NNLVNIQTM4NCcsCi0gICAgICAgICdUTFNfQUVTXzEyOF9HQ01fU0hBMjU2JzogJ1RMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYnLAotICAgICAgICAnVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1Nic6ICdUTFMxLTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2JywKLSAgICAgICAgJ1RMU19BRVNfMTI4X0NDTV9TSEEyNTYnOiAnVExTMS0zLUFFUy0xMjgtQ0NNLVNIQTI1NicsCi0gICAgICAgICdUTFNfQUVTXzEyOF9DQ01fOF9TSEEyNTYnOiAnVExTMS0zLUFFUy0xMjgtQ0NNLTgtU0hBMjU2J30KLQotICAgIGRlZiBjbWQoc2VsZik6Ci0gICAgICAgIHJldCA9IHN1cGVyKCkuY21kKCkKLSAgICAgICAgcmV0ICs9IFsnZGVidWdfbGV2ZWw9NCddCi0KLQotICAgICAgICBpZiBzZWxmLl9jaXBoZXJzOgotICAgICAgICAgICAgY2lwaGVycyA9ICcsJy5qb2luKAotICAgICAgICAgICAgICAgIG1hcChsYW1iZGEgY2lwaGVyOiBzZWxmLkNJUEhFUl9TVUlURVtjaXBoZXJdLCBzZWxmLl9jaXBoZXJzKSkKLSAgICAgICAgICAgIHJldCArPSBbImZvcmNlX2NpcGhlcnN1aXRlPXtjaXBoZXJzfSIuZm9ybWF0KGNpcGhlcnM9Y2lwaGVycyldCi0KLSAgICAgICAgaWYgc2VsZi5fc2lnX2FsZ3MgKyBzZWxmLl9jZXJ0X3NpZ19hbGdzOgotICAgICAgICAgICAgcmV0ICs9IFsnc2lnX2FsZ3M9e3NpZ19hbGdzfScuZm9ybWF0KAotICAgICAgICAgICAgICAgIHNpZ19hbGdzPScsJy5qb2luKHNldChzZWxmLl9zaWdfYWxncyArIHNlbGYuX2NlcnRfc2lnX2FsZ3MpKSldCi0KLSAgICAgICAgaWYgc2VsZi5fbmFtZWRfZ3JvdXBzOgotICAgICAgICAgICAgbmFtZWRfZ3JvdXBzID0gJywnLmpvaW4oc2VsZi5fbmFtZWRfZ3JvdXBzKQotICAgICAgICAgICAgcmV0ICs9IFsiZ3JvdXBzPXtuYW1lZF9ncm91cHN9Ii5mb3JtYXQobmFtZWRfZ3JvdXBzPW5hbWVkX2dyb3VwcyldCi0gICAgICAgIHJldHVybiByZXQKLQotICAgICNweWxpbnQ6IGRpc2FibGU9bWlzc2luZy1mdW5jdGlvbi1kb2NzdHJpbmcKLSAgICBkZWYgYWRkX2ZmZGhfZ3JvdXBfcmVxdWlyZW1lbnRzKHNlbGYsIHJlcXVpcmVtZW50X2xpc3QpOgotICAgICAgICBpZiAnZmZkaGUyMDQ4JyBpbiBzZWxmLl9uYW1lZF9ncm91cHM6Ci0gICAgICAgICAgICByZXF1aXJlbWVudF9saXN0LmFwcGVuZCgncmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4JykKLSAgICAgICAgaWYgJ2ZmZGhlMzA3MicgaW4gc2VsZi5fbmFtZWRfZ3JvdXBzOgotICAgICAgICAgICAgcmVxdWlyZW1lbnRfbGlzdC5hcHBlbmQoJ3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OCcpCi0gICAgICAgIGlmICdmZmRoZTQwOTYnIGluIHNlbGYuX25hbWVkX2dyb3VwczoKLSAgICAgICAgICAgIHJlcXVpcmVtZW50X2xpc3QuYXBwZW5kKCdyZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzIwNDgnKQotICAgICAgICBpZiAnZmZkaGU2MTQ0JyBpbiBzZWxmLl9uYW1lZF9ncm91cHM6Ci0gICAgICAgICAgICByZXF1aXJlbWVudF9saXN0LmFwcGVuZCgncmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8yMDQ4JykKLSAgICAgICAgaWYgJ2ZmZGhlODE5MicgaW4gc2VsZi5fbmFtZWRfZ3JvdXBzOgotICAgICAgICAgICAgcmVxdWlyZW1lbnRfbGlzdC5hcHBlbmQoJ3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfMjA0OCcpCi0KLSAgICBkZWYgcHJlX2NoZWNrcyhzZWxmKToKLSAgICAgICAgcmV0ID0gWydyZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MnLAotICAgICAgICAgICAgICAgJ3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRCddCi0KLSAgICAgICAgaWYgc2VsZi5fY29tcGF0X21vZGU6Ci0gICAgICAgICAgICByZXQgKz0gWydyZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFJ10KLQotICAgICAgICBpZiAncnNhX3Bzc19yc2FlX3NoYTI1NicgaW4gc2VsZi5fc2lnX2FsZ3MgKyBzZWxmLl9jZXJ0X3NpZ19hbGdzOgotICAgICAgICAgICAgcmV0LmFwcGVuZCgKLSAgICAgICAgICAgICAgICAncmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVCcpCi0KLSAgICAgICAgZWNfZ3JvdXBzID0gWydzZWNwMjU2cjEnLCAnc2VjcDM4NHIxJywgJ3NlY3A1MjFyMScsICd4MjU1MTknLCAneDQ0OCddCi0gICAgICAgIGZmZGhfZ3JvdXBzID0gWydmZmRoZTIwNDgnLCAnZmZkaGUzMDcyJywgJ2ZmZGhlNDA5NicsICdmZmRoZTYxNDQnLCAnZmZkaGU4MTkyJ10KLQotICAgICAgICBpZiBhbnkoeCBpbiBlY19ncm91cHMgZm9yIHggaW4gc2VsZi5fbmFtZWRfZ3JvdXBzKToKLSAgICAgICAgICAgIHJldC5hcHBlbmQoJ3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RIJykKLQotICAgICAgICBpZiBhbnkoeCBpbiBmZmRoX2dyb3VwcyBmb3IgeCBpbiBzZWxmLl9uYW1lZF9ncm91cHMpOgotICAgICAgICAgICAgcmV0LmFwcGVuZCgncmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgnKQotICAgICAgICAgICAgc2VsZi5hZGRfZmZkaF9ncm91cF9yZXF1aXJlbWVudHMocmV0KQotCi0gICAgICAgIHJldHVybiByZXQKLQotCi1jbGFzcyBNYmVkVExTU2VydihNYmVkVExTQmFzZSk6Ci0gICAgIiIiCi0gICAgR2VuZXJhdGUgdGVzdCBjb21tYW5kcyBmb3IgbWJlZFRMUyBzZXJ2ZXIuCi0gICAgIiIiCi0KLSAgICBkZWYgY21kKHNlbGYpOgotICAgICAgICByZXQgPSBzdXBlcigpLmNtZCgpCi0gICAgICAgIHJldCArPSBbJ3RsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCddCi0gICAgICAgIHJldHVybiByZXQKLQotICAgIGRlZiBwcmVfY2hlY2tzKHNlbGYpOgotICAgICAgICByZXR1cm4gWydyZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQyddICsgc3VwZXIoKS5wcmVfY2hlY2tzKCkKLQotICAgIGRlZiBwb3N0X2NoZWNrcyhzZWxmKToKLSAgICAgICAgY2hlY2tfc3RyaW5ncyA9IFsiUHJvdG9jb2wgaXMgVExTdjEuMyJdCi0gICAgICAgIGlmIHNlbGYuX2NpcGhlcnM6Ci0gICAgICAgICAgICBjaGVja19zdHJpbmdzLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IHt9ICggaWQ9ezowNGR9ICkiLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5DSVBIRVJfU1VJVEVbc2VsZi5fY2lwaGVyc1swXV0sCi0gICAgICAgICAgICAgICAgICAgIENJUEhFUl9TVUlURV9JQU5BX1ZBTFVFW3NlbGYuX2NpcGhlcnNbMF1dKSkKLSAgICAgICAgaWYgc2VsZi5fc2lnX2FsZ3M6Ci0gICAgICAgICAgICBjaGVja19zdHJpbmdzLmFwcGVuZCgKLSAgICAgICAgICAgICAgICAicmVjZWl2ZWQgc2lnbmF0dXJlIGFsZ29yaXRobTogMHh7Onh9Ii5mb3JtYXQoCi0gICAgICAgICAgICAgICAgICAgIFNJR19BTEdfSUFOQV9WQUxVRVtzZWxmLl9zaWdfYWxnc1swXV0pKQotCi0gICAgICAgIGZvciBuYW1lZF9ncm91cCBpbiBzZWxmLl9uYW1lZF9ncm91cHM6Ci0gICAgICAgICAgICBjaGVja19zdHJpbmdzICs9IFsnZ290IG5hbWVkIGdyb3VwOiB7bmFtZWRfZ3JvdXB9KHtpYW5hX3ZhbHVlOjA0eH0pJy5mb3JtYXQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVkX2dyb3VwPW5hbWVkX2dyb3VwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYW5hX3ZhbHVlPU5BTUVEX0dST1VQX0lBTkFfVkFMVUVbbmFtZWRfZ3JvdXBdKV0KLQotICAgICAgICBjaGVja19zdHJpbmdzLmFwcGVuZCgiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIHdhcyBza2lwcGVkIikKLSAgICAgICAgcmV0dXJuIFsnLXMgInt9IicuZm9ybWF0KGkpIGZvciBpIGluIGNoZWNrX3N0cmluZ3NdCi0KLSAgICBkZWYgcHJlX2NtZChzZWxmKToKLSAgICAgICAgcmV0ID0gWyckUF9TUlYnXQotICAgICAgICBmb3IgXywgY2VydCwga2V5IGluIG1hcChsYW1iZGEgc2lnX2FsZzogQ0VSVElGSUNBVEVTW3NpZ19hbGddLCBzZWxmLl9jZXJ0X3NpZ19hbGdzKToKLSAgICAgICAgICAgIHJldCArPSBbJ2NydF9maWxlPXtjZXJ0fSBrZXlfZmlsZT17a2V5fScuZm9ybWF0KGNlcnQ9Y2VydCwga2V5PWtleSldCi0gICAgICAgIHJldHVybiByZXQKLQotICAgIGRlZiBocnJfcG9zdF9jaGVja3Moc2VsZiwgbmFtZWRfZ3JvdXApOgotICAgICAgICByZXR1cm4gWyctcyAiSFJSIHNlbGVjdGVkX2dyb3VwOiB7OnN9IicuZm9ybWF0KG5hbWVkX2dyb3VwKV0KLQotCi1jbGFzcyBNYmVkVExTQ2xpKE1iZWRUTFNCYXNlKToKLSAgICAiIiIKLSAgICBHZW5lcmF0ZSB0ZXN0IGNvbW1hbmRzIGZvciBtYmVkVExTIGNsaWVudC4KLSAgICAiIiIKLQotICAgIGRlZiBwcmVfY21kKHNlbGYpOgotICAgICAgICByZXR1cm4gWyckUF9DTEknLAotICAgICAgICAgICAgICAgICdjYV9maWxlPXtjYWZpbGV9Jy5mb3JtYXQoY2FmaWxlPUNFUlRJRklDQVRFU1tzZWxmLl9jZXJ0X3NpZ19hbGdzWzBdXS5jYWZpbGUpXQotCi0gICAgZGVmIHByZV9jaGVja3Moc2VsZik6Ci0gICAgICAgIHJldHVybiBbJ3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DJ10gKyBzdXBlcigpLnByZV9jaGVja3MoKQotCi0gICAgZGVmIGhycl9wb3N0X2NoZWNrcyhzZWxmLCBuYW1lZF9ncm91cCk6Ci0gICAgICAgIHJldCA9IFsnLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiJ10KLSAgICAgICAgcmV0ICs9IFsnLWMgInNlbGVjdGVkX2dyb3VwICggezpkfSApIicuZm9ybWF0KE5BTUVEX0dST1VQX0lBTkFfVkFMVUVbbmFtZWRfZ3JvdXBdKV0KLSAgICAgICAgcmV0dXJuIHJldAotCi0gICAgZGVmIHBvc3RfY2hlY2tzKHNlbGYpOgotICAgICAgICBjaGVja19zdHJpbmdzID0gWyJQcm90b2NvbCBpcyBUTFN2MS4zIl0KLSAgICAgICAgaWYgc2VsZi5fY2lwaGVyczoKLSAgICAgICAgICAgIGNoZWNrX3N0cmluZ3MuYXBwZW5kKAotICAgICAgICAgICAgICAgICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogKCB7OjA0eH0gKSAtIHt9Ii5mb3JtYXQoCi0gICAgICAgICAgICAgICAgICAgIENJUEhFUl9TVUlURV9JQU5BX1ZBTFVFW3NlbGYuX2NpcGhlcnNbMF1dLAotICAgICAgICAgICAgICAgICAgICBzZWxmLkNJUEhFUl9TVUlURVtzZWxmLl9jaXBoZXJzWzBdXSkpCi0gICAgICAgIGlmIHNlbGYuX3NpZ19hbGdzOgotICAgICAgICAgICAgY2hlY2tfc3RyaW5ncy5hcHBlbmQoCi0gICAgICAgICAgICAgICAgIkNlcnRpZmljYXRlIFZlcmlmeTogU2lnbmF0dXJlIGFsZ29yaXRobSAoIHs6MDR4fSApIi5mb3JtYXQoCi0gICAgICAgICAgICAgICAgICAgIFNJR19BTEdfSUFOQV9WQUxVRVtzZWxmLl9zaWdfYWxnc1swXV0pKQotCi0gICAgICAgIGZvciBuYW1lZF9ncm91cCBpbiBzZWxmLl9uYW1lZF9ncm91cHM6Ci0gICAgICAgICAgICBjaGVja19zdHJpbmdzICs9IFsnTmFtZWRHcm91cDoge25hbWVkX2dyb3VwfSAoIHtpYW5hX3ZhbHVlOnh9ICknLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZWRfZ3JvdXA9bmFtZWRfZ3JvdXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlhbmFfdmFsdWU9TkFNRURfR1JPVVBfSUFOQV9WQUxVRVtuYW1lZF9ncm91cF0pXQotCi0gICAgICAgIGNoZWNrX3N0cmluZ3MuYXBwZW5kKCJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIpCi0gICAgICAgIHJldHVybiBbJy1jICJ7fSInLmZvcm1hdChpKSBmb3IgaSBpbiBjaGVja19zdHJpbmdzXQotCi0KLVNFUlZFUl9DTEFTU0VTID0geydPcGVuU1NMJzogT3BlblNTTFNlcnYsICdHbnVUTFMnOiBHbnVUTFNTZXJ2LCAnbWJlZFRMUyc6IE1iZWRUTFNTZXJ2fQotQ0xJRU5UX0NMQVNTRVMgPSB7J09wZW5TU0wnOiBPcGVuU1NMQ2xpLCAnR251VExTJzogR251VExTQ2xpLCAnbWJlZFRMUyc6IE1iZWRUTFNDbGl9Ci0KLQotZGVmIGdlbmVyYXRlX2NvbXBhdF90ZXN0KGNsaWVudD1Ob25lLCBzZXJ2ZXI9Tm9uZSwgY2lwaGVyPU5vbmUsIG5hbWVkX2dyb3VwPU5vbmUsIHNpZ19hbGc9Tm9uZSk6Ci0gICAgIiIiCi0gICAgR2VuZXJhdGUgdGVzdCBjYXNlIHdpdGggYHNzbC1vcHQuc2hgIGZvcm1hdC4KLSAgICAiIiIKLSAgICBuYW1lID0gJ1RMUyAxLjMge2NsaWVudFswXX0tPntzZXJ2ZXJbMF19OiB7Y2lwaGVyfSx7bmFtZWRfZ3JvdXB9LHtzaWdfYWxnfScuZm9ybWF0KAotICAgICAgICBjbGllbnQ9Y2xpZW50LCBzZXJ2ZXI9c2VydmVyLCBjaXBoZXI9Y2lwaGVyWzQ6XSwgc2lnX2FsZz1zaWdfYWxnLCBuYW1lZF9ncm91cD1uYW1lZF9ncm91cCkKLQotICAgIHNlcnZlcl9vYmplY3QgPSBTRVJWRVJfQ0xBU1NFU1tzZXJ2ZXJdKGNpcGhlcnN1aXRlPWNpcGhlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lZF9ncm91cD1uYW1lZF9ncm91cCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmVfYWxnb3JpdGhtPXNpZ19hbGcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydF9zaWdfYWxnPXNpZ19hbGcpCi0gICAgY2xpZW50X29iamVjdCA9IENMSUVOVF9DTEFTU0VTW2NsaWVudF0oY2lwaGVyc3VpdGU9Y2lwaGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVkX2dyb3VwPW5hbWVkX2dyb3VwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hdHVyZV9hbGdvcml0aG09c2lnX2FsZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0X3NpZ19hbGc9c2lnX2FsZykKLQotICAgIGNtZCA9IFsncnVuX3Rlc3QgInt9IicuZm9ybWF0KG5hbWUpLAotICAgICAgICAgICAnInt9IicuZm9ybWF0KCcgJy5qb2luKHNlcnZlcl9vYmplY3QuY21kKCkpKSwKLSAgICAgICAgICAgJyJ7fSInLmZvcm1hdCgnICcuam9pbihjbGllbnRfb2JqZWN0LmNtZCgpKSksCi0gICAgICAgICAgICcwJ10KLSAgICBjbWQgKz0gc2VydmVyX29iamVjdC5wb3N0X2NoZWNrcygpCi0gICAgY21kICs9IGNsaWVudF9vYmplY3QucG9zdF9jaGVja3MoKQotICAgIGNtZCArPSBbJy1DICJyZWNlaXZlZCBIZWxsb1JldHJ5UmVxdWVzdCBtZXNzYWdlIiddCi0gICAgcHJlZml4ID0gJyBcXFxuJyArICgnICcqOSkKLSAgICBjbWQgPSBwcmVmaXguam9pbihjbWQpCi0gICAgcmV0dXJuICdcbicuam9pbihzZXJ2ZXJfb2JqZWN0LnByZV9jaGVja3MoKSArIGNsaWVudF9vYmplY3QucHJlX2NoZWNrcygpICsgW2NtZF0pCi0KLQotZGVmIGdlbmVyYXRlX2hycl9jb21wYXRfdGVzdChjbGllbnQ9Tm9uZSwgc2VydmVyPU5vbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9uYW1lZF9ncm91cD1Ob25lLCBzZXJ2ZXJfbmFtZWRfZ3JvdXA9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydF9zaWdfYWxnPU5vbmUpOgotICAgICIiIgotICAgIEdlbmVyYXRlIEhlbGxvIFJldHJ5IFJlcXVlc3QgdGVzdCBjYXNlIHdpdGggYHNzbC1vcHQuc2hgIGZvcm1hdC4KLSAgICAiIiIKLSAgICBuYW1lID0gJ1RMUyAxLjMge2NsaWVudFswXX0tPntzZXJ2ZXJbMF19OiBIUlIge2NfbmFtZWRfZ3JvdXB9IC0+IHtzX25hbWVkX2dyb3VwfScuZm9ybWF0KAotICAgICAgICBjbGllbnQ9Y2xpZW50LCBzZXJ2ZXI9c2VydmVyLCBjX25hbWVkX2dyb3VwPWNsaWVudF9uYW1lZF9ncm91cCwKLSAgICAgICAgc19uYW1lZF9ncm91cD1zZXJ2ZXJfbmFtZWRfZ3JvdXApCi0gICAgc2VydmVyX29iamVjdCA9IFNFUlZFUl9DTEFTU0VTW3NlcnZlcl0obmFtZWRfZ3JvdXA9c2VydmVyX25hbWVkX2dyb3VwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRfc2lnX2FsZz1jZXJ0X3NpZ19hbGcpCi0KLSAgICBjbGllbnRfb2JqZWN0ID0gQ0xJRU5UX0NMQVNTRVNbY2xpZW50XShuYW1lZF9ncm91cD1jbGllbnRfbmFtZWRfZ3JvdXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydF9zaWdfYWxnPWNlcnRfc2lnX2FsZykKLSAgICBjbGllbnRfb2JqZWN0LmFkZF9uYW1lZF9ncm91cHMoc2VydmVyX25hbWVkX2dyb3VwKQotCi0gICAgY21kID0gWydydW5fdGVzdCAie30iJy5mb3JtYXQobmFtZSksCi0gICAgICAgICAgICcie30iJy5mb3JtYXQoJyAnLmpvaW4oc2VydmVyX29iamVjdC5jbWQoKSkpLAotICAgICAgICAgICAnInt9IicuZm9ybWF0KCcgJy5qb2luKGNsaWVudF9vYmplY3QuY21kKCkpKSwKLSAgICAgICAgICAgJzAnXQotICAgIGNtZCArPSBzZXJ2ZXJfb2JqZWN0LnBvc3RfY2hlY2tzKCkKLSAgICBjbWQgKz0gY2xpZW50X29iamVjdC5wb3N0X2NoZWNrcygpCi0gICAgY21kICs9IHNlcnZlcl9vYmplY3QuaHJyX3Bvc3RfY2hlY2tzKHNlcnZlcl9uYW1lZF9ncm91cCkKLSAgICBjbWQgKz0gY2xpZW50X29iamVjdC5ocnJfcG9zdF9jaGVja3Moc2VydmVyX25hbWVkX2dyb3VwKQotICAgIHByZWZpeCA9ICcgXFxcbicgKyAoJyAnKjkpCi0gICAgY21kID0gcHJlZml4LmpvaW4oY21kKQotICAgIHJldHVybiAnXG4nLmpvaW4oc2VydmVyX29iamVjdC5wcmVfY2hlY2tzKCkgKwotICAgICAgICAgICAgICAgICAgICAgY2xpZW50X29iamVjdC5wcmVfY2hlY2tzKCkgKwotICAgICAgICAgICAgICAgICAgICAgW2NtZF0pCi0KLVNTTF9PVVRQVVRfSEVBREVSID0gJycnIyEvYmluL3NoCi0KLSMge2ZpbGVuYW1lfQotIwotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0jCi0jIFB1cnBvc2UKLSMKLSMgTGlzdCBUTFMxLjMgY29tcGF0IHRlc3QgY2FzZXMuIFRoZXkgYXJlIGdlbmVyYXRlZCBieQotIyBge2NtZH1gLgotIwotIyBQTEVBU0UgRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJRiBORUVERUQsIFBMRUFTRSBNT0RJRlkgYGdlbmVyYXRlX3RsczEzX2NvbXBhdF90ZXN0cy5weWAKLSMgQU5EIFJFR0VORVJBVEUgVEhJUyBGSUxFLgotIwotJycnCi0KLWRlZiBtYWluKCk6Ci0gICAgIiIiCi0gICAgTWFpbiBmdW5jdGlvbiBvZiB0aGlzIHByb2dyYW0KLSAgICAiIiIKLSAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCi0KLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctbycsICctLW91dHB1dCcsIG5hcmdzPSc/JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9Tm9uZSwgaGVscD0nT3V0cHV0IGZpbGUgcGF0aCBpZiBgLWFgIHdhcyBzZXQnKQotCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLWEnLCAnLS1nZW5lcmF0ZS1hbGwtdGxzMTMtY29tcGF0LXRlc3RzJywgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGhlbHA9J0dlbmVyYXRlIGFsbCBhdmFpbGFibGUgdGxzMTMgY29tcGF0IHRlc3RzJykKLQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbGlzdC1jaXBoZXJzJywgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGhlbHA9J0xpc3Qgc3VwcG9ydGVkIGNpcGhlcnN1aXRlcycpCi0KLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxpc3Qtc2lnLWFsZ3MnLCBhY3Rpb249J3N0b3JlX3RydWUnLAotICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwgaGVscD0nTGlzdCBzdXBwb3J0ZWQgc2lnbmF0dXJlIGFsZ29yaXRobXMnKQotCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1saXN0LW5hbWVkLWdyb3VwcycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLCBoZWxwPSdMaXN0IHN1cHBvcnRlZCBuYW1lZCBncm91cHMnKQotCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1saXN0LXNlcnZlcnMnLCBhY3Rpb249J3N0b3JlX3RydWUnLAotICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwgaGVscD0nTGlzdCBzdXBwb3J0ZWQgVExTIHNlcnZlcnMnKQotCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1saXN0LWNsaWVudHMnLCBhY3Rpb249J3N0b3JlX3RydWUnLAotICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwgaGVscD0nTGlzdCBzdXBwb3J0ZWQgVExTIENsaWVudHMnKQotCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnc2VydmVyJywgY2hvaWNlcz1TRVJWRVJfQ0xBU1NFUy5rZXlzKCksIG5hcmdzPSc/JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9bGlzdChTRVJWRVJfQ0xBU1NFUy5rZXlzKCkpWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQ2hvb3NlIFRMUyBzZXJ2ZXIgcHJvZ3JhbSBmb3IgdGVzdCcpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnY2xpZW50JywgY2hvaWNlcz1DTElFTlRfQ0xBU1NFUy5rZXlzKCksIG5hcmdzPSc/JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9bGlzdChDTElFTlRfQ0xBU1NFUy5rZXlzKCkpWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQ2hvb3NlIFRMUyBjbGllbnQgcHJvZ3JhbSBmb3IgdGVzdCcpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnY2lwaGVyJywgY2hvaWNlcz1DSVBIRVJfU1VJVEVfSUFOQV9WQUxVRS5rZXlzKCksIG5hcmdzPSc/JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9bGlzdChDSVBIRVJfU1VJVEVfSUFOQV9WQUxVRS5rZXlzKCkpWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQ2hvb3NlIGNpcGhlciBzdWl0ZSBmb3IgdGVzdCcpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnc2lnX2FsZycsIGNob2ljZXM9U0lHX0FMR19JQU5BX1ZBTFVFLmtleXMoKSwgbmFyZ3M9Jz8nLAotICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1saXN0KFNJR19BTEdfSUFOQV9WQUxVRS5rZXlzKCkpWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQ2hvb3NlIGNpcGhlciBzdWl0ZSBmb3IgdGVzdCcpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnbmFtZWRfZ3JvdXAnLCBjaG9pY2VzPU5BTUVEX0dST1VQX0lBTkFfVkFMVUUua2V5cygpLCBuYXJncz0nPycsCi0gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PWxpc3QoTkFNRURfR1JPVVBfSUFOQV9WQUxVRS5rZXlzKCkpWzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQ2hvb3NlIGNpcGhlciBzdWl0ZSBmb3IgdGVzdCcpCi0KLSAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotCi0gICAgZGVmIGdldF9hbGxfdGVzdF9jYXNlcygpOgotICAgICAgICAjIEdlbmVyYXRlIG5vcm1hbCBjb21wYXQgdGVzdCBjYXNlcwotICAgICAgICBmb3IgY2xpZW50LCBzZXJ2ZXIsIGNpcGhlciwgbmFtZWRfZ3JvdXAsIHNpZ19hbGcgaW4gXAotICAgICAgICAgICAgaXRlcnRvb2xzLnByb2R1Y3QoQ0xJRU5UX0NMQVNTRVMua2V5cygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VSVkVSX0NMQVNTRVMua2V5cygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0lQSEVSX1NVSVRFX0lBTkFfVkFMVUUua2V5cygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRURfR1JPVVBfSUFOQV9WQUxVRS5rZXlzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSUdfQUxHX0lBTkFfVkFMVUUua2V5cygpKToKLSAgICAgICAgICAgIGlmIHNlcnZlciA9PSAnbWJlZFRMUycgb3IgY2xpZW50ID09ICdtYmVkVExTJzoKLSAgICAgICAgICAgICAgICB5aWVsZCBnZW5lcmF0ZV9jb21wYXRfdGVzdChjbGllbnQ9Y2xpZW50LCBzZXJ2ZXI9c2VydmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpcGhlcj1jaXBoZXIsIG5hbWVkX2dyb3VwPW5hbWVkX2dyb3VwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ19hbGc9c2lnX2FsZykKLQotCi0gICAgICAgICMgR2VuZXJhdGUgSGVsbG8gUmV0cnkgUmVxdWVzdCAgY29tcGF0IHRlc3QgY2FzZXMKLSAgICAgICAgZm9yIGNsaWVudCwgc2VydmVyLCBjbGllbnRfbmFtZWRfZ3JvdXAsIHNlcnZlcl9uYW1lZF9ncm91cCBpbiBcCi0gICAgICAgICAgICBpdGVydG9vbHMucHJvZHVjdChDTElFTlRfQ0xBU1NFUy5rZXlzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRVJWRVJfQ0xBU1NFUy5rZXlzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1FRF9HUk9VUF9JQU5BX1ZBTFVFLmtleXMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BTUVEX0dST1VQX0lBTkFfVkFMVUUua2V5cygpKToKLQotICAgICAgICAgICAgaWYgKGNsaWVudCA9PSAnbWJlZFRMUycgb3Igc2VydmVyID09ICdtYmVkVExTJykgYW5kIFwKLSAgICAgICAgICAgICAgICBjbGllbnRfbmFtZWRfZ3JvdXAgIT0gc2VydmVyX25hbWVkX2dyb3VwOgotICAgICAgICAgICAgICAgIHlpZWxkIGdlbmVyYXRlX2hycl9jb21wYXRfdGVzdChjbGllbnQ9Y2xpZW50LCBzZXJ2ZXI9c2VydmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfbmFtZWRfZ3JvdXA9Y2xpZW50X25hbWVkX2dyb3VwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfbmFtZWRfZ3JvdXA9c2VydmVyX25hbWVkX2dyb3VwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0X3NpZ19hbGc9ImVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiKQotCi0gICAgaWYgYXJncy5nZW5lcmF0ZV9hbGxfdGxzMTNfY29tcGF0X3Rlc3RzOgotICAgICAgICBpZiBhcmdzLm91dHB1dDoKLSAgICAgICAgICAgIHdpdGggb3BlbihhcmdzLm91dHB1dCwgJ3cnLCBlbmNvZGluZz0idXRmLTgiKSBhcyBmOgotICAgICAgICAgICAgICAgIGYud3JpdGUoU1NMX09VVFBVVF9IRUFERVIuZm9ybWF0KAotICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZT1vcy5wYXRoLmJhc2VuYW1lKGFyZ3Mub3V0cHV0KSwgY21kPScgJy5qb2luKHN5cy5hcmd2KSkpCi0gICAgICAgICAgICAgICAgZi53cml0ZSgnXG5cbicuam9pbihnZXRfYWxsX3Rlc3RfY2FzZXMoKSkpCi0gICAgICAgICAgICAgICAgZi53cml0ZSgnXG4nKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHJpbnQoJ1xuXG4nLmpvaW4oZ2V0X2FsbF90ZXN0X2Nhc2VzKCkpKQotICAgICAgICByZXR1cm4gMAotCi0gICAgaWYgYXJncy5saXN0X2NpcGhlcnMgb3IgYXJncy5saXN0X3NpZ19hbGdzIG9yIGFyZ3MubGlzdF9uYW1lZF9ncm91cHMgXAotICAgICAgICAgICAgb3IgYXJncy5saXN0X3NlcnZlcnMgb3IgYXJncy5saXN0X2NsaWVudHM6Ci0gICAgICAgIGlmIGFyZ3MubGlzdF9jaXBoZXJzOgotICAgICAgICAgICAgcHJpbnQoKkNJUEhFUl9TVUlURV9JQU5BX1ZBTFVFLmtleXMoKSkKLSAgICAgICAgaWYgYXJncy5saXN0X3NpZ19hbGdzOgotICAgICAgICAgICAgcHJpbnQoKlNJR19BTEdfSUFOQV9WQUxVRS5rZXlzKCkpCi0gICAgICAgIGlmIGFyZ3MubGlzdF9uYW1lZF9ncm91cHM6Ci0gICAgICAgICAgICBwcmludCgqTkFNRURfR1JPVVBfSUFOQV9WQUxVRS5rZXlzKCkpCi0gICAgICAgIGlmIGFyZ3MubGlzdF9zZXJ2ZXJzOgotICAgICAgICAgICAgcHJpbnQoKlNFUlZFUl9DTEFTU0VTLmtleXMoKSkKLSAgICAgICAgaWYgYXJncy5saXN0X2NsaWVudHM6Ci0gICAgICAgICAgICBwcmludCgqQ0xJRU5UX0NMQVNTRVMua2V5cygpKQotICAgICAgICByZXR1cm4gMAotCi0gICAgcHJpbnQoZ2VuZXJhdGVfY29tcGF0X3Rlc3Qoc2VydmVyPWFyZ3Muc2VydmVyLCBjbGllbnQ9YXJncy5jbGllbnQsIHNpZ19hbGc9YXJncy5zaWdfYWxnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpcGhlcj1hcmdzLmNpcGhlciwgbmFtZWRfZ3JvdXA9YXJncy5uYW1lZF9ncm91cCkpCi0gICAgcmV0dXJuIDAKLQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHN5cy5leGl0KG1haW4oKSkKZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvcGtnY29uZmlnLnNoIGIvdGVzdHMvc2NyaXB0cy9wa2djb25maWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjcwMmJmYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3NjcmlwdHMvcGtnY29uZmlnLnNoCkBAIC0wLDAgKzEsMzcgQEAKKyMhL2Jpbi9zaAorIworIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCisjCisjIFB1cnBvc2UKKyMKKyMgVGVzdCBwa2djb25maWcgZmlsZXMuCisjCisjIEZvciBlYWNoIG9mIHRoZSBidWlsZCBwa2ctY29uZmlnIGZpbGVzLCAucGMgZmlsZXMsIGNoZWNrIHRoYXQKKyMgdGhleSB2YWxpZGF0ZSBhbmQgZG8gc29tZSBiYXNpYyBzYW5pdHkgdGVzdGluZyBvbiB0aGUgb3V0cHV0LAorIyBpLmUuIHRoYXQgdGhlIHN0cmluZ3MgYXJlIG5vbi1lbXB0eS4KKyMKKyMgTk9URTogVGhpcyByZXF1aXJlcyB0aGUgYnVpbHQgcGMgZmlsZXMgdG8gYmUgb24gdGhlIHBrZy1jb25maWcKKyMgc2VhcmNoIHBhdGgsIHRoaXMgY2FuIGJlIGNvbnRyb2xsZWQgd2l0aCBlbnYgdmFyaWFibGUKKyMgUEtHX0NPTkZJR19QQVRILiBTZWUgbWFuKDEpIHBrZy1jb25maWcgZm9yIGRldGFpbHMuCisjCisKK3NldCAtZSAtdQorCisjIFRoZXNlIGFyZSB0aGUgRVhQRUNURUQgcGFja2FnZSBuYW1lcy4gUmVuYW1pbmcgdGhlc2UgY291bGQgYnJlYWsKKyMgY29uc3VtZXJzIG9mIHBrZy1jb25maWcsIGNvbnNpZGVyIGNhcmVmdWxseS4KK2FsbF9wY3M9Im1iZWR0bHMgbWJlZHg1MDkgbWJlZGNyeXB0byIKKworZm9yIHBjIGluICRhbGxfcGNzOyBkbworICAgIHByaW50ZiAidGVzdGluZyBwYWNrYWdlIGNvbmZpZyBmaWxlOiAke3BjfSAuLi4gIgorICAgIHBrZy1jb25maWcgLS12YWxpZGF0ZSAiJHtwY30iCisgICAgdmVyc2lvbj0iJChwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiAiJHtwY30iKSIKKyAgICB0ZXN0IC1uICIkdmVyc2lvbiIKKyAgICBjZmxhZ3M9IiQocGtnLWNvbmZpZyAtLWNmbGFncyAiJHtwY30iKSIKKyAgICB0ZXN0IC1uICIkY2ZsYWdzIgorICAgIGxpYnM9IiQocGtnLWNvbmZpZyAtLWxpYnMgIiR7cGN9IikiCisgICAgdGVzdCAtbiAiJGxpYnMiCisgICAgcHJpbnRmICJwYXNzZWRcbiIKK2RvbmUKKworZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy9zY3JpcHRzL3NjcmlwdHNfcGF0aC5weSBiL3Rlc3RzL3NjcmlwdHMvc2NyaXB0c19wYXRoLnB5CmluZGV4IDVkODNmMjkuLmNlMmFmY2YgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NjcmlwdHMvc2NyaXB0c19wYXRoLnB5CisrKyBiL3Rlc3RzL3NjcmlwdHMvc2NyaXB0c19wYXRoLnB5CkBAIC0xNSwzICsxNSw2IEBACiBzeXMucGF0aC5hcHBlbmQob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGgucGFyZGlyLCBvcy5wYXRoLnBhcmRpciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjcmlwdHMnKSkKK3N5cy5wYXRoLmFwcGVuZChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5wYXJkaXIsIG9zLnBhdGgucGFyZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZnJhbWV3b3JrJywgJ3NjcmlwdHMnKSkKZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvdGVzdC1yZWYtY29uZmlncy5wbCBiL3Rlc3RzL3NjcmlwdHMvdGVzdC1yZWYtY29uZmlncy5wbApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDU1MDIzYS4uMDAwMDAwMAotLS0gYS90ZXN0cy9zY3JpcHRzL3Rlc3QtcmVmLWNvbmZpZ3MucGwKKysrIC9kZXYvbnVsbApAQCAtMSwxNjEgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcGVybAotCi0jIHRlc3QtcmVmLWNvbmZpZ3MucGwKLSMKLSMgQ29weXJpZ2h0IFRoZSBNYmVkIFRMUyBDb250cmlidXRvcnMKLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotIwotIyBQdXJwb3NlCi0jCi0jIEZvciBlYWNoIHJlZmVyZW5jZSBjb25maWd1cmF0aW9uIGZpbGUgaW4gdGhlIGNvbmZpZ3MgZGlyZWN0b3J5LCBidWlsZCB0aGUKLSMgY29uZmlndXJhdGlvbiwgcnVuIHRoZSB0ZXN0IHN1aXRlcyBhbmQgY29tcGF0LnNoCi0jCi0jIFVzYWdlOiB0ZXN0cy9zY3JpcHRzL3Rlc3QtcmVmLWNvbmZpZ3MucGwgW2NvbmZpZy1uYW1lIFsuLi5dXQotCi11c2Ugd2FybmluZ3M7Ci11c2Ugc3RyaWN0OwotCi1teSAlY29uZmlncyA9ICgKLSAgICAnY29uZmlnLWNjbS1wc2stdGxzMV8yLmgnID0+IHsKLSAgICAgICAgJ2NvbXBhdCcgPT4gJy1tIHRsczEyIC1mIFwnXlRMUy1QU0stV0lUSC1BRVMtLi4uLUNDTS04XCcnLAotICAgICAgICAndGVzdF9hZ2Fpbl93aXRoX3VzZV9wc2EnID0+IDEKLSAgICB9LAotICAgICdjb25maWctY2NtLXBzay1kdGxzMV8yLmgnID0+IHsKLSAgICAgICAgJ2NvbXBhdCcgPT4gJy1tIGR0bHMxMiAtZiBcJ15UTFMtUFNLLVdJVEgtQUVTLS4uLi1DQ00tOFwnJywKLSAgICAgICAgJ29wdCcgPT4gJyAnLAotICAgICAgICAnb3B0X25lZWRzX2RlYnVnJyA9PiAxLAotICAgICAgICAndGVzdF9hZ2Fpbl93aXRoX3VzZV9wc2EnID0+IDEKLSAgICB9LAotICAgICdjb25maWctbm8tZW50cm9weS5oJyA9PiB7Ci0gICAgfSwKLSAgICAnY29uZmlnLXN1aXRlLWIuaCcgPT4gewotICAgICAgICAnY29tcGF0JyA9PiAiLW0gdGxzMTIgLWYgJ0VDREhFLUVDRFNBLipBRVMuKkdDTScgLXAgbWJlZFRMUyIsCi0gICAgICAgICd0ZXN0X2FnYWluX3dpdGhfdXNlX3BzYScgPT4gMSwKLSAgICAgICAgJ29wdCcgPT4gJyAnLAotICAgICAgICAnb3B0X25lZWRzX2RlYnVnJyA9PiAxLAotICAgIH0sCi0gICAgJ2NvbmZpZy1zeW1tZXRyaWMtb25seS5oJyA9PiB7Ci0gICAgICAgICd0ZXN0X2FnYWluX3dpdGhfdXNlX3BzYScgPT4gMCwgIyBVc2VzIFBTQSBieSBkZWZhdWx0LCBubyBuZWVkIHRvIHRlc3QgaXQgdHdpY2UKLSAgICB9LAotICAgICdjb25maWctdGZtLmgnID0+IHsKLSAgICAgICAgJ3Rlc3RfYWdhaW5fd2l0aF91c2VfcHNhJyA9PiAwLCAjIFVzZXMgUFNBIGJ5IGRlZmF1bHQsIG5vIG5lZWQgdG8gdGVzdCBpdCB0d2ljZQotICAgIH0sCi0gICAgJ2NvbmZpZy10aHJlYWQuaCcgPT4gewotICAgICAgICAnb3B0JyA9PiAnLWYgRUNKUEFLRS4qbm9sb2cnLAotICAgICAgICAndGVzdF9hZ2Fpbl93aXRoX3VzZV9wc2EnID0+IDEsCi0gICAgfSwKLSk7Ci0KLSMgSWYgbm8gY29uZmlnLW5hbWUgaXMgcHJvdmlkZWQsIHVzZSBhbGwga25vd24gY29uZmlncy4KLSMgT3RoZXJ3aXNlLCB1c2UgdGhlIHByb3ZpZGVkIG5hbWVzIG9ubHkuCi1teSBAY29uZmlnc190b190ZXN0ID0gc29ydCBrZXlzICVjb25maWdzOwotaWYgKCQjQVJHViA+PSAwKSB7Ci0gICAgZm9yZWFjaCBteSAkY29uZl9uYW1lICggQEFSR1YgKSB7Ci0gICAgICAgIGlmKCAhIGV4aXN0cyAkY29uZmlnc3skY29uZl9uYW1lfSApIHsKLSAgICAgICAgICAgIGRpZSAiVW5rbm93biBjb25maWd1cmF0aW9uOiAkY29uZl9uYW1lXG4iOwotICAgICAgICB9Ci0gICAgfQotICAgIEBjb25maWdzX3RvX3Rlc3QgPSBAQVJHVjsKLX0KLQotLWQgJ2xpYnJhcnknICYmIC1kICdpbmNsdWRlJyAmJiAtZCAndGVzdHMnIG9yIGRpZSAiTXVzdCBiZSBydW4gZnJvbSByb290XG4iOwotCi1teSAkY29uZmlnX2ggPSAnaW5jbHVkZS9tYmVkdGxzL21iZWR0bHNfY29uZmlnLmgnOwotCi1zeXN0ZW0oICJjcCAkY29uZmlnX2ggJGNvbmZpZ19oLmJhayIgKSBhbmQgZGllOwotc3ViIGFib3J0IHsKLSAgICBzeXN0ZW0oICJtdiAkY29uZmlnX2guYmFrICRjb25maWdfaCIgKSBhbmQgd2FybiAiJGNvbmZpZ19oIG5vdCByZXN0b3JlZFxuIjsKLSAgICAjIHVzZSBhbiBleGl0IGNvZGUgYmV0d2VlbiAxIGFuZCAxMjQgZm9yIGdpdCBiaXNlY3QgKGRpZSByZXR1cm5zIDI1NSkKLSAgICB3YXJuICRfWzBdOwotICAgIGV4aXQgMTsKLX0KLQotIyBDcmVhdGUgYSBzZWVkZmlsZSBmb3IgY29uZmlndXJhdGlvbnMgdGhhdCBlbmFibGUgTUJFRFRMU19FTlRST1BZX05WX1NFRUQuCi0jIEZvciB0ZXN0IHB1cnBvc2VzLCB0aGlzIGRvZXNuJ3QgaGF2ZSB0byBiZSBjcnlwdG9ncmFwaGljYWxseSByYW5kb20uCi1pZiAoIS1lICJ0ZXN0cy9zZWVkZmlsZSIgfHwgLXMgInRlc3RzL3NlZWRmaWxlIiA8IDY0KSB7Ci0gICAgbG9jYWwgKlNFRURGSUxFOwotICAgIG9wZW4gU0VFREZJTEUsICI+dGVzdHMvc2VlZGZpbGUiIG9yIGRpZTsKLSAgICBwcmludCBTRUVERklMRSAiKiIgeCA2NCBvciBkaWU7Ci0gICAgY2xvc2UgU0VFREZJTEUgb3IgZGllOwotfQotCi1zdWIgcGVyZm9ybV90ZXN0IHsKLSAgICBteSAkY29uZl9maWxlID0gJF9bMF07Ci0gICAgbXkgJGRhdGEgPSAkX1sxXTsKLSAgICBteSAkdGVzdF93aXRoX3BzYSA9ICRfWzJdOwotCi0gICAgbXkgJGNvbmZfbmFtZSA9ICRjb25mX2ZpbGU7Ci0gICAgaWYgKCAkdGVzdF93aXRoX3BzYSApCi0gICAgewotICAgICAgICAkY29uZl9uYW1lIC49ICIrUFNBIjsKLSAgICB9Ci0KLSAgICBzeXN0ZW0oICJjcCAkY29uZmlnX2guYmFrICRjb25maWdfaCIgKSBhbmQgZGllOwotICAgIHN5c3RlbSggIm1ha2UgY2xlYW4iICkgYW5kIGRpZTsKLQotICAgIHByaW50ICJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIjsKLSAgICBwcmludCAiKiBUZXN0aW5nIGNvbmZpZ3VyYXRpb246ICRjb25mX25hbWVcbiI7Ci0gICAgcHJpbnQgIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIjsKLQotICAgICRFTlZ7TUJFRFRMU19URVNUX0NPTkZJR1VSQVRJT059ID0gJGNvbmZfbmFtZTsKLQotICAgIHN5c3RlbSggImNwIGNvbmZpZ3MvJGNvbmZfZmlsZSAkY29uZmlnX2giICkKLSAgICAgICAgYW5kIGFib3J0ICJGYWlsZWQgdG8gYWN0aXZhdGUgJGNvbmZfZmlsZVxuIjsKLQotICAgIGlmICggJHRlc3Rfd2l0aF9wc2EgKQotICAgIHsKLSAgICAgICAgc3lzdGVtKCAic2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfUFNBX0NSWVBUT19DIiApOwotICAgICAgICBzeXN0ZW0oICJzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTyIgKTsKLSAgICB9Ci0KLSAgICBzeXN0ZW0oICJDRkxBR1M9Jy1PcyAtV2Vycm9yIC1XYWxsIC1XZXh0cmEnIG1ha2UiICkgYW5kIGFib3J0ICJGYWlsZWQgdG8gYnVpbGQ6ICRjb25mX25hbWVcbiI7Ci0gICAgc3lzdGVtKCAibWFrZSB0ZXN0IiApIGFuZCBhYm9ydCAiRmFpbGVkIHRlc3Qgc3VpdGU6ICRjb25mX25hbWVcbiI7Ci0KLSAgICBteSAkY29tcGF0ID0gJGRhdGEtPnsnY29tcGF0J307Ci0gICAgaWYoICRjb21wYXQgKQotICAgIHsKLSAgICAgICAgcHJpbnQgIlxucnVubmluZyBjb21wYXQuc2ggJGNvbXBhdCAoJGNvbmZfbmFtZSlcbiI7Ci0gICAgICAgIHN5c3RlbSggInRlc3RzL2NvbXBhdC5zaCAkY29tcGF0IiApCi0gICAgICAgICAgICBhbmQgYWJvcnQgIkZhaWxlZCBjb21wYXQuc2g6ICRjb25mX25hbWVcbiI7Ci0gICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAgICAgIHByaW50ICJcbnNraXBwaW5nIGNvbXBhdC5zaCAoJGNvbmZfbmFtZSlcbiI7Ci0gICAgfQotCi0gICAgbXkgJG9wdCA9ICRkYXRhLT57J29wdCd9OwotICAgIGlmKCAkb3B0ICkKLSAgICB7Ci0gICAgICAgIGlmKCAkZGF0YS0+eydvcHRfbmVlZHNfZGVidWcnfSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHByaW50ICJcbnJlYnVpbGRpbmcgd2l0aCBkZWJ1ZyB0cmFjZXMgZm9yIHNzbC1vcHQgKCRjb25mX25hbWUpXG4iOwotICAgICAgICAgICAgJGNvbmZfbmFtZSAuPSAnK0RFQlVHJzsKLSAgICAgICAgICAgICRFTlZ7TUJFRFRMU19URVNUX0NPTkZJR1VSQVRJT059ID0gJGNvbmZfbmFtZTsKLSAgICAgICAgICAgIHN5c3RlbSggIm1ha2UgY2xlYW4iICk7Ci0gICAgICAgICAgICBzeXN0ZW0oICJzY3JpcHRzL2NvbmZpZy5weSBzZXQgTUJFRFRMU19ERUJVR19DIiApOwotICAgICAgICAgICAgc3lzdGVtKCAic2NyaXB0cy9jb25maWcucHkgc2V0IE1CRURUTFNfRVJST1JfQyIgKTsKLSAgICAgICAgICAgIHN5c3RlbSggIkNGTEFHUz0nLU9zIC1XZXJyb3IgLVdhbGwgLVdleHRyYScgbWFrZSIgKSBhbmQgYWJvcnQgIkZhaWxlZCB0byBidWlsZDogJGNvbmZfbmFtZVxuIjsKLSAgICAgICAgfQotCi0gICAgICAgIHByaW50ICJcbnJ1bm5pbmcgc3NsLW9wdC5zaCAkb3B0ICgkY29uZl9uYW1lKVxuIjsKLSAgICAgICAgc3lzdGVtKCAidGVzdHMvc3NsLW9wdC5zaCAkb3B0IiApCi0gICAgICAgICAgICBhbmQgYWJvcnQgIkZhaWxlZCBzc2wtb3B0LnNoOiAkY29uZl9uYW1lXG4iOwotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAgICAgICBwcmludCAiXG5za2lwcGluZyBzc2wtb3B0LnNoICgkY29uZl9uYW1lKVxuIjsKLSAgICB9Ci19Ci0KLWZvcmVhY2ggbXkgJGNvbmYgKCBAY29uZmlnc190b190ZXN0ICkgewotICAgIG15ICR0ZXN0X3dpdGhfcHNhID0gJGNvbmZpZ3N7JGNvbmZ9eyd0ZXN0X2FnYWluX3dpdGhfdXNlX3BzYSd9OwotICAgIGlmICggJHRlc3Rfd2l0aF9wc2EgKQotICAgIHsKLSAgICAgICAgcGVyZm9ybV90ZXN0KCAkY29uZiwgJGNvbmZpZ3N7JGNvbmZ9LCAkdGVzdF93aXRoX3BzYSApOwotICAgIH0KLSAgICBwZXJmb3JtX3Rlc3QoICRjb25mLCAkY29uZmlnc3skY29uZn0sIDAgKTsKLX0KLQotc3lzdGVtKCAibXYgJGNvbmZpZ19oLmJhayAkY29uZmlnX2giICkgYW5kIHdhcm4gIiRjb25maWdfaCBub3QgcmVzdG9yZWRcbiI7Ci1zeXN0ZW0oICJtYWtlIGNsZWFuIiApOwotZXhpdCAwOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy90ZXN0X2dlbmVyYXRlX3Rlc3RfY29kZS5weSBiL3Rlc3RzL3NjcmlwdHMvdGVzdF9nZW5lcmF0ZV90ZXN0X2NvZGUucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGFiYzQ2YTcuLjAwMDAwMDAKLS0tIGEvdGVzdHMvc2NyaXB0cy90ZXN0X2dlbmVyYXRlX3Rlc3RfY29kZS5weQorKysgL2Rldi9udWxsCkBAIC0xLDE5MTUgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotIyBVbml0IHRlc3QgZm9yIGdlbmVyYXRlX3Rlc3RfY29kZS5weQotIwotIyBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwotIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCBPUiBHUEwtMi4wLW9yLWxhdGVyCi0KLSIiIgotVW5pdCB0ZXN0cyBmb3IgZ2VuZXJhdGVfdGVzdF9jb2RlLnB5Ci0iIiIKLQotZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KLWZyb20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlLCBtYWluIGFzIHVuaXR0ZXN0X21haW4KLWZyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgcGF0Y2gKLQotZnJvbSBnZW5lcmF0ZV90ZXN0X2NvZGUgaW1wb3J0IGdlbl9kZXBlbmRlbmNpZXMsIGdlbl9kZXBlbmRlbmNpZXNfb25lX2xpbmUKLWZyb20gZ2VuZXJhdGVfdGVzdF9jb2RlIGltcG9ydCBnZW5fZnVuY3Rpb25fd3JhcHBlciwgZ2VuX2Rpc3BhdGNoCi1mcm9tIGdlbmVyYXRlX3Rlc3RfY29kZSBpbXBvcnQgcGFyc2VfdW50aWxfcGF0dGVybiwgR2VuZXJhdG9ySW5wdXRFcnJvcgotZnJvbSBnZW5lcmF0ZV90ZXN0X2NvZGUgaW1wb3J0IHBhcnNlX3N1aXRlX2RlcGVuZGVuY2llcwotZnJvbSBnZW5lcmF0ZV90ZXN0X2NvZGUgaW1wb3J0IHBhcnNlX2Z1bmN0aW9uX2RlcGVuZGVuY2llcwotZnJvbSBnZW5lcmF0ZV90ZXN0X2NvZGUgaW1wb3J0IHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50cywgcGFyc2VfZnVuY3Rpb25fY29kZQotZnJvbSBnZW5lcmF0ZV90ZXN0X2NvZGUgaW1wb3J0IHBhcnNlX2Z1bmN0aW9ucywgRU5EX0hFQURFUl9SRUdFWAotZnJvbSBnZW5lcmF0ZV90ZXN0X2NvZGUgaW1wb3J0IEVORF9TVUlURV9IRUxQRVJTX1JFR0VYLCBlc2NhcGVkX3NwbGl0Ci1mcm9tIGdlbmVyYXRlX3Rlc3RfY29kZSBpbXBvcnQgcGFyc2VfdGVzdF9kYXRhLCBnZW5fZGVwX2NoZWNrCi1mcm9tIGdlbmVyYXRlX3Rlc3RfY29kZSBpbXBvcnQgZ2VuX2V4cHJlc3Npb25fY2hlY2ssIHdyaXRlX2RlcGVuZGVuY2llcwotZnJvbSBnZW5lcmF0ZV90ZXN0X2NvZGUgaW1wb3J0IHdyaXRlX3BhcmFtZXRlcnMsIGdlbl9zdWl0ZV9kZXBfY2hlY2tzCi1mcm9tIGdlbmVyYXRlX3Rlc3RfY29kZSBpbXBvcnQgZ2VuX2Zyb21fdGVzdF9kYXRhCi0KLQotY2xhc3MgR2VuRGVwKFRlc3RDYXNlKToKLSAgICAiIiIKLSAgICBUZXN0IHN1aXRlIGZvciBmdW5jdGlvbiBnZW5fZGVwKCkKLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X2RlcGVuZGVuY2llc19saXN0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGdlbl9kZXAoKSBjb3JyZWN0bHkgY3JlYXRlcyBkZXBlbmRlbmNpZXMgZm9yIGdpdmVuCi0gICAgICAgIGRlcGVuZGVuY3kgbGlzdC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRlcGVuZGVuY2llcyA9IFsnREVQMScsICdERVAyJ10KLSAgICAgICAgZGVwX3N0YXJ0LCBkZXBfZW5kID0gZ2VuX2RlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMpCi0gICAgICAgIHByZXByb2Nlc3NvcjEsIHByZXByb2Nlc3NvcjIgPSBkZXBfc3RhcnQuc3BsaXRsaW5lcygpCi0gICAgICAgIGVuZGlmMSwgZW5kaWYyID0gZGVwX2VuZC5zcGxpdGxpbmVzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcmVwcm9jZXNzb3IxLCAnI2lmIGRlZmluZWQoREVQMSknLAotICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVwcm9jZXNzb3IgZ2VuZXJhdGVkIGluY29ycmVjdGx5JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcmVwcm9jZXNzb3IyLCAnI2lmIGRlZmluZWQoREVQMiknLAotICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVwcm9jZXNzb3IgZ2VuZXJhdGVkIGluY29ycmVjdGx5JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmRpZjEsICcjZW5kaWYgLyogREVQMiAqLycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZXByb2Nlc3NvciBnZW5lcmF0ZWQgaW5jb3JyZWN0bHknKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuZGlmMiwgJyNlbmRpZiAvKiBERVAxICovJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlcHJvY2Vzc29yIGdlbmVyYXRlZCBpbmNvcnJlY3RseScpCi0KLSAgICBkZWYgdGVzdF9kaXNhYmxlZF9kZXBlbmRlbmNpZXNfbGlzdChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCBnZW5fZGVwKCkgY29ycmVjdGx5IGNyZWF0ZXMgZGVwZW5kZW5jaWVzIGZvciBnaXZlbgotICAgICAgICBkZXBlbmRlbmN5IGxpc3QuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkZXBlbmRlbmNpZXMgPSBbJyFERVAxJywgJyFERVAyJ10KLSAgICAgICAgZGVwX3N0YXJ0LCBkZXBfZW5kID0gZ2VuX2RlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMpCi0gICAgICAgIHByZXByb2Nlc3NvcjEsIHByZXByb2Nlc3NvcjIgPSBkZXBfc3RhcnQuc3BsaXRsaW5lcygpCi0gICAgICAgIGVuZGlmMSwgZW5kaWYyID0gZGVwX2VuZC5zcGxpdGxpbmVzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcmVwcm9jZXNzb3IxLCAnI2lmICFkZWZpbmVkKERFUDEpJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlcHJvY2Vzc29yIGdlbmVyYXRlZCBpbmNvcnJlY3RseScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHJlcHJvY2Vzc29yMiwgJyNpZiAhZGVmaW5lZChERVAyKScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZXByb2Nlc3NvciBnZW5lcmF0ZWQgaW5jb3JyZWN0bHknKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuZGlmMSwgJyNlbmRpZiAvKiAhREVQMiAqLycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZXByb2Nlc3NvciBnZW5lcmF0ZWQgaW5jb3JyZWN0bHknKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuZGlmMiwgJyNlbmRpZiAvKiAhREVQMSAqLycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZXByb2Nlc3NvciBnZW5lcmF0ZWQgaW5jb3JyZWN0bHknKQotCi0gICAgZGVmIHRlc3RfbWl4ZWRfZGVwZW5kZW5jaWVzX2xpc3Qoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgZ2VuX2RlcCgpIGNvcnJlY3RseSBjcmVhdGVzIGRlcGVuZGVuY2llcyBmb3IgZ2l2ZW4KLSAgICAgICAgZGVwZW5kZW5jeSBsaXN0LgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGVwZW5kZW5jaWVzID0gWychREVQMScsICdERVAyJ10KLSAgICAgICAgZGVwX3N0YXJ0LCBkZXBfZW5kID0gZ2VuX2RlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMpCi0gICAgICAgIHByZXByb2Nlc3NvcjEsIHByZXByb2Nlc3NvcjIgPSBkZXBfc3RhcnQuc3BsaXRsaW5lcygpCi0gICAgICAgIGVuZGlmMSwgZW5kaWYyID0gZGVwX2VuZC5zcGxpdGxpbmVzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcmVwcm9jZXNzb3IxLCAnI2lmICFkZWZpbmVkKERFUDEpJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlcHJvY2Vzc29yIGdlbmVyYXRlZCBpbmNvcnJlY3RseScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHJlcHJvY2Vzc29yMiwgJyNpZiBkZWZpbmVkKERFUDIpJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlcHJvY2Vzc29yIGdlbmVyYXRlZCBpbmNvcnJlY3RseScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW5kaWYxLCAnI2VuZGlmIC8qIERFUDIgKi8nLAotICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVwcm9jZXNzb3IgZ2VuZXJhdGVkIGluY29ycmVjdGx5JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmRpZjIsICcjZW5kaWYgLyogIURFUDEgKi8nLAotICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVwcm9jZXNzb3IgZ2VuZXJhdGVkIGluY29ycmVjdGx5JykKLQotICAgIGRlZiB0ZXN0X2VtcHR5X2RlcGVuZGVuY2llc19saXN0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGdlbl9kZXAoKSBjb3JyZWN0bHkgY3JlYXRlcyBkZXBlbmRlbmNpZXMgZm9yIGdpdmVuCi0gICAgICAgIGRlcGVuZGVuY3kgbGlzdC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRlcGVuZGVuY2llcyA9IFtdCi0gICAgICAgIGRlcF9zdGFydCwgZGVwX2VuZCA9IGdlbl9kZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcF9zdGFydCwgJycsICdQcmVwcm9jZXNzb3IgZ2VuZXJhdGVkIGluY29ycmVjdGx5JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZXBfZW5kLCAnJywgJ1ByZXByb2Nlc3NvciBnZW5lcmF0ZWQgaW5jb3JyZWN0bHknKQotCi0gICAgZGVmIHRlc3RfbGFyZ2VfZGVwZW5kZW5jaWVzX2xpc3Qoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgZ2VuX2RlcCgpIGNvcnJlY3RseSBjcmVhdGVzIGRlcGVuZGVuY2llcyBmb3IgZ2l2ZW4KLSAgICAgICAgZGVwZW5kZW5jeSBsaXN0LgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGVwZW5kZW5jaWVzID0gW10KLSAgICAgICAgY291bnQgPSAxMAotICAgICAgICBmb3IgaSBpbiByYW5nZShjb3VudCk6Ci0gICAgICAgICAgICBkZXBlbmRlbmNpZXMuYXBwZW5kKCdERVAlZCcgJSBpKQotICAgICAgICBkZXBfc3RhcnQsIGRlcF9lbmQgPSBnZW5fZGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGVwX3N0YXJ0LnNwbGl0bGluZXMoKSksIGNvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVwcm9jZXNzb3IgZ2VuZXJhdGVkIGluY29ycmVjdGx5JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGVwX2VuZC5zcGxpdGxpbmVzKCkpLCBjb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlcHJvY2Vzc29yIGdlbmVyYXRlZCBpbmNvcnJlY3RseScpCi0KLQotY2xhc3MgR2VuRGVwT25lTGluZShUZXN0Q2FzZSk6Ci0gICAgIiIiCi0gICAgVGVzdCBTdWl0ZSBmb3IgdGVzdGluZyBnZW5fZGVwZW5kZW5jaWVzX29uZV9saW5lKCkKLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X2RlcGVuZGVuY2llc19saXN0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGdlbl9kZXAoKSBjb3JyZWN0bHkgY3JlYXRlcyBkZXBlbmRlbmNpZXMgZm9yIGdpdmVuCi0gICAgICAgIGRlcGVuZGVuY3kgbGlzdC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRlcGVuZGVuY2llcyA9IFsnREVQMScsICdERVAyJ10KLSAgICAgICAgZGVwX3N0ciA9IGdlbl9kZXBlbmRlbmNpZXNfb25lX2xpbmUoZGVwZW5kZW5jaWVzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcF9zdHIsICcjaWYgZGVmaW5lZChERVAxKSAmJiBkZWZpbmVkKERFUDIpJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAnUHJlcHJvY2Vzc29yIGdlbmVyYXRlZCBpbmNvcnJlY3RseScpCi0KLSAgICBkZWYgdGVzdF9kaXNhYmxlZF9kZXBlbmRlbmNpZXNfbGlzdChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCBnZW5fZGVwKCkgY29ycmVjdGx5IGNyZWF0ZXMgZGVwZW5kZW5jaWVzIGZvciBnaXZlbgotICAgICAgICBkZXBlbmRlbmN5IGxpc3QuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkZXBlbmRlbmNpZXMgPSBbJyFERVAxJywgJyFERVAyJ10KLSAgICAgICAgZGVwX3N0ciA9IGdlbl9kZXBlbmRlbmNpZXNfb25lX2xpbmUoZGVwZW5kZW5jaWVzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcF9zdHIsICcjaWYgIWRlZmluZWQoREVQMSkgJiYgIWRlZmluZWQoREVQMiknLAotICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVwcm9jZXNzb3IgZ2VuZXJhdGVkIGluY29ycmVjdGx5JykKLQotICAgIGRlZiB0ZXN0X21peGVkX2RlcGVuZGVuY2llc19saXN0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGdlbl9kZXAoKSBjb3JyZWN0bHkgY3JlYXRlcyBkZXBlbmRlbmNpZXMgZm9yIGdpdmVuCi0gICAgICAgIGRlcGVuZGVuY3kgbGlzdC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRlcGVuZGVuY2llcyA9IFsnIURFUDEnLCAnREVQMiddCi0gICAgICAgIGRlcF9zdHIgPSBnZW5fZGVwZW5kZW5jaWVzX29uZV9saW5lKGRlcGVuZGVuY2llcykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZXBfc3RyLCAnI2lmICFkZWZpbmVkKERFUDEpICYmIGRlZmluZWQoREVQMiknLAotICAgICAgICAgICAgICAgICAgICAgICAgICdQcmVwcm9jZXNzb3IgZ2VuZXJhdGVkIGluY29ycmVjdGx5JykKLQotICAgIGRlZiB0ZXN0X2VtcHR5X2RlcGVuZGVuY2llc19saXN0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGdlbl9kZXAoKSBjb3JyZWN0bHkgY3JlYXRlcyBkZXBlbmRlbmNpZXMgZm9yIGdpdmVuCi0gICAgICAgIGRlcGVuZGVuY3kgbGlzdC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRlcGVuZGVuY2llcyA9IFtdCi0gICAgICAgIGRlcF9zdHIgPSBnZW5fZGVwZW5kZW5jaWVzX29uZV9saW5lKGRlcGVuZGVuY2llcykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZXBfc3RyLCAnJywgJ1ByZXByb2Nlc3NvciBnZW5lcmF0ZWQgaW5jb3JyZWN0bHknKQotCi0gICAgZGVmIHRlc3RfbGFyZ2VfZGVwZW5kZW5jaWVzX2xpc3Qoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgZ2VuX2RlcCgpIGNvcnJlY3RseSBjcmVhdGVzIGRlcGVuZGVuY2llcyBmb3IgZ2l2ZW4KLSAgICAgICAgZGVwZW5kZW5jeSBsaXN0LgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGVwZW5kZW5jaWVzID0gW10KLSAgICAgICAgY291bnQgPSAxMAotICAgICAgICBmb3IgaSBpbiByYW5nZShjb3VudCk6Ci0gICAgICAgICAgICBkZXBlbmRlbmNpZXMuYXBwZW5kKCdERVAlZCcgJSBpKQotICAgICAgICBkZXBfc3RyID0gZ2VuX2RlcGVuZGVuY2llc19vbmVfbGluZShkZXBlbmRlbmNpZXMpCi0gICAgICAgIGV4cGVjdGVkID0gJyNpZiAnICsgJyAmJiAnLmpvaW4oWydkZWZpbmVkKCVzKScgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4IGZvciB4IGluIGRlcGVuZGVuY2llc10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVwX3N0ciwgZXhwZWN0ZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJ1ByZXByb2Nlc3NvciBnZW5lcmF0ZWQgaW5jb3JyZWN0bHknKQotCi0KLWNsYXNzIEdlbkZ1bmN0aW9uV3JhcHBlcihUZXN0Q2FzZSk6Ci0gICAgIiIiCi0gICAgVGVzdCBTdWl0ZSBmb3IgdGVzdGluZyBnZW5fZnVuY3Rpb25fd3JhcHBlcigpCi0gICAgIiIiCi0KLSAgICBkZWYgdGVzdF9wYXJhbXNfdW5wYWNrKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IHBhcmFtcyBhcmUgcHJvcGVybHkgdW5wYWNrZWQgaW4gdGhlIGZ1bmN0aW9uIGNhbGwuCi0KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGNvZGUgPSBnZW5fZnVuY3Rpb25fd3JhcHBlcigndGVzdF9hJywgJycsICgnYScsICdiJywgJ2MnLCAnZCcpKQotICAgICAgICBleHBlY3RlZCA9ICcnJwotdm9pZCB0ZXN0X2Ffd3JhcHBlciggdm9pZCAqKiBwYXJhbXMgKQotewotCi0gICAgdGVzdF9hKCBhLCBiLCBjLCBkICk7Ci19Ci0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCBleHBlY3RlZCkKLQotICAgIGRlZiB0ZXN0X2xvY2FsKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IHBhcmFtcyBhcmUgcHJvcGVybHkgdW5wYWNrZWQgaW4gdGhlIGZ1bmN0aW9uIGNhbGwuCi0KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGNvZGUgPSBnZW5fZnVuY3Rpb25fd3JhcHBlcigndGVzdF9hJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnQgeCA9IDE7JywgKCd4JywgJ2InLCAnYycsICdkJykpCi0gICAgICAgIGV4cGVjdGVkID0gJycnCi12b2lkIHRlc3RfYV93cmFwcGVyKCB2b2lkICoqIHBhcmFtcyApCi17Ci1pbnQgeCA9IDE7Ci0gICAgdGVzdF9hKCB4LCBiLCBjLCBkICk7Ci19Ci0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCBleHBlY3RlZCkKLQotICAgIGRlZiB0ZXN0X2VtcHR5X3BhcmFtcyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCBwYXJhbXMgYXJlIHByb3Blcmx5IHVucGFja2VkIGluIHRoZSBmdW5jdGlvbiBjYWxsLgotCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBjb2RlID0gZ2VuX2Z1bmN0aW9uX3dyYXBwZXIoJ3Rlc3RfYScsICcnLCAoKSkKLSAgICAgICAgZXhwZWN0ZWQgPSAnJycKLXZvaWQgdGVzdF9hX3dyYXBwZXIoIHZvaWQgKiogcGFyYW1zICkKLXsKLSAgICAodm9pZClwYXJhbXM7Ci0KLSAgICB0ZXN0X2EoICApOwotfQotJycnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZSwgZXhwZWN0ZWQpCi0KLQotY2xhc3MgR2VuRGlzcGF0Y2goVGVzdENhc2UpOgotICAgICIiIgotICAgIFRlc3Qgc3VpdGUgZm9yIHRlc3RpbmcgZ2VuX2Rpc3BhdGNoKCkKLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X2Rpc3BhdGNoKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGRpc3BhdGNoIHRhYmxlIGVudHJ5IGlzIGdlbmVyYXRlZCBjb3JyZWN0bHkuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBjb2RlID0gZ2VuX2Rpc3BhdGNoKCd0ZXN0X2EnLCBbJ0RFUDEnLCAnREVQMiddKQotICAgICAgICBleHBlY3RlZCA9ICcnJwotI2lmIGRlZmluZWQoREVQMSkgJiYgZGVmaW5lZChERVAyKQotICAgIHRlc3RfYV93cmFwcGVyLAotI2Vsc2UKLSAgICBOVUxMLAotI2VuZGlmCi0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCBleHBlY3RlZCkKLQotICAgIGRlZiB0ZXN0X2VtcHR5X2RlcGVuZGVuY2llcyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgZW1wdHkgZGVwZW5kZW5jeSBsaXN0LgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgY29kZSA9IGdlbl9kaXNwYXRjaCgndGVzdF9hJywgW10pCi0gICAgICAgIGV4cGVjdGVkID0gJycnCi0gICAgdGVzdF9hX3dyYXBwZXIsCi0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCBleHBlY3RlZCkKLQotCi1jbGFzcyBTdHJpbmdJT1dyYXBwZXIoU3RyaW5nSU8pOgotICAgICIiIgotICAgIGZpbGUgbGlrZSBjbGFzcyB0byBtb2NrIGZpbGUgb2JqZWN0IGluIHRlc3RzLgotICAgICIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlX25hbWUsIGRhdGEsIGxpbmVfbm89MCk6Ci0gICAgICAgICIiIgotICAgICAgICBJbml0IGZpbGUgaGFuZGxlLgotCi0gICAgICAgIDpwYXJhbSBmaWxlX25hbWU6Ci0gICAgICAgIDpwYXJhbSBkYXRhOgotICAgICAgICA6cGFyYW0gbGluZV9ubzoKLSAgICAgICAgIiIiCi0gICAgICAgIHN1cGVyKFN0cmluZ0lPV3JhcHBlciwgc2VsZikuX19pbml0X18oZGF0YSkKLSAgICAgICAgc2VsZi5saW5lX25vID0gbGluZV9ubwotICAgICAgICBzZWxmLm5hbWUgPSBmaWxlX25hbWUKLQotICAgIGRlZiBuZXh0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgSXRlcmF0b3IgbWV0aG9kLiBUaGlzIG1ldGhvZCBvdmVycmlkZXMgYmFzZSBjbGFzcydzCi0gICAgICAgIG5leHQgbWV0aG9kIGFuZCBleHRlbmRzIHRoZSBuZXh0IG1ldGhvZCB0byBjb3VudCB0aGUgbGluZQotICAgICAgICBudW1iZXJzIGFzIGVhY2ggbGluZSBpcyByZWFkLgotCi0gICAgICAgIDpyZXR1cm46IExpbmUgcmVhZCBmcm9tIGZpbGUuCi0gICAgICAgICIiIgotICAgICAgICBwYXJlbnQgPSBzdXBlcihTdHJpbmdJT1dyYXBwZXIsIHNlbGYpCi0gICAgICAgIGxpbmUgPSBwYXJlbnQuX19uZXh0X18oKQotICAgICAgICByZXR1cm4gbGluZQotCi0gICAgZGVmIHJlYWRsaW5lKHNlbGYsIF9sZW5ndGg9MCk6Ci0gICAgICAgICIiIgotICAgICAgICBXcmFwIHRoZSBiYXNlIGNsYXNzIHJlYWRsaW5lLgotCi0gICAgICAgIDpwYXJhbSBsZW5ndGg6Ci0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBsaW5lID0gc3VwZXIoU3RyaW5nSU9XcmFwcGVyLCBzZWxmKS5yZWFkbGluZSgpCi0gICAgICAgIGlmIGxpbmUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLmxpbmVfbm8gKz0gMQotICAgICAgICByZXR1cm4gbGluZQotCi0KLWNsYXNzIFBhcnNlVW50aWxQYXR0ZXJuKFRlc3RDYXNlKToKLSAgICAiIiIKLSAgICBUZXN0IFN1aXRlIGZvciB0ZXN0aW5nIHBhcnNlX3VudGlsX3BhdHRlcm4oKS4KLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X3N1aXRlX2hlYWRlcnMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgc3VpdGUgaGVhZGVycyBhcmUgcGFyc2VkIGNvcnJlY3RseS4KLQotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGF0YSA9ICcnJyNpbmNsdWRlICJtYmVkdGxzL2VjcC5oIgotCi0jZGVmaW5lIEVDUF9QRl9VTktOT1dOICAgICAtMQotLyogRU5EX0hFQURFUiAqLwotJycnCi0gICAgICAgIGV4cGVjdGVkID0gJycnI2xpbmUgMSAidGVzdF9zdWl0ZV91dC5mdW5jdGlvbiIKLSNpbmNsdWRlICJtYmVkdGxzL2VjcC5oIgotCi0jZGVmaW5lIEVDUF9QRl9VTktOT1dOICAgICAtMQotJycnCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5mdW5jdGlvbicsIGRhdGEsIGxpbmVfbm89MCkKLSAgICAgICAgaGVhZGVycyA9IHBhcnNlX3VudGlsX3BhdHRlcm4oc3RyZWFtLCBFTkRfSEVBREVSX1JFR0VYKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlYWRlcnMsIGV4cGVjdGVkKQotCi0gICAgZGVmIHRlc3RfbGluZV9ubyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCAjbGluZSBpcyBzZXQgdG8gY29ycmVjdCBsaW5lIG5vLiBpbiBzb3VyY2UgLmZ1bmN0aW9uIGZpbGUuCi0KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSAnJycjaW5jbHVkZSAibWJlZHRscy9lY3AuaCIKLQotI2RlZmluZSBFQ1BfUEZfVU5LTk9XTiAgICAgLTEKLS8qIEVORF9IRUFERVIgKi8KLScnJwotICAgICAgICBvZmZzZXRfbGluZV9ubyA9IDUKLSAgICAgICAgZXhwZWN0ZWQgPSAnJycjbGluZSAlZCAidGVzdF9zdWl0ZV91dC5mdW5jdGlvbiIKLSNpbmNsdWRlICJtYmVkdGxzL2VjcC5oIgotCi0jZGVmaW5lIEVDUF9QRl9VTktOT1dOICAgICAtMQotJycnICUgKG9mZnNldF9saW5lX25vICsgMSkKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldF9saW5lX25vKQotICAgICAgICBoZWFkZXJzID0gcGFyc2VfdW50aWxfcGF0dGVybihzdHJlYW0sIEVORF9IRUFERVJfUkVHRVgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVhZGVycywgZXhwZWN0ZWQpCi0KLSAgICBkZWYgdGVzdF9ub19lbmRfaGVhZGVyX2NvbW1lbnQoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgSW52YWxpZEZpbGVGb3JtYXQgaXMgcmFpc2VkIHdoZW4gZW5kIGhlYWRlciBjb21tZW50IGlzCi0gICAgICAgIG1pc3NpbmcuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkYXRhID0gJycnI2luY2x1ZGUgIm1iZWR0bHMvZWNwLmgiCi0KLSNkZWZpbmUgRUNQX1BGX1VOS05PV04gICAgIC0xCi0KLScnJwotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhHZW5lcmF0b3JJbnB1dEVycm9yLCBwYXJzZV91bnRpbF9wYXR0ZXJuLCBzdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEVORF9IRUFERVJfUkVHRVgpCi0KLQotY2xhc3MgUGFyc2VTdWl0ZURlcGVuZGVuY2llcyhUZXN0Q2FzZSk6Ci0gICAgIiIiCi0gICAgVGVzdCBTdWl0ZSBmb3IgdGVzdGluZyBwYXJzZV9zdWl0ZV9kZXBlbmRlbmNpZXMoKS4KLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X3N1aXRlX2RlcGVuZGVuY2llcyhzZWxmKToKLSAgICAgICAgIiIiCi0KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSAnJycKLSAqIGRlcGVuZHNfb246TUJFRFRMU19FQ1BfQwotICogRU5EX0RFUEVOREVOQ0lFUwotICovCi0nJycKLSAgICAgICAgZXhwZWN0ZWQgPSBbJ01CRURUTFNfRUNQX0MnXQotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBkZXBlbmRlbmNpZXMgPSBwYXJzZV9zdWl0ZV9kZXBlbmRlbmNpZXMoc3RyZWFtKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcGVuZGVuY2llcywgZXhwZWN0ZWQpCi0KLSAgICBkZWYgdGVzdF9ub19lbmRfZGVwX2NvbW1lbnQoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgSW52YWxpZEZpbGVGb3JtYXQgaXMgcmFpc2VkIHdoZW4gZW5kIGRlcCBjb21tZW50IGlzIG1pc3NpbmcuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkYXRhID0gJycnCi0qIGRlcGVuZHNfb246TUJFRFRMU19FQ1BfQwotJycnCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5mdW5jdGlvbicsIGRhdGEpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEdlbmVyYXRvcklucHV0RXJyb3IsIHBhcnNlX3N1aXRlX2RlcGVuZGVuY2llcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtKQotCi0gICAgZGVmIHRlc3RfZGVwZW5kZW5jaWVzX3NwbGl0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IEludmFsaWRGaWxlRm9ybWF0IGlzIHJhaXNlZCB3aGVuIGVuZCBkZXAgY29tbWVudCBpcyBtaXNzaW5nLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGF0YSA9ICcnJwotICogZGVwZW5kc19vbjpNQkVEVExTX0VDUF9DOkE6QjogICBDICA6IEQgOkYgOiBHOiAhSAotICogRU5EX0RFUEVOREVOQ0lFUwotICovCi0nJycKLSAgICAgICAgZXhwZWN0ZWQgPSBbJ01CRURUTFNfRUNQX0MnLCAnQScsICdCJywgJ0MnLCAnRCcsICdGJywgJ0cnLCAnIUgnXQotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBkZXBlbmRlbmNpZXMgPSBwYXJzZV9zdWl0ZV9kZXBlbmRlbmNpZXMoc3RyZWFtKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcGVuZGVuY2llcywgZXhwZWN0ZWQpCi0KLQotY2xhc3MgUGFyc2VGdW5jRGVwZW5kZW5jaWVzKFRlc3RDYXNlKToKLSAgICAiIiIKLSAgICBUZXN0IFN1aXRlIGZvciB0ZXN0aW5nIHBhcnNlX2Z1bmN0aW9uX2RlcGVuZGVuY2llcygpCi0gICAgIiIiCi0KLSAgICBkZWYgdGVzdF9mdW5jdGlvbl9kZXBlbmRlbmNpZXMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgcGFyc2VfZnVuY3Rpb25fZGVwZW5kZW5jaWVzKCkgY29ycmVjdGx5IHBhcnNlcyBmdW5jdGlvbgotICAgICAgICBkZXBlbmRlbmNpZXMuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBsaW5lID0gJy8qIEJFR0lOX0NBU0UgJyBcCi0gICAgICAgICAgICAgICAnZGVwZW5kc19vbjpNQkVEVExTX0VOVFJPUFlfTlZfU0VFRDpNQkVEVExTX0ZTX0lPICovJwotICAgICAgICBleHBlY3RlZCA9IFsnTUJFRFRMU19FTlRST1BZX05WX1NFRUQnLCAnTUJFRFRMU19GU19JTyddCi0gICAgICAgIGRlcGVuZGVuY2llcyA9IHBhcnNlX2Z1bmN0aW9uX2RlcGVuZGVuY2llcyhsaW5lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcGVuZGVuY2llcywgZXhwZWN0ZWQpCi0KLSAgICBkZWYgdGVzdF9ub19kZXBlbmRlbmNpZXMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgcGFyc2VfZnVuY3Rpb25fZGVwZW5kZW5jaWVzKCkgY29ycmVjdGx5IHBhcnNlcyBmdW5jdGlvbgotICAgICAgICBkZXBlbmRlbmNpZXMuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBsaW5lID0gJy8qIEJFR0lOX0NBU0UgKi8nCi0gICAgICAgIGRlcGVuZGVuY2llcyA9IHBhcnNlX2Z1bmN0aW9uX2RlcGVuZGVuY2llcyhsaW5lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcGVuZGVuY2llcywgW10pCi0KLSAgICBkZWYgdGVzdF90b2xlcmFuY2Uoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgcGFyc2VfZnVuY3Rpb25fZGVwZW5kZW5jaWVzKCkgY29ycmVjdGx5IHBhcnNlcyBmdW5jdGlvbgotICAgICAgICBkZXBlbmRlbmNpZXMuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBsaW5lID0gJy8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjpNQkVEVExTX0ZTX0lPOiBBIDogIUI6QyA6IEYqLycKLSAgICAgICAgZGVwZW5kZW5jaWVzID0gcGFyc2VfZnVuY3Rpb25fZGVwZW5kZW5jaWVzKGxpbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVwZW5kZW5jaWVzLCBbJ01CRURUTFNfRlNfSU8nLCAnQScsICchQicsICdDJywgJ0YnXSkKLQotCi1jbGFzcyBQYXJzZUZ1bmNTaWduYXR1cmUoVGVzdENhc2UpOgotICAgICIiIgotICAgIFRlc3QgU3VpdGUgZm9yIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50cygpLgotICAgICIiIgotCi0gICAgZGVmIHRlc3RfaW50X2FuZF9jaGFyX3BhcmFtcyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgaW50IGFuZCBjaGFyIHBhcmFtZXRlcnMgcGFyc2luZwotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgbGluZSA9ICd2b2lkIGVudHJvcHlfdGhyZXNob2xkKCBjaGFyICogYSwgaW50IGIsIGludCByZXN1bHQgKScKLSAgICAgICAgYXJncywgbG9jYWwsIGFyZ19kaXNwYXRjaCA9IHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50cyhsaW5lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3MsIFsnY2hhcionLCAnaW50JywgJ2ludCddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvY2FsLCAnJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdfZGlzcGF0Y2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgWycoY2hhciAqKSBwYXJhbXNbMF0nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAnKChtYmVkdGxzX3Rlc3RfYXJndW1lbnRfdCAqKSBwYXJhbXNbMV0pLT5zaW50JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJygobWJlZHRsc190ZXN0X2FyZ3VtZW50X3QgKikgcGFyYW1zWzJdKS0+c2ludCddKQotCi0gICAgZGVmIHRlc3RfaGV4X3BhcmFtcyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgaGV4IHBhcmFtZXRlcnMgcGFyc2luZwotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgbGluZSA9ICd2b2lkIGVudHJvcHlfdGhyZXNob2xkKCBjaGFyICogYSwgZGF0YV90ICogaCwgaW50IHJlc3VsdCApJwotICAgICAgICBhcmdzLCBsb2NhbCwgYXJnX2Rpc3BhdGNoID0gcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzKGxpbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgWydjaGFyKicsICdoZXgnLCAnaW50J10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9jYWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJyAgICBkYXRhX3QgZGF0YTEgPSB7KHVpbnQ4X3QgKikgcGFyYW1zWzFdLCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgJygobWJlZHRsc190ZXN0X2FyZ3VtZW50X3QgKikgcGFyYW1zWzJdKS0+bGVufTtcbicpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnX2Rpc3BhdGNoLCBbJyhjaGFyICopIHBhcmFtc1swXScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZkYXRhMScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygobWJlZHRsc190ZXN0X2FyZ3VtZW50X3QgKikgcGFyYW1zWzNdKS0+c2ludCddKQotCi0gICAgZGVmIHRlc3RfdW5zdXBwb3J0ZWRfYXJnKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB1bnN1cHBvcnRlZCBhcmd1bWVudCB0eXBlCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBsaW5lID0gJ3ZvaWQgZW50cm9weV90aHJlc2hvbGQoIGNoYXIgKiBhLCBkYXRhX3QgKiBoLCB1bmtub3duX3QgcmVzdWx0ICknCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50cywgbGluZSkKLQotICAgIGRlZiB0ZXN0X2VtcHR5X3BhcmFtcyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3Qgbm8gcGFyYW1ldGVycyAobm90aGluZyBiZXR3ZWVuIHBhcmVudGhlc2VzKS4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGxpbmUgPSAndm9pZCBlbnRyb3B5X3RocmVzaG9sZCgpJwotICAgICAgICBhcmdzLCBsb2NhbCwgYXJnX2Rpc3BhdGNoID0gcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzKGxpbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgW10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9jYWwsICcnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ19kaXNwYXRjaCwgW10pCi0KLSAgICBkZWYgdGVzdF9ibGFua19wYXJhbXMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IG5vIHBhcmFtZXRlcnMgKHNwYWNlIGJldHdlZW4gcGFyZW50aGVzZXMpLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgbGluZSA9ICd2b2lkIGVudHJvcHlfdGhyZXNob2xkKCApJwotICAgICAgICBhcmdzLCBsb2NhbCwgYXJnX2Rpc3BhdGNoID0gcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzKGxpbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgW10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9jYWwsICcnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ19kaXNwYXRjaCwgW10pCi0KLSAgICBkZWYgdGVzdF92b2lkX3BhcmFtcyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3Qgbm8gcGFyYW1ldGVycyAodm9pZCBrZXl3b3JkKS4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGxpbmUgPSAndm9pZCBlbnRyb3B5X3RocmVzaG9sZCh2b2lkKScKLSAgICAgICAgYXJncywgbG9jYWwsIGFyZ19kaXNwYXRjaCA9IHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50cyhsaW5lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3MsIFtdKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvY2FsLCAnJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdfZGlzcGF0Y2gsIFtdKQotCi0gICAgZGVmIHRlc3Rfdm9pZF9zcGFjZV9wYXJhbXMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IG5vIHBhcmFtZXRlcnMgKHZvaWQgd2l0aCBzcGFjZXMpLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgbGluZSA9ICd2b2lkIGVudHJvcHlfdGhyZXNob2xkKCB2b2lkICknCi0gICAgICAgIGFyZ3MsIGxvY2FsLCBhcmdfZGlzcGF0Y2ggPSBwYXJzZV9mdW5jdGlvbl9hcmd1bWVudHMobGluZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCBbXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2NhbCwgJycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnX2Rpc3BhdGNoLCBbXSkKLQotCi1jbGFzcyBQYXJzZUZ1bmN0aW9uQ29kZShUZXN0Q2FzZSk6Ci0gICAgIiIiCi0gICAgVGVzdCBzdWl0ZSBmb3IgdGVzdGluZyBwYXJzZV9mdW5jdGlvbl9jb2RlKCkKLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X25vX2Z1bmN0aW9uKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCBubyB0ZXN0IGZ1bmN0aW9uIGZvdW5kLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGF0YSA9ICcnJwotTm8KLXRlc3QKLWZ1bmN0aW9uCi0nJycKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgZXJyX21zZyA9ICdmaWxlOiB0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uIC0gVGVzdCBmdW5jdGlvbnMgbm90IGZvdW5kIScKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChHZW5lcmF0b3JJbnB1dEVycm9yLCBlcnJfbXNnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlX2Z1bmN0aW9uX2NvZGUsIHN0cmVhbSwgW10sIFtdKQotCi0gICAgZGVmIHRlc3Rfbm9fZW5kX2Nhc2VfY29tbWVudChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgbWlzc2luZyBlbmQgY2FzZS4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSAnJycKLXZvaWQgdGVzdF9mdW5jKCkKLXsKLX0KLScnJwotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBlcnJfbXNnID0gcidmaWxlOiB0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uIC0gJ1wKLSAgICAgICAgICAgICAgICAgICdlbmQgY2FzZSBwYXR0ZXJuIC4qPyBub3QgZm91bmQhJwotICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEdlbmVyYXRvcklucHV0RXJyb3IsIGVycl9tc2csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VfZnVuY3Rpb25fY29kZSwgc3RyZWFtLCBbXSwgW10pCi0KLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5wYXJzZV9mdW5jdGlvbl9hcmd1bWVudHMiKQotICAgIGRlZiB0ZXN0X2Z1bmN0aW9uX2NhbGxlZChzZWxmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZV9mdW5jdGlvbl9hcmd1bWVudHNfbW9jayk6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHBhcnNlX2Z1bmN0aW9uX2NvZGUoKQotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzX21vY2sucmV0dXJuX3ZhbHVlID0gKFtdLCAnJywgW10pCi0gICAgICAgIGRhdGEgPSAnJycKLXZvaWQgdGVzdF9mdW5jKCkKLXsKLX0KLScnJwotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhHZW5lcmF0b3JJbnB1dEVycm9yLCBwYXJzZV9mdW5jdGlvbl9jb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0sIFtdLCBbXSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLmNhbGxlZCkKLSAgICAgICAgcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzX21vY2suYXNzZXJ0X2NhbGxlZF93aXRoKCd2b2lkIHRlc3RfZnVuYygpXG4nKQotCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUuZ2VuX2Rpc3BhdGNoIikKLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5nZW5fZGVwZW5kZW5jaWVzIikKLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5nZW5fZnVuY3Rpb25fd3JhcHBlciIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUucGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzIikKLSAgICBkZWYgdGVzdF9yZXR1cm4oc2VsZiwgcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzX21vY2ssCi0gICAgICAgICAgICAgICAgICAgIGdlbl9mdW5jdGlvbl93cmFwcGVyX21vY2ssCi0gICAgICAgICAgICAgICAgICAgIGdlbl9kZXBlbmRlbmNpZXNfbW9jaywKLSAgICAgICAgICAgICAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2spOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCBnZW5lcmF0ZWQgY29kZS4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLnJldHVybl92YWx1ZSA9IChbXSwgJycsIFtdKQotICAgICAgICBnZW5fZnVuY3Rpb25fd3JhcHBlcl9tb2NrLnJldHVybl92YWx1ZSA9ICcnCi0gICAgICAgIGdlbl9kZXBlbmRlbmNpZXNfbW9jay5zaWRlX2VmZmVjdCA9IGdlbl9kZXBlbmRlbmNpZXMKLSAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2suc2lkZV9lZmZlY3QgPSBnZW5fZGlzcGF0Y2gKLSAgICAgICAgZGF0YSA9ICcnJwotdm9pZCBmdW5jKCkKLXsKLSAgICBiYSBiYSBibGFjayBzaGVlcAotICAgIGhhdmUgeW91IGFueSB3b29sCi19Ci0vKiBFTkRfQ0FTRSAqLwotJycnCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5mdW5jdGlvbicsIGRhdGEpCi0gICAgICAgIG5hbWUsIGFyZywgY29kZSwgZGlzcGF0Y2hfY29kZSA9IHBhcnNlX2Z1bmN0aW9uX2NvZGUoc3RyZWFtLCBbXSwgW10pCi0KLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLmNhbGxlZCkKLSAgICAgICAgcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzX21vY2suYXNzZXJ0X2NhbGxlZF93aXRoKCd2b2lkIGZ1bmMoKVxuJykKLSAgICAgICAgZ2VuX2Z1bmN0aW9uX3dyYXBwZXJfbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoJ3Rlc3RfZnVuYycsICcnLCBbXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuYW1lLCAndGVzdF9mdW5jJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmcsIFtdKQotICAgICAgICBleHBlY3RlZCA9ICcnJyNsaW5lIDEgInRlc3Rfc3VpdGVfdXQuZnVuY3Rpb24iCi0KLXZvaWQgdGVzdF9mdW5jKHZvaWQpCi17Ci0gICAgYmEgYmEgYmxhY2sgc2hlZXAKLSAgICBoYXZlIHlvdSBhbnkgd29vbAotZXhpdDoKLSAgICA7Ci19Ci0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCBleHBlY3RlZCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXNwYXRjaF9jb2RlLCAiXG4gICAgdGVzdF9mdW5jX3dyYXBwZXIsXG4iKQotCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUuZ2VuX2Rpc3BhdGNoIikKLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5nZW5fZGVwZW5kZW5jaWVzIikKLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5nZW5fZnVuY3Rpb25fd3JhcHBlciIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUucGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzIikKLSAgICBkZWYgdGVzdF93aXRoX2V4aXRfbGFiZWwoc2VsZiwgcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzX21vY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9mdW5jdGlvbl93cmFwcGVyX21vY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9kZXBlbmRlbmNpZXNfbW9jaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2spOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB3aGVuIGV4aXQgbGFiZWwgaXMgcHJlc2VudC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLnJldHVybl92YWx1ZSA9IChbXSwgJycsIFtdKQotICAgICAgICBnZW5fZnVuY3Rpb25fd3JhcHBlcl9tb2NrLnJldHVybl92YWx1ZSA9ICcnCi0gICAgICAgIGdlbl9kZXBlbmRlbmNpZXNfbW9jay5zaWRlX2VmZmVjdCA9IGdlbl9kZXBlbmRlbmNpZXMKLSAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2suc2lkZV9lZmZlY3QgPSBnZW5fZGlzcGF0Y2gKLSAgICAgICAgZGF0YSA9ICcnJwotdm9pZCBmdW5jKCkKLXsKLSAgICBiYSBiYSBibGFjayBzaGVlcAotICAgIGhhdmUgeW91IGFueSB3b29sCi1leGl0OgotICAgIHllcyBzaXIgeWVzIHNpcgotICAgIDMgYmFncyBmdWxsCi19Ci0vKiBFTkRfQ0FTRSAqLwotJycnCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5mdW5jdGlvbicsIGRhdGEpCi0gICAgICAgIF8sIF8sIGNvZGUsIF8gPSBwYXJzZV9mdW5jdGlvbl9jb2RlKHN0cmVhbSwgW10sIFtdKQotCi0gICAgICAgIGV4cGVjdGVkID0gJycnI2xpbmUgMSAidGVzdF9zdWl0ZV91dC5mdW5jdGlvbiIKLQotdm9pZCB0ZXN0X2Z1bmModm9pZCkKLXsKLSAgICBiYSBiYSBibGFjayBzaGVlcAotICAgIGhhdmUgeW91IGFueSB3b29sCi1leGl0OgotICAgIHllcyBzaXIgeWVzIHNpcgotICAgIDMgYmFncyBmdWxsCi19Ci0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCBleHBlY3RlZCkKLQotICAgIGRlZiB0ZXN0X25vbl92b2lkX2Z1bmN0aW9uKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCBpbnZhbGlkIHNpZ25hdHVyZSAobm9uIHZvaWQpLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGF0YSA9ICdpbnQgZW50cm9weV90aHJlc2hvbGQoIGNoYXIgKiBhLCBkYXRhX3QgKiBoLCBpbnQgcmVzdWx0ICknCi0gICAgICAgIGVycl9tc2cgPSAnZmlsZTogdGVzdF9zdWl0ZV91dC5mdW5jdGlvbiAtIFRlc3QgZnVuY3Rpb25zIG5vdCBmb3VuZCEnCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5mdW5jdGlvbicsIGRhdGEpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoR2VuZXJhdG9ySW5wdXRFcnJvciwgZXJyX21zZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZV9mdW5jdGlvbl9jb2RlLCBzdHJlYW0sIFtdLCBbXSkKLQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLmdlbl9kaXNwYXRjaCIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUuZ2VuX2RlcGVuZGVuY2llcyIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUuZ2VuX2Z1bmN0aW9uX3dyYXBwZXIiKQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLnBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50cyIpCi0gICAgZGVmIHRlc3RfZnVuY3Rpb25fbmFtZV9vbl9uZXdsaW5lKHNlbGYsIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5fZnVuY3Rpb25fd3JhcHBlcl9tb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5fZGVwZW5kZW5jaWVzX21vY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9kaXNwYXRjaF9tb2NrKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3Qgd2l0aCBsaW5lIGJyZWFrIGJlZm9yZSB0aGUgZnVuY3Rpb24gbmFtZS4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLnJldHVybl92YWx1ZSA9IChbXSwgJycsIFtdKQotICAgICAgICBnZW5fZnVuY3Rpb25fd3JhcHBlcl9tb2NrLnJldHVybl92YWx1ZSA9ICcnCi0gICAgICAgIGdlbl9kZXBlbmRlbmNpZXNfbW9jay5zaWRlX2VmZmVjdCA9IGdlbl9kZXBlbmRlbmNpZXMKLSAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2suc2lkZV9lZmZlY3QgPSBnZW5fZGlzcGF0Y2gKLSAgICAgICAgZGF0YSA9ICcnJwotdm9pZAotCi0KLWZ1bmMoKQotewotICAgIGJhIGJhIGJsYWNrIHNoZWVwCi0gICAgaGF2ZSB5b3UgYW55IHdvb2wKLWV4aXQ6Ci0gICAgeWVzIHNpciB5ZXMgc2lyCi0gICAgMyBiYWdzIGZ1bGwKLX0KLS8qIEVORF9DQVNFICovCi0nJycKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgXywgXywgY29kZSwgXyA9IHBhcnNlX2Z1bmN0aW9uX2NvZGUoc3RyZWFtLCBbXSwgW10pCi0KLSAgICAgICAgZXhwZWN0ZWQgPSAnJycjbGluZSAxICJ0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uIgotCi12b2lkCi0KLQotdGVzdF9mdW5jKHZvaWQpCi17Ci0gICAgYmEgYmEgYmxhY2sgc2hlZXAKLSAgICBoYXZlIHlvdSBhbnkgd29vbAotZXhpdDoKLSAgICB5ZXMgc2lyIHllcyBzaXIKLSAgICAzIGJhZ3MgZnVsbAotfQotJycnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZSwgZXhwZWN0ZWQpCi0KLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5nZW5fZGlzcGF0Y2giKQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLmdlbl9kZXBlbmRlbmNpZXMiKQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLmdlbl9mdW5jdGlvbl93cmFwcGVyIikKLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5wYXJzZV9mdW5jdGlvbl9hcmd1bWVudHMiKQotICAgIGRlZiB0ZXN0X2Nhc2Vfc3RhcnRpbmdfd2l0aF9jb21tZW50KHNlbGYsIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9mdW5jdGlvbl93cmFwcGVyX21vY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuX2RlcGVuZGVuY2llc19tb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9kaXNwYXRjaF9tb2NrKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3Qgd2l0aCBjb21tZW50cyBiZWZvcmUgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZQotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzX21vY2sucmV0dXJuX3ZhbHVlID0gKFtdLCAnJywgW10pCi0gICAgICAgIGdlbl9mdW5jdGlvbl93cmFwcGVyX21vY2sucmV0dXJuX3ZhbHVlID0gJycKLSAgICAgICAgZ2VuX2RlcGVuZGVuY2llc19tb2NrLnNpZGVfZWZmZWN0ID0gZ2VuX2RlcGVuZGVuY2llcwotICAgICAgICBnZW5fZGlzcGF0Y2hfbW9jay5zaWRlX2VmZmVjdCA9IGdlbl9kaXNwYXRjaAotICAgICAgICBkYXRhID0gJycnLyogY29tbWVudCAqLwotLyogbW9yZQotICogY29tbWVudCAqLwotLy8gdGhpcyBpc1xcCi1zdGlsbCBcXAotYSBjb21tZW50Ci12b2lkIGZ1bmMoKQotewotICAgIGJhIGJhIGJsYWNrIHNoZWVwCi0gICAgaGF2ZSB5b3UgYW55IHdvb2wKLWV4aXQ6Ci0gICAgeWVzIHNpciB5ZXMgc2lyCi0gICAgMyBiYWdzIGZ1bGwKLX0KLS8qIEVORF9DQVNFICovCi0nJycKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgXywgXywgY29kZSwgXyA9IHBhcnNlX2Z1bmN0aW9uX2NvZGUoc3RyZWFtLCBbXSwgW10pCi0KLSAgICAgICAgZXhwZWN0ZWQgPSAnJycjbGluZSAxICJ0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uIgotCi0KLQotCi0KLQotdm9pZCB0ZXN0X2Z1bmModm9pZCkKLXsKLSAgICBiYSBiYSBibGFjayBzaGVlcAotICAgIGhhdmUgeW91IGFueSB3b29sCi1leGl0OgotICAgIHllcyBzaXIgeWVzIHNpcgotICAgIDMgYmFncyBmdWxsCi19Ci0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCBleHBlY3RlZCkKLQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLmdlbl9kaXNwYXRjaCIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUuZ2VuX2RlcGVuZGVuY2llcyIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUuZ2VuX2Z1bmN0aW9uX3dyYXBwZXIiKQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLnBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50cyIpCi0gICAgZGVmIHRlc3RfY29tbWVudF9pbl9wcm90b3R5cGUoc2VsZiwgcGFyc2VfZnVuY3Rpb25fYXJndW1lbnRzX21vY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuX2Z1bmN0aW9uX3dyYXBwZXJfbW9jaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5fZGVwZW5kZW5jaWVzX21vY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2spOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB3aXRoIGNvbW1lbnRzIGluIHRoZSBmdW5jdGlvbiBwcm90b3R5cGUKLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLnJldHVybl92YWx1ZSA9IChbXSwgJycsIFtdKQotICAgICAgICBnZW5fZnVuY3Rpb25fd3JhcHBlcl9tb2NrLnJldHVybl92YWx1ZSA9ICcnCi0gICAgICAgIGdlbl9kZXBlbmRlbmNpZXNfbW9jay5zaWRlX2VmZmVjdCA9IGdlbl9kZXBlbmRlbmNpZXMKLSAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2suc2lkZV9lZmZlY3QgPSBnZW5fZGlzcGF0Y2gKLSAgICAgICAgZGF0YSA9ICcnJwotdm9pZCBmdW5jKCBpbnQgeCwgLy8gKGxpbmUgXFwKLSAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnQpCi0gICAgICAgICAgIGludCB5IC8qIGxvbmUgY2xvc2luZyBwYXJlbnRoZXNpcykgKi8gKQotewotICAgIGJhIGJhIGJsYWNrIHNoZWVwCi0gICAgaGF2ZSB5b3UgYW55IHdvb2wKLWV4aXQ6Ci0gICAgeWVzIHNpciB5ZXMgc2lyCi0gICAgMyBiYWdzIGZ1bGwKLX0KLS8qIEVORF9DQVNFICovCi0nJycKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgXywgXywgY29kZSwgXyA9IHBhcnNlX2Z1bmN0aW9uX2NvZGUoc3RyZWFtLCBbXSwgW10pCi0KLSAgICAgICAgZXhwZWN0ZWQgPSAnJycjbGluZSAxICJ0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uIgotCi12b2lkIHRlc3RfZnVuYyggaW50IHgsCi0KLSAgICAgICAgICAgaW50IHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi17Ci0gICAgYmEgYmEgYmxhY2sgc2hlZXAKLSAgICBoYXZlIHlvdSBhbnkgd29vbAotZXhpdDoKLSAgICB5ZXMgc2lyIHllcyBzaXIKLSAgICAzIGJhZ3MgZnVsbAotfQotJycnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZSwgZXhwZWN0ZWQpCi0KLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5nZW5fZGlzcGF0Y2giKQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLmdlbl9kZXBlbmRlbmNpZXMiKQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLmdlbl9mdW5jdGlvbl93cmFwcGVyIikKLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5wYXJzZV9mdW5jdGlvbl9hcmd1bWVudHMiKQotICAgIGRlZiB0ZXN0X2xpbmVfY29tbWVudF9pbl9ibG9ja19jb21tZW50KHNlbGYsIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9mdW5jdGlvbl93cmFwcGVyX21vY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuX2RlcGVuZGVuY2llc19tb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9kaXNwYXRjaF9tb2NrKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3Qgd2l0aCBsaW5lIGNvbW1lbnQgaW4gYmxvY2sgY29tbWVudC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLnJldHVybl92YWx1ZSA9IChbXSwgJycsIFtdKQotICAgICAgICBnZW5fZnVuY3Rpb25fd3JhcHBlcl9tb2NrLnJldHVybl92YWx1ZSA9ICcnCi0gICAgICAgIGdlbl9kZXBlbmRlbmNpZXNfbW9jay5zaWRlX2VmZmVjdCA9IGdlbl9kZXBlbmRlbmNpZXMKLSAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2suc2lkZV9lZmZlY3QgPSBnZW5fZGlzcGF0Y2gKLSAgICAgICAgZGF0YSA9ICcnJwotdm9pZCBmdW5jKCBpbnQgeCAvKiAvLyAqLyApCi17Ci0gICAgYmEgYmEgYmxhY2sgc2hlZXAKLSAgICBoYXZlIHlvdSBhbnkgd29vbAotZXhpdDoKLSAgICB5ZXMgc2lyIHllcyBzaXIKLSAgICAzIGJhZ3MgZnVsbAotfQotLyogRU5EX0NBU0UgKi8KLScnJwotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBfLCBfLCBjb2RlLCBfID0gcGFyc2VfZnVuY3Rpb25fY29kZShzdHJlYW0sIFtdLCBbXSkKLQotICAgICAgICBleHBlY3RlZCA9ICcnJyNsaW5lIDEgInRlc3Rfc3VpdGVfdXQuZnVuY3Rpb24iCi0KLXZvaWQgdGVzdF9mdW5jKCBpbnQgeCAgICAgICAgICApCi17Ci0gICAgYmEgYmEgYmxhY2sgc2hlZXAKLSAgICBoYXZlIHlvdSBhbnkgd29vbAotZXhpdDoKLSAgICB5ZXMgc2lyIHllcyBzaXIKLSAgICAzIGJhZ3MgZnVsbAotfQotJycnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZSwgZXhwZWN0ZWQpCi0KLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5nZW5fZGlzcGF0Y2giKQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLmdlbl9kZXBlbmRlbmNpZXMiKQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLmdlbl9mdW5jdGlvbl93cmFwcGVyIikKLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5wYXJzZV9mdW5jdGlvbl9hcmd1bWVudHMiKQotICAgIGRlZiB0ZXN0X2Jsb2NrX2NvbW1lbnRfaW5fbGluZV9jb21tZW50KHNlbGYsIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9mdW5jdGlvbl93cmFwcGVyX21vY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuX2RlcGVuZGVuY2llc19tb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbl9kaXNwYXRjaF9tb2NrKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3Qgd2l0aCBibG9jayBjb21tZW50IGluIGxpbmUgY29tbWVudC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHBhcnNlX2Z1bmN0aW9uX2FyZ3VtZW50c19tb2NrLnJldHVybl92YWx1ZSA9IChbXSwgJycsIFtdKQotICAgICAgICBnZW5fZnVuY3Rpb25fd3JhcHBlcl9tb2NrLnJldHVybl92YWx1ZSA9ICcnCi0gICAgICAgIGdlbl9kZXBlbmRlbmNpZXNfbW9jay5zaWRlX2VmZmVjdCA9IGdlbl9kZXBlbmRlbmNpZXMKLSAgICAgICAgZ2VuX2Rpc3BhdGNoX21vY2suc2lkZV9lZmZlY3QgPSBnZW5fZGlzcGF0Y2gKLSAgICAgICAgZGF0YSA9ICcnJwotLy8gLyoKLXZvaWQgZnVuYyggaW50IHggKQotewotICAgIGJhIGJhIGJsYWNrIHNoZWVwCi0gICAgaGF2ZSB5b3UgYW55IHdvb2wKLWV4aXQ6Ci0gICAgeWVzIHNpciB5ZXMgc2lyCi0gICAgMyBiYWdzIGZ1bGwKLX0KLS8qIEVORF9DQVNFICovCi0nJycKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgXywgXywgY29kZSwgXyA9IHBhcnNlX2Z1bmN0aW9uX2NvZGUoc3RyZWFtLCBbXSwgW10pCi0KLSAgICAgICAgZXhwZWN0ZWQgPSAnJycjbGluZSAxICJ0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uIgotCi0KLXZvaWQgdGVzdF9mdW5jKCBpbnQgeCApCi17Ci0gICAgYmEgYmEgYmxhY2sgc2hlZXAKLSAgICBoYXZlIHlvdSBhbnkgd29vbAotZXhpdDoKLSAgICB5ZXMgc2lyIHllcyBzaXIKLSAgICAzIGJhZ3MgZnVsbAotfQotJycnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZSwgZXhwZWN0ZWQpCi0KLQotY2xhc3MgUGFyc2VGdW5jdGlvbihUZXN0Q2FzZSk6Ci0gICAgIiIiCi0gICAgVGVzdCBTdWl0ZSBmb3IgdGVzdGluZyBwYXJzZV9mdW5jdGlvbnMoKQotICAgICIiIgotCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUucGFyc2VfdW50aWxfcGF0dGVybiIpCi0gICAgZGVmIHRlc3RfYmVnaW5faGVhZGVyKHNlbGYsIHBhcnNlX3VudGlsX3BhdHRlcm5fbW9jayk6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgYmVnaW4gaGVhZGVyIGlzIGNoZWNrZWQgYW5kIHBhcnNlX3VudGlsX3BhdHRlcm4oKSBpcyBjYWxsZWQuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkZWYgc3RvcCgqX3VudXNlZCk6Ci0gICAgICAgICAgICAiIiJTdG9wIHdoZW4gcGFyc2VfdW50aWxfcGF0dGVybiBpcyBjYWxsZWQuIiIiCi0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24KLSAgICAgICAgcGFyc2VfdW50aWxfcGF0dGVybl9tb2NrLnNpZGVfZWZmZWN0ID0gc3RvcAotICAgICAgICBkYXRhID0gJycnLyogQkVHSU5fSEVBREVSICovCi0jaW5jbHVkZSAibWJlZHRscy9lY3AuaCIKLQotI2RlZmluZSBFQ1BfUEZfVU5LTk9XTiAgICAgLTEKLS8qIEVORF9IRUFERVIgKi8KLScnJwotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIHBhcnNlX2Z1bmN0aW9ucywgc3RyZWFtKQotICAgICAgICBwYXJzZV91bnRpbF9wYXR0ZXJuX21vY2suYXNzZXJ0X2NhbGxlZF93aXRoKHN0cmVhbSwgRU5EX0hFQURFUl9SRUdFWCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ubGluZV9ubywgMSkKLQotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLnBhcnNlX3VudGlsX3BhdHRlcm4iKQotICAgIGRlZiB0ZXN0X2JlZ2luX2hlbHBlcihzZWxmLCBwYXJzZV91bnRpbF9wYXR0ZXJuX21vY2spOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGJlZ2luIGhlbHBlciBpcyBjaGVja2VkIGFuZCBwYXJzZV91bnRpbF9wYXR0ZXJuKCkgaXMgY2FsbGVkLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGVmIHN0b3AoKl91bnVzZWQpOgotICAgICAgICAgICAgIiIiU3RvcCB3aGVuIHBhcnNlX3VudGlsX3BhdHRlcm4gaXMgY2FsbGVkLiIiIgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uCi0gICAgICAgIHBhcnNlX3VudGlsX3BhdHRlcm5fbW9jay5zaWRlX2VmZmVjdCA9IHN0b3AKLSAgICAgICAgZGF0YSA9ICcnJy8qIEJFR0lOX1NVSVRFX0hFTFBFUlMgKi8KLXZvaWQgcHJpbnRfaGVsbG9fd29ybGQoKQotewotICAgIHByaW50ZigiSGVsbG8gV29ybGQhXG4iKTsKLX0KLS8qIEVORF9TVUlURV9IRUxQRVJTICovCi0nJycKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uLCBwYXJzZV9mdW5jdGlvbnMsIHN0cmVhbSkKLSAgICAgICAgcGFyc2VfdW50aWxfcGF0dGVybl9tb2NrLmFzc2VydF9jYWxsZWRfd2l0aChzdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5EX1NVSVRFX0hFTFBFUlNfUkVHRVgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLmxpbmVfbm8sIDEpCi0KLSAgICBAcGF0Y2goImdlbmVyYXRlX3Rlc3RfY29kZS5wYXJzZV9zdWl0ZV9kZXBlbmRlbmNpZXMiKQotICAgIGRlZiB0ZXN0X2JlZ2luX2RlcChzZWxmLCBwYXJzZV9zdWl0ZV9kZXBlbmRlbmNpZXNfbW9jayk6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgYmVnaW4gZGVwIGlzIGNoZWNrZWQgYW5kIHBhcnNlX3N1aXRlX2RlcGVuZGVuY2llcygpIGlzCi0gICAgICAgIGNhbGxlZC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRlZiBzdG9wKCpfdW51c2VkKToKLSAgICAgICAgICAgICIiIlN0b3Agd2hlbiBwYXJzZV91bnRpbF9wYXR0ZXJuIGlzIGNhbGxlZC4iIiIKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbgotICAgICAgICBwYXJzZV9zdWl0ZV9kZXBlbmRlbmNpZXNfbW9jay5zaWRlX2VmZmVjdCA9IHN0b3AKLSAgICAgICAgZGF0YSA9ICcnJy8qIEJFR0lOX0RFUEVOREVOQ0lFUwotICogZGVwZW5kc19vbjpNQkVEVExTX0VDUF9DCi0gKiBFTkRfREVQRU5ERU5DSUVTCi0gKi8KLScnJwotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIHBhcnNlX2Z1bmN0aW9ucywgc3RyZWFtKQotICAgICAgICBwYXJzZV9zdWl0ZV9kZXBlbmRlbmNpZXNfbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoc3RyZWFtKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5saW5lX25vLCAxKQotCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUucGFyc2VfZnVuY3Rpb25fZGVwZW5kZW5jaWVzIikKLSAgICBkZWYgdGVzdF9iZWdpbl9mdW5jdGlvbl9kZXAoc2VsZiwgZnVuY19tb2NrKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCBiZWdpbiBkZXAgaXMgY2hlY2tlZCBhbmQgcGFyc2VfZnVuY3Rpb25fZGVwZW5kZW5jaWVzKCkgaXMKLSAgICAgICAgY2FsbGVkLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGVmIHN0b3AoKl91bnVzZWQpOgotICAgICAgICAgICAgIiIiU3RvcCB3aGVuIHBhcnNlX3VudGlsX3BhdHRlcm4gaXMgY2FsbGVkLiIiIgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uCi0gICAgICAgIGZ1bmNfbW9jay5zaWRlX2VmZmVjdCA9IHN0b3AKLQotICAgICAgICBkZXBlbmRlbmNpZXNfc3RyID0gJy8qIEJFR0lOX0NBU0UgJyBcCi0gICAgICAgICAgICAnZGVwZW5kc19vbjpNQkVEVExTX0VOVFJPUFlfTlZfU0VFRDpNQkVEVExTX0ZTX0lPICovXG4nCi0gICAgICAgIGRhdGEgPSAnJyclc3ZvaWQgdGVzdF9mdW5jKCkKLXsKLX0KLScnJyAlIGRlcGVuZGVuY2llc19zdHIKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uLCBwYXJzZV9mdW5jdGlvbnMsIHN0cmVhbSkKLSAgICAgICAgZnVuY19tb2NrLmFzc2VydF9jYWxsZWRfd2l0aChkZXBlbmRlbmNpZXNfc3RyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5saW5lX25vLCAxKQotCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUucGFyc2VfZnVuY3Rpb25fY29kZSIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUucGFyc2VfZnVuY3Rpb25fZGVwZW5kZW5jaWVzIikKLSAgICBkZWYgdGVzdF9yZXR1cm4oc2VsZiwgZnVuY19tb2NrMSwgZnVuY19tb2NrMik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgYmVnaW4gY2FzZSBpcyBjaGVja2VkIGFuZCBwYXJzZV9mdW5jdGlvbl9jb2RlKCkgaXMgY2FsbGVkLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZnVuY19tb2NrMS5yZXR1cm5fdmFsdWUgPSBbXQotICAgICAgICBpbl9mdW5jX2NvZGUgPSAnJyd2b2lkIHRlc3RfZnVuYygpCi17Ci19Ci0nJycKLSAgICAgICAgZnVuY19kaXNwYXRjaCA9ICcnJwotICAgIHRlc3RfZnVuY193cmFwcGVyLAotJycnCi0gICAgICAgIGZ1bmNfbW9jazIucmV0dXJuX3ZhbHVlID0gJ3Rlc3RfZnVuYycsIFtdLFwKLSAgICAgICAgICAgIGluX2Z1bmNfY29kZSwgZnVuY19kaXNwYXRjaAotICAgICAgICBkZXBlbmRlbmNpZXNfc3RyID0gJy8qIEJFR0lOX0NBU0UgJyBcCi0gICAgICAgICAgICAnZGVwZW5kc19vbjpNQkVEVExTX0VOVFJPUFlfTlZfU0VFRDpNQkVEVExTX0ZTX0lPICovXG4nCi0gICAgICAgIGRhdGEgPSAnJyclc3ZvaWQgdGVzdF9mdW5jKCkKLXsKLX0KLScnJyAlIGRlcGVuZGVuY2llc19zdHIKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgc3VpdGVfZGVwZW5kZW5jaWVzLCBkaXNwYXRjaF9jb2RlLCBmdW5jX2NvZGUsIGZ1bmNfaW5mbyA9IFwKLSAgICAgICAgICAgIHBhcnNlX2Z1bmN0aW9ucyhzdHJlYW0pCi0gICAgICAgIGZ1bmNfbW9jazEuYXNzZXJ0X2NhbGxlZF93aXRoKGRlcGVuZGVuY2llc19zdHIpCi0gICAgICAgIGZ1bmNfbW9jazIuYXNzZXJ0X2NhbGxlZF93aXRoKHN0cmVhbSwgW10sIFtdKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5saW5lX25vLCA1KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlX2RlcGVuZGVuY2llcywgW10pCi0gICAgICAgIGV4cGVjdGVkX2Rpc3BhdGNoX2NvZGUgPSAnJycvKiBGdW5jdGlvbiBJZDogMCAqLwotCi0gICAgdGVzdF9mdW5jX3dyYXBwZXIsCi0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXNwYXRjaF9jb2RlLCBleHBlY3RlZF9kaXNwYXRjaF9jb2RlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZ1bmNfY29kZSwgaW5fZnVuY19jb2RlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZ1bmNfaW5mbywgeyd0ZXN0X2Z1bmMnOiAoMCwgW10pfSkKLQotICAgIGRlZiB0ZXN0X3BhcnNpbmcoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IGNhc2UgcGFyc2luZy4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSAnJycvKiBCRUdJTl9IRUFERVIgKi8KLSNpbmNsdWRlICJtYmVkdGxzL2VjcC5oIgotCi0jZGVmaW5lIEVDUF9QRl9VTktOT1dOICAgICAtMQotLyogRU5EX0hFQURFUiAqLwotCi0vKiBCRUdJTl9ERVBFTkRFTkNJRVMKLSAqIGRlcGVuZHNfb246TUJFRFRMU19FQ1BfQwotICogRU5EX0RFUEVOREVOQ0lFUwotICovCi0KLS8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjpNQkVEVExTX0VOVFJPUFlfTlZfU0VFRDpNQkVEVExTX0ZTX0lPICovCi12b2lkIGZ1bmMxKCkKLXsKLX0KLS8qIEVORF9DQVNFICovCi0KLS8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjpNQkVEVExTX0VOVFJPUFlfTlZfU0VFRDpNQkVEVExTX0ZTX0lPICovCi12b2lkIGZ1bmMyKCkKLXsKLX0KLS8qIEVORF9DQVNFICovCi0nJycKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgc3VpdGVfZGVwZW5kZW5jaWVzLCBkaXNwYXRjaF9jb2RlLCBmdW5jX2NvZGUsIGZ1bmNfaW5mbyA9IFwKLSAgICAgICAgICAgIHBhcnNlX2Z1bmN0aW9ucyhzdHJlYW0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLmxpbmVfbm8sIDIzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlX2RlcGVuZGVuY2llcywgWydNQkVEVExTX0VDUF9DJ10pCi0KLSAgICAgICAgZXhwZWN0ZWRfZGlzcGF0Y2hfY29kZSA9ICcnJy8qIEZ1bmN0aW9uIElkOiAwICovCi0KLSNpZiBkZWZpbmVkKE1CRURUTFNfRUNQX0MpICYmIGRlZmluZWQoTUJFRFRMU19FTlRST1BZX05WX1NFRUQpICYmIGRlZmluZWQoTUJFRFRMU19GU19JTykKLSAgICB0ZXN0X2Z1bmMxX3dyYXBwZXIsCi0jZWxzZQotICAgIE5VTEwsCi0jZW5kaWYKLS8qIEZ1bmN0aW9uIElkOiAxICovCi0KLSNpZiBkZWZpbmVkKE1CRURUTFNfRUNQX0MpICYmIGRlZmluZWQoTUJFRFRMU19FTlRST1BZX05WX1NFRUQpICYmIGRlZmluZWQoTUJFRFRMU19GU19JTykKLSAgICB0ZXN0X2Z1bmMyX3dyYXBwZXIsCi0jZWxzZQotICAgIE5VTEwsCi0jZW5kaWYKLScnJwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3BhdGNoX2NvZGUsIGV4cGVjdGVkX2Rpc3BhdGNoX2NvZGUpCi0gICAgICAgIGV4cGVjdGVkX2Z1bmNfY29kZSA9ICcnJyNpZiBkZWZpbmVkKE1CRURUTFNfRUNQX0MpCi0jbGluZSAyICJ0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uIgotI2luY2x1ZGUgIm1iZWR0bHMvZWNwLmgiCi0KLSNkZWZpbmUgRUNQX1BGX1VOS05PV04gICAgIC0xCi0jaWYgZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfTlZfU0VFRCkKLSNpZiBkZWZpbmVkKE1CRURUTFNfRlNfSU8pCi0jbGluZSAxMyAidGVzdF9zdWl0ZV91dC5mdW5jdGlvbiIKLXZvaWQgdGVzdF9mdW5jMSh2b2lkKQotewotZXhpdDoKLSAgICA7Ci19Ci0KLXZvaWQgdGVzdF9mdW5jMV93cmFwcGVyKCB2b2lkICoqIHBhcmFtcyApCi17Ci0gICAgKHZvaWQpcGFyYW1zOwotCi0gICAgdGVzdF9mdW5jMSggICk7Ci19Ci0jZW5kaWYgLyogTUJFRFRMU19GU19JTyAqLwotI2VuZGlmIC8qIE1CRURUTFNfRU5UUk9QWV9OVl9TRUVEICovCi0jaWYgZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfTlZfU0VFRCkKLSNpZiBkZWZpbmVkKE1CRURUTFNfRlNfSU8pCi0jbGluZSAxOSAidGVzdF9zdWl0ZV91dC5mdW5jdGlvbiIKLXZvaWQgdGVzdF9mdW5jMih2b2lkKQotewotZXhpdDoKLSAgICA7Ci19Ci0KLXZvaWQgdGVzdF9mdW5jMl93cmFwcGVyKCB2b2lkICoqIHBhcmFtcyApCi17Ci0gICAgKHZvaWQpcGFyYW1zOwotCi0gICAgdGVzdF9mdW5jMiggICk7Ci19Ci0jZW5kaWYgLyogTUJFRFRMU19GU19JTyAqLwotI2VuZGlmIC8qIE1CRURUTFNfRU5UUk9QWV9OVl9TRUVEICovCi0jZW5kaWYgLyogTUJFRFRMU19FQ1BfQyAqLwotJycnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnVuY19jb2RlLCBleHBlY3RlZF9mdW5jX2NvZGUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnVuY19pbmZvLCB7J3Rlc3RfZnVuYzEnOiAoMCwgW10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0X2Z1bmMyJzogKDEsIFtdKX0pCi0KLSAgICBkZWYgdGVzdF9zYW1lX2Z1bmN0aW9uX25hbWUoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IG5hbWUgY29uZmxpY3QuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkYXRhID0gJycnLyogQkVHSU5fSEVBREVSICovCi0jaW5jbHVkZSAibWJlZHRscy9lY3AuaCIKLQotI2RlZmluZSBFQ1BfUEZfVU5LTk9XTiAgICAgLTEKLS8qIEVORF9IRUFERVIgKi8KLQotLyogQkVHSU5fREVQRU5ERU5DSUVTCi0gKiBkZXBlbmRzX29uOk1CRURUTFNfRUNQX0MKLSAqIEVORF9ERVBFTkRFTkNJRVMKLSAqLwotCi0vKiBCRUdJTl9DQVNFIGRlcGVuZHNfb246TUJFRFRMU19FTlRST1BZX05WX1NFRUQ6TUJFRFRMU19GU19JTyAqLwotdm9pZCBmdW5jKCkKLXsKLX0KLS8qIEVORF9DQVNFICovCi0KLS8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjpNQkVEVExTX0VOVFJPUFlfTlZfU0VFRDpNQkVEVExTX0ZTX0lPICovCi12b2lkIGZ1bmMoKQotewotfQotLyogRU5EX0NBU0UgKi8KLScnJwotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhHZW5lcmF0b3JJbnB1dEVycm9yLCBwYXJzZV9mdW5jdGlvbnMsIHN0cmVhbSkKLQotCi1jbGFzcyBFc2NhcGVkU3BsaXQoVGVzdENhc2UpOgotICAgICIiIgotICAgIFRlc3Qgc3VpdGUgZm9yIHRlc3RpbmcgZXNjYXBlZF9zcGxpdCgpLgotICAgIE5vdGU6IFNpbmNlIGVzY2FwZWRfc3BsaXQoKSBvdXRwdXQgaXMgdXNlZCB0byB3cml0ZSBiYWNrIHRvIHRoZQotICAgIGludGVybWVkaWF0ZSBkYXRhIGZpbGUuIEFueSBlc2NhcGUgY2hhcmFjdGVycyBpbiB0aGUgaW5wdXQgYXJlCi0gICAgcmV0YWluZWQgaW4gdGhlIG91dHB1dC4KLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X2ludmFsaWRfaW5wdXQoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHdoZW4gaW5wdXQgc3BsaXQgY2hhcmFjdGVyIGlzIG5vdCBhIGNoYXJhY3Rlci4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGVzY2FwZWRfc3BsaXQsICcnLCAnc3RyaW5nJykKLQotICAgIGRlZiB0ZXN0X2VtcHR5X3N0cmluZyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgZW1wdHkgc3RyaW5nIGlucHV0LgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgc3BsaXRzID0gZXNjYXBlZF9zcGxpdCgnJywgJzonKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwbGl0cywgW10pCi0KLSAgICBkZWYgdGVzdF9ub19lc2NhcGUoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHdpdGggbm8gZXNjYXBlIGNoYXJhY3Rlci4gVGhlIGJlaGF2aW91ciBzaG91bGQgYmUgc2FtZSBhcwotICAgICAgICBzdHIuc3BsaXQoKQotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgdGVzdF9zdHIgPSAneWFob286Z29vZ2xlJwotICAgICAgICBzcGxpdHMgPSBlc2NhcGVkX3NwbGl0KHRlc3Rfc3RyLCAnOicpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BsaXRzLCB0ZXN0X3N0ci5zcGxpdCgnOicpKQotCi0gICAgZGVmIHRlc3RfZXNjYXBlZF9pbnB1dChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgaW5wdXQgdGhhdCBoYXMgZXNjYXBlZCBkZWxpbWl0ZXIuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICB0ZXN0X3N0ciA9IHIneWFob29cOmdvb2dsZTpmYWNlYm9vaycKLSAgICAgICAgc3BsaXRzID0gZXNjYXBlZF9zcGxpdCh0ZXN0X3N0ciwgJzonKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwbGl0cywgW3IneWFob29cOmdvb2dsZScsICdmYWNlYm9vayddKQotCi0gICAgZGVmIHRlc3RfZXNjYXBlZF9lc2NhcGUoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IGlucHV0IHRoYXQgaGFzIGVzY2FwZWQgZGVsaW1pdGVyLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgdGVzdF9zdHIgPSByJ3lhaG9vXFw6Z29vZ2xlOmZhY2Vib29rJwotICAgICAgICBzcGxpdHMgPSBlc2NhcGVkX3NwbGl0KHRlc3Rfc3RyLCAnOicpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BsaXRzLCBbcid5YWhvb1xcJywgJ2dvb2dsZScsICdmYWNlYm9vayddKQotCi0gICAgZGVmIHRlc3RfYWxsX2F0X29uY2Uoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IGlucHV0IHRoYXQgaGFzIGVzY2FwZWQgZGVsaW1pdGVyLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgdGVzdF9zdHIgPSByJ3lhaG9vXFw6Z29vZ2xlOmZhY2Vib29rXDppbnN0YWdyYW1cXDpiYmNcXDp3aWtpcGVkaWEnCi0gICAgICAgIHNwbGl0cyA9IGVzY2FwZWRfc3BsaXQodGVzdF9zdHIsICc6JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGxpdHMsIFtyJ3lhaG9vXFwnLCByJ2dvb2dsZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcidmYWNlYm9va1w6aW5zdGFncmFtXFwnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInYmJjXFwnLCByJ3dpa2lwZWRpYSddKQotCi0KLWNsYXNzIFBhcnNlVGVzdERhdGEoVGVzdENhc2UpOgotICAgICIiIgotICAgIFRlc3Qgc3VpdGUgZm9yIHBhcnNlIHRlc3QgZGF0YS4KLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X3BhcnNlcihzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCB0ZXN0cyBhcmUgcGFyc2VkIGNvcnJlY3RseSBmcm9tIGRhdGEgZmlsZS4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSAiIiIKLURpZmZpZS1IZWxsbWFuIGZ1bGwgZXhjaGFuZ2UgIzEKLWRobV9kb19kaG06MTA6IjIzIjoxMDoiNSIKLQotRGlmZmllLUhlbGxtYW4gZnVsbCBleGNoYW5nZSAjMgotZGhtX2RvX2RobToxMDoiOTM0NTA5ODMwOTQ4NTA5Mzg0NTA5ODM0MDk2MjMiOjEwOiI5MzQ1MDk4MzA0ODUwOTM4NDUwOTgzNDA5NjIyIgotCi1EaWZmaWUtSGVsbG1hbiBmdWxsIGV4Y2hhbmdlICMzCi1kaG1fZG9fZGhtOjEwOiI5MzQ1MDk4MzgyNzM5NzEyOTM4NzE5Mjg3MzkxODc5MzgxMjcxIjoxMDoiOTM0NTA5ODc5MjEzNzMxMjk3MzI5NzEyMzkxMjc5MTI3MSIKLQotRGlmZmllLUhlbGxtYW4gc2VsZnRlc3QKLWRobV9zZWxmdGVzdDoKLSIiIgotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICAjIExpc3Qgb2YgKG5hbWUsIGZ1bmN0aW9uX25hbWUsIGRlcGVuZGVuY2llcywgYXJncykKLSAgICAgICAgdGVzdHMgPSBsaXN0KHBhcnNlX3Rlc3RfZGF0YShzdHJlYW0pKQotICAgICAgICB0ZXN0MSwgdGVzdDIsIHRlc3QzLCB0ZXN0NCA9IHRlc3RzCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDFbMF0sIDMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDFbMV0sICdEaWZmaWUtSGVsbG1hbiBmdWxsIGV4Y2hhbmdlICMxJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0MVsyXSwgJ2RobV9kb19kaG0nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3QxWzNdLCBbXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0MVs0XSwgWycxMCcsICciMjMiJywgJzEwJywgJyI1IiddKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDJbMF0sIDYpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDJbMV0sICdEaWZmaWUtSGVsbG1hbiBmdWxsIGV4Y2hhbmdlICMyJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0MlsyXSwgJ2RobV9kb19kaG0nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3QyWzNdLCBbXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0Mls0XSwgWycxMCcsICciOTM0NTA5ODMwOTQ4NTA5Mzg0NTA5ODM0MDk2MjMiJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcxMCcsICciOTM0NTA5ODMwNDg1MDkzODQ1MDk4MzQwOTYyMiInXSkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3QzWzBdLCA5KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3QzWzFdLCAnRGlmZmllLUhlbGxtYW4gZnVsbCBleGNoYW5nZSAjMycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDNbMl0sICdkaG1fZG9fZGhtJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0M1szXSwgW10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDNbNF0sIFsnMTAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyI5MzQ1MDk4MzgyNzM5NzEyOTM4NzE5Mjg3MzkxODc5MzgxMjcxIicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMTAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyI5MzQ1MDk4NzkyMTM3MzEyOTczMjk3MTIzOTEyNzkxMjcxIiddKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDRbMF0sIDEyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3Q0WzFdLCAnRGlmZmllLUhlbGxtYW4gc2VsZnRlc3QnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3Q0WzJdLCAnZGhtX3NlbGZ0ZXN0JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0NFszXSwgW10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDRbNF0sIFtdKQotCi0gICAgZGVmIHRlc3Rfd2l0aF9kZXBlbmRlbmNpZXMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgdGVzdHMgd2l0aCBkZXBlbmRlbmNpZXMgYXJlIHBhcnNlZC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSAiIiIKLURpZmZpZS1IZWxsbWFuIGZ1bGwgZXhjaGFuZ2UgIzEKLWRlcGVuZHNfb246WUFIT08KLWRobV9kb19kaG06MTA6IjIzIjoxMDoiNSIKLQotRGlmZmllLUhlbGxtYW4gZnVsbCBleGNoYW5nZSAjMgotZGhtX2RvX2RobToxMDoiOTM0NTA5ODMwOTQ4NTA5Mzg0NTA5ODM0MDk2MjMiOjEwOiI5MzQ1MDk4MzA0ODUwOTM4NDUwOTgzNDA5NjIyIgotCi0iIiIKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmZ1bmN0aW9uJywgZGF0YSkKLSAgICAgICAgIyBMaXN0IG9mIChuYW1lLCBmdW5jdGlvbl9uYW1lLCBkZXBlbmRlbmNpZXMsIGFyZ3MpCi0gICAgICAgIHRlc3RzID0gbGlzdChwYXJzZV90ZXN0X2RhdGEoc3RyZWFtKSkKLSAgICAgICAgdGVzdDEsIHRlc3QyID0gdGVzdHMKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0MVswXSwgNCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0MVsxXSwgJ0RpZmZpZS1IZWxsbWFuIGZ1bGwgZXhjaGFuZ2UgIzEnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3QxWzJdLCAnZGhtX2RvX2RobScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDFbM10sIFsnWUFIT08nXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0MVs0XSwgWycxMCcsICciMjMiJywgJzEwJywgJyI1IiddKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDJbMF0sIDcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdDJbMV0sICdEaWZmaWUtSGVsbG1hbiBmdWxsIGV4Y2hhbmdlICMyJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0MlsyXSwgJ2RobV9kb19kaG0nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3QyWzNdLCBbXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0Mls0XSwgWycxMCcsICciOTM0NTA5ODMwOTQ4NTA5Mzg0NTA5ODM0MDk2MjMiJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcxMCcsICciOTM0NTA5ODMwNDg1MDkzODQ1MDk4MzQwOTYyMiInXSkKLQotICAgIGRlZiB0ZXN0X25vX2FyZ3Moc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IEdlbmVyYXRvcklucHV0RXJyb3IgaXMgcmFpc2VkIHdoZW4gdGVzdCBmdW5jdGlvbiBuYW1lIGFuZAotICAgICAgICBhcmdzIGxpbmUgaXMgbWlzc2luZy4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSAiIiIKLURpZmZpZS1IZWxsbWFuIGZ1bGwgZXhjaGFuZ2UgIzEKLWRlcGVuZHNfb246WUFIT08KLQotCi1EaWZmaWUtSGVsbG1hbiBmdWxsIGV4Y2hhbmdlICMyCi1kaG1fZG9fZGhtOjEwOiI5MzQ1MDk4MzA5NDg1MDkzODQ1MDk4MzQwOTYyMyI6MTA6IjkzNDUwOTgzMDQ4NTA5Mzg0NTA5ODM0MDk2MjIiCi0KLSIiIgotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBlcnIgPSBOb25lCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGZvciBfLCBfLCBfLCBfLCBfIGluIHBhcnNlX3Rlc3RfZGF0YShzdHJlYW0pOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IEdlbmVyYXRvcklucHV0RXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGVyciksIEdlbmVyYXRvcklucHV0RXJyb3IpCi0KLSAgICBkZWYgdGVzdF9pbmNvbXBsZXRlX2RhdGEoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IEdlbmVyYXRvcklucHV0RXJyb3IgaXMgcmFpc2VkIHdoZW4gdGVzdCBmdW5jdGlvbiBuYW1lCi0gICAgICAgIGFuZCBhcmdzIGxpbmUgaXMgbWlzc2luZy4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRhdGEgPSAiIiIKLURpZmZpZS1IZWxsbWFuIGZ1bGwgZXhjaGFuZ2UgIzEKLWRlcGVuZHNfb246WUFIT08KLSIiIgotICAgICAgICBzdHJlYW0gPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZnVuY3Rpb24nLCBkYXRhKQotICAgICAgICBlcnIgPSBOb25lCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGZvciBfLCBfLCBfLCBfLCBfIGluIHBhcnNlX3Rlc3RfZGF0YShzdHJlYW0pOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IEdlbmVyYXRvcklucHV0RXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGVyciksIEdlbmVyYXRvcklucHV0RXJyb3IpCi0KLQotY2xhc3MgR2VuRGVwQ2hlY2soVGVzdENhc2UpOgotICAgICIiIgotICAgIFRlc3Qgc3VpdGUgZm9yIGdlbl9kZXBfY2hlY2soKS4gSXQgaXMgYXNzdW1lZCB0aGlzIGZ1bmN0aW9uIGlzCi0gICAgY2FsbGVkIHdpdGggdmFsaWQgaW5wdXRzLgotICAgICIiIgotCi0gICAgZGVmIHRlc3RfZ2VuX2RlcF9jaGVjayhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCBkZXBlbmRlbmN5IGNoZWNrIGNvZGUgZ2VuZXJhdGVkIGNvcnJlY3RseS4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGV4cGVjdGVkID0gIiIiCi0gICAgICAgIGNhc2UgNToKLSAgICAgICAgICAgIHsKLSNpZiBkZWZpbmVkKFlBSE9PKQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfU1VQUE9SVEVEOwotI2Vsc2UKLSAgICAgICAgICAgICAgICByZXQgPSBERVBFTkRFTkNZX05PVF9TVVBQT1JURUQ7Ci0jZW5kaWYKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOyIiIgotICAgICAgICBvdXQgPSBnZW5fZGVwX2NoZWNrKDUsICdZQUhPTycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LCBleHBlY3RlZCkKLQotICAgIGRlZiB0ZXN0X25vdF9kZWZpbmVkX2RlcGVuZGVuY3koc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IGRlcGVuZGVuY3kgd2l0aCAhLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZXhwZWN0ZWQgPSAiIiIKLSAgICAgICAgY2FzZSA1OgotICAgICAgICAgICAgewotI2lmICFkZWZpbmVkKFlBSE9PKQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfU1VQUE9SVEVEOwotI2Vsc2UKLSAgICAgICAgICAgICAgICByZXQgPSBERVBFTkRFTkNZX05PVF9TVVBQT1JURUQ7Ci0jZW5kaWYKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOyIiIgotICAgICAgICBvdXQgPSBnZW5fZGVwX2NoZWNrKDUsICchWUFIT08nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dCwgZXhwZWN0ZWQpCi0KLSAgICBkZWYgdGVzdF9lbXB0eV9kZXBlbmRlbmN5KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCBpbnZhbGlkIGRlcGVuZGVuY3kgaW5wdXQuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhHZW5lcmF0b3JJbnB1dEVycm9yLCBnZW5fZGVwX2NoZWNrLCA1LCAnIScpCi0KLSAgICBkZWYgdGVzdF9uZWdhdGl2ZV9kZXBfaWQoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IGludmFsaWQgZGVwZW5kZW5jeSBpbnB1dC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEdlbmVyYXRvcklucHV0RXJyb3IsIGdlbl9kZXBfY2hlY2ssIC0xLCAnWUFIT08nKQotCi0KLWNsYXNzIEdlbkV4cENoZWNrKFRlc3RDYXNlKToKLSAgICAiIiIKLSAgICBUZXN0IHN1aXRlIGZvciBnZW5fZXhwcmVzc2lvbl9jaGVjaygpLiBJdCBpcyBhc3N1bWVkIHRoaXMgZnVuY3Rpb24KLSAgICBpcyBjYWxsZWQgd2l0aCB2YWxpZCBpbnB1dHMuCi0gICAgIiIiCi0KLSAgICBkZWYgdGVzdF9nZW5fZXhwX2NoZWNrKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGV4cHJlc3Npb24gY2hlY2sgY29kZSBnZW5lcmF0ZWQgY29ycmVjdGx5LgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZXhwZWN0ZWQgPSAiIiIKLSAgICAgICAgY2FzZSA1OgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICpvdXRfdmFsdWUgPSBZQUhPTzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOyIiIgotICAgICAgICBvdXQgPSBnZW5fZXhwcmVzc2lvbl9jaGVjayg1LCAnWUFIT08nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dCwgZXhwZWN0ZWQpCi0KLSAgICBkZWYgdGVzdF9pbnZhbGlkX2V4cHJlc3Npb24oc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IGludmFsaWQgZXhwcmVzc2lvbiBpbnB1dC4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEdlbmVyYXRvcklucHV0RXJyb3IsIGdlbl9leHByZXNzaW9uX2NoZWNrLCA1LCAnJykKLQotICAgIGRlZiB0ZXN0X25lZ2F0aXZlX2V4cF9pZChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgaW52YWxpZCBleHByZXNzaW9uIGlkLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoR2VuZXJhdG9ySW5wdXRFcnJvciwgZ2VuX2V4cHJlc3Npb25fY2hlY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAnWUFIT08nKQotCi0KLWNsYXNzIFdyaXRlRGVwZW5kZW5jaWVzKFRlc3RDYXNlKToKLSAgICAiIiIKLSAgICBUZXN0IHN1aXRlIGZvciB0ZXN0aW5nIHdyaXRlX2RlcGVuZGVuY2llcy4KLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X25vX3Rlc3RfZGVwZW5kZW5jaWVzKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB3aGVuIHRlc3QgZGVwZW5kZW5jaWVzIGlucHV0IGlzIGVtcHR5LgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmRhdGEnLCAnJykKLSAgICAgICAgdW5pcXVlX2RlcGVuZGVuY2llcyA9IFtdCi0gICAgICAgIGRlcF9jaGVja19jb2RlID0gd3JpdGVfZGVwZW5kZW5jaWVzKHN0cmVhbSwgW10sIHVuaXF1ZV9kZXBlbmRlbmNpZXMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVwX2NoZWNrX2NvZGUsICcnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih1bmlxdWVfZGVwZW5kZW5jaWVzKSwgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0uZ2V0dmFsdWUoKSwgJycpCi0KLSAgICBkZWYgdGVzdF91bmlxdWVfZGVwX2lkcyhzZWxmKToKLSAgICAgICAgIiIiCi0KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5kYXRhJywgJycpCi0gICAgICAgIHVuaXF1ZV9kZXBlbmRlbmNpZXMgPSBbXQotICAgICAgICBkZXBfY2hlY2tfY29kZSA9IHdyaXRlX2RlcGVuZGVuY2llcyhzdHJlYW0sIFsnREVQMycsICdERVAyJywgJ0RFUDEnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pcXVlX2RlcGVuZGVuY2llcykKLSAgICAgICAgZXhwZWN0X2RlcF9jaGVja19jb2RlID0gJycnCi0gICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgIHsKLSNpZiBkZWZpbmVkKERFUDMpCi0gICAgICAgICAgICAgICAgcmV0ID0gREVQRU5ERU5DWV9TVVBQT1JURUQ7Ci0jZWxzZQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfTk9UX1NVUFBPUlRFRDsKLSNlbmRpZgotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMToKLSAgICAgICAgICAgIHsKLSNpZiBkZWZpbmVkKERFUDIpCi0gICAgICAgICAgICAgICAgcmV0ID0gREVQRU5ERU5DWV9TVVBQT1JURUQ7Ci0jZWxzZQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfTk9UX1NVUFBPUlRFRDsKLSNlbmRpZgotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIHsKLSNpZiBkZWZpbmVkKERFUDEpCi0gICAgICAgICAgICAgICAgcmV0ID0gREVQRU5ERU5DWV9TVVBQT1JURUQ7Ci0jZWxzZQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfTk9UX1NVUFBPUlRFRDsKLSNlbmRpZgotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7JycnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVwX2NoZWNrX2NvZGUsIGV4cGVjdF9kZXBfY2hlY2tfY29kZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odW5pcXVlX2RlcGVuZGVuY2llcyksIDMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLmdldHZhbHVlKCksICdkZXBlbmRzX29uOjA6MToyXG4nKQotCi0gICAgZGVmIHRlc3RfZGVwX2lkX3JlcGVhdChzZWxmKToKLSAgICAgICAgIiIiCi0KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5kYXRhJywgJycpCi0gICAgICAgIHVuaXF1ZV9kZXBlbmRlbmNpZXMgPSBbXQotICAgICAgICBkZXBfY2hlY2tfY29kZSA9ICcnCi0gICAgICAgIGRlcF9jaGVja19jb2RlICs9IHdyaXRlX2RlcGVuZGVuY2llcyhzdHJlYW0sIFsnREVQMycsICdERVAyJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWVfZGVwZW5kZW5jaWVzKQotICAgICAgICBkZXBfY2hlY2tfY29kZSArPSB3cml0ZV9kZXBlbmRlbmNpZXMoc3RyZWFtLCBbJ0RFUDInLCAnREVQMSddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pcXVlX2RlcGVuZGVuY2llcykKLSAgICAgICAgZGVwX2NoZWNrX2NvZGUgKz0gd3JpdGVfZGVwZW5kZW5jaWVzKHN0cmVhbSwgWydERVAxJywgJ0RFUDMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXF1ZV9kZXBlbmRlbmNpZXMpCi0gICAgICAgIGV4cGVjdF9kZXBfY2hlY2tfY29kZSA9ICcnJwotICAgICAgICBjYXNlIDA6Ci0gICAgICAgICAgICB7Ci0jaWYgZGVmaW5lZChERVAzKQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfU1VQUE9SVEVEOwotI2Vsc2UKLSAgICAgICAgICAgICAgICByZXQgPSBERVBFTkRFTkNZX05PVF9TVVBQT1JURUQ7Ci0jZW5kaWYKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICB7Ci0jaWYgZGVmaW5lZChERVAyKQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfU1VQUE9SVEVEOwotI2Vsc2UKLSAgICAgICAgICAgICAgICByZXQgPSBERVBFTkRFTkNZX05PVF9TVVBQT1JURUQ7Ci0jZW5kaWYKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICB7Ci0jaWYgZGVmaW5lZChERVAxKQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfU1VQUE9SVEVEOwotI2Vsc2UKLSAgICAgICAgICAgICAgICByZXQgPSBERVBFTkRFTkNZX05PVF9TVVBQT1JURUQ7Ci0jZW5kaWYKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOycnJwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcF9jaGVja19jb2RlLCBleHBlY3RfZGVwX2NoZWNrX2NvZGUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHVuaXF1ZV9kZXBlbmRlbmNpZXMpLCAzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5nZXR2YWx1ZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICdkZXBlbmRzX29uOjA6MVxuZGVwZW5kc19vbjoxOjJcbmRlcGVuZHNfb246MjowXG4nKQotCi0KLWNsYXNzIFdyaXRlUGFyYW1zKFRlc3RDYXNlKToKLSAgICAiIiIKLSAgICBUZXN0IFN1aXRlIGZvciB0ZXN0aW5nIHdyaXRlX3BhcmFtZXRlcnMoKS4KLSAgICAiIiIKLQotICAgIGRlZiB0ZXN0X25vX3BhcmFtcyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3Qgd2l0aCBlbXB0eSB0ZXN0X2FyZ3MKLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5kYXRhJywgJycpCi0gICAgICAgIHVuaXF1ZV9leHByZXNzaW9ucyA9IFtdCi0gICAgICAgIGV4cHJlc3Npb25fY29kZSA9IHdyaXRlX3BhcmFtZXRlcnMoc3RyZWFtLCBbXSwgW10sIHVuaXF1ZV9leHByZXNzaW9ucykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odW5pcXVlX2V4cHJlc3Npb25zKSwgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHByZXNzaW9uX2NvZGUsICcnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5nZXR2YWx1ZSgpLCAnXG4nKQotCi0gICAgZGVmIHRlc3Rfbm9fZXhwX3BhcmFtKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB3aGVuIHRoZXJlIGlzIG5vIG1hY3JvIG9yIGV4cHJlc3Npb24gaW4gdGhlIHBhcmFtcy4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5kYXRhJywgJycpCi0gICAgICAgIHVuaXF1ZV9leHByZXNzaW9ucyA9IFtdCi0gICAgICAgIGV4cHJlc3Npb25fY29kZSA9IHdyaXRlX3BhcmFtZXRlcnMoc3RyZWFtLCBbJyJZYWhvbyInLCAnImFiY2RlZjAwIicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzAnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2NoYXIqJywgJ2hleCcsICdpbnQnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWVfZXhwcmVzc2lvbnMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHVuaXF1ZV9leHByZXNzaW9ucyksIDApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwcmVzc2lvbl9jb2RlLCAnJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0uZ2V0dmFsdWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAnOmNoYXIqOiJZYWhvbyI6aGV4OiJhYmNkZWYwMCI6aW50OjBcbicpCi0KLSAgICBkZWYgdGVzdF9oZXhfZm9ybWF0X2ludF9wYXJhbShzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgaW50IHBhcmFtZXRlciBpbiBoZXggZm9ybWF0LgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmRhdGEnLCAnJykKLSAgICAgICAgdW5pcXVlX2V4cHJlc3Npb25zID0gW10KLSAgICAgICAgZXhwcmVzc2lvbl9jb2RlID0gd3JpdGVfcGFyYW1ldGVycyhzdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyciWWFob28iJywgJyJhYmNkZWYwMCInLCAnMHhBQSddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnY2hhcionLCAnaGV4JywgJ2ludCddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXF1ZV9leHByZXNzaW9ucykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odW5pcXVlX2V4cHJlc3Npb25zKSwgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHByZXNzaW9uX2NvZGUsICcnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5nZXR2YWx1ZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICc6Y2hhcio6IllhaG9vIjpoZXg6ImFiY2RlZjAwIjppbnQ6MHhBQVxuJykKLQotICAgIGRlZiB0ZXN0X3dpdGhfZXhwX3BhcmFtKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB3aGVuIHRoZXJlIGlzIG1hY3JvIG9yIGV4cHJlc3Npb24gaW4gdGhlIHBhcmFtcy4KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPV3JhcHBlcigndGVzdF9zdWl0ZV91dC5kYXRhJywgJycpCi0gICAgICAgIHVuaXF1ZV9leHByZXNzaW9ucyA9IFtdCi0gICAgICAgIGV4cHJlc3Npb25fY29kZSA9IHdyaXRlX3BhcmFtZXRlcnMoc3RyZWFtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnIllhaG9vIicsICciYWJjZGVmMDAiJywgJzAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTUFDUk8xJywgJ01BQ1JPMicsICdNQUNSTzMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2NoYXIqJywgJ2hleCcsICdpbnQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50JywgJ2ludCcsICdpbnQnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWVfZXhwcmVzc2lvbnMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHVuaXF1ZV9leHByZXNzaW9ucyksIDMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodW5pcXVlX2V4cHJlc3Npb25zLCBbJ01BQ1JPMScsICdNQUNSTzInLCAnTUFDUk8zJ10pCi0gICAgICAgIGV4cGVjdGVkX2V4cHJlc3Npb25fY29kZSA9ICcnJwotICAgICAgICBjYXNlIDA6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgKm91dF92YWx1ZSA9IE1BQ1JPMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgKm91dF92YWx1ZSA9IE1BQ1JPMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgKm91dF92YWx1ZSA9IE1BQ1JPMzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOycnJwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cHJlc3Npb25fY29kZSwgZXhwZWN0ZWRfZXhwcmVzc2lvbl9jb2RlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5nZXR2YWx1ZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICc6Y2hhcio6IllhaG9vIjpoZXg6ImFiY2RlZjAwIjppbnQ6MDpleHA6MDpleHA6MScKLSAgICAgICAgICAgICAgICAgICAgICAgICAnOmV4cDoyXG4nKQotCi0gICAgZGVmIHRlc3Rfd2l0aF9yZXBlYXRfY2FsbHMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHdoZW4gd3JpdGVfcGFyYW1ldGVyKCkgaXMgY2FsbGVkIHdpdGggc2FtZSBtYWNybyBvciBleHByZXNzaW9uLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgc3RyZWFtID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmRhdGEnLCAnJykKLSAgICAgICAgdW5pcXVlX2V4cHJlc3Npb25zID0gW10KLSAgICAgICAgZXhwcmVzc2lvbl9jb2RlID0gJycKLSAgICAgICAgZXhwcmVzc2lvbl9jb2RlICs9IHdyaXRlX3BhcmFtZXRlcnMoc3RyZWFtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJyJZYWhvbyInLCAnTUFDUk8xJywgJ01BQ1JPMiddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2NoYXIqJywgJ2ludCcsICdpbnQnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pcXVlX2V4cHJlc3Npb25zKQotICAgICAgICBleHByZXNzaW9uX2NvZGUgKz0gd3JpdGVfcGFyYW1ldGVycyhzdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnImFiY2RlZjAwIicsICdNQUNSTzInLCAnTUFDUk8zJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnaGV4JywgJ2ludCcsICdpbnQnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pcXVlX2V4cHJlc3Npb25zKQotICAgICAgICBleHByZXNzaW9uX2NvZGUgKz0gd3JpdGVfcGFyYW1ldGVycyhzdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnMCcsICdNQUNSTzMnLCAnTUFDUk8xJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnaW50JywgJ2ludCcsICdpbnQnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pcXVlX2V4cHJlc3Npb25zKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih1bmlxdWVfZXhwcmVzc2lvbnMpLCAzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaXF1ZV9leHByZXNzaW9ucywgWydNQUNSTzEnLCAnTUFDUk8yJywgJ01BQ1JPMyddKQotICAgICAgICBleHBlY3RlZF9leHByZXNzaW9uX2NvZGUgPSAnJycKLSAgICAgICAgY2FzZSAwOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICpvdXRfdmFsdWUgPSBNQUNSTzE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICpvdXRfdmFsdWUgPSBNQUNSTzI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICpvdXRfdmFsdWUgPSBNQUNSTzM7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsnJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHByZXNzaW9uX2NvZGUsIGV4cGVjdGVkX2V4cHJlc3Npb25fY29kZSkKLSAgICAgICAgZXhwZWN0ZWRfZGF0YV9maWxlID0gJycnOmNoYXIqOiJZYWhvbyI6ZXhwOjA6ZXhwOjEKLTpoZXg6ImFiY2RlZjAwIjpleHA6MTpleHA6MgotOmludDowOmV4cDoyOmV4cDowCi0nJycKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0uZ2V0dmFsdWUoKSwgZXhwZWN0ZWRfZGF0YV9maWxlKQotCi0KLWNsYXNzIEdlblRlc3RTdWl0ZURlcGVuZGVuY2llc0NoZWNrcyhUZXN0Q2FzZSk6Ci0gICAgIiIiCi0gICAgVGVzdCBzdWl0ZSBmb3IgdGVzdGluZyBnZW5fc3VpdGVfZGVwX2NoZWNrcygpCi0gICAgIiIiCi0gICAgZGVmIHRlc3RfZW1wdHlfc3VpdGVfZGVwZW5kZW5jaWVzKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB3aXRoIGVtcHR5IHN1aXRlX2RlcGVuZGVuY2llcyBsaXN0LgotCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkZXBfY2hlY2tfY29kZSwgZXhwcmVzc2lvbl9jb2RlID0gXAotICAgICAgICAgICAgZ2VuX3N1aXRlX2RlcF9jaGVja3MoW10sICdERVBfQ0hFQ0tfQ09ERScsICdFWFBSRVNTSU9OX0NPREUnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcF9jaGVja19jb2RlLCAnREVQX0NIRUNLX0NPREUnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cHJlc3Npb25fY29kZSwgJ0VYUFJFU1NJT05fQ09ERScpCi0KLSAgICBkZWYgdGVzdF9zdWl0ZV9kZXBlbmRlbmNpZXMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHdpdGggc3VpdGVfZGVwZW5kZW5jaWVzIGxpc3QuCi0KLSAgICAgICAgOnJldHVybjoKLSAgICAgICAgIiIiCi0gICAgICAgIGRlcF9jaGVja19jb2RlLCBleHByZXNzaW9uX2NvZGUgPSBcCi0gICAgICAgICAgICBnZW5fc3VpdGVfZGVwX2NoZWNrcyhbJ1NVSVRFX0RFUCddLCAnREVQX0NIRUNLX0NPREUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VYUFJFU1NJT05fQ09ERScpCi0gICAgICAgIGV4cGVjdGVkX2RlcF9jaGVja19jb2RlID0gJycnCi0jaWYgZGVmaW5lZChTVUlURV9ERVApCi1ERVBfQ0hFQ0tfQ09ERQotI2VuZGlmCi0nJycKLSAgICAgICAgZXhwZWN0ZWRfZXhwcmVzc2lvbl9jb2RlID0gJycnCi0jaWYgZGVmaW5lZChTVUlURV9ERVApCi1FWFBSRVNTSU9OX0NPREUKLSNlbmRpZgotJycnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVwX2NoZWNrX2NvZGUsIGV4cGVjdGVkX2RlcF9jaGVja19jb2RlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cHJlc3Npb25fY29kZSwgZXhwZWN0ZWRfZXhwcmVzc2lvbl9jb2RlKQotCi0gICAgZGVmIHRlc3Rfbm9fZGVwX25vX2V4cChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3Qgd2hlbiB0aGVyZSBhcmUgbm8gZGVwZW5kZW5jeSBhbmQgZXhwcmVzc2lvbiBjb2RlLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGVwX2NoZWNrX2NvZGUsIGV4cHJlc3Npb25fY29kZSA9IGdlbl9zdWl0ZV9kZXBfY2hlY2tzKFtdLCAnJywgJycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVwX2NoZWNrX2NvZGUsICcnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cHJlc3Npb25fY29kZSwgJycpCi0KLQotY2xhc3MgR2VuRnJvbVRlc3REYXRhKFRlc3RDYXNlKToKLSAgICAiIiIKLSAgICBUZXN0IHN1aXRlIGZvciBnZW5fZnJvbV90ZXN0X2RhdGEoKQotICAgICIiIgotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIEBwYXRjaCgiZ2VuZXJhdGVfdGVzdF9jb2RlLndyaXRlX2RlcGVuZGVuY2llcyIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUud3JpdGVfcGFyYW1ldGVycyIpCi0gICAgQHBhdGNoKCJnZW5lcmF0ZV90ZXN0X2NvZGUuZ2VuX3N1aXRlX2RlcF9jaGVja3MiKQotICAgIGRlZiB0ZXN0X2ludGVybWVkaWF0ZV9kYXRhX2ZpbGUoZnVuY19tb2NrMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlX3BhcmFtZXRlcnNfbW9jaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlX2RlcGVuZGVuY2llc19tb2NrKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCBpbnRlcm1lZGlhdGUgZGF0YSBmaWxlIGlzIHdyaXR0ZW4gd2l0aCBleHBlY3RlZCBkYXRhLgotICAgICAgICA6cmV0dXJuOgotICAgICAgICAiIiIKLSAgICAgICAgZGF0YSA9ICcnJwotTXkgdGVzdAotZGVwZW5kc19vbjpERVAxCi1mdW5jMTowCi0nJycKLSAgICAgICAgZGF0YV9mID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmRhdGEnLCBkYXRhKQotICAgICAgICBvdXRfZGF0YV9mID0gU3RyaW5nSU9XcmFwcGVyKCd0ZXN0X3N1aXRlX3V0LmRhdGF4JywgJycpCi0gICAgICAgIGZ1bmNfaW5mbyA9IHsndGVzdF9mdW5jMSc6ICgxLCAoJ2ludCcsKSl9Ci0gICAgICAgIHN1aXRlX2RlcGVuZGVuY2llcyA9IFtdCi0gICAgICAgIHdyaXRlX3BhcmFtZXRlcnNfbW9jay5zaWRlX2VmZmVjdCA9IHdyaXRlX3BhcmFtZXRlcnMKLSAgICAgICAgd3JpdGVfZGVwZW5kZW5jaWVzX21vY2suc2lkZV9lZmZlY3QgPSB3cml0ZV9kZXBlbmRlbmNpZXMKLSAgICAgICAgZnVuY19tb2NrMS5zaWRlX2VmZmVjdCA9IGdlbl9zdWl0ZV9kZXBfY2hlY2tzCi0gICAgICAgIGdlbl9mcm9tX3Rlc3RfZGF0YShkYXRhX2YsIG91dF9kYXRhX2YsIGZ1bmNfaW5mbywgc3VpdGVfZGVwZW5kZW5jaWVzKQotICAgICAgICB3cml0ZV9kZXBlbmRlbmNpZXNfbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgob3V0X2RhdGFfZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnREVQMSddLCBbJ0RFUDEnXSkKLSAgICAgICAgd3JpdGVfcGFyYW1ldGVyc19tb2NrLmFzc2VydF9jYWxsZWRfd2l0aChvdXRfZGF0YV9mLCBbJzAnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2ludCcsKSwgW10pCi0gICAgICAgIGV4cGVjdGVkX2RlcF9jaGVja19jb2RlID0gJycnCi0gICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgIHsKLSNpZiBkZWZpbmVkKERFUDEpCi0gICAgICAgICAgICAgICAgcmV0ID0gREVQRU5ERU5DWV9TVVBQT1JURUQ7Ci0jZWxzZQotICAgICAgICAgICAgICAgIHJldCA9IERFUEVOREVOQ1lfTk9UX1NVUFBPUlRFRDsKLSNlbmRpZgotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7JycnCi0gICAgICAgIGZ1bmNfbW9jazEuYXNzZXJ0X2NhbGxlZF93aXRoKAotICAgICAgICAgICAgc3VpdGVfZGVwZW5kZW5jaWVzLCBleHBlY3RlZF9kZXBfY2hlY2tfY29kZSwgJycpCi0KLSAgICBkZWYgdGVzdF9mdW5jdGlvbl9ub3RfZm91bmQoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IHRoYXQgQXNzZXJ0RXJyb3IgaXMgcmFpc2VkIHdoZW4gZnVuY3Rpb24gaW5mbyBpbiBub3QgZm91bmQuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkYXRhID0gJycnCi1NeSB0ZXN0Ci1kZXBlbmRzX29uOkRFUDEKLWZ1bmMxOjAKLScnJwotICAgICAgICBkYXRhX2YgPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZGF0YScsIGRhdGEpCi0gICAgICAgIG91dF9kYXRhX2YgPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZGF0YXgnLCAnJykKLSAgICAgICAgZnVuY19pbmZvID0geyd0ZXN0X2Z1bmMyJzogKDEsICgnaW50JywpKX0KLSAgICAgICAgc3VpdGVfZGVwZW5kZW5jaWVzID0gW10KLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoR2VuZXJhdG9ySW5wdXRFcnJvciwgZ2VuX2Zyb21fdGVzdF9kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhX2YsIG91dF9kYXRhX2YsIGZ1bmNfaW5mbywgc3VpdGVfZGVwZW5kZW5jaWVzKQotCi0gICAgZGVmIHRlc3RfZGlmZmVyZW50X2Z1bmNfYXJncyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgdGhhdCBBc3NlcnRFcnJvciBpcyByYWlzZWQgd2hlbiBuby4gb2YgcGFyYW1ldGVycyBhbmQKLSAgICAgICAgZnVuY3Rpb24gYXJncyBkaWZmZXIuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkYXRhID0gJycnCi1NeSB0ZXN0Ci1kZXBlbmRzX29uOkRFUDEKLWZ1bmMxOjAKLScnJwotICAgICAgICBkYXRhX2YgPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZGF0YScsIGRhdGEpCi0gICAgICAgIG91dF9kYXRhX2YgPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZGF0YXgnLCAnJykKLSAgICAgICAgZnVuY19pbmZvID0geyd0ZXN0X2Z1bmMyJzogKDEsICgnaW50JywgJ2hleCcpKX0KLSAgICAgICAgc3VpdGVfZGVwZW5kZW5jaWVzID0gW10KLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoR2VuZXJhdG9ySW5wdXRFcnJvciwgZ2VuX2Zyb21fdGVzdF9kYXRhLCBkYXRhX2YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG91dF9kYXRhX2YsIGZ1bmNfaW5mbywgc3VpdGVfZGVwZW5kZW5jaWVzKQotCi0gICAgZGVmIHRlc3Rfb3V0cHV0KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdCB0aGF0IGludGVybWVkaWF0ZSBkYXRhIGZpbGUgaXMgd3JpdHRlbiB3aXRoIGV4cGVjdGVkIGRhdGEuCi0gICAgICAgIDpyZXR1cm46Ci0gICAgICAgICIiIgotICAgICAgICBkYXRhID0gJycnCi1NeSB0ZXN0IDEKLWRlcGVuZHNfb246REVQMQotZnVuYzE6MDoweGZhOk1BQ1JPMTpNQUNSTzIKLQotTXkgdGVzdCAyCi1kZXBlbmRzX29uOkRFUDE6REVQMgotZnVuYzI6InlhaG9vIjo4ODpNQUNSTzEKLScnJwotICAgICAgICBkYXRhX2YgPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZGF0YScsIGRhdGEpCi0gICAgICAgIG91dF9kYXRhX2YgPSBTdHJpbmdJT1dyYXBwZXIoJ3Rlc3Rfc3VpdGVfdXQuZGF0YXgnLCAnJykKLSAgICAgICAgZnVuY19pbmZvID0geyd0ZXN0X2Z1bmMxJzogKDAsICgnaW50JywgJ2ludCcsICdpbnQnLCAnaW50JykpLAotICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RfZnVuYzInOiAoMSwgKCdjaGFyKicsICdpbnQnLCAnaW50JykpfQotICAgICAgICBzdWl0ZV9kZXBlbmRlbmNpZXMgPSBbXQotICAgICAgICBkZXBfY2hlY2tfY29kZSwgZXhwcmVzc2lvbl9jb2RlID0gXAotICAgICAgICAgICAgZ2VuX2Zyb21fdGVzdF9kYXRhKGRhdGFfZiwgb3V0X2RhdGFfZiwgZnVuY19pbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1aXRlX2RlcGVuZGVuY2llcykKLSAgICAgICAgZXhwZWN0ZWRfZGVwX2NoZWNrX2NvZGUgPSAnJycKLSAgICAgICAgY2FzZSAwOgotICAgICAgICAgICAgewotI2lmIGRlZmluZWQoREVQMSkKLSAgICAgICAgICAgICAgICByZXQgPSBERVBFTkRFTkNZX1NVUFBPUlRFRDsKLSNlbHNlCi0gICAgICAgICAgICAgICAgcmV0ID0gREVQRU5ERU5DWV9OT1RfU1VQUE9SVEVEOwotI2VuZGlmCi0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgewotI2lmIGRlZmluZWQoREVQMikKLSAgICAgICAgICAgICAgICByZXQgPSBERVBFTkRFTkNZX1NVUFBPUlRFRDsKLSNlbHNlCi0gICAgICAgICAgICAgICAgcmV0ID0gREVQRU5ERU5DWV9OT1RfU1VQUE9SVEVEOwotI2VuZGlmCi0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsnJycKLSAgICAgICAgZXhwZWN0ZWRfZGF0YSA9ICcnJ015IHRlc3QgMQotZGVwZW5kc19vbjowCi0wOmludDowOmludDoweGZhOmV4cDowOmV4cDoxCi0KLU15IHRlc3QgMgotZGVwZW5kc19vbjowOjEKLTE6Y2hhcio6InlhaG9vIjppbnQ6ODg6ZXhwOjAKLQotJycnCi0gICAgICAgIGV4cGVjdGVkX2V4cHJlc3Npb25fY29kZSA9ICcnJwotICAgICAgICBjYXNlIDA6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgKm91dF92YWx1ZSA9IE1BQ1JPMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgKm91dF92YWx1ZSA9IE1BQ1JPMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOycnJwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlcF9jaGVja19jb2RlLCBleHBlY3RlZF9kZXBfY2hlY2tfY29kZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRfZGF0YV9mLmdldHZhbHVlKCksIGV4cGVjdGVkX2RhdGEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwcmVzc2lvbl9jb2RlLCBleHBlY3RlZF9leHByZXNzaW9uX2NvZGUpCi0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICB1bml0dGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvdGVzdF9wc2FfY29tcGxpYW5jZS5weSBiL3Rlc3RzL3NjcmlwdHMvdGVzdF9wc2FfY29tcGxpYW5jZS5weQppbmRleCA4ZDcwY2JjLi5mN2QxODk1IDEwMDc1NQotLS0gYS90ZXN0cy9zY3JpcHRzL3Rlc3RfcHNhX2NvbXBsaWFuY2UucHkKKysrIGIvdGVzdHMvc2NyaXB0cy90ZXN0X3BzYV9jb21wbGlhbmNlLnB5CkBAIC0yMCw3ICsyMCw3IEBACiAKICNweWxpbnQ6IGRpc2FibGU9dW51c2VkLWltcG9ydAogaW1wb3J0IHNjcmlwdHNfcGF0aAotZnJvbSBtYmVkdGxzX2RldiBpbXBvcnQgYnVpbGRfdHJlZQorZnJvbSBtYmVkdGxzX2ZyYW1ld29yayBpbXBvcnQgYnVpbGRfdHJlZQogCiAjIFBTQSBDb21wbGlhbmNlIHRlc3RzIHdlIGV4cGVjdCB0byBmYWlsIGR1ZSB0byBrbm93biBkZWZlY3RzIGluIE1iZWQgVExTIC8KICMgVEYtUFNBLUNyeXB0byAob3IgdGhlIHRlc3Qgc3VpdGUpLgpkaWZmIC0tZ2l0IGEvdGVzdHMvc2NyaXB0cy90ZXN0X3BzYV9jb25zdGFudF9uYW1lcy5weSBiL3Rlc3RzL3NjcmlwdHMvdGVzdF9wc2FfY29uc3RhbnRfbmFtZXMucHkKaW5kZXggNjg4M2UyNy4uODZkOWU2ZiAxMDA3NTUKLS0tIGEvdGVzdHMvc2NyaXB0cy90ZXN0X3BzYV9jb25zdGFudF9uYW1lcy5weQorKysgYi90ZXN0cy9zY3JpcHRzL3Rlc3RfcHNhX2NvbnN0YW50X25hbWVzLnB5CkBAIC0xOSw5ICsxOSw5IEBACiBmcm9tIHR5cGluZyBpbXBvcnQgSXRlcmFibGUsIExpc3QsIE9wdGlvbmFsLCBUdXBsZQogCiBpbXBvcnQgc2NyaXB0c19wYXRoICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKLWZyb20gbWJlZHRsc19kZXYgaW1wb3J0IGNfYnVpbGRfaGVscGVyCi1mcm9tIG1iZWR0bHNfZGV2Lm1hY3JvX2NvbGxlY3RvciBpbXBvcnQgSW5wdXRzRm9yVGVzdCwgUFNBTWFjcm9FbnVtZXJhdG9yCi1mcm9tIG1iZWR0bHNfZGV2IGltcG9ydCB0eXBpbmdfdXRpbAorZnJvbSBtYmVkdGxzX2ZyYW1ld29yayBpbXBvcnQgY19idWlsZF9oZWxwZXIKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsubWFjcm9fY29sbGVjdG9yIGltcG9ydCBJbnB1dHNGb3JUZXN0LCBQU0FNYWNyb0VudW1lcmF0b3IKK2Zyb20gbWJlZHRsc19mcmFtZXdvcmsgaW1wb3J0IHR5cGluZ191dGlsCiAKIGRlZiBnYXRoZXJfaW5wdXRzKGhlYWRlcnM6IEl0ZXJhYmxlW3N0cl0sCiAgICAgICAgICAgICAgICAgICB0ZXN0X3N1aXRlczogSXRlcmFibGVbc3RyXSwKZGlmZiAtLWdpdCBhL3Rlc3RzL3NjcmlwdHMvdHJhbnNsYXRlX2NpcGhlcnMucHkgYi90ZXN0cy9zY3JpcHRzL3RyYW5zbGF0ZV9jaXBoZXJzLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA5MDUxNGZjLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL3NjcmlwdHMvdHJhbnNsYXRlX2NpcGhlcnMucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxODAgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotCi0jIHRyYW5zbGF0ZV9jaXBoZXJzLnB5Ci0jCi0jIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKLQotIiIiCi1UcmFuc2xhdGUgc3RhbmRhcmQgY2lwaGVyc3VpdGUgbmFtZXMgdG8gR251VExTLCBPcGVuU1NMIGFuZCBNYmVkIFRMUyBzdGFuZGFyZHMuCi0KLVRvIHRlc3QgdGhlIHRyYW5zbGF0aW9uIGZ1bmN0aW9ucyBydW46Ci1weXRob24zIC1tIHVuaXR0ZXN0IHRyYW5zbGF0ZV9jaXBoZXIucHkKLSIiIgotCi1pbXBvcnQgcmUKLWltcG9ydCBhcmdwYXJzZQotaW1wb3J0IHVuaXR0ZXN0Ci0KLWNsYXNzIFRlc3RUcmFuc2xhdGVDaXBoZXJzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAiIiIKLSAgICBFbnN1cmUgdHJhbnNsYXRlX2NpcGhlcnMucHkgdHJhbnNsYXRlcyBhbmQgZm9ybWF0cyBjaXBoZXJzdWl0ZSBuYW1lcwotICAgIGNvcnJlY3RseQotICAgICIiIgotICAgIGRlZiB0ZXN0X3RyYW5zbGF0ZV9hbGxfY2lwaGVyX25hbWVzKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVHJhbnNsYXRlIHN0YW5kYXJkIGNpcGhlcnN1aXRlIG5hbWVzIHRvIEdudVRMUywgT3BlblNTTCBhbmQKLSAgICAgICAgTWJlZCBUTFMgY291bnRlcnBhcnQuIFVzZSBvbmx5IGEgc21hbGwgc3Vic2V0IG9mIGNpcGhlcnMKLSAgICAgICAgdGhhdCBleGVyY2lzZSBlYWNoIHN0ZXAgb2YgdGhlIHRyYW5zbGF0aW9uIGZ1bmN0aW9ucwotICAgICAgICAiIiIKLSAgICAgICAgY2lwaGVycyA9IFsKLSAgICAgICAgICAgICgiVExTX0VDREhFX0VDRFNBX1dJVEhfTlVMTF9TSEEiLAotICAgICAgICAgICAgICIrRUNESEUtRUNEU0E6K05VTEw6K1NIQTEiLAotICAgICAgICAgICAgICJFQ0RIRS1FQ0RTQS1OVUxMLVNIQSIsCi0gICAgICAgICAgICAgIlRMUy1FQ0RIRS1FQ0RTQS1XSVRILU5VTEwtU0hBIiksCi0gICAgICAgICAgICAoIlRMU19FQ0RIRV9FQ0RTQV9XSVRIX0FFU18xMjhfR0NNX1NIQTI1NiIsCi0gICAgICAgICAgICAgIitFQ0RIRS1FQ0RTQTorQUVTLTEyOC1HQ006K0FFQUQiLAotICAgICAgICAgICAgICJFQ0RIRS1FQ0RTQS1BRVMxMjgtR0NNLVNIQTI1NiIsCi0gICAgICAgICAgICAgIlRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiIpLAotICAgICAgICAgICAgKCJUTFNfREhFX1JTQV9XSVRIXzNERVNfRURFX0NCQ19TSEEiLAotICAgICAgICAgICAgICIrREhFLVJTQTorM0RFUy1DQkM6K1NIQTEiLAotICAgICAgICAgICAgICJFREgtUlNBLURFUy1DQkMzLVNIQSIsCi0gICAgICAgICAgICAgIlRMUy1ESEUtUlNBLVdJVEgtM0RFUy1FREUtQ0JDLVNIQSIpLAotICAgICAgICAgICAgKCJUTFNfUlNBX1dJVEhfQUVTXzI1Nl9DQkNfU0hBIiwKLSAgICAgICAgICAgICAiK1JTQTorQUVTLTI1Ni1DQkM6K1NIQTEiLAotICAgICAgICAgICAgICJBRVMyNTYtU0hBIiwKLSAgICAgICAgICAgICAiVExTLVJTQS1XSVRILUFFUy0yNTYtQ0JDLVNIQSIpLAotICAgICAgICAgICAgKCJUTFNfUFNLX1dJVEhfM0RFU19FREVfQ0JDX1NIQSIsCi0gICAgICAgICAgICAgIitQU0s6KzNERVMtQ0JDOitTSEExIiwKLSAgICAgICAgICAgICAiUFNLLTNERVMtRURFLUNCQy1TSEEiLAotICAgICAgICAgICAgICJUTFMtUFNLLVdJVEgtM0RFUy1FREUtQ0JDLVNIQSIpLAotICAgICAgICAgICAgKCJUTFNfRUNESEVfRUNEU0FfV0lUSF9DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYiLAotICAgICAgICAgICAgIE5vbmUsCi0gICAgICAgICAgICAgIkVDREhFLUVDRFNBLUNIQUNIQTIwLVBPTFkxMzA1IiwKLSAgICAgICAgICAgICAiVExTLUVDREhFLUVDRFNBLVdJVEgtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IiksCi0gICAgICAgICAgICAoIlRMU19FQ0RIRV9FQ0RTQV9XSVRIX0FFU18xMjhfQ0NNIiwKLSAgICAgICAgICAgICAiK0VDREhFLUVDRFNBOitBRVMtMTI4LUNDTTorQUVBRCIsCi0gICAgICAgICAgICAgTm9uZSwKLSAgICAgICAgICAgICAiVExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1DQ00iKSwKLSAgICAgICAgICAgICgiVExTX0VDREhFX1JTQV9XSVRIX0FSSUFfMjU2X0dDTV9TSEEzODQiLAotICAgICAgICAgICAgIE5vbmUsCi0gICAgICAgICAgICAgIkVDREhFLUFSSUEyNTYtR0NNLVNIQTM4NCIsCi0gICAgICAgICAgICAgIlRMUy1FQ0RIRS1SU0EtV0lUSC1BUklBLTI1Ni1HQ00tU0hBMzg0IiksCi0gICAgICAgIF0KLQotICAgICAgICBmb3IgcywgZ19leHAsIG9fZXhwLCBtX2V4cCBpbiBjaXBoZXJzOgotCi0gICAgICAgICAgICBpZiBnX2V4cCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBnID0gdHJhbnNsYXRlX2dudXRscyhzKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZywgZ19leHApCi0KLSAgICAgICAgICAgIGlmIG9fZXhwIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIG8gPSB0cmFuc2xhdGVfb3NzbChzKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobywgb19leHApCi0KLSAgICAgICAgICAgIGlmIG1fZXhwIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIG0gPSB0cmFuc2xhdGVfbWJlZHRscyhzKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSwgbV9leHApCi0KLWRlZiB0cmFuc2xhdGVfZ251dGxzKHNfY2lwaGVyKToKLSAgICAiIiIKLSAgICBUcmFuc2xhdGUgc19jaXBoZXIgZnJvbSBzdGFuZGFyZCBjaXBoZXJzdWl0ZSBuYW1pbmcgY29udmVudGlvbgotICAgIGFuZCByZXR1cm4gdGhlIEdudVRMUyBuYW1pbmcgY29udmVudGlvbgotICAgICIiIgotCi0gICAgIyBSZXBsYWNlICJfIiB3aXRoICItIiB0byBoYW5kbGUgY2lwaGVyc3VpdGUgbmFtZXMgYmFzZWQgb24gTWJlZCBUTFMKLSAgICAjIG5hbWluZyBjb252ZW50aW9uCi0gICAgc19jaXBoZXIgPSBzX2NpcGhlci5yZXBsYWNlKCJfIiwgIi0iKQotCi0gICAgc19jaXBoZXIgPSByZS5zdWIocidcQVRMUy0nLCAnKycsIHNfY2lwaGVyKQotICAgIHNfY2lwaGVyID0gc19jaXBoZXIucmVwbGFjZSgiLVdJVEgtIiwgIjorIikKLSAgICBzX2NpcGhlciA9IHNfY2lwaGVyLnJlcGxhY2UoIi1FREUiLCAiIikKLQotICAgICMgU0hBIGluIE1iZWQgVExTID09IFNIQTEgR251VExTLAotICAgICMgaWYgdGhlIGxhc3QgMyBjaGFycyBhcmUgU0hBIGFwcGVuZCAxCi0gICAgaWYgc19jaXBoZXJbLTM6XSA9PSAiU0hBIjoKLSAgICAgICAgc19jaXBoZXIgPSBzX2NpcGhlcisiMSIKLQotICAgICMgQ0NNIG9yIENDTS04IHNob3VsZCBiZSBmb2xsb3dlZCBieSAiOitBRUFEIgotICAgICMgUmVwbGFjZSAiR0NNOitTSEF4eXoiIHdpdGggIkdDTTorQUVBRCIKLSAgICBpZiAiQ0NNIiBpbiBzX2NpcGhlciBvciAiR0NNIiBpbiBzX2NpcGhlcjoKLSAgICAgICAgc19jaXBoZXIgPSByZS5zdWIociJHQ00tU0hBXGRcZFxkIiwgIkdDTSIsIHNfY2lwaGVyKQotICAgICAgICBzX2NpcGhlciA9IHNfY2lwaGVyKyI6K0FFQUQiCi0KLSAgICAjIFJlcGxhY2UgdGhlIGxhc3QgIi0iIHdpdGggIjorIgotICAgIGVsc2U6Ci0gICAgICAgIGluZGV4ID0gc19jaXBoZXIucmluZGV4KCItIikKLSAgICAgICAgc19jaXBoZXIgPSBzX2NpcGhlcls6aW5kZXhdICsgIjorIiArIHNfY2lwaGVyW2luZGV4KzE6XQotCi0gICAgcmV0dXJuIHNfY2lwaGVyCi0KLWRlZiB0cmFuc2xhdGVfb3NzbChzX2NpcGhlcik6Ci0gICAgIiIiCi0gICAgVHJhbnNsYXRlIHNfY2lwaGVyIGZyb20gc3RhbmRhcmQgY2lwaGVyc3VpdGUgbmFtaW5nIGNvbnZlbnRpb24KLSAgICBhbmQgcmV0dXJuIHRoZSBPcGVuU1NMIG5hbWluZyBjb252ZW50aW9uCi0gICAgIiIiCi0KLSAgICAjIFJlcGxhY2UgIl8iIHdpdGggIi0iIHRvIGhhbmRsZSBjaXBoZXJzdWl0ZSBuYW1lcyBiYXNlZCBvbiBNYmVkIFRMUwotICAgICMgbmFtaW5nIGNvbnZlbnRpb24KLSAgICBzX2NpcGhlciA9IHNfY2lwaGVyLnJlcGxhY2UoIl8iLCAiLSIpCi0KLSAgICBzX2NpcGhlciA9IHJlLnN1YihyJ15UTFMtJywgJycsIHNfY2lwaGVyKQotICAgIHNfY2lwaGVyID0gc19jaXBoZXIucmVwbGFjZSgiLVdJVEgiLCAiIikKLQotICAgICMgUmVtb3ZlIHRoZSAiLSIgZnJvbSAiQUJDLXh5eiIKLSAgICBzX2NpcGhlciA9IHNfY2lwaGVyLnJlcGxhY2UoIkFFUy0iLCAiQUVTIikKLSAgICBzX2NpcGhlciA9IHNfY2lwaGVyLnJlcGxhY2UoIkNBTUVMTElBLSIsICJDQU1FTExJQSIpCi0gICAgc19jaXBoZXIgPSBzX2NpcGhlci5yZXBsYWNlKCJBUklBLSIsICJBUklBIikKLQotICAgICMgUmVtb3ZlICJSU0EiIGlmIGl0IGlzIGF0IHRoZSBiZWdpbm5pbmcKLSAgICBzX2NpcGhlciA9IHJlLnN1YihyJ15SU0EtJywgcicnLCBzX2NpcGhlcikKLQotICAgICMgRm9yIGFsbCBjaXJjdW1zdGFuY2VzIG91dHNpZGUgb2YgUFNLCi0gICAgaWYgIlBTSyIgbm90IGluIHNfY2lwaGVyOgotICAgICAgICBzX2NpcGhlciA9IHNfY2lwaGVyLnJlcGxhY2UoIi1FREUiLCAiIikKLSAgICAgICAgc19jaXBoZXIgPSBzX2NpcGhlci5yZXBsYWNlKCIzREVTLUNCQyIsICJERVMtQ0JDMyIpCi0KLSAgICAgICAgIyBSZW1vdmUgIkNCQyIgaWYgaXQgaXMgbm90IHByZWZpeGVkIGJ5IERFUwotICAgICAgICBzX2NpcGhlciA9IHJlLnN1YihyJyg/PCFERVMtKUNCQy0nLCByJycsIHNfY2lwaGVyKQotCi0gICAgIyBFQ0RIRS1SU0EtQVJJQSBkb2VzIG5vdCBleGlzdCBpbiBPcGVuU1NMCi0gICAgc19jaXBoZXIgPSBzX2NpcGhlci5yZXBsYWNlKCJFQ0RIRS1SU0EtQVJJQSIsICJFQ0RIRS1BUklBIikKLQotICAgICMgUE9MWTEzMDUgc2hvdWxkIG5vdCBiZSBmb2xsb3dlZCBieSBhbnl0aGluZwotICAgIGlmICJQT0xZMTMwNSIgaW4gc19jaXBoZXI6Ci0gICAgICAgIGluZGV4ID0gc19jaXBoZXIucmluZGV4KCJQT0xZMTMwNSIpCi0gICAgICAgIHNfY2lwaGVyID0gc19jaXBoZXJbOmluZGV4KzhdCi0KLSAgICAjIElmIERFUyBpcyBiZWluZyB1c2VkLCBSZXBsYWNlIERIRSB3aXRoIEVESAotICAgIGlmICJERVMiIGluIHNfY2lwaGVyIGFuZCAiREhFIiBpbiBzX2NpcGhlciBhbmQgIkVDREhFIiBub3QgaW4gc19jaXBoZXI6Ci0gICAgICAgIHNfY2lwaGVyID0gc19jaXBoZXIucmVwbGFjZSgiREhFIiwgIkVESCIpCi0KLSAgICByZXR1cm4gc19jaXBoZXIKLQotZGVmIHRyYW5zbGF0ZV9tYmVkdGxzKHNfY2lwaGVyKToKLSAgICAiIiIKLSAgICBUcmFuc2xhdGUgc19jaXBoZXIgZnJvbSBzdGFuZGFyZCBjaXBoZXJzdWl0ZSBuYW1pbmcgY29udmVudGlvbgotICAgIGFuZCByZXR1cm4gTWJlZCBUTFMgY2lwaGVyc3VpdGUgbmFtaW5nIGNvbnZlbnRpb24KLSAgICAiIiIKLQotICAgICMgUmVwbGFjZSAiXyIgd2l0aCAiLSIKLSAgICBzX2NpcGhlciA9IHNfY2lwaGVyLnJlcGxhY2UoIl8iLCAiLSIpCi0KLSAgICByZXR1cm4gc19jaXBoZXIKLQotZGVmIGZvcm1hdF9jaXBoZXJzdWl0ZV9uYW1lcyhtb2RlLCBuYW1lcyk6Ci0gICAgdCA9IHsiZyI6IHRyYW5zbGF0ZV9nbnV0bHMsCi0gICAgICAgICAibyI6IHRyYW5zbGF0ZV9vc3NsLAotICAgICAgICAgIm0iOiB0cmFuc2xhdGVfbWJlZHRscwotICAgICAgICB9W21vZGVdCi0gICAgcmV0dXJuICIgIi5qb2luKGMgKyAnPScgKyB0KGMpIGZvciBjIGluIG5hbWVzKQotCi1kZWYgbWFpbih0YXJnZXQsIG5hbWVzKToKLSAgICBwcmludChmb3JtYXRfY2lwaGVyc3VpdGVfbmFtZXModGFyZ2V0LCBuYW1lcykpCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgUEFSU0VSID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQotICAgIFBBUlNFUi5hZGRfYXJndW1lbnQoJ3RhcmdldCcsIG1ldGF2YXI9J1RBUkdFVCcsIGNob2ljZXM9WydvJywgJ2cnLCAnbSddKQotICAgIFBBUlNFUi5hZGRfYXJndW1lbnQoJ25hbWVzJywgbWV0YXZhcj0nTkFNRVMnLCBuYXJncz0nKycpCi0gICAgQVJHUyA9IFBBUlNFUi5wYXJzZV9hcmdzKCkKLSAgICBtYWluKEFSR1MudGFyZ2V0LCBBUkdTLm5hbWVzKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3JjL2FzbjFfaGVscGVycy5jIGIvdGVzdHMvc3JjL2FzbjFfaGVscGVycy5jCmluZGV4IGM4ZGYxOTkuLmM2M2JkMGMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NyYy9hc24xX2hlbHBlcnMuYworKysgYi90ZXN0cy9zcmMvYXNuMV9oZWxwZXJzLmMKQEAgLTE1LDYgKzE1LDggQEAKIAogI2luY2x1ZGUgPG1iZWR0bHMvYXNuMS5oPgogCisjaW5jbHVkZSA8dGVzdC9hc24xX2hlbHBlcnMuaD4KKwogaW50IG1iZWR0bHNfdGVzdF9hc24xX3NraXBfaW50ZWdlcih1bnNpZ25lZCBjaGFyICoqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqZW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbWluX2JpdHMsIHNpemVfdCBtYXhfYml0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG11c3RfYmVfb2RkKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3JjL2JpZ251bV9jb2RlcGF0aF9jaGVjay5jIGIvdGVzdHMvc3JjL2JpZ251bV9jb2RlcGF0aF9jaGVjay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNmJiYzcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9zcmMvYmlnbnVtX2NvZGVwYXRoX2NoZWNrLmMKQEAgLTAsMCArMSwzOCBAQAorLyoqIFN1cHBvcnQgZm9yIHBhdGggdHJhY2tpbmcgaW4gb3B0aW9uYWxseSBzYWZlIGJpZ251bSBmdW5jdGlvbnMKKyAqLworLyoKKyAqICBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycworICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKKyAqLworCisjaW5jbHVkZSAidGVzdC9iaWdudW1fY29kZXBhdGhfY2hlY2suaCIKKyNpbmNsdWRlICJiaWdudW1fY29yZV9pbnZhc2l2ZS5oIgorCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCitpbnQgbWJlZHRsc19jb2RlcGF0aF9jaGVjayA9IE1CRURUTFNfTVBJX0lTX1RFU1Q7CisKK3N0YXRpYyB2b2lkIG1iZWR0bHNfY29kZXBhdGhfdGFrZV9zYWZlKHZvaWQpCit7CisgICAgaWYgKG1iZWR0bHNfY29kZXBhdGhfY2hlY2sgPT0gTUJFRFRMU19NUElfSVNfVEVTVCkgeworICAgICAgICBtYmVkdGxzX2NvZGVwYXRoX2NoZWNrID0gTUJFRFRMU19NUElfSVNfU0VDUkVUOworICAgIH0KK30KKworc3RhdGljIHZvaWQgbWJlZHRsc19jb2RlcGF0aF90YWtlX3Vuc2FmZSh2b2lkKQoreworICAgIG1iZWR0bHNfY29kZXBhdGhfY2hlY2sgPSBNQkVEVExTX01QSV9JU19QVUJMSUM7Cit9CisKK3ZvaWQgbWJlZHRsc19jb2RlcGF0aF90ZXN0X2hvb2tzX3NldHVwKHZvaWQpCit7CisgICAgbWJlZHRsc19zYWZlX2NvZGVwYXRoX2hvb2sgPSBtYmVkdGxzX2NvZGVwYXRoX3Rha2Vfc2FmZTsKKyAgICBtYmVkdGxzX3Vuc2FmZV9jb2RlcGF0aF9ob29rID0gbWJlZHRsc19jb2RlcGF0aF90YWtlX3Vuc2FmZTsKK30KKwordm9pZCBtYmVkdGxzX2NvZGVwYXRoX3Rlc3RfaG9va3NfdGVhcmRvd24odm9pZCkKK3sKKyAgICBtYmVkdGxzX3NhZmVfY29kZXBhdGhfaG9vayA9IE5VTEw7CisgICAgbWJlZHRsc191bnNhZmVfY29kZXBhdGhfaG9vayA9IE5VTEw7Cit9CisKKyNlbmRpZiAvKiBNQkVEVExTX1RFU1RfSE9PS1MgJiYgIU1CRURUTFNfVEhSRUFESU5HX0MgKi8KZGlmZiAtLWdpdCBhL3Rlc3RzL3NyYy9kcml2ZXJzL2hhc2guYyBiL3Rlc3RzL3NyYy9kcml2ZXJzL2hhc2guYwppbmRleCA3NmVjMTJhLi41NGFlYzkzIDEwMDY0NAotLS0gYS90ZXN0cy9zcmMvZHJpdmVycy9oYXNoLmMKKysrIGIvdGVzdHMvc3JjL2RyaXZlcnMvaGFzaC5jCkBAIC0xMyw3ICsxMywxMSBAQAogI2luY2x1ZGUgInRlc3QvZHJpdmVycy9oYXNoLmgiCiAKICNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9MSUJURVNURFJJVkVSMSkKKyNpZiBNQkVEVExTX1ZFUlNJT05fTUFKT1IgPCA0CiAjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvbGlicmFyeS9wc2FfY3J5cHRvX2hhc2guaCIKKyNlbHNlCisjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvdGYtcHNhLWNyeXB0by9kcml2ZXJzL2J1aWx0aW4vc3JjL3BzYV9jcnlwdG9faGFzaC5oIgorI2VuZGlmCiAjZW5kaWYKIAogbWJlZHRsc190ZXN0X2RyaXZlcl9oYXNoX2hvb2tzX3QKZGlmZiAtLWdpdCBhL3Rlc3RzL3NyYy9kcml2ZXJzL3BsYXRmb3JtX2J1aWx0aW5fa2V5cy5jIGIvdGVzdHMvc3JjL2RyaXZlcnMvcGxhdGZvcm1fYnVpbHRpbl9rZXlzLmMKaW5kZXggMDFmYzA1MC4uNDU2MWI2ZiAxMDA2NDQKLS0tIGEvdGVzdHMvc3JjL2RyaXZlcnMvcGxhdGZvcm1fYnVpbHRpbl9rZXlzLmMKKysrIGIvdGVzdHMvc3JjL2RyaXZlcnMvcGxhdGZvcm1fYnVpbHRpbl9rZXlzLmMKQEAgLTEwLDYgKzEwLDggQEAKIAogI2luY2x1ZGUgPHRlc3QvaGVscGVycy5oPgogCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQlVJTFRJTl9LRVlTKQorCiAjaW5jbHVkZSA8cHNhL2NyeXB0by5oPgogI2luY2x1ZGUgPHBzYS9jcnlwdG9fZXh0cmEuaD4KIApAQCAtNzYsMyArNzgsNSBAQAogCiAgICAgcmV0dXJuIFBTQV9FUlJPUl9ET0VTX05PVF9FWElTVDsKIH0KKworI2VuZGlmIC8qIE1CRURUTFNfUFNBX0NSWVBUT19CVUlMVElOX0tFWVMgKi8KZGlmZiAtLWdpdCBhL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX2FlYWQuYyBiL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX2FlYWQuYwppbmRleCAzMTRjZTgzLi42OTkyYTA2IDEwMDY0NAotLS0gYS90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9hZWFkLmMKKysrIGIvdGVzdHMvc3JjL2RyaXZlcnMvdGVzdF9kcml2ZXJfYWVhZC5jCkBAIC0xNiw3ICsxNiwxMSBAQAogI2luY2x1ZGUgIm1iZWR0bHMvY29uc3RhbnRfdGltZS5oIgogCiAjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfTElCVEVTVERSSVZFUjEpCisjaWYgTUJFRFRMU19WRVJTSU9OX01BSk9SIDwgNAogI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL2xpYnJhcnkvcHNhX2NyeXB0b19hZWFkLmgiCisjZWxzZQorI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL3RmLXBzYS1jcnlwdG8vZHJpdmVycy9idWlsdGluL3NyYy9wc2FfY3J5cHRvX2FlYWQuaCIKKyNlbmRpZgogI2VuZGlmCiAKIG1iZWR0bHNfdGVzdF9kcml2ZXJfYWVhZF9ob29rc190CmRpZmYgLS1naXQgYS90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9hc3ltbWV0cmljX2VuY3J5cHRpb24uYyBiL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX2FzeW1tZXRyaWNfZW5jcnlwdGlvbi5jCmluZGV4IDRmYzhjOWQuLjZmZGJlNDMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX2FzeW1tZXRyaWNfZW5jcnlwdGlvbi5jCisrKyBiL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX2FzeW1tZXRyaWNfZW5jcnlwdGlvbi5jCkBAIC0xNiw3ICsxNiwxMSBAQAogI2luY2x1ZGUgInRlc3QvZHJpdmVycy9rZXlfbWFuYWdlbWVudC5oIgogCiAjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfTElCVEVTVERSSVZFUjEpCisjaWYgTUJFRFRMU19WRVJTSU9OX01BSk9SIDwgNAogI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL2xpYnJhcnkvcHNhX2NyeXB0b19yc2EuaCIKKyNlbHNlCisjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvdGYtcHNhLWNyeXB0by9kcml2ZXJzL2J1aWx0aW4vc3JjL3BzYV9jcnlwdG9fcnNhLmgiCisjZW5kaWYKICNlbmRpZgogCiAjZGVmaW5lIFBTQV9SU0FfS0VZX1BBSVJfTUFYX1NJWkUgXApkaWZmIC0tZ2l0IGEvdGVzdHMvc3JjL2RyaXZlcnMvdGVzdF9kcml2ZXJfY2lwaGVyLmMgYi90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9jaXBoZXIuYwppbmRleCAyYmM3NTFhLi45MDI1NmZjIDEwMDY0NAotLS0gYS90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9jaXBoZXIuYworKysgYi90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9jaXBoZXIuYwpAQCAtMTksNyArMTksMTEgQEAKICNpbmNsdWRlICJ0ZXN0L3JhbmRvbS5oIgogCiAjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfTElCVEVTVERSSVZFUjEpCisjaWYgTUJFRFRMU19WRVJTSU9OX01BSk9SIDwgNAogI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL2xpYnJhcnkvcHNhX2NyeXB0b19jaXBoZXIuaCIKKyNlbHNlCisjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvdGYtcHNhLWNyeXB0by9kcml2ZXJzL2J1aWx0aW4vc3JjL3BzYV9jcnlwdG9fY2lwaGVyLmgiCisjZW5kaWYKICNlbmRpZgogCiAjaW5jbHVkZSA8c3RyaW5nLmg+CmRpZmYgLS1naXQgYS90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9rZXlfYWdyZWVtZW50LmMgYi90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9rZXlfYWdyZWVtZW50LmMKaW5kZXggODQ3MTk1OS4uOGE3YTllYSAxMDA2NDQKLS0tIGEvdGVzdHMvc3JjL2RyaXZlcnMvdGVzdF9kcml2ZXJfa2V5X2FncmVlbWVudC5jCisrKyBiL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX2tleV9hZ3JlZW1lbnQuYwpAQCAtMjAsOSArMjAsMTUgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0xJQlRFU1REUklWRVIxKQorI2lmIE1CRURUTFNfVkVSU0lPTl9NQUpPUiA8IDQKICNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS9pbmNsdWRlL3BzYS9jcnlwdG8uaCIKICNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS9saWJyYXJ5L3BzYV9jcnlwdG9fZWNwLmgiCiAjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvbGlicmFyeS9wc2FfY3J5cHRvX2ZmZGguaCIKKyNlbHNlCisjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvdGYtcHNhLWNyeXB0by9pbmNsdWRlL3BzYS9jcnlwdG8uaCIKKyNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS90Zi1wc2EtY3J5cHRvL2RyaXZlcnMvYnVpbHRpbi9zcmMvcHNhX2NyeXB0b19lY3AuaCIKKyNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS90Zi1wc2EtY3J5cHRvL2RyaXZlcnMvYnVpbHRpbi9zcmMvcHNhX2NyeXB0b19mZmRoLmgiCisjZW5kaWYKICNlbmRpZgogCiBtYmVkdGxzX3Rlc3RfZHJpdmVyX2tleV9hZ3JlZW1lbnRfaG9va3NfdApkaWZmIC0tZ2l0IGEvdGVzdHMvc3JjL2RyaXZlcnMvdGVzdF9kcml2ZXJfa2V5X21hbmFnZW1lbnQuYyBiL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX2tleV9tYW5hZ2VtZW50LmMKaW5kZXggMmE4Nzg5OS4uZDJjYTE1NyAxMDA2NDQKLS0tIGEvdGVzdHMvc3JjL2RyaXZlcnMvdGVzdF9kcml2ZXJfa2V5X21hbmFnZW1lbnQuYworKysgYi90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9rZXlfbWFuYWdlbWVudC5jCkBAIC0yMyw5ICsyMywxNSBAQAogI2luY2x1ZGUgInRlc3QvcmFuZG9tLmgiCiAKICNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9MSUJURVNURFJJVkVSMSkKKyNpZiBNQkVEVExTX1ZFUlNJT05fTUFKT1IgPCA0CiAjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvbGlicmFyeS9wc2FfY3J5cHRvX2VjcC5oIgogI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL2xpYnJhcnkvcHNhX2NyeXB0b19yc2EuaCIKICNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS9saWJyYXJ5L3BzYV9jcnlwdG9fZmZkaC5oIgorI2Vsc2UKKyNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS90Zi1wc2EtY3J5cHRvL2RyaXZlcnMvYnVpbHRpbi9zcmMvcHNhX2NyeXB0b19lY3AuaCIKKyNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS90Zi1wc2EtY3J5cHRvL2RyaXZlcnMvYnVpbHRpbi9zcmMvcHNhX2NyeXB0b19yc2EuaCIKKyNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS90Zi1wc2EtY3J5cHRvL2RyaXZlcnMvYnVpbHRpbi9zcmMvcHNhX2NyeXB0b19mZmRoLmgiCisjZW5kaWYKICNlbmRpZgogCiAjaW5jbHVkZSA8c3RyaW5nLmg+CmRpZmYgLS1naXQgYS90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9tYWMuYyBiL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX21hYy5jCmluZGV4IDlmODEyMGIuLmYxY2Y1MDQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX21hYy5jCisrKyBiL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX21hYy5jCkBAIC0xMyw3ICsxMywxMSBAQAogI2luY2x1ZGUgInRlc3QvZHJpdmVycy9tYWMuaCIKIAogI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0xJQlRFU1REUklWRVIxKQorI2lmIE1CRURUTFNfVkVSU0lPTl9NQUpPUiA8IDQKICNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS9saWJyYXJ5L3BzYV9jcnlwdG9fbWFjLmgiCisjZWxzZQorI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL3RmLXBzYS1jcnlwdG8vZHJpdmVycy9idWlsdGluL3NyYy9wc2FfY3J5cHRvX21hYy5oIgorI2VuZGlmCiAjZW5kaWYKIAogbWJlZHRsc190ZXN0X2RyaXZlcl9tYWNfaG9va3NfdCBtYmVkdGxzX3Rlc3RfZHJpdmVyX21hY19ob29rcyA9CmRpZmYgLS1naXQgYS90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9wYWtlLmMgYi90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9wYWtlLmMKaW5kZXggYTBiNmMxYy4uYzNjZTMyNiAxMDA2NDQKLS0tIGEvdGVzdHMvc3JjL2RyaXZlcnMvdGVzdF9kcml2ZXJfcGFrZS5jCisrKyBiL3Rlc3RzL3NyYy9kcml2ZXJzL3Rlc3RfZHJpdmVyX3Bha2UuYwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBUZXN0IGRyaXZlciBmb3IgTUFDIGVudHJ5IHBvaW50cy4KKyAqIFRlc3QgZHJpdmVyIGZvciBQQUtFIGVudHJ5IHBvaW50cy4KICAqLwogLyogIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCiAgKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgpAQCAtMTQsNyArMTQsMTEgQEAKICNpbmNsdWRlICJzdHJpbmcuaCIKIAogI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0xJQlRFU1REUklWRVIxKQorI2lmIE1CRURUTFNfVkVSU0lPTl9NQUpPUiA8IDQKICNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS9saWJyYXJ5L3BzYV9jcnlwdG9fcGFrZS5oIgorI2Vsc2UKKyNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS90Zi1wc2EtY3J5cHRvL2RyaXZlcnMvYnVpbHRpbi9zcmMvcHNhX2NyeXB0b19wYWtlLmgiCisjZW5kaWYKICNlbmRpZgogCiBtYmVkdGxzX3Rlc3RfZHJpdmVyX3Bha2VfaG9va3NfdCBtYmVkdGxzX3Rlc3RfZHJpdmVyX3Bha2VfaG9va3MgPQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3JjL2RyaXZlcnMvdGVzdF9kcml2ZXJfc2lnbmF0dXJlLmMgYi90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9zaWduYXR1cmUuYwppbmRleCA0ZmNhNWQxLi5hNmVlZjU3IDEwMDY0NAotLS0gYS90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9zaWduYXR1cmUuYworKysgYi90ZXN0cy9zcmMvZHJpdmVycy90ZXN0X2RyaXZlcl9zaWduYXR1cmUuYwpAQCAtMjYsOSArMjYsMTUgQEAKICNpbmNsdWRlICJ0ZXN0L3JhbmRvbS5oIgogCiAjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfTElCVEVTVERSSVZFUjEpCisjaWYgTUJFRFRMU19WRVJTSU9OX01BSk9SIDwgNAogI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL2xpYnJhcnkvcHNhX2NyeXB0b19lY3AuaCIKICNpbmNsdWRlICJsaWJ0ZXN0ZHJpdmVyMS9saWJyYXJ5L3BzYV9jcnlwdG9faGFzaC5oIgogI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL2xpYnJhcnkvcHNhX2NyeXB0b19yc2EuaCIKKyNlbHNlCisjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvdGYtcHNhLWNyeXB0by9kcml2ZXJzL2J1aWx0aW4vc3JjL3BzYV9jcnlwdG9fZWNwLmgiCisjaW5jbHVkZSAibGlidGVzdGRyaXZlcjEvdGYtcHNhLWNyeXB0by9kcml2ZXJzL2J1aWx0aW4vc3JjL3BzYV9jcnlwdG9faGFzaC5oIgorI2luY2x1ZGUgImxpYnRlc3Rkcml2ZXIxL3RmLXBzYS1jcnlwdG8vZHJpdmVycy9idWlsdGluL3NyYy9wc2FfY3J5cHRvX3JzYS5oIgorI2VuZGlmCiAjZW5kaWYKIAogI2luY2x1ZGUgPHN0cmluZy5oPgpkaWZmIC0tZ2l0IGEvdGVzdHMvc3JjL2hlbHBlcnMuYyBiL3Rlc3RzL3NyYy9oZWxwZXJzLmMKaW5kZXggMDY1ZDE3ZC4uZGI1MDI5NiAxMDA2NDQKLS0tIGEvdGVzdHMvc3JjL2hlbHBlcnMuYworKysgYi90ZXN0cy9zcmMvaGVscGVycy5jCkBAIC0xNiw2ICsxNiw5IEBACiAjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0MpCiAjaW5jbHVkZSA8dGVzdC9wc2FfbWVtb3J5X3BvaXNvbmluZ193cmFwcGVycy5oPgogI2VuZGlmCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisjaW5jbHVkZSA8dGVzdC9iaWdudW1fY29kZXBhdGhfY2hlY2suaD4KKyNlbmRpZgogI2lmIGRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKICNpbmNsdWRlICJtYmVkdGxzL3RocmVhZGluZy5oIgogI2VuZGlmCkBAIC0zNDIsNiArMzQ1LDExIEBACiAgICAgbWJlZHRsc19tdXRleF9pbml0KCZtYmVkdGxzX3Rlc3RfaW5mb19tdXRleCk7CiAjZW5kaWYgLyogTUJFRFRMU19USFJFQURJTkdfQyAqLwogCisKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBtYmVkdGxzX2NvZGVwYXRoX3Rlc3RfaG9va3Nfc2V0dXAoKTsKKyNlbmRpZiAvKiBNQkVEVExTX1RFU1RfSE9PS1MgJiYgIU1CRURUTFNfVEhSRUFESU5HX0MgKi8KKwogICAgIHJldHVybiByZXQ7CiB9CiAKQEAgLTM1OSw2ICszNjcsMTAgQEAKICNpZiBkZWZpbmVkKE1CRURUTFNfUExBVEZPUk1fQykKICAgICBtYmVkdGxzX3BsYXRmb3JtX3RlYXJkb3duKCZwbGF0Zm9ybV9jdHgpOwogI2VuZGlmIC8qIE1CRURUTFNfUExBVEZPUk1fQyAqLworCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisgICAgbWJlZHRsc19jb2RlcGF0aF90ZXN0X2hvb2tzX3RlYXJkb3duKCk7CisjZW5kaWYgLyogTUJFRFRMU19URVNUX0hPT0tTICYmICFNQkVEVExTX1RIUkVBRElOR19DICovCiB9CiAKIGludCBtYmVkdGxzX3Rlc3RfYXNjaWkydWMoY29uc3QgY2hhciBjLCB1bnNpZ25lZCBjaGFyICp1YykKZGlmZiAtLWdpdCBhL3Rlc3RzL3NyYy9wc2FfY3J5cHRvX2hlbHBlcnMuYyBiL3Rlc3RzL3NyYy9wc2FfY3J5cHRvX2hlbHBlcnMuYwppbmRleCBlMWVhMmI1Li4xOTdmZDQxIDEwMDY0NAotLS0gYS90ZXN0cy9zcmMvcHNhX2NyeXB0b19oZWxwZXJzLmMKKysrIGIvdGVzdHMvc3JjL3BzYV9jcnlwdG9faGVscGVycy5jCkBAIC0xMyw2ICsxMywxMCBAQAogI2luY2x1ZGUgPHBzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50Lmg+CiAjaW5jbHVkZSA8dGVzdC9wc2FfY3J5cHRvX2hlbHBlcnMuaD4KIAorI2lmIGRlZmluZWQoTUJFRFRMU19DVFJfRFJCR19DKQorI2luY2x1ZGUgPG1iZWR0bHMvY3RyX2RyYmcuaD4KKyNlbmRpZgorCiAjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQykKIAogI2luY2x1ZGUgPHBzYS9jcnlwdG8uaD4KQEAgLTcwLDIwICs3NCwxNCBAQAogCiAgICAgbWJlZHRsc19wc2FfZ2V0X3N0YXRzKCZzdGF0cyk7CiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfQ1RSX0RSQkdfQykgJiYgIWRlZmluZWQoTUJFRFRMU19BRVNfQykgJiYgXAotICAgICFkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19FWFRFUk5BTF9STkcpCi0gICAgLyogV2hlbiBBRVNfQyBpcyBub3QgZGVmaW5lZCBhbmQgUFNBIGRvZXMgbm90IGhhdmUgYW4gZXh0ZXJuYWwgUk5HLAotICAgICAqIHRoZW4gQ1RSX0RSQkcgdXNlcyBQU0EgdG8gcGVyZm9ybSBBRVMtRUNCLiBJbiB0aGlzIHNjZW5hcmlvIDEga2V5Ci0gICAgICogc2xvdCBpcyB1c2VkIGludGVybmFsbHkgZnJvbSBQU0EgdG8gaG9sZCB0aGUgQUVTIGtleSBhbmQgaXQgc2hvdWxkCi0gICAgICogbm90IGJlIHRha2VuIGludG8gYWNjb3VudCB3aGVuIGV2YWx1YXRpbmcgcmVtYWluaW5nIG9wZW4gc2xvdHMuICovCi0gICAgaWYgKHN0YXRzLnZvbGF0aWxlX3Nsb3RzID4gMSkgeworICAgIC8qIFNvbWUgdm9sYXRpbGUgc2xvdHMgbWF5IGJlIHVzZWQgZm9yIGludGVybmFsIHB1cnBvc2VzLiBHZW5lcmFsbHkKKyAgICAgKiB3ZSdsbCBoYXZlIGV4YWN0bHkgTUJFRFRMU19URVNUX1BTQV9JTlRFUk5BTF9LRVlTIGF0IHRoaXMgcG9pbnQsCisgICAgICogYnV0IGluIHNvbWUgY2FzZXMgd2UgbWlnaHQgaGF2ZSBsZXNzLCBlLmcuIGlmIGEgY29kZSBwYXRoIGNhbGxzCisgICAgICogUFNBX0RPTkUgbW9yZSB0aGFuIG9uY2UsIG9yIGlmIHRoZXJlIGhhcyBvbmx5IGJlZW4gYSBwYXJ0aWFsIG9yCisgICAgICogZmFpbGVkIGluaXRpYWxpemF0aW9uLiAqLworICAgIGlmIChzdGF0cy52b2xhdGlsZV9zbG90cyA+IE1CRURUTFNfVEVTVF9QU0FfSU5URVJOQUxfS0VZUykgewogICAgICAgICByZXR1cm4gIkEgdm9sYXRpbGUgc2xvdCBoYXMgbm90IGJlZW4gY2xvc2VkIHByb3Blcmx5LiI7CiAgICAgfQotI2Vsc2UKLSAgICBpZiAoc3RhdHMudm9sYXRpbGVfc2xvdHMgIT0gMCkgewotICAgICAgICByZXR1cm4gIkEgdm9sYXRpbGUgc2xvdCBoYXMgbm90IGJlZW4gY2xvc2VkIHByb3Blcmx5LiI7Ci0gICAgfQotI2VuZGlmCiAgICAgaWYgKHN0YXRzLnBlcnNpc3RlbnRfc2xvdHMgIT0gMCkgewogICAgICAgICByZXR1cm4gIkEgcGVyc2lzdGVudCBzbG90IGhhcyBub3QgYmVlbiBjbG9zZWQgcHJvcGVybHkuIjsKICAgICB9CmRpZmYgLS1naXQgYS90ZXN0cy9zcmMvcHNhX2V4ZXJjaXNlX2tleS5jIGIvdGVzdHMvc3JjL3BzYV9leGVyY2lzZV9rZXkuYwppbmRleCA5MzdiZDQ1Li4wMzJjNDg5IDEwMDY0NAotLS0gYS90ZXN0cy9zcmMvcHNhX2V4ZXJjaXNlX2tleS5jCisrKyBiL3Rlc3RzL3NyYy9wc2FfZXhlcmNpc2Vfa2V5LmMKQEAgLTExLDcgKzExLDggQEAKICNpbmNsdWRlIDx0ZXN0L21hY3Jvcy5oPgogI2luY2x1ZGUgPHRlc3QvcHNhX2V4ZXJjaXNlX2tleS5oPgogCi0jaWYgZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQykKKyNpZiAoTUJFRFRMU19WRVJTSU9OX01BSk9SIDwgNCAmJiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DKSkgfHwgXAorICAgIChNQkVEVExTX1ZFUlNJT05fTUFKT1IgPj0gNCAmJiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19DTElFTlQpKQogCiAjaW5jbHVkZSA8bWJlZHRscy9hc24xLmg+CiAjaW5jbHVkZSA8cHNhL2NyeXB0by5oPgpAQCAtMTI4NCw3ICsxMjg1LDcgQEAKICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmIC8qIE1CRURUTFNfUEtfVVNFX1BTQV9FQ19EQVRBICovCiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUykgJiYgIWRlZmluZWQoTUJFRFRMU19QS19VU0VfUFNBX0VDX0RBVEEpCisjaWYgZGVmaW5lZChQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfUFVCTElDX0tFWSkgJiYgIWRlZmluZWQoTUJFRFRMU19QS19VU0VfUFNBX0VDX0RBVEEpCiAgICAgICAgIGNhc2UgTUJFRFRMU19QS19FQ0tFWToKICAgICAgICAgY2FzZSBNQkVEVExTX1BLX0VDS0VZX0RIOgogICAgICAgICBjYXNlIE1CRURUTFNfUEtfRUNEU0E6CkBAIC0xMjk1LDcgKzEyOTYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtfcHVibGljX2J1ZmZlciwgc2l6ZW9mKHBrX3B1YmxpY19idWZmZXIpKSwgMCk7CiAgICAgICAgICAgICBwa19wdWJsaWMgPSBwa19wdWJsaWNfYnVmZmVyOwogICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYgLyogTUJFRFRMU19QS19IQVZFX0VDQ19LRVlTICYmICFNQkVEVExTX1BLX1VTRV9QU0FfRUNfREFUQSAqLworI2VuZGlmIC8qIFBTQV9XQU5UX0tFWV9UWVBFX0VDQ19QVUJMSUNfS0VZICYmICFNQkVEVExTX1BLX1VTRV9QU0FfRUNfREFUQSAqLwogCiAjaWYgZGVmaW5lZChNQkVEVExTX1VTRV9QU0FfQ1JZUFRPKQogICAgICAgICBjYXNlIE1CRURUTFNfUEtfT1BBUVVFOgpAQCAtMTMzMiw0ICsxMzMzLDQgQEAKIH0KICNlbmRpZiAvKiBNQkVEVExTX1BLX0MgKi8KIAotI2VuZGlmIC8qIE1CRURUTFNfUFNBX0NSWVBUT19DICovCisjZW5kaWYgLyogTUJFRFRMU19QU0FfQ1JZUFRPX0MgfHwgTUJFRFRMU19QU0FfQ1JZUFRPX0NMSUVOVCAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3JjL3BzYV9tZW1vcnlfcG9pc29uaW5nX3dyYXBwZXJzLmMgYi90ZXN0cy9zcmMvcHNhX21lbW9yeV9wb2lzb25pbmdfd3JhcHBlcnMuYwppbmRleCAwNWNiYTE4Li43YjQ4YzdjIDEwMDY0NAotLS0gYS90ZXN0cy9zcmMvcHNhX21lbW9yeV9wb2lzb25pbmdfd3JhcHBlcnMuYworKysgYi90ZXN0cy9zcmMvcHNhX21lbW9yeV9wb2lzb25pbmdfd3JhcHBlcnMuYwpAQCAtNCw3ICs0LDggQEAKICAqICBDb3B5cmlnaHQgVGhlIE1iZWQgVExTIENvbnRyaWJ1dG9ycwogICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIE9SIEdQTC0yLjAtb3ItbGF0ZXIKICAqLwotI2luY2x1ZGUgInRlc3QvbWVtb3J5LmgiCisjaW5jbHVkZSA8dGVzdC9tZW1vcnkuaD4KKyNpbmNsdWRlIDx0ZXN0L3BzYV9tZW1vcnlfcG9pc29uaW5nX3dyYXBwZXJzLmg+CiAKICNpbmNsdWRlICJwc2FfY3J5cHRvX2ludmFzaXZlLmgiCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL3NyYy9wc2FfdGVzdF93cmFwcGVycy5jIGIvdGVzdHMvc3JjL3BzYV90ZXN0X3dyYXBwZXJzLmMKaW5kZXggODA5ZjFjZC4uZWNlYjQwYiAxMDA2NDQKLS0tIGEvdGVzdHMvc3JjL3BzYV90ZXN0X3dyYXBwZXJzLmMKKysrIGIvdGVzdHMvc3JjL3BzYV90ZXN0X3dyYXBwZXJzLmMKQEAgLTEwLDcgKzEwLDYgQEAKICAgICAhZGVmaW5lZChSRUNPUkRfUFNBX1NUQVRVU19DT1ZFUkFHRV9MT0cpCiAKICNpbmNsdWRlIDxwc2EvY3J5cHRvLmg+Ci0KICNpbmNsdWRlIDx0ZXN0L21lbW9yeS5oPgogI2luY2x1ZGUgPHRlc3QvcHNhX2NyeXB0b19oZWxwZXJzLmg+CiAjaW5jbHVkZSA8dGVzdC9wc2FfdGVzdF93cmFwcGVycy5oPgpAQCAtNDY1LDYgKzQ2NCw3IEBACiB9CiAKIC8qIFdyYXBwZXIgZm9yIHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X2NpcGhlcl9zdWl0ZSAqLworI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9jaXBoZXJfc3VpdGUoCiAgICAgY29uc3QgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9pbnB1dHNfdCAqYXJnMF9pbnB1dHMsCiAgICAgcHNhX3Bha2VfY2lwaGVyX3N1aXRlX3QgKmFyZzFfY2lwaGVyX3N1aXRlKQpAQCAtNDcyLDggKzQ3MiwxMCBAQAogICAgIHBzYV9zdGF0dXNfdCBzdGF0dXMgPSAocHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfY2lwaGVyX3N1aXRlKShhcmcwX2lucHV0cywgYXJnMV9jaXBoZXJfc3VpdGUpOwogICAgIHJldHVybiBzdGF0dXM7CiB9CisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCiAvKiBXcmFwcGVyIGZvciBwc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wYXNzd29yZCAqLworI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wYXNzd29yZCgKICAgICBjb25zdCBwc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2lucHV0c190ICphcmcwX2lucHV0cywKICAgICB1aW50OF90ICphcmcxX2J1ZmZlciwKQEAgLTQ4Myw4ICs0ODUsMTAgQEAKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gKHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3Bhc3N3b3JkKShhcmcwX2lucHV0cywgYXJnMV9idWZmZXIsIGFyZzJfYnVmZmVyX3NpemUsIGFyZzNfYnVmZmVyX2xlbmd0aCk7CiAgICAgcmV0dXJuIHN0YXR1czsKIH0KKyNlbmRpZiAvKiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpICovCiAKIC8qIFdyYXBwZXIgZm9yIHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3Bhc3N3b3JkX2xlbiAqLworI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wYXNzd29yZF9sZW4oCiAgICAgY29uc3QgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9pbnB1dHNfdCAqYXJnMF9pbnB1dHMsCiAgICAgc2l6ZV90ICphcmcxX3Bhc3N3b3JkX2xlbikKQEAgLTQ5Miw4ICs0OTYsMTAgQEAKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gKHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3Bhc3N3b3JkX2xlbikoYXJnMF9pbnB1dHMsIGFyZzFfcGFzc3dvcmRfbGVuKTsKICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfcGVlciAqLworI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF9wZWVyKAogICAgIGNvbnN0IHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfaW5wdXRzX3QgKmFyZzBfaW5wdXRzLAogICAgIHVpbnQ4X3QgKmFyZzFfcGVlcl9pZCwKQEAgLTUwMyw4ICs1MDksMTAgQEAKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gKHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3BlZXIpKGFyZzBfaW5wdXRzLCBhcmcxX3BlZXJfaWQsIGFyZzJfcGVlcl9pZF9zaXplLCBhcmczX3BlZXJfaWRfbGVuZ3RoKTsKICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfcGVlcl9sZW4gKi8KKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfcGVlcl9sZW4oCiAgICAgY29uc3QgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9pbnB1dHNfdCAqYXJnMF9pbnB1dHMsCiAgICAgc2l6ZV90ICphcmcxX3BlZXJfbGVuKQpAQCAtNTEyLDggKzUyMCwxMCBAQAogICAgIHBzYV9zdGF0dXNfdCBzdGF0dXMgPSAocHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfcGVlcl9sZW4pKGFyZzBfaW5wdXRzLCBhcmcxX3BlZXJfbGVuKTsKICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfdXNlciAqLworI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF91c2VyKAogICAgIGNvbnN0IHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfaW5wdXRzX3QgKmFyZzBfaW5wdXRzLAogICAgIHVpbnQ4X3QgKmFyZzFfdXNlcl9pZCwKQEAgLTUyMyw4ICs1MzMsMTAgQEAKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gKHBzYV9jcnlwdG9fZHJpdmVyX3Bha2VfZ2V0X3VzZXIpKGFyZzBfaW5wdXRzLCBhcmcxX3VzZXJfaWQsIGFyZzJfdXNlcl9pZF9zaXplLCBhcmczX3VzZXJfaWRfbGVuKTsKICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfdXNlcl9sZW4gKi8KKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9nZXRfdXNlcl9sZW4oCiAgICAgY29uc3QgcHNhX2NyeXB0b19kcml2ZXJfcGFrZV9pbnB1dHNfdCAqYXJnMF9pbnB1dHMsCiAgICAgc2l6ZV90ICphcmcxX3VzZXJfbGVuKQpAQCAtNTMyLDYgKzU0NCw3IEBACiAgICAgcHNhX3N0YXR1c190IHN0YXR1cyA9IChwc2FfY3J5cHRvX2RyaXZlcl9wYWtlX2dldF91c2VyX2xlbikoYXJnMF9pbnB1dHMsIGFyZzFfdXNlcl9sZW4pOwogICAgIHJldHVybiBzdGF0dXM7CiB9CisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCiAvKiBXcmFwcGVyIGZvciBwc2FfY3J5cHRvX2luaXQgKi8KIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfY3J5cHRvX2luaXQodm9pZCkKQEAgLTU5MSw2ICs2MDQsMjQgQEAKICAgICByZXR1cm4gc3RhdHVzOwogfQogCisvKiBXcmFwcGVyIGZvciBwc2FfZ2VuZXJhdGVfa2V5X2N1c3RvbSAqLworcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9nZW5lcmF0ZV9rZXlfY3VzdG9tKAorICAgIGNvbnN0IHBzYV9rZXlfYXR0cmlidXRlc190ICphcmcwX2F0dHJpYnV0ZXMsCisgICAgY29uc3QgcHNhX2N1c3RvbV9rZXlfcGFyYW1ldGVyc190ICphcmcxX2N1c3RvbSwKKyAgICBjb25zdCB1aW50OF90ICphcmcyX2N1c3RvbV9kYXRhLAorICAgIHNpemVfdCBhcmczX2N1c3RvbV9kYXRhX2xlbmd0aCwKKyAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCAqYXJnNF9rZXkpCit7CisjaWYgIWRlZmluZWQoTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTKQorICAgIE1CRURUTFNfVEVTVF9NRU1PUllfUE9JU09OKGFyZzJfY3VzdG9tX2RhdGEsIGFyZzNfY3VzdG9tX2RhdGFfbGVuZ3RoKTsKKyNlbmRpZiAvKiAhZGVmaW5lZChNQkVEVExTX1BTQV9BU1NVTUVfRVhDTFVTSVZFX0JVRkZFUlMpICovCisgICAgcHNhX3N0YXR1c190IHN0YXR1cyA9IChwc2FfZ2VuZXJhdGVfa2V5X2N1c3RvbSkoYXJnMF9hdHRyaWJ1dGVzLCBhcmcxX2N1c3RvbSwgYXJnMl9jdXN0b21fZGF0YSwgYXJnM19jdXN0b21fZGF0YV9sZW5ndGgsIGFyZzRfa2V5KTsKKyNpZiAhZGVmaW5lZChNQkVEVExTX1BTQV9BU1NVTUVfRVhDTFVTSVZFX0JVRkZFUlMpCisgICAgTUJFRFRMU19URVNUX01FTU9SWV9VTlBPSVNPTihhcmcyX2N1c3RvbV9kYXRhLCBhcmczX2N1c3RvbV9kYXRhX2xlbmd0aCk7CisjZW5kaWYgLyogIWRlZmluZWQoTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTKSAqLworICAgIHJldHVybiBzdGF0dXM7Cit9CisKIC8qIFdyYXBwZXIgZm9yIHBzYV9nZW5lcmF0ZV9rZXlfZXh0ICovCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX2dlbmVyYXRlX2tleV9leHQoCiAgICAgY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmFyZzBfYXR0cmlidXRlcywKQEAgLTg1Nyw2ICs4ODgsMjUgQEAKICAgICByZXR1cm4gc3RhdHVzOwogfQogCisvKiBXcmFwcGVyIGZvciBwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20gKi8KK3BzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oCisgICAgY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmFyZzBfYXR0cmlidXRlcywKKyAgICBwc2Ffa2V5X2Rlcml2YXRpb25fb3BlcmF0aW9uX3QgKmFyZzFfb3BlcmF0aW9uLAorICAgIGNvbnN0IHBzYV9jdXN0b21fa2V5X3BhcmFtZXRlcnNfdCAqYXJnMl9jdXN0b20sCisgICAgY29uc3QgdWludDhfdCAqYXJnM19jdXN0b21fZGF0YSwKKyAgICBzaXplX3QgYXJnNF9jdXN0b21fZGF0YV9sZW5ndGgsCisgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgKmFyZzVfa2V5KQoreworI2lmICFkZWZpbmVkKE1CRURUTFNfUFNBX0FTU1VNRV9FWENMVVNJVkVfQlVGRkVSUykKKyAgICBNQkVEVExTX1RFU1RfTUVNT1JZX1BPSVNPTihhcmczX2N1c3RvbV9kYXRhLCBhcmc0X2N1c3RvbV9kYXRhX2xlbmd0aCk7CisjZW5kaWYgLyogIWRlZmluZWQoTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTKSAqLworICAgIHBzYV9zdGF0dXNfdCBzdGF0dXMgPSAocHNhX2tleV9kZXJpdmF0aW9uX291dHB1dF9rZXlfY3VzdG9tKShhcmcwX2F0dHJpYnV0ZXMsIGFyZzFfb3BlcmF0aW9uLCBhcmcyX2N1c3RvbSwgYXJnM19jdXN0b21fZGF0YSwgYXJnNF9jdXN0b21fZGF0YV9sZW5ndGgsIGFyZzVfa2V5KTsKKyNpZiAhZGVmaW5lZChNQkVEVExTX1BTQV9BU1NVTUVfRVhDTFVTSVZFX0JVRkZFUlMpCisgICAgTUJFRFRMU19URVNUX01FTU9SWV9VTlBPSVNPTihhcmczX2N1c3RvbV9kYXRhLCBhcmc0X2N1c3RvbV9kYXRhX2xlbmd0aCk7CisjZW5kaWYgLyogIWRlZmluZWQoTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTKSAqLworICAgIHJldHVybiBzdGF0dXM7Cit9CisKIC8qIFdyYXBwZXIgZm9yIHBzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2V4dCAqLwogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9rZXlfZGVyaXZhdGlvbl9vdXRwdXRfa2V5X2V4dCgKICAgICBjb25zdCBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCAqYXJnMF9hdHRyaWJ1dGVzLApAQCAtMTAwOCwxNCArMTA1OCwxNyBAQAogfQogCiAvKiBXcmFwcGVyIGZvciBwc2FfcGFrZV9hYm9ydCAqLworI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkKIHBzYV9zdGF0dXNfdCBtYmVkdGxzX3Rlc3Rfd3JhcF9wc2FfcGFrZV9hYm9ydCgKICAgICBwc2FfcGFrZV9vcGVyYXRpb25fdCAqYXJnMF9vcGVyYXRpb24pCiB7CiAgICAgcHNhX3N0YXR1c190IHN0YXR1cyA9IChwc2FfcGFrZV9hYm9ydCkoYXJnMF9vcGVyYXRpb24pOwogICAgIHJldHVybiBzdGF0dXM7CiB9CisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCiAvKiBXcmFwcGVyIGZvciBwc2FfcGFrZV9nZXRfaW1wbGljaXRfa2V5ICovCisjaWYgZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKQogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX2dldF9pbXBsaWNpdF9rZXkoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIHBzYV9rZXlfZGVyaXZhdGlvbl9vcGVyYXRpb25fdCAqYXJnMV9vdXRwdXQpCkBAIC0xMDIzLDggKzEwNzYsMTAgQEAKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gKHBzYV9wYWtlX2dldF9pbXBsaWNpdF9rZXkpKGFyZzBfb3BlcmF0aW9uLCBhcmcxX291dHB1dCk7CiAgICAgcmV0dXJuIHN0YXR1czsKIH0KKyNlbmRpZiAvKiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpICovCiAKIC8qIFdyYXBwZXIgZm9yIHBzYV9wYWtlX2lucHV0ICovCisjaWYgZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKQogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX2lucHV0KAogICAgIHBzYV9wYWtlX29wZXJhdGlvbl90ICphcmcwX29wZXJhdGlvbiwKICAgICBwc2FfcGFrZV9zdGVwX3QgYXJnMV9zdGVwLApAQCAtMTA0MCw4ICsxMDk1LDEwIEBACiAjZW5kaWYgLyogIWRlZmluZWQoTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTKSAqLwogICAgIHJldHVybiBzdGF0dXM7CiB9CisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCiAvKiBXcmFwcGVyIGZvciBwc2FfcGFrZV9vdXRwdXQgKi8KKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2Vfb3V0cHV0KAogICAgIHBzYV9wYWtlX29wZXJhdGlvbl90ICphcmcwX29wZXJhdGlvbiwKICAgICBwc2FfcGFrZV9zdGVwX3QgYXJnMV9zdGVwLApAQCAtMTA1OCw4ICsxMTE1LDEwIEBACiAjZW5kaWYgLyogIWRlZmluZWQoTUJFRFRMU19QU0FfQVNTVU1FX0VYQ0xVU0lWRV9CVUZGRVJTKSAqLwogICAgIHJldHVybiBzdGF0dXM7CiB9CisjZW5kaWYgLyogZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKSAqLwogCiAvKiBXcmFwcGVyIGZvciBwc2FfcGFrZV9zZXRfcGFzc3dvcmRfa2V5ICovCisjaWYgZGVmaW5lZChQU0FfV0FOVF9BTEdfU09NRV9QQUtFKQogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wYWtlX3NldF9wYXNzd29yZF9rZXkoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90IGFyZzFfcGFzc3dvcmQpCkBAIC0xMDY3LDggKzExMjYsMTAgQEAKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gKHBzYV9wYWtlX3NldF9wYXNzd29yZF9rZXkpKGFyZzBfb3BlcmF0aW9uLCBhcmcxX3Bhc3N3b3JkKTsKICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX3Bha2Vfc2V0X3BlZXIgKi8KKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2Vfc2V0X3BlZXIoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIGNvbnN0IHVpbnQ4X3QgKmFyZzFfcGVlcl9pZCwKQEAgLTEwODMsOCArMTE0NCwxMCBAQAogI2VuZGlmIC8qICFkZWZpbmVkKE1CRURUTFNfUFNBX0FTU1VNRV9FWENMVVNJVkVfQlVGRkVSUykgKi8KICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX3Bha2Vfc2V0X3JvbGUgKi8KKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2Vfc2V0X3JvbGUoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIHBzYV9wYWtlX3JvbGVfdCBhcmcxX3JvbGUpCkBAIC0xMDkyLDggKzExNTUsMTAgQEAKICAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gKHBzYV9wYWtlX3NldF9yb2xlKShhcmcwX29wZXJhdGlvbiwgYXJnMV9yb2xlKTsKICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX3Bha2Vfc2V0X3VzZXIgKi8KKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2Vfc2V0X3VzZXIoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIGNvbnN0IHVpbnQ4X3QgKmFyZzFfdXNlcl9pZCwKQEAgLTExMDgsOCArMTE3MywxMCBAQAogI2VuZGlmIC8qICFkZWZpbmVkKE1CRURUTFNfUFNBX0FTU1VNRV9FWENMVVNJVkVfQlVGRkVSUykgKi8KICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX3Bha2Vfc2V0dXAgKi8KKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TT01FX1BBS0UpCiBwc2Ffc3RhdHVzX3QgbWJlZHRsc190ZXN0X3dyYXBfcHNhX3Bha2Vfc2V0dXAoCiAgICAgcHNhX3Bha2Vfb3BlcmF0aW9uX3QgKmFyZzBfb3BlcmF0aW9uLAogICAgIGNvbnN0IHBzYV9wYWtlX2NpcGhlcl9zdWl0ZV90ICphcmcxX2NpcGhlcl9zdWl0ZSkKQEAgLTExMTcsNiArMTE4NCw3IEBACiAgICAgcHNhX3N0YXR1c190IHN0YXR1cyA9IChwc2FfcGFrZV9zZXR1cCkoYXJnMF9vcGVyYXRpb24sIGFyZzFfY2lwaGVyX3N1aXRlKTsKICAgICByZXR1cm4gc3RhdHVzOwogfQorI2VuZGlmIC8qIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NPTUVfUEFLRSkgKi8KIAogLyogV3JhcHBlciBmb3IgcHNhX3B1cmdlX2tleSAqLwogcHNhX3N0YXR1c190IG1iZWR0bHNfdGVzdF93cmFwX3BzYV9wdXJnZV9rZXkoCmRpZmYgLS1naXQgYS90ZXN0cy9zcmMvdGVzdF9jZXJ0cy5oIGIvdGVzdHMvc3JjL3Rlc3RfY2VydHMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjMxM2VhOC4uMDAwMDAwMAotLS0gYS90ZXN0cy9zcmMvdGVzdF9jZXJ0cy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIyNiArMCwwIEBACi0vKgotICogIFguNTA5IHRlc3QgY2VydGlmaWNhdGVzCi0gKgotICogIENvcHlyaWdodCBUaGUgTWJlZCBUTFMgQ29udHJpYnV0b3JzCi0gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgT1IgR1BMLTIuMC1vci1sYXRlcgotICovCi0KLS8qIFRISVMgRklMRSBpcyBnZW5lcmF0ZWQgYnkgYHRlc3RzL3NjcmlwdHMvZ2VuZXJhdGVfdGVzdF9jZXJ0X21hY3Jvcy5weWAgKi8KLS8qICpJTkRFTlQtT0ZGKiAqLwotCi0vKiBUaGlzIGlzIHRha2VuIGZyb20gdGVzdC1jYTIuY3J0LiAqLwotLyogQkVHSU4gRklMRSBzdHJpbmcgbWFjcm8gVEVTVF9DQV9DUlRfRUNfUEVNIHRlc3QtY2EyLmNydCAqLwotI2RlZmluZSBURVNUX0NBX0NSVF9FQ19QRU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tXHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIk1JSUNCekNDQVl1Z0F3SUJBZ0lKQU1GRDRuNWlROHpvTUF3R0NDcUdTTTQ5QkFNQ0JRQXdQakVMTUFrR0ExVUVcclxuIiAgICAgXAotICAgICJCaE1DVGt3eEVUQVBCZ05WQkFvTUNGQnZiR0Z5VTFOTU1Sd3dHZ1lEVlFRRERCTlFiMnhoY25OemJDQlVaWE4wXHJcbiIgICAgIFwKLSAgICAiSUVWRElFTkJNQjRYRFRFNU1ESXhNREUwTkRRd01Gb1hEVEk1TURJeE1ERTBORFF3TUZvd1BqRUxNQWtHQTFVRVxyXG4iICAgICBcCi0gICAgIkJoTUNUa3d4RVRBUEJnTlZCQW9NQ0ZCdmJHRnlVMU5NTVJ3d0dnWURWUVFEREJOUWIyeGhjbk56YkNCVVpYTjBcclxuIiAgICAgXAotICAgICJJRVZESUVOQk1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFdzlvck5FRTNXQytIVnY3OGlib3BRMHRPXHJcbiIgICAgIFwKLSAgICAiNEc3RERsZFRNemxZMUZLMGtaVTVDeVBmWHhja1lrajhHcFVweml3dGg4S0lVb0N2MW1xcklkMjQweHh1V0xqS1xyXG4iICAgICBcCi0gICAgIjZMSnBqdk5CclNuRHRGOTFwMGR2MVJrcFZXbWFVenNndEdZV1lETWVvMU13VVRBUEJnTlZIUk1CQWY4RUJUQURcclxuIiAgICAgXAotICAgICJBUUgvTUIwR0ExVWREZ1FXQkJTZGJTQWtTUUUvSzh0NHRSbThmaVRKMi9zMmZEQWZCZ05WSFNNRUdEQVdnQlNkXHJcbiIgICAgIFwKLSAgICAiYlNBa1NRRS9LOHQ0dFJtOGZpVEoyL3MyZkRBTUJnZ3Foa2pPUFFRREFnVUFBMmdBTUdVQ01RRHBOV2ZCSWx6cVxyXG4iICAgICBcCi0gICAgIjZ4VjJVd1FELzFZR3o5ZlFVTTdBZk5LelZhMlBWQnBmL1FEMVRBeWxUWVRGNEdJNnFsYjZFUFlDTUYvWVZhMjlcclxuIiAgICAgXAotICAgICJONXlDMW1GQWlyMTlqYjlQbDlpaUlrUm0xN2RNNHk2bTVWSU1lcEVQbS9WbFdBYThINXAxK0JQYkd3PT1cclxuIiAgICAgICAgIFwKLSAgICAiLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLVxyXG4iCi0vKiBFTkQgRklMRSAqLwotCi0vKiBUaGlzIGlzIGdlbmVyYXRlZCBmcm9tIHRlc3QtY2EyLmNydC5kZXIuICovCi0vKiBCRUdJTiBGSUxFIGJpbmFyeSBtYWNybyBURVNUX0NBX0NSVF9FQ19ERVIgdGVzdC1jYTIuY3J0LmRlciAqLwotI2RlZmluZSBURVNUX0NBX0NSVF9FQ19ERVIgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIDB4MzAsIDB4ODIsIDB4MDIsIDB4MDcsIDB4MzAsIDB4ODIsIDB4MDEsIDB4OGIsIDB4YTAsIDB4MDMsIDB4MDIsIDB4MDEsIFwKLSAgICAgICAgMHgwMiwgMHgwMiwgMHgwOSwgMHgwMCwgMHhjMSwgMHg0MywgMHhlMiwgMHg3ZSwgMHg2MiwgMHg0MywgMHhjYywgMHhlOCwgXAotICAgICAgICAweDMwLCAweDBjLCAweDA2LCAweDA4LCAweDJhLCAweDg2LCAweDQ4LCAweGNlLCAweDNkLCAweDA0LCAweDAzLCAweDAyLCBcCi0gICAgICAgIDB4MDUsIDB4MDAsIDB4MzAsIDB4M2UsIDB4MzEsIDB4MGIsIDB4MzAsIDB4MDksIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIFwKLSAgICAgICAgMHgwNiwgMHgxMywgMHgwMiwgMHg0ZSwgMHg0YywgMHgzMSwgMHgxMSwgMHgzMCwgMHgwZiwgMHgwNiwgMHgwMywgMHg1NSwgXAotICAgICAgICAweDA0LCAweDBhLCAweDBjLCAweDA4LCAweDUwLCAweDZmLCAweDZjLCAweDYxLCAweDcyLCAweDUzLCAweDUzLCAweDRjLCBcCi0gICAgICAgIDB4MzEsIDB4MWMsIDB4MzAsIDB4MWEsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIDB4MDMsIDB4MGMsIDB4MTMsIDB4NTAsIFwKLSAgICAgICAgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg3MywgMHg3MywgMHg2YywgMHgyMCwgMHg1NCwgMHg2NSwgMHg3MywgMHg3NCwgXAotICAgICAgICAweDIwLCAweDQ1LCAweDQzLCAweDIwLCAweDQzLCAweDQxLCAweDMwLCAweDFlLCAweDE3LCAweDBkLCAweDMxLCAweDM5LCBcCi0gICAgICAgIDB4MzAsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzEsIDB4MzQsIDB4MzQsIDB4MzQsIDB4MzAsIDB4MzAsIDB4NWEsIDB4MTcsIFwKLSAgICAgICAgMHgwZCwgMHgzMiwgMHgzOSwgMHgzMCwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzMSwgMHgzNCwgMHgzNCwgMHgzNCwgMHgzMCwgXAotICAgICAgICAweDMwLCAweDVhLCAweDMwLCAweDNlLCAweDMxLCAweDBiLCAweDMwLCAweDA5LCAweDA2LCAweDAzLCAweDU1LCAweDA0LCBcCi0gICAgICAgIDB4MDYsIDB4MTMsIDB4MDIsIDB4NGUsIDB4NGMsIDB4MzEsIDB4MTEsIDB4MzAsIDB4MGYsIDB4MDYsIDB4MDMsIDB4NTUsIFwKLSAgICAgICAgMHgwNCwgMHgwYSwgMHgwYywgMHgwOCwgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg1MywgMHg1MywgMHg0YywgXAotICAgICAgICAweDMxLCAweDFjLCAweDMwLCAweDFhLCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDAzLCAweDBjLCAweDEzLCAweDUwLCBcCi0gICAgICAgIDB4NmYsIDB4NmMsIDB4NjEsIDB4NzIsIDB4NzMsIDB4NzMsIDB4NmMsIDB4MjAsIDB4NTQsIDB4NjUsIDB4NzMsIDB4NzQsIFwKLSAgICAgICAgMHgyMCwgMHg0NSwgMHg0MywgMHgyMCwgMHg0MywgMHg0MSwgMHgzMCwgMHg3NiwgMHgzMCwgMHgxMCwgMHgwNiwgMHgwNywgXAotICAgICAgICAweDJhLCAweDg2LCAweDQ4LCAweGNlLCAweDNkLCAweDAyLCAweDAxLCAweDA2LCAweDA1LCAweDJiLCAweDgxLCAweDA0LCBcCi0gICAgICAgIDB4MDAsIDB4MjIsIDB4MDMsIDB4NjIsIDB4MDAsIDB4MDQsIDB4YzMsIDB4ZGEsIDB4MmIsIDB4MzQsIDB4NDEsIDB4MzcsIFwKLSAgICAgICAgMHg1OCwgMHgyZiwgMHg4NywgMHg1NiwgMHhmZSwgMHhmYywgMHg4OSwgMHhiYSwgMHgyOSwgMHg0MywgMHg0YiwgMHg0ZSwgXAotICAgICAgICAweGUwLCAweDZlLCAweGMzLCAweDBlLCAweDU3LCAweDUzLCAweDMzLCAweDM5LCAweDU4LCAweGQ0LCAweDUyLCAweGI0LCBcCi0gICAgICAgIDB4OTEsIDB4OTUsIDB4MzksIDB4MGIsIDB4MjMsIDB4ZGYsIDB4NWYsIDB4MTcsIDB4MjQsIDB4NjIsIDB4NDgsIDB4ZmMsIFwKLSAgICAgICAgMHgxYSwgMHg5NSwgMHgyOSwgMHhjZSwgMHgyYywgMHgyZCwgMHg4NywgMHhjMiwgMHg4OCwgMHg1MiwgMHg4MCwgMHhhZiwgXAotICAgICAgICAweGQ2LCAweDZhLCAweGFiLCAweDIxLCAweGRkLCAweGI4LCAweGQzLCAweDFjLCAweDZlLCAweDU4LCAweGI4LCAweGNhLCBcCi0gICAgICAgIDB4ZTgsIDB4YjIsIDB4NjksIDB4OGUsIDB4ZjMsIDB4NDEsIDB4YWQsIDB4MjksIDB4YzMsIDB4YjQsIDB4NWYsIDB4NzUsIFwKLSAgICAgICAgMHhhNywgMHg0NywgMHg2ZiwgMHhkNSwgMHgxOSwgMHgyOSwgMHg1NSwgMHg2OSwgMHg5YSwgMHg1MywgMHgzYiwgMHgyMCwgXAotICAgICAgICAweGI0LCAweDY2LCAweDE2LCAweDYwLCAweDMzLCAweDFlLCAweGEzLCAweDUzLCAweDMwLCAweDUxLCAweDMwLCAweDBmLCBcCi0gICAgICAgIDB4MDYsIDB4MDMsIDB4NTUsIDB4MWQsIDB4MTMsIDB4MDEsIDB4MDEsIDB4ZmYsIDB4MDQsIDB4MDUsIDB4MzAsIDB4MDMsIFwKLSAgICAgICAgMHgwMSwgMHgwMSwgMHhmZiwgMHgzMCwgMHgxZCwgMHgwNiwgMHgwMywgMHg1NSwgMHgxZCwgMHgwZSwgMHgwNCwgMHgxNiwgXAotICAgICAgICAweDA0LCAweDE0LCAweDlkLCAweDZkLCAweDIwLCAweDI0LCAweDQ5LCAweDAxLCAweDNmLCAweDJiLCAweGNiLCAweDc4LCBcCi0gICAgICAgIDB4YjUsIDB4MTksIDB4YmMsIDB4N2UsIDB4MjQsIDB4YzksIDB4ZGIsIDB4ZmIsIDB4MzYsIDB4N2MsIDB4MzAsIDB4MWYsIFwKLSAgICAgICAgMHgwNiwgMHgwMywgMHg1NSwgMHgxZCwgMHgyMywgMHgwNCwgMHgxOCwgMHgzMCwgMHgxNiwgMHg4MCwgMHgxNCwgMHg5ZCwgXAotICAgICAgICAweDZkLCAweDIwLCAweDI0LCAweDQ5LCAweDAxLCAweDNmLCAweDJiLCAweGNiLCAweDc4LCAweGI1LCAweDE5LCAweGJjLCBcCi0gICAgICAgIDB4N2UsIDB4MjQsIDB4YzksIDB4ZGIsIDB4ZmIsIDB4MzYsIDB4N2MsIDB4MzAsIDB4MGMsIDB4MDYsIDB4MDgsIDB4MmEsIFwKLSAgICAgICAgMHg4NiwgMHg0OCwgMHhjZSwgMHgzZCwgMHgwNCwgMHgwMywgMHgwMiwgMHgwNSwgMHgwMCwgMHgwMywgMHg2OCwgMHgwMCwgXAotICAgICAgICAweDMwLCAweDY1LCAweDAyLCAweDMxLCAweDAwLCAweGU5LCAweDM1LCAweDY3LCAweGMxLCAweDIyLCAweDVjLCAweGVhLCBcCi0gICAgICAgIDB4ZWIsIDB4MTUsIDB4NzYsIDB4NTMsIDB4MDQsIDB4MDMsIDB4ZmYsIDB4NTYsIDB4MDYsIDB4Y2YsIDB4ZDcsIDB4ZDAsIFwKLSAgICAgICAgMHg1MCwgMHhjZSwgMHhjMCwgMHg3YywgMHhkMiwgMHhiMywgMHg1NSwgMHhhZCwgMHg4ZiwgMHg1NCwgMHgxYSwgMHg1ZiwgXAotICAgICAgICAweGZkLCAweDAwLCAweGY1LCAweDRjLCAweDBjLCAweGE1LCAweDRkLCAweDg0LCAweGM1LCAweGUwLCAweDYyLCAweDNhLCBcCi0gICAgICAgIDB4YWEsIDB4NTYsIDB4ZmEsIDB4MTAsIDB4ZjYsIDB4MDIsIDB4MzAsIDB4NWYsIDB4ZDgsIDB4NTUsIDB4YWQsIDB4YmQsIFwKLSAgICAgICAgMHgzNywgMHg5YywgMHg4MiwgMHhkNiwgMHg2MSwgMHg0MCwgMHg4YSwgMHhiZCwgMHg3ZCwgMHg4ZCwgMHhiZiwgMHg0ZiwgXAotICAgICAgICAweDk3LCAweGQ4LCAweGEyLCAweDIyLCAweDQ0LCAweDY2LCAweGQ3LCAweGI3LCAweDRjLCAweGUzLCAweDJlLCAweGE2LCBcCi0gICAgICAgIDB4ZTUsIDB4NTIsIDB4MGMsIDB4N2EsIDB4OTEsIDB4MGYsIDB4OWIsIDB4ZjUsIDB4NjUsIDB4NTgsIDB4MDYsIDB4YmMsIFwKLSAgICAgICAgMHgxZiwgMHg5YSwgMHg3NSwgMHhmOCwgMHgxMywgMHhkYiwgMHgxYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotLyogRU5EIEZJTEUgKi8KLQotLyogVGhpcyBpcyB0YWtlbiBmcm9tIHRlc3QtY2EyLmtleS5lbmMuICovCi0vKiBCRUdJTiBGSUxFIHN0cmluZyBtYWNybyBURVNUX0NBX0tFWV9FQ19QRU0gdGVzdC1jYTIua2V5LmVuYyAqLwotI2RlZmluZSBURVNUX0NBX0tFWV9FQ19QRU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tXHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIlByb2MtVHlwZTogNCxFTkNSWVBURURcclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJERUstSW5mbzogREVTLUVERTMtQ0JDLDMwN0VBQjQ2OTkzM0Q2NEVcclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiXHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIkl4YnJSbUtjQXpjdEpxUGRUUUxBNFNXeUJZWUdZSlZrWUVuYStGN1BhNXQ1WWcvZ0tBRHJGS2NtNkI3MmU3REdcclxuIiAgICAgXAotICAgICJpaEV4dFpJNjQ4czB6ZFl3NnFTSjc0dnJQU3VXRGU1cW05M0Jxc2ZWSDlzdnRDeldIVzBwbTFwMEtUQkNGZlVxXHJcbiIgICAgIFwKLSAgICAiVXN1V1RJVHdKSW1jbmxBczFnYVJaM3NBV203Y09VaWRMMGZvMkcwZllVRk5jWW9DU0xmZkNGVEVIQnVQbmFnYlxyXG4iICAgICBcCi0gICAgImE3N3gvc1kxQnZpaThTOS9YaERUYjZwVE14MDZ3enJtXHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tXHJcbiIKLS8qIEVORCBGSUxFICovCi0KLSNkZWZpbmUgVEVTVF9DQV9QV0RfRUNfUEVNICJQb2xhclNTTFRlc3QiCi0KLS8qIFRoaXMgaXMgZ2VuZXJhdGVkIGZyb20gdGVzdC1jYTIua2V5LmRlci4gKi8KLS8qIEJFR0lOIEZJTEUgYmluYXJ5IG1hY3JvIFRFU1RfQ0FfS0VZX0VDX0RFUiB0ZXN0LWNhMi5rZXkuZGVyICovCi0jZGVmaW5lIFRFU1RfQ0FfS0VZX0VDX0RFUiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgMHgzMCwgMHg4MSwgMHhhNCwgMHgwMiwgMHgwMSwgMHgwMSwgMHgwNCwgMHgzMCwgMHg4MywgMHhkOSwgMHgxNSwgMHgwZSwgXAotICAgICAgICAweGEwLCAweDcxLCAweGYwLCAweDU3LCAweDEwLCAweDMzLCAweGEzLCAweDM4LCAweGI4LCAweDg2LCAweGMxLCAweGE2LCBcCi0gICAgICAgIDB4MTEsIDB4NWQsIDB4NmQsIDB4YjQsIDB4MDMsIDB4ZTEsIDB4MjksIDB4NzYsIDB4NDUsIDB4ZDcsIDB4ODcsIDB4NmYsIFwKLSAgICAgICAgMHgyMywgMHhhYiwgMHg0NCwgMHgyMCwgMHhlYSwgMHg2NCwgMHg3YiwgMHg4NSwgMHhiMSwgMHg3NiwgMHhlNywgMHg4NSwgXAotICAgICAgICAweDk1LCAweGFhLCAweDc0LCAweGQ2LCAweGQxLCAweGE0LCAweDVlLCAweGVhLCAweGEwLCAweDA3LCAweDA2LCAweDA1LCBcCi0gICAgICAgIDB4MmIsIDB4ODEsIDB4MDQsIDB4MDAsIDB4MjIsIDB4YTEsIDB4NjQsIDB4MDMsIDB4NjIsIDB4MDAsIDB4MDQsIDB4YzMsIFwKLSAgICAgICAgMHhkYSwgMHgyYiwgMHgzNCwgMHg0MSwgMHgzNywgMHg1OCwgMHgyZiwgMHg4NywgMHg1NiwgMHhmZSwgMHhmYywgMHg4OSwgXAotICAgICAgICAweGJhLCAweDI5LCAweDQzLCAweDRiLCAweDRlLCAweGUwLCAweDZlLCAweGMzLCAweDBlLCAweDU3LCAweDUzLCAweDMzLCBcCi0gICAgICAgIDB4MzksIDB4NTgsIDB4ZDQsIDB4NTIsIDB4YjQsIDB4OTEsIDB4OTUsIDB4MzksIDB4MGIsIDB4MjMsIDB4ZGYsIDB4NWYsIFwKLSAgICAgICAgMHgxNywgMHgyNCwgMHg2MiwgMHg0OCwgMHhmYywgMHgxYSwgMHg5NSwgMHgyOSwgMHhjZSwgMHgyYywgMHgyZCwgMHg4NywgXAotICAgICAgICAweGMyLCAweDg4LCAweDUyLCAweDgwLCAweGFmLCAweGQ2LCAweDZhLCAweGFiLCAweDIxLCAweGRkLCAweGI4LCAweGQzLCBcCi0gICAgICAgIDB4MWMsIDB4NmUsIDB4NTgsIDB4YjgsIDB4Y2EsIDB4ZTgsIDB4YjIsIDB4NjksIDB4OGUsIDB4ZjMsIDB4NDEsIDB4YWQsIFwKLSAgICAgICAgMHgyOSwgMHhjMywgMHhiNCwgMHg1ZiwgMHg3NSwgMHhhNywgMHg0NywgMHg2ZiwgMHhkNSwgMHgxOSwgMHgyOSwgMHg1NSwgXAotICAgICAgICAweDY5LCAweDlhLCAweDUzLCAweDNiLCAweDIwLCAweGI0LCAweDY2LCAweDE2LCAweDYwLCAweDMzLCAweDFlICAgICAgICBcCi19Ci0vKiBFTkQgRklMRSAqLwotCi0vKiBUaGlzIGlzIHRha2VuIGZyb20gdGVzdC1jYS1zaGEyNTYuY3J0LiAqLwotLyogQkVHSU4gRklMRSBzdHJpbmcgbWFjcm8gVEVTVF9DQV9DUlRfUlNBX1NIQTI1Nl9QRU0gdGVzdC1jYS1zaGEyNTYuY3J0ICovCi0jZGVmaW5lIFRFU1RfQ0FfQ1JUX1JTQV9TSEEyNTZfUEVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiTUlJRFFUQ0NBaW1nQXdJQkFnSUJBekFOQmdrcWhraUc5dzBCQVFzRkFEQTdNUXN3Q1FZRFZRUUdFd0pPVERFUlxyXG4iICAgICBcCi0gICAgIk1BOEdBMVVFQ2d3SVVHOXNZWEpUVTB3eEdUQVhCZ05WQkFNTUVGQnZiR0Z5VTFOTUlGUmxjM1FnUTBFd0hoY05cclxuIiAgICAgXAotICAgICJNVGt3TWpFd01UUTBOREF3V2hjTk1qa3dNakV3TVRRME5EQXdXakE3TVFzd0NRWURWUVFHRXdKT1RERVJNQThHXHJcbiIgICAgIFwKLSAgICAiQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdnZ0VpTUEwR1xyXG4iICAgICBcCi0gICAgIkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQTN6ZjhGN3ZnbHAwL2h0NldNbjFFcFJhZ3pTSHhcclxuIiAgICAgXAotICAgICJtZFRzNnN0OEdGZ0lsS1hzbThXTDN4b2VtVGlaaHg1N3dJMDUzemhkY0hnSDA1N1prK2k1Y2xIRnpxTXdVcW55XHJcbiIgICAgIFwKLSAgICAiNTBCd0ZNdEVvbklMd3VWQStUN2xwZzZ6K2V4S1k4QzRLUUIwbkZjN3FLVUVrSEh4dllQWlA5YWw0andxais4blxyXG4iICAgICBcCi0gICAgIllNUEduOHU2N0dCOXQrYUVNcjVQKzFnbUlnTmIxTFRWKy9YamxpNXd3T1F1dmZ3dTd1SkJWY0EwTG4wa2NtbkxcclxuIiAgICAgXAotICAgICJSN0VVUUlOOVovU0c5akdyOFhta3NyVXVFdm1FRi9CaWJ5YytFMWl4VkEwaG1uTTNvVERQYjVMYzl1bjhyTnN1XHJcbiIgICAgIFwKLSAgICAiS05GK0Frc2pvQlh5T0dWa0Nlb01ibzRiRjZCeHlMT2J5YXZwdy9MUGg1YVBnQUl5bnBsWWI2TFZBZ01CQUFHalxyXG4iICAgICBcCi0gICAgIlVEQk9NQXdHQTFVZEV3UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9cclxuIiAgICAgXAotICAgICJNQjhHQTFVZEl3UVlNQmFBRkxSYTVLV3ozdEpTOXJuVnBwVVA2ejY4eC8zL01BMEdDU3FHU0liM0RRRUJDd1VBXHJcbiIgICAgIFwKLSAgICAiQTRJQkFRQTRxRlNDdGgycTIydUpJZEU0S0dISnNKalZFZncyL3huK01rVHZDTWZ4VnJ2bVJ2cUN0akU0dEtEbFxyXG4iICAgICBcCi0gICAgIm9LNE14Rk9lazA3b0Rad3Z0QVQ5aWpuMWhIZnRUTlM3Ukg5emQvZnhOcGZjSG5NWlhWQzR3NEROQTFmU0FOdFdcclxuIiAgICAgXAotICAgICI1c1kxSkI1SmU5alNjcnNMU1MrbUFqeXYwT3czSGIyQml4OHd1N3hOTnJWNWZJZjdVYm0rd3Q2U3FFQnh1M0tiXHJcbiIgICAgIFwKLSAgICAiK0VmT2JBVDRodWYzY3p6bmhIM0MxN2VkNk5TYlh3b1hmYnk3c3RXVURlUkp2MDhSYUZPeWtmL0FhZTdiWTVQTFxyXG4iICAgICBcCi0gICAgInlUVnJrQW5pa01udEo5WUkraE5OWXQzaW5xcTExQTVjTjArclZUc3Q4VUtDeHpRNEdwdnJvU3dQS1RGa2JNdzRcclxuIiAgICAgXAotICAgICIvYW5UMWRWeHIvQnR3SmZpRVNvSzMvNENlWFIxXHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLVxyXG4iCi0vKiBFTkQgRklMRSAqLwotCi0vKiBUaGlzIGlzIGdlbmVyYXRlZCBmcm9tIHRlc3QtY2Etc2hhMjU2LmNydC5kZXIuICovCi0vKiBCRUdJTiBGSUxFIGJpbmFyeSBtYWNybyBURVNUX0NBX0NSVF9SU0FfU0hBMjU2X0RFUiB0ZXN0LWNhLXNoYTI1Ni5jcnQuZGVyICovCi0jZGVmaW5lIFRFU1RfQ0FfQ1JUX1JTQV9TSEEyNTZfREVSIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgMHgzMCwgMHg4MiwgMHgwMywgMHg0MSwgMHgzMCwgMHg4MiwgMHgwMiwgMHgyOSwgMHhhMCwgMHgwMywgMHgwMiwgMHgwMSwgXAotICAgICAgICAweDAyLCAweDAyLCAweDAxLCAweDAzLCAweDMwLCAweDBkLCAweDA2LCAweDA5LCAweDJhLCAweDg2LCAweDQ4LCAweDg2LCBcCi0gICAgICAgIDB4ZjcsIDB4MGQsIDB4MDEsIDB4MDEsIDB4MGIsIDB4MDUsIDB4MDAsIDB4MzAsIDB4M2IsIDB4MzEsIDB4MGIsIDB4MzAsIFwKLSAgICAgICAgMHgwOSwgMHgwNiwgMHgwMywgMHg1NSwgMHgwNCwgMHgwNiwgMHgxMywgMHgwMiwgMHg0ZSwgMHg0YywgMHgzMSwgMHgxMSwgXAotICAgICAgICAweDMwLCAweDBmLCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDBhLCAweDBjLCAweDA4LCAweDUwLCAweDZmLCAweDZjLCBcCi0gICAgICAgIDB4NjEsIDB4NzIsIDB4NTMsIDB4NTMsIDB4NGMsIDB4MzEsIDB4MTksIDB4MzAsIDB4MTcsIDB4MDYsIDB4MDMsIDB4NTUsIFwKLSAgICAgICAgMHgwNCwgMHgwMywgMHgwYywgMHgxMCwgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg1MywgMHg1MywgMHg0YywgXAotICAgICAgICAweDIwLCAweDU0LCAweDY1LCAweDczLCAweDc0LCAweDIwLCAweDQzLCAweDQxLCAweDMwLCAweDFlLCAweDE3LCAweDBkLCBcCi0gICAgICAgIDB4MzEsIDB4MzksIDB4MzAsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzEsIDB4MzQsIDB4MzQsIDB4MzQsIDB4MzAsIDB4MzAsIFwKLSAgICAgICAgMHg1YSwgMHgxNywgMHgwZCwgMHgzMiwgMHgzOSwgMHgzMCwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzMSwgMHgzNCwgMHgzNCwgXAotICAgICAgICAweDM0LCAweDMwLCAweDMwLCAweDVhLCAweDMwLCAweDNiLCAweDMxLCAweDBiLCAweDMwLCAweDA5LCAweDA2LCAweDAzLCBcCi0gICAgICAgIDB4NTUsIDB4MDQsIDB4MDYsIDB4MTMsIDB4MDIsIDB4NGUsIDB4NGMsIDB4MzEsIDB4MTEsIDB4MzAsIDB4MGYsIDB4MDYsIFwKLSAgICAgICAgMHgwMywgMHg1NSwgMHgwNCwgMHgwYSwgMHgwYywgMHgwOCwgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg1MywgXAotICAgICAgICAweDUzLCAweDRjLCAweDMxLCAweDE5LCAweDMwLCAweDE3LCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDAzLCAweDBjLCBcCi0gICAgICAgIDB4MTAsIDB4NTAsIDB4NmYsIDB4NmMsIDB4NjEsIDB4NzIsIDB4NTMsIDB4NTMsIDB4NGMsIDB4MjAsIDB4NTQsIDB4NjUsIFwKLSAgICAgICAgMHg3MywgMHg3NCwgMHgyMCwgMHg0MywgMHg0MSwgMHgzMCwgMHg4MiwgMHgwMSwgMHgyMiwgMHgzMCwgMHgwZCwgMHgwNiwgXAotICAgICAgICAweDA5LCAweDJhLCAweDg2LCAweDQ4LCAweDg2LCAweGY3LCAweDBkLCAweDAxLCAweDAxLCAweDAxLCAweDA1LCAweDAwLCBcCi0gICAgICAgIDB4MDMsIDB4ODIsIDB4MDEsIDB4MGYsIDB4MDAsIDB4MzAsIDB4ODIsIDB4MDEsIDB4MGEsIDB4MDIsIDB4ODIsIDB4MDEsIFwKLSAgICAgICAgMHgwMSwgMHgwMCwgMHhjMCwgMHhkZiwgMHgzNywgMHhmYywgMHgxNywgMHhiYiwgMHhlMCwgMHg5NiwgMHg5ZCwgMHgzZiwgXAotICAgICAgICAweDg2LCAweGRlLCAweDk2LCAweDMyLCAweDdkLCAweDQ0LCAweGE1LCAweDE2LCAweGEwLCAweGNkLCAweDIxLCAweGYxLCBcCi0gICAgICAgIDB4OTksIDB4ZDQsIDB4ZWMsIDB4ZWEsIDB4Y2IsIDB4N2MsIDB4MTgsIDB4NTgsIDB4MDgsIDB4OTQsIDB4YTUsIDB4ZWMsIFwKLSAgICAgICAgMHg5YiwgMHhjNSwgMHg4YiwgMHhkZiwgMHgxYSwgMHgxZSwgMHg5OSwgMHgzOCwgMHg5OSwgMHg4NywgMHgxZSwgMHg3YiwgXAotICAgICAgICAweGMwLCAweDhkLCAweDM5LCAweGRmLCAweDM4LCAweDVkLCAweDcwLCAweDc4LCAweDA3LCAweGQzLCAweDllLCAweGQ5LCBcCi0gICAgICAgIDB4OTMsIDB4ZTgsIDB4YjksIDB4NzIsIDB4NTEsIDB4YzUsIDB4Y2UsIDB4YTMsIDB4MzAsIDB4NTIsIDB4YTksIDB4ZjIsIFwKLSAgICAgICAgMHhlNywgMHg0MCwgMHg3MCwgMHgxNCwgMHhjYiwgMHg0NCwgMHhhMiwgMHg3MiwgMHgwYiwgMHhjMiwgMHhlNSwgMHg0MCwgXAotICAgICAgICAweGY5LCAweDNlLCAweGU1LCAweGE2LCAweDBlLCAweGIzLCAweGY5LCAweGVjLCAweDRhLCAweDYzLCAweGMwLCAweGI4LCBcCi0gICAgICAgIDB4MjksIDB4MDAsIDB4NzQsIDB4OWMsIDB4NTcsIDB4M2IsIDB4YTgsIDB4YTUsIDB4MDQsIDB4OTAsIDB4NzEsIDB4ZjEsIFwKLSAgICAgICAgMHhiZCwgMHg4MywgMHhkOSwgMHgzZiwgMHhkNiwgMHhhNSwgMHhlMiwgMHgzYywgMHgyYSwgMHg4ZiwgMHhlZiwgMHgyNywgXAotICAgICAgICAweDYwLCAweGMzLCAweGM2LCAweDlmLCAweGNiLCAweGJhLCAweGVjLCAweDYwLCAweDdkLCAweGI3LCAweGU2LCAweDg0LCBcCi0gICAgICAgIDB4MzIsIDB4YmUsIDB4NGYsIDB4ZmIsIDB4NTgsIDB4MjYsIDB4MjIsIDB4MDMsIDB4NWIsIDB4ZDQsIDB4YjQsIDB4ZDUsIFwKLSAgICAgICAgMHhmYiwgMHhmNSwgMHhlMywgMHg5NiwgMHgyZSwgMHg3MCwgMHhjMCwgMHhlNCwgMHgyZSwgMHhiZCwgMHhmYywgMHgyZSwgXAotICAgICAgICAweGVlLCAweGUyLCAweDQxLCAweDU1LCAweGMwLCAweDM0LCAweDJlLCAweDdkLCAweDI0LCAweDcyLCAweDY5LCAweGNiLCBcCi0gICAgICAgIDB4NDcsIDB4YjEsIDB4MTQsIDB4NDAsIDB4ODMsIDB4N2QsIDB4NjcsIDB4ZjQsIDB4ODYsIDB4ZjYsIDB4MzEsIDB4YWIsIFwKLSAgICAgICAgMHhmMSwgMHg3OSwgMHhhNCwgMHhiMiwgMHhiNSwgMHgyZSwgMHgxMiwgMHhmOSwgMHg4NCwgMHgxNywgMHhmMCwgMHg2MiwgXAotICAgICAgICAweDZmLCAweDI3LCAweDNlLCAweDEzLCAweDU4LCAweGIxLCAweDU0LCAweDBkLCAweDIxLCAweDlhLCAweDczLCAweDM3LCBcCi0gICAgICAgIDB4YTEsIDB4MzAsIDB4Y2YsIDB4NmYsIDB4OTIsIDB4ZGMsIDB4ZjYsIDB4ZTksIDB4ZmMsIDB4YWMsIDB4ZGIsIDB4MmUsIFwKLSAgICAgICAgMHgyOCwgMHhkMSwgMHg3ZSwgMHgwMiwgMHg0YiwgMHgyMywgMHhhMCwgMHgxNSwgMHhmMiwgMHgzOCwgMHg2NSwgMHg2NCwgXAotICAgICAgICAweDA5LCAweGVhLCAweDBjLCAweDZlLCAweDhlLCAweDFiLCAweDE3LCAweGEwLCAweDcxLCAweGM4LCAweGIzLCAweDliLCBcCi0gICAgICAgIDB4YzksIDB4YWIsIDB4ZTksIDB4YzMsIDB4ZjIsIDB4Y2YsIDB4ODcsIDB4OTYsIDB4OGYsIDB4ODAsIDB4MDIsIDB4MzIsIFwKLSAgICAgICAgMHg5ZSwgMHg5OSwgMHg1OCwgMHg2ZiwgMHhhMiwgMHhkNSwgMHgwMiwgMHgwMywgMHgwMSwgMHgwMCwgMHgwMSwgMHhhMywgXAotICAgICAgICAweDUwLCAweDMwLCAweDRlLCAweDMwLCAweDBjLCAweDA2LCAweDAzLCAweDU1LCAweDFkLCAweDEzLCAweDA0LCAweDA1LCBcCi0gICAgICAgIDB4MzAsIDB4MDMsIDB4MDEsIDB4MDEsIDB4ZmYsIDB4MzAsIDB4MWQsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MWQsIDB4MGUsIFwKLSAgICAgICAgMHgwNCwgMHgxNiwgMHgwNCwgMHgxNCwgMHhiNCwgMHg1YSwgMHhlNCwgMHhhNSwgMHhiMywgMHhkZSwgMHhkMiwgMHg1MiwgXAotICAgICAgICAweGY2LCAweGI5LCAweGQ1LCAweGE2LCAweDk1LCAweDBmLCAweGViLCAweDNlLCAweGJjLCAweGM3LCAweGZkLCAweGZmLCBcCi0gICAgICAgIDB4MzAsIDB4MWYsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MWQsIDB4MjMsIDB4MDQsIDB4MTgsIDB4MzAsIDB4MTYsIDB4ODAsIFwKLSAgICAgICAgMHgxNCwgMHhiNCwgMHg1YSwgMHhlNCwgMHhhNSwgMHhiMywgMHhkZSwgMHhkMiwgMHg1MiwgMHhmNiwgMHhiOSwgMHhkNSwgXAotICAgICAgICAweGE2LCAweDk1LCAweDBmLCAweGViLCAweDNlLCAweGJjLCAweGM3LCAweGZkLCAweGZmLCAweDMwLCAweDBkLCAweDA2LCBcCi0gICAgICAgIDB4MDksIDB4MmEsIDB4ODYsIDB4NDgsIDB4ODYsIDB4ZjcsIDB4MGQsIDB4MDEsIDB4MDEsIDB4MGIsIDB4MDUsIDB4MDAsIFwKLSAgICAgICAgMHgwMywgMHg4MiwgMHgwMSwgMHgwMSwgMHgwMCwgMHgzOCwgMHhhOCwgMHg1NCwgMHg4MiwgMHhiNiwgMHgxZCwgMHhhYSwgXAotICAgICAgICAweGRiLCAweDZiLCAweDg5LCAweDIxLCAweGQxLCAweDM4LCAweDI4LCAweDYxLCAweGM5LCAweGIwLCAweDk4LCAweGQ1LCBcCi0gICAgICAgIDB4MTEsIDB4ZmMsIDB4MzYsIDB4ZmYsIDB4MTksIDB4ZmUsIDB4MzIsIDB4NDQsIDB4ZWYsIDB4MDgsIDB4YzcsIDB4ZjEsIFwKLSAgICAgICAgMHg1NiwgMHhiYiwgMHhlNiwgMHg0NiwgMHhmYSwgMHg4MiwgMHhiNiwgMHgzMSwgMHgzOCwgMHhiNCwgMHhhMCwgMHhlNSwgXAotICAgICAgICAweGEwLCAweGFlLCAweDBjLCAweGM0LCAweDUzLCAweDllLCAweDkzLCAweDRlLCAweGU4LCAweDBkLCAweDljLCAweDJmLCBcCi0gICAgICAgIDB4YjQsIDB4MDQsIDB4ZmQsIDB4OGEsIDB4MzksIDB4ZjUsIDB4ODQsIDB4NzcsIDB4ZWQsIDB4NGMsIDB4ZDQsIDB4YmIsIFwKLSAgICAgICAgMHg0NCwgMHg3ZiwgMHg3MywgMHg3NywgMHhmNywgMHhmMSwgMHgzNiwgMHg5NywgMHhkYywgMHgxZSwgMHg3MywgMHgxOSwgXAotICAgICAgICAweDVkLCAweDUwLCAweGI4LCAweGMzLCAweDgwLCAweGNkLCAweDAzLCAweDU3LCAweGQyLCAweDAwLCAweGRiLCAweDU2LCBcCi0gICAgICAgIDB4ZTYsIDB4YzYsIDB4MzUsIDB4MjQsIDB4MWUsIDB4NDksIDB4N2IsIDB4ZDgsIDB4ZDIsIDB4NzIsIDB4YmIsIDB4MGIsIFwKLSAgICAgICAgMHg0OSwgMHgyZiwgMHhhNiwgMHgwMiwgMHgzYywgMHhhZiwgMHhkMCwgMHhlYywgMHgzNywgMHgxZCwgMHhiZCwgMHg4MSwgXAotICAgICAgICAweDhiLCAweDFmLCAweDMwLCAweGJiLCAweGJjLCAweDRkLCAweDM2LCAweGI1LCAweDc5LCAweDdjLCAweDg3LCAweGZiLCBcCi0gICAgICAgIDB4NTEsIDB4YjksIDB4YmUsIDB4YzIsIDB4ZGUsIDB4OTIsIDB4YTgsIDB4NDAsIDB4NzEsIDB4YmIsIDB4NzIsIDB4OWIsIFwKLSAgICAgICAgMHhmOCwgMHg0NywgMHhjZSwgMHg2YywgMHgwNCwgMHhmOCwgMHg4NiwgMHhlNywgMHhmNywgMHg3MywgMHgzYywgMHhlNywgXAotICAgICAgICAweDg0LCAweDdkLCAweGMyLCAweGQ3LCAweGI3LCAweDlkLCAweGU4LCAweGQ0LCAweDliLCAweDVmLCAweDBhLCAweDE3LCBcCi0gICAgICAgIDB4N2QsIDB4YmMsIDB4YmIsIDB4YjIsIDB4ZDUsIDB4OTQsIDB4MGQsIDB4ZTQsIDB4NDksIDB4YmYsIDB4NGYsIDB4MTEsIFwKLSAgICAgICAgMHg2OCwgMHg1MywgMHhiMiwgMHg5MSwgMHhmZiwgMHhjMCwgMHg2OSwgMHhlZSwgMHhkYiwgMHg2MywgMHg5MywgMHhjYiwgXAotICAgICAgICAweGM5LCAweDM1LCAweDZiLCAweDkwLCAweDA5LCAweGUyLCAweDkwLCAweGM5LCAweGVkLCAweDI3LCAweGQ2LCAweDA4LCBcCi0gICAgICAgIDB4ZmEsIDB4MTMsIDB4NGQsIDB4NjIsIDB4ZGQsIDB4ZTIsIDB4OWUsIDB4YWEsIDB4YjUsIDB4ZDQsIDB4MGUsIDB4NWMsIFwKLSAgICAgICAgMHgzNywgMHg0ZiwgMHhhYiwgMHg1NSwgMHgzYiwgMHgyZCwgMHhmMSwgMHg0MiwgMHg4MiwgMHhjNywgMHgzNCwgMHgzOCwgXAotICAgICAgICAweDFhLCAweDliLCAweGViLCAweGExLCAweDJjLCAweDBmLCAweDI5LCAweDMxLCAweDY0LCAweDZjLCAweGNjLCAweDM4LCBcCi0gICAgICAgIDB4ZmQsIDB4YTksIDB4ZDMsIDB4ZDUsIDB4ZDUsIDB4NzEsIDB4YWYsIDB4ZjAsIDB4NmQsIDB4YzAsIDB4OTcsIDB4ZTIsIFwKLSAgICAgICAgMHgxMSwgMHgyYSwgMHgwYSwgMHhkZiwgMHhmZSwgMHgwMiwgMHg3OSwgMHg3NCwgMHg3NSAgICAgICAgICAgICAgICAgICAgXAotfQotLyogRU5EIEZJTEUgKi8KLQotLyogVGhpcyBpcyB0YWtlbiBmcm9tIHRlc3QtY2Etc2hhMS5jcnQuICovCi0vKiBCRUdJTiBGSUxFIHN0cmluZyBtYWNybyBURVNUX0NBX0NSVF9SU0FfU0hBMV9QRU0gdGVzdC1jYS1zaGExLmNydCAqLwotI2RlZmluZSBURVNUX0NBX0NSVF9SU0FfU0hBMV9QRU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tXHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIk1JSURRVENDQWltZ0F3SUJBZ0lCQXpBTkJna3Foa2lHOXcwQkFRVUZBREE3TVFzd0NRWURWUVFHRXdKT1RERVJcclxuIiAgICAgXAotICAgICJNQThHQTFVRUNnd0lVRzlzWVhKVFUwd3hHVEFYQmdOVkJBTU1FRkJ2YkdGeVUxTk1JRlJsYzNRZ1EwRXdIaGNOXHJcbiIgICAgIFwKLSAgICAiTVRrd01qRXdNVFEwTkRBd1doY05Namt3TWpFd01UUTBOREF3V2pBN01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R1xyXG4iICAgICBcCi0gICAgIkExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3Z2dFaU1BMEdcclxuIiAgICAgXAotICAgICJDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREEzemY4Rjd2Z2xwMC9odDZXTW4xRXBSYWd6U0h4XHJcbiIgICAgIFwKLSAgICAibWRUczZzdDhHRmdJbEtYc204V0wzeG9lbVRpWmh4NTd3STA1M3poZGNIZ0gwNTdaaytpNWNsSEZ6cU13VXFueVxyXG4iICAgICBcCi0gICAgIjUwQndGTXRFb25JTHd1VkErVDdscGc2eitleEtZOEM0S1FCMG5GYzdxS1VFa0hIeHZZUFpQOWFsNGp3cWorOG5cclxuIiAgICAgXAotICAgICJZTVBHbjh1NjdHQjl0K2FFTXI1UCsxZ21JZ05iMUxUVisvWGpsaTV3d09RdXZmd3U3dUpCVmNBMExuMGtjbW5MXHJcbiIgICAgIFwKLSAgICAiUjdFVVFJTjlaL1NHOWpHcjhYbWtzclV1RXZtRUYvQmlieWMrRTFpeFZBMGhtbk0zb1REUGI1TGM5dW44ck5zdVxyXG4iICAgICBcCi0gICAgIktORitBa3Nqb0JYeU9HVmtDZW9NYm80YkY2Qnh5TE9ieWF2cHcvTFBoNWFQZ0FJeW5wbFliNkxWQWdNQkFBR2pcclxuIiAgICAgXAotICAgICJVREJPTUF3R0ExVWRFd1FGTUFNQkFmOHdIUVlEVlIwT0JCWUVGTFJhNUtXejN0SlM5cm5WcHBVUDZ6Njh4LzMvXHJcbiIgICAgIFwKLSAgICAiTUI4R0ExVWRJd1FZTUJhQUZMUmE1S1d6M3RKUzlyblZwcFVQNno2OHgvMy9NQTBHQ1NxR1NJYjNEUUVCQlFVQVxyXG4iICAgICBcCi0gICAgIkE0SUJBUUIwWmlOUkZkaWE2a3NrYVBuaHJxZWpJUnE4WU1FR0FmMm9JUG55Wjc4eG95RVJnYzM1bEhHeU10c0xcclxuIiAgICAgXAotICAgICJoV2ljTmpQNGQvaFM5QXM0ajVLQTJnZE5HaTVFVEExWDdTb3dXT0dzcnlpdlNwTVNIVnkxK0hkZldsc1lRT3ptXHJcbiIgICAgIFwKLSAgICAiOG8rZmFRTlVtOFh6UFZtdHRmQVZzcHhlSFN4SlozNk9vK1FXWjV3WmxDSUV5akVkTFVJZCtUbTRCejNCNWpSRFxyXG4iICAgICBcCi0gICAgInpaYS9TYXFEb2txNjZOMnpwYmdLS0FsM0dVMk8rK2ZCcVAyZFNrZFF5a21UeGhMTFdSTjhGSnFoWUFUeVFudFpcclxuIiAgICAgXAotICAgICIwUVNpM1c5SGZTWlBuRlRjUElYZW9pUGQycExseHQxaFp1OGR3czJMVFhFNjN1UDZNTTRMSHZXeGl1SmFXa1AvXHJcbiIgICAgIFwKLSAgICAibXR4eVVBTGoycFF4Uml0b3BPUkZRZG43QU9ZNVxyXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS1cclxuIgotLyogRU5EIEZJTEUgKi8KLQotLyogVGhpcyBpcyBnZW5lcmF0ZWQgZnJvbSB0ZXN0LWNhLXNoYTEuY3J0LmRlci4gKi8KLS8qIEJFR0lOIEZJTEUgYmluYXJ5IG1hY3JvIFRFU1RfQ0FfQ1JUX1JTQV9TSEExX0RFUiB0ZXN0LWNhLXNoYTEuY3J0LmRlciAqLwotI2RlZmluZSBURVNUX0NBX0NSVF9SU0FfU0hBMV9ERVIgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIDB4MzAsIDB4ODIsIDB4MDMsIDB4NDEsIDB4MzAsIDB4ODIsIDB4MDIsIDB4MjksIDB4YTAsIDB4MDMsIDB4MDIsIDB4MDEsIFwKLSAgICAgICAgMHgwMiwgMHgwMiwgMHgwMSwgMHgwMywgMHgzMCwgMHgwZCwgMHgwNiwgMHgwOSwgMHgyYSwgMHg4NiwgMHg0OCwgMHg4NiwgXAotICAgICAgICAweGY3LCAweDBkLCAweDAxLCAweDAxLCAweDA1LCAweDA1LCAweDAwLCAweDMwLCAweDNiLCAweDMxLCAweDBiLCAweDMwLCBcCi0gICAgICAgIDB4MDksIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIDB4MDYsIDB4MTMsIDB4MDIsIDB4NGUsIDB4NGMsIDB4MzEsIDB4MTEsIFwKLSAgICAgICAgMHgzMCwgMHgwZiwgMHgwNiwgMHgwMywgMHg1NSwgMHgwNCwgMHgwYSwgMHgwYywgMHgwOCwgMHg1MCwgMHg2ZiwgMHg2YywgXAotICAgICAgICAweDYxLCAweDcyLCAweDUzLCAweDUzLCAweDRjLCAweDMxLCAweDE5LCAweDMwLCAweDE3LCAweDA2LCAweDAzLCAweDU1LCBcCi0gICAgICAgIDB4MDQsIDB4MDMsIDB4MGMsIDB4MTAsIDB4NTAsIDB4NmYsIDB4NmMsIDB4NjEsIDB4NzIsIDB4NTMsIDB4NTMsIDB4NGMsIFwKLSAgICAgICAgMHgyMCwgMHg1NCwgMHg2NSwgMHg3MywgMHg3NCwgMHgyMCwgMHg0MywgMHg0MSwgMHgzMCwgMHgxZSwgMHgxNywgMHgwZCwgXAotICAgICAgICAweDMxLCAweDM5LCAweDMwLCAweDMyLCAweDMxLCAweDMwLCAweDMxLCAweDM0LCAweDM0LCAweDM0LCAweDMwLCAweDMwLCBcCi0gICAgICAgIDB4NWEsIDB4MTcsIDB4MGQsIDB4MzIsIDB4MzksIDB4MzAsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzEsIDB4MzQsIDB4MzQsIFwKLSAgICAgICAgMHgzNCwgMHgzMCwgMHgzMCwgMHg1YSwgMHgzMCwgMHgzYiwgMHgzMSwgMHgwYiwgMHgzMCwgMHgwOSwgMHgwNiwgMHgwMywgXAotICAgICAgICAweDU1LCAweDA0LCAweDA2LCAweDEzLCAweDAyLCAweDRlLCAweDRjLCAweDMxLCAweDExLCAweDMwLCAweDBmLCAweDA2LCBcCi0gICAgICAgIDB4MDMsIDB4NTUsIDB4MDQsIDB4MGEsIDB4MGMsIDB4MDgsIDB4NTAsIDB4NmYsIDB4NmMsIDB4NjEsIDB4NzIsIDB4NTMsIFwKLSAgICAgICAgMHg1MywgMHg0YywgMHgzMSwgMHgxOSwgMHgzMCwgMHgxNywgMHgwNiwgMHgwMywgMHg1NSwgMHgwNCwgMHgwMywgMHgwYywgXAotICAgICAgICAweDEwLCAweDUwLCAweDZmLCAweDZjLCAweDYxLCAweDcyLCAweDUzLCAweDUzLCAweDRjLCAweDIwLCAweDU0LCAweDY1LCBcCi0gICAgICAgIDB4NzMsIDB4NzQsIDB4MjAsIDB4NDMsIDB4NDEsIDB4MzAsIDB4ODIsIDB4MDEsIDB4MjIsIDB4MzAsIDB4MGQsIDB4MDYsIFwKLSAgICAgICAgMHgwOSwgMHgyYSwgMHg4NiwgMHg0OCwgMHg4NiwgMHhmNywgMHgwZCwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwNSwgMHgwMCwgXAotICAgICAgICAweDAzLCAweDgyLCAweDAxLCAweDBmLCAweDAwLCAweDMwLCAweDgyLCAweDAxLCAweDBhLCAweDAyLCAweDgyLCAweDAxLCBcCi0gICAgICAgIDB4MDEsIDB4MDAsIDB4YzAsIDB4ZGYsIDB4MzcsIDB4ZmMsIDB4MTcsIDB4YmIsIDB4ZTAsIDB4OTYsIDB4OWQsIDB4M2YsIFwKLSAgICAgICAgMHg4NiwgMHhkZSwgMHg5NiwgMHgzMiwgMHg3ZCwgMHg0NCwgMHhhNSwgMHgxNiwgMHhhMCwgMHhjZCwgMHgyMSwgMHhmMSwgXAotICAgICAgICAweDk5LCAweGQ0LCAweGVjLCAweGVhLCAweGNiLCAweDdjLCAweDE4LCAweDU4LCAweDA4LCAweDk0LCAweGE1LCAweGVjLCBcCi0gICAgICAgIDB4OWIsIDB4YzUsIDB4OGIsIDB4ZGYsIDB4MWEsIDB4MWUsIDB4OTksIDB4MzgsIDB4OTksIDB4ODcsIDB4MWUsIDB4N2IsIFwKLSAgICAgICAgMHhjMCwgMHg4ZCwgMHgzOSwgMHhkZiwgMHgzOCwgMHg1ZCwgMHg3MCwgMHg3OCwgMHgwNywgMHhkMywgMHg5ZSwgMHhkOSwgXAotICAgICAgICAweDkzLCAweGU4LCAweGI5LCAweDcyLCAweDUxLCAweGM1LCAweGNlLCAweGEzLCAweDMwLCAweDUyLCAweGE5LCAweGYyLCBcCi0gICAgICAgIDB4ZTcsIDB4NDAsIDB4NzAsIDB4MTQsIDB4Y2IsIDB4NDQsIDB4YTIsIDB4NzIsIDB4MGIsIDB4YzIsIDB4ZTUsIDB4NDAsIFwKLSAgICAgICAgMHhmOSwgMHgzZSwgMHhlNSwgMHhhNiwgMHgwZSwgMHhiMywgMHhmOSwgMHhlYywgMHg0YSwgMHg2MywgMHhjMCwgMHhiOCwgXAotICAgICAgICAweDI5LCAweDAwLCAweDc0LCAweDljLCAweDU3LCAweDNiLCAweGE4LCAweGE1LCAweDA0LCAweDkwLCAweDcxLCAweGYxLCBcCi0gICAgICAgIDB4YmQsIDB4ODMsIDB4ZDksIDB4M2YsIDB4ZDYsIDB4YTUsIDB4ZTIsIDB4M2MsIDB4MmEsIDB4OGYsIDB4ZWYsIDB4MjcsIFwKLSAgICAgICAgMHg2MCwgMHhjMywgMHhjNiwgMHg5ZiwgMHhjYiwgMHhiYSwgMHhlYywgMHg2MCwgMHg3ZCwgMHhiNywgMHhlNiwgMHg4NCwgXAotICAgICAgICAweDMyLCAweGJlLCAweDRmLCAweGZiLCAweDU4LCAweDI2LCAweDIyLCAweDAzLCAweDViLCAweGQ0LCAweGI0LCAweGQ1LCBcCi0gICAgICAgIDB4ZmIsIDB4ZjUsIDB4ZTMsIDB4OTYsIDB4MmUsIDB4NzAsIDB4YzAsIDB4ZTQsIDB4MmUsIDB4YmQsIDB4ZmMsIDB4MmUsIFwKLSAgICAgICAgMHhlZSwgMHhlMiwgMHg0MSwgMHg1NSwgMHhjMCwgMHgzNCwgMHgyZSwgMHg3ZCwgMHgyNCwgMHg3MiwgMHg2OSwgMHhjYiwgXAotICAgICAgICAweDQ3LCAweGIxLCAweDE0LCAweDQwLCAweDgzLCAweDdkLCAweDY3LCAweGY0LCAweDg2LCAweGY2LCAweDMxLCAweGFiLCBcCi0gICAgICAgIDB4ZjEsIDB4NzksIDB4YTQsIDB4YjIsIDB4YjUsIDB4MmUsIDB4MTIsIDB4ZjksIDB4ODQsIDB4MTcsIDB4ZjAsIDB4NjIsIFwKLSAgICAgICAgMHg2ZiwgMHgyNywgMHgzZSwgMHgxMywgMHg1OCwgMHhiMSwgMHg1NCwgMHgwZCwgMHgyMSwgMHg5YSwgMHg3MywgMHgzNywgXAotICAgICAgICAweGExLCAweDMwLCAweGNmLCAweDZmLCAweDkyLCAweGRjLCAweGY2LCAweGU5LCAweGZjLCAweGFjLCAweGRiLCAweDJlLCBcCi0gICAgICAgIDB4MjgsIDB4ZDEsIDB4N2UsIDB4MDIsIDB4NGIsIDB4MjMsIDB4YTAsIDB4MTUsIDB4ZjIsIDB4MzgsIDB4NjUsIDB4NjQsIFwKLSAgICAgICAgMHgwOSwgMHhlYSwgMHgwYywgMHg2ZSwgMHg4ZSwgMHgxYiwgMHgxNywgMHhhMCwgMHg3MSwgMHhjOCwgMHhiMywgMHg5YiwgXAotICAgICAgICAweGM5LCAweGFiLCAweGU5LCAweGMzLCAweGYyLCAweGNmLCAweDg3LCAweDk2LCAweDhmLCAweDgwLCAweDAyLCAweDMyLCBcCi0gICAgICAgIDB4OWUsIDB4OTksIDB4NTgsIDB4NmYsIDB4YTIsIDB4ZDUsIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDAsIDB4MDEsIDB4YTMsIFwKLSAgICAgICAgMHg1MCwgMHgzMCwgMHg0ZSwgMHgzMCwgMHgwYywgMHgwNiwgMHgwMywgMHg1NSwgMHgxZCwgMHgxMywgMHgwNCwgMHgwNSwgXAotICAgICAgICAweDMwLCAweDAzLCAweDAxLCAweDAxLCAweGZmLCAweDMwLCAweDFkLCAweDA2LCAweDAzLCAweDU1LCAweDFkLCAweDBlLCBcCi0gICAgICAgIDB4MDQsIDB4MTYsIDB4MDQsIDB4MTQsIDB4YjQsIDB4NWEsIDB4ZTQsIDB4YTUsIDB4YjMsIDB4ZGUsIDB4ZDIsIDB4NTIsIFwKLSAgICAgICAgMHhmNiwgMHhiOSwgMHhkNSwgMHhhNiwgMHg5NSwgMHgwZiwgMHhlYiwgMHgzZSwgMHhiYywgMHhjNywgMHhmZCwgMHhmZiwgXAotICAgICAgICAweDMwLCAweDFmLCAweDA2LCAweDAzLCAweDU1LCAweDFkLCAweDIzLCAweDA0LCAweDE4LCAweDMwLCAweDE2LCAweDgwLCBcCi0gICAgICAgIDB4MTQsIDB4YjQsIDB4NWEsIDB4ZTQsIDB4YTUsIDB4YjMsIDB4ZGUsIDB4ZDIsIDB4NTIsIDB4ZjYsIDB4YjksIDB4ZDUsIFwKLSAgICAgICAgMHhhNiwgMHg5NSwgMHgwZiwgMHhlYiwgMHgzZSwgMHhiYywgMHhjNywgMHhmZCwgMHhmZiwgMHgzMCwgMHgwZCwgMHgwNiwgXAotICAgICAgICAweDA5LCAweDJhLCAweDg2LCAweDQ4LCAweDg2LCAweGY3LCAweDBkLCAweDAxLCAweDAxLCAweDA1LCAweDA1LCAweDAwLCBcCi0gICAgICAgIDB4MDMsIDB4ODIsIDB4MDEsIDB4MDEsIDB4MDAsIDB4NzQsIDB4NjYsIDB4MjMsIDB4NTEsIDB4MTUsIDB4ZDgsIDB4OWEsIFwKLSAgICAgICAgMHhlYSwgMHg0YiwgMHgyNCwgMHg2OCwgMHhmOSwgMHhlMSwgMHhhZSwgMHhhNywgMHhhMywgMHgyMSwgMHgxYSwgMHhiYywgXAotICAgICAgICAweDYwLCAweGMxLCAweDA2LCAweDAxLCAweGZkLCAweGE4LCAweDIwLCAweGY5LCAweGYyLCAweDY3LCAweGJmLCAweDMxLCBcCi0gICAgICAgIDB4YTMsIDB4MjEsIDB4MTEsIDB4ODEsIDB4Y2QsIDB4ZjksIDB4OTQsIDB4NzEsIDB4YjIsIDB4MzIsIDB4ZGIsIDB4MGIsIFwKLSAgICAgICAgMHg4NSwgMHg2OCwgMHg5YywgMHgzNiwgMHgzMywgMHhmOCwgMHg3NywgMHhmOCwgMHg1MiwgMHhmNCwgMHgwYiwgMHgzOCwgXAotICAgICAgICAweDhmLCAweDkyLCAweDgwLCAweGRhLCAweDA3LCAweDRkLCAweDFhLCAweDJlLCAweDQ0LCAweDRjLCAweDBkLCAweDU3LCBcCi0gICAgICAgIDB4ZWQsIDB4MmEsIDB4MzAsIDB4NTgsIDB4ZTEsIDB4YWMsIDB4YWYsIDB4MjgsIDB4YWYsIDB4NGEsIDB4OTMsIDB4MTIsIFwKLSAgICAgICAgMHgxZCwgMHg1YywgMHhiNSwgMHhmOCwgMHg3NywgMHg1ZiwgMHg1YSwgMHg1YiwgMHgxOCwgMHg0MCwgMHhlYywgMHhlNiwgXAotICAgICAgICAweGYyLCAweDhmLCAweDlmLCAweDY5LCAweDAzLCAweDU0LCAweDliLCAweGM1LCAweGYzLCAweDNkLCAweDU5LCAweGFkLCBcCi0gICAgICAgIDB4YjUsIDB4ZjAsIDB4MTUsIDB4YjIsIDB4OWMsIDB4NWUsIDB4MWQsIDB4MmMsIDB4NDksIDB4NjcsIDB4N2UsIDB4OGUsIFwKLSAgICAgICAgMHhhMywgMHhlNCwgMHgxNiwgMHg2NywgMHg5YywgMHgxOSwgMHg5NCwgMHgyMiwgMHgwNCwgMHhjYSwgMHgzMSwgMHgxZCwgXAotICAgICAgICAweDJkLCAweDQyLCAweDFkLCAweGY5LCAweDM5LCAweGI4LCAweDA3LCAweDNkLCAweGMxLCAweGU2LCAweDM0LCAweDQzLCBcCi0gICAgICAgIDB4Y2QsIDB4OTYsIDB4YmYsIDB4NDksIDB4YWEsIDB4ODMsIDB4YTIsIDB4NGEsIDB4YmEsIDB4ZTgsIDB4ZGQsIDB4YjMsIFwKLSAgICAgICAgMHhhNSwgMHhiOCwgMHgwYSwgMHgyOCwgMHgwOSwgMHg3NywgMHgxOSwgMHg0ZCwgMHg4ZSwgMHhmYiwgMHhlNywgMHhjMSwgXAotICAgICAgICAweGE4LCAweGZkLCAweDlkLCAweDRhLCAweDQ3LCAweDUwLCAweGNhLCAweDQ5LCAweDkzLCAweGM2LCAweDEyLCAweGNiLCBcCi0gICAgICAgIDB4NTksIDB4MTMsIDB4N2MsIDB4MTQsIDB4OWEsIDB4YTEsIDB4NjAsIDB4MDQsIDB4ZjIsIDB4NDIsIDB4N2IsIDB4NTksIFwKLSAgICAgICAgMHhkMSwgMHgwNCwgMHhhMiwgMHhkZCwgMHg2ZiwgMHg0NywgMHg3ZCwgMHgyNiwgMHg0ZiwgMHg5YywgMHg1NCwgMHhkYywgXAotICAgICAgICAweDNjLCAweDg1LCAweGRlLCAweGEyLCAweDIzLCAweGRkLCAweGRhLCAweDkyLCAweGU1LCAweGM2LCAweGRkLCAweDYxLCBcCi0gICAgICAgIDB4NjYsIDB4ZWYsIDB4MWQsIDB4YzIsIDB4Y2QsIDB4OGIsIDB4NGQsIDB4NzEsIDB4M2EsIDB4ZGUsIDB4ZTMsIDB4ZmEsIFwKLSAgICAgICAgMHgzMCwgMHhjZSwgMHgwYiwgMHgxZSwgMHhmNSwgMHhiMSwgMHg4YSwgMHhlMiwgMHg1YSwgMHg1YSwgMHg0MywgMHhmZiwgXAotICAgICAgICAweDlhLCAweGRjLCAweDcyLCAweDUwLCAweDAyLCAweGUzLCAweGRhLCAweDk0LCAweDMxLCAweDQ2LCAweDJiLCAweDY4LCBcCi0gICAgICAgIDB4YTQsIDB4ZTQsIDB4NDUsIDB4NDEsIDB4ZDksIDB4ZmIsIDB4MDAsIDB4ZTYsIDB4MzkgICAgICAgICAgICAgICAgICAgIFwKLX0KLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgdGFrZW4gZnJvbSB0ZXN0LWNhLmtleS4gKi8KLS8qIEJFR0lOIEZJTEUgc3RyaW5nIG1hY3JvIFRFU1RfQ0FfS0VZX1JTQV9QRU0gdGVzdC1jYS5rZXkgKi8KLSNkZWZpbmUgVEVTVF9DQV9LRVlfUlNBX1BFTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS1cclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJQcm9jLVR5cGU6IDQsRU5DUllQVEVEXHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiREVLLUluZm86IEFFUy0xMjgtQ0JDLDc4MTg0MEU2QjgwNEFFODNEMkFGNzExMjdDNENFMzE0XHJcbiIgICAgICAgICAgICAgICBcCi0gICAgIlxyXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJldFEzeGdHTGJ1WUY5dlIxa20wM1RINWZ3Zmx5MWhPbGl4MFB0ZlErdDlIRzA2NXZUdFNFSFljL095SHdkeTc5XHJcbiIgICAgIFwKLSAgICAiTkNMWDVSVXJQaDA2RS9YbEt6TU5WSEFYcWt3Rm5Jd056UkxzT296ZVAxTDdpWkVaYjlRTWVpTjVPcmcrYnRDT1xyXG4iICAgICBcCi0gICAgImJ5bFhQQjRZaXJmdUU3R1NKYWxXWS9wcTNGUXREMzN6VElLbU5oWGZWajNzYndHSS84RDlYamFLVWI4UE9ET0JcclxuIiAgICAgXAotICAgICJza09hbG14NlJ2WVJ2ZzBsbVJ4QjMrVDN3ZWpJc3JyRFB3ZVlxdGU5QjZkVkhJVkcxWm12b0E2L3duS1paWmVWXHJcbiIgICAgIFwKLSAgICAic2pqOE9wTDNPd1VCcmp1R1NrbkU5UnM2a0N1U0NiSE9ZVks4VnpjWm1DWXBpZTBURm5iM1NrOE02dmpmVys0NVxyXG4iICAgICBcCi0gICAgIlU3V1VNbFNBUHhLSDZsSkR6V2R3SHFMdnNWSnd1Tm5hQWFCWGc5LzhVL3J6UUVXdXE4QXIzczhmdzJKZzNGMUdcclxuIiAgICAgXAotICAgICJMNk41WkFFZkN6M1NhME45V0thZlIvUlNRaitycThaM3c0UE9BYWZoYnprMjQ5dW81SzhCMVozY1F3THhlWElsXHJcbiIgICAgIFwKLSAgICAiVWJSUXoxVFp5NG9OVGZRekNhaFlydVBOeXZ3Z1RrZndBRkZ2YkxBZGFpSmQyWnRMQm9xWUU2NFRZYWtZbnZjQ1xyXG4iICAgICBcCi0gICAgIml0aW0xYm15U0lLb3hsTWZCR0ZtTXVGMDNlcFQwcFN4NzAxamxHekdpMGwwbTE2TkVqb1Z4RHdvNWo5M1NtaU1cclxuIiAgICAgXAotICAgICJzUWRqQzFsT0drMmlDTGtwaElRcUhGakZKWVdqdmgxVVVJcVdaZitaV09PeGxmNHg5YTFwVVZqNkZ2dEVDeE5CXHJcbiIgICAgIFwKLSAgICAiL21BL200SXE0TEF1VlhIRTFNcEhlcTA2N2xKNndXbHJzYjJXVm1pTkdmUTJBQzdmTXRwY1B1dW5CVlQ5TlYxbVxyXG4iICAgICBcCi0gICAgIjFyYkR6SWdMSVdBenF6L2N5M044UTh2ZnhuckZ0bU5VeU0xOTFaeXErWUYxNGhJS1dYOUoxcVI0TFh3V0F6VlZcclxuIiAgICAgXAotICAgICJVckM4SUw0cEEybXRSa1c0cUZzQjBFbUhBeE8vY2VkRFRQalZGdHk1V1N6aE51dllaeFg0NUhBa0dJZks2ZDIxXHJcbiIgICAgIFwKLSAgICAiN1dIUGhIRyt6YWFVVFdNVVZpeEIwSWNLcDZSZWNqWVBGekJIUzBZZVg4OFVlMmN5VC85MGpNaVE5c3NPZ1JyR1xyXG4iICAgICBcCi0gICAgIlpKUkp2WkFjM1RTQ25ZOXNOUFlvR3JKUGladUNubFVqM0VOTnVyWVZ5MTJhaTBXRnh3bk5VWmpSVWhEUzZoam1cclxuIiAgICAgXAotICAgICJjREhENVRsSTlNWjZNK01iL0J3NElnOEh1VEhPdFFCWUQ5dmh0WHNHK0I3SC9qNmNTKzF1bWFLanJuRy9rSzRXXHJcbiIgICAgIFwKLSAgICAiUjZZWHdNMmZhQWkrRHdnampvTVhTelJxU1RGOFBkVElXYkFYbzNiYzJxc1hQVE1CQThQRXA0bmI1c2NIWjRUc1xyXG4iICAgICBcCi0gICAgIkVjQk5wMmp2MGo0Z0JrUm1HSWFiMTdjV01ybGFnakZ5ODlEaHFaVUZ3S2RlWnMreUo5MkE1eHN0V3hPVWZwRVBcclxuIiAgICAgXAotICAgICI5MFQvYnNwMUc1ZDdXVzVmbDJUUkp2WUpORE0rZGprS0loMHpDa2R1aVozNm9WTTZuRGRiam1YcWpRWG9wZVNEXHJcbiIgICAgIFwKLSAgICAiZ3RPb3VyQlJGOGc5OVcwZlc4UVQreVBoUDBQa3l6NkVHOGVRTzZad2g0Mzl4ZG9Wd3U5alV6UUFQbVowdU5lUlxyXG4iICAgICBcCi0gICAgInhUWFhpaFl5djcyejI3ckluakxpSVBYTDI1SzllRFZMbGNTUjNSeUc3WVlnamRRQUwyVkpETGNCejVqb3gxdVFcclxuIiAgICAgXAotICAgICIwZ3VvRDV3bWZ1MkZXTHFZRTdIZVRZbnRkWTUzbENmbHdxMEdIUk1qcnJzVnB4KzVWRFE2WWk0N055OVNXTGNwXHJcbiIgICAgIFwKLSAgICAiZlBJM2lCa1h1R1JXdXB6czZONHBRZFNPMGRVMjhLZnBNTTVRdkZvTEluNjdickNIRVFpajRkZ0ZyQ1RZRXlCWFxyXG4iICAgICBcCi0gICAgIjkramlOSW1VRllVaEFGdXh2VWJmWnQ0Ty9BQkxJRWx2SExmSnMxb1lDbUkvbldwdkxGcVhCNXJuelBOZkVpMEhcclxuIiAgICAgXAotICAgICJQR0dlMUhqL3QrQ0pJcC82aW9zM3lOeTJRdFhPNzU0VFpIMlVWdTUxWWt5aWc1UEZqWlZvVWtiUnZIUVljV2ZVXHJcbiIgICAgIFwKLSAgICAiLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS1cclxuIgotLyogRU5EIEZJTEUgKi8KLQotI2RlZmluZSBURVNUX0NBX1BXRF9SU0FfUEVNICJQb2xhclNTTFRlc3QiCi0KLS8qIFRoaXMgaXMgZ2VuZXJhdGVkIGZyb20gdGVzdC1jYS5rZXkuZGVyLiAqLwotLyogQkVHSU4gRklMRSBiaW5hcnkgbWFjcm8gVEVTVF9DQV9LRVlfUlNBX0RFUiB0ZXN0LWNhLmtleS5kZXIgKi8KLSNkZWZpbmUgVEVTVF9DQV9LRVlfUlNBX0RFUiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAweDMwLCAweDgyLCAweDA0LCAweGE0LCAweDAyLCAweDAxLCAweDAwLCAweDAyLCAweDgyLCAweDAxLCAweDAxLCAweDAwLCBcCi0gICAgICAgIDB4YzAsIDB4ZGYsIDB4MzcsIDB4ZmMsIDB4MTcsIDB4YmIsIDB4ZTAsIDB4OTYsIDB4OWQsIDB4M2YsIDB4ODYsIDB4ZGUsIFwKLSAgICAgICAgMHg5NiwgMHgzMiwgMHg3ZCwgMHg0NCwgMHhhNSwgMHgxNiwgMHhhMCwgMHhjZCwgMHgyMSwgMHhmMSwgMHg5OSwgMHhkNCwgXAotICAgICAgICAweGVjLCAweGVhLCAweGNiLCAweDdjLCAweDE4LCAweDU4LCAweDA4LCAweDk0LCAweGE1LCAweGVjLCAweDliLCAweGM1LCBcCi0gICAgICAgIDB4OGIsIDB4ZGYsIDB4MWEsIDB4MWUsIDB4OTksIDB4MzgsIDB4OTksIDB4ODcsIDB4MWUsIDB4N2IsIDB4YzAsIDB4OGQsIFwKLSAgICAgICAgMHgzOSwgMHhkZiwgMHgzOCwgMHg1ZCwgMHg3MCwgMHg3OCwgMHgwNywgMHhkMywgMHg5ZSwgMHhkOSwgMHg5MywgMHhlOCwgXAotICAgICAgICAweGI5LCAweDcyLCAweDUxLCAweGM1LCAweGNlLCAweGEzLCAweDMwLCAweDUyLCAweGE5LCAweGYyLCAweGU3LCAweDQwLCBcCi0gICAgICAgIDB4NzAsIDB4MTQsIDB4Y2IsIDB4NDQsIDB4YTIsIDB4NzIsIDB4MGIsIDB4YzIsIDB4ZTUsIDB4NDAsIDB4ZjksIDB4M2UsIFwKLSAgICAgICAgMHhlNSwgMHhhNiwgMHgwZSwgMHhiMywgMHhmOSwgMHhlYywgMHg0YSwgMHg2MywgMHhjMCwgMHhiOCwgMHgyOSwgMHgwMCwgXAotICAgICAgICAweDc0LCAweDljLCAweDU3LCAweDNiLCAweGE4LCAweGE1LCAweDA0LCAweDkwLCAweDcxLCAweGYxLCAweGJkLCAweDgzLCBcCi0gICAgICAgIDB4ZDksIDB4M2YsIDB4ZDYsIDB4YTUsIDB4ZTIsIDB4M2MsIDB4MmEsIDB4OGYsIDB4ZWYsIDB4MjcsIDB4NjAsIDB4YzMsIFwKLSAgICAgICAgMHhjNiwgMHg5ZiwgMHhjYiwgMHhiYSwgMHhlYywgMHg2MCwgMHg3ZCwgMHhiNywgMHhlNiwgMHg4NCwgMHgzMiwgMHhiZSwgXAotICAgICAgICAweDRmLCAweGZiLCAweDU4LCAweDI2LCAweDIyLCAweDAzLCAweDViLCAweGQ0LCAweGI0LCAweGQ1LCAweGZiLCAweGY1LCBcCi0gICAgICAgIDB4ZTMsIDB4OTYsIDB4MmUsIDB4NzAsIDB4YzAsIDB4ZTQsIDB4MmUsIDB4YmQsIDB4ZmMsIDB4MmUsIDB4ZWUsIDB4ZTIsIFwKLSAgICAgICAgMHg0MSwgMHg1NSwgMHhjMCwgMHgzNCwgMHgyZSwgMHg3ZCwgMHgyNCwgMHg3MiwgMHg2OSwgMHhjYiwgMHg0NywgMHhiMSwgXAotICAgICAgICAweDE0LCAweDQwLCAweDgzLCAweDdkLCAweDY3LCAweGY0LCAweDg2LCAweGY2LCAweDMxLCAweGFiLCAweGYxLCAweDc5LCBcCi0gICAgICAgIDB4YTQsIDB4YjIsIDB4YjUsIDB4MmUsIDB4MTIsIDB4ZjksIDB4ODQsIDB4MTcsIDB4ZjAsIDB4NjIsIDB4NmYsIDB4MjcsIFwKLSAgICAgICAgMHgzZSwgMHgxMywgMHg1OCwgMHhiMSwgMHg1NCwgMHgwZCwgMHgyMSwgMHg5YSwgMHg3MywgMHgzNywgMHhhMSwgMHgzMCwgXAotICAgICAgICAweGNmLCAweDZmLCAweDkyLCAweGRjLCAweGY2LCAweGU5LCAweGZjLCAweGFjLCAweGRiLCAweDJlLCAweDI4LCAweGQxLCBcCi0gICAgICAgIDB4N2UsIDB4MDIsIDB4NGIsIDB4MjMsIDB4YTAsIDB4MTUsIDB4ZjIsIDB4MzgsIDB4NjUsIDB4NjQsIDB4MDksIDB4ZWEsIFwKLSAgICAgICAgMHgwYywgMHg2ZSwgMHg4ZSwgMHgxYiwgMHgxNywgMHhhMCwgMHg3MSwgMHhjOCwgMHhiMywgMHg5YiwgMHhjOSwgMHhhYiwgXAotICAgICAgICAweGU5LCAweGMzLCAweGYyLCAweGNmLCAweDg3LCAweDk2LCAweDhmLCAweDgwLCAweDAyLCAweDMyLCAweDllLCAweDk5LCBcCi0gICAgICAgIDB4NTgsIDB4NmYsIDB4YTIsIDB4ZDUsIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDIsIDB4ODIsIDB4MDEsIFwKLSAgICAgICAgMHgwMCwgMHgzZiwgMHhmNywgMHgwNywgMHhkMywgMHgzNCwgMHg2ZiwgMHhkYiwgMHhjOSwgMHgzNywgMHhiNywgMHg4NCwgXAotICAgICAgICAweGRjLCAweDM3LCAweDQ1LCAweGUxLCAweDYzLCAweGFkLCAweGI4LCAweGI2LCAweDc1LCAweGIxLCAweGM3LCAweDM1LCBcCi0gICAgICAgIDB4YjQsIDB4NzcsIDB4MmEsIDB4NWIsIDB4NzcsIDB4ZjksIDB4N2UsIDB4ZTAsIDB4YzEsIDB4YTMsIDB4ZDEsIDB4YjcsIFwKLSAgICAgICAgMHhjYiwgMHhhOSwgMHg1YSwgMHhjMSwgMHg4NywgMHhkYSwgMHg1YSwgMHhmYSwgMHgxNywgMHhlNCwgMHhkNSwgMHgzOCwgXAotICAgICAgICAweDAzLCAweGRlLCAweDY4LCAweDk4LCAweDgxLCAweGVjLCAweGI1LCAweGYyLCAweDJhLCAweDhkLCAweGU5LCAweDJjLCBcCi0gICAgICAgIDB4ZjMsIDB4YTYsIDB4ZTUsIDB4MzIsIDB4MTcsIDB4N2YsIDB4MzMsIDB4ODEsIDB4ZTgsIDB4MzgsIDB4NzIsIDB4ZDUsIFwKLSAgICAgICAgMHg5YywgMHhmYSwgMHg0ZSwgMHhmYiwgMHgyNiwgMHhmNSwgMHgxNSwgMHgwYiwgMHhhZiwgMHg4NCwgMHg2NiwgMHhhYiwgXAotICAgICAgICAweDAyLCAweGUwLCAweDE4LCAweGQ1LCAweDkxLCAweDdjLCAweGQ2LCAweDhmLCAweGM5LCAweDRiLCAweDc2LCAweDA4LCBcCi0gICAgICAgIDB4MmIsIDB4MWQsIDB4ODEsIDB4NjgsIDB4MzAsIDB4ZTEsIDB4ZmEsIDB4NzAsIDB4NmMsIDB4MTMsIDB4NGUsIDB4MTAsIFwKLSAgICAgICAgMHgwMywgMHgzNSwgMHgzZSwgMHhjNSwgMHhjYSwgMHg1OCwgMHgyMCwgMHg4YSwgMHgyMSwgMHgxOCwgMHgzOCwgMHhhMCwgXAotICAgICAgICAweDBmLCAweGVkLCAweGM0LCAweGJiLCAweDQ1LCAweDZmLCAweGY1LCAweDg0LCAweDViLCAweGIwLCAweGNmLCAweDRlLCBcCi0gICAgICAgIDB4OWQsIDB4NTgsIDB4MTMsIDB4NmIsIDB4MzUsIDB4MzUsIDB4NjksIDB4YTEsIDB4ZDIsIDB4YzQsIDB4ZjIsIDB4YzEsIFwKLSAgICAgICAgMHg0OCwgMHgwNCwgMHgyMCwgMHg1MSwgMHhiOSwgMHg2YiwgMHhhNCwgMHg1ZCwgMHhhNSwgMHg0YiwgMHg4NCwgMHg4OCwgXAotICAgICAgICAweDQzLCAweDQ4LCAweDk5LCAweDJjLCAweGJiLCAweGE0LCAweDk3LCAweGQ2LCAweGQ2LCAweDE4LCAweGY2LCAweGVjLCBcCi0gICAgICAgIDB4NWMsIDB4ZDEsIDB4MzEsIDB4NDksIDB4YzksIDB4ZjIsIDB4OGYsIDB4MGIsIDB4NGQsIDB4ZWYsIDB4MDksIDB4MDIsIFwKLSAgICAgICAgMHhmZSwgMHg3ZCwgMHhmZCwgMHhiYiwgMHhhZiwgMHgyYiwgMHg4MywgMHg5NCwgMHgyMiwgMHhjNCwgMHhhNywgMHgzZSwgXAotICAgICAgICAweDY2LCAweGY1LCAweGUwLCAweDU3LCAweGRjLCAweGYyLCAweGVkLCAweDJjLCAweDNlLCAweDgxLCAweDc0LCAweDc2LCBcCi0gICAgICAgIDB4MWUsIDB4OTYsIDB4NmYsIDB4NzQsIDB4MWUsIDB4MzIsIDB4MGUsIDB4MTQsIDB4MzEsIDB4ZDAsIDB4NzQsIDB4ZjAsIFwKLSAgICAgICAgMHhmNCwgMHgwNywgMHhiZCwgMHhjMywgMHhkMSwgMHgyMiwgMHhjMiwgMHhhOCwgMHg5NSwgMHg5MiwgMHgwNiwgMHg3ZiwgXAotICAgICAgICAweDQzLCAweDAyLCAweDkxLCAweGJjLCAweGRkLCAweDIzLCAweDAxLCAweDg5LCAweDk0LCAweDIwLCAweDQ0LCAweDY0LCBcCi0gICAgICAgIDB4ZjUsIDB4MWQsIDB4NjcsIDB4ZDIsIDB4OGYsIDB4ZTgsIDB4NjksIDB4YTUsIDB4MjksIDB4MjUsIDB4ZTYsIDB4NTAsIFwKLSAgICAgICAgMHg5YywgMHhlMywgMHhlOSwgMHhjYiwgMHg3NSwgMHgwMiwgMHg4MSwgMHg4MSwgMHgwMCwgMHhlMiwgMHgyOSwgMHgzZSwgXAotICAgICAgICAweGFhLCAweDZiLCAweGQ1LCAweDU5LCAweDFlLCAweDljLCAweGU2LCAweDQ3LCAweGQ1LCAweGI2LCAweGQ3LCAweGUzLCBcCi0gICAgICAgIDB4ZjEsIDB4OGUsIDB4OWUsIDB4ZTksIDB4ODMsIDB4NWYsIDB4MTAsIDB4OWYsIDB4NjMsIDB4ZWMsIDB4MDQsIDB4NDQsIFwKLSAgICAgICAgMHhjYywgMHgzZiwgMHhmOCwgMHhkOSwgMHgzYSwgMHgxNywgMHhlMCwgMHg0ZiwgMHhmZSwgMHhkOCwgMHg0ZCwgMHhjZCwgXAotICAgICAgICAweDQ2LCAweDU0LCAweDc0LCAweGJmLCAweDBhLCAweGM0LCAweDY3LCAweDljLCAweGE3LCAweGQ4LCAweDg5LCAweDY1LCBcCi0gICAgICAgIDB4NGMsIDB4ZmQsIDB4NTgsIDB4MmEsIDB4NDcsIDB4MGYsIDB4ZjQsIDB4MzcsIDB4YjYsIDB4NTUsIDB4YjAsIDB4MWQsIFwKLSAgICAgICAgMHhlZCwgMHhhNywgMHgzOSwgMHhmYywgMHg0ZiwgMHhhMywgMHhjNCwgMHg3NSwgMHgzYSwgMHhhMywgMHg5OCwgMHhhNywgXAotICAgICAgICAweDQ1LCAweGY1LCAweDY2LCAweGNiLCAweDdjLCAweDY1LCAweGZiLCAweDgwLCAweDIzLCAweGU2LCAweGZmLCAweGZkLCBcCi0gICAgICAgIDB4OTksIDB4MWYsIDB4OGUsIDB4NmIsIDB4ZmYsIDB4NWUsIDB4OTMsIDB4NjYsIDB4ZGYsIDB4NmMsIDB4NmYsIDB4YzMsIFwKLSAgICAgICAgMHhmNiwgMHgzOCwgMHgyZSwgMHhmZiwgMHg2OSwgMHhiNSwgMHhhYywgMHhhZSwgMHhiYiwgMHhjNiwgMHg3MSwgMHgxNiwgXAotICAgICAgICAweDZiLCAweGQwLCAweGY4LCAweDIyLCAweGQ5LCAweGY4LCAweGEyLCAweDcyLCAweDIwLCAweGQyLCAweGUyLCAweDNhLCBcCi0gICAgICAgIDB4NzAsIDB4NGIsIDB4ZGUsIDB4YWIsIDB4MmYsIDB4MDIsIDB4ODEsIDB4ODEsIDB4MDAsIDB4ZGEsIDB4NTEsIDB4OWIsIFwKLSAgICAgICAgMHhiOCwgMHhiMiwgMHgyYSwgMHgxNCwgMHg3NSwgMHg1OCwgMHg0MCwgMHg4ZCwgMHgyNywgMHg3MCwgMHhmYSwgMHgzMSwgXAotICAgICAgICAweDQ4LCAweGIwLCAweDIwLCAweDIxLCAweDM0LCAweGZhLCAweDRjLCAweDU3LCAweGE4LCAweDExLCAweDg4LCAweGYzLCBcCi0gICAgICAgIDB4YTcsIDB4YWUsIDB4MjEsIDB4ZTksIDB4YjYsIDB4MmIsIDB4ZDEsIDB4Y2QsIDB4YTcsIDB4ZjgsIDB4ZDgsIDB4MGMsIFwKLSAgICAgICAgMHg4YSwgMHg3NiwgMHgyMiwgMHgzNSwgMHg0NCwgMHhjZSwgMHgzZiwgMHgyNSwgMHgyOSwgMHg4MywgMHg3ZCwgMHg3OSwgXAotICAgICAgICAweGE3LCAweDMxLCAweGQ2LCAweGVjLCAweGIyLCAweGJmLCAweGRhLCAweDM0LCAweGI2LCAweGY2LCAweGIyLCAweDNiLCBcCi0gICAgICAgIDB4ZjMsIDB4NzgsIDB4NWEsIDB4MDQsIDB4ODMsIDB4MzMsIDB4M2UsIDB4YTIsIDB4ZTIsIDB4ODEsIDB4ODIsIDB4MTMsIFwKLSAgICAgICAgMHhkNCwgMHgzNSwgMHgxNywgMHg2MywgMHg5YiwgMHg5ZSwgMHhjNCwgMHg4ZCwgMHg5MSwgMHg0YywgMHgwMywgMHg3NywgXAotICAgICAgICAweGM3LCAweDcxLCAweDViLCAweGVlLCAweDgzLCAweDZkLCAweGQ1LCAweDc4LCAweDg4LCAweGY2LCAweDJjLCAweDc5LCBcCi0gICAgICAgIDB4YzIsIDB4NGEsIDB4YjQsIDB4NzksIDB4OTAsIDB4NzAsIDB4YmYsIDB4ZGYsIDB4MzQsIDB4NTYsIDB4OTYsIDB4NzEsIFwKLSAgICAgICAgMHhlMywgMHgwZSwgMHg2OCwgMHg5MSwgMHhiYywgMHhlYSwgMHhjYiwgMHgzMywgMHhjMCwgMHhiZSwgMHg0NSwgMHhkNywgXAotICAgICAgICAweGZjLCAweDMwLCAweGZkLCAweDAxLCAweDNiLCAweDAyLCAweDgxLCAweDgxLCAweDAwLCAweGQyLCAweDlmLCAweDJhLCBcCi0gICAgICAgIDB4YjcsIDB4MzgsIDB4MTksIDB4YzcsIDB4MTcsIDB4OTUsIDB4NzMsIDB4NzgsIDB4YWUsIDB4ZjUsIDB4Y2IsIDB4NzUsIFwKLSAgICAgICAgMHg4MywgMHg3ZiwgMHgxOSwgMHg0YiwgMHhjYiwgMHg4NiwgMHhmYiwgMHg0YSwgMHgxNSwgMHg5YSwgMHhiNiwgMHgxNywgXAotICAgICAgICAweDA0LCAweDQ5LCAweDA3LCAweDhkLCAweGY2LCAweDY2LCAweDRhLCAweDA2LCAweGY2LCAweDA1LCAweGE3LCAweGRmLCBcCi0gICAgICAgIDB4NjYsIDB4ODIsIDB4M2MsIDB4ZmYsIDB4YjYsIDB4MWQsIDB4NTcsIDB4ODksIDB4MzMsIDB4NWYsIDB4OWMsIDB4MDUsIFwKLSAgICAgICAgMHg3NSwgMHg3ZiwgMHhmMywgMHg1ZCwgMHhkYywgMHgzNCwgMHg2NSwgMHg3MiwgMHg4NSwgMHgyMiwgMHhhNCwgMHgxNCwgXAotICAgICAgICAweDFiLCAweDQxLCAweGMzLCAweGU0LCAweGQwLCAweDllLCAweDY5LCAweGQ1LCAweGViLCAweDM4LCAweDc0LCAweDcwLCBcCi0gICAgICAgIDB4NDMsIDB4ZGMsIDB4ZDksIDB4NTAsIDB4ZTQsIDB4OTcsIDB4NmQsIDB4NzMsIDB4ZDYsIDB4ZmIsIDB4YzgsIDB4YTcsIFwKLSAgICAgICAgMHhmYSwgMHhiNCwgMHhjMiwgMHhjNCwgMHg5ZCwgMHg1ZCwgMHgwYywgMHhkNSwgMHg5ZiwgMHg3OSwgMHhiMywgMHg1NCwgXAotICAgICAgICAweGMyLCAweGI3LCAweDZjLCAweDNkLCAweDdkLCAweGNiLCAweDJkLCAweGY4LCAweGM0LCAweGYzLCAweDc4LCAweDVhLCBcCi0gICAgICAgIDB4MzMsIDB4MmEsIDB4YjgsIDB4MGMsIDB4NmQsIDB4MDYsIDB4ZmEsIDB4ZjIsIDB4NjIsIDB4ZDMsIDB4NDIsIDB4ZDAsIFwKLSAgICAgICAgMHhiZCwgMHhjOCwgMHg0YSwgMHhhNSwgMHgwZCwgMHgwMiwgMHg4MSwgMHg4MSwgMHgwMCwgMHhkNCwgMHhhOSwgMHg5MCwgXAotICAgICAgICAweDE1LCAweGRlLCAweGJmLCAweDJjLCAweGM0LCAweDhkLCAweDlkLCAweGZiLCAweGExLCAweGMyLCAweGU0LCAweDgzLCBcCi0gICAgICAgIDB4ZTMsIDB4NzksIDB4NjUsIDB4MjIsIDB4ZDMsIDB4YjcsIDB4NDksIDB4NmMsIDB4NGQsIDB4OTQsIDB4MWYsIDB4MjIsIFwKLSAgICAgICAgMHhiMSwgMHg2MCwgMHhlNywgMHgzYSwgMHgwMCwgMHhiMSwgMHgzOCwgMHhhMiwgMHhhYiwgMHgwZiwgMHhiNCwgMHg2YywgXAotICAgICAgICAweGFhLCAweGU3LCAweDllLCAweDM0LCAweGUzLCAweDdjLCAweDQwLCAweDc4LCAweDUzLCAweGIyLCAweGY5LCAweDIzLCBcCi0gICAgICAgIDB4ZWEsIDB4YTAsIDB4OWEsIDB4ZWEsIDB4NjAsIDB4YzgsIDB4OGYsIDB4YTYsIDB4YWYsIDB4ZGYsIDB4MjksIDB4MDksIFwKLSAgICAgICAgMHg0YiwgMHgwNiwgMHgxZSwgMHgzMSwgMHhhZCwgMHgxNywgMHhkYSwgMHhkOCwgMHhkMSwgMHhlOSwgMHgzMywgMHhhYiwgXAotICAgICAgICAweDViLCAweDE4LCAweDA4LCAweDViLCAweDg3LCAweGY4LCAweGE1LCAweDFmLCAweGZkLCAweGJiLCAweGRjLCAweGQ4LCBcCi0gICAgICAgIDB4ZWQsIDB4OTcsIDB4NTcsIDB4ZTQsIDB4YzMsIDB4NzMsIDB4ZDYsIDB4ZjAsIDB4OWUsIDB4MDEsIDB4YTYsIDB4OWIsIFwKLSAgICAgICAgMHg0OCwgMHg4ZSwgMHg3YSwgMHhiNCwgMHhiYiwgMHhlNSwgMHg4OCwgMHg5MSwgMHhjNSwgMHgyYSwgMHhkZiwgMHg0YiwgXAotICAgICAgICAweGJhLCAweGQwLCAweDhiLCAweDNlLCAweDAzLCAweDk3LCAweDc3LCAweDJmLCAweDQ3LCAweDdlLCAweDUxLCAweDBjLCBcCi0gICAgICAgIDB4YWUsIDB4NjUsIDB4OGQsIDB4ZGUsIDB4ODcsIDB4MDIsIDB4ODEsIDB4ODAsIDB4MjAsIDB4MjQsIDB4MGYsIDB4ZDIsIFwKLSAgICAgICAgMHhhZiwgMHhjMiwgMHgyOCwgMHgzYiwgMHg5NywgMHgyMCwgMHhiMiwgMHg5MiwgMHg0OSwgMHhlYiwgMHgwOSwgMHg2OCwgXAotICAgICAgICAweDQwLCAweGIyLCAweGJlLCAweGQxLCAweGMzLCAweDgzLCAweDk0LCAweDM0LCAweDM4LCAweGQ2LCAweGM5LCAweGVjLCBcCi0gICAgICAgIDB4MzQsIDB4MDksIDB4ZjksIDB4NDEsIDB4NmQsIDB4NWMsIDB4NDIsIDB4OTQsIDB4ZjcsIDB4MDQsIDB4ZmMsIDB4MzIsIFwKLSAgICAgICAgMHgzOSwgMHg2OSwgMHhiYywgMHgxYywgMHhmYiwgMHgzZSwgMHg2MSwgMHg5OCwgMHhjMCwgMHg4MCwgMHhkOCwgMHgzNiwgXAotICAgICAgICAweDQ3LCAweGMzLCAweDZkLCAweGMyLCAweDJlLCAweGU3LCAweDgxLCAweDJhLCAweDE3LCAweDM0LCAweDY0LCAweDMwLCBcCi0gICAgICAgIDB4NGUsIDB4OTYsIDB4YmIsIDB4MjYsIDB4MTYsIDB4YjksIDB4NDEsIDB4MzYsIDB4ZmUsIDB4OGEsIDB4ZDYsIDB4NTMsIFwKLSAgICAgICAgMHg3YywgMHhhYSwgMHhlYywgMHgzOSwgMHg0MiwgMHg1MCwgMHhlZiwgMHhlMywgMHhiMywgMHgwMSwgMHgyOCwgMHgzMiwgXAotICAgICAgICAweGNhLCAweDZkLCAweGY1LCAweDlhLCAweDFlLCAweDlmLCAweDM3LCAweGJlLCAweGZlLCAweDM4LCAweDIwLCAweDIyLCBcCi0gICAgICAgIDB4OTEsIDB4OGMsIDB4Y2QsIDB4OTUsIDB4MDIsIDB4ZjIsIDB4NGQsIDB4NmYsIDB4MWEsIDB4YjQsIDB4NDMsIDB4ZjAsIFwKLSAgICAgICAgMHgxOSwgMHhkZiwgMHg2NSwgMHhjMCwgMHg5MiwgMHhlNywgMHg5ZCwgMHgyZiwgMHgwOSwgMHhlNywgMHhlYywgMHg2OSwgXAotICAgICAgICAweGE4LCAweGMyLCAweDhmLCAweDBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19Ci0vKiBFTkQgRklMRSAqLwotCi0vKiBUaGlzIGlzIHRha2VuIGZyb20gc2VydmVyNS5jcnQuICovCi0vKiBCRUdJTiBGSUxFIHN0cmluZyBtYWNybyBURVNUX1NSVl9DUlRfRUNfUEVNIHNlcnZlcjUuY3J0ICovCi0jZGVmaW5lIFRFU1RfU1JWX0NSVF9FQ19QRU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiTUlJQ0lEQ0NBYVdnQXdJQkFnSUJDVEFLQmdncWhrak9QUVFEQWpBK01Rc3dDUVlEVlFRR0V3Sk9UREVSTUE4R1xyXG4iICAgICBcCi0gICAgIkExVUVDZ3dJVUc5c1lYSlRVMHd4SERBYUJnTlZCQU1NRTFCdmJHRnljM05zSUZSbGMzUWdSVU1nUTBFd0hoY05cclxuIiAgICAgXAotICAgICJNak13TlRFM01EY3hNRE0yV2hjTk16TXdOVEUwTURjeE1ETTJXakEwTVFzd0NRWURWUVFHRXdKT1RERVJNQThHXHJcbiIgICAgIFwKLSAgICAiQTFVRUNnd0lVRzlzWVhKVFUwd3hFakFRQmdOVkJBTU1DV3h2WTJGc2FHOXpkREJaTUJNR0J5cUdTTTQ5QWdFR1xyXG4iICAgICBcCi0gICAgIkNDcUdTTTQ5QXdFSEEwSUFCRGZNVnRsMkNSNWFjajdIV1MzL0lHN3VmUGtHa1hUUXJSUzE5MmdpV1dLU1R1VUFcclxuIiAgICAgXAotICAgICIyQ01SLytvdjBqUmRYUmE5aW9qQ2EzY05WYzJLS2c3NkFjaTA3ZitqZ1owd2dab3dDUVlEVlIwVEJBSXdBREFkXHJcbiIgICAgIFwKLSAgICAiQmdOVkhRNEVGZ1FVVUdHbGo5UUgyZGVDQVF6bFpYK01ZMGFuRTc0d2JnWURWUjBqQkdjd1pZQVVuVzBnSkVrQlxyXG4iICAgICBcCi0gICAgIlB5dkxlTFVadkg0a3lkdjdObnloUXFSQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd0R3WURWUVFLREFoUWIyeGhcclxuIiAgICAgXAotICAgICJjbE5UVERFY01Cb0dBMVVFQXd3VFVHOXNZWEp6YzJ3Z1ZHVnpkQ0JGUXlCRFFZSUpBTUZENG41aVE4em9NQW9HXHJcbiIgICAgIFwKLSAgICAiQ0NxR1NNNDlCQU1DQTJrQU1HWUNNUURnNnA3UFBmcjIrbjduR3Z5YTNwVTR1c3QzazdPYms0L3RaWCt1SEhSUVxyXG4iICAgICBcCi0gICAgInFhY2NzeVVMZUZOemt5UnZXSEZlVDVzQ01RQ3pESlg3OUlpN2hJTFl6YS9pWFdKZS9CakpFRThNdGVDUkdYRE5cclxuIiAgICAgXAotICAgICIwNmpDK0JMZ09IMUtRVjlBcnFFaDNBaE9oRWc9XHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLVxyXG4iCi0vKiBFTkQgRklMRSAqLwotCi0vKiBUaGlzIGlzIGdlbmVyYXRlZCBmcm9tIHNlcnZlcjUuY3J0LmRlci4gKi8KLS8qIEJFR0lOIEZJTEUgYmluYXJ5IG1hY3JvIFRFU1RfU1JWX0NSVF9FQ19ERVIgc2VydmVyNS5jcnQuZGVyICovCi0jZGVmaW5lIFRFU1RfU1JWX0NSVF9FQ19ERVIgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgMHgzMCwgMHg4MiwgMHgwMiwgMHgyMCwgMHgzMCwgMHg4MiwgMHgwMSwgMHhhNSwgMHhhMCwgMHgwMywgMHgwMiwgMHgwMSwgXAotICAgICAgICAweDAyLCAweDAyLCAweDAxLCAweDA5LCAweDMwLCAweDBhLCAweDA2LCAweDA4LCAweDJhLCAweDg2LCAweDQ4LCAweGNlLCBcCi0gICAgICAgIDB4M2QsIDB4MDQsIDB4MDMsIDB4MDIsIDB4MzAsIDB4M2UsIDB4MzEsIDB4MGIsIDB4MzAsIDB4MDksIDB4MDYsIDB4MDMsIFwKLSAgICAgICAgMHg1NSwgMHgwNCwgMHgwNiwgMHgxMywgMHgwMiwgMHg0ZSwgMHg0YywgMHgzMSwgMHgxMSwgMHgzMCwgMHgwZiwgMHgwNiwgXAotICAgICAgICAweDAzLCAweDU1LCAweDA0LCAweDBhLCAweDBjLCAweDA4LCAweDUwLCAweDZmLCAweDZjLCAweDYxLCAweDcyLCAweDUzLCBcCi0gICAgICAgIDB4NTMsIDB4NGMsIDB4MzEsIDB4MWMsIDB4MzAsIDB4MWEsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIDB4MDMsIDB4MGMsIFwKLSAgICAgICAgMHgxMywgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg3MywgMHg3MywgMHg2YywgMHgyMCwgMHg1NCwgMHg2NSwgXAotICAgICAgICAweDczLCAweDc0LCAweDIwLCAweDQ1LCAweDQzLCAweDIwLCAweDQzLCAweDQxLCAweDMwLCAweDFlLCAweDE3LCAweDBkLCBcCi0gICAgICAgIDB4MzIsIDB4MzMsIDB4MzAsIDB4MzUsIDB4MzEsIDB4MzcsIDB4MzAsIDB4MzcsIDB4MzEsIDB4MzAsIDB4MzMsIDB4MzYsIFwKLSAgICAgICAgMHg1YSwgMHgxNywgMHgwZCwgMHgzMywgMHgzMywgMHgzMCwgMHgzNSwgMHgzMSwgMHgzNCwgMHgzMCwgMHgzNywgMHgzMSwgXAotICAgICAgICAweDMwLCAweDMzLCAweDM2LCAweDVhLCAweDMwLCAweDM0LCAweDMxLCAweDBiLCAweDMwLCAweDA5LCAweDA2LCAweDAzLCBcCi0gICAgICAgIDB4NTUsIDB4MDQsIDB4MDYsIDB4MTMsIDB4MDIsIDB4NGUsIDB4NGMsIDB4MzEsIDB4MTEsIDB4MzAsIDB4MGYsIDB4MDYsIFwKLSAgICAgICAgMHgwMywgMHg1NSwgMHgwNCwgMHgwYSwgMHgwYywgMHgwOCwgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg1MywgXAotICAgICAgICAweDUzLCAweDRjLCAweDMxLCAweDEyLCAweDMwLCAweDEwLCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDAzLCAweDBjLCBcCi0gICAgICAgIDB4MDksIDB4NmMsIDB4NmYsIDB4NjMsIDB4NjEsIDB4NmMsIDB4NjgsIDB4NmYsIDB4NzMsIDB4NzQsIDB4MzAsIDB4NTksIFwKLSAgICAgICAgMHgzMCwgMHgxMywgMHgwNiwgMHgwNywgMHgyYSwgMHg4NiwgMHg0OCwgMHhjZSwgMHgzZCwgMHgwMiwgMHgwMSwgMHgwNiwgXAotICAgICAgICAweDA4LCAweDJhLCAweDg2LCAweDQ4LCAweGNlLCAweDNkLCAweDAzLCAweDAxLCAweDA3LCAweDAzLCAweDQyLCAweDAwLCBcCi0gICAgICAgIDB4MDQsIDB4MzcsIDB4Y2MsIDB4NTYsIDB4ZDksIDB4NzYsIDB4MDksIDB4MWUsIDB4NWEsIDB4NzIsIDB4M2UsIDB4YzcsIFwKLSAgICAgICAgMHg1OSwgMHgyZCwgMHhmZiwgMHgyMCwgMHg2ZSwgMHhlZSwgMHg3YywgMHhmOSwgMHgwNiwgMHg5MSwgMHg3NCwgMHhkMCwgXAotICAgICAgICAweGFkLCAweDE0LCAweGI1LCAweGY3LCAweDY4LCAweDIyLCAweDU5LCAweDYyLCAweDkyLCAweDRlLCAweGU1LCAweDAwLCBcCi0gICAgICAgIDB4ZDgsIDB4MjMsIDB4MTEsIDB4ZmYsIDB4ZWEsIDB4MmYsIDB4ZDIsIDB4MzQsIDB4NWQsIDB4NWQsIDB4MTYsIDB4YmQsIFwKLSAgICAgICAgMHg4YSwgMHg4OCwgMHhjMiwgMHg2YiwgMHg3NywgMHgwZCwgMHg1NSwgMHhjZCwgMHg4YSwgMHgyYSwgMHgwZSwgMHhmYSwgXAotICAgICAgICAweDAxLCAweGM4LCAweGI0LCAweGVkLCAweGZmLCAweGEzLCAweDgxLCAweDlkLCAweDMwLCAweDgxLCAweDlhLCAweDMwLCBcCi0gICAgICAgIDB4MDksIDB4MDYsIDB4MDMsIDB4NTUsIDB4MWQsIDB4MTMsIDB4MDQsIDB4MDIsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MWQsIFwKLSAgICAgICAgMHgwNiwgMHgwMywgMHg1NSwgMHgxZCwgMHgwZSwgMHgwNCwgMHgxNiwgMHgwNCwgMHgxNCwgMHg1MCwgMHg2MSwgMHhhNSwgXAotICAgICAgICAweDhmLCAweGQ0LCAweDA3LCAweGQ5LCAweGQ3LCAweDgyLCAweDAxLCAweDBjLCAweGU1LCAweDY1LCAweDdmLCAweDhjLCBcCi0gICAgICAgIDB4NjMsIDB4NDYsIDB4YTcsIDB4MTMsIDB4YmUsIDB4MzAsIDB4NmUsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MWQsIDB4MjMsIFwKLSAgICAgICAgMHgwNCwgMHg2NywgMHgzMCwgMHg2NSwgMHg4MCwgMHgxNCwgMHg5ZCwgMHg2ZCwgMHgyMCwgMHgyNCwgMHg0OSwgMHgwMSwgXAotICAgICAgICAweDNmLCAweDJiLCAweGNiLCAweDc4LCAweGI1LCAweDE5LCAweGJjLCAweDdlLCAweDI0LCAweGM5LCAweGRiLCAweGZiLCBcCi0gICAgICAgIDB4MzYsIDB4N2MsIDB4YTEsIDB4NDIsIDB4YTQsIDB4NDAsIDB4MzAsIDB4M2UsIDB4MzEsIDB4MGIsIDB4MzAsIDB4MDksIFwKLSAgICAgICAgMHgwNiwgMHgwMywgMHg1NSwgMHgwNCwgMHgwNiwgMHgxMywgMHgwMiwgMHg0ZSwgMHg0YywgMHgzMSwgMHgxMSwgMHgzMCwgXAotICAgICAgICAweDBmLCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDBhLCAweDBjLCAweDA4LCAweDUwLCAweDZmLCAweDZjLCAweDYxLCBcCi0gICAgICAgIDB4NzIsIDB4NTMsIDB4NTMsIDB4NGMsIDB4MzEsIDB4MWMsIDB4MzAsIDB4MWEsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIFwKLSAgICAgICAgMHgwMywgMHgwYywgMHgxMywgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg3MywgMHg3MywgMHg2YywgMHgyMCwgXAotICAgICAgICAweDU0LCAweDY1LCAweDczLCAweDc0LCAweDIwLCAweDQ1LCAweDQzLCAweDIwLCAweDQzLCAweDQxLCAweDgyLCAweDA5LCBcCi0gICAgICAgIDB4MDAsIDB4YzEsIDB4NDMsIDB4ZTIsIDB4N2UsIDB4NjIsIDB4NDMsIDB4Y2MsIDB4ZTgsIDB4MzAsIDB4MGEsIDB4MDYsIFwKLSAgICAgICAgMHgwOCwgMHgyYSwgMHg4NiwgMHg0OCwgMHhjZSwgMHgzZCwgMHgwNCwgMHgwMywgMHgwMiwgMHgwMywgMHg2OSwgMHgwMCwgXAotICAgICAgICAweDMwLCAweDY2LCAweDAyLCAweDMxLCAweDAwLCAweGUwLCAweGVhLCAweDllLCAweGNmLCAweDNkLCAweGZhLCAweGY2LCBcCi0gICAgICAgIDB4ZmEsIDB4N2UsIDB4ZTcsIDB4MWEsIDB4ZmMsIDB4OWEsIDB4ZGUsIDB4OTUsIDB4MzgsIDB4YmEsIDB4Y2IsIDB4NzcsIFwKLSAgICAgICAgMHg5MywgMHhiMywgMHg5YiwgMHg5MywgMHg4ZiwgMHhlZCwgMHg2NSwgMHg3ZiwgMHhhZSwgMHgxYywgMHg3NCwgMHg1MCwgXAotICAgICAgICAweGE5LCAweGE3LCAweDFjLCAweGIzLCAweDI1LCAweDBiLCAweDc4LCAweDUzLCAweDczLCAweDkzLCAweDI0LCAweDZmLCBcCi0gICAgICAgIDB4NTgsIDB4NzEsIDB4NWUsIDB4NGYsIDB4OWIsIDB4MDIsIDB4MzEsIDB4MDAsIDB4YjMsIDB4MGMsIDB4OTUsIDB4ZmIsIFwKLSAgICAgICAgMHhmNCwgMHg4OCwgMHhiYiwgMHg4NCwgMHg4MiwgMHhkOCwgMHhjZCwgMHhhZiwgMHhlMiwgMHg1ZCwgMHg2MiwgMHg1ZSwgXAotICAgICAgICAweGZjLCAweDE4LCAweGM5LCAweDEwLCAweDRmLCAweDBjLCAweGI1LCAweGUwLCAweDkxLCAweDE5LCAweDcwLCAweGNkLCBcCi0gICAgICAgIDB4ZDMsIDB4YTgsIDB4YzIsIDB4ZjgsIDB4MTIsIDB4ZTAsIDB4MzgsIDB4N2QsIDB4NGEsIDB4NDEsIDB4NWYsIDB4NDAsIFwKLSAgICAgICAgMHhhZSwgMHhhMSwgMHgyMSwgMHhkYywgMHgwOCwgMHg0ZSwgMHg4NCwgMHg0OCAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotLyogRU5EIEZJTEUgKi8KLQotLyogVGhpcyBpcyB0YWtlbiBmcm9tIHNlcnZlcjUua2V5LiAqLwotLyogQkVHSU4gRklMRSBzdHJpbmcgbWFjcm8gVEVTVF9TUlZfS0VZX0VDX1BFTSBzZXJ2ZXI1LmtleSAqLwotI2RlZmluZSBURVNUX1NSVl9LRVlfRUNfUEVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tXHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIk1IY0NBUUVFSVBFcUV5QjJBbkNvUEwvOVUvWURIdmRxWFliSW9nVHl3d3lwNi9VZkR3Nm5vQW9HQ0NxR1NNNDlcclxuIiAgICAgXAotICAgICJBd0VIb1VRRFFnQUVOOHhXMlhZSkhscHlQc2RaTGY4Z2J1NTgrUWFSZE5DdEZMWDNhQ0paWXBKTzVRRFlJeEgvXHJcbiIgICAgIFwKLSAgICAiNmkvU05GMWRGcjJLaU1KcmR3MVZ6WW9xRHZvQnlMVHQvdz09XHJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS1cclxuIgotLyogRU5EIEZJTEUgKi8KLQotLyogVGhpcyBpcyBnZW5lcmF0ZWQgZnJvbSBzZXJ2ZXI1LmtleS5kZXIuICovCi0vKiBCRUdJTiBGSUxFIGJpbmFyeSBtYWNybyBURVNUX1NSVl9LRVlfRUNfREVSIHNlcnZlcjUua2V5LmRlciAqLwotI2RlZmluZSBURVNUX1NSVl9LRVlfRUNfREVSIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIDB4MzAsIDB4NzcsIDB4MDIsIDB4MDEsIDB4MDEsIDB4MDQsIDB4MjAsIDB4ZjEsIDB4MmEsIDB4MTMsIDB4MjAsIDB4NzYsIFwKLSAgICAgICAgMHgwMiwgMHg3MCwgMHhhOCwgMHgzYywgMHhiZiwgMHhmZCwgMHg1MywgMHhmNiwgMHgwMywgMHgxZSwgMHhmNywgMHg2YSwgXAotICAgICAgICAweDVkLCAweDg2LCAweGM4LCAweGEyLCAweDA0LCAweGYyLCAweGMzLCAweDBjLCAweGE5LCAweGViLCAweGY1LCAweDFmLCBcCi0gICAgICAgIDB4MGYsIDB4MGUsIDB4YTcsIDB4YTAsIDB4MGEsIDB4MDYsIDB4MDgsIDB4MmEsIDB4ODYsIDB4NDgsIDB4Y2UsIDB4M2QsIFwKLSAgICAgICAgMHgwMywgMHgwMSwgMHgwNywgMHhhMSwgMHg0NCwgMHgwMywgMHg0MiwgMHgwMCwgMHgwNCwgMHgzNywgMHhjYywgMHg1NiwgXAotICAgICAgICAweGQ5LCAweDc2LCAweDA5LCAweDFlLCAweDVhLCAweDcyLCAweDNlLCAweGM3LCAweDU5LCAweDJkLCAweGZmLCAweDIwLCBcCi0gICAgICAgIDB4NmUsIDB4ZWUsIDB4N2MsIDB4ZjksIDB4MDYsIDB4OTEsIDB4NzQsIDB4ZDAsIDB4YWQsIDB4MTQsIDB4YjUsIDB4ZjcsIFwKLSAgICAgICAgMHg2OCwgMHgyMiwgMHg1OSwgMHg2MiwgMHg5MiwgMHg0ZSwgMHhlNSwgMHgwMCwgMHhkOCwgMHgyMywgMHgxMSwgMHhmZiwgXAotICAgICAgICAweGVhLCAweDJmLCAweGQyLCAweDM0LCAweDVkLCAweDVkLCAweDE2LCAweGJkLCAweDhhLCAweDg4LCAweGMyLCAweDZiLCBcCi0gICAgICAgIDB4NzcsIDB4MGQsIDB4NTUsIDB4Y2QsIDB4OGEsIDB4MmEsIDB4MGUsIDB4ZmEsIDB4MDEsIDB4YzgsIDB4YjQsIDB4ZWQsIFwKLSAgICAgICAgMHhmZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotLyogRU5EIEZJTEUgKi8KLQotLyogVGhpcyBpcyB0YWtlbiBmcm9tIHNlcnZlcjItc2hhMjU2LmNydC4gKi8KLS8qIEJFR0lOIEZJTEUgc3RyaW5nIG1hY3JvIFRFU1RfU1JWX0NSVF9SU0FfU0hBMjU2X1BFTSBzZXJ2ZXIyLXNoYTI1Ni5jcnQgKi8KLSNkZWZpbmUgVEVTVF9TUlZfQ1JUX1JTQV9TSEEyNTZfUEVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxyXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJNSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSXHJcbiIgICAgIFwKLSAgICAiTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTlxyXG4iICAgICBcCi0gICAgIk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdcclxuIiAgICAgXAotICAgICJBMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOXHJcbiIgICAgIFwKLSAgICAiQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTlxyXG4iICAgICBcCi0gICAgIm93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3pcclxuIiAgICAgXAotICAgICJOdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNXHJcbiIgICAgIFwKLSAgICAidFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UFxyXG4iICAgICBcCi0gICAgImhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWFcclxuIiAgICAgXAotICAgICJIVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlEXHJcbiIgICAgIFwKLSAgICAiVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJnd1xyXG4iICAgICBcCi0gICAgIkZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUM0NjVGSmhcclxuIiAgICAgXAotICAgICJQcWVsN3pKbmdISUhKcnFqL3dWQXhHQUZPVEYzOTZYS0FUR0FwK0hSQ3FKODFSeTYwQ05LMWpEems4ZHY2TTZVXHJcbiIgICAgIFwKLSAgICAiSG9TN1JJRmlNLzlyWFFDYkpmaVBENXhNVGVqWnA1bjVVWUhBbXhzeERhYXpmQTVGdUJoa2Zva0tLNmpENEVxOVxyXG4iICAgICBcCi0gICAgIjFDOTR4R0tiNlg0L1ZrYVBGN2Nxb0JCdy9iSHhhd1hjMFVFUGpxYXlpQnBDWVUvckpvVlpnTHFGVlA3UHgzc3ZcclxuIiAgICAgXAotICAgICJhMW5Pck54OHJQUEkxaEorWk9nOG1haVBUeEhabkJWTGFrU1NMUXkvc1dlV3lhek8xUm5yYnhqcmJnUXRZS3owXHJcbiIgICAgIFwKLSAgICAiZTNud0dwdTF3MTN2ZmNrRm1VU0JoSFhIN0FBUy9IcEtDNElIN0cyR0FrMytuOGlTU043MXNaenB4b25Rd1Zib1xyXG4iICAgICBcCi0gICAgInBNWnFMbWJCbS83V1BMYz1cclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tXHJcbiIKLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgZ2VuZXJhdGVkIGZyb20gc2VydmVyMi1zaGEyNTYuY3J0LmRlci4gKi8KLS8qIEJFR0lOIEZJTEUgYmluYXJ5IG1hY3JvIFRFU1RfU1JWX0NSVF9SU0FfU0hBMjU2X0RFUiBzZXJ2ZXIyLXNoYTI1Ni5jcnQuZGVyICovCi0jZGVmaW5lIFRFU1RfU1JWX0NSVF9SU0FfU0hBMjU2X0RFUiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgMHgzMCwgMHg4MiwgMHgwMywgMHgzNywgMHgzMCwgMHg4MiwgMHgwMiwgMHgxZiwgMHhhMCwgMHgwMywgMHgwMiwgMHgwMSwgXAotICAgICAgICAweDAyLCAweDAyLCAweDAxLCAweDAyLCAweDMwLCAweDBkLCAweDA2LCAweDA5LCAweDJhLCAweDg2LCAweDQ4LCAweDg2LCBcCi0gICAgICAgIDB4ZjcsIDB4MGQsIDB4MDEsIDB4MDEsIDB4MGIsIDB4MDUsIDB4MDAsIDB4MzAsIDB4M2IsIDB4MzEsIDB4MGIsIDB4MzAsIFwKLSAgICAgICAgMHgwOSwgMHgwNiwgMHgwMywgMHg1NSwgMHgwNCwgMHgwNiwgMHgxMywgMHgwMiwgMHg0ZSwgMHg0YywgMHgzMSwgMHgxMSwgXAotICAgICAgICAweDMwLCAweDBmLCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDBhLCAweDBjLCAweDA4LCAweDUwLCAweDZmLCAweDZjLCBcCi0gICAgICAgIDB4NjEsIDB4NzIsIDB4NTMsIDB4NTMsIDB4NGMsIDB4MzEsIDB4MTksIDB4MzAsIDB4MTcsIDB4MDYsIDB4MDMsIDB4NTUsIFwKLSAgICAgICAgMHgwNCwgMHgwMywgMHgwYywgMHgxMCwgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg1MywgMHg1MywgMHg0YywgXAotICAgICAgICAweDIwLCAweDU0LCAweDY1LCAweDczLCAweDc0LCAweDIwLCAweDQzLCAweDQxLCAweDMwLCAweDFlLCAweDE3LCAweDBkLCBcCi0gICAgICAgIDB4MzEsIDB4MzksIDB4MzAsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzEsIDB4MzQsIDB4MzQsIDB4MzQsIDB4MzAsIDB4MzYsIFwKLSAgICAgICAgMHg1YSwgMHgxNywgMHgwZCwgMHgzMiwgMHgzOSwgMHgzMCwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzMSwgMHgzNCwgMHgzNCwgXAotICAgICAgICAweDM0LCAweDMwLCAweDM2LCAweDVhLCAweDMwLCAweDM0LCAweDMxLCAweDBiLCAweDMwLCAweDA5LCAweDA2LCAweDAzLCBcCi0gICAgICAgIDB4NTUsIDB4MDQsIDB4MDYsIDB4MTMsIDB4MDIsIDB4NGUsIDB4NGMsIDB4MzEsIDB4MTEsIDB4MzAsIDB4MGYsIDB4MDYsIFwKLSAgICAgICAgMHgwMywgMHg1NSwgMHgwNCwgMHgwYSwgMHgwYywgMHgwOCwgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg1MywgXAotICAgICAgICAweDUzLCAweDRjLCAweDMxLCAweDEyLCAweDMwLCAweDEwLCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDAzLCAweDBjLCBcCi0gICAgICAgIDB4MDksIDB4NmMsIDB4NmYsIDB4NjMsIDB4NjEsIDB4NmMsIDB4NjgsIDB4NmYsIDB4NzMsIDB4NzQsIDB4MzAsIDB4ODIsIFwKLSAgICAgICAgMHgwMSwgMHgyMiwgMHgzMCwgMHgwZCwgMHgwNiwgMHgwOSwgMHgyYSwgMHg4NiwgMHg0OCwgMHg4NiwgMHhmNywgMHgwZCwgXAotICAgICAgICAweDAxLCAweDAxLCAweDAxLCAweDA1LCAweDAwLCAweDAzLCAweDgyLCAweDAxLCAweDBmLCAweDAwLCAweDMwLCAweDgyLCBcCi0gICAgICAgIDB4MDEsIDB4MGEsIDB4MDIsIDB4ODIsIDB4MDEsIDB4MDEsIDB4MDAsIDB4YzEsIDB4NGQsIDB4YTMsIDB4ZGQsIDB4ZTcsIFwKLSAgICAgICAgMHhjZCwgMHgxZCwgMHhkMSwgMHgwNCwgMHhkNywgMHg0OSwgMHg3MiwgMHhiOCwgMHg5OSwgMHhhYywgMHgwZSwgMHg3OCwgXAotICAgICAgICAweGU0LCAweDNhLCAweDNjLCAweDRhLCAweGNmLCAweDNhLCAweDEzLCAweDE2LCAweGQwLCAweDVhLCAweGU0LCAweGNkLCBcCi0gICAgICAgIDB4YTMsIDB4MDAsIDB4ODgsIDB4YTcsIDB4ZWUsIDB4MWUsIDB4NmIsIDB4OTYsIDB4YTcsIDB4NTIsIDB4YjQsIDB4OTAsIFwKLSAgICAgICAgMHhlZiwgMHgyZCwgMHg3MiwgMHg3YSwgMHgzZSwgMHgyNCwgMHg5YSwgMHhmYywgMHhiNiwgMHgzNCwgMHhhYywgMHgyNCwgXAotICAgICAgICAweGY1LCAweDc3LCAweGUwLCAweDI2LCAweDY0LCAweDhjLCAweDljLCAweGIwLCAweDI4LCAweDdkLCAweGExLCAweGRhLCBcCi0gICAgICAgIDB4ZWEsIDB4OGMsIDB4ZTYsIDB4YzksIDB4MWMsIDB4OTYsIDB4YmMsIDB4ZmUsIDB4YzEsIDB4MDQsIDB4NTIsIDB4YjMsIFwKLSAgICAgICAgMHgzNiwgMHhkNCwgMHhhMywgMHhmYSwgMHhlMSwgMHhiMSwgMHg3NiwgMHhkOCwgMHg5MCwgMHhjMSwgMHg2MSwgMHhiNCwgXAotICAgICAgICAweDY2LCAweDUyLCAweDM2LCAweGEyLCAweDI2LCAweDUzLCAweGFhLCAweGFiLCAweDc0LCAweDVlLCAweDA3LCAweDdkLCBcCi0gICAgICAgIDB4MTksIDB4ODIsIDB4ZGIsIDB4MmEsIDB4ZDgsIDB4MWYsIDB4YTAsIDB4ZDksIDB4MGQsIDB4MWMsIDB4MmQsIDB4NDksIFwKLSAgICAgICAgMHg2NiwgMHhmNywgMHg1YiwgMHgyNSwgMHg3MywgMHg0NiwgMHhlOCwgMHgwYiwgMHg4YSwgMHg0ZiwgMHg2OSwgMHgwYywgXAotICAgICAgICAweGI1LCAweDAwLCAweDkwLCAweGUxLCAweGRhLCAweDgyLCAweDEwLCAweDY2LCAweDdkLCAweGFlLCAweDU0LCAweDJiLCBcCi0gICAgICAgIDB4OGIsIDB4NjUsIDB4NzksIDB4OTEsIDB4YTEsIDB4ZTIsIDB4NjEsIDB4YzMsIDB4Y2QsIDB4NDAsIDB4NDksIDB4MDgsIFwKLSAgICAgICAgMHhlZSwgMHg2OCwgMHgwYywgMHhmMSwgMHg4YiwgMHg4NiwgMHhkMiwgMHg0NiwgMHhiZiwgMHhkMCwgMHhiOCwgMHhhYSwgXAotICAgICAgICAweDExLCAweDAzLCAweDFlLCAweDdmLCAweDU2LCAweGE4LCAweDFhLCAweDFlLCAweDQ0LCAweDE4LCAweDBmLCAweDBmLCBcCi0gICAgICAgIDB4ODUsIDB4OGIsIDB4ZGEsIDB4OGIsIDB4NDQsIDB4NWUsIDB4ZTIsIDB4MTgsIDB4YzYsIDB4NjIsIDB4MmYsIDB4YzcsIFwKLSAgICAgICAgMHg2NiwgMHg4ZCwgMHhmYSwgMHg1ZCwgMHhkOCwgMHg3ZCwgMHhmMywgMHgyNywgMHg4OSwgMHgyOSwgMHgwMSwgMHhjNSwgXAotICAgICAgICAweDkwLCAweDBlLCAweDNmLCAweDI3LCAweGYxLCAweDMwLCAweGM4LCAweDRhLCAweDBlLCAweGVmLCAweGQ2LCAweGRlLCBcCi0gICAgICAgIDB4YzcsIDB4YzcsIDB4MjcsIDB4NmIsIDB4YzcsIDB4MDUsIDB4M2QsIDB4N2EsIDB4YzQsIDB4MDIsIDB4M2MsIDB4OWEsIFwKLSAgICAgICAgMHgxZCwgMHgzZSwgMHgwZiwgMHhlOCwgMHgzNCwgMHg5OCwgMHg1YiwgMHhjYiwgMHg3MywgMHg0YiwgMHg1MiwgMHg5NiwgXAotICAgICAgICAweGQ4LCAweDExLCAweGEyLCAweDJjLCAweDgwLCAweDg4LCAweDY5LCAweDM5LCAweDVhLCAweGQzLCAweDBmLCAweGIwLCBcCi0gICAgICAgIDB4ZGUsIDB4NTksIDB4MmYsIDB4MTEsIDB4YzcsIDB4ZjcsIDB4ZWEsIDB4MTIsIDB4MDEsIDB4MzAsIDB4OTcsIDB4MDIsIFwKLSAgICAgICAgMHgwMywgMHgwMSwgMHgwMCwgMHgwMSwgMHhhMywgMHg0ZCwgMHgzMCwgMHg0YiwgMHgzMCwgMHgwOSwgMHgwNiwgMHgwMywgXAotICAgICAgICAweDU1LCAweDFkLCAweDEzLCAweDA0LCAweDAyLCAweDMwLCAweDAwLCAweDMwLCAweDFkLCAweDA2LCAweDAzLCAweDU1LCBcCi0gICAgICAgIDB4MWQsIDB4MGUsIDB4MDQsIDB4MTYsIDB4MDQsIDB4MTQsIDB4YTUsIDB4MDUsIDB4ZTgsIDB4NjQsIDB4YjgsIDB4ZGMsIFwKLSAgICAgICAgMHhkZiwgMHg2MCwgMHgwZiwgMHg1MCwgMHgxMiwgMHg0ZCwgMHg2MCwgMHhhOCwgMHg2NCwgMHhhZiwgMHg0ZCwgMHg4YiwgXAotICAgICAgICAweDQzLCAweDkzLCAweDMwLCAweDFmLCAweDA2LCAweDAzLCAweDU1LCAweDFkLCAweDIzLCAweDA0LCAweDE4LCAweDMwLCBcCi0gICAgICAgIDB4MTYsIDB4ODAsIDB4MTQsIDB4YjQsIDB4NWEsIDB4ZTQsIDB4YTUsIDB4YjMsIDB4ZGUsIDB4ZDIsIDB4NTIsIDB4ZjYsIFwKLSAgICAgICAgMHhiOSwgMHhkNSwgMHhhNiwgMHg5NSwgMHgwZiwgMHhlYiwgMHgzZSwgMHhiYywgMHhjNywgMHhmZCwgMHhmZiwgMHgzMCwgXAotICAgICAgICAweDBkLCAweDA2LCAweDA5LCAweDJhLCAweDg2LCAweDQ4LCAweDg2LCAweGY3LCAweDBkLCAweDAxLCAweDAxLCAweDBiLCBcCi0gICAgICAgIDB4MDUsIDB4MDAsIDB4MDMsIDB4ODIsIDB4MDEsIDB4MDEsIDB4MDAsIDB4MmUsIDB4M2EsIDB4ZTQsIDB4NTIsIDB4NjEsIFwKLSAgICAgICAgMHgzZSwgMHhhNywgMHhhNSwgMHhlZiwgMHgzMiwgMHg2NywgMHg4MCwgMHg3MiwgMHgwNywgMHgyNiwgMHhiYSwgMHhhMywgXAotICAgICAgICAweGZmLCAweDA1LCAweDQwLCAweGM0LCAweDYwLCAweDA1LCAweDM5LCAweDMxLCAweDc3LCAweGY3LCAweGE1LCAweGNhLCBcCi0gICAgICAgIDB4MDEsIDB4MzEsIDB4ODAsIDB4YTcsIDB4ZTEsIDB4ZDEsIDB4MGEsIDB4YTIsIDB4N2MsIDB4ZDUsIDB4MWMsIDB4YmEsIFwKLSAgICAgICAgMHhkMCwgMHgyMywgMHg0YSwgMHhkNiwgMHgzMCwgMHhmMywgMHg5MywgMHhjNywgMHg2ZiwgMHhlOCwgMHhjZSwgMHg5NCwgXAotICAgICAgICAweDFlLCAweDg0LCAweGJiLCAweDQ0LCAweDgxLCAweDYyLCAweDMzLCAweGZmLCAweDZiLCAweDVkLCAweDAwLCAweDliLCBcCi0gICAgICAgIDB4MjUsIDB4ZjgsIDB4OGYsIDB4MGYsIDB4OWMsIDB4NGMsIDB4NGQsIDB4ZTgsIDB4ZDksIDB4YTcsIDB4OTksIDB4ZjksIFwKLSAgICAgICAgMHg1MSwgMHg4MSwgMHhjMCwgMHg5YiwgMHgxYiwgMHgzMSwgMHgwZCwgMHhhNiwgMHhiMywgMHg3YywgMHgwZSwgMHg0NSwgXAotICAgICAgICAweGI4LCAweDE4LCAweDY0LCAweDdlLCAweDg5LCAweDBhLCAweDJiLCAweGE4LCAweGMzLCAweGUwLCAweDRhLCAweGJkLCBcCi0gICAgICAgIDB4ZDQsIDB4MmYsIDB4NzgsIDB4YzQsIDB4NjIsIDB4OWIsIDB4ZTksIDB4N2UsIDB4M2YsIDB4NTYsIDB4NDYsIDB4OGYsIFwKLSAgICAgICAgMHgxNywgMHhiNywgMHgyYSwgMHhhMCwgMHgxMCwgMHg3MCwgMHhmZCwgMHhiMSwgMHhmMSwgMHg2YiwgMHgwNSwgMHhkYywgXAotICAgICAgICAweGQxLCAweDQxLCAweDBmLCAweDhlLCAweGE2LCAweGIyLCAweDg4LCAweDFhLCAweDQyLCAweDYxLCAweDRmLCAweGViLCBcCi0gICAgICAgIDB4MjYsIDB4ODUsIDB4NTksIDB4ODAsIDB4YmEsIDB4ODUsIDB4NTQsIDB4ZmUsIDB4Y2YsIDB4YzcsIDB4N2IsIDB4MmYsIFwKLSAgICAgICAgMHg2YiwgMHg1OSwgMHhjZSwgMHhhYywgMHhkYywgMHg3YywgMHhhYywgMHhmMywgMHhjOCwgMHhkNiwgMHgxMiwgMHg3ZSwgXAotICAgICAgICAweDY0LCAweGU4LCAweDNjLCAweDk5LCAweGE4LCAweDhmLCAweDRmLCAweDExLCAweGQ5LCAweDljLCAweDE1LCAweDRiLCBcCi0gICAgICAgIDB4NmEsIDB4NDQsIDB4OTIsIDB4MmQsIDB4MGMsIDB4YmYsIDB4YjEsIDB4NjcsIDB4OTYsIDB4YzksIDB4YWMsIDB4Y2UsIFwKLSAgICAgICAgMHhkNSwgMHgxOSwgMHhlYiwgMHg2ZiwgMHgxOCwgMHhlYiwgMHg2ZSwgMHgwNCwgMHgyZCwgMHg2MCwgMHhhYywgMHhmNCwgXAotICAgICAgICAweDdiLCAweDc5LCAweGYwLCAweDFhLCAweDliLCAweGI1LCAweGMzLCAweDVkLCAweGVmLCAweDdkLCAweGM5LCAweDA1LCBcCi0gICAgICAgIDB4OTksIDB4NDQsIDB4ODEsIDB4ODQsIDB4NzUsIDB4YzcsIDB4ZWMsIDB4MDAsIDB4MTIsIDB4ZmMsIDB4N2EsIDB4NGEsIFwKLSAgICAgICAgMHgwYiwgMHg4MiwgMHgwNywgMHhlYywgMHg2ZCwgMHg4NiwgMHgwMiwgMHg0ZCwgMHhmZSwgMHg5ZiwgMHhjOCwgMHg5MiwgXAotICAgICAgICAweDQ4LCAweGRlLCAweGY1LCAweGIxLCAweDljLCAweGU5LCAweGM2LCAweDg5LCAweGQwLCAweGMxLCAweDU2LCAweGU4LCBcCi0gICAgICAgIDB4YTQsIDB4YzYsIDB4NmEsIDB4MmUsIDB4NjYsIDB4YzEsIDB4OWIsIDB4ZmUsIDB4ZDYsIDB4M2MsIDB4YjcgICAgICAgIFwKLX0KLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgdGFrZW4gZnJvbSBzZXJ2ZXIyLmNydC4gKi8KLS8qIEJFR0lOIEZJTEUgc3RyaW5nIG1hY3JvIFRFU1RfU1JWX0NSVF9SU0FfU0hBMV9QRU0gc2VydmVyMi5jcnQgKi8KLSNkZWZpbmUgVEVTVF9TUlZfQ1JUX1JTQV9TSEExX1BFTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxyXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJNSUlETnpDQ0FoK2dBd0lCQWdJQkFqQU5CZ2txaGtpRzl3MEJBUVVGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSXHJcbiIgICAgIFwKLSAgICAiTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTlxyXG4iICAgICBcCi0gICAgIk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQTBNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdcclxuIiAgICAgXAotICAgICJBMVVFQ2d3SVVHOXNZWEpUVTB3eEVqQVFCZ05WQkFNTUNXeHZZMkZzYUc5emREQ0NBU0l3RFFZSktvWklodmNOXHJcbiIgICAgIFwKLSAgICAiQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1GTm85M256UjNSQk5kSmNyaVpyQTU0NURvOFNzODZFeGJRV3VUTlxyXG4iICAgICBcCi0gICAgIm93Q0lwKzRlYTVhblVyU1E3eTF5ZWo0a212eTJOS3drOVhmZ0ptU01uTEFvZmFIYTZvem15UnlXdlA3QkJGS3pcclxuIiAgICAgXAotICAgICJOdFNqK3VHeGR0aVF3V0cwWmxJMm9pWlRxcXQwWGdkOUdZTGJLdGdmb05rTkhDMUpadmRiSlhORzZBdUtUMmtNXHJcbiIgICAgIFwKLSAgICAidFFDUTRkcUNFR1o5cmxRcmkyVjVrYUhpWWNQTlFFa0k3bWdNOFl1RzBrYS8wTGlxRVFNZWYxYW9HaDVFR0E4UFxyXG4iICAgICBcCi0gICAgImhZdmFpMFJlNGhqR1lpL0habzM2WGRoOTh5ZUpLUUhGa0E0L0ovRXd5RW9PNzliZXg4Y25hOGNGUFhyRUFqeWFcclxuIiAgICAgXAotICAgICJIVDRQNkRTWVc4dHpTMUtXMkJHaUxJQ0lhVGxhMHcrdzNsa3ZFY2YzNmhJQk1KY0NBd0VBQWFOTk1Fc3dDUVlEXHJcbiIgICAgIFwKLSAgICAiVlIwVEJBSXdBREFkQmdOVkhRNEVGZ1FVcFFYb1pMamMzMkFQVUJKTllLaGtyMDJMUTVNd0h3WURWUjBqQkJnd1xyXG4iICAgICBcCi0gICAgIkZvQVV0RnJrcGJQZTBsTDJ1ZFdtbFEvclByekgvZjh3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUprbGczUTRcclxuIiAgICAgXAotICAgICJjQjd2N0J6c3hNL3ZMeUtjY082b3AwL2daek00Z2h1THEyWTMya2wwc002a1NOVVVtZHV1cTN1LytHbVVaTjJBXHJcbiIgICAgIFwKLSAgICAiTy83YytIdzdoREZFSXZaazk4YUJHakNMcW4zRG1nSEl2OFRvUTY3bmVsbFF4eDJVajMwOVBkZ2pOaS9yOUhPY1xyXG4iICAgICBcCi0gICAgIktOQVlQYkJjZzZNSkdXV2oyVEk2dk5hY2Vpb3MvRGhPWXg1VjBqNW5mcVNKL3BuVTBnOUlnbjJMQWhnWXBHSkVcclxuIiAgICAgXAotICAgICJpRU05d1c3aEVNa3dtazBoL3NxWnNySnNHSDVZc0YvVlRoU3EvSlZPMWUybVpIMnZydXlaS0pWQnErOHRETllwXHJcbiIgICAgIFwKLSAgICAiSGtLNnRTeVZZUWh6SXQzU3RNSldLTWwvbzVrMkFZejZ0U0MxNjQrMW9HK01MM0xXZzhYckdLYTkxSDRVT0thcFxyXG4iICAgICBcCi0gICAgIkF3Z2swKzRtMFQyNWNOcz1cclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tXHJcbiIKLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgZ2VuZXJhdGVkIGZyb20gc2VydmVyMi5jcnQuZGVyLiAqLwotLyogQkVHSU4gRklMRSBiaW5hcnkgbWFjcm8gVEVTVF9TUlZfQ1JUX1JTQV9TSEExX0RFUiBzZXJ2ZXIyLmNydC5kZXIgKi8KLSNkZWZpbmUgVEVTVF9TUlZfQ1JUX1JTQV9TSEExX0RFUiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAweDMwLCAweDgyLCAweDAzLCAweDM3LCAweDMwLCAweDgyLCAweDAyLCAweDFmLCAweGEwLCAweDAzLCAweDAyLCAweDAxLCBcCi0gICAgICAgIDB4MDIsIDB4MDIsIDB4MDEsIDB4MDIsIDB4MzAsIDB4MGQsIDB4MDYsIDB4MDksIDB4MmEsIDB4ODYsIDB4NDgsIDB4ODYsIFwKLSAgICAgICAgMHhmNywgMHgwZCwgMHgwMSwgMHgwMSwgMHgwNSwgMHgwNSwgMHgwMCwgMHgzMCwgMHgzYiwgMHgzMSwgMHgwYiwgMHgzMCwgXAotICAgICAgICAweDA5LCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDA2LCAweDEzLCAweDAyLCAweDRlLCAweDRjLCAweDMxLCAweDExLCBcCi0gICAgICAgIDB4MzAsIDB4MGYsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIDB4MGEsIDB4MGMsIDB4MDgsIDB4NTAsIDB4NmYsIDB4NmMsIFwKLSAgICAgICAgMHg2MSwgMHg3MiwgMHg1MywgMHg1MywgMHg0YywgMHgzMSwgMHgxOSwgMHgzMCwgMHgxNywgMHgwNiwgMHgwMywgMHg1NSwgXAotICAgICAgICAweDA0LCAweDAzLCAweDBjLCAweDEwLCAweDUwLCAweDZmLCAweDZjLCAweDYxLCAweDcyLCAweDUzLCAweDUzLCAweDRjLCBcCi0gICAgICAgIDB4MjAsIDB4NTQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4MjAsIDB4NDMsIDB4NDEsIDB4MzAsIDB4MWUsIDB4MTcsIDB4MGQsIFwKLSAgICAgICAgMHgzMSwgMHgzOSwgMHgzMCwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzMSwgMHgzNCwgMHgzNCwgMHgzNCwgMHgzMCwgMHgzNiwgXAotICAgICAgICAweDVhLCAweDE3LCAweDBkLCAweDMyLCAweDM5LCAweDMwLCAweDMyLCAweDMxLCAweDMwLCAweDMxLCAweDM0LCAweDM0LCBcCi0gICAgICAgIDB4MzQsIDB4MzAsIDB4MzYsIDB4NWEsIDB4MzAsIDB4MzQsIDB4MzEsIDB4MGIsIDB4MzAsIDB4MDksIDB4MDYsIDB4MDMsIFwKLSAgICAgICAgMHg1NSwgMHgwNCwgMHgwNiwgMHgxMywgMHgwMiwgMHg0ZSwgMHg0YywgMHgzMSwgMHgxMSwgMHgzMCwgMHgwZiwgMHgwNiwgXAotICAgICAgICAweDAzLCAweDU1LCAweDA0LCAweDBhLCAweDBjLCAweDA4LCAweDUwLCAweDZmLCAweDZjLCAweDYxLCAweDcyLCAweDUzLCBcCi0gICAgICAgIDB4NTMsIDB4NGMsIDB4MzEsIDB4MTIsIDB4MzAsIDB4MTAsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIDB4MDMsIDB4MGMsIFwKLSAgICAgICAgMHgwOSwgMHg2YywgMHg2ZiwgMHg2MywgMHg2MSwgMHg2YywgMHg2OCwgMHg2ZiwgMHg3MywgMHg3NCwgMHgzMCwgMHg4MiwgXAotICAgICAgICAweDAxLCAweDIyLCAweDMwLCAweDBkLCAweDA2LCAweDA5LCAweDJhLCAweDg2LCAweDQ4LCAweDg2LCAweGY3LCAweDBkLCBcCi0gICAgICAgIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDUsIDB4MDAsIDB4MDMsIDB4ODIsIDB4MDEsIDB4MGYsIDB4MDAsIDB4MzAsIDB4ODIsIFwKLSAgICAgICAgMHgwMSwgMHgwYSwgMHgwMiwgMHg4MiwgMHgwMSwgMHgwMSwgMHgwMCwgMHhjMSwgMHg0ZCwgMHhhMywgMHhkZCwgMHhlNywgXAotICAgICAgICAweGNkLCAweDFkLCAweGQxLCAweDA0LCAweGQ3LCAweDQ5LCAweDcyLCAweGI4LCAweDk5LCAweGFjLCAweDBlLCAweDc4LCBcCi0gICAgICAgIDB4ZTQsIDB4M2EsIDB4M2MsIDB4NGEsIDB4Y2YsIDB4M2EsIDB4MTMsIDB4MTYsIDB4ZDAsIDB4NWEsIDB4ZTQsIDB4Y2QsIFwKLSAgICAgICAgMHhhMywgMHgwMCwgMHg4OCwgMHhhNywgMHhlZSwgMHgxZSwgMHg2YiwgMHg5NiwgMHhhNywgMHg1MiwgMHhiNCwgMHg5MCwgXAotICAgICAgICAweGVmLCAweDJkLCAweDcyLCAweDdhLCAweDNlLCAweDI0LCAweDlhLCAweGZjLCAweGI2LCAweDM0LCAweGFjLCAweDI0LCBcCi0gICAgICAgIDB4ZjUsIDB4NzcsIDB4ZTAsIDB4MjYsIDB4NjQsIDB4OGMsIDB4OWMsIDB4YjAsIDB4MjgsIDB4N2QsIDB4YTEsIDB4ZGEsIFwKLSAgICAgICAgMHhlYSwgMHg4YywgMHhlNiwgMHhjOSwgMHgxYywgMHg5NiwgMHhiYywgMHhmZSwgMHhjMSwgMHgwNCwgMHg1MiwgMHhiMywgXAotICAgICAgICAweDM2LCAweGQ0LCAweGEzLCAweGZhLCAweGUxLCAweGIxLCAweDc2LCAweGQ4LCAweDkwLCAweGMxLCAweDYxLCAweGI0LCBcCi0gICAgICAgIDB4NjYsIDB4NTIsIDB4MzYsIDB4YTIsIDB4MjYsIDB4NTMsIDB4YWEsIDB4YWIsIDB4NzQsIDB4NWUsIDB4MDcsIDB4N2QsIFwKLSAgICAgICAgMHgxOSwgMHg4MiwgMHhkYiwgMHgyYSwgMHhkOCwgMHgxZiwgMHhhMCwgMHhkOSwgMHgwZCwgMHgxYywgMHgyZCwgMHg0OSwgXAotICAgICAgICAweDY2LCAweGY3LCAweDViLCAweDI1LCAweDczLCAweDQ2LCAweGU4LCAweDBiLCAweDhhLCAweDRmLCAweDY5LCAweDBjLCBcCi0gICAgICAgIDB4YjUsIDB4MDAsIDB4OTAsIDB4ZTEsIDB4ZGEsIDB4ODIsIDB4MTAsIDB4NjYsIDB4N2QsIDB4YWUsIDB4NTQsIDB4MmIsIFwKLSAgICAgICAgMHg4YiwgMHg2NSwgMHg3OSwgMHg5MSwgMHhhMSwgMHhlMiwgMHg2MSwgMHhjMywgMHhjZCwgMHg0MCwgMHg0OSwgMHgwOCwgXAotICAgICAgICAweGVlLCAweDY4LCAweDBjLCAweGYxLCAweDhiLCAweDg2LCAweGQyLCAweDQ2LCAweGJmLCAweGQwLCAweGI4LCAweGFhLCBcCi0gICAgICAgIDB4MTEsIDB4MDMsIDB4MWUsIDB4N2YsIDB4NTYsIDB4YTgsIDB4MWEsIDB4MWUsIDB4NDQsIDB4MTgsIDB4MGYsIDB4MGYsIFwKLSAgICAgICAgMHg4NSwgMHg4YiwgMHhkYSwgMHg4YiwgMHg0NCwgMHg1ZSwgMHhlMiwgMHgxOCwgMHhjNiwgMHg2MiwgMHgyZiwgMHhjNywgXAotICAgICAgICAweDY2LCAweDhkLCAweGZhLCAweDVkLCAweGQ4LCAweDdkLCAweGYzLCAweDI3LCAweDg5LCAweDI5LCAweDAxLCAweGM1LCBcCi0gICAgICAgIDB4OTAsIDB4MGUsIDB4M2YsIDB4MjcsIDB4ZjEsIDB4MzAsIDB4YzgsIDB4NGEsIDB4MGUsIDB4ZWYsIDB4ZDYsIDB4ZGUsIFwKLSAgICAgICAgMHhjNywgMHhjNywgMHgyNywgMHg2YiwgMHhjNywgMHgwNSwgMHgzZCwgMHg3YSwgMHhjNCwgMHgwMiwgMHgzYywgMHg5YSwgXAotICAgICAgICAweDFkLCAweDNlLCAweDBmLCAweGU4LCAweDM0LCAweDk4LCAweDViLCAweGNiLCAweDczLCAweDRiLCAweDUyLCAweDk2LCBcCi0gICAgICAgIDB4ZDgsIDB4MTEsIDB4YTIsIDB4MmMsIDB4ODAsIDB4ODgsIDB4NjksIDB4MzksIDB4NWEsIDB4ZDMsIDB4MGYsIDB4YjAsIFwKLSAgICAgICAgMHhkZSwgMHg1OSwgMHgyZiwgMHgxMSwgMHhjNywgMHhmNywgMHhlYSwgMHgxMiwgMHgwMSwgMHgzMCwgMHg5NywgMHgwMiwgXAotICAgICAgICAweDAzLCAweDAxLCAweDAwLCAweDAxLCAweGEzLCAweDRkLCAweDMwLCAweDRiLCAweDMwLCAweDA5LCAweDA2LCAweDAzLCBcCi0gICAgICAgIDB4NTUsIDB4MWQsIDB4MTMsIDB4MDQsIDB4MDIsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MWQsIDB4MDYsIDB4MDMsIDB4NTUsIFwKLSAgICAgICAgMHgxZCwgMHgwZSwgMHgwNCwgMHgxNiwgMHgwNCwgMHgxNCwgMHhhNSwgMHgwNSwgMHhlOCwgMHg2NCwgMHhiOCwgMHhkYywgXAotICAgICAgICAweGRmLCAweDYwLCAweDBmLCAweDUwLCAweDEyLCAweDRkLCAweDYwLCAweGE4LCAweDY0LCAweGFmLCAweDRkLCAweDhiLCBcCi0gICAgICAgIDB4NDMsIDB4OTMsIDB4MzAsIDB4MWYsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MWQsIDB4MjMsIDB4MDQsIDB4MTgsIDB4MzAsIFwKLSAgICAgICAgMHgxNiwgMHg4MCwgMHgxNCwgMHhiNCwgMHg1YSwgMHhlNCwgMHhhNSwgMHhiMywgMHhkZSwgMHhkMiwgMHg1MiwgMHhmNiwgXAotICAgICAgICAweGI5LCAweGQ1LCAweGE2LCAweDk1LCAweDBmLCAweGViLCAweDNlLCAweGJjLCAweGM3LCAweGZkLCAweGZmLCAweDMwLCBcCi0gICAgICAgIDB4MGQsIDB4MDYsIDB4MDksIDB4MmEsIDB4ODYsIDB4NDgsIDB4ODYsIDB4ZjcsIDB4MGQsIDB4MDEsIDB4MDEsIDB4MDUsIFwKLSAgICAgICAgMHgwNSwgMHgwMCwgMHgwMywgMHg4MiwgMHgwMSwgMHgwMSwgMHgwMCwgMHg5OSwgMHgyNSwgMHg4MywgMHg3NCwgMHgzOCwgXAotICAgICAgICAweDcwLCAweDFlLCAweGVmLCAweGVjLCAweDFjLCAweGVjLCAweGM0LCAweGNmLCAweGVmLCAweDJmLCAweDIyLCAweDljLCBcCi0gICAgICAgIDB4NzAsIDB4ZWUsIDB4YTgsIDB4YTcsIDB4NGYsIDB4ZTAsIDB4NjcsIDB4MzMsIDB4MzgsIDB4ODIsIDB4MWIsIDB4OGIsIFwKLSAgICAgICAgMHhhYiwgMHg2NiwgMHgzNywgMHhkYSwgMHg0OSwgMHg3NCwgMHhiMCwgMHhjZSwgMHhhNCwgMHg0OCwgMHhkNSwgMHgxNCwgXAotICAgICAgICAweDk5LCAweGRiLCAweGFlLCAweGFiLCAweDdiLCAweGJmLCAweGY4LCAweDY5LCAweDk0LCAweDY0LCAweGRkLCAweDgwLCBcCi0gICAgICAgIDB4M2IsIDB4ZmUsIDB4ZGMsIDB4ZjgsIDB4N2MsIDB4M2IsIDB4ODQsIDB4MzEsIDB4NDQsIDB4MjIsIDB4ZjYsIDB4NjQsIFwKLSAgICAgICAgMHhmNywgMHhjNiwgMHg4MSwgMHgxYSwgMHgzMCwgMHg4YiwgMHhhYSwgMHg3ZCwgMHhjMywgMHg5YSwgMHgwMSwgMHhjOCwgXAotICAgICAgICAweGJmLCAweGM0LCAweGU4LCAweDQzLCAweGFlLCAweGU3LCAweDdhLCAweDU5LCAweDUwLCAweGM3LCAweDFkLCAweDk0LCBcCi0gICAgICAgIDB4OGYsIDB4N2QsIDB4M2QsIDB4M2QsIDB4ZDgsIDB4MjMsIDB4MzYsIDB4MmYsIDB4ZWIsIDB4ZjQsIDB4NzMsIDB4OWMsIFwKLSAgICAgICAgMHgyOCwgMHhkMCwgMHgxOCwgMHgzZCwgMHhiMCwgMHg1YywgMHg4MywgMHhhMywgMHgwOSwgMHgxOSwgMHg2NSwgMHhhMywgXAotICAgICAgICAweGQ5LCAweDMyLCAweDNhLCAweGJjLCAweGQ2LCAweDljLCAweDdhLCAweDJhLCAweDJjLCAweGZjLCAweDM4LCAweDRlLCBcCi0gICAgICAgIDB4NjMsIDB4MWUsIDB4NTUsIDB4ZDIsIDB4M2UsIDB4NjcsIDB4N2UsIDB4YTQsIDB4ODksIDB4ZmUsIDB4OTksIDB4ZDQsIFwKLSAgICAgICAgMHhkMiwgMHgwZiwgMHg0OCwgMHg4MiwgMHg3ZCwgMHg4YiwgMHgwMiwgMHgxOCwgMHgxOCwgMHhhNCwgMHg2MiwgMHg0NCwgXAotICAgICAgICAweDg4LCAweDQzLCAweDNkLCAweGMxLCAweDZlLCAweGUxLCAweDEwLCAweGM5LCAweDMwLCAweDlhLCAweDRkLCAweDIxLCBcCi0gICAgICAgIDB4ZmUsIDB4Y2EsIDB4OTksIDB4YjIsIDB4YjIsIDB4NmMsIDB4MTgsIDB4N2UsIDB4NTgsIDB4YjAsIDB4NWYsIDB4ZDUsIFwKLSAgICAgICAgMHg0ZSwgMHgxNCwgMHhhYSwgMHhmYywgMHg5NSwgMHg0ZSwgMHhkNSwgMHhlZCwgMHhhNiwgMHg2NCwgMHg3ZCwgMHhhZiwgXAotICAgICAgICAweGFlLCAweGVjLCAweDk5LCAweDI4LCAweDk1LCAweDQxLCAweGFiLCAweGVmLCAweDJkLCAweDBjLCAweGQ2LCAweDI5LCBcCi0gICAgICAgIDB4MWUsIDB4NDIsIDB4YmEsIDB4YjUsIDB4MmMsIDB4OTUsIDB4NjEsIDB4MDgsIDB4NzMsIDB4MjIsIDB4ZGQsIDB4ZDIsIFwKLSAgICAgICAgMHhiNCwgMHhjMiwgMHg1NiwgMHgyOCwgMHhjOSwgMHg3ZiwgMHhhMywgMHg5OSwgMHgzNiwgMHgwMSwgMHg4YywgMHhmYSwgXAotICAgICAgICAweGI1LCAweDIwLCAweGI1LCAweGViLCAweDhmLCAweGI1LCAweGEwLCAweDZmLCAweDhjLCAweDJmLCAweDcyLCAweGQ2LCBcCi0gICAgICAgIDB4ODMsIDB4YzUsIDB4ZWIsIDB4MTgsIDB4YTYsIDB4YmQsIDB4ZDQsIDB4N2UsIDB4MTQsIDB4MzgsIDB4YTYsIDB4YTksIFwKLSAgICAgICAgMHgwMywgMHgwOCwgMHgyNCwgMHhkMywgMHhlZSwgMHgyNiwgMHhkMSwgMHgzZCwgMHhiOSwgMHg3MCwgMHhkYiAgICAgICAgXAotfQotLyogRU5EIEZJTEUgKi8KLQotLyogVGhpcyBpcyB0YWtlbiBmcm9tIHNlcnZlcjIua2V5LiAqLwotLyogQkVHSU4gRklMRSBzdHJpbmcgbWFjcm8gVEVTVF9TUlZfS0VZX1JTQV9QRU0gc2VydmVyMi5rZXkgKi8KLSNkZWZpbmUgVEVTVF9TUlZfS0VZX1JTQV9QRU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0tLS1cclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJNSUlFcEFJQkFBS0NBUUVBd1UyajNlZk5IZEVFMTBseXVKbXNEbmprT2p4S3p6b1RGdEJhNU0yakFJaW43aDVyXHJcbiIgICAgIFwKLSAgICAibHFkU3RKRHZMWEo2UGlTYS9MWTByQ1QxZCtBbVpJeWNzQ2g5b2RycWpPYkpISmE4L3NFRVVyTTIxS1A2NGJGMlxyXG4iICAgICBcCi0gICAgIjJKREJZYlJtVWphaUpsT3FxM1JlQjMwWmd0c3EyQitnMlEwY0xVbG05MXNsYzBib0M0cFBhUXkxQUpEaDJvSVFcclxuIiAgICAgXAotICAgICJabjJ1VkN1TFpYbVJvZUpodzgxQVNRanVhQXp4aTRiU1JyL1F1S29SQXg1L1ZxZ2FIa1FZRHcrRmk5cUxSRjdpXHJcbiIgICAgIFwKLSAgICAiR01aaUw4ZG1qZnBkMkgzeko0a3BBY1dRRGo4bjhURElTZzd2MXQ3SHh5ZHJ4d1U5ZXNRQ1BKb2RQZy9vTkpoYlxyXG4iICAgICBcCi0gICAgInkzTkxVcGJZRWFJc2dJaHBPVnJURDdEZVdTOFJ4L2ZxRWdFd2x3SURBUUFCQW9JQkFRQ1hSMFM4RUlIRkdPUlpcclxuIiAgICAgXAotICAgICIrK0F0T2c2ZUVOeEQreFZzMGYxSWVHejU3VGpvM1FuWFg3VkJaTmRqK3AxRUN2aENFL0c3WG5rZ1U1aExaWCtHXHJcbiIgICAgIFwKLSAgICAiWjBqa3ovdHFKT0kwdlJTZExCYmlwSG5Xb3V5QlE0ZS9BMXlJSmRsQnRxWHhKMUtFL2l0dUhSYk5jNGo0a0w4WlxyXG4iICAgICBcCi0gICAgIi9yNnB2d25USTBQU3gyRXFzMDQ4WWRTOTJMVDZxQXY0ZmxiTkR4TW4ydVk3czR5Y1M0UTh3MUpYbkNlYUFuWW1cclxuIiAgICAgXAotICAgICJXWUk1d3hPK2J2UkVMUjJNY3o1RG1Wbkw4alJ5bWw2bDY1ODJiU3Y1b3VmUmVGSWJ5UFpiUVdsWGdZbnB1NkhlXHJcbiIgICAgIFwKLSAgICAiR1RjN0UxektZUUdHLzkrRFFVbC8xdlF1Q1BxUXdueTB0UW9YMnc1dGRZcGRNZFZtK3prTHRiYWp6ZFR2aUpKYVxyXG4iICAgICBcCi0gICAgIlRXekw2bHQ1QW9HQkFOODYrU1ZlSkRjbVFKY3Y0RXE2VWh0UnI0UUdNaVFNejBTb2Q2ZXR0WXhZek1neHR3MjhcclxuIiAgICAgXAotICAgICJDSXJncG96Q2MrVWFaSkxvN1V4dkM2YW44NXIxYjJuS1BDTFFGYWdnSjBINFEwSi9zWk9oQklYYW9Celd4dmVLXHJcbiIgICAgIFwKLSAgICAibnVwY2VLZFZ4R3NGaThDRHk4NkRCZml5Rml2ZkJqKzQ3QmJhUXpQQmo3QzRySzdVbExqYWIyckRBb0dCQU4ydVxyXG4iICAgICBcCi0gICAgIkFNMmdjaG9GaXU0djFIRkw4RDdsd2VFcGk2Wm5NSmpuRXUvZEVnR1FKRmp3ZHBMblBic2o0Yzc1b2RRNEd6OGdcclxuIiAgICAgXAotICAgICJzdzlsYW85VlZ6YnVzb1JFL0pHSTRhVGRPMHBBVFh5RzdlRzFRdSs1WWMxWUdYY0NybGlBMnhNOXh4K2Q3ZitzXHJcbiIgICAgIFwKLSAgICAibVB6TitXSUVnNUdKRFlaRGpBekhHNUJOdmkvRmZNMUM5ZE90anYyZEFvR0FGMHQ1S213YmpXSEJoY1ZxTzRJY1xyXG4iICAgICBcCi0gICAgIkJWdk4zQklsYzF1ZTJZUlhFRGx4WTViMHI4TjRYY2VNZ0ttVzE4T0hBcFp4Zmw4dVBEYXVXWkxYT2dsNHVlcHZcclxuIiAgICAgXAotICAgICJ3aFpDM0V1V3JTeXlJQ05oTFkyMUFoN2hiSUVCUEYzTDNac093QytVRXJMK2RYV0xkQjU2Smd5M2daYUJlVzdiXHJcbiIgICAgIFwKLSAgICAidkRyRW5vY0picUNtN0l1a2hYSE9CSzhDZ1lFQXdxZEhCMGhxeU5TeklPR1k3djlhYnpCNnBVZEEzQlppUXZFc1xyXG4iICAgICBcCi0gICAgIjNMakhWZDRIUEoyeDBOOENnckJJV09FMHE4KzBoU01tZUU5NldXLzdqRDNmUFd3Q1I1emxYa254QlFzZnYwZ1BcclxuIiAgICAgXAotICAgICIzQkM1UFIwUWR5cHorZCs5emZNZjYyNWt5aXQ0VC9oendoRHZlWlV6SG5rMUNmK0lHN1ErVE9FbkxuV0FXQkVEXHJcbiIgICAgIFwKLSAgICAiSVNPV21yVUNnWUFGRW1SeGd3QWMvdStENnQwc3lDd0FZaDZQT3RzY3E5WTBpOUd5V2s4OU56Z0M0TmR3d2JCSFxyXG4iICAgICBcCi0gICAgIjRBZ2FoT3hJeFh4Mmd4Sm5xM3lma0pmSWp3ZjBzMkR5UDBrWTJ5NlVhMU9lb21QZVk5bXJJUzR0Q3VEUTZMckVcclxuIiAgICAgXAotICAgICJUQjZsOVZHb3hKTDRmeUhuWmI4TDVnR3ZuQjFiYkQ4Y0w2WVBhRGlPaGNSc2VDOXZCaUV1Vmc9PVxyXG4iICAgICAgICAgICAgIFwKLSAgICAiLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS1cclxuIgotLyogRU5EIEZJTEUgKi8KLQotLyogVGhpcyBpcyBnZW5lcmF0ZWQgZnJvbSBzZXJ2ZXIyLmtleS5kZXIuICovCi0vKiBCRUdJTiBGSUxFIGJpbmFyeSBtYWNybyBURVNUX1NSVl9LRVlfUlNBX0RFUiBzZXJ2ZXIyLmtleS5kZXIgKi8KLSNkZWZpbmUgVEVTVF9TUlZfS0VZX1JTQV9ERVIgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAweDMwLCAweDgyLCAweDA0LCAweGE0LCAweDAyLCAweDAxLCAweDAwLCAweDAyLCAweDgyLCAweDAxLCAweDAxLCAweDAwLCBcCi0gICAgICAgIDB4YzEsIDB4NGQsIDB4YTMsIDB4ZGQsIDB4ZTcsIDB4Y2QsIDB4MWQsIDB4ZDEsIDB4MDQsIDB4ZDcsIDB4NDksIDB4NzIsIFwKLSAgICAgICAgMHhiOCwgMHg5OSwgMHhhYywgMHgwZSwgMHg3OCwgMHhlNCwgMHgzYSwgMHgzYywgMHg0YSwgMHhjZiwgMHgzYSwgMHgxMywgXAotICAgICAgICAweDE2LCAweGQwLCAweDVhLCAweGU0LCAweGNkLCAweGEzLCAweDAwLCAweDg4LCAweGE3LCAweGVlLCAweDFlLCAweDZiLCBcCi0gICAgICAgIDB4OTYsIDB4YTcsIDB4NTIsIDB4YjQsIDB4OTAsIDB4ZWYsIDB4MmQsIDB4NzIsIDB4N2EsIDB4M2UsIDB4MjQsIDB4OWEsIFwKLSAgICAgICAgMHhmYywgMHhiNiwgMHgzNCwgMHhhYywgMHgyNCwgMHhmNSwgMHg3NywgMHhlMCwgMHgyNiwgMHg2NCwgMHg4YywgMHg5YywgXAotICAgICAgICAweGIwLCAweDI4LCAweDdkLCAweGExLCAweGRhLCAweGVhLCAweDhjLCAweGU2LCAweGM5LCAweDFjLCAweDk2LCAweGJjLCBcCi0gICAgICAgIDB4ZmUsIDB4YzEsIDB4MDQsIDB4NTIsIDB4YjMsIDB4MzYsIDB4ZDQsIDB4YTMsIDB4ZmEsIDB4ZTEsIDB4YjEsIDB4NzYsIFwKLSAgICAgICAgMHhkOCwgMHg5MCwgMHhjMSwgMHg2MSwgMHhiNCwgMHg2NiwgMHg1MiwgMHgzNiwgMHhhMiwgMHgyNiwgMHg1MywgMHhhYSwgXAotICAgICAgICAweGFiLCAweDc0LCAweDVlLCAweDA3LCAweDdkLCAweDE5LCAweDgyLCAweGRiLCAweDJhLCAweGQ4LCAweDFmLCAweGEwLCBcCi0gICAgICAgIDB4ZDksIDB4MGQsIDB4MWMsIDB4MmQsIDB4NDksIDB4NjYsIDB4ZjcsIDB4NWIsIDB4MjUsIDB4NzMsIDB4NDYsIDB4ZTgsIFwKLSAgICAgICAgMHgwYiwgMHg4YSwgMHg0ZiwgMHg2OSwgMHgwYywgMHhiNSwgMHgwMCwgMHg5MCwgMHhlMSwgMHhkYSwgMHg4MiwgMHgxMCwgXAotICAgICAgICAweDY2LCAweDdkLCAweGFlLCAweDU0LCAweDJiLCAweDhiLCAweDY1LCAweDc5LCAweDkxLCAweGExLCAweGUyLCAweDYxLCBcCi0gICAgICAgIDB4YzMsIDB4Y2QsIDB4NDAsIDB4NDksIDB4MDgsIDB4ZWUsIDB4NjgsIDB4MGMsIDB4ZjEsIDB4OGIsIDB4ODYsIDB4ZDIsIFwKLSAgICAgICAgMHg0NiwgMHhiZiwgMHhkMCwgMHhiOCwgMHhhYSwgMHgxMSwgMHgwMywgMHgxZSwgMHg3ZiwgMHg1NiwgMHhhOCwgMHgxYSwgXAotICAgICAgICAweDFlLCAweDQ0LCAweDE4LCAweDBmLCAweDBmLCAweDg1LCAweDhiLCAweGRhLCAweDhiLCAweDQ0LCAweDVlLCAweGUyLCBcCi0gICAgICAgIDB4MTgsIDB4YzYsIDB4NjIsIDB4MmYsIDB4YzcsIDB4NjYsIDB4OGQsIDB4ZmEsIDB4NWQsIDB4ZDgsIDB4N2QsIDB4ZjMsIFwKLSAgICAgICAgMHgyNywgMHg4OSwgMHgyOSwgMHgwMSwgMHhjNSwgMHg5MCwgMHgwZSwgMHgzZiwgMHgyNywgMHhmMSwgMHgzMCwgMHhjOCwgXAotICAgICAgICAweDRhLCAweDBlLCAweGVmLCAweGQ2LCAweGRlLCAweGM3LCAweGM3LCAweDI3LCAweDZiLCAweGM3LCAweDA1LCAweDNkLCBcCi0gICAgICAgIDB4N2EsIDB4YzQsIDB4MDIsIDB4M2MsIDB4OWEsIDB4MWQsIDB4M2UsIDB4MGYsIDB4ZTgsIDB4MzQsIDB4OTgsIDB4NWIsIFwKLSAgICAgICAgMHhjYiwgMHg3MywgMHg0YiwgMHg1MiwgMHg5NiwgMHhkOCwgMHgxMSwgMHhhMiwgMHgyYywgMHg4MCwgMHg4OCwgMHg2OSwgXAotICAgICAgICAweDM5LCAweDVhLCAweGQzLCAweDBmLCAweGIwLCAweGRlLCAweDU5LCAweDJmLCAweDExLCAweGM3LCAweGY3LCAweGVhLCBcCi0gICAgICAgIDB4MTIsIDB4MDEsIDB4MzAsIDB4OTcsIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDIsIDB4ODIsIDB4MDEsIFwKLSAgICAgICAgMHgwMSwgMHgwMCwgMHg5NywgMHg0NywgMHg0NCwgMHhiYywgMHgxMCwgMHg4MSwgMHhjNSwgMHgxOCwgMHhlNCwgMHg1OSwgXAotICAgICAgICAweGZiLCAweGUwLCAweDJkLCAweDNhLCAweDBlLCAweDllLCAweDEwLCAweGRjLCAweDQzLCAweGZiLCAweDE1LCAweDZjLCBcCi0gICAgICAgIDB4ZDEsIDB4ZmQsIDB4NDgsIDB4NzgsIDB4NmMsIDB4ZjksIDB4ZWQsIDB4MzgsIDB4ZTgsIDB4ZGQsIDB4MDksIDB4ZDcsIFwKLSAgICAgICAgMHg1ZiwgMHhiNSwgMHg0MSwgMHg2NCwgMHhkNywgMHg2MywgMHhmYSwgMHg5ZCwgMHg0NCwgMHgwYSwgMHhmOCwgMHg0MiwgXAotICAgICAgICAweDEzLCAweGYxLCAweGJiLCAweDVlLCAweDc5LCAweDIwLCAweDUzLCAweDk4LCAweDRiLCAweDY1LCAweDdmLCAweDg2LCBcCi0gICAgICAgIDB4NjcsIDB4NDgsIDB4ZTQsIDB4Y2YsIDB4ZmIsIDB4NmEsIDB4MjQsIDB4ZTIsIDB4MzQsIDB4YmQsIDB4MTQsIDB4OWQsIFwKLSAgICAgICAgMHgyYywgMHgxNiwgMHhlMiwgMHhhNCwgMHg3OSwgMHhkNiwgMHhhMiwgMHhlYywgMHg4MSwgMHg0MywgMHg4NywgMHhiZiwgXAotICAgICAgICAweDAzLCAweDVjLCAweDg4LCAweDI1LCAweGQ5LCAweDQxLCAweGI2LCAweGE1LCAweGYxLCAweDI3LCAweDUyLCAweDg0LCBcCi0gICAgICAgIDB4ZmUsIDB4MmIsIDB4NmUsIDB4MWQsIDB4MTYsIDB4Y2QsIDB4NzMsIDB4ODgsIDB4ZjgsIDB4OTAsIDB4YmYsIDB4MTksIFwKLSAgICAgICAgMHhmZSwgMHhiZSwgMHhhOSwgMHhiZiwgMHgwOSwgMHhkMywgMHgyMywgMHg0MywgMHhkMiwgMHhjNywgMHg2MSwgMHgyYSwgXAotICAgICAgICAweGIzLCAweDRlLCAweDNjLCAweDYxLCAweGQ0LCAweGJkLCAweGQ4LCAweGI0LCAweGZhLCAweGE4LCAweDBiLCAweGY4LCBcCi0gICAgICAgIDB4N2UsIDB4NTYsIDB4Y2QsIDB4MGYsIDB4MTMsIDB4MjcsIDB4ZGEsIDB4ZTYsIDB4M2IsIDB4YjMsIDB4OGMsIDB4OWMsIFwKLSAgICAgICAgMHg0YiwgMHg4NCwgMHgzYywgMHhjMywgMHg1MiwgMHg1NywgMHg5YywgMHgyNywgMHg5YSwgMHgwMiwgMHg3NiwgMHgyNiwgXAotICAgICAgICAweDU5LCAweDgyLCAweDM5LCAweGMzLCAweDEzLCAweGJlLCAweDZlLCAweGY0LCAweDQ0LCAweDJkLCAweDFkLCAweDhjLCBcCi0gICAgICAgIDB4NzMsIDB4M2UsIDB4NDMsIDB4OTksIDB4NTksIDB4Y2IsIDB4ZjIsIDB4MzQsIDB4NzIsIDB4OWEsIDB4NWUsIDB4YTUsIFwKLSAgICAgICAgMHhlYiwgMHg5ZiwgMHgzNiwgMHg2ZCwgMHgyYiwgMHhmOSwgMHhhMiwgMHhlNywgMHhkMSwgMHg3OCwgMHg1MiwgMHgxYiwgXAotICAgICAgICAweGM4LCAweGY2LCAweDViLCAweDQxLCAweDY5LCAweDU3LCAweDgxLCAweDg5LCAweGU5LCAweGJiLCAweGExLCAweGRlLCBcCi0gICAgICAgIDB4MTksIDB4MzcsIDB4M2IsIDB4MTMsIDB4NWMsIDB4Y2EsIDB4NjEsIDB4MDEsIDB4ODYsIDB4ZmYsIDB4ZGYsIDB4ODMsIFwKLSAgICAgICAgMHg0MSwgMHg0OSwgMHg3ZiwgMHhkNiwgMHhmNCwgMHgyZSwgMHgwOCwgMHhmYSwgMHg5MCwgMHhjMiwgMHg3YywgMHhiNCwgXAotICAgICAgICAweGI1LCAweDBhLCAweDE3LCAweGRiLCAweDBlLCAweDZkLCAweDc1LCAweDhhLCAweDVkLCAweDMxLCAweGQ1LCAweDY2LCBcCi0gICAgICAgIDB4ZmIsIDB4MzksIDB4MGIsIDB4YjUsIDB4YjYsIDB4YTMsIDB4Y2QsIDB4ZDQsIDB4ZWYsIDB4ODgsIDB4OTIsIDB4NWEsIFwKLSAgICAgICAgMHg0ZCwgMHg2YywgMHhjYiwgMHhlYSwgMHg1YiwgMHg3OSwgMHgwMiwgMHg4MSwgMHg4MSwgMHgwMCwgMHhkZiwgMHgzYSwgXAotICAgICAgICAweGY5LCAweDI1LCAweDVlLCAweDI0LCAweDM3LCAweDI2LCAweDQwLCAweDk3LCAweDJmLCAweGUwLCAweDRhLCAweGJhLCBcCi0gICAgICAgIDB4NTIsIDB4MWIsIDB4NTEsIDB4YWYsIDB4ODQsIDB4MDYsIDB4MzIsIDB4MjQsIDB4MGMsIDB4Y2YsIDB4NDQsIDB4YTgsIFwKLSAgICAgICAgMHg3NywgMHhhNywgMHhhZCwgMHhiNSwgMHg4YywgMHg1OCwgMHhjYywgMHhjOCwgMHgzMSwgMHhiNywgMHgwZCwgMHhiYywgXAotICAgICAgICAweDA4LCAweDhhLCAweGUwLCAweGE2LCAweDhjLCAweGMyLCAweDczLCAweGU1LCAweDFhLCAweDY0LCAweDkyLCAweGU4LCBcCi0gICAgICAgIDB4ZWQsIDB4NGMsIDB4NmYsIDB4MGIsIDB4YTYsIDB4YTcsIDB4ZjMsIDB4OWEsIDB4ZjUsIDB4NmYsIDB4NjksIDB4Y2EsIFwKLSAgICAgICAgMHgzYywgMHgyMiwgMHhkMCwgMHgxNSwgMHhhOCwgMHgyMCwgMHgyNywgMHg0MSwgMHhmOCwgMHg0MywgMHg0MiwgMHg3ZiwgXAotICAgICAgICAweGIxLCAweDkzLCAweGExLCAweDA0LCAweDg1LCAweGRhLCAweGEwLCAweDFjLCAweGQ2LCAweGM2LCAweGY3LCAweDhhLCBcCi0gICAgICAgIDB4OWUsIDB4ZWEsIDB4NWMsIDB4NzgsIDB4YTcsIDB4NTUsIDB4YzQsIDB4NmIsIDB4MDUsIDB4OGIsIDB4YzAsIDB4ODMsIFwKLSAgICAgICAgMHhjYiwgMHhjZSwgMHg4MywgMHgwNSwgMHhmOCwgMHhiMiwgMHgxNiwgMHgyYiwgMHhkZiwgMHgwNiwgMHgzZiwgMHhiOCwgXAotICAgICAgICAweGVjLCAweDE2LCAweGRhLCAweDQzLCAweDMzLCAweGMxLCAweDhmLCAweGIwLCAweGI4LCAweGFjLCAweGFlLCAweGQ0LCBcCi0gICAgICAgIDB4OTQsIDB4YjgsIDB4ZGEsIDB4NmYsIDB4NmEsIDB4YzMsIDB4MDIsIDB4ODEsIDB4ODEsIDB4MDAsIDB4ZGQsIDB4YWUsIFwKLSAgICAgICAgMHgwMCwgMHhjZCwgMHhhMCwgMHg3MiwgMHgxYSwgMHgwNSwgMHg4YSwgMHhlZSwgMHgyZiwgMHhkNCwgMHg3MSwgMHg0YiwgXAotICAgICAgICAweGYwLCAweDNlLCAweGU1LCAweGMxLCAweGUxLCAweDI5LCAweDhiLCAweGE2LCAweDY3LCAweDMwLCAweDk4LCAweGU3LCBcCi0gICAgICAgIDB4MTIsIDB4ZWYsIDB4ZGQsIDB4MTIsIDB4MDEsIDB4OTAsIDB4MjQsIDB4NTgsIDB4ZjAsIDB4NzYsIDB4OTIsIDB4ZTcsIFwKLSAgICAgICAgMHgzZCwgMHhiYiwgMHgyMywgMHhlMSwgMHhjZSwgMHhmOSwgMHhhMSwgMHhkNCwgMHgzOCwgMHgxYiwgMHgzZiwgMHgyMCwgXAotICAgICAgICAweGIzLCAweDBmLCAweDY1LCAweDZhLCAweDhmLCAweDU1LCAweDU3LCAweDM2LCAweGVlLCAweGIyLCAweDg0LCAweDQ0LCBcCi0gICAgICAgIDB4ZmMsIDB4OTEsIDB4ODgsIDB4ZTEsIDB4YTQsIDB4ZGQsIDB4M2IsIDB4NGEsIDB4NDAsIDB4NGQsIDB4N2MsIDB4ODYsIFwKLSAgICAgICAgMHhlZCwgMHhlMSwgMHhiNSwgMHg0MiwgMHhlZiwgMHhiOSwgMHg2MSwgMHhjZCwgMHg1OCwgMHgxOSwgMHg3NywgMHgwMiwgXAotICAgICAgICAweGFlLCAweDU4LCAweDgwLCAweGRiLCAweDEzLCAweDNkLCAweGM3LCAweDFmLCAweDlkLCAweGVkLCAweGZmLCAweGFjLCBcCi0gICAgICAgIDB4OTgsIDB4ZmMsIDB4Y2QsIDB4ZjksIDB4NjIsIDB4MDQsIDB4ODMsIDB4OTEsIDB4ODksIDB4MGQsIDB4ODYsIDB4NDMsIFwKLSAgICAgICAgMHg4YywgMHgwYywgMHhjNywgMHgxYiwgMHg5MCwgMHg0ZCwgMHhiZSwgMHgyZiwgMHhjNSwgMHg3YywgMHhjZCwgMHg0MiwgXAotICAgICAgICAweGY1LCAweGQzLCAweGFkLCAweDhlLCAweGZkLCAweDlkLCAweDAyLCAweDgxLCAweDgwLCAweDE3LCAweDRiLCAweDc5LCBcCi0gICAgICAgIDB4MmEsIDB4NmMsIDB4MWIsIDB4OGQsIDB4NjEsIDB4YzEsIDB4ODUsIDB4YzUsIDB4NmEsIDB4M2IsIDB4ODIsIDB4MWMsIFwKLSAgICAgICAgMHgwNSwgMHg1YiwgMHhjZCwgMHhkYywgMHgxMiwgMHgyNSwgMHg3MywgMHg1YiwgMHg5ZSwgMHhkOSwgMHg4NCwgMHg1NywgXAotICAgICAgICAweDEwLCAweDM5LCAweDcxLCAweDYzLCAweDk2LCAweGY0LCAweGFmLCAweGMzLCAweDc4LCAweDVkLCAweGM3LCAweDhjLCBcCi0gICAgICAgIDB4ODAsIDB4YTksIDB4OTYsIDB4ZDcsIDB4YzMsIDB4ODcsIDB4MDIsIDB4OTYsIDB4NzEsIDB4N2UsIDB4NWYsIDB4MmUsIFwKLSAgICAgICAgMHgzYywgMHgzNiwgMHhhZSwgMHg1OSwgMHg5MiwgMHhkNywgMHgzYSwgMHgwOSwgMHg3OCwgMHhiOSwgMHhlYSwgMHg2ZiwgXAotICAgICAgICAweGMyLCAweDE2LCAweDQyLCAweGRjLCAweDRiLCAweDk2LCAweGFkLCAweDJjLCAweGIyLCAweDIwLCAweDIzLCAweDYxLCBcCi0gICAgICAgIDB4MmQsIDB4OGQsIDB4YjUsIDB4MDIsIDB4MWUsIDB4ZTEsIDB4NmMsIDB4ODEsIDB4MDEsIDB4M2MsIDB4NWQsIDB4Y2IsIFwKLSAgICAgICAgMHhkZCwgMHg5YiwgMHgwZSwgMHhjMCwgMHgyZiwgMHg5NCwgMHgxMiwgMHhiMiwgMHhmZSwgMHg3NSwgMHg3NSwgMHg4YiwgXAotICAgICAgICAweDc0LCAweDFlLCAweDdhLCAweDI2LCAweDBjLCAweGI3LCAweDgxLCAweDk2LCAweDgxLCAweDc5LCAweDZlLCAweGRiLCBcCi0gICAgICAgIDB4YmMsIDB4M2EsIDB4YzQsIDB4OWUsIDB4ODcsIDB4MDksIDB4NmUsIDB4YTAsIDB4YTYsIDB4ZWMsIDB4OGIsIDB4YTQsIFwKLSAgICAgICAgMHg4NSwgMHg3MSwgMHhjZSwgMHgwNCwgMHhhZiwgMHgwMiwgMHg4MSwgMHg4MSwgMHgwMCwgMHhjMiwgMHhhNywgMHg0NywgXAotICAgICAgICAweDA3LCAweDQ4LCAweDZhLCAweGM4LCAweGQ0LCAweGIzLCAweDIwLCAweGUxLCAweDk4LCAweGVlLCAweGZmLCAweDVhLCBcCi0gICAgICAgIDB4NmYsIDB4MzAsIDB4N2EsIDB4YTUsIDB4NDcsIDB4NDAsIDB4ZGMsIDB4MTYsIDB4NjIsIDB4NDIsIDB4ZjEsIDB4MmMsIFwKLSAgICAgICAgMHhkYywgMHhiOCwgMHhjNywgMHg1NSwgMHhkZSwgMHgwNywgMHgzYywgMHg5ZCwgMHhiMSwgMHhkMCwgMHhkZiwgMHgwMiwgXAotICAgICAgICAweDgyLCAweGIwLCAweDQ4LCAweDU4LCAweGUxLCAweDM0LCAweGFiLCAweGNmLCAweGI0LCAweDg1LCAweDIzLCAweDI2LCBcCi0gICAgICAgIDB4NzgsIDB4NGYsIDB4N2EsIDB4NTksIDB4NmYsIDB4ZmIsIDB4OGMsIDB4M2QsIDB4ZGYsIDB4M2QsIDB4NmMsIDB4MDIsIFwKLSAgICAgICAgMHg0NywgMHg5YywgMHhlNSwgMHg1ZSwgMHg0OSwgMHhmMSwgMHgwNSwgMHgwYiwgMHgxZiwgMHhiZiwgMHg0OCwgMHgwZiwgXAotICAgICAgICAweGRjLCAweDEwLCAweGI5LCAweDNkLCAweDFkLCAweDEwLCAweDc3LCAweDJhLCAweDczLCAweGY5LCAweGRmLCAweGJkLCBcCi0gICAgICAgIDB4Y2QsIDB4ZjMsIDB4MWYsIDB4ZWIsIDB4NmUsIDB4NjQsIDB4Y2EsIDB4MmIsIDB4NzgsIDB4NGYsIDB4ZjgsIDB4NzMsIFwKLSAgICAgICAgMHhjMiwgMHgxMCwgMHhlZiwgMHg3OSwgMHg5NSwgMHgzMywgMHgxZSwgMHg3OSwgMHgzNSwgMHgwOSwgMHhmZiwgMHg4OCwgXAotICAgICAgICAweDFiLCAweGI0LCAweDNlLCAweDRjLCAweGUxLCAweDI3LCAweDJlLCAweDc1LCAweDgwLCAweDU4LCAweDExLCAweDAzLCBcCi0gICAgICAgIDB4MjEsIDB4MjMsIDB4OTYsIDB4OWEsIDB4YjUsIDB4MDIsIDB4ODEsIDB4ODAsIDB4MDUsIDB4MTIsIDB4NjQsIDB4NzEsIFwKLSAgICAgICAgMHg4MywgMHgwMCwgMHgxYywgMHhmZSwgMHhlZiwgMHg4MywgMHhlYSwgMHhkZCwgMHgyYywgMHhjOCwgMHgyYywgMHgwMCwgXAotICAgICAgICAweDYyLCAweDFlLCAweDhmLCAweDNhLCAweGRiLCAweDFjLCAweGFiLCAweGQ2LCAweDM0LCAweDhiLCAweGQxLCAweGIyLCBcCi0gICAgICAgIDB4NWEsIDB4NGYsIDB4M2QsIDB4MzcsIDB4MzgsIDB4MDIsIDB4ZTAsIDB4ZDcsIDB4NzAsIDB4YzEsIDB4YjAsIDB4NDcsIFwKLSAgICAgICAgMHhlMCwgMHgwOCwgMHgxYSwgMHg4NCwgMHhlYywgMHg0OCwgMHhjNSwgMHg3YywgMHg3NiwgMHg4MywgMHgxMiwgMHg2NywgXAotICAgICAgICAweGFiLCAweDdjLCAweDlmLCAweDkwLCAweDk3LCAweGM4LCAweDhmLCAweDA3LCAweGY0LCAweGIzLCAweDYwLCAweGYyLCBcCi0gICAgICAgIDB4M2YsIDB4NDksIDB4MTgsIDB4ZGIsIDB4MmUsIDB4OTQsIDB4NmIsIDB4NTMsIDB4OWUsIDB4YTIsIDB4NjMsIDB4ZGUsIFwKLSAgICAgICAgMHg2MywgMHhkOSwgMHhhYiwgMHgyMSwgMHgyZSwgMHgyZCwgMHgwYSwgMHhlMCwgMHhkMCwgMHhlOCwgMHhiYSwgMHhjNCwgXAotICAgICAgICAweDRjLCAweDFlLCAweGE1LCAweGY1LCAweDUxLCAweGE4LCAweGM0LCAweDkyLCAweGY4LCAweDdmLCAweDIxLCAweGU3LCBcCi0gICAgICAgIDB4NjUsIDB4YmYsIDB4MGIsIDB4ZTYsIDB4MDEsIDB4YWYsIDB4OWMsIDB4MWQsIDB4NWIsIDB4NmMsIDB4M2YsIDB4MWMsIFwKLSAgICAgICAgMHgyZiwgMHhhNiwgMHgwZiwgMHg2OCwgMHgzOCwgMHg4ZSwgMHg4NSwgMHhjNCwgMHg2YywgMHg3OCwgMHgyZiwgMHg2ZiwgXAotICAgICAgICAweDA2LCAweDIxLCAweDJlLCAweDU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19Ci0vKiBFTkQgRklMRSAqLwotCi0vKiBUaGlzIGlzIHRha2VuIGZyb20gY2xpMi5jcnQuICovCi0vKiBCRUdJTiBGSUxFIHN0cmluZyBtYWNybyBURVNUX0NMSV9DUlRfRUNfUEVNIGNsaTIuY3J0ICovCi0jZGVmaW5lIFRFU1RfQ0xJX0NSVF9FQ19QRU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiTUlJQjN6Q0NBV09nQXdJQkFnSUJEVEFNQmdncWhrak9QUVFEQWdVQU1ENHhDekFKQmdOVkJBWVRBazVNTVJFd1xyXG4iICAgICBcCi0gICAgIkR3WURWUVFLREFoUWIyeGhjbE5UVERFY01Cb0dBMVVFQXd3VFVHOXNZWEpUVTB3Z1ZHVnpkQ0JGUXlCRFFUQWVcclxuIiAgICAgXAotICAgICJGdzB4T1RBeU1UQXhORFEwTURCYUZ3MHlPVEF5TVRBeE5EUTBNREJhTUVFeEN6QUpCZ05WQkFZVEFrNU1NUkV3XHJcbiIgICAgIFwKLSAgICAiRHdZRFZRUUtEQWhRYjJ4aGNsTlRUREVmTUIwR0ExVUVBd3dXVUc5c1lYSlRVMHdnVkdWemRDQkRiR2xsYm5RZ1xyXG4iICAgICBcCi0gICAgIk1qQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJGZmxyckZ6MzlPc3U1TzRnZjhTcnU3bVU2ek9cclxuIiAgICAgXAotICAgICJWVlAyTkE3TUx1TmpKUXZmbU9MelhHQTJsc0RWR0JSdzVYK2YxVXRGR09Xd2JOVmMrSmFQaDNDajVNZWpUVEJMXHJcbiIgICAgIFwKLSAgICAiTUFrR0ExVWRFd1FDTUFBd0hRWURWUjBPQkJZRUZIb0FYNFprL09CZDVSRVFPN0xtTzhRbVA4L2lNQjhHQTFVZFxyXG4iICAgICBcCi0gICAgIkl3UVlNQmFBRkoxdElDUkpBVDhyeTNpMUdieCtKTW5iK3paOE1Bd0dDQ3FHU000OUJBTUNCUUFEYUFBd1pRSXhcclxuIiAgICAgXAotICAgICJBTXFtZTRES01sZFVscGxERVQ5UTZFcHRyZTd1VVdLaHNMT0YrelBrS0RsZnpwSWtKWUVGZ2Nsb0RIR1l3ODB1XHJcbiIgICAgIFwKLSAgICAiSWdJd05mdHlQWHNhYlRxTU03aUVIZ1ZwWC9HUm96S2tsWTl5UUkvNWVvQTZnR1c3WStpbXVHUi9vYW81eVNPYlxyXG4iICAgICBcCi0gICAgImE5VmtcclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tXHJcbiIKLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgZ2VuZXJhdGVkIGZyb20gY2xpMi5jcnQuZGVyLiAqLwotLyogQkVHSU4gRklMRSBiaW5hcnkgbWFjcm8gVEVTVF9DTElfQ1JUX0VDX0RFUiBjbGkyLmNydC5kZXIgKi8KLSNkZWZpbmUgVEVTVF9DTElfQ1JUX0VDX0RFUiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAweDMwLCAweDgyLCAweDAxLCAweGRmLCAweDMwLCAweDgyLCAweDAxLCAweDYzLCAweGEwLCAweDAzLCAweDAyLCAweDAxLCBcCi0gICAgICAgIDB4MDIsIDB4MDIsIDB4MDEsIDB4MGQsIDB4MzAsIDB4MGMsIDB4MDYsIDB4MDgsIDB4MmEsIDB4ODYsIDB4NDgsIDB4Y2UsIFwKLSAgICAgICAgMHgzZCwgMHgwNCwgMHgwMywgMHgwMiwgMHgwNSwgMHgwMCwgMHgzMCwgMHgzZSwgMHgzMSwgMHgwYiwgMHgzMCwgMHgwOSwgXAotICAgICAgICAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDA2LCAweDEzLCAweDAyLCAweDRlLCAweDRjLCAweDMxLCAweDExLCAweDMwLCBcCi0gICAgICAgIDB4MGYsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIDB4MGEsIDB4MGMsIDB4MDgsIDB4NTAsIDB4NmYsIDB4NmMsIDB4NjEsIFwKLSAgICAgICAgMHg3MiwgMHg1MywgMHg1MywgMHg0YywgMHgzMSwgMHgxYywgMHgzMCwgMHgxYSwgMHgwNiwgMHgwMywgMHg1NSwgMHgwNCwgXAotICAgICAgICAweDAzLCAweDBjLCAweDEzLCAweDUwLCAweDZmLCAweDZjLCAweDYxLCAweDcyLCAweDUzLCAweDUzLCAweDRjLCAweDIwLCBcCi0gICAgICAgIDB4NTQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4MjAsIDB4NDUsIDB4NDMsIDB4MjAsIDB4NDMsIDB4NDEsIDB4MzAsIDB4MWUsIFwKLSAgICAgICAgMHgxNywgMHgwZCwgMHgzMSwgMHgzOSwgMHgzMCwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzMSwgMHgzNCwgMHgzNCwgMHgzNCwgXAotICAgICAgICAweDMwLCAweDMwLCAweDVhLCAweDE3LCAweDBkLCAweDMyLCAweDM5LCAweDMwLCAweDMyLCAweDMxLCAweDMwLCAweDMxLCBcCi0gICAgICAgIDB4MzQsIDB4MzQsIDB4MzQsIDB4MzAsIDB4MzAsIDB4NWEsIDB4MzAsIDB4NDEsIDB4MzEsIDB4MGIsIDB4MzAsIDB4MDksIFwKLSAgICAgICAgMHgwNiwgMHgwMywgMHg1NSwgMHgwNCwgMHgwNiwgMHgxMywgMHgwMiwgMHg0ZSwgMHg0YywgMHgzMSwgMHgxMSwgMHgzMCwgXAotICAgICAgICAweDBmLCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDBhLCAweDBjLCAweDA4LCAweDUwLCAweDZmLCAweDZjLCAweDYxLCBcCi0gICAgICAgIDB4NzIsIDB4NTMsIDB4NTMsIDB4NGMsIDB4MzEsIDB4MWYsIDB4MzAsIDB4MWQsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIFwKLSAgICAgICAgMHgwMywgMHgwYywgMHgxNiwgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg1MywgMHg1MywgMHg0YywgMHgyMCwgXAotICAgICAgICAweDU0LCAweDY1LCAweDczLCAweDc0LCAweDIwLCAweDQzLCAweDZjLCAweDY5LCAweDY1LCAweDZlLCAweDc0LCAweDIwLCBcCi0gICAgICAgIDB4MzIsIDB4MzAsIDB4NTksIDB4MzAsIDB4MTMsIDB4MDYsIDB4MDcsIDB4MmEsIDB4ODYsIDB4NDgsIDB4Y2UsIDB4M2QsIFwKLSAgICAgICAgMHgwMiwgMHgwMSwgMHgwNiwgMHgwOCwgMHgyYSwgMHg4NiwgMHg0OCwgMHhjZSwgMHgzZCwgMHgwMywgMHgwMSwgMHgwNywgXAotICAgICAgICAweDAzLCAweDQyLCAweDAwLCAweDA0LCAweDU3LCAweGU1LCAweGFlLCAweGIxLCAweDczLCAweGRmLCAweGQzLCAweGFjLCBcCi0gICAgICAgIDB4YmIsIDB4OTMsIDB4YjgsIDB4ODEsIDB4ZmYsIDB4MTIsIDB4YWUsIDB4ZWUsIDB4ZTYsIDB4NTMsIDB4YWMsIDB4Y2UsIFwKLSAgICAgICAgMHg1NSwgMHg1MywgMHhmNiwgMHgzNCwgMHgwZSwgMHhjYywgMHgyZSwgMHhlMywgMHg2MywgMHgyNSwgMHgwYiwgMHhkZiwgXAotICAgICAgICAweDk4LCAweGUyLCAweGYzLCAweDVjLCAweDYwLCAweDM2LCAweDk2LCAweGMwLCAweGQ1LCAweDE4LCAweDE0LCAweDcwLCBcCi0gICAgICAgIDB4ZTUsIDB4N2YsIDB4OWYsIDB4ZDUsIDB4NGIsIDB4NDUsIDB4MTgsIDB4ZTUsIDB4YjAsIDB4NmMsIDB4ZDUsIDB4NWMsIFwKLSAgICAgICAgMHhmOCwgMHg5NiwgMHg4ZiwgMHg4NywgMHg3MCwgMHhhMywgMHhlNCwgMHhjNywgMHhhMywgMHg0ZCwgMHgzMCwgMHg0YiwgXAotICAgICAgICAweDMwLCAweDA5LCAweDA2LCAweDAzLCAweDU1LCAweDFkLCAweDEzLCAweDA0LCAweDAyLCAweDMwLCAweDAwLCAweDMwLCBcCi0gICAgICAgIDB4MWQsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MWQsIDB4MGUsIDB4MDQsIDB4MTYsIDB4MDQsIDB4MTQsIDB4N2EsIDB4MDAsIFwKLSAgICAgICAgMHg1ZiwgMHg4NiwgMHg2NCwgMHhmYywgMHhlMCwgMHg1ZCwgMHhlNSwgMHgxMSwgMHgxMCwgMHgzYiwgMHhiMiwgMHhlNiwgXAotICAgICAgICAweDNiLCAweGM0LCAweDI2LCAweDNmLCAweGNmLCAweGUyLCAweDMwLCAweDFmLCAweDA2LCAweDAzLCAweDU1LCAweDFkLCBcCi0gICAgICAgIDB4MjMsIDB4MDQsIDB4MTgsIDB4MzAsIDB4MTYsIDB4ODAsIDB4MTQsIDB4OWQsIDB4NmQsIDB4MjAsIDB4MjQsIDB4NDksIFwKLSAgICAgICAgMHgwMSwgMHgzZiwgMHgyYiwgMHhjYiwgMHg3OCwgMHhiNSwgMHgxOSwgMHhiYywgMHg3ZSwgMHgyNCwgMHhjOSwgMHhkYiwgXAotICAgICAgICAweGZiLCAweDM2LCAweDdjLCAweDMwLCAweDBjLCAweDA2LCAweDA4LCAweDJhLCAweDg2LCAweDQ4LCAweGNlLCAweDNkLCBcCi0gICAgICAgIDB4MDQsIDB4MDMsIDB4MDIsIDB4MDUsIDB4MDAsIDB4MDMsIDB4NjgsIDB4MDAsIDB4MzAsIDB4NjUsIDB4MDIsIDB4MzEsIFwKLSAgICAgICAgMHgwMCwgMHhjYSwgMHhhNiwgMHg3YiwgMHg4MCwgMHhjYSwgMHgzMiwgMHg1NywgMHg1NCwgMHg5NiwgMHg5OSwgMHg0MywgXAotICAgICAgICAweDExLCAweDNmLCAweDUwLCAweGU4LCAweDRhLCAweDZkLCAweGFkLCAweGVlLCAweGVlLCAweDUxLCAweDYyLCAweGExLCBcCi0gICAgICAgIDB4YjAsIDB4YjMsIDB4ODUsIDB4ZmIsIDB4MzMsIDB4ZTQsIDB4MjgsIDB4MzksIDB4NWYsIDB4Y2UsIDB4OTIsIDB4MjQsIFwKLSAgICAgICAgMHgyNSwgMHg4MSwgMHgwNSwgMHg4MSwgMHhjOSwgMHg2OCwgMHgwYywgMHg3MSwgMHg5OCwgMHhjMywgMHhjZCwgMHgyZSwgXAotICAgICAgICAweDIyLCAweDAyLCAweDMwLCAweDM1LCAweGZiLCAweDcyLCAweDNkLCAweDdiLCAweDFhLCAweDZkLCAweDNhLCAweDhjLCBcCi0gICAgICAgIDB4MzMsIDB4YjgsIDB4ODQsIDB4MWUsIDB4MDUsIDB4NjksIDB4NWYsIDB4ZjEsIDB4OTEsIDB4YTMsIDB4MzIsIDB4YTQsIFwKLSAgICAgICAgMHg5NSwgMHg4ZiwgMHg3MiwgMHg0MCwgMHg4ZiwgMHhmOSwgMHg3YSwgMHg4MCwgMHgzYSwgMHg4MCwgMHg2NSwgMHhiYiwgXAotICAgICAgICAweDYzLCAweGU4LCAweGE2LCAweGI4LCAweDY0LCAweDdmLCAweGExLCAweGFhLCAweDM5LCAweGM5LCAweDIzLCAweDliLCBcCi0gICAgICAgIDB4NmIsIDB4ZDUsIDB4NjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0KLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgdGFrZW4gZnJvbSBjbGkyLmtleS4gKi8KLS8qIEJFR0lOIEZJTEUgc3RyaW5nIG1hY3JvIFRFU1RfQ0xJX0tFWV9FQ19QRU0gY2xpMi5rZXkgKi8KLSNkZWZpbmUgVEVTVF9DTElfS0VZX0VDX1BFTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLVxyXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJNSGNDQVFFRUlQYjNobVR4WjMvbVpJM3Z5azdwM1Uzd0JmK1dJb3A2aERoa0Z6SmhtTGNxb0FvR0NDcUdTTTQ5XHJcbiIgICAgIFwKLSAgICAiQXdFSG9VUURRZ0FFVitXdXNYUGYwNnk3azdpQi94S3U3dVpUck01VlUvWTBEc3d1NDJNbEM5K1k0dk5jWURhV1xyXG4iICAgICBcCi0gICAgIndOVVlGSERsZjUvVlMwVVk1YkJzMVZ6NGxvK0hjS1BreHc9PVxyXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tXHJcbiIKLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgZ2VuZXJhdGVkIGZyb20gY2xpMi5rZXkuZGVyLiAqLwotLyogQkVHSU4gRklMRSBiaW5hcnkgbWFjcm8gVEVTVF9DTElfS0VZX0VDX0RFUiBjbGkyLmtleS5kZXIgKi8KLSNkZWZpbmUgVEVTVF9DTElfS0VZX0VDX0RFUiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAweDMwLCAweDc3LCAweDAyLCAweDAxLCAweDAxLCAweDA0LCAweDIwLCAweGY2LCAweGY3LCAweDg2LCAweDY0LCAweGYxLCBcCi0gICAgICAgIDB4NjcsIDB4N2YsIDB4ZTYsIDB4NjQsIDB4OGQsIDB4ZWYsIDB4Y2EsIDB4NGUsIDB4ZTksIDB4ZGQsIDB4NGQsIDB4ZjAsIFwKLSAgICAgICAgMHgwNSwgMHhmZiwgMHg5NiwgMHgyMiwgMHg4YSwgMHg3YSwgMHg4NCwgMHgzOCwgMHg2NCwgMHgxNywgMHgzMiwgMHg2MSwgXAotICAgICAgICAweDk4LCAweGI3LCAweDJhLCAweGEwLCAweDBhLCAweDA2LCAweDA4LCAweDJhLCAweDg2LCAweDQ4LCAweGNlLCAweDNkLCBcCi0gICAgICAgIDB4MDMsIDB4MDEsIDB4MDcsIDB4YTEsIDB4NDQsIDB4MDMsIDB4NDIsIDB4MDAsIDB4MDQsIDB4NTcsIDB4ZTUsIDB4YWUsIFwKLSAgICAgICAgMHhiMSwgMHg3MywgMHhkZiwgMHhkMywgMHhhYywgMHhiYiwgMHg5MywgMHhiOCwgMHg4MSwgMHhmZiwgMHgxMiwgMHhhZSwgXAotICAgICAgICAweGVlLCAweGU2LCAweDUzLCAweGFjLCAweGNlLCAweDU1LCAweDUzLCAweGY2LCAweDM0LCAweDBlLCAweGNjLCAweDJlLCBcCi0gICAgICAgIDB4ZTMsIDB4NjMsIDB4MjUsIDB4MGIsIDB4ZGYsIDB4OTgsIDB4ZTIsIDB4ZjMsIDB4NWMsIDB4NjAsIDB4MzYsIDB4OTYsIFwKLSAgICAgICAgMHhjMCwgMHhkNSwgMHgxOCwgMHgxNCwgMHg3MCwgMHhlNSwgMHg3ZiwgMHg5ZiwgMHhkNSwgMHg0YiwgMHg0NSwgMHgxOCwgXAotICAgICAgICAweGU1LCAweGIwLCAweDZjLCAweGQ1LCAweDVjLCAweGY4LCAweDk2LCAweDhmLCAweDg3LCAweDcwLCAweGEzLCAweGU0LCBcCi0gICAgICAgIDB4YzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0KLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgdGFrZW4gZnJvbSBjbGktcnNhLXNoYTI1Ni5jcnQuICovCi0vKiBCRUdJTiBGSUxFIHN0cmluZyBtYWNybyBURVNUX0NMSV9DUlRfUlNBX1BFTSBjbGktcnNhLXNoYTI1Ni5jcnQgKi8KLSNkZWZpbmUgVEVTVF9DTElfQ1JUX1JTQV9QRU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxyXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICJNSUlEUHpDQ0FpZWdBd0lCQWdJQkJEQU5CZ2txaGtpRzl3MEJBUXNGQURBN01Rc3dDUVlEVlFRR0V3Sk9UREVSXHJcbiIgICAgIFwKLSAgICAiTUE4R0ExVUVDZ3dJVUc5c1lYSlRVMHd4R1RBWEJnTlZCQU1NRUZCdmJHRnlVMU5NSUZSbGMzUWdRMEV3SGhjTlxyXG4iICAgICBcCi0gICAgIk1Ua3dNakV3TVRRME5EQTJXaGNOTWprd01qRXdNVFEwTkRBMldqQThNUXN3Q1FZRFZRUUdFd0pPVERFUk1BOEdcclxuIiAgICAgXAotICAgICJBMVVFQ2d3SVVHOXNZWEpUVTB3eEdqQVlCZ05WQkFNTUVWQnZiR0Z5VTFOTUlFTnNhV1Z1ZENBeU1JSUJJakFOXHJcbiIgICAgIFwKLSAgICAiQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeUhURXpMbjV0WG5wUmRrVVlMQjl1NVB5YXg2ZlxyXG4iICAgICBcCi0gICAgIk02ME5qNG84Vm1YbDNFVFp6R2FGQjlYNEo3QktOZEJqbmdwdUc3ZmE4SDZyN2d3UWs0WkpHRFR6cUNyU1YvVXVcclxuIiAgICAgXAotICAgICIxQzkzS1lSaFRZSlFqNmVWU0hEMWJrMnkxUlBEMGhydDVrUHFRaFRyZE9yQTdSL1VWMDZwODZqdDB1REJNSEV3XHJcbiIgICAgIFwKLSAgICAiTWpEVjAvWUkwRlpQUm83eVgvazlaNUdJTUM1Q3N0OTkrK1VNZC8vc01jQjRqNy9DZjhxdGJDSFdqZG1MYW81dlxyXG4iICAgICBcCi0gICAgIjRKdjRFRmJNczQ0VEZlWTBCR2JIN3ZrMkRtcVY5Z21hQm1mMFpYSDR5cVN4SmVEK1BJczFCR2U2NEU5MmhmeC9cclxuIiAgICAgXAotICAgICIvRFpydGVuTkxRTmlUck05QU0rdmRxQnBWb05xMHFqVTUxQng1clUyQlhjRmJYdkk1TVQ5VE5VaFh3SURBUUFCXHJcbiIgICAgIFwKLSAgICAibzAwd1N6QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERnUVdCQlJ4b1FCemNrQXZWSFplTS94U2o3engzV3RHSVRBZlxyXG4iICAgICBcCi0gICAgIkJnTlZIU01FR0RBV2dCUzBXdVNsczk3U1V2YTUxYWFWRCtzK3ZNZjkvekFOQmdrcWhraUc5dzBCQVFzRkFBT0NcclxuIiAgICAgXAotICAgICJBUUVBWGlkdjFkNHBMbEJpS1dFRDk1ck15Y0JkZ0RjZ3lOcUp4YWtGa1JmUnlBMnkxbWx5VG43dUJYUmtOTFk1XHJcbiIgICAgIFwKLSAgICAiWkZ6SzgyR0NqazJRMk9ENFJaU0NQQUpKcUxwSEhVMzR0NzFjaWZmdnkyS0s4MVl2cnhjelJoTUFFNjRpK3FuYVxyXG4iICAgICBcCi0gICAgInlQM1RkMlh1V0pSMDVQVlBvU2Vtc05FTHM5Z1d0dGRuWXkzY2UrRVkyWTBuN1JzaTc5ODJFZUxJQUE3SDZjYTRcclxuIiAgICAgXAotICAgICIyRXMvTlVILy9KWkpUMzJPUDBkb014ZURSQSt2cGxrS3FUTExXZjdkWDI2TElyaUJrQmFSQ2dSNVl2OUxCUEZjXHJcbiIgICAgIFwKLSAgICAiTk90cHp1L0xiclk3UUZYS0pNSStKWER1ZENzT244S0NtaUE0ZDZFbWlzcWZoM1YzNDg1bDdIRVFOY3ZMVHhsRFxyXG4iICAgICBcCi0gICAgIjZ6RFF5aTAveWtZVVlaa3dRVEsxTjJOdmx3PT1cclxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICItLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tXHJcbiIKLS8qIEVORCBGSUxFICovCi0KLS8qIFRoaXMgaXMgZ2VuZXJhdGVkIGZyb20gY2xpLXJzYS1zaGEyNTYuY3J0LmRlci4gKi8KLS8qIEJFR0lOIEZJTEUgYmluYXJ5IG1hY3JvIFRFU1RfQ0xJX0NSVF9SU0FfREVSIGNsaS1yc2Etc2hhMjU2LmNydC5kZXIgKi8KLSNkZWZpbmUgVEVTVF9DTElfQ1JUX1JTQV9ERVIgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAweDMwLCAweDgyLCAweDAzLCAweDNmLCAweDMwLCAweDgyLCAweDAyLCAweDI3LCAweGEwLCAweDAzLCAweDAyLCAweDAxLCBcCi0gICAgICAgIDB4MDIsIDB4MDIsIDB4MDEsIDB4MDQsIDB4MzAsIDB4MGQsIDB4MDYsIDB4MDksIDB4MmEsIDB4ODYsIDB4NDgsIDB4ODYsIFwKLSAgICAgICAgMHhmNywgMHgwZCwgMHgwMSwgMHgwMSwgMHgwYiwgMHgwNSwgMHgwMCwgMHgzMCwgMHgzYiwgMHgzMSwgMHgwYiwgMHgzMCwgXAotICAgICAgICAweDA5LCAweDA2LCAweDAzLCAweDU1LCAweDA0LCAweDA2LCAweDEzLCAweDAyLCAweDRlLCAweDRjLCAweDMxLCAweDExLCBcCi0gICAgICAgIDB4MzAsIDB4MGYsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIDB4MGEsIDB4MGMsIDB4MDgsIDB4NTAsIDB4NmYsIDB4NmMsIFwKLSAgICAgICAgMHg2MSwgMHg3MiwgMHg1MywgMHg1MywgMHg0YywgMHgzMSwgMHgxOSwgMHgzMCwgMHgxNywgMHgwNiwgMHgwMywgMHg1NSwgXAotICAgICAgICAweDA0LCAweDAzLCAweDBjLCAweDEwLCAweDUwLCAweDZmLCAweDZjLCAweDYxLCAweDcyLCAweDUzLCAweDUzLCAweDRjLCBcCi0gICAgICAgIDB4MjAsIDB4NTQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4MjAsIDB4NDMsIDB4NDEsIDB4MzAsIDB4MWUsIDB4MTcsIDB4MGQsIFwKLSAgICAgICAgMHgzMSwgMHgzOSwgMHgzMCwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzMSwgMHgzNCwgMHgzNCwgMHgzNCwgMHgzMCwgMHgzNiwgXAotICAgICAgICAweDVhLCAweDE3LCAweDBkLCAweDMyLCAweDM5LCAweDMwLCAweDMyLCAweDMxLCAweDMwLCAweDMxLCAweDM0LCAweDM0LCBcCi0gICAgICAgIDB4MzQsIDB4MzAsIDB4MzYsIDB4NWEsIDB4MzAsIDB4M2MsIDB4MzEsIDB4MGIsIDB4MzAsIDB4MDksIDB4MDYsIDB4MDMsIFwKLSAgICAgICAgMHg1NSwgMHgwNCwgMHgwNiwgMHgxMywgMHgwMiwgMHg0ZSwgMHg0YywgMHgzMSwgMHgxMSwgMHgzMCwgMHgwZiwgMHgwNiwgXAotICAgICAgICAweDAzLCAweDU1LCAweDA0LCAweDBhLCAweDBjLCAweDA4LCAweDUwLCAweDZmLCAweDZjLCAweDYxLCAweDcyLCAweDUzLCBcCi0gICAgICAgIDB4NTMsIDB4NGMsIDB4MzEsIDB4MWEsIDB4MzAsIDB4MTgsIDB4MDYsIDB4MDMsIDB4NTUsIDB4MDQsIDB4MDMsIDB4MGMsIFwKLSAgICAgICAgMHgxMSwgMHg1MCwgMHg2ZiwgMHg2YywgMHg2MSwgMHg3MiwgMHg1MywgMHg1MywgMHg0YywgMHgyMCwgMHg0MywgMHg2YywgXAotICAgICAgICAweDY5LCAweDY1LCAweDZlLCAweDc0LCAweDIwLCAweDMyLCAweDMwLCAweDgyLCAweDAxLCAweDIyLCAweDMwLCAweDBkLCBcCi0gICAgICAgIDB4MDYsIDB4MDksIDB4MmEsIDB4ODYsIDB4NDgsIDB4ODYsIDB4ZjcsIDB4MGQsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDUsIFwKLSAgICAgICAgMHgwMCwgMHgwMywgMHg4MiwgMHgwMSwgMHgwZiwgMHgwMCwgMHgzMCwgMHg4MiwgMHgwMSwgMHgwYSwgMHgwMiwgMHg4MiwgXAotICAgICAgICAweDAxLCAweDAxLCAweDAwLCAweGM4LCAweDc0LCAweGM0LCAweGNjLCAweGI5LCAweGY5LCAweGI1LCAweDc5LCAweGU5LCBcCi0gICAgICAgIDB4NDUsIDB4ZDksIDB4MTQsIDB4NjAsIDB4YjAsIDB4N2QsIDB4YmIsIDB4OTMsIDB4ZjIsIDB4NmIsIDB4MWUsIDB4OWYsIFwKLSAgICAgICAgMHgzMywgMHhhZCwgMHgwZCwgMHg4ZiwgMHg4YSwgMHgzYywgMHg1NiwgMHg2NSwgMHhlNSwgMHhkYywgMHg0NCwgMHhkOSwgXAotICAgICAgICAweGNjLCAweDY2LCAweDg1LCAweDA3LCAweGQ1LCAweGY4LCAweDI3LCAweGIwLCAweDRhLCAweDM1LCAweGQwLCAweDYzLCBcCi0gICAgICAgIDB4OWUsIDB4MGEsIDB4NmUsIDB4MWIsIDB4YjcsIDB4ZGEsIDB4ZjAsIDB4N2UsIDB4YWIsIDB4ZWUsIDB4MGMsIDB4MTAsIFwKLSAgICAgICAgMHg5MywgMHg4NiwgMHg0OSwgMHgxOCwgMHgzNCwgMHhmMywgMHhhOCwgMHgyYSwgMHhkMiwgMHg1NywgMHhmNSwgMHgyZSwgXAotICAgICAgICAweGQ0LCAweDJmLCAweDc3LCAweDI5LCAweDg0LCAweDYxLCAweDRkLCAweDgyLCAweDUwLCAweDhmLCAweGE3LCAweDk1LCBcCi0gICAgICAgIDB4NDgsIDB4NzAsIDB4ZjUsIDB4NmUsIDB4NGQsIDB4YjIsIDB4ZDUsIDB4MTMsIDB4YzMsIDB4ZDIsIDB4MWEsIDB4ZWQsIFwKLSAgICAgICAgMHhlNiwgMHg0MywgMHhlYSwgMHg0MiwgMHgxNCwgMHhlYiwgMHg3NCwgMHhlYSwgMHhjMCwgMHhlZCwgMHgxZiwgMHhkNCwgXAotICAgICAgICAweDU3LCAweDRlLCAweGE5LCAweGYzLCAweGE4LCAweGVkLCAweGQyLCAweGUwLCAweGMxLCAweDMwLCAweDcxLCAweDMwLCBcCi0gICAgICAgIDB4MzIsIDB4MzAsIDB4ZDUsIDB4ZDMsIDB4ZjYsIDB4MDgsIDB4ZDAsIDB4NTYsIDB4NGYsIDB4NDYsIDB4OGUsIDB4ZjIsIFwKLSAgICAgICAgMHg1ZiwgMHhmOSwgMHgzZCwgMHg2NywgMHg5MSwgMHg4OCwgMHgzMCwgMHgyZSwgMHg0MiwgMHhiMiwgMHhkZiwgMHg3ZCwgXAotICAgICAgICAweGZiLCAweGU1LCAweDBjLCAweDc3LCAweGZmLCAweGVjLCAweDMxLCAweGMwLCAweDc4LCAweDhmLCAweGJmLCAweGMyLCBcCi0gICAgICAgIDB4N2YsIDB4Y2EsIDB4YWQsIDB4NmMsIDB4MjEsIDB4ZDYsIDB4OGQsIDB4ZDksIDB4OGIsIDB4NmEsIDB4OGUsIDB4NmYsIFwKLSAgICAgICAgMHhlMCwgMHg5YiwgMHhmOCwgMHgxMCwgMHg1NiwgMHhjYywgMHhiMywgMHg4ZSwgMHgxMywgMHgxNSwgMHhlNiwgMHgzNCwgXAotICAgICAgICAweDA0LCAweDY2LCAweGM3LCAweGVlLCAweGY5LCAweDM2LCAweDBlLCAweDZhLCAweDk1LCAweGY2LCAweDA5LCAweDlhLCBcCi0gICAgICAgIDB4MDYsIDB4NjcsIDB4ZjQsIDB4NjUsIDB4NzEsIDB4ZjgsIDB4Y2EsIDB4YTQsIDB4YjEsIDB4MjUsIDB4ZTAsIDB4ZmUsIFwKLSAgICAgICAgMHgzYywgMHg4YiwgMHgzNSwgMHgwNCwgMHg2NywgMHhiYSwgMHhlMCwgMHg0ZiwgMHg3NiwgMHg4NSwgMHhmYywgMHg3ZiwgXAotICAgICAgICAweGZjLCAweDM2LCAweDZiLCAweGI1LCAweGU5LCAweGNkLCAweDJkLCAweDAzLCAweDYyLCAweDRlLCAweGIzLCAweDNkLCBcCi0gICAgICAgIDB4MDAsIDB4Y2YsIDB4YWYsIDB4NzYsIDB4YTAsIDB4NjksIDB4NTYsIDB4ODMsIDB4NmEsIDB4ZDIsIDB4YTgsIDB4ZDQsIFwKLSAgICAgICAgMHhlNywgMHg1MCwgMHg3MSwgMHhlNiwgMHhiNSwgMHgzNiwgMHgwNSwgMHg3NywgMHgwNSwgMHg2ZCwgMHg3YiwgMHhjOCwgXAotICAgICAgICAweGU0LCAweGM0LCAweGZkLCAweDRjLCAweGQ1LCAweDIxLCAweDVmLCAweDAyLCAweDAzLCAweDAxLCAweDAwLCAweDAxLCBcCi0gICAgICAgIDB4YTMsIDB4NGQsIDB4MzAsIDB4NGIsIDB4MzAsIDB4MDksIDB4MDYsIDB4MDMsIDB4NTUsIDB4MWQsIDB4MTMsIDB4MDQsIFwKLSAgICAgICAgMHgwMiwgMHgzMCwgMHgwMCwgMHgzMCwgMHgxZCwgMHgwNiwgMHgwMywgMHg1NSwgMHgxZCwgMHgwZSwgMHgwNCwgMHgxNiwgXAotICAgICAgICAweDA0LCAweDE0LCAweDcxLCAweGExLCAweDAwLCAweDczLCAweDcyLCAweDQwLCAweDJmLCAweDU0LCAweDc2LCAweDVlLCBcCi0gICAgICAgIDB4MzMsIDB4ZmMsIDB4NTIsIDB4OGYsIDB4YmMsIDB4ZjEsIDB4ZGQsIDB4NmIsIDB4NDYsIDB4MjEsIDB4MzAsIDB4MWYsIFwKLSAgICAgICAgMHgwNiwgMHgwMywgMHg1NSwgMHgxZCwgMHgyMywgMHgwNCwgMHgxOCwgMHgzMCwgMHgxNiwgMHg4MCwgMHgxNCwgMHhiNCwgXAotICAgICAgICAweDVhLCAweGU0LCAweGE1LCAweGIzLCAweGRlLCAweGQyLCAweDUyLCAweGY2LCAweGI5LCAweGQ1LCAweGE2LCAweDk1LCBcCi0gICAgICAgIDB4MGYsIDB4ZWIsIDB4M2UsIDB4YmMsIDB4YzcsIDB4ZmQsIDB4ZmYsIDB4MzAsIDB4MGQsIDB4MDYsIDB4MDksIDB4MmEsIFwKLSAgICAgICAgMHg4NiwgMHg0OCwgMHg4NiwgMHhmNywgMHgwZCwgMHgwMSwgMHgwMSwgMHgwYiwgMHgwNSwgMHgwMCwgMHgwMywgMHg4MiwgXAotICAgICAgICAweDAxLCAweDAxLCAweDAwLCAweDVlLCAweDI3LCAweDZmLCAweGQ1LCAweGRlLCAweDI5LCAweDJlLCAweDUwLCAweDYyLCBcCi0gICAgICAgIDB4MjksIDB4NjEsIDB4MDMsIDB4ZjcsIDB4OWEsIDB4Y2MsIDB4YzksIDB4YzAsIDB4NWQsIDB4ODAsIDB4MzcsIDB4MjAsIFwKLSAgICAgICAgMHhjOCwgMHhkYSwgMHg4OSwgMHhjNSwgMHhhOSwgMHgwNSwgMHg5MSwgMHgxNywgMHhkMSwgMHhjOCwgMHgwZCwgMHhiMiwgXAotICAgICAgICAweGQ2LCAweDY5LCAweDcyLCAweDRlLCAweDdlLCAweGVlLCAweDA1LCAweDc0LCAweDY0LCAweDM0LCAweGI2LCAweDM5LCBcCi0gICAgICAgIDB4NjQsIDB4NWMsIDB4Y2EsIDB4ZjMsIDB4NjEsIDB4ODIsIDB4OGUsIDB4NGQsIDB4OTAsIDB4ZDgsIDB4ZTAsIDB4ZjgsIFwKLSAgICAgICAgMHg0NSwgMHg5NCwgMHg4MiwgMHgzYywgMHgwMiwgMHg0OSwgMHhhOCwgMHhiYSwgMHg0NywgMHgxZCwgMHg0ZCwgMHhmOCwgXAotICAgICAgICAweGI3LCAweGJkLCAweDVjLCAweDg5LCAweGY3LCAweGVmLCAweGNiLCAweDYyLCAweDhhLCAweGYzLCAweDU2LCAweDJmLCBcCi0gICAgICAgIDB4YWYsIDB4MTcsIDB4MzMsIDB4NDYsIDB4MTMsIDB4MDAsIDB4MTMsIDB4YWUsIDB4MjIsIDB4ZmEsIDB4YTksIDB4ZGEsIFwKLSAgICAgICAgMHhjOCwgMHhmZCwgMHhkMywgMHg3NywgMHg2NSwgMHhlZSwgMHg1OCwgMHg5NCwgMHg3NCwgMHhlNCwgMHhmNSwgMHg0ZiwgXAotICAgICAgICAweGExLCAweDI3LCAweGE2LCAweGIwLCAweGQxLCAweDBiLCAweGIzLCAweGQ4LCAweDE2LCAweGI2LCAweGQ3LCAweDY3LCBcCi0gICAgICAgIDB4NjMsIDB4MmQsIDB4ZGMsIDB4N2IsIDB4ZTEsIDB4MTgsIDB4ZDksIDB4OGQsIDB4MjcsIDB4ZWQsIDB4MWIsIDB4MjIsIFwKLSAgICAgICAgMHhlZiwgMHhkZiwgMHgzNiwgMHgxMSwgMHhlMiwgMHhjOCwgMHgwMCwgMHgwZSwgMHhjNywgMHhlOSwgMHhjNiwgMHhiOCwgXAotICAgICAgICAweGQ4LCAweDRiLCAweDNmLCAweDM1LCAweDQxLCAweGZmLCAweGZjLCAweDk2LCAweDQ5LCAweDRmLCAweDdkLCAweDhlLCBcCi0gICAgICAgIDB4M2YsIDB4NDcsIDB4NjgsIDB4MzMsIDB4MTcsIDB4ODMsIDB4NDQsIDB4MGYsIDB4YWYsIDB4YTYsIDB4NTksIDB4MGEsIFwKLSAgICAgICAgMHhhOSwgMHgzMiwgMHhjYiwgMHg1OSwgMHhmZSwgMHhkZCwgMHg1ZiwgMHg2ZSwgMHg4YiwgMHgyMiwgMHhiOCwgMHg4MSwgXAotICAgICAgICAweDkwLCAweDE2LCAweDkxLCAweDBhLCAweDA0LCAweDc5LCAweDYyLCAweGZmLCAweDRiLCAweDA0LCAweGYxLCAweDVjLCBcCi0gICAgICAgIDB4MzQsIDB4ZWIsIDB4NjksIDB4Y2UsIDB4ZWYsIDB4Y2IsIDB4NmUsIDB4YjYsIDB4M2IsIDB4NDAsIDB4NTUsIDB4Y2EsIFwKLSAgICAgICAgMHgyNCwgMHhjMiwgMHgzZSwgMHgyNSwgMHg3MCwgMHhlZSwgMHg3NCwgMHgyYiwgMHgwZSwgMHg5ZiwgMHhjMiwgMHg4MiwgXAotICAgICAgICAweDlhLCAweDIwLCAweDM4LCAweDc3LCAweGExLCAweDI2LCAweDhhLCAweGNhLCAweDlmLCAweDg3LCAweDc1LCAweDc3LCBcCi0gICAgICAgIDB4ZTMsIDB4Y2UsIDB4NjUsIDB4ZWMsIDB4NzEsIDB4MTAsIDB4MzUsIDB4Y2IsIDB4Y2IsIDB4NGYsIDB4MTksIDB4NDMsIFwKLSAgICAgICAgMHhlYiwgMHgzMCwgMHhkMCwgMHhjYSwgMHgyZCwgMHgzZiwgMHhjYSwgMHg0NiwgMHgxNCwgMHg2MSwgMHg5OSwgMHgzMCwgXAotICAgICAgICAweDQxLCAweDMyLCAweGI1LCAweDM3LCAweDYzLCAweDZmLCAweDk3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19Ci0vKiBFTkQgRklMRSAqLwotCi0vKiBUaGlzIGlzIHRha2VuIGZyb20gY2xpLXJzYS5rZXkuICovCi0vKiBCRUdJTiBGSUxFIHN0cmluZyBtYWNybyBURVNUX0NMSV9LRVlfUlNBX1BFTSBjbGktcnNhLmtleSAqLwotI2RlZmluZSBURVNUX0NMSV9LRVlfUlNBX1BFTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLVxyXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIk1JSUVwQUlCQUFLQ0FRRUF5SFRFekxuNXRYbnBSZGtVWUxCOXU1UHlheDZmTTYwTmo0bzhWbVhsM0VUWnpHYUZcclxuIiAgICAgXAotICAgICJCOVg0SjdCS05kQmpuZ3B1RzdmYThINnI3Z3dRazRaSkdEVHpxQ3JTVi9VdTFDOTNLWVJoVFlKUWo2ZVZTSEQxXHJcbiIgICAgIFwKLSAgICAiYmsyeTFSUEQwaHJ0NWtQcVFoVHJkT3JBN1IvVVYwNnA4Nmp0MHVEQk1IRXdNakRWMC9ZSTBGWlBSbzd5WC9rOVxyXG4iICAgICBcCi0gICAgIlo1R0lNQzVDc3Q5OSsrVU1kLy9zTWNCNGo3L0NmOHF0YkNIV2pkbUxhbzV2NEp2NEVGYk1zNDRURmVZMEJHYkhcclxuIiAgICAgXAotICAgICI3dmsyRG1xVjlnbWFCbWYwWlhINHlxU3hKZUQrUElzMUJHZTY0RTkyaGZ4Ly9EWnJ0ZW5OTFFOaVRyTTlBTSt2XHJcbiIgICAgIFwKLSAgICAiZHFCcFZvTnEwcWpVNTFCeDVyVTJCWGNGYlh2STVNVDlUTlVoWHdJREFRQUJBb0lCQUdkTnRmWURpYXA2YnpzdFxyXG4iICAgICBcCi0gICAgInloQ2lJOG05VHRyaFp3NE1pc2FFYU4vbGwzWFNqYU9HMmR2VjZ4TVpDTVYrNVRlWERIT0FablkxOFlpMTh2enpcclxuIiAgICAgXAotICAgICI0VXQyVG5ORnppekNFQ1lOYUEyZlNUM1dnSW5ueFVrVjNZWEF5UDZDTnhKYUNtdjJhQTB5RnIya0ZWU2VhS0d0XHJcbiIgICAgIFwKLSAgICAieW12bGpOcDJOVmt2bTdUaDhmQlFCTzdJN0FYaHo0M2swbVI3WG1QZ2V3ZThBcFpPRzNoc3RrT2FNdmJXQXZXQVxyXG4iICAgICBcCi0gICAgInpDWnVwZERqWllqT0pxbEE0ZUVBNEg4L3c3RjgzcjVDdWdlQkU4TGdFUkVqTFBpeWVqclU1SDFmdWJFWStoMGRcclxuIiAgICAgXAotICAgICJsNUhaQko2OHliVFhmUTVVOW8vUUtBM2RkMHRvQkVoaGRSVURHeld0anZ3a0VRZnFGMXJlR1dqL3RvZC9nQ3BmXHJcbiIgICAgIFwKLSAgICAiREZpNlgwRUNnWUVBNHdPdi9walNDM3R5NlR1T3ZLWDJyT1VpQnJMWFh2MkpTeFpuTW9NaVdJNWlwTFF0K1JZVFxyXG4iICAgICBcCi0gICAgIlZQYWZML203RG42TWJ3amF5T2tjWmhCd2s1Q056NUE2UTRsSjY0TXEvbHFIem5SQ1FRMk1jMUc4ZXlERi9mWUxcclxuIiAgICAgXAotICAgICJaZTJwTHZ3UDlWRDVqVGMybWlEZncrTW52Smh5d1JSTGNlbURGUDhrNGhRVnRtOFBNcDNabU5FQ2dZRUE0Z3o3XHJcbiIgICAgIFwKLSAgICAid3pPYlI0Z244aWJlNjE3dVFQWmpXelVqOWRVSFlkK2luMWd3QkNJcnRObmFSbjlJOVUvUTZ0ZWdSWXBpaTR5c1xyXG4iICAgICBcCi0gICAgImMxNzZObVUrdW15NlhtdVNLVjVxRDliU3BaV0cybkxGbnNsck4xNUxtM2ZoWnhvZU1OaEJhRURUbkxUMjZ5b2lcclxuIiAgICAgXAotICAgICIzM2dwMG1TU1d5OTRaRXFpcG1zK1VMRjZzWTFadEZXNnRwR0ZveThDZ1lBUUhobm52SmZsSXMya3k0cTEwQjYwXHJcbiIgICAgIFwKLSAgICAiWmN4RnAzcnREcGtwMEp4aEZMaGlpekZydWpNdFpTallObTVVN0trZ1BWSGhMRUxFVXZDbU9uS1R0NGFwL3ZaMFxyXG4iICAgICBcCi0gICAgIkJ4Sk5lMUdaSDNwVzZTQXZHRFFwbDlzRzd1dS92VEZQK2xDeHVrbXp4QjBEcnJEY3ZvckVrS01vbTdaQ0NSdldcclxuIiAgICAgXAotICAgICJLWnNaNlllSDJaODFCYXVSajIxOGtRS0JnUUNVVi9EZ0tQMjk4NXhEVFQ3OU4wOGpVbzNoVFA1TVZZQ0N1ai8rXHJcbiIgICAgIFwKLSAgICAiVWVFdzFUdlpjeDNMSmJ5N1A2WGFkNmExL0JxdmVhR3lGS0lmRUZJYUJVQkl0azgwMXNERHBEYVljNGdMMDBYY1xyXG4iICAgICBcCi0gICAgIjdsRnVCSE9aa3hKWWxzczVRckdwdU9FbDlad1V0NUlyRkxCZFlhS3FOSHpOVkMxcENQZmIvSnlINkRyMkhVeHFcclxuIiAgICAgXAotICAgICJneFV3QVFLQmdRQ2NVNkcyTDhBRzlkOWMwVXBPeUwxdE12RmU1VHR3MEtqbFFWZHNoMU1QNnlpZ1lvOURZdXd1XHJcbiIgICAgIFwKLSAgICAiYkhGVlcycjBkQlRxZWdQMi9LVE94S3phSGZDMXFmMFJHRHNVb0pDTkpyZDFjd29DTEc4UDJFRjR3M09CcktxdlxyXG4iICAgICBcCi0gICAgIjh1NHl0WTBGK1ZsYW5qNWxtM1Rhb0hTVkYxK05XUHlPVGl3ZXZJRUNHS3dTeHZsa2k0ZkRBQT09XHJcbiIgICAgICAgICAgICAgXAotICAgICItLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLVxyXG4iCi0vKiBFTkQgRklMRSAqLwotCi0vKiBUaGlzIGlzIGdlbmVyYXRlZCBmcm9tIGNsaS1yc2Eua2V5LmRlci4gKi8KLS8qIEJFR0lOIEZJTEUgYmluYXJ5IG1hY3JvIFRFU1RfQ0xJX0tFWV9SU0FfREVSIGNsaS1yc2Eua2V5LmRlciAqLwotI2RlZmluZSBURVNUX0NMSV9LRVlfUlNBX0RFUiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIDB4MzAsIDB4ODIsIDB4MDQsIDB4YTQsIDB4MDIsIDB4MDEsIDB4MDAsIDB4MDIsIDB4ODIsIDB4MDEsIDB4MDEsIDB4MDAsIFwKLSAgICAgICAgMHhjOCwgMHg3NCwgMHhjNCwgMHhjYywgMHhiOSwgMHhmOSwgMHhiNSwgMHg3OSwgMHhlOSwgMHg0NSwgMHhkOSwgMHgxNCwgXAotICAgICAgICAweDYwLCAweGIwLCAweDdkLCAweGJiLCAweDkzLCAweGYyLCAweDZiLCAweDFlLCAweDlmLCAweDMzLCAweGFkLCAweDBkLCBcCi0gICAgICAgIDB4OGYsIDB4OGEsIDB4M2MsIDB4NTYsIDB4NjUsIDB4ZTUsIDB4ZGMsIDB4NDQsIDB4ZDksIDB4Y2MsIDB4NjYsIDB4ODUsIFwKLSAgICAgICAgMHgwNywgMHhkNSwgMHhmOCwgMHgyNywgMHhiMCwgMHg0YSwgMHgzNSwgMHhkMCwgMHg2MywgMHg5ZSwgMHgwYSwgMHg2ZSwgXAotICAgICAgICAweDFiLCAweGI3LCAweGRhLCAweGYwLCAweDdlLCAweGFiLCAweGVlLCAweDBjLCAweDEwLCAweDkzLCAweDg2LCAweDQ5LCBcCi0gICAgICAgIDB4MTgsIDB4MzQsIDB4ZjMsIDB4YTgsIDB4MmEsIDB4ZDIsIDB4NTcsIDB4ZjUsIDB4MmUsIDB4ZDQsIDB4MmYsIDB4NzcsIFwKLSAgICAgICAgMHgyOSwgMHg4NCwgMHg2MSwgMHg0ZCwgMHg4MiwgMHg1MCwgMHg4ZiwgMHhhNywgMHg5NSwgMHg0OCwgMHg3MCwgMHhmNSwgXAotICAgICAgICAweDZlLCAweDRkLCAweGIyLCAweGQ1LCAweDEzLCAweGMzLCAweGQyLCAweDFhLCAweGVkLCAweGU2LCAweDQzLCAweGVhLCBcCi0gICAgICAgIDB4NDIsIDB4MTQsIDB4ZWIsIDB4NzQsIDB4ZWEsIDB4YzAsIDB4ZWQsIDB4MWYsIDB4ZDQsIDB4NTcsIDB4NGUsIDB4YTksIFwKLSAgICAgICAgMHhmMywgMHhhOCwgMHhlZCwgMHhkMiwgMHhlMCwgMHhjMSwgMHgzMCwgMHg3MSwgMHgzMCwgMHgzMiwgMHgzMCwgMHhkNSwgXAotICAgICAgICAweGQzLCAweGY2LCAweDA4LCAweGQwLCAweDU2LCAweDRmLCAweDQ2LCAweDhlLCAweGYyLCAweDVmLCAweGY5LCAweDNkLCBcCi0gICAgICAgIDB4NjcsIDB4OTEsIDB4ODgsIDB4MzAsIDB4MmUsIDB4NDIsIDB4YjIsIDB4ZGYsIDB4N2QsIDB4ZmIsIDB4ZTUsIDB4MGMsIFwKLSAgICAgICAgMHg3NywgMHhmZiwgMHhlYywgMHgzMSwgMHhjMCwgMHg3OCwgMHg4ZiwgMHhiZiwgMHhjMiwgMHg3ZiwgMHhjYSwgMHhhZCwgXAotICAgICAgICAweDZjLCAweDIxLCAweGQ2LCAweDhkLCAweGQ5LCAweDhiLCAweDZhLCAweDhlLCAweDZmLCAweGUwLCAweDliLCAweGY4LCBcCi0gICAgICAgIDB4MTAsIDB4NTYsIDB4Y2MsIDB4YjMsIDB4OGUsIDB4MTMsIDB4MTUsIDB4ZTYsIDB4MzQsIDB4MDQsIDB4NjYsIDB4YzcsIFwKLSAgICAgICAgMHhlZSwgMHhmOSwgMHgzNiwgMHgwZSwgMHg2YSwgMHg5NSwgMHhmNiwgMHgwOSwgMHg5YSwgMHgwNiwgMHg2NywgMHhmNCwgXAotICAgICAgICAweDY1LCAweDcxLCAweGY4LCAweGNhLCAweGE0LCAweGIxLCAweDI1LCAweGUwLCAweGZlLCAweDNjLCAweDhiLCAweDM1LCBcCi0gICAgICAgIDB4MDQsIDB4NjcsIDB4YmEsIDB4ZTAsIDB4NGYsIDB4NzYsIDB4ODUsIDB4ZmMsIDB4N2YsIDB4ZmMsIDB4MzYsIDB4NmIsIFwKLSAgICAgICAgMHhiNSwgMHhlOSwgMHhjZCwgMHgyZCwgMHgwMywgMHg2MiwgMHg0ZSwgMHhiMywgMHgzZCwgMHgwMCwgMHhjZiwgMHhhZiwgXAotICAgICAgICAweDc2LCAweGEwLCAweDY5LCAweDU2LCAweDgzLCAweDZhLCAweGQyLCAweGE4LCAweGQ0LCAweGU3LCAweDUwLCAweDcxLCBcCi0gICAgICAgIDB4ZTYsIDB4YjUsIDB4MzYsIDB4MDUsIDB4NzcsIDB4MDUsIDB4NmQsIDB4N2IsIDB4YzgsIDB4ZTQsIDB4YzQsIDB4ZmQsIFwKLSAgICAgICAgMHg0YywgMHhkNSwgMHgyMSwgMHg1ZiwgMHgwMiwgMHgwMywgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMiwgMHg4MiwgMHgwMSwgXAotICAgICAgICAweDAwLCAweDY3LCAweDRkLCAweGI1LCAweGY2LCAweDAzLCAweDg5LCAweGFhLCAweDdhLCAweDZmLCAweDNiLCAweDJkLCBcCi0gICAgICAgIDB4Y2EsIDB4MTAsIDB4YTIsIDB4MjMsIDB4YzksIDB4YmQsIDB4NGUsIDB4ZGEsIDB4ZTEsIDB4NjcsIDB4MGUsIDB4MGMsIFwKLSAgICAgICAgMHg4YSwgMHhjNiwgMHg4NCwgMHg2OCwgMHhkZiwgMHhlNSwgMHg5NywgMHg3NSwgMHhkMiwgMHg4ZCwgMHhhMywgMHg4NiwgXAotICAgICAgICAweGQ5LCAweGRiLCAweGQ1LCAweGViLCAweDEzLCAweDE5LCAweDA4LCAweGM1LCAweDdlLCAweGU1LCAweDM3LCAweDk3LCBcCi0gICAgICAgIDB4MGMsIDB4NzMsIDB4ODAsIDB4NjYsIDB4NzYsIDB4MzUsIDB4ZjEsIDB4ODgsIDB4YjUsIDB4ZjIsIDB4ZmMsIDB4ZjMsIFwKLSAgICAgICAgMHhlMSwgMHg0YiwgMHg3NiwgMHg0ZSwgMHg3MywgMHg0NSwgMHhjZSwgMHgyYywgMHhjMiwgMHgxMCwgMHgyNiwgMHgwZCwgXAotICAgICAgICAweDY4LCAweDBkLCAweDlmLCAweDQ5LCAweDNkLCAweGQ2LCAweDgwLCAweDg5LCAweGU3LCAweGM1LCAweDQ5LCAweDE1LCBcCi0gICAgICAgIDB4ZGQsIDB4ODUsIDB4YzAsIDB4YzgsIDB4ZmUsIDB4ODIsIDB4MzcsIDB4MTIsIDB4NWEsIDB4MGEsIDB4NmIsIDB4ZjYsIFwKLSAgICAgICAgMHg2OCwgMHgwZCwgMHgzMiwgMHgxNiwgMHhiZCwgMHhhNCwgMHgxNSwgMHg1NCwgMHg5ZSwgMHg2OCwgMHhhMSwgMHhhZCwgXAotICAgICAgICAweGNhLCAweDZiLCAweGU1LCAweDhjLCAweGRhLCAweDc2LCAweDM1LCAweDU5LCAweDJmLCAweDliLCAweGI0LCAweGUxLCBcCi0gICAgICAgIDB4ZjEsIDB4ZjAsIDB4NTAsIDB4MDQsIDB4ZWUsIDB4YzgsIDB4ZWMsIDB4MDUsIDB4ZTEsIDB4Y2YsIDB4OGQsIDB4ZTQsIFwKLSAgICAgICAgMHhkMiwgMHg2NCwgMHg3YiwgMHg1ZSwgMHg2MywgMHhlMCwgMHg3YiwgMHgwNywgMHhiYywgMHgwMiwgMHg5NiwgMHg0ZSwgXAotICAgICAgICAweDFiLCAweDc4LCAweDZjLCAweGI2LCAweDQzLCAweDlhLCAweDMyLCAweGY2LCAweGQ2LCAweDAyLCAweGY1LCAweDgwLCBcCi0gICAgICAgIDB4Y2MsIDB4MjYsIDB4NmUsIDB4YTUsIDB4ZDAsIDB4ZTMsIDB4NjUsIDB4ODgsIDB4Y2UsIDB4MjYsIDB4YTksIDB4NDAsIFwKLSAgICAgICAgMHhlMSwgMHhlMSwgMHgwMCwgMHhlMCwgMHg3ZiwgMHgzZiwgMHhjMywgMHhiMSwgMHg3YywgMHhkZSwgMHhiZSwgMHg0MiwgXAotICAgICAgICAweGJhLCAweDA3LCAweDgxLCAweDEzLCAweGMyLCAweGUwLCAweDExLCAweDExLCAweDIzLCAweDJjLCAweGY4LCAweGIyLCBcCi0gICAgICAgIDB4N2EsIDB4M2EsIDB4ZDQsIDB4ZTQsIDB4N2QsIDB4NWYsIDB4YjksIDB4YjEsIDB4MTgsIDB4ZmEsIDB4MWQsIDB4MWQsIFwKLSAgICAgICAgMHg5NywgMHg5MSwgMHhkOSwgMHgwNCwgMHg5ZSwgMHhiYywgMHhjOSwgMHhiNCwgMHhkNywgMHg3ZCwgMHgwZSwgMHg1NCwgXAotICAgICAgICAweGY2LCAweDhmLCAweGQwLCAweDI4LCAweDBkLCAweGRkLCAweDc3LCAweDRiLCAweDY4LCAweDA0LCAweDQ4LCAweDYxLCBcCi0gICAgICAgIDB4NzUsIDB4MTUsIDB4MDMsIDB4MWIsIDB4MzUsIDB4YWQsIDB4OGUsIDB4ZmMsIDB4MjQsIDB4MTEsIDB4MDcsIDB4ZWEsIFwKLSAgICAgICAgMHgxNywgMHg1YSwgMHhkZSwgMHgxOSwgMHg2OCwgMHhmZiwgMHhiNiwgMHg4NywgMHg3ZiwgMHg4MCwgMHgyYSwgMHg1ZiwgXAotICAgICAgICAweDBjLCAweDU4LCAweGJhLCAweDVmLCAweDQxLCAweDAyLCAweDgxLCAweDgxLCAweDAwLCAweGUzLCAweDAzLCAweGFmLCBcCi0gICAgICAgIDB4ZmUsIDB4OTgsIDB4ZDIsIDB4MGIsIDB4N2IsIDB4NzIsIDB4ZTksIDB4M2IsIDB4OGUsIDB4YmMsIDB4YTUsIDB4ZjYsIFwKLSAgICAgICAgMHhhYywgMHhlNSwgMHgyMiwgMHgwNiwgMHhiMiwgMHhkNywgMHg1ZSwgMHhmZCwgMHg4OSwgMHg0YiwgMHgxNiwgMHg2NywgXAotICAgICAgICAweDMyLCAweDgzLCAweDIyLCAweDU4LCAweDhlLCAweDYyLCAweGE0LCAweGI0LCAweDJkLCAweGY5LCAweDE2LCAweDEzLCBcCi0gICAgICAgIDB4NTQsIDB4ZjYsIDB4OWYsIDB4MmYsIDB4ZjksIDB4YmIsIDB4MGUsIDB4N2UsIDB4OGMsIDB4NmYsIDB4MDgsIDB4ZGEsIFwKLSAgICAgICAgMHhjOCwgMHhlOSwgMHgxYywgMHg2NiwgMHgxMCwgMHg3MCwgMHg5MywgMHg5MCwgMHg4ZCwgMHhjZiwgMHg5MCwgMHgzYSwgXAotICAgICAgICAweDQzLCAweDg5LCAweDQ5LCAweGViLCAweDgzLCAweDJhLCAweGZlLCAweDVhLCAweDg3LCAweGNlLCAweDc0LCAweDQyLCBcCi0gICAgICAgIDB4NDEsIDB4MGQsIDB4OGMsIDB4NzMsIDB4NTEsIDB4YmMsIDB4N2IsIDB4MjAsIDB4YzUsIDB4ZmQsIDB4ZjYsIDB4MGIsIFwKLSAgICAgICAgMHg2NSwgMHhlZCwgMHhhOSwgMHgyZSwgMHhmYywgMHgwZiwgMHhmNSwgMHg1MCwgMHhmOSwgMHg4ZCwgMHgzNywgMHgzNiwgXAotICAgICAgICAweDlhLCAweDIwLCAweGRmLCAweGMzLCAweGUzLCAweDI3LCAweGJjLCAweDk4LCAweDcyLCAweGMxLCAweDE0LCAweDRiLCBcCi0gICAgICAgIDB4NzEsIDB4ZTksIDB4ODMsIDB4MTQsIDB4ZmYsIDB4MjQsIDB4ZTIsIDB4MTQsIDB4MTUsIDB4YjYsIDB4NmYsIDB4MGYsIFwKLSAgICAgICAgMHgzMiwgMHg5ZCwgMHhkOSwgMHg5OCwgMHhkMSwgMHgwMiwgMHg4MSwgMHg4MSwgMHgwMCwgMHhlMiwgMHgwYywgMHhmYiwgXAotICAgICAgICAweGMzLCAweDMzLCAweDliLCAweDQ3LCAweDg4LCAweDI3LCAweGYyLCAweDI2LCAweGRlLCAweGViLCAweDVlLCAweGVlLCBcCi0gICAgICAgIDB4NDAsIDB4ZjYsIDB4NjMsIDB4NWIsIDB4MzUsIDB4MjMsIDB4ZjUsIDB4ZDUsIDB4MDcsIDB4NjEsIDB4ZGYsIDB4YTIsIFwKLSAgICAgICAgMHg5ZiwgMHg1OCwgMHgzMCwgMHgwNCwgMHgyMiwgMHgyYiwgMHhiNCwgMHhkOSwgMHhkYSwgMHg0NiwgMHg3ZiwgMHg0OCwgXAotICAgICAgICAweGY1LCAweDRmLCAweGQwLCAweGVhLCAweGQ3LCAweGEwLCAweDQ1LCAweDhhLCAweDYyLCAweDhiLCAweDhjLCAweGFjLCBcCi0gICAgICAgIDB4NzMsIDB4NWUsIDB4ZmEsIDB4MzYsIDB4NjUsIDB4M2UsIDB4YmEsIDB4NmMsIDB4YmEsIDB4NWUsIDB4NmIsIDB4OTIsIFwKLSAgICAgICAgMHgyOSwgMHg1ZSwgMHg2YSwgMHgwZiwgMHhkNiwgMHhkMiwgMHhhNSwgMHg5NSwgMHg4NiwgMHhkYSwgMHg3MiwgMHhjNSwgXAotICAgICAgICAweDllLCAweGM5LCAweDZiLCAweDM3LCAweDVlLCAweDRiLCAweDliLCAweDc3LCAweGUxLCAweDY3LCAweDFhLCAweDFlLCBcCi0gICAgICAgIDB4MzAsIDB4ZDgsIDB4NDEsIDB4NjgsIDB4NDAsIDB4ZDMsIDB4OWMsIDB4YjQsIDB4ZjYsIDB4ZWIsIDB4MmEsIDB4MjIsIFwKLSAgICAgICAgMHhkZiwgMHg3OCwgMHgyOSwgMHhkMiwgMHg2NCwgMHg5MiwgMHg1YiwgMHgyZiwgMHg3OCwgMHg2NCwgMHg0YSwgMHhhMiwgXAotICAgICAgICAweGE2LCAweDZiLCAweDNlLCAweDUwLCAweGIxLCAweDdhLCAweGIxLCAweDhkLCAweDU5LCAweGI0LCAweDU1LCAweGJhLCBcCi0gICAgICAgIDB4YjYsIDB4OTEsIDB4ODUsIDB4YTMsIDB4MmYsIDB4MDIsIDB4ODEsIDB4ODAsIDB4MTAsIDB4MWUsIDB4MTksIDB4ZTcsIFwKLSAgICAgICAgMHhiYywgMHg5NywgMHhlNSwgMHgyMiwgMHhjZCwgMHhhNCwgMHhjYiwgMHg4YSwgMHhiNSwgMHhkMCwgMHgxZSwgMHhiNCwgXAotICAgICAgICAweDY1LCAweGNjLCAweDQ1LCAweGE3LCAweDdhLCAweGVkLCAweDBlLCAweDk5LCAweDI5LCAweGQwLCAweDljLCAweDYxLCBcCi0gICAgICAgIDB4MTQsIDB4YjgsIDB4NjIsIDB4OGIsIDB4MzEsIDB4NmIsIDB4YmEsIDB4MzMsIDB4MmQsIDB4NjUsIDB4MjgsIDB4ZDgsIFwKLSAgICAgICAgMHgzNiwgMHg2ZSwgMHg1NCwgMHhlYywgMHhhOSwgMHgyMCwgMHgzZCwgMHg1MSwgMHhlMSwgMHgyYywgMHg0MiwgMHhjNCwgXAotICAgICAgICAweDUyLCAweGYwLCAweGE2LCAweDNhLCAweDcyLCAweDkzLCAweGI3LCAweDg2LCAweGE5LCAweGZlLCAweGY2LCAweDc0LCBcCi0gICAgICAgIDB4MDcsIDB4MTIsIDB4NGQsIDB4N2IsIDB4NTEsIDB4OTksIDB4MWYsIDB4N2EsIDB4NTYsIDB4ZTksIDB4MjAsIDB4MmYsIFwKLSAgICAgICAgMHgxOCwgMHgzNCwgMHgyOSwgMHg5NywgMHhkYiwgMHgwNiwgMHhlZSwgMHhlYiwgMHhiZiwgMHhiZCwgMHgzMSwgMHg0ZiwgXAotICAgICAgICAweGZhLCAweDUwLCAweGIxLCAweGJhLCAweDQ5LCAweGIzLCAweGM0LCAweDFkLCAweDAzLCAweGFlLCAweGIwLCAweGRjLCBcCi0gICAgICAgIDB4YmUsIDB4OGEsIDB4YzQsIDB4OTAsIDB4YTMsIDB4MjgsIDB4OWIsIDB4YjYsIDB4NDIsIDB4MDksIDB4MWIsIDB4ZDYsIFwKLSAgICAgICAgMHgyOSwgMHg5YiwgMHgxOSwgMHhlOSwgMHg4NywgMHg4NywgMHhkOSwgMHg5ZiwgMHgzNSwgMHgwNSwgMHhhYiwgMHg5MSwgXAotICAgICAgICAweDhmLCAweDZkLCAweDdjLCAweDkxLCAweDAyLCAweDgxLCAweDgxLCAweDAwLCAweDk0LCAweDU3LCAweGYwLCAweGUwLCBcCi0gICAgICAgIDB4MjgsIDB4ZmQsIDB4YmQsIDB4ZjMsIDB4OWMsIDB4NDMsIDB4NGQsIDB4M2UsIDB4ZmQsIDB4MzcsIDB4NGYsIDB4MjMsIFwKLSAgICAgICAgMHg1MiwgMHg4ZCwgMHhlMSwgMHg0YywgMHhmZSwgMHg0YywgMHg1NSwgMHg4MCwgMHg4MiwgMHhiYSwgMHgzZiwgMHhmZSwgXAotICAgICAgICAweDUxLCAweGUxLCAweDMwLCAweGQ1LCAweDNiLCAweGQ5LCAweDczLCAweDFkLCAweGNiLCAweDI1LCAweGJjLCAweGJiLCBcCi0gICAgICAgIDB4M2YsIDB4YTUsIDB4ZGEsIDB4NzcsIDB4YTYsIDB4YjUsIDB4ZmMsIDB4MWEsIDB4YWYsIDB4NzksIDB4YTEsIDB4YjIsIFwKLSAgICAgICAgMHgxNCwgMHhhMiwgMHgxZiwgMHgxMCwgMHg1MiwgMHgxYSwgMHgwNSwgMHg0MCwgMHg0OCwgMHhiNiwgMHg0ZiwgMHgzNCwgXAotICAgICAgICAweGQ2LCAweGMwLCAweGMzLCAweGE0LCAweDM2LCAweDk4LCAweDczLCAweDg4LCAweDBiLCAweGQzLCAweDQ1LCAweGRjLCBcCi0gICAgICAgIDB4ZWUsIDB4NTEsIDB4NmUsIDB4MDQsIDB4NzMsIDB4OTksIDB4OTMsIDB4MTIsIDB4NTgsIDB4OTYsIDB4Y2IsIDB4MzksIFwKLSAgICAgICAgMHg0MiwgMHhiMSwgMHhhOSwgMHhiOCwgMHhlMSwgMHgyNSwgMHhmNSwgMHg5YywgMHgxNCwgMHhiNywgMHg5MiwgMHgyYiwgXAotICAgICAgICAweDE0LCAweGIwLCAweDVkLCAweDYxLCAweGEyLCAweGFhLCAweDM0LCAweDdjLCAweGNkLCAweDU0LCAweDJkLCAweDY5LCBcCi0gICAgICAgIDB4MDgsIDB4ZjcsIDB4ZGIsIDB4ZmMsIDB4OWMsIDB4ODcsIDB4ZTgsIDB4M2EsIDB4ZjYsIDB4MWQsIDB4NGMsIDB4NmEsIFwKLSAgICAgICAgMHg4MywgMHgxNSwgMHgzMCwgMHgwMSwgMHgwMiwgMHg4MSwgMHg4MSwgMHgwMCwgMHg5YywgMHg1MywgMHhhMSwgMHhiNiwgXAotICAgICAgICAweDJmLCAweGMwLCAweDA2LCAweGY1LCAweGRmLCAweDVjLCAweGQxLCAweDRhLCAweDRlLCAweGM4LCAweGJkLCAweDZkLCBcCi0gICAgICAgIDB4MzIsIDB4ZjEsIDB4NWUsIDB4ZTUsIDB4M2IsIDB4NzAsIDB4ZDAsIDB4YTgsIDB4ZTUsIDB4NDEsIDB4NTcsIDB4NmMsIFwKLSAgICAgICAgMHg4NywgMHg1MywgMHgwZiwgMHhlYiwgMHgyOCwgMHhhMCwgMHg2MiwgMHg4ZiwgMHg0MywgMHg2MiwgMHhlYywgMHgyZSwgXAotICAgICAgICAweDZjLCAweDcxLCAweDU1LCAweDViLCAweDZhLCAweGY0LCAweDc0LCAweDE0LCAweGVhLCAweDdhLCAweDAzLCAweGY2LCBcCi0gICAgICAgIDB4ZmMsIDB4YTQsIDB4Y2UsIDB4YzQsIDB4YWMsIDB4ZGEsIDB4MWQsIDB4ZjAsIDB4YjUsIDB4YTksIDB4ZmQsIDB4MTEsIFwKLSAgICAgICAgMHgxOCwgMHgzYiwgMHgxNCwgMHhhMCwgMHg5MCwgMHg4ZCwgMHgyNiwgMHhiNywgMHg3NSwgMHg3MywgMHgwYSwgMHgwMiwgXAotICAgICAgICAweDJjLCAweDZmLCAweDBmLCAweGQ4LCAweDQxLCAweDc4LCAweGMzLCAweDczLCAweDgxLCAweGFjLCAweGFhLCAweGFmLCBcCi0gICAgICAgIDB4ZjIsIDB4ZWUsIDB4MzIsIDB4YjUsIDB4OGQsIDB4MDUsIDB4ZjksIDB4NTksIDB4NWEsIDB4OWUsIDB4M2UsIDB4NjUsIFwKLSAgICAgICAgMHg5YiwgMHg3NCwgMHhkYSwgMHhhMCwgMHg3NCwgMHg5NSwgMHgxNywgMHg1ZiwgMHg4ZCwgMHg1OCwgMHhmYywgMHg4ZSwgXAotICAgICAgICAweDRlLCAweDJjLCAweDFlLCAweGJjLCAweDgxLCAweDAyLCAweDE4LCAweGFjLCAweDEyLCAweGM2LCAweGY5LCAweDY0LCBcCi0gICAgICAgIDB4OGIsIDB4ODcsIDB4YzMsIDB4MDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0KLS8qIEVORCBGSUxFICovCi0KZGlmZiAtLWdpdCBhL3Rlc3RzL3NyYy90ZXN0X2hlbHBlcnMvc3NsX2hlbHBlcnMuYyBiL3Rlc3RzL3NyYy90ZXN0X2hlbHBlcnMvc3NsX2hlbHBlcnMuYwppbmRleCAyNTU4NDlmLi4zY2I2MTc1IDEwMDY0NAotLS0gYS90ZXN0cy9zcmMvdGVzdF9oZWxwZXJzL3NzbF9oZWxwZXJzLmMKKysrIGIvdGVzdHMvc3JjL3Rlc3RfaGVscGVycy9zc2xfaGVscGVycy5jCkBAIC01NTEsNyArNTUxLDEwIEBACiAgICAgICAgICAgICAgKiBoYXBwZW4gaW4gdGVzdCBlbnZpcm9ubWVudCwgdW5sZXNzIGZvcmNlZCBtYW51YWxseS4gKi8KICAgICAgICAgfQogICAgIH0KLSAgICBtYmVkdGxzX3Rlc3Rfc3NsX21lc3NhZ2VfcXVldWVfcG9wX2luZm8ocXVldWUsIGJ1Zl9sZW4pOworICAgIHJldCA9IG1iZWR0bHNfdGVzdF9zc2xfbWVzc2FnZV9xdWV1ZV9wb3BfaW5mbyhxdWV1ZSwgYnVmX2xlbik7CisgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CiAKICAgICByZXR1cm4gKG1zZ19sZW4gPiBJTlRfTUFYKSA/IElOVF9NQVggOiAoaW50KSBtc2dfbGVuOwogfQpAQCAtOTQ3LDEwICs5NTAsMTAgQEAKIC8qCiAgKiBXcml0ZSBhcHBsaWNhdGlvbiBkYXRhLiBJbmNyZWFzZSB3cml0ZSBjb3VudGVyIGlmIG5lY2Vzc2FyeS4KICAqLwotaW50IG1iZWR0bHNfc3NsX3dyaXRlX2ZyYWdtZW50KG1iZWR0bHNfc3NsX2NvbnRleHQgKnNzbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpidWYsIGludCBidWZfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqd3JpdHRlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgZXhwZWN0ZWRfZnJhZ21lbnRzKQorc3RhdGljIGludCBtYmVkdGxzX3NzbF93cml0ZV9mcmFnbWVudChtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGJ1Zl9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqd3JpdHRlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50IGV4cGVjdGVkX2ZyYWdtZW50cykKIHsKICAgICBpbnQgcmV0OwogICAgIC8qIFZlcmlmeSB0aGF0IGNhbGxpbmcgbWJlZHRsc19zc2xfd3JpdGUgd2l0aCBhIE5VTEwgYnVmZmVyIGFuZCB6ZXJvIGxlbmd0aCBpcwpAQCAtOTk0LDEwICs5OTcsMTAgQEAKICAqIFJlYWQgYXBwbGljYXRpb24gZGF0YSBhbmQgaW5jcmVhc2UgcmVhZCBjb3VudGVyIGFuZCBmcmFnbWVudHMgY291bnRlcgogICogaWYgbmVjZXNzYXJ5LgogICovCi1pbnQgbWJlZHRsc19zc2xfcmVhZF9mcmFnbWVudChtYmVkdGxzX3NzbF9jb250ZXh0ICpzc2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpidWYsIGludCBidWZfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpyZWFkLCBpbnQgKmZyYWdtZW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBleHBlY3RlZF9mcmFnbWVudHMpCitzdGF0aWMgaW50IG1iZWR0bHNfc3NsX3JlYWRfZnJhZ21lbnQobWJlZHRsc19zc2xfY29udGV4dCAqc3NsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGJ1Zl9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpyZWFkLCBpbnQgKmZyYWdtZW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgZXhwZWN0ZWRfZnJhZ21lbnRzKQogewogICAgIGludCByZXQ7CiAgICAgLyogVmVyaWZ5IHRoYXQgY2FsbGluZyBtYmVkdGxzX3NzbF93cml0ZSB3aXRoIGEgTlVMTCBidWZmZXIgYW5kIHplcm8gbGVuZ3RoIGlzCkBAIC0yNTQwLDYgKzI1NDMsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfb3B0aW9ucywgTlVMTCwgTlVMTCwgTlVMTCk7CiAgICAgVEVTVF9FUVVBTChyZXQsIDApOwogCisgICAgbWJlZHRsc19zc2xfY29uZl90bHMxM19lbmFibGVfc2lnbmFsX25ld19zZXNzaW9uX3RpY2tldHMoCisgICAgICAgICZjbGllbnRfZXAuY29uZiwgTUJFRFRMU19TU0xfVExTMV8zX1NJR05BTF9ORVdfU0VTU0lPTl9USUNLRVRTX0VOQUJMRUQpOworCiAgICAgbWJlZHRsc19zc2xfY29uZl9zZXNzaW9uX3RpY2tldHNfY2IoJnNlcnZlcl9lcC5jb25mLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfdGVzdF90aWNrZXRfd3JpdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc190ZXN0X3RpY2tldF9wYXJzZSwKZGlmZiAtLWdpdCBhL3Rlc3RzL3NzbC1vcHQuc2ggYi90ZXN0cy9zc2wtb3B0LnNoCmluZGV4IDM1NDlhN2IuLjMzMTViYTIgMTAwNzU1Ci0tLSBhL3Rlc3RzL3NzbC1vcHQuc2gKKysrIGIvdGVzdHMvc3NsLW9wdC5zaApAQCAtMjksNiArMjksOCBAQAogICAgIGV4aXQgMTI1CiBmaQogCitEQVRBX0ZJTEVTX1BBVEg9Li4vZnJhbWV3b3JrL2RhdGFfZmlsZXMKKwogIyBkZWZhdWx0IHZhbHVlcywgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGVudmlyb25tZW50CiA6ICR7UF9TUlY6PS4uL3Byb2dyYW1zL3NzbC9zc2xfc2VydmVyMn0KIDogJHtQX0NMSTo9Li4vcHJvZ3JhbXMvc3NsL3NzbF9jbGllbnQyfQpAQCAtNjAsMjEgKzYyLDQ3IEBACiA6ICR7TUJFRFRMU19URVNUX09VVENPTUVfRklMRT19CiA6ICR7TUJFRFRMU19URVNUX0NPTkZJR1VSQVRJT046PSIkKGd1ZXNzX2NvbmZpZ19uYW1lKSJ9CiA6ICR7TUJFRFRMU19URVNUX1BMQVRGT1JNOj0iJCh1bmFtZSAtcyB8IHRyIC1jIFxcbjAtOUEtWmEteiBfKS0kKHVuYW1lIC1tIHwgdHIgLWMgXFxuMC05QS1aYS16IF8pIn0KLTogJHtFQVJMWV9EQVRBX0lOUFVUOj1kYXRhX2ZpbGVzL3RsczEzX2Vhcmx5X2RhdGEudHh0fQorOiAke0VBUkxZX0RBVEFfSU5QVVQ6PSIkREFUQV9GSUxFU19QQVRIL3RsczEzX2Vhcmx5X2RhdGEudHh0In0KIAotT19TUlY9IiRPUEVOU1NMIHNfc2VydmVyIC13d3cgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkiCitPX1NSVj0iJE9QRU5TU0wgc19zZXJ2ZXIgLXd3dyAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIKIE9fQ0xJPSJlY2hvICdHRVQgLyBIVFRQLzEuMCcgfCAkT1BFTlNTTCBzX2NsaWVudCIKLUdfU1JWPSIkR05VVExTX1NFUlYgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyNS5rZXkiCi1HX0NMST0iZWNobyAnR0VUIC8gSFRUUC8xLjAnIHwgJEdOVVRMU19DTEkgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQiCitHX1NSVj0iJEdOVVRMU19TRVJWIC0teDUwOWNlcnRmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgLS14NTA5a2V5ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IgorR19DTEk9ImVjaG8gJ0dFVCAvIEhUVFAvMS4wJyB8ICRHTlVUTFNfQ0xJIC0teDUwOWNhZmlsZSAkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IgogVENQX0NMSUVOVD0iJFBFUkwgc2NyaXB0cy90Y3BfY2xpZW50LnBsIgogCiAjIGFsdGVybmF0aXZlIHZlcnNpb25zIG9mIE9wZW5TU0wgYW5kIEdudVRMUyAobm8gZGVmYXVsdCBwYXRoKQogCisjIElmICRPUEVOU1NMIGlzIGF0IGxlYXN0IDEuMS4xLCB1c2UgaXQgYXMgT1BFTlNTTF9ORVhUIGFzIHdlbGwuCitpZiBbIC16ICIke09QRU5TU0xfTkVYVDotfSIgXTsgdGhlbgorICAgIGNhc2UgJCgkT1BFTlNTTCB2ZXJzaW9uKSBpbgorICAgICAgICBPcGVuU1NMXCAxLjEuWzEtOV0qKSBPUEVOU1NMX05FWFQ9JE9QRU5TU0w7OworICAgICAgICBPcGVuU1NMXCBbMy05XSopIE9QRU5TU0xfTkVYVD0kT1BFTlNTTDs7CisgICAgZXNhYworZmkKKworIyBJZiAkR05VVExTX0NMSSBpcyBhdCBsZWFzdCAzLjcsIHVzZSBpdCBhcyBHTlVUTFNfTkVYVF9DTEkgYXMgd2VsbC4KK2lmIFsgLXogIiR7R05VVExTX05FWFRfQ0xJOi19IiBdOyB0aGVuCisgICAgY2FzZSAkKCRHTlVUTFNfQ0xJIC0tdmVyc2lvbikgaW4KKyAgICAgICAgZ251dGxzLWNsaVwgMy5bMS05XVswLTldKikgR05VVExTX05FWFRfQ0xJPSRHTlVUTFNfQ0xJOzsKKyAgICAgICAgZ251dGxzLWNsaVwgMy5bNy05XS4qKSBHTlVUTFNfTkVYVF9DTEk9JEdOVVRMU19DTEk7OworICAgICAgICBnbnV0bHMtY2xpXCBbNC05XSopIEdOVVRMU19ORVhUX0NMST0kR05VVExTX0NMSTs7CisgICAgZXNhYworZmkKKworIyBJZiAkR05VVExTX1NFUlYgaXMgYXQgbGVhc3QgMy43LCB1c2UgaXQgYXMgR05VVExTX05FWFRfU0VSViBhcyB3ZWxsLgoraWYgWyAteiAiJHtHTlVUTFNfTkVYVF9TRVJWOi19IiBdOyB0aGVuCisgICAgY2FzZSAkKCRHTlVUTFNfU0VSViAtLXZlcnNpb24pIGluCisgICAgICAgIGdudXRscy1jbGlcIDMuWzEtOV1bMC05XSopIEdOVVRMU19ORVhUX1NFUlY9JEdOVVRMU19TRVJWOzsKKyAgICAgICAgZ251dGxzLWNsaVwgMy5bNy05XS4qKSBHTlVUTFNfTkVYVF9TRVJWPSRHTlVUTFNfU0VSVjs7CisgICAgICAgIGdudXRscy1jbGlcIFs0LTldKikgR05VVExTX05FWFRfU0VSVj0kR05VVExTX1NFUlY7OworICAgIGVzYWMKK2ZpCisKIGlmIFsgLW4gIiR7T1BFTlNTTF9ORVhUOi19IiBdOyB0aGVuCi0gICAgT19ORVhUX1NSVj0iJE9QRU5TU0xfTkVYVCBzX3NlcnZlciAtd3d3IC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IgotICAgIE9fTkVYVF9TUlZfRUFSTFlfREFUQT0iJE9QRU5TU0xfTkVYVCBzX3NlcnZlciAtZWFybHlfZGF0YSAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIKKyAgICBPX05FWFRfU1JWPSIkT1BFTlNTTF9ORVhUIHNfc2VydmVyIC13d3cgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiCisgICAgT19ORVhUX1NSVl9FQVJMWV9EQVRBPSIkT1BFTlNTTF9ORVhUIHNfc2VydmVyIC1lYXJseV9kYXRhIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IgogICAgIE9fTkVYVF9TUlZfTk9fQ0VSVD0iJE9QRU5TU0xfTkVYVCBzX3NlcnZlciAtd3d3ICIKLSAgICBPX05FWFRfQ0xJPSJlY2hvICdHRVQgLyBIVFRQLzEuMCcgfCAkT1BFTlNTTF9ORVhUIHNfY2xpZW50IC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCIKKyAgICBPX05FWFRfQ0xJPSJlY2hvICdHRVQgLyBIVFRQLzEuMCcgfCAkT1BFTlNTTF9ORVhUIHNfY2xpZW50IC1DQWZpbGUgJERBVEFfRklMRVNfUEFUSC90ZXN0LWNhX2NhdDEyLmNydCIKICAgICBPX05FWFRfQ0xJX05PX0NFUlQ9ImVjaG8gJ0dFVCAvIEhUVFAvMS4wJyB8ICRPUEVOU1NMX05FWFQgc19jbGllbnQiCiBlbHNlCiAgICAgT19ORVhUX1NSVj1mYWxzZQpAQCAtODUsNyArMTEzLDcgQEAKIGZpCiAKIGlmIFsgLW4gIiR7R05VVExTX05FWFRfU0VSVjotfSIgXTsgdGhlbgotICAgIEdfTkVYVF9TUlY9IiRHTlVUTFNfTkVYVF9TRVJWIC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyNS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IgorICAgIEdfTkVYVF9TUlY9IiRHTlVUTFNfTkVYVF9TRVJWIC0teDUwOWNlcnRmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgLS14NTA5a2V5ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IgogICAgIEdfTkVYVF9TUlZfTk9fQ0VSVD0iJEdOVVRMU19ORVhUX1NFUlYiCiBlbHNlCiAgICAgR19ORVhUX1NSVj1mYWxzZQpAQCAtOTMsNyArMTIxLDcgQEAKIGZpCiAKIGlmIFsgLW4gIiR7R05VVExTX05FWFRfQ0xJOi19IiBdOyB0aGVuCi0gICAgR19ORVhUX0NMST0iZWNobyAnR0VUIC8gSFRUUC8xLjAnIHwgJEdOVVRMU19ORVhUX0NMSSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCIKKyAgICBHX05FWFRfQ0xJPSJlY2hvICdHRVQgLyBIVFRQLzEuMCcgfCAkR05VVExTX05FWFRfQ0xJIC0teDUwOWNhZmlsZSAkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IgogICAgIEdfTkVYVF9DTElfTk9fQ0VSVD0iZWNobyAnR0VUIC8gSFRUUC8xLjAnIHwgJEdOVVRMU19ORVhUX0NMSSIKIGVsc2UKICAgICBHX05FWFRfQ0xJPWZhbHNlCkBAIC0xMTUsNiArMTQzLDcgQEAKIFJVTl9URVNUX05VTUJFUj0nJwogUlVOX1RFU1RfU1VJVEU9JycKIAorTUlOX1RFU1RTPTEKIFBSRVNFUlZFX0xPR1M9MAogCiAjIFBpY2sgYSAidW5pcXVlIiBzZXJ2ZXIgcG9ydCBpbiB0aGUgcmFuZ2UgMTAwMDAtMTk5OTksIGFuZCBhIHByb3h5CkBAIC0xMzMsNiArMTYyLDcgQEAKICAgICBwcmludGYgIiAgLXN8LS1zaG93LW51bWJlcnNcdFNob3cgdGVzdCBudW1iZXJzIGluIGZyb250IG9mIHRlc3QgbmFtZXNcbiIKICAgICBwcmludGYgIiAgLXB8LS1wcmVzZXJ2ZS1sb2dzXHRQcmVzZXJ2ZSBsb2dzIG9mIHN1Y2Nlc3NmdWwgdGVzdHMgYXMgd2VsbFxuIgogICAgIHByaW50ZiAiICAgICAtLWxpc3QtdGVzdC1jYXNlc1x0TGlzdCBhbGwgcG90ZW50aWFsIHRlc3QgY2FzZXMgKE5vIEV4ZWN1dGlvbilcbiIKKyAgICBwcmludGYgIiAgICAgLS1taW4gICAgICBcdE1pbmltdW0gbnVtYmVyIG9mIG5vbi1za2lwcGVkIHRlc3RzIChkZWZhdWx0IDEpXG4iCiAgICAgcHJpbnRmICIgICAgIC0tb3V0Y29tZS1maWxlXHRGaWxlIHdoZXJlIHRlc3Qgb3V0Y29tZXMgYXJlIHdyaXR0ZW5cbiIKICAgICBwcmludGYgIiAgICAgICAgICAgICAgICBcdChkZWZhdWx0OiBcJE1CRURUTFNfVEVTVF9PVVRDT01FX0ZJTEUsIG5vbmUgaWYgZW1wdHkpXG4iCiAgICAgcHJpbnRmICIgICAgIC0tcG9ydCAgICAgXHRUQ1AvVURQIHBvcnQgKGRlZmF1bHQ6IHJhbmRvbWlzaCAxeHh4eClcbiIKQEAgLTE2Niw2ICsxOTYsOSBAQAogICAgICAgICAgICAgLXB8LS1wcmVzZXJ2ZS1sb2dzKQogICAgICAgICAgICAgICAgIFBSRVNFUlZFX0xPR1M9MQogICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAtLW1pbikKKyAgICAgICAgICAgICAgICBzaGlmdDsgTUlOX1RFU1RTPSQxCisgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgIC0tb3V0Y29tZS1maWxlKQogICAgICAgICAgICAgICAgIHNoaWZ0OyBNQkVEVExTX1RFU1RfT1VUQ09NRV9GSUxFPSQxCiAgICAgICAgICAgICAgICAgOzsKQEAgLTI0MCwzMSArMjczLDM5IEBACiB9CiAKIHJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQoKSB7Ci0gICAgaWYgISAkUF9RVUVSWSAtYWxsICQqIDI+JjEgPiAvZGV2L251bGwKLSAgICB0aGVuCi0gICAgICAgIFNLSVBfTkVYVD0iWUVTIgotICAgIGZpCisgICAgZm9yIHggaW4gIiRAIjsgZG8KKyAgICAgICAgaWYgISBpc19jb25maWdfZW5hYmxlZCAiJHgiOyB0aGVuCisgICAgICAgICAgICBTS0lQX05FWFQ9IllFUyIKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBmaQorICAgIGRvbmUKIH0KIAogcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZGlzYWJsZWQoKSB7Ci0gICAgaWYgJFBfUVVFUlkgLWFueSAkKiAyPiYxID4gL2Rldi9udWxsCi0gICAgdGhlbgotICAgICAgICBTS0lQX05FWFQ9IllFUyIKLSAgICBmaQorICAgIGZvciB4IGluICIkQCI7IGRvCisgICAgICAgIGlmIGlzX2NvbmZpZ19lbmFibGVkICIkeCI7IHRoZW4KKyAgICAgICAgICAgIFNLSVBfTkVYVD0iWUVTIgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGZpCisgICAgZG9uZQogfQogCiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkKCkgewotICAgIGlmICEgJFBfUVVFUlkgLWFueSAkKiAyPiYxID4gL2Rldi9udWxsCi0gICAgdGhlbgotICAgICAgICBTS0lQX05FWFQ9IllFUyIKLSAgICBmaQorICAgIGZvciB4IGluICIkQCI7IGRvCisgICAgICAgIGlmIGlzX2NvbmZpZ19lbmFibGVkICIkeCI7IHRoZW4KKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBmaQorICAgIGRvbmUKKyAgICBTS0lQX05FWFQ9IllFUyIKIH0KIAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZGlzYWJsZWQoKSB7Ci0gICAgaWYgJFBfUVVFUlkgLWFsbCAkKiAyPiYxID4gL2Rldi9udWxsCi0gICAgdGhlbgotICAgICAgICBTS0lQX05FWFQ9IllFUyIKLSAgICBmaQorICAgIGZvciB4IGluICIkQCI7IGRvCisgICAgICAgIGlmICEgaXNfY29uZmlnX2VuYWJsZWQgIiR4IjsgdGhlbgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGZpCisgICAgZG9uZQorICAgIFNLSVBfTkVYVD0iWUVTIgogfQogCiBUTFMxXzJfS0VZX0VYQ0hBTkdFU19XSVRIX0NFUlQ9Ik1CRURUTFNfS0VZX0VYQ0hBTkdFX1JTQV9FTkFCTEVEIFwKQEAgLTI4NCwxMyArMzI1LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfS0VZX0VYQ0hBTkdFX1JTQV9QU0tfRU5BQkxFRCIKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkKCkgewotICAgIGlmICRQX1FVRVJZIC1hbGwgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jZXJ0aWZpY2F0ZV9hdXRoZW50aWNhdGlvbiAoKSB7CisgICAgaWYgaXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiAgICAgdGhlbgorICAgICAgICAjIFRMUyAxLjMgaXMgbmVnb3RpYXRlZCBieSBkZWZhdWx0LCBzbyBjaGVjayB3aGV0aGVyIGl0IHN1cHBvcnRzCisgICAgICAgICMgY2VydGlmaWNhdGUtYmFzZWQgYXV0aGVudGljYXRpb24uCisgICAgICAgIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorICAgIGVsc2UgIyBPbmx5IFRMUyAxLjIgaXMgZW5hYmxlZC4KICAgICAgICAgcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAkVExTMV8yX0tFWV9FWENIQU5HRVNfV0lUSF9DRVJUCi0gICAgZWxpZiAhICRQX1FVRVJZIC1hbGwgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi0gICAgdGhlbgotICAgICAgICBTS0lQX05FWFQ9IllFUyIKICAgICBmaQogfQogCkBAIC00NDIsMTAgKzQ4NCw1MCBAQAogICAgICAgICAgICAgcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQUxQTjs7CiAgICAgZXNhYwogCisgICAgY2FzZSAiICRDTURfTElORSAiIGluCisgICAgICAgICAqXCBhdXRoX21vZGU9KnwqWy1fXCA9XWNydFtfPV0qKQorICAgICAgICAgICAgIyBUaGUgdGVzdCBjYXNlIGludm9sdmVzIGNlcnRpZmljYXRlcyAoY3J0KSwgb3IgYSByZWxldmFudAorICAgICAgICAgICAgIyBhc3BlY3Qgb2YgaXQgaXMgdGhlIChjZXJ0aWZpY2F0ZS1iYXNlZCkgYXV0aGVudGljYXRpb24gbW9kZS4KKyAgICAgICAgICAgIHJlcXVpcmVzX2NlcnRpZmljYXRlX2F1dGhlbnRpY2F0aW9uOzsKKyAgICBlc2FjCisKKyAgICBjYXNlICIgJENNRF9MSU5FICIgaW4KKyAgICAgICAgKiJwcm9ncmFtcy9zc2wvZHRsc19jbGllbnQgIip8XAorICAgICAgICAqInByb2dyYW1zL3NzbC9zc2xfY2xpZW50MSAiKikKKyAgICAgICAgICAgIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfQ1RSX0RSQkdfQworICAgICAgICAgICAgcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19FTlRST1BZX0MKKyAgICAgICAgICAgIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUEVNX1BBUlNFX0MKKyAgICAgICAgICAgIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCisgICAgICAgICAgICByZXF1aXJlc19jZXJ0aWZpY2F0ZV9hdXRoZW50aWNhdGlvbgorICAgICAgICAgICAgOzsKKyAgICAgICAgKiJwcm9ncmFtcy9zc2wvZHRsc19zZXJ2ZXIgIip8XAorICAgICAgICAqInByb2dyYW1zL3NzbC9zc2xfZm9ya19zZXJ2ZXIgIip8XAorICAgICAgICAqInByb2dyYW1zL3NzbC9zc2xfcHRocmVhZF9zZXJ2ZXIgIip8XAorICAgICAgICAqInByb2dyYW1zL3NzbC9zc2xfc2VydmVyICIqKQorICAgICAgICAgICAgcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19DVFJfRFJCR19DCisgICAgICAgICAgICByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0VOVFJPUFlfQworICAgICAgICAgICAgcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19QRU1fUEFSU0VfQworICAgICAgICAgICAgcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKKyAgICAgICAgICAgIHJlcXVpcmVzX2NlcnRpZmljYXRlX2F1dGhlbnRpY2F0aW9uCisgICAgICAgICAgICAjIFRoZSBhY3R1YWwgbWluaW11bSBkZXBlbmRzIG9uIHRoZSBjb25maWd1cmF0aW9uIHNpbmNlIGl0J3MKKyAgICAgICAgICAgICMgbW9zdGx5IGFib3V0IHRoZSBjZXJ0aWZpY2F0ZSBzaXplLgorICAgICAgICAgICAgIyBJbiBjb25maWctc3VpdGUtYi5oLCBmb3IgdGhlIHRlc3QgY2VydGlmaWNhdGVzIChzZXJ2ZXI1LmNydCksCisgICAgICAgICAgICAjIDEwMjQgaXMgbm90IGVub3VnaC4KKyAgICAgICAgICAgIHJlcXVpcmVzX2NvbmZpZ192YWx1ZV9hdF9sZWFzdCBNQkVEVExTX1NTTF9PVVRfQ09OVEVOVF9MRU4gMjAwMAorICAgICAgICAgICAgOzsKKyAgICBlc2FjCisKKyAgICBjYXNlICIgJENNRF9MSU5FICIgaW4KKyAgICAgICAgKiJwcm9ncmFtcy9zc2wvc3NsX3B0aHJlYWRfc2VydmVyICIqKQorICAgICAgICAgICAgcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19USFJFQURJTkdfUFRIUkVBRDs7CisgICAgZXNhYworCiAgICAgY2FzZSAiJENNRF9MSU5FIiBpbgotICAgICAgICAqc2VydmVyNSp8XAotICAgICAgICAqc2VydmVyNyp8XAotICAgICAgICAqZGlyLW1heHBhdGgqKQorICAgICAgICAqWy1fXCA9XXBzayp8KlstX1wgPV1QU0sqKSA6OzsgIyBObyBjZXJ0aWZpY2F0ZSByZXF1aXJlbWVudCB3aXRoIFBTSworICAgICAgICAqL3NlcnZlcjUqfFwKKyAgICAgICAgKi9zZXJ2ZXI3KnxcCisgICAgICAgICovZGlyLW1heHBhdGgqKQorICAgICAgICAgICAgcmVxdWlyZXNfY2VydGlmaWNhdGVfYXV0aGVudGljYXRpb24KICAgICAgICAgICAgIGlmIFsgIiRUTFNfVkVSU0lPTiIgPSAiVExTMTMiIF07IHRoZW4KICAgICAgICAgICAgICAgICAjIEluIGNhc2Ugb2YgVExTMTMgdGhlIHN1cHBvcnQgZm9yIEVDRFNBIGlzIGVub3VnaAogICAgICAgICAgICAgICAgIHJlcXVpcmVzX3BrX2FsZyAiRUNEU0EiCkBAIC00NzcsMjYgKzU1OSwzMCBAQAogICAgIGVzYWMKIAogICAgIGNhc2UgIiRDTURfTElORSIgaW4KLSAgICAgICAgKnNlcnZlcjIqfFwKLSAgICAgICAgKnNlcnZlcjcqKQotICAgICAgICAgICAgIyBzZXJ2ZXIyIGFuZCBzZXJ2ZXI3IGNlcnRpZmljYXRlcyB1c2UgUlNBIGVuY3J5cHRpb24KKyAgICAgICAgKlstX1wgPV1wc2sqfCpbLV9cID1dUFNLKikgOjs7ICMgTm8gY2VydGlmaWNhdGUgcmVxdWlyZW1lbnQgd2l0aCBQU0sKKyAgICAgICAgKi9zZXJ2ZXIxKnxcCisgICAgICAgICovc2VydmVyMip8XAorICAgICAgICAqL3NlcnZlcjcqKQorICAgICAgICAgICAgcmVxdWlyZXNfY2VydGlmaWNhdGVfYXV0aGVudGljYXRpb24KKyAgICAgICAgICAgICMgQ2VydGlmaWNhdGVzIHdpdGggYW4gUlNBIGtleS4gVGhlIGFsZ29yaXRobSByZXF1aXJlbWVudCBpcworICAgICAgICAgICAgIyBzb21lIHN1YnNldCBvZiB7UEtDUyMxdjEuNSBlbmNyeXB0aW9uLCBQS0NTIzF2MS41IHNpZ25hdHVyZSwKKyAgICAgICAgICAgICMgUFNTIHNpZ25hdHVyZX0uIFdlIGNhbid0IGVhc2lseSB0ZWxsIHdoaWNoIHN1YnNldCB3b3JrcywgYW5kCisgICAgICAgICAgICAjIHdlIGFyZW4ndCBjdXJyZW50bHkgcnVubmluZyBzc2wtb3B0LnNoIGluIGNvbmZpZ3VyYXRpb25zCisgICAgICAgICAgICAjIHdoZXJlIHBhcnRpYWwgUlNBIHN1cHBvcnQgaXMgYSBwcm9ibGVtLCBzbyBnZW5lcmljYWxseSwgd2UKKyAgICAgICAgICAgICMganVzdCByZXF1aXJlIFJTQSBhbmQgaXQgd29ya3Mgb3V0IGZvciBvdXIgdGVzdHMgc28gZmFyLgogICAgICAgICAgICAgcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgIk1CRURUTFNfUlNBX0MiCiAgICAgZXNhYwogCiAgICAgdW5zZXQgdG1wCiB9CiAKLXJlcXVpcmVzX2NlcnRpZmljYXRlX2F1dGhlbnRpY2F0aW9uICgpIHsKLSAgICBpZiBbICIkUFNLX09OTFkiID0gIllFUyIgXTsgdGhlbgotICAgICAgICBTS0lQX05FWFQ9IllFUyIKLSAgICBmaQotfQotCiBhZGFwdF9jbWRfZm9yX3BzayAoKSB7CiAgICAgY2FzZSAiJDIiIGluCi0gICAgICAgICpvcGVuc3NsKikgcz0nLXBzayBhYmMxMjMgLW5vY2VydCc7OwotICAgICAgICAqZ251dGxzLSopIHM9Jy0tcHNra2V5PWFiYzEyMyc7OwotICAgICAgICAqKSBzPSdwc2s9YWJjMTIzJzs7CisgICAgICAgICpvcGVuc3NsKnNfc2VydmVyKikgcz0nLXBzayA3Mzc3NmY3MjY0NjY2OTczNjggLW5vY2VydCc7OworICAgICAgICAqb3BlbnNzbCopIHM9Jy1wc2sgNzM3NzZmNzI2NDY2Njk3MzY4Jzs7CisgICAgICAgICpnbnV0bHMtY2xpKikgcz0nLS1wc2t1c2VybmFtZT1DbGllbnRfaWRlbnRpdHkgLS1wc2trZXk9NzM3NzZmNzI2NDY2Njk3MzY4Jzs7CisgICAgICAgICpnbnV0bHMtc2VydiopIHM9Jy0tcHNrcGFzc3dkPS4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NpbXBsZXBhc3MucHNrJzs7CisgICAgICAgICopIHM9J3Bzaz03Mzc3NmY3MjY0NjY2OTczNjgnOzsKICAgICBlc2FjCiAgICAgZXZhbCAkMT0nIiQyICRzIicKICAgICB1bnNldCBzCkBAIC01NDYsMTUgKzYzMiwzMCBAQAogICAgIGFkYXB0X2NtZF9mb3JfcHNrIFNSVl9DTUQgIiRTUlZfQ01EIgogfQogCi1jYXNlICIgJENPTkZJR1NfRU5BQkxFRCAiIGluCi0gICAgKlwgTUJFRFRMU19LRVlfRVhDSEFOR0VfW15QXSopIFBTS19PTkxZPSJOTyI7OwotICAgICpcIE1CRURUTFNfS0VZX0VYQ0hBTkdFX1BbXlNdKikgUFNLX09OTFk9Ik5PIjs7Ci0gICAgKlwgTUJFRFRMU19LRVlfRVhDSEFOR0VfUFNbXktdKikgUFNLX09OTFk9Ik5PIjs7Ci0gICAgKlwgTUJFRFRMU19LRVlfRVhDSEFOR0VfUFNLW15fXSopIFBTS19PTkxZPSJOTyI7OwotICAgICpcIE1CRURUTFNfS0VZX0VYQ0hBTkdFX1BTS19FTkFCTEVEXCAqKSBQU0tfT05MWT0iWUVTIjs7Ci0gICAgKikgUFNLX09OTFk9Ik5PIjs7Ci1lc2FjCisjIFBTS19QUkVTRU5UPSJZRVMiIGlmIGF0IGxlYXN0IG9uZSBwcm90b2NvbCB2ZXJzaW9ucyBzdXBwb3J0cyBhdCBsZWFzdAorIyBvbmUgUFNLIGtleSBleGNoYW5nZSBtb2RlLgorUFNLX1BSRVNFTlQ9Ik5PIgorIyBQU0tfT05MWT0iWUVTIiBpZiBhbGwgdGhlIGF2YWlsYWJsZSBrZXkgZXhjaGFuZ2UgbW9kZXMgYXJlIFBTSy1iYXNlZAorIyAocHVyZS1QU0sgb3IgUFNLLWVwaGVtZXJhbCwgcG9zc2libHkgYm90aCkuCitQU0tfT05MWT0iIgorZm9yIGMgaW4gJENPTkZJR1NfRU5BQkxFRDsgZG8KKyAgICBjYXNlICRjIGluCisgICAgICAgIE1CRURUTFNfS0VZX0VYQ0hBTkdFX1BTS19FTkFCTEVEKSBQU0tfUFJFU0VOVD0iWUVTIjs7CisgICAgICAgIE1CRURUTFNfS0VZX0VYQ0hBTkdFXypfUFNLX0VOQUJMRUQpIFBTS19QUkVTRU5UPSJZRVMiOzsKKyAgICAgICAgTUJFRFRMU19LRVlfRVhDSEFOR0VfKl9FTkFCTEVEKSBQU0tfT05MWT0iTk8iOzsKKyAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVEKSBQU0tfUFJFU0VOVD0iWUVTIjs7CisgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9QU0tfKl9FTkFCTEVEKSBQU0tfUFJFU0VOVD0iWUVTIjs7CisgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV8qX0VOQUJMRUQpIFBTS19PTkxZPSJOTyI7OworICAgIGVzYWMKK2RvbmUKKyMgQXQgdGhpcyBzdGFnZSwgJFBTS19PTkxZIGlzIGVtcHR5IGlmIHdlIGhhdmVuJ3QgZGV0ZWN0ZWQgYSBub24tUFNLCisjIGtleSBleGNoYW5nZSwgaS5lLiBpZiB3ZSdyZSBpbiBhIFBTSy1vbmx5IGJ1aWxkIG9yIGEgYnVpbGQgd2l0aCBubworIyBrZXkgZXhjaGFuZ2VzIGF0IGFsbC4gV2UgYXZvaWQgdHJpZ2dlcmluZyBQU0stb25seSBhZGFwdGF0aW9uIGNvZGUgaW4KKyMgdGhlIGVkZ2UgY2FzZSBvZiBubyBrZXkgZXhjaGFuZ2VzLgorOiAke1BTS19PTkxZOj0kUFNLX1BSRVNFTlR9Cit1bnNldCBjCiAKK0hBU19BTEdfTUQ1PSJOTyIKIEhBU19BTEdfU0hBXzE9Ik5PIgogSEFTX0FMR19TSEFfMjI0PSJOTyIKIEhBU19BTEdfU0hBXzI1Nj0iTk8iCkBAIC01NzMsNyArNjc0LDEwIEBACiAgICAgZWxzZQogICAgICAgICBDVVJSX0FMRz1NQkVEVExTXyR7MX1fQwogICAgICAgICAjIFJlbW92ZSB0aGUgc2Vjb25kIHVuZGVyc2NvcmUgdG8gbWF0Y2ggTUJFRFRMU18qIG5hbWluZyBjb252ZW50aW9uCi0gICAgICAgIENVUlJfQUxHPSQoZWNobyAiJENVUlJfQUxHIiB8IHNlZCAncy9fLy8yJykKKyAgICAgICAgIyBNRDUgaXMgYW4gZXhjZXB0aW9uIHRvIHRoaXMgY29udmVudGlvbgorICAgICAgICBpZiBbICIkezF9IiAhPSAiTUQ1IiBdOyB0aGVuCisgICAgICAgICAgICBDVVJSX0FMRz0kKGVjaG8gIiRDVVJSX0FMRyIgfCBzZWQgJ3MvXy8vMicpCisgICAgICAgIGZpCiAgICAgZmkKIAogICAgIGNhc2UgJENPTkZJR1NfRU5BQkxFRCBpbgpAQCAtNTg3LDcgKzY5MSw3IEBACiAKIHBvcHVsYXRlX2VuYWJsZWRfaGFzaF9hbGdzKCkKIHsKLSAgICBmb3IgaGFzaF9hbGcgaW4gU0hBXzEgU0hBXzIyNCBTSEFfMjU2IFNIQV8zODQgU0hBXzUxMjsgZG8KKyAgICBmb3IgaGFzaF9hbGcgaW4gU0hBXzEgU0hBXzIyNCBTSEFfMjU2IFNIQV8zODQgU0hBXzUxMiBNRDU7IGRvCiAgICAgICAgIGlmIGNoZWNrX2Zvcl9oYXNoX2FsZyAiJGhhc2hfYWxnIjsgdGhlbgogICAgICAgICAgICAgaGFzaF9hbGdfdmFyaWFibGU9SEFTX0FMR18ke2hhc2hfYWxnfQogICAgICAgICAgICAgZXZhbCAke2hhc2hfYWxnX3ZhcmlhYmxlfT1ZRVMKQEAgLTYwMCw2ICs3MDQsNyBAQAogICAgIEhBU0hfREVGSU5FPSJJbnZhbGlkIgogICAgIEhBU19IQVNIX0FMRz0iTk8iCiAgICAgY2FzZSAkMSBpbgorICAgICAgICBNRDUpOjs7CiAgICAgICAgIFNIQV8xKTo7OwogICAgICAgICBTSEFfMjI0KTo7OwogICAgICAgICBTSEFfMjU2KTo7OwpAQCAtNzUwLDYgKzg1NSwxNCBAQAogICAgIGZpCiB9CiAKKyMgT3BlblNTTCBzZXJ2ZXJzIGZvcmJpZCBjbGllbnQgcmVuZWdvdGlhdGlvbiBieSBkZWZhdWx0IHNpbmNlIE9wZW5TU0wgMy4wLgorIyBPbGRlciB2ZXJzaW9ucyBhbHdheXMgYWxsb3cgaXQgYW5kIGhhdmUgbm8gY29tbWFuZC1saW5lIG9wdGlvbi4KK09QRU5TU0xfU19TRVJWRVJfQ0xJRU5UX1JFTkVHT1RJQVRJT049CitjYXNlICQoJE9QRU5TU0wgc19zZXJ2ZXIgLWhlbHAgMj4mMSkgaW4KKyAgICAqLWNsaWVudF9yZW5lZ290aWF0aW9uKikKKyAgICAgICAgT1BFTlNTTF9TX1NFUlZFUl9DTElFTlRfUkVORUdPVElBVElPTj0tY2xpZW50X3JlbmVnb3RpYXRpb247OworZXNhYworCiAjIHNraXAgbmV4dCB0ZXN0IGlmIHRsczFfMyBpcyBub3QgYXZhaWxhYmxlCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zKCkgewogICAgIHJlcXVpcmVzX2dudXRsc19uZXh0CkBAIC0xMTcwLDcgKzEyODMsNyBAQAogIyBjaGVjayBpZiB0aGUgZ2l2ZW4gY29tbWFuZCB1c2VzIGR0bHMgYW5kIHNldHMgZ2xvYmFsIHZhcmlhYmxlIERUTFMKIGRldGVjdF9kdGxzKCkgewogICAgIGNhc2UgIiQxIiBpbgotICAgICAgICAqZHRscz0xKnwqLWR0bHMqfCotdSopIERUTFM9MTs7CisgICAgICAgICpkdGxzPTEqfCotZHRscyp8Ki11KnwqL2R0bHNfKikgRFRMUz0xOzsKICAgICAgICAgKikgRFRMUz0wOzsKICAgICBlc2FjCiB9CkBAIC0xMjkwLDkgKzE0MDMsMTMgQEAKICMgT3V0cHV0czoKICMgKiAkQ0xJX0NNRCwgJFBYWV9DTUQsICRTUlZfQ01EOiBtYXkgYmUgdHdlYWtlZC4KIGFuYWx5emVfdGVzdF9jb21tYW5kcygpIHsKLSAgICAjIGlmIHRoZSB0ZXN0IHVzZXMgRFRMUyBidXQgbm8gY3VzdG9tIHByb3h5LCBhZGQgYSBzaW1wbGUgcHJveHkKLSAgICAjIGFzIGl0IHByb3ZpZGVzIHRpbWluZyBpbmZvIHRoYXQncyB1c2VmdWwgdG8gZGVidWcgZmFpbHVyZXMKLSAgICBpZiBbIC16ICIkUFhZX0NNRCIgXSAmJiBbICIkRFRMUyIgLWVxIDEgXTsgdGhlbgorICAgICMgSWYgdGhlIHRlc3QgdXNlcyBEVExTLCBkb2VzIG5vdCBmb3JjZSBhIHNwZWNpZmljIHBvcnQsIGFuZCBkb2VzIG5vdAorICAgICMgc3BlY2lmeSBhIGN1c3RvbSBwcm94eSwgYWRkIGEgc2ltcGxlIHByb3h5LgorICAgICMgSXQgcHJvdmlkZXMgdGltaW5nIGluZm8gdGhhdCdzIHVzZWZ1bCB0byBkZWJ1ZyBmYWlsdXJlcy4KKyAgICBpZiBbICIkRFRMUyIgLWVxIDEgXSAmJgorICAgICAgIFsgIiRUSElTX1NSVl9QT1JUIiA9ICIkU1JWX1BPUlQiIF0gJiYKKyAgICAgICBbIC16ICIkUFhZX0NNRCIgXQorICAgIHRoZW4KICAgICAgICAgUFhZX0NNRD0iJFBfUFhZIgogICAgICAgICBjYXNlICIgJFNSVl9DTUQgIiBpbgogICAgICAgICAgICAgKicgc2VydmVyX2FkZHI9OjoxICcqKQpAQCAtMTMyOCw3ICsxNDQ1LDIwIEBACiAgICAgaWYgWyAtbiAiJFBYWV9DTUQiIF07IHRoZW4KICAgICAgICAgQ0xJX0NNRD0kKCBlY2hvICIkQ0xJX0NNRCIgfCBzZWQgcy8rU1JWX1BPUlQvJFBYWV9QT1JUL2cgKQogICAgIGVsc2UKLSAgICAgICAgQ0xJX0NNRD0kKCBlY2hvICIkQ0xJX0NNRCIgfCBzZWQgcy8rU1JWX1BPUlQvJFNSVl9QT1JUL2cgKQorICAgICAgICBDTElfQ01EPSQoIGVjaG8gIiRDTElfQ01EIiB8IHNlZCBzLytTUlZfUE9SVC8kVEhJU19TUlZfUE9SVC9nICkKKyAgICBmaQorCisgICAgIyBJZiB0aGUgdGVzdCBmb3JjZXMgYSBzcGVjaWZpYyBwb3J0IGFuZCB0aGUgc2VydmVyIGlzIE9wZW5TU0wgb3IKKyAgICAjIEdudVRMUywgb3ZlcnJpZGUgaXRzIHBvcnQgc3BlY2lmaWNhdGlvbi4KKyAgICBpZiBbICIkVEhJU19TUlZfUE9SVCIgIT0gIiRTUlZfUE9SVCIgXTsgdGhlbgorICAgICAgICBjYXNlICIkU1JWX0NNRCIgaW4KKyAgICAgICAgICAgICIkR19TUlYiKnwiJEdfTkVYVF9TUlYiKikKKyAgICAgICAgICAgICAgICBTUlZfQ01EPSQoCisgICAgICAgICAgICAgICAgICAgIHByaW50ZiAlcyAiJFNSVl9DTUQgIiB8CisgICAgICAgICAgICAgICAgICAgIHNlZCAtZSAicy8gLXAgJFNSVl9QT1JUIC8gLXAgJFRISVNfU1JWX1BPUlQgLyIKKyAgICAgICAgICAgICAgICApOzsKKyAgICAgICAgICAgICIkT19TUlYiKnwiJE9fTkVYVF9TUlYiKikgU1JWX0NNRD0iJFNSVl9DTUQgLWFjY2VwdCAkVEhJU19TUlZfUE9SVCI7OworICAgICAgICBlc2FjCiAgICAgZmkKIAogICAgICMgcHJlcGVuZCB2YWxncmluZCB0byBvdXIgY29tbWFuZHMgaWYgYWN0aXZlCkBAIC0xNTI3LDcgKzE2NTcsNyBAQAogICAgIHByaW50ZiAnIyAlc1xuJXNcbicgIiROQU1FIiAiJFNSVl9DTUQiID4gJFNSVl9PVVQKICAgICBwcm92aWRlX2lucHV0IHwgJFNSVl9DTUQgPj4gJFNSVl9PVVQgMj4mMSAmCiAgICAgU1JWX1BJRD0kIQotICAgIHdhaXRfc2VydmVyX3N0YXJ0ICIkU1JWX1BPUlQiICIkU1JWX1BJRCIKKyAgICB3YWl0X3NlcnZlcl9zdGFydCAiJFRISVNfU1JWX1BPUlQiICIkU1JWX1BJRCIKIAogICAgIHByaW50ZiAnIyAlc1xuJXNcbicgIiROQU1FIiAiJENMSV9DTUQiID4gJENMSV9PVVQKICAgICAjIFRoZSBjbGllbnQgbXVzdCBiZSBhIHN1YnByb2Nlc3Mgb2YgdGhlIHNjcmlwdCBpbiBvcmRlciBmb3Iga2lsbGluZyBpdCB0bwpAQCAtMTYwMCw3ICsxNzMwLDcgQEAKICAgICBlc2FjCiAgICAgIyBUaGlyZCBpZiB0aGUgdmVyc2lvbiBpcyBub3QgZm9yY2VkLCBpZiBUTFMgMS4zIGlzIGVuYWJsZWQgdGhlbiB0aGUgdGVzdAogICAgICMgaXMgYWltZWQgdG8gcnVuIGEgVExTIDEuMyBoYW5kc2hha2UuCi0gICAgaWYgJFBfUVVFUlkgLWFsbCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKKyAgICBpZiBpc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKICAgICB0aGVuCiAgICAgICAgIGVjaG8gIlRMUzEzIgogICAgIGVsc2UKQEAgLTE2NTAsNyArMTc4MCw3IEBACiAgICAgICAgIGVzYWMKICAgICBmaQogCi0gICAgIyBkb2VzIHRoaXMgdGVzdCB1c2UgYSBwcm94eT8KKyAgICAjIERvZXMgdGhpcyB0ZXN0IHNwZWNpZnkgYSBwcm94eT8KICAgICBpZiBbICJYJDEiID0gIlgtcCIgXTsgdGhlbgogICAgICAgICBQWFlfQ01EPSIkMiIKICAgICAgICAgc2hpZnQgMgpAQCAtMTY1OCw2ICsxNzg4LDE0IEBACiAgICAgICAgIFBYWV9DTUQ9IiIKICAgICBmaQogCisgICAgIyBEb2VzIHRoaXMgdGVzdCBmb3JjZSBhIHNwZWNpZmljIHBvcnQ/CisgICAgaWYgWyAiJDEiID0gIi1QIiBdOyB0aGVuCisgICAgICAgIFRISVNfU1JWX1BPUlQ9IiQyIgorICAgICAgICBzaGlmdCAyCisgICAgZWxzZQorICAgICAgICBUSElTX1NSVl9QT1JUPSIkU1JWX1BPUlQiCisgICAgZmkKKwogICAgICMgZ2V0IGNvbW1hbmRzIGFuZCBjbGllbnQgb3V0cHV0CiAgICAgU1JWX0NNRD0iJDEiCiAgICAgQ0xJX0NNRD0iJDIiCkBAIC0xNjY2LDcgKzE4MDQsNyBAQAogCiAgICAgIyBDaGVjayBpZiB0ZXN0IHVzZXMgZmlsZXMKICAgICBjYXNlICIkU1JWX0NNRCAkQ0xJX0NNRCIgaW4KLSAgICAgICAgKmRhdGFfZmlsZXMvKikKKyAgICAgICAgKiREQVRBX0ZJTEVTX1BBVEgvKikKICAgICAgICAgICAgIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfRlNfSU87OwogICAgIGVzYWMKIApAQCAtMTY3OSwyMSArMTgxNywyNCBAQAogICAgICMgQ2hlY2sgaWYgd2UgYXJlIHRyeWluZyB0byB1c2UgYW4gZXh0ZXJuYWwgdG9vbCB3aGljaCBkb2VzIG5vdCBzdXBwb3J0IEVDREgKICAgICBFWFRfV09fRUNESD0kKHVzZV9leHRfdG9vbF93aXRob3V0X2VjZGhfc3VwcG9ydCAiJFNSVl9DTUQiICIkQ0xJX0NNRCIpCiAKLSAgICAjIEd1ZXNzIHRoZSBUTFMgdmVyc2lvbiB3aGljaCBpcyBnb2luZyB0byBiZSB1c2VkCisgICAgIyBHdWVzcyB0aGUgVExTIHZlcnNpb24gd2hpY2ggaXMgZ29pbmcgdG8gYmUgdXNlZC4KKyAgICAjIE5vdGUgdGhhdCB0aGlzIGRldGVjdGlvbiBpcyB3cm9uZyBpbiBzb21lIGNhc2VzLCB3aGljaCBjYXVzZXMgdW5kdWx5CisgICAgIyBza2lwcGVkIHRlc3QgY2FzZXMgaW4gYnVpbGRzIHdpdGggVExTIDEuMyBidXQgbm90IFRMUyAxLjIuCisgICAgIyBodHRwczovL2dpdGh1Yi5jb20vTWJlZC1UTFMvbWJlZHRscy9pc3N1ZXMvOTU2MAogICAgIGlmIFsgIiRFWFRfV09fRUNESCIgPSAibm8iIF07IHRoZW4KICAgICAgICAgVExTX1ZFUlNJT049JChnZXRfdGxzX3ZlcnNpb24gIiRTUlZfQ01EIiAiJENMSV9DTUQiKQogICAgIGVsc2UKICAgICAgICAgVExTX1ZFUlNJT049IlRMUzEyIgogICAgIGZpCiAKKyAgICAjIElmIHdlJ3JlIGluIGEgUFNLLW9ubHkgYnVpbGQgYW5kIHRoZSB0ZXN0IGNhbiBiZSBhZGFwdGVkIHRvIFBTSywgZG8gdGhhdC4KKyAgICBtYXliZV9hZGFwdF9mb3JfcHNrICIkQCIKKwogICAgICMgSWYgdGhlIGNsaWVudCBvciBzZXJ2ZXIgcmVxdWlyZXMgY2VydGFpbiBmZWF0dXJlcyB0aGF0IGNhbiBiZSBkZXRlY3RlZAogICAgICMgZnJvbSB0aGVpciBjb21tYW5kLWxpbmUgYXJndW1lbnRzLCBjaGVjayB3aGV0aGVyIHRoZXkncmUgZW5hYmxlZC4KICAgICBkZXRlY3RfcmVxdWlyZWRfZmVhdHVyZXMgIiRTUlZfQ01EIiAic2VydmVyIiAiJFRMU19WRVJTSU9OIiAiJEVYVF9XT19FQ0RIIiAiJEAiCiAgICAgZGV0ZWN0X3JlcXVpcmVkX2ZlYXR1cmVzICIkQ0xJX0NNRCIgImNsaWVudCIgIiRUTFNfVkVSU0lPTiIgIiRFWFRfV09fRUNESCIgIiRAIgogCi0gICAgIyBJZiB3ZSdyZSBpbiBhIFBTSy1vbmx5IGJ1aWxkIGFuZCB0aGUgdGVzdCBjYW4gYmUgYWRhcHRlZCB0byBQU0ssIGRvIHRoYXQuCi0gICAgbWF5YmVfYWRhcHRfZm9yX3BzayAiJEAiCi0KICAgICAjIHNob3VsZCB3ZSBza2lwPwogICAgIGlmIFsgIlgkU0tJUF9ORVhUIiA9ICJYWUVTIiBdOyB0aGVuCiAgICAgICAgIFNLSVBfTkVYVD0iTk8iCkBAIC0xNzc0LDcgKzE5MTUsNyBAQAogIyBhIG1heGltdW0gZnJhZ21lbnQgbGVuZ3RoLgogIyAgZmlyc3QgYXJndW1lbnQgKCQxKSBpcyBNRkwgZm9yIFNTTCBjbGllbnQKICMgIHNlY29uZCBhcmd1bWVudCAoJDIpIGlzIG1lbW9yeSB1c2FnZSBmb3IgU1NMIGNsaWVudCB3aXRoIGRlZmF1bHQgTUZMICgxNmspCi1ydW5fdGVzdF9tZW1vcnlfYWZ0ZXJfaGFuc2hha2Vfd2l0aF9tZmwoKQorcnVuX3Rlc3RfbWVtb3J5X2FmdGVyX2hhbmRzaGFrZV93aXRoX21mbCgpCiB7CiAgICAgIyBUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIGRpZmZlcmVuY2UgaXMgYXJvdW5kIDIqKDE2ay1NRkwpCiAgICAgTUVNT1JZX1VTQUdFX0xJTUlUPSIkKCggJDIgLSAoIDIgKiAoIDE2Mzg0IC0gJDEgKSkgKSkiCkBAIC0xNzg1LDcgKzE5MjYsNyBAQAogICAgIHJ1bl90ZXN0ICAgICJIYW5kc2hha2UgbWVtb3J5IHVzYWdlIChNRkwgJDEpIiBcCiAgICAgICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCBmb3JjZV92ZXJzaW9uPXRsczEyIiBcCiAgICAgICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIFwKLSAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKICAgICAgICAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1DQ00gbWF4X2ZyYWdfbGVuPSQxIiBcCiAgICAgICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAgICAgLUYgImhhbmRzaGFrZV9tZW1vcnlfY2hlY2sgJE1FTU9SWV9VU0FHRV9MSU1JVCIKQEAgLTE3OTQsNyArMTkzNSw3IEBACiAKICMgVGVzdCB0aGF0IHRoZSBzZXJ2ZXIncyBtZW1vcnkgdXNhZ2UgYWZ0ZXIgYSBoYW5kc2hha2UgaXMgcmVkdWNlZCB3aGVuIGEgY2xpZW50IHNwZWNpZmllcwogIyBkaWZmZXJlbnQgdmFsdWVzIG9mIE1heGltdW0gRnJhZ21lbnQgTGVuZ3RoOiBkZWZhdWx0ICgxNmspLCA0aywgMmssIDFrIGFuZCA1MTIgYnl0ZXMKLXJ1bl90ZXN0c19tZW1vcnlfYWZ0ZXJfaGFuc2hha2UoKQorcnVuX3Rlc3RzX21lbW9yeV9hZnRlcl9oYW5kc2hha2UoKQogewogICAgICMgYWxsIHRlc3RzIGluIHRoaXMgc2VxdWVuY2UgcmVxdWlyZXMgdGhlIHNhbWUgY29uZmlndXJhdGlvbiAoc2VlIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkKCkpCiAgICAgU0tJUF9USElTX1RFU1RTPSIkU0tJUF9ORVhUIgpAQCAtMTgwNCwyMiArMTk0NSwyMiBAQAogICAgIHJ1bl90ZXN0ICAgICJIYW5kc2hha2UgbWVtb3J5IHVzYWdlIGluaXRpYWwgKE1GTCAxNjM4NCAtIGRlZmF1bHQpIiBcCiAgICAgICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCBmb3JjZV92ZXJzaW9uPXRsczEyIiBcCiAgICAgICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIFwKLSAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKICAgICAgICAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1DQ00iIFwKICAgICAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgICAgICAtRiAiaGFuZHNoYWtlX21lbW9yeV9nZXQgTUVNT1JZX1VTQUdFX01GTF8xNksiCiAKICAgICBTS0lQX05FWFQ9IiRTS0lQX1RISVNfVEVTVFMiCi0gICAgcnVuX3Rlc3RfbWVtb3J5X2FmdGVyX2hhbnNoYWtlX3dpdGhfbWZsIDQwOTYgIiRNRU1PUllfVVNBR0VfTUZMXzE2SyIKKyAgICBydW5fdGVzdF9tZW1vcnlfYWZ0ZXJfaGFuZHNoYWtlX3dpdGhfbWZsIDQwOTYgIiRNRU1PUllfVVNBR0VfTUZMXzE2SyIKIAogICAgIFNLSVBfTkVYVD0iJFNLSVBfVEhJU19URVNUUyIKLSAgICBydW5fdGVzdF9tZW1vcnlfYWZ0ZXJfaGFuc2hha2Vfd2l0aF9tZmwgMjA0OCAiJE1FTU9SWV9VU0FHRV9NRkxfMTZLIgorICAgIHJ1bl90ZXN0X21lbW9yeV9hZnRlcl9oYW5kc2hha2Vfd2l0aF9tZmwgMjA0OCAiJE1FTU9SWV9VU0FHRV9NRkxfMTZLIgogCiAgICAgU0tJUF9ORVhUPSIkU0tJUF9USElTX1RFU1RTIgotICAgIHJ1bl90ZXN0X21lbW9yeV9hZnRlcl9oYW5zaGFrZV93aXRoX21mbCAxMDI0ICIkTUVNT1JZX1VTQUdFX01GTF8xNksiCisgICAgcnVuX3Rlc3RfbWVtb3J5X2FmdGVyX2hhbmRzaGFrZV93aXRoX21mbCAxMDI0ICIkTUVNT1JZX1VTQUdFX01GTF8xNksiCiAKICAgICBTS0lQX05FWFQ9IiRTS0lQX1RISVNfVEVTVFMiCi0gICAgcnVuX3Rlc3RfbWVtb3J5X2FmdGVyX2hhbnNoYWtlX3dpdGhfbWZsIDUxMiAiJE1FTU9SWV9VU0FHRV9NRkxfMTZLIgorICAgIHJ1bl90ZXN0X21lbW9yeV9hZnRlcl9oYW5kc2hha2Vfd2l0aF9tZmwgNTEyICIkTUVNT1JZX1VTQUdFX01GTF8xNksiCiB9CiAKIGNsZWFudXAoKSB7CkBAIC0yMDI1LDggKzIxNjYsOCBAQAogIyAtIHRoZSBleHBlY3RlZCBwYXJhbWV0ZXJzIGFyZSBzZWxlY3RlZAogcmVxdWlyZXNfY2lwaGVyc3VpdGVfZW5hYmxlZCBUTFMtRUNESEUtUlNBLVdJVEgtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2CiByZXF1aXJlc19oYXNoX2FsZyBTSEFfNTEyICMgInNpZ25hdHVyZV9hbGdvcml0aG0gZXh0OiA2IgotcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAiTUJFRFRMU19FQ1BfRFBfQ1VSVkUyNTUxOV9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9XQU5UX0VDQ19NT05UR09NRVJZXzI1NSIKK3JlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19FQ1BfRFBfQ1VSVkUyNTUxOV9FTkFCTEVEIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX1dBTlRfRUNDX01PTlRHT01FUllfMjU1CiBydW5fdGVzdCAgICAiRGVmYXVsdCwgVExTIDEuMiIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIiIFwKQEAgLTIwNDcsNyArMjE4OCw2IEBACiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgRFRMU3YxLjIiIFwKICAgICAgICAgICAgIC1zICJDaXBoZXJzdWl0ZSBpcyBUTFMtRUNESEUtUlNBLVdJVEgtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2IgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJUTFMgY2xpZW50IGF1dGg6IHJlcXVpcmVkIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAogICAgICAgICAgICAgIiRQX0NMSSIgXApAQCAtMjA2OSw0OCArMjIwOSw0OCBAQAogICAgICAgICAgICAgLWMgIktleSBzaXplIGlzIDEyOCIKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX01EX0NBTl9NRDUKICMgc2VydmVyNS5rZXkuZW5jIGlzIGluIFBFTSBmb3JtYXQgYW5kIEFFUy0yNTYtQ0JDIGNyeXB0ZWQuIFVuZm9ydHVuYXRlbHkgUEVNCiAjIG1vZHVsZSBkb2VzIG5vdCBzdXBwb3J0IFBTQSBkaXNwYXRjaGluZyBzbyB3ZSBuZWVkIGJ1aWx0aW4gc3VwcG9ydC4KIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0FFU19DCityZXF1aXJlc19oYXNoX2FsZyBNRDUKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8yNTYKIHJ1bl90ZXN0ICAgICJUTFM6IHBhc3N3b3JkIHByb3RlY3RlZCBjbGllbnQga2V5IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleS5lbmMga2V5X3B3ZD1Qb2xhclNTTFRlc3QiIFwKKyAgICAgICAgICAgICIkUF9DTEkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5LmVuYyBrZXlfcHdkPVBvbGFyU1NMVGVzdCIgXAogICAgICAgICAgICAgMAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfTURfQ0FOX01ENQogIyBzZXJ2ZXI1LmtleS5lbmMgaXMgaW4gUEVNIGZvcm1hdCBhbmQgQUVTLTI1Ni1DQkMgY3J5cHRlZC4gVW5mb3J0dW5hdGVseSBQRU0KICMgbW9kdWxlIGRvZXMgbm90IHN1cHBvcnQgUFNBIGRpc3BhdGNoaW5nIHNvIHdlIG5lZWQgYnVpbHRpbiBzdXBwb3J0LgogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfQUVTX0MKK3JlcXVpcmVzX2hhc2hfYWxnIE1ENQogcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzI1NgogcnVuX3Rlc3QgICAgIlRMUzogcGFzc3dvcmQgcHJvdGVjdGVkIHNlcnZlciBrZXkiIFwKLSAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5LmVuYyBrZXlfcHdkPVBvbGFyU1NMVGVzdCIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkuZW5jIGtleV9wd2Q9UG9sYXJTU0xUZXN0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIiIFwKICAgICAgICAgICAgIDAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1JTQV9DCi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX01EX0NBTl9NRDUKICMgc2VydmVyNS5rZXkuZW5jIGlzIGluIFBFTSBmb3JtYXQgYW5kIEFFUy0yNTYtQ0JDIGNyeXB0ZWQuIFVuZm9ydHVuYXRlbHkgUEVNCiAjIG1vZHVsZSBkb2VzIG5vdCBzdXBwb3J0IFBTQSBkaXNwYXRjaGluZyBzbyB3ZSBuZWVkIGJ1aWx0aW4gc3VwcG9ydC4KIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0FFU19DCityZXF1aXJlc19oYXNoX2FsZyBNRDUKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8yNTYKIHJ1bl90ZXN0ICAgICJUTFM6IHBhc3N3b3JkIHByb3RlY3RlZCBzZXJ2ZXIga2V5LCB0d28gY2VydGlmaWNhdGVzIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTJcCi0gICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkuZW5jIGtleV9wd2Q9UG9sYXJTU0xUZXN0IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgXAotICAgICAgICAgICAgICBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleS5lbmMga2V5X3B3ZDI9UG9sYXJTU0xUZXN0IGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IiBcCisgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkuZW5jIGtleV9wd2Q9UG9sYXJTU0xUZXN0IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgXAorICAgICAgICAgICAgICBrZXlfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleS5lbmMga2V5X3B3ZDI9UG9sYXJTU0xUZXN0IGNydF9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIiBcCiAgICAgICAgICAgICAwCiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9UUlVTVEVEX0NFUlRJRklDQVRFX0NBTExCQUNLCiBydW5fdGVzdCAgICAiQ0EgY2FsbGJhY2sgb24gY2xpZW50IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGNhX2NhbGxiYWNrPTEgZGVidWdfbGV2ZWw9MyAiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgInVzZSBDQSBjYWxsYmFjayBmb3IgWC41MDkgQ1JUIHZlcmlmaWNhdGlvbiIgXAogICAgICAgICAgICAgLVMgImVycm9yIiBcCkBAIC0yMTIwLDkgKzIyNjAsOSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DCiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiQ0EgY2FsbGJhY2sgb24gc2VydmVyIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGNhX2NhbGxiYWNrPTEgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfU1JWIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAorICAgICAgICAgICAgIiRQX0NMSSBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAidXNlIENBIGNhbGxiYWNrIGZvciBYLjUwOSBDUlQgdmVyaWZpY2F0aW9uIiBcCiAgICAgICAgICAgICAtcyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKQEAgLTIxMzUsMTAgKzIyNzUsMTAgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8yNTYKIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5IGZvciBjbGllbnQgYXV0aGVudGljYXRpb246IEVDREhFLUVDRFNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgYXV0aF9tb2RlPXJlcXVpcmVkIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKLSAgICAgICAgICAgICIkUF9DTEkga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkga2V5X29wYXF1ZV9hbGdzPWVjZHNhLXNpZ24sbm9uZSIgXAorICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGF1dGhfbW9kZT1yZXF1aXJlZCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGtleV9vcGFxdWU9MSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGtleV9vcGFxdWVfYWxncz1lY2RzYS1zaWduLG5vbmUiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImtleSB0eXBlOiBPcGFxdWUiIFwKICAgICAgICAgICAgIC1jICJDaXBoZXJzdWl0ZSBpcyBUTFMtRUNESEUtRUNEU0EiIFwKQEAgLTIxNTQsMTAgKzIyOTQsMTAgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX1JTQV9FTkFCTEVECiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiT3BhcXVlIGtleSBmb3IgY2xpZW50IGF1dGhlbnRpY2F0aW9uOiBFQ0RIRS1SU0EiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBhdXRoX21vZGU9cmVxdWlyZWQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkiIFwKLSAgICAgICAgICAgICIkUF9DTEkga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGtleV9vcGFxdWVfYWxncz1yc2Etc2lnbi1wa2NzMSxub25lIiBcCisgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgYXV0aF9tb2RlPXJlcXVpcmVkIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGtleV9vcGFxdWU9MSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcGtjczEsbm9uZSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAia2V5IHR5cGU6IE9wYXF1ZSIgXAogICAgICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUy1FQ0RIRS1SU0EiIFwKQEAgLTIxNzEsMTAgKzIzMTEsMTAgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8yNTYKIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5IGZvciBjbGllbnQgYXV0aGVudGljYXRpb246IERIRS1SU0EiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBhdXRoX21vZGU9cmVxdWlyZWQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkiIFwKLSAgICAgICAgICAgICIkUF9DTEkga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKKyAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBhdXRoX21vZGU9cmVxdWlyZWQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkga2V5X29wYXF1ZT0xIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKICAgICAgICAgICAgICBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcGtjczEsbm9uZSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAia2V5IHR5cGU6IE9wYXF1ZSIgXApAQCAtMjE5MCw4ICsyMzMwLDggQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8yNTYKIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5IGZvciBzZXJ2ZXIgYXV0aGVudGljYXRpb246IEVDREhFLUVDRFNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5ICBrZXlfb3BhcXVlX2FsZ3M9ZWNkc2Etc2lnbixub25lIiBcCisgICAgICAgICAgICAiJFBfU1JWIGtleV9vcGFxdWU9MSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5ICBrZXlfb3BhcXVlX2FsZ3M9ZWNkc2Etc2lnbixub25lIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCkBAIC0yMjA2LDggKzIzNDYsOCBAQAogcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzI1NgogcnVuX3Rlc3QgICAgIk9wYXF1ZSBrZXkgZm9yIHNlcnZlciBhdXRoZW50aWNhdGlvbjogRUNESC0iIFwKICAgICAgICAgICAgICIkUF9TUlYgYXV0aF9tb2RlPXJlcXVpcmVkIGtleV9vcGFxdWU9MVwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua3Uta2EuY3J0XAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkga2V5X29wYXF1ZV9hbGdzPWVjZGgsbm9uZSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rdS1rYS5jcnRcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBrZXlfb3BhcXVlX2FsZ3M9ZWNkaCxub25lIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCkBAIC0yMjIyLDggKzIzNjIsOCBAQAogcmVxdWlyZXNfY29uZmlnX2Rpc2FibGVkIE1CRURUTFNfU1NMX0FTWU5DX1BSSVZBVEUKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8yNTYKIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5IGZvciBzZXJ2ZXIgYXV0aGVudGljYXRpb246IGludmFsaWQga2V5OiBkZWNyeXB0IHdpdGggRUNDIGtleSwgbm8gYXN5bmMiIFwKLSAgICAgICAgICAgICIkUF9TUlYga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkga2V5X29wYXF1ZV9hbGdzPXJzYS1kZWNyeXB0LG5vbmUgXAorICAgICAgICAgICAgIiRQX1NSViBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBrZXlfb3BhcXVlX2FsZ3M9cnNhLWRlY3J5cHQsbm9uZSBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIiBcCiAgICAgICAgICAgICAxIFwKQEAgLTIyMzksOCArMjM3OSw4IEBACiByZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19TU0xfQVNZTkNfUFJJVkFURQogcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzI1NgogcnVuX3Rlc3QgICAgIk9wYXF1ZSBrZXkgZm9yIHNlcnZlciBhdXRoZW50aWNhdGlvbjogaW52YWxpZCBrZXk6IGVjZGggd2l0aCBSU0Ega2V5LCBubyBhc3luYyIgXAotICAgICAgICAgICAgIiRQX1NSViBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkga2V5X29wYXF1ZV9hbGdzPWVjZGgsbm9uZSBcCisgICAgICAgICAgICAiJFBfU1JWIGtleV9vcGFxdWU9MSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3M9ZWNkaCxub25lIFwKICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0xIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIiIFwKICAgICAgICAgICAgIDEgXApAQCAtMjI1NCw4ICsyMzk0LDggQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0FTWU5DX1BSSVZBVEUKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8yNTYKIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5IGZvciBzZXJ2ZXIgYXV0aGVudGljYXRpb246IGludmFsaWQgYWxnOiBkZWNyeXB0IHdpdGggRUNDIGtleSwgYXN5bmMiIFwKLSAgICAgICAgICAgICIkUF9TUlYga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkga2V5X29wYXF1ZV9hbGdzPXJzYS1kZWNyeXB0LG5vbmUgXAorICAgICAgICAgICAgIiRQX1NSViBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBrZXlfb3BhcXVlX2FsZ3M9cnNhLWRlY3J5cHQsbm9uZSBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIiBcCiAgICAgICAgICAgICAxIFwKQEAgLTIyNzAsOCArMjQxMCw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9BU1lOQ19QUklWQVRFCiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiT3BhcXVlIGtleSBmb3Igc2VydmVyIGF1dGhlbnRpY2F0aW9uOiBpbnZhbGlkIGFsZzogZWNkaCB3aXRoIFJTQSBrZXksIGFzeW5jIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3M9ZWNkaCxub25lIFwKKyAgICAgICAgICAgICIkUF9TUlYga2V5X29wYXF1ZT0xIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGtleV9vcGFxdWVfYWxncz1lY2RoLG5vbmUgXAogICAgICAgICAgICAgIGRlYnVnX2xldmVsPTEiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiIgXAogICAgICAgICAgICAgMSBcCkBAIC0yMjg0LDggKzI0MjQsOCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DCiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiT3BhcXVlIGtleSBmb3Igc2VydmVyIGF1dGhlbnRpY2F0aW9uOiBpbnZhbGlkIGFsZzogRUNESEUtRUNEU0Egd2l0aCBlY2RoIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGtleV9vcGFxdWVfYWxncz1lY2RoLG5vbmUgXAorICAgICAgICAgICAgIiRQX1NSViBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBrZXlfb3BhcXVlX2FsZ3M9ZWNkaCxub25lIFwKICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0xIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTI1Ni1DQ00iIFwKICAgICAgICAgICAgIDEgXApAQCAtMjMwMCw5ICsyNDQwLDkgQEAKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8yNTYKIHJlcXVpcmVzX2NvbmZpZ19kaXNhYmxlZCBNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5cyBmb3Igc2VydmVyIGF1dGhlbnRpY2F0aW9uOiBFQyBrZXlzIHdpdGggZGlmZmVyZW50IGFsZ3MsIGZvcmNlIEVDREhFLUVDRFNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNy5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNy5rZXkga2V5X29wYXF1ZV9hbGdzPWVjZGgsbm9uZSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGtleV9vcGFxdWU9MSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjcuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjcua2V5IGtleV9vcGFxdWVfYWxncz1lY2RoLG5vbmUgXAorICAgICAgICAgICAgIGNydF9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKICAgICAgICAgICAgICBrZXlfb3BhcXVlX2FsZ3MyPWVjZHNhLXNpZ24sbm9uZSIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIiBcCiAgICAgICAgICAgICAwIFwKQEAgLTIzMTksOSArMjQ1OSw5IEBACiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMzg0CiByZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCiBydW5fdGVzdCAgICAiT3BhcXVlIGtleXMgZm9yIHNlcnZlciBhdXRoZW50aWNhdGlvbjogRUMga2V5cyB3aXRoIGRpZmZlcmVudCBhbGdzLCBmb3JjZSBFQ0RILUVDRFNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IGtleV9vcGFxdWVfYWxncz1lY2RzYS1zaWduLG5vbmUgXAotICAgICAgICAgICAgIGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICIkUF9TUlYga2V5X29wYXF1ZT0xIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkga2V5X29wYXF1ZV9hbGdzPWVjZHNhLXNpZ24sbm9uZSBcCisgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAogICAgICAgICAgICAgIGtleV9vcGFxdWVfYWxnczI9ZWNkaCxub25lIGRlYnVnX2xldmVsPTMiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESC1FQ0RTQS1XSVRILUNBTUVMTElBLTI1Ni1DQkMtU0hBMzg0IiBcCiAgICAgICAgICAgICAwIFwKQEAgLTIzMzgsMTAgKzI0NzgsMTAgQEAKIHJlcXVpcmVzX2hhc2hfYWxnIFNIQV8zODQKIHJlcXVpcmVzX2NvbmZpZ19kaXNhYmxlZCBNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5cyBmb3Igc2VydmVyIGF1dGhlbnRpY2F0aW9uOiBFQyArIFJTQSwgZm9yY2UgRUNESEUtRUNEU0EiIFwKLSAgICAgICAgICAgICIkUF9TUlYga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkga2V5X29wYXF1ZV9hbGdzPWVjZHNhLXNpZ24sbm9uZSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3MyPXJzYS1zaWduLXBrY3MxLG5vbmUiIFwKKyAgICAgICAgICAgICIkUF9TUlYga2V5X29wYXF1ZT0xIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkga2V5X29wYXF1ZV9hbGdzPWVjZHNhLXNpZ24sbm9uZSBcCisgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3MyPXJzYS1zaWduLXBrY3MxLG5vbmUiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMjU2LUNDTSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKQEAgLTI0MTYsOCArMjU1Niw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9SU0FfRU5BQkxFRAogcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzI1NgogcnVuX3Rlc3QgICAgIk9wYXF1ZSBrZXkgZm9yIHNlcnZlciBhdXRoZW50aWNhdGlvbjogRUNESEUtUlNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcGtjczEsbm9uZSIgXAorICAgICAgICAgICAgIiRQX1NSViBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkga2V5X29wYXF1ZV9hbGdzPXJzYS1zaWduLXBrY3MxLG5vbmUiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKQEAgLTI0MzIsOCArMjU3Miw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1JTQV9DCiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiT3BhcXVlIGtleSBmb3Igc2VydmVyIGF1dGhlbnRpY2F0aW9uOiBESEUtUlNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcGtjczEsbm9uZSIgXAorICAgICAgICAgICAgIiRQX1NSViBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkga2V5X29wYXF1ZV9hbGdzPXJzYS1zaWduLXBrY3MxLG5vbmUiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKQEAgLTI0NDksOSArMjU4OSw5IEBACiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiT3BhcXVlIGtleSBmb3Igc2VydmVyIGF1dGhlbnRpY2F0aW9uOiBSU0EtUFNLIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEga2V5X29wYXF1ZT0xIGtleV9vcGFxdWVfYWxncz1yc2EtZGVjcnlwdCxub25lIFwKLSAgICAgICAgICAgICBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28iIFwKKyAgICAgICAgICAgICBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28iIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUlNBLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NiBcCi0gICAgICAgICAgICAgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIiBcCisgICAgICAgICAgICAgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXAogICAgICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUy1SU0EtUFNLLSIgXApAQCAtMjQ4MCwxMCArMjYyMCwxMCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19SU0FfQwogcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzI1NgogcnVuX3Rlc3QgICAgIk9wYXF1ZSBrZXkgZm9yIHNlcnZlciBhdXRoZW50aWNhdGlvbjogREhFLVJTQSwgUFNTIGluc3RlYWQgb2YgUEtDUzEiIFwKLSAgICAgICAgICAgICIkUF9TUlYgYXV0aF9tb2RlPXJlcXVpcmVkIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcHNzLG5vbmUgZGVidWdfbGV2ZWw9MSIgXAotICAgICAgICAgICAgIiRQX0NMSSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAorICAgICAgICAgICAgIiRQX1NSViBhdXRoX21vZGU9cmVxdWlyZWQga2V5X29wYXF1ZT0xIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGtleV9vcGFxdWVfYWxncz1yc2Etc2lnbi1wc3Msbm9uZSBkZWJ1Z19sZXZlbD0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1zICJrZXkgdHlwZXM6IE9wYXF1ZSwgbm9uZSIgXAogICAgICAgICAgICAgLXMgImdvdCBjaXBoZXJzdWl0ZXMgaW4gY29tbW9uLCBidXQgbm9uZSBvZiB0aGVtIHVzYWJsZSIgXApAQCAtMjQ5NywxMCArMjYzNywxMCBAQAogcmVxdWlyZXNfY29uZmlnX2Rpc2FibGVkIE1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfUlNBX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5cyBmb3Igc2VydmVyIGF1dGhlbnRpY2F0aW9uOiBSU0Ega2V5cyB3aXRoIGRpZmZlcmVudCBhbGdzIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgYXV0aF9tb2RlPXJlcXVpcmVkIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcHNzLG5vbmUgXAotICAgICAgICAgICAgIGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjQuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXI0LmtleSBrZXlfb3BhcXVlX2FsZ3MyPXJzYS1zaWduLXBrY3MxLG5vbmUiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBhdXRoX21vZGU9cmVxdWlyZWQga2V5X29wYXF1ZT0xIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGtleV9vcGFxdWVfYWxncz1yc2Etc2lnbi1wc3Msbm9uZSBcCisgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNC5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjQua2V5IGtleV9vcGFxdWVfYWxnczI9cnNhLXNpZ24tcGtjczEsbm9uZSIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXApAQCAtMjUxNywxMCArMjY1NywxMCBAQAogcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzM4NAogcmVxdWlyZXNfY29uZmlnX2Rpc2FibGVkIE1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwogcnVuX3Rlc3QgICAgIk9wYXF1ZSBrZXlzIGZvciBzZXJ2ZXIgYXV0aGVudGljYXRpb246IEVDICsgUlNBLCBmb3JjZSBESEUtUlNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGF1dGhfbW9kZT1yZXF1aXJlZCBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBrZXlfb3BhcXVlX2FsZ3M9ZWNkc2Etc2lnbixub25lIFwKLSAgICAgICAgICAgICBjcnRfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXI0LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyNC5rZXkga2V5X29wYXF1ZV9hbGdzMj1yc2Etc2lnbi1wa2NzMSxub25lIiBcCisgICAgICAgICAgICAiJFBfU1JWIGF1dGhfbW9kZT1yZXF1aXJlZCBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBrZXlfb3BhcXVlX2FsZ3M9ZWNkc2Etc2lnbixub25lIFwKKyAgICAgICAgICAgICBjcnRfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI0LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNC5rZXkga2V5X29wYXF1ZV9hbGdzMj1yc2Etc2lnbi1wa2NzMSxub25lIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXApAQCAtMjUzNywxMCArMjY3NywxMCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRAogcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzI1NgogcnVuX3Rlc3QgICAgIk9wYXF1ZSBrZXkgZm9yIGNsaWVudC9zZXJ2ZXIgYXV0aGVudGljYXRpb246IEVDREhFLUVDRFNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgYXV0aF9tb2RlPXJlcXVpcmVkIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGtleV9vcGFxdWVfYWxncz1lY2RzYS1zaWduLG5vbmUiIFwKLSAgICAgICAgICAgICIkUF9DTEkga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkga2V5X29wYXF1ZV9hbGdzPWVjZHNhLXNpZ24sbm9uZSIgXAorICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGF1dGhfbW9kZT1yZXF1aXJlZCBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBrZXlfb3BhcXVlX2FsZ3M9ZWNkc2Etc2lnbixub25lIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGtleV9vcGFxdWU9MSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGtleV9vcGFxdWVfYWxncz1lY2RzYS1zaWduLG5vbmUiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImtleSB0eXBlOiBPcGFxdWUiIFwKICAgICAgICAgICAgIC1jICJWZXJpZnlpbmcgcGVlciBYLjUwOSBjZXJ0aWZpY2F0ZS4uLiBvayIgXApAQCAtMjU1OCwxMCArMjY5OCwxMCBAQAogcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzI1NgogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfUlNBX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJPcGFxdWUga2V5IGZvciBjbGllbnQvc2VydmVyIGF1dGhlbnRpY2F0aW9uOiBFQ0RIRS1SU0EiIFwKLSAgICAgICAgICAgICIkUF9TUlYgYXV0aF9tb2RlPXJlcXVpcmVkIGtleV9vcGFxdWU9MSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAga2V5X29wYXF1ZV9hbGdzPXJzYS1zaWduLXBrY3MxLG5vbmUiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgIGtleV9vcGFxdWVfYWxncz1yc2Etc2lnbi1wa2NzMSxub25lIiBcCisgICAgICAgICAgICAiJFBfU1JWIGF1dGhfbW9kZT1yZXF1aXJlZCBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgIGtleV9vcGFxdWVfYWxncz1yc2Etc2lnbi1wa2NzMSxub25lIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIga2V5X29wYXF1ZT0xIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5ICBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcGtjczEsbm9uZSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAia2V5IHR5cGU6IE9wYXF1ZSIgXAogICAgICAgICAgICAgLWMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCkBAIC0yNTc3LDEwICsyNzE3LDEwIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1JTQV9DCiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiT3BhcXVlIGtleSBmb3IgY2xpZW50L3NlcnZlciBhdXRoZW50aWNhdGlvbjogREhFLVJTQSIgXAotICAgICAgICAgICAgIiRQX1NSViBhdXRoX21vZGU9cmVxdWlyZWQga2V5X29wYXF1ZT0xIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5ICBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcGtjczEsbm9uZSIgXAotICAgICAgICAgICAgIiRQX0NMSSBrZXlfb3BhcXVlPTEgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgIGtleV9vcGFxdWVfYWxncz1yc2Etc2lnbi1wa2NzMSxub25lIFwKKyAgICAgICAgICAgICIkUF9TUlYgYXV0aF9tb2RlPXJlcXVpcmVkIGtleV9vcGFxdWU9MSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSAga2V5X29wYXF1ZV9hbGdzPXJzYS1zaWduLXBrY3MxLG5vbmUiIFwKKyAgICAgICAgICAgICIkUF9DTEkga2V5X29wYXF1ZT0xIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5ICBrZXlfb3BhcXVlX2FsZ3M9cnNhLXNpZ24tcGtjczEsbm9uZSBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLURIRS1SU0EtV0lUSC1BRVMtMTI4LUNCQy1TSEEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImtleSB0eXBlOiBPcGFxdWUiIFwKQEAgLTI2NTEsOCArMjc5MSw4IEBACiAgICAgICAgICAgICAtVSAiSVYgdXNlZCIKIAogIyBUZXN0IGZvciBjb3JyZWN0bmVzcyBvZiBzZW50IHNpbmdsZSBzdXBwb3J0ZWQgYWxnb3JpdGhtCi1yZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkICJNQkVEVExTX0VDUF9EUF9TRUNQMjU2UjFfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYiCityZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfRUNQX0RQX1NFQ1AyNTZSMV9FTkFCTEVEIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2CiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwpAQCAtMjY2NywxOSArMjgwNywxOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkICJNQkVEVExTX0VDUF9EUF9TRUNQMjU2UjFfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYiCityZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkIE1CRURUTFNfRUNQX0RQX1NFQ1AyNTZSMV9FTkFCTEVEIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2CiByZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiU2luZ2xlIHN1cHBvcnRlZCBhbGdvcml0aG0gc2VuZGluZzogb3BlbnNzbCBjbGllbnQiIFwKICAgICAgICAgICAgICIkUF9TUlYgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiBhdXRoX21vZGU9cmVxdWlyZWQiIFwKLSAgICAgICAgICAgICIkT19DTEkgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCBcCi0gICAgICAgICAgICAgICAgICAgIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI2LmtleSIgXAorICAgICAgICAgICAgIiRPX0NMSSAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjYuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IiBcCiAgICAgICAgICAgICAwCiAKICMgVGVzdHMgZm9yIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBjYWxsYmFjawogcnVuX3Rlc3QgICAgIkNvbmZpZ3VyYXRpb24tc3BlY2lmaWMgQ1JUIHZlcmlmaWNhdGlvbiBjYWxsYmFjayIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgY29udGV4dF9jcnRfY2I9MCBkZWJ1Z19sZXZlbD0zIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGNvbnRleHRfY3J0X2NiPTAgZGVidWdfbGV2ZWw9MyIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAiZXJyb3IiIFwKICAgICAgICAgICAgIC1jICJWZXJpZnkgcmVxdWVzdGVkIGZvciAiIFwKQEAgLTI2ODksNyArMjgyOSw3IEBACiAKIHJ1bl90ZXN0ICAgICJDb250ZXh0LXNwZWNpZmljIENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2siIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyIgXAotICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGNvbnRleHRfY3J0X2NiPTEgZGVidWdfbGV2ZWw9MyIgXAorICAgICAgICAgICAgIiRQX0NMSSBjb250ZXh0X2NydF9jYj0xIGRlYnVnX2xldmVsPTMiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgImVycm9yIiBcCiAgICAgICAgICAgICAtYyAiVmVyaWZ5IHJlcXVlc3RlZCBmb3IgIiBcCkBAIC0yNjk4LDM2ICsyODM4LDQ0IEBACiAgICAgICAgICAgICAtQyAiZXJyb3IiCiAKICMgVGVzdHMgZm9yIFNIQS0xIHN1cHBvcnQKK3JlcXVpcmVzX2hhc2hfYWxnIFNIQV8xCiBydW5fdGVzdCAgICAiU0hBLTEgZm9yYmlkZGVuIGJ5IGRlZmF1bHQgaW4gc2VydmVyIGNlcnRpZmljYXRlIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCIgXAorICAgICAgICAgICAgIiRQX1NSViBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MiBmb3JjZV92ZXJzaW9uPXRsczEyIGFsbG93X3NoYTE9MCIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiVGhlIGNlcnRpZmljYXRlIGlzIHNpZ25lZCB3aXRoIGFuIHVuYWNjZXB0YWJsZSBoYXNoIgogCityZXF1aXJlc19oYXNoX2FsZyBTSEFfMQogcnVuX3Rlc3QgICAgIlNIQS0xIGV4cGxpY2l0bHkgYWxsb3dlZCBpbiBzZXJ2ZXIgY2VydGlmaWNhdGUiIFwKLSAgICAgICAgICAgICIkUF9TUlYga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IiBcCisgICAgICAgICAgICAiJFBfU1JWIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGFsbG93X3NoYTE9MSIgXAogICAgICAgICAgICAgMAogCiBydW5fdGVzdCAgICAiU0hBLTI1NiBhbGxvd2VkIGJ5IGRlZmF1bHQgaW4gc2VydmVyIGNlcnRpZmljYXRlIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQiIFwKKyAgICAgICAgICAgICIkUF9TUlYga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGFsbG93X3NoYTE9MCIgXAogICAgICAgICAgICAgMAogCityZXF1aXJlc19oYXNoX2FsZyBTSEFfMQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19SU0FfQwogcnVuX3Rlc3QgICAgIlNIQS0xIGZvcmJpZGRlbiBieSBkZWZhdWx0IGluIGNsaWVudCBjZXJ0aWZpY2F0ZSIgXAogICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGF1dGhfbW9kZT1yZXF1aXJlZCBhbGxvd19zaGExPTAiIFwKLSAgICAgICAgICAgICIkUF9DTEkga2V5X2ZpbGU9ZGF0YV9maWxlcy9jbGktcnNhLmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL2NsaS1yc2Etc2hhMS5jcnQiIFwKKyAgICAgICAgICAgICIkUF9DTEkga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9jbGktcnNhLmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2NsaS1yc2Etc2hhMS5jcnQiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLXMgIlRoZSBjZXJ0aWZpY2F0ZSBpcyBzaWduZWQgd2l0aCBhbiB1bmFjY2VwdGFibGUgaGFzaCIKIAorcmVxdWlyZXNfaGFzaF9hbGcgU0hBXzEKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKIHJ1bl90ZXN0ICAgICJTSEEtMSBleHBsaWNpdGx5IGFsbG93ZWQgaW4gY2xpZW50IGNlcnRpZmljYXRlIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgYXV0aF9tb2RlPXJlcXVpcmVkIGFsbG93X3NoYTE9MSIgXAotICAgICAgICAgICAgIiRQX0NMSSBrZXlfZmlsZT1kYXRhX2ZpbGVzL2NsaS1yc2Eua2V5IGNydF9maWxlPWRhdGFfZmlsZXMvY2xpLXJzYS1zaGExLmNydCIgXAorICAgICAgICAgICAgIiRQX0NMSSBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2NsaS1yc2Eua2V5IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvY2xpLXJzYS1zaGExLmNydCIgXAogICAgICAgICAgICAgMAogCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1JTQV9DCityZXF1aXJlc19oYXNoX2FsZyBTSEFfMjU2CiBydW5fdGVzdCAgICAiU0hBLTI1NiBhbGxvd2VkIGJ5IGRlZmF1bHQgaW4gY2xpZW50IGNlcnRpZmljYXRlIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgYXV0aF9tb2RlPXJlcXVpcmVkIGFsbG93X3NoYTE9MCIgXAotICAgICAgICAgICAgIiRQX0NMSSBrZXlfZmlsZT1kYXRhX2ZpbGVzL2NsaS1yc2Eua2V5IGNydF9maWxlPWRhdGFfZmlsZXMvY2xpLXJzYS1zaGEyNTYuY3J0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvY2xpLXJzYS5rZXkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9jbGktcnNhLXNoYTI1Ni5jcnQiIFwKICAgICAgICAgICAgIDAKIAogIyBUZXN0cyBmb3IgZGF0YWdyYW0gcGFja2luZwpAQCAtMzgxMCw3ICszOTU4LDcgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUwogcnVuX3Rlc3QgICAgIlNlc3Npb24gcmVzdW1lIHVzaW5nIHRpY2tldHM6IG9wZW5zc2wgc2VydmVyIiBcCiAgICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyB0aWNrZXRzPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyB0aWNrZXRzPTEgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgaGVsbG8sIGFkZGluZyBzZXNzaW9uIHRpY2tldCBleHRlbnNpb24iIFwKICAgICAgICAgICAgIC1jICJmb3VuZCBzZXNzaW9uX3RpY2tldCBleHRlbnNpb24iIFwKQEAgLTM4MjAsNyArMzk2OCw3IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUwogcnVuX3Rlc3QgICAgIlNlc3Npb24gcmVzdW1lIHVzaW5nIHRpY2tldHM6IG9wZW5zc2wgY2xpZW50IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgdGlja2V0cz0xIiBcCisgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgZGVidWdfbGV2ZWw9MyB0aWNrZXRzPTEiIFwKICAgICAgICAgICAgICIoICRPX0NMSSAtc2Vzc19vdXQgJFNFU1NJT047IFwKICAgICAgICAgICAgICAgICRPX0NMSSAtc2Vzc19pbiAkU0VTU0lPTjsgXAogICAgICAgICAgICAgICAgcm0gLWYgJFNFU1NJT04gKSIgXApAQCAtNDgxMiw3ICs0OTYwLDggQEAKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfZ251dGxzX3JlY29yZF9zaXplX2xpbWl0Ci1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9SRUNPUkRfU0laRV9MSU1JVAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiUmVjb3JkIFNpemUgTGltaXQ6IFRMUyAxLjM6IFNlcnZlci1zaWRlIHBhcnNpbmcgYW5kIGRlYnVnIG91dHB1dCIgXApAQCAtNDgyNiw3ICs0OTc1LDggQEAKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfZ251dGxzX3JlY29yZF9zaXplX2xpbWl0Ci1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9SRUNPUkRfU0laRV9MSU1JVAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiUmVjb3JkIFNpemUgTGltaXQ6IFRMUyAxLjM6IENsaWVudC1zaWRlIHBhcnNpbmcgYW5kIGRlYnVnIG91dHB1dCIgXApAQCAtNDg1OCw3ICs1MDA4LDggQEAKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfZ251dGxzX3JlY29yZF9zaXplX2xpbWl0Ci1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9SRUNPUkRfU0laRV9MSU1JVAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiBydW5fdGVzdCAgICAiUmVjb3JkIFNpemUgTGltaXQ6IFRMUyAxLjM6IFNlcnZlciBjb21wbGllcyB3aXRoIHJlY29yZCBzaXplIGxpbWl0ICg1MTMpLCAxIGZyYWdtZW50IiBcCkBAIC00ODc3LDcgKzUwMjgsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogU2VydmVyIGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDUxMyksIDIgZnJhZ21lbnRzIiBcCkBAIC00ODk2LDcgKzUwNDgsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfUFNLX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogU2VydmVyIGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDUxMyksIDMgZnJhZ21lbnRzIiBcCkBAIC00OTE1LDcgKzUwNjgsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogU2VydmVyIGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDEwMjQpLCAxIGZyYWdtZW50IiBcCkBAIC00OTMxLDcgKzUwODUsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogU2VydmVyIGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDEwMjQpLCAyIGZyYWdtZW50cyIgXApAQCAtNDk0Nyw3ICs1MTAyLDggQEAKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfZ251dGxzX3JlY29yZF9zaXplX2xpbWl0Ci1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9SRUNPUkRfU0laRV9MSU1JVAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiUmVjb3JkIFNpemUgTGltaXQ6IFRMUyAxLjM6IFNlcnZlciBjb21wbGllcyB3aXRoIHJlY29yZCBzaXplIGxpbWl0ICgxMDI0KSwgMyBmcmFnbWVudHMiIFwKQEAgLTQ5NjMsNyArNTExOSw4IEBACiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2dudXRsc19yZWNvcmRfc2l6ZV9saW1pdAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUkVDT1JEX1NJWkVfTElNSVQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlJlY29yZCBTaXplIExpbWl0OiBUTFMgMS4zOiBTZXJ2ZXIgY29tcGxpZXMgd2l0aCByZWNvcmQgc2l6ZSBsaW1pdCAoNDA5NiksIDEgZnJhZ21lbnQiIFwKQEAgLTQ5NzksNyArNTEzNiw4IEBACiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2dudXRsc19yZWNvcmRfc2l6ZV9saW1pdAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUkVDT1JEX1NJWkVfTElNSVQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlJlY29yZCBTaXplIExpbWl0OiBUTFMgMS4zOiBTZXJ2ZXIgY29tcGxpZXMgd2l0aCByZWNvcmQgc2l6ZSBsaW1pdCAoNDA5NiksIDIgZnJhZ21lbnRzIiBcCkBAIC00OTk1LDcgKzUxNTMsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogU2VydmVyIGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDQwOTYpLCAzIGZyYWdtZW50cyIgXApAQCAtNTAxMSw3ICs1MTcwLDggQEAKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfZ251dGxzX3JlY29yZF9zaXplX2xpbWl0Ci1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9SRUNPUkRfU0laRV9MSU1JVAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiUmVjb3JkIFNpemUgTGltaXQ6IFRMUyAxLjM6IENsaWVudCBjb21wbGllcyB3aXRoIHJlY29yZCBzaXplIGxpbWl0ICg1MTMpLCAxIGZyYWdtZW50IiBcCkBAIC01MDI3LDcgKzUxODcsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogQ2xpZW50IGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDUxMyksIDIgZnJhZ21lbnRzIiBcCkBAIC01MDQzLDcgKzUyMDQsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogQ2xpZW50IGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDUxMyksIDMgZnJhZ21lbnRzIiBcCkBAIC01MDU5LDcgKzUyMjEsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogQ2xpZW50IGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDEwMjQpLCAxIGZyYWdtZW50IiBcCkBAIC01MDc1LDcgKzUyMzgsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogQ2xpZW50IGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDEwMjQpLCAyIGZyYWdtZW50cyIgXApAQCAtNTA5MSw3ICs1MjU1LDggQEAKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfZ251dGxzX3JlY29yZF9zaXplX2xpbWl0Ci1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9SRUNPUkRfU0laRV9MSU1JVAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiUmVjb3JkIFNpemUgTGltaXQ6IFRMUyAxLjM6IENsaWVudCBjb21wbGllcyB3aXRoIHJlY29yZCBzaXplIGxpbWl0ICgxMDI0KSwgMyBmcmFnbWVudHMiIFwKQEAgLTUxMDcsNyArNTI3Miw4IEBACiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2dudXRsc19yZWNvcmRfc2l6ZV9saW1pdAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUkVDT1JEX1NJWkVfTElNSVQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlJlY29yZCBTaXplIExpbWl0OiBUTFMgMS4zOiBDbGllbnQgY29tcGxpZXMgd2l0aCByZWNvcmQgc2l6ZSBsaW1pdCAoNDA5NiksIDEgZnJhZ21lbnQiIFwKQEAgLTUxMjMsNyArNTI4OSw4IEBACiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2dudXRsc19yZWNvcmRfc2l6ZV9saW1pdAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfREVCVUdfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUkVDT1JEX1NJWkVfTElNSVQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlJlY29yZCBTaXplIExpbWl0OiBUTFMgMS4zOiBDbGllbnQgY29tcGxpZXMgd2l0aCByZWNvcmQgc2l6ZSBsaW1pdCAoNDA5NiksIDIgZnJhZ21lbnRzIiBcCkBAIC01MTM5LDcgKzUzMDYsOCBAQAogCiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19nbnV0bHNfcmVjb3JkX3NpemVfbGltaXQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX0RFQlVHX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFQ09SRF9TSVpFX0xJTUlUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJSZWNvcmQgU2l6ZSBMaW1pdDogVExTIDEuMzogQ2xpZW50IGNvbXBsaWVzIHdpdGggcmVjb3JkIHNpemUgbGltaXQgKDQwOTYpLCAzIGZyYWdtZW50cyIgXApAQCAtNTE1Nyw3ICs1MzI1LDkgQEAKICMgTUJFRFRMU19TU0xfSU5fQ09OVEVOVF9MRU4uIE9uY2Ugd2Ugc3VwcG9ydCB2YXJpYWJsZSBidWZmZXIgbGVuZ3RoIG9mCiAjIFJlY29yZFNpemVMaW1pdCwgd2UgbmVlZCB0byBtb2RpZnkgdmFsdWUgb2YgUmVjb3JkU2l6ZUxpbWl0IGluIGJlbG93IHRlc3QuCiByZXF1aXJlc19jb25maWdfdmFsdWVfZXF1YWxzICJNQkVEVExTX1NTTF9JTl9DT05URU5UX0xFTiIgMTYzODQKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19ERUJVR19DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUkVDT1JEX1NJWkVfTElNSVQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlJlY29yZCBTaXplIExpbWl0OiBUTFMgMS4zIG0tPm06IGJvdGggcGVlciBjb21wbHkgd2l0aCByZWNvcmQgc2l6ZSBsaW1pdCAoZGVmYXVsdCkiIFwKQEAgLTU0OTUsMTMgKzU2NjUsMTMgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFTkVHT1RJQVRJT04KIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIlJlbmVnb3RpYXRpb246IG9wZW5zc2wgc2VydmVyLCBjbGllbnQtaW5pdGlhdGVkIiBcCi0gICAgICAgICAgICAiJE9fU1JWIC13d3cgLXRsczFfMiIgXAorICAgICAgICAgICAgIiRPX1NSViAtd3d3ICRPUEVOU1NMX1NfU0VSVkVSX0NMSUVOVF9SRU5FR09USUFUSU9OIC10bHMxXzIiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBleGNoYW5nZXM9MSByZW5lZ290aWF0aW9uPTEgcmVuZWdvdGlhdGU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IGhlbGxvLCBhZGRpbmcgcmVuZWdvdGlhdGlvbiBleHRlbnNpb24iIFwKICAgICAgICAgICAgIC1jICJmb3VuZCByZW5lZ290aWF0aW9uIGV4dGVuc2lvbiIgXAogICAgICAgICAgICAgLWMgIj0+IHJlbmVnb3RpYXRlIiBcCi0gICAgICAgICAgICAtQyAic3NsX2hhbnNoYWtlKCkgcmV0dXJuZWQiIFwKKyAgICAgICAgICAgIC1DICJzc2xfaGFuZHNoYWtlKCkgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1DICJlcnJvciIgXAogICAgICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBbT29dW0trXSIKIApAQCAtNTUxNSw3ICs1Njg1LDcgQEAKICAgICAgICAgICAgIC1jICJjbGllbnQgaGVsbG8sIGFkZGluZyByZW5lZ290aWF0aW9uIGV4dGVuc2lvbiIgXAogICAgICAgICAgICAgLWMgImZvdW5kIHJlbmVnb3RpYXRpb24gZXh0ZW5zaW9uIiBcCiAgICAgICAgICAgICAtYyAiPT4gcmVuZWdvdGlhdGUiIFwKLSAgICAgICAgICAgIC1DICJzc2xfaGFuc2hha2UoKSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLUMgInNzbF9oYW5kc2hha2UoKSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLUMgImVycm9yIiBcCiAgICAgICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIFtPb11bS2tdIgogCkBAIC01NTU5LDcgKzU3MjksNyBAQAogICAgICAgICAgICAgLWMgImNsaWVudCBoZWxsbywgYWRkaW5nIHJlbmVnb3RpYXRpb24gZXh0ZW5zaW9uIiBcCiAgICAgICAgICAgICAtQyAiZm91bmQgcmVuZWdvdGlhdGlvbiBleHRlbnNpb24iIFwKICAgICAgICAgICAgIC1jICI9PiByZW5lZ290aWF0ZSIgXAotICAgICAgICAgICAgLUMgInNzbF9oYW5zaGFrZSgpIHJldHVybmVkIiBcCisgICAgICAgICAgICAtQyAic3NsX2hhbmRzaGFrZSgpIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtQyAiZXJyb3IiIFwKICAgICAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgW09vXVtLa10iCiAKQEAgLTU2MjYsNiArNTc5Niw3IEBACiAjIFRlc3QgZm9yIHRoZSAic2VjdXJlIHJlbmVnb3RpYXRpb24iIGV4dGVuc2lvbiBvbmx5IChubyBhY3R1YWwgcmVuZWdvdGlhdGlvbikKIAogcmVxdWlyZXNfZ251dGxzCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9SRU5FR09USUFUSU9OCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJSZW5lZ28gZXh0OiBnbnV0bHMgc2VydmVyIHN0cmljdCwgY2xpZW50IGRlZmF1bHQiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4yOiVTQUZFX1JFTkVHT1RJQVRJT04iIFwKQEAgLTU2MzYsNiArNTgwNyw3IEBACiAgICAgICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIFtPb11bS2tdIgogCiByZXF1aXJlc19nbnV0bHMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFTkVHT1RJQVRJT04KIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIlJlbmVnbyBleHQ6IGdudXRscyBzZXJ2ZXIgdW5zYWZlLCBjbGllbnQgZGVmYXVsdCIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjI6JURJU0FCTEVfU0FGRV9SRU5FR09USUFUSU9OIiBcCkBAIC01NjQ2LDYgKzU4MTgsNyBAQAogICAgICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBbT29dW0trXSIKIAogcmVxdWlyZXNfZ251dGxzCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9SRU5FR09USUFUSU9OCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJSZW5lZ28gZXh0OiBnbnV0bHMgc2VydmVyIHVuc2FmZSwgY2xpZW50IGJyZWFrIGxlZ2FjeSIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjI6JURJU0FCTEVfU0FGRV9SRU5FR09USUFUSU9OIiBcCkBAIC01NjU2LDI4ICs1ODI5LDMxIEBACiAgICAgICAgICAgICAtQyAiSFRUUC8xLjAgMjAwIFtPb11bS2tdIgogCiByZXF1aXJlc19nbnV0bHMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1JFTkVHT1RJQVRJT04KIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIlJlbmVnbyBleHQ6IGdudXRscyBjbGllbnQgc3RyaWN0LCBzZXJ2ZXIgZGVmYXVsdCIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIiBcCi0gICAgICAgICAgICAiJEdfQ0xJIC0tcHJpb3JpdHk9Tk9STUFMOiVTQUZFX1JFTkVHT1RJQVRJT04gbG9jYWxob3N0IiBcCisgICAgICAgICAgICAiJEdfQ0xJIC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjI6JVNBRkVfUkVORUdPVElBVElPTiBsb2NhbGhvc3QiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInJlY2VpdmVkIFRMU19FTVBUWV9SRU5FR09USUFUSU9OX0lORk9cfGZvdW5kIHJlbmVnb3RpYXRpb24gZXh0ZW5zaW9uIiBcCiAgICAgICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBzZWN1cmUgcmVuZWdvdGlhdGlvbiBleHRlbnNpb24iCiAKIHJlcXVpcmVzX2dudXRscworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUkVORUdPVElBVElPTgogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiUmVuZWdvIGV4dDogZ251dGxzIGNsaWVudCB1bnNhZmUsIHNlcnZlciBkZWZhdWx0IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMiIFwKLSAgICAgICAgICAgICIkR19DTEkgLS1wcmlvcml0eT1OT1JNQUw6JURJU0FCTEVfU0FGRV9SRU5FR09USUFUSU9OIGxvY2FsaG9zdCIgXAorICAgICAgICAgICAgIiRHX0NMSSAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4yOiVESVNBQkxFX1NBRkVfUkVORUdPVElBVElPTiBsb2NhbGhvc3QiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgInJlY2VpdmVkIFRMU19FTVBUWV9SRU5FR09USUFUSU9OX0lORk9cfGZvdW5kIHJlbmVnb3RpYXRpb24gZXh0ZW5zaW9uIiBcCiAgICAgICAgICAgICAtUyAic2VydmVyIGhlbGxvLCBzZWN1cmUgcmVuZWdvdGlhdGlvbiBleHRlbnNpb24iCiAKIHJlcXVpcmVzX2dudXRscworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUkVORUdPVElBVElPTgogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiUmVuZWdvIGV4dDogZ251dGxzIGNsaWVudCB1bnNhZmUsIHNlcnZlciBicmVhayBsZWdhY3kiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhbGxvd19sZWdhY3k9LTEiIFwKLSAgICAgICAgICAgICIkR19DTEkgLS1wcmlvcml0eT1OT1JNQUw6JURJU0FCTEVfU0FGRV9SRU5FR09USUFUSU9OIGxvY2FsaG9zdCIgXAorICAgICAgICAgICAgIiRHX0NMSSAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4yOiVESVNBQkxFX1NBRkVfUkVORUdPVElBVElPTiBsb2NhbGhvc3QiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLVMgInJlY2VpdmVkIFRMU19FTVBUWV9SRU5FR09USUFUSU9OX0lORk9cfGZvdW5kIHJlbmVnb3RpYXRpb24gZXh0ZW5zaW9uIiBcCiAgICAgICAgICAgICAtUyAic2VydmVyIGhlbGxvLCBzZWN1cmUgcmVuZWdvdGlhdGlvbiBleHRlbnNpb24iCkBAIC01Njg3LDggKzU4NjMsOCBAQAogcmVxdWlyZXNfZ251dGxzCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJERVIgZm9ybWF0OiBubyB0cmFpbGluZyBieXRlcyIgXAotICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyMC5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWRlcjAuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJEdfQ0xJIGxvY2FsaG9zdCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiSGFuZHNoYWtlIHdhcyBjb21wbGV0ZWQiIFwKQEAgLTU2OTYsOCArNTg3Miw4IEBACiByZXF1aXJlc19nbnV0bHMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIkRFUiBmb3JtYXQ6IHdpdGggYSB0cmFpbGluZyB6ZXJvIGJ5dGUiIFwKLSAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWRlcjFhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtZGVyMWEuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJEdfQ0xJIGxvY2FsaG9zdCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiSGFuZHNoYWtlIHdhcyBjb21wbGV0ZWQiIFwKQEAgLTU3MDUsOCArNTg4MSw4IEBACiByZXF1aXJlc19nbnV0bHMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIkRFUiBmb3JtYXQ6IHdpdGggYSB0cmFpbGluZyByYW5kb20gYnl0ZSIgXAotICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyMWIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1kZXIxYi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKICAgICAgICAgICAgICIkR19DTEkgbG9jYWxob3N0IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJIYW5kc2hha2Ugd2FzIGNvbXBsZXRlZCIgXApAQCAtNTcxNCw4ICs1ODkwLDggQEAKIHJlcXVpcmVzX2dudXRscwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiREVSIGZvcm1hdDogd2l0aCAyIHRyYWlsaW5nIHJhbmRvbSBieXRlcyIgXAotICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWRlcjIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJEdfQ0xJIGxvY2FsaG9zdCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiSGFuZHNoYWtlIHdhcyBjb21wbGV0ZWQiIFwKQEAgLTU3MjMsOCArNTg5OSw4IEBACiByZXF1aXJlc19nbnV0bHMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIkRFUiBmb3JtYXQ6IHdpdGggNCB0cmFpbGluZyByYW5kb20gYnl0ZXMiIFwKLSAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWRlcjQuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1kZXI0LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAogICAgICAgICAgICAgIiRHX0NMSSBsb2NhbGhvc3QiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIkhhbmRzaGFrZSB3YXMgY29tcGxldGVkIiBcCkBAIC01NzMyLDggKzU5MDgsOCBAQAogcmVxdWlyZXNfZ251dGxzCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJERVIgZm9ybWF0OiB3aXRoIDggdHJhaWxpbmcgcmFuZG9tIGJ5dGVzIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS1kZXI4LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtZGVyOC5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKICAgICAgICAgICAgICIkR19DTEkgbG9jYWxob3N0IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJIYW5kc2hha2Ugd2FzIGNvbXBsZXRlZCIgXApAQCAtNTc0MSw4ICs1OTE3LDggQEAKIHJlcXVpcmVzX2dudXRscwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiREVSIGZvcm1hdDogd2l0aCA5IHRyYWlsaW5nIHJhbmRvbSBieXRlcyIgXAotICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtZGVyOS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWRlcjkuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJEdfQ0xJIGxvY2FsaG9zdCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiSGFuZHNoYWtlIHdhcyBjb21wbGV0ZWQiIFwKQEAgLTU3NTAsNDAgKzU5MjYsNzggQEAKICMgVGVzdHMgZm9yIGF1dGhfbW9kZSwgdGhlcmUgYXJlIGR1cGxpY2F0ZWQgdGVzdHMgdXNpbmcgY2EgY2FsbGJhY2sgZm9yIGF1dGhlbnRpY2F0aW9uCiAjIFdoZW4gdXBkYXRpbmcgdGhlc2UgdGVzdHMsIG1vZGlmeSB0aGUgbWF0Y2hpbmcgYXV0aGVudGljYXRpb24gdGVzdHMgYWNjb3JkaW5nbHkKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCisjIFRoZSBuZXh0IDQgY2FzZXMgdGVzdCB0aGUgMyBhdXRoIG1vZGVzIHdpdGggYSBiYWRseSBzaWduZWQgc2VydmVyIGNlcnQuCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlcnZlciBiYWRjZXJ0LCBjbGllbnQgcmVxdWlyZWQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTEgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCisgICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1iYWRzaWduLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAieDUwOV92ZXJpZnlfY2VydCgpIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtYyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQgYnkgdGhlIHRydXN0ZWQgQ0EiIFwKICAgICAgICAgICAgIC1jICIhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLWMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQ4IiBcCiAgICAgICAgICAgICAtYyAiWDUwOSAtIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlsZWQiCisgICAgICAgICAgICAjIE1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEIC0+IE1CRURUTFNfU1NMX0FMRVJUX01TR19VTktOT1dOX0NBCisjIFdlIGRvbid0IGNoZWNrIHRoYXQgdGhlIHNlcnZlciByZWNlaXZlcyB0aGUgYWxlcnQgYmVjYXVzZSBpdCBtaWdodAorIyBkZXRlY3QgdGhhdCBpdHMgd3JpdGUgZW5kIG9mIHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZCBhbmQgYWJvcnQKKyMgYmVmb3JlIHJlYWRpbmcgdGhlIGFsZXJ0IG1lc3NhZ2UuCisKK3J1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VydmVyIGJhZGNlcnQsIGNsaWVudCByZXF1aXJlZCAoMS4yKSIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAorICAgICAgICAgICAgMSBcCisgICAgICAgICAgICAtYyAieDUwOV92ZXJpZnlfY2VydCgpIHJldHVybmVkIiBcCisgICAgICAgICAgICAtYyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQgYnkgdGhlIHRydXN0ZWQgQ0EiIFwKKyAgICAgICAgICAgIC1jICIhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLWMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQ4IiBcCisgICAgICAgICAgICAtYyAiWDUwOSAtIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlsZWQiCisgICAgICAgICAgICAjIE1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEIC0+IE1CRURUTFNfU1NMX0FMRVJUX01TR19VTktOT1dOX0NBCiAKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VydmVyIGJhZGNlcnQsIGNsaWVudCBvcHRpb25hbCIgXAotICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBkZWJ1Z19sZXZlbD0xIGF1dGhfbW9kZT1vcHRpb25hbCIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMyBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAieDUwOV92ZXJpZnlfY2VydCgpIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtYyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQgYnkgdGhlIHRydXN0ZWQgQ0EiIFwKICAgICAgICAgICAgIC1DICIhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLUMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQ4IiBcCiAgICAgICAgICAgICAtQyAiWDUwOSAtIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlsZWQiCiAKLXJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAotcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBzZXJ2ZXIgZ29vZGNlcnQsIGNsaWVudCBvcHRpb25hbCwgbm8gdHJ1c3RlZCBDQSIgXAotICAgICAgICAgICAgIiRQX1NSViIgXAotICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIGNhX2ZpbGU9bm9uZSBjYV9wYXRoPW5vbmUiIFwKK3J1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VydmVyIGJhZGNlcnQsIGNsaWVudCBvcHRpb25hbCAoMS4yKSIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAieDUwOV92ZXJpZnlfY2VydCgpIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtYyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQgYnkgdGhlIHRydXN0ZWQgQ0EiIFwKLSAgICAgICAgICAgIC1jICIhIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmbGFncyJcCiAgICAgICAgICAgICAtQyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKLSAgICAgICAgICAgIC1DICJYNTA5IC0gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZhaWxlZCIgXAotICAgICAgICAgICAgLUMgIlNTTCAtIE5vIENBIENoYWluIGlzIHNldCwgYnV0IHJlcXVpcmVkIHRvIG9wZXJhdGUiCisgICAgICAgICAgICAtQyAic2VuZCBhbGVydCBsZXZlbD0yIG1lc3NhZ2U9NDgiIFwKKyAgICAgICAgICAgIC1DICJYNTA5IC0gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZhaWxlZCIKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCitydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlcnZlciBiYWRjZXJ0LCBjbGllbnQgbm9uZSIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9bm9uZSIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtQyAieDUwOV92ZXJpZnlfY2VydCgpIHJldHVybmVkIiBcCisgICAgICAgICAgICAtQyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQgYnkgdGhlIHRydXN0ZWQgQ0EiIFwKKyAgICAgICAgICAgIC1DICIhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLUMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQ4IiBcCisgICAgICAgICAgICAtQyAiWDUwOSAtIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlsZWQiCisKK3J1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VydmVyIGJhZGNlcnQsIGNsaWVudCBub25lICgxLjIpIiBcCisgICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1iYWRzaWduLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW5vbmUiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLUMgIng1MDlfdmVyaWZ5X2NlcnQoKSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLUMgIiEgVGhlIGNlcnRpZmljYXRlIGlzIG5vdCBjb3JyZWN0bHkgc2lnbmVkIGJ5IHRoZSB0cnVzdGVkIENBIiBcCisgICAgICAgICAgICAtQyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKKyAgICAgICAgICAgIC1DICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00OCIgXAorICAgICAgICAgICAgLUMgIlg1MDkgLSBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmFpbGVkIgorCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlcnZlciBnb29kY2VydCwgY2xpZW50IHJlcXVpcmVkLCBubyB0cnVzdGVkIENBIiBcCiAgICAgICAgICAgICAiJFBfU1JWIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIGNhX2ZpbGU9bm9uZSBjYV9wYXRoPW5vbmUiIFwKQEAgLTU3OTQsNiArNjAwOCw2MyBAQAogICAgICAgICAgICAgLWMgIiEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtYyAiU1NMIC0gTm8gQ0EgQ2hhaW4gaXMgc2V0LCBidXQgcmVxdWlyZWQgdG8gb3BlcmF0ZSIKIAorcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAkVExTMV8yX0tFWV9FWENIQU5HRVNfV0lUSF9DRVJUCitydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlcnZlciBnb29kY2VydCwgY2xpZW50IHJlcXVpcmVkLCBubyB0cnVzdGVkIENBICgxLjIpIiBcCisgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9cmVxdWlyZWQgY2FfZmlsZT1ub25lIGNhX3BhdGg9bm9uZSIgXAorICAgICAgICAgICAgMSBcCisgICAgICAgICAgICAtYyAieDUwOV92ZXJpZnlfY2VydCgpIHJldHVybmVkIiBcCisgICAgICAgICAgICAtYyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQgYnkgdGhlIHRydXN0ZWQgQ0EiIFwKKyAgICAgICAgICAgIC1jICIhIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmbGFncyJcCisgICAgICAgICAgICAtYyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKKyAgICAgICAgICAgIC1jICJTU0wgLSBObyBDQSBDaGFpbiBpcyBzZXQsIGJ1dCByZXF1aXJlZCB0byBvcGVyYXRlIgorCitydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlcnZlciBnb29kY2VydCwgY2xpZW50IG9wdGlvbmFsLCBubyB0cnVzdGVkIENBIiBcCisgICAgICAgICAgICAiJFBfU1JWIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIGNhX2ZpbGU9bm9uZSBjYV9wYXRoPW5vbmUiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLWMgIng1MDlfdmVyaWZ5X2NlcnQoKSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLWMgIiEgVGhlIGNlcnRpZmljYXRlIGlzIG5vdCBjb3JyZWN0bHkgc2lnbmVkIGJ5IHRoZSB0cnVzdGVkIENBIiBcCisgICAgICAgICAgICAtYyAiISBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmxhZ3MiXAorICAgICAgICAgICAgLUMgIiEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCisgICAgICAgICAgICAtQyAiWDUwOSAtIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlsZWQiIFwKKyAgICAgICAgICAgIC1DICJTU0wgLSBObyBDQSBDaGFpbiBpcyBzZXQsIGJ1dCByZXF1aXJlZCB0byBvcGVyYXRlIgorCityZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkICRUTFMxXzJfS0VZX0VYQ0hBTkdFU19XSVRIX0NFUlQKK3J1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VydmVyIGdvb2RjZXJ0LCBjbGllbnQgb3B0aW9uYWwsIG5vIHRydXN0ZWQgQ0EgKDEuMikiIFwKKyAgICAgICAgICAgICIkUF9TUlYiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCBjYV9maWxlPW5vbmUgY2FfcGF0aD1ub25lIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1jICJ4NTA5X3ZlcmlmeV9jZXJ0KCkgcmV0dXJuZWQiIFwKKyAgICAgICAgICAgIC1jICIhIFRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgY29ycmVjdGx5IHNpZ25lZCBieSB0aGUgdHJ1c3RlZCBDQSIgXAorICAgICAgICAgICAgLWMgIiEgQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZsYWdzIlwKKyAgICAgICAgICAgIC1DICIhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLUMgIlg1MDkgLSBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmFpbGVkIiBcCisgICAgICAgICAgICAtQyAiU1NMIC0gTm8gQ0EgQ2hhaW4gaXMgc2V0LCBidXQgcmVxdWlyZWQgdG8gb3BlcmF0ZSIKKworcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBzZXJ2ZXIgZ29vZGNlcnQsIGNsaWVudCBub25lLCBubyB0cnVzdGVkIENBIiBcCisgICAgICAgICAgICAiJFBfU1JWIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW5vbmUgY2FfZmlsZT1ub25lIGNhX3BhdGg9bm9uZSIgXAorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtQyAieDUwOV92ZXJpZnlfY2VydCgpIHJldHVybmVkIiBcCisgICAgICAgICAgICAtQyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQgYnkgdGhlIHRydXN0ZWQgQ0EiIFwKKyAgICAgICAgICAgIC1DICIhIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmbGFncyJcCisgICAgICAgICAgICAtQyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKKyAgICAgICAgICAgIC1DICJYNTA5IC0gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZhaWxlZCIgXAorICAgICAgICAgICAgLUMgIlNTTCAtIE5vIENBIENoYWluIGlzIHNldCwgYnV0IHJlcXVpcmVkIHRvIG9wZXJhdGUiCisKK3JlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAorcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBzZXJ2ZXIgZ29vZGNlcnQsIGNsaWVudCBub25lLCBubyB0cnVzdGVkIENBICgxLjIpIiBcCisgICAgICAgICAgICAiJFBfU1JWIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9bm9uZSBjYV9maWxlPW5vbmUgY2FfcGF0aD1ub25lIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1DICJ4NTA5X3ZlcmlmeV9jZXJ0KCkgcmV0dXJuZWQiIFwKKyAgICAgICAgICAgIC1DICIhIFRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgY29ycmVjdGx5IHNpZ25lZCBieSB0aGUgdHJ1c3RlZCBDQSIgXAorICAgICAgICAgICAgLUMgIiEgQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZsYWdzIlwKKyAgICAgICAgICAgIC1DICIhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAorICAgICAgICAgICAgLUMgIlg1MDkgLSBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmFpbGVkIiBcCisgICAgICAgICAgICAtQyAiU1NMIC0gTm8gQ0EgQ2hhaW4gaXMgc2V0LCBidXQgcmVxdWlyZWQgdG8gb3BlcmF0ZSIKKwogIyBUaGUgcHVycG9zZSBvZiB0aGUgbmV4dCB0d28gdGVzdHMgaXMgdG8gdGVzdCB0aGUgY2xpZW50J3MgYmVoYXZpb3VyIHdoZW4gcmVjZWl2aW5nIGEgc2VydmVyCiAjIGNlcnRpZmljYXRlIHdpdGggYW4gdW5zdXBwb3J0ZWQgZWxsaXB0aWMgY3VydmUuIFRoaXMgc2hvdWxkIHVzdWFsbHkgbm90IGhhcHBlbiBiZWNhdXNlCiAjIHRoZSBjbGllbnQgaW5mb3JtcyB0aGUgc2VydmVyIGFib3V0IHRoZSBzdXBwb3J0ZWQgY3VydmVzIC0gaXQgZG9lcywgdGhvdWdoLCBpbiB0aGUKQEAgLTU4MDIsOCArNjA3Myw4IEBACiAjIGRpZmZlcmVudCBtZWFucyB0byBoYXZlIHRoZSBzZXJ2ZXIgaWdub3JpbmcgdGhlIGNsaWVudCdzIHN1cHBvcnRlZCBjdXJ2ZSBsaXN0LgogCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlcnZlciBFQ0RIIHAyNTZ2MSwgY2xpZW50IHJlcXVpcmVkLCBwMjU2djEgdW5zdXBwb3J0ZWQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MSBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua3Uta2EuY3J0IiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1Lmt1LWthLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIGdyb3Vwcz1zZWNwNTIxcjEiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgImJhZCBjZXJ0aWZpY2F0ZSAoRUMga2V5IGN1cnZlKSJcCkBAIC01ODExLDI5ICs2MDgyLDE5IEBACiAgICAgICAgICAgICAtQyAiYmFkIHNlcnZlciBjZXJ0aWZpY2F0ZSAoRUNESCBjdXJ2ZSkiICMgRXhwZWN0IGZhaWx1cmUgYXQgZWFybGllciB2ZXJpZmljYXRpb24gc3RhZ2UKIAogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBzZXJ2ZXIgRUNESCBwMjU2djEsIGNsaWVudCBvcHRpb25hbCwgcDI1NnYxIHVuc3VwcG9ydGVkIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1Lmt1LWthLmNydCIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rdS1rYS5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCBncm91cHM9c2VjcDUyMXIxIiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJiYWQgY2VydGlmaWNhdGUgKEVDIGtleSBjdXJ2ZSkiXAogICAgICAgICAgICAgLWMgIiEgQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZsYWdzIlwKICAgICAgICAgICAgIC1jICJiYWQgc2VydmVyIGNlcnRpZmljYXRlIChFQ0RIIGN1cnZlKSIgIyBFeHBlY3QgZmFpbHVyZSBvbmx5IGF0IEVDREggcGFyYW1zIGNoZWNrCiAKLXJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VydmVyIGJhZGNlcnQsIGNsaWVudCBub25lIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAotICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGRlYnVnX2xldmVsPTEgYXV0aF9tb2RlPW5vbmUiIFwKLSAgICAgICAgICAgIDAgXAotICAgICAgICAgICAgLUMgIng1MDlfdmVyaWZ5X2NlcnQoKSByZXR1cm5lZCIgXAotICAgICAgICAgICAgLUMgIiEgVGhlIGNlcnRpZmljYXRlIGlzIG5vdCBjb3JyZWN0bHkgc2lnbmVkIGJ5IHRoZSB0cnVzdGVkIENBIiBcCi0gICAgICAgICAgICAtQyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKLSAgICAgICAgICAgIC1DICJYNTA5IC0gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZhaWxlZCIKLQogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAkVExTMV8yX0tFWV9FWENIQU5HRVNfV0lUSF9DRVJUCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IGNsaWVudCBTSEEyNTYsIHNlcnZlciByZXF1aXJlZCIgXAogICAgICAgICAgICAgIiRQX1NSViBhdXRoX21vZGU9cmVxdWlyZWQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYua2V5IFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMjU2LUdDTS1TSEEzODQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIlN1cHBvcnRlZCBTaWduYXR1cmUgQWxnb3JpdGhtIGZvdW5kOiAwNCAiIFwKQEAgLTU4NDIsMTggKzYxMDMsMTcgQEAKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBjbGllbnQgU0hBMzg0LCBzZXJ2ZXIgcmVxdWlyZWQiIFwKICAgICAgICAgICAgICIkUF9TUlYgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmtleSBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmtleSBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJTdXBwb3J0ZWQgU2lnbmF0dXJlIEFsZ29yaXRobSBmb3VuZDogMDQgIiBcCiAgICAgICAgICAgICAtYyAiU3VwcG9ydGVkIFNpZ25hdHVyZSBBbGdvcml0aG0gZm91bmQ6IDA1ICIKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IGNsaWVudCBoYXMgbm8gY2VydCwgc2VydmVyIHJlcXVpcmVkIChUTFMpIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9bm9uZSBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLVMgInNraXAgd3JpdGUgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLUMgInNraXAgcGFyc2UgY2VydGlmaWNhdGUgcmVxdWVzdCIgXApAQCAtNTg2NSwxMSArNjEyNSwxMCBAQAogICAgICAgICAgICAgLXMgIiEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtcyAiTm8gY2xpZW50IGNlcnRpZmljYXRpb24gcmVjZWl2ZWQgZnJvbSB0aGUgY2xpZW50LCBidXQgcmVxdWlyZWQgYnkgdGhlIGF1dGhlbnRpY2F0aW9uIG1vZGUiCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBjbGllbnQgYmFkY2VydCwgc2VydmVyIHJlcXVpcmVkIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1TICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1DICJza2lwIHBhcnNlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKQEAgLTU4ODYsMTEgKzYxNDUsMTAgQEAKICMgZGV0ZWN0IHRoYXQgaXRzIHdyaXRlIGVuZCBvZiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQgYW5kIGFib3J0CiAjIGJlZm9yZSByZWFkaW5nIHRoZSBhbGVydCBtZXNzYWdlLgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogY2xpZW50IGNlcnQgc2VsZi1zaWduZWQgYW5kIHRydXN0ZWQsIHNlcnZlciByZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCBjYV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS1zZWxmc2lnbmVkLmNydCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS1zZWxmc2lnbmVkLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1zZWxmc2lnbmVkLmNydCIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1zZWxmc2lnbmVkLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAic2tpcCB3cml0ZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtQyAic2tpcCBwYXJzZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCkBAIC01OTAyLDExICs2MTYwLDEwIEBACiAgICAgICAgICAgICAtUyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQiIFwKICAgICAgICAgICAgIC1TICJYNTA5IC0gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZhaWxlZCIKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IGNsaWVudCBjZXJ0IG5vdCB0cnVzdGVkLCBzZXJ2ZXIgcmVxdWlyZWQiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9cmVxdWlyZWQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLVMgInNraXAgd3JpdGUgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLUMgInNraXAgcGFyc2UgY2VydGlmaWNhdGUgcmVxdWVzdCIgXApAQCAtNTkxOSwxMSArNjE3NiwxMCBAQAogICAgICAgICAgICAgLXMgIiEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtcyAiWDUwOSAtIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlsZWQiCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBjbGllbnQgYmFkY2VydCwgc2VydmVyIG9wdGlvbmFsIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1DICJza2lwIHBhcnNlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKQEAgLTU5MzcsMTEgKzYxOTMsMTAgQEAKICAgICAgICAgICAgIC1DICIhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLVMgIlg1MDkgLSBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmFpbGVkIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogY2xpZW50IGJhZGNlcnQsIHNlcnZlciBub25lIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW5vbmUiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInNraXAgd3JpdGUgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLUMgInNraXAgcGFyc2UgY2VydGlmaWNhdGUgcmVxdWVzdCIgXApAQCAtNTk1NSw3ICs2MjEwLDYgQEAKICAgICAgICAgICAgIC1DICIhIG1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLVMgIlg1MDkgLSBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gZmFpbGVkIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogY2xpZW50IG5vIGNlcnQsIHNlcnZlciBvcHRpb25hbCIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPW5vbmUga2V5X2ZpbGU9bm9uZSIgXApAQCAtNTk3Myw3ICs2MjI3LDYgQEAKICAgICAgICAgICAgIC1TICJYNTA5IC0gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZhaWxlZCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IG9wZW5zc2wgY2xpZW50IG5vIGNlcnQsIHNlcnZlciBvcHRpb25hbCIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCIgXAogICAgICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLW5vX21pZGRsZWJveCIgXApAQCAtNjAxOSwyNyArNjI3MiwyNyBAQAogcmVxdWlyZXNfY29uZmlnX3ZhbHVlX2VxdWFscyAiTUJFRFRMU19YNTA5X01BWF9JTlRFUk1FRElBVEVfQ0EiICRNQVhfSU1fQ0EKIHJlcXVpcmVzX2Z1bGxfc2l6ZV9vdXRwdXRfYnVmZmVyCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlcnZlciBtYXhfaW50IGNoYWluLCBjbGllbnQgZGVmYXVsdCIgXAotICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwOS5wZW0gXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA5LmtleSIgXAotICAgICAgICAgICAgIiRQX0NMSSBzZXJ2ZXJfbmFtZT1DQTA5IGNhX2ZpbGU9ZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMC5jcnQiIFwKKyAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC9jMDkucGVtIFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8wOS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgc2VydmVyX25hbWU9Q0EwOSBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvMDAuY3J0IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJYNTA5IC0gQSBmYXRhbCBlcnJvciBvY2N1cnJlZCIKIAogcmVxdWlyZXNfY29uZmlnX3ZhbHVlX2VxdWFscyAiTUJFRFRMU19YNTA5X01BWF9JTlRFUk1FRElBVEVfQ0EiICRNQVhfSU1fQ0EKIHJlcXVpcmVzX2Z1bGxfc2l6ZV9vdXRwdXRfYnVmZmVyCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlcnZlciBtYXhfaW50KzEgY2hhaW4sIGNsaWVudCBkZWZhdWx0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEwLnBlbSBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTAua2V5IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIHNlcnZlcl9uYW1lPUNBMTAgY2FfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAwLmNydCIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoL2MxMC5wZW0gXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoLzEwLmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBzZXJ2ZXJfbmFtZT1DQTEwIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8wMC5jcnQiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgIlg1MDkgLSBBIGZhdGFsIGVycm9yIG9jY3VycmVkIgogCiByZXF1aXJlc19jb25maWdfdmFsdWVfZXF1YWxzICJNQkVEVExTX1g1MDlfTUFYX0lOVEVSTUVESUFURV9DQSIgJE1BWF9JTV9DQQogcmVxdWlyZXNfZnVsbF9zaXplX291dHB1dF9idWZmZXIKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VydmVyIG1heF9pbnQrMSBjaGFpbiwgY2xpZW50IG9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEwLnBlbSBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTAua2V5IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgc2VydmVyX25hbWU9Q0ExMCBjYV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0IFwKKyAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC9jMTAucGVtIFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8xMC5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgc2VydmVyX25hbWU9Q0ExMCBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvMDAuY3J0IFwKICAgICAgICAgICAgICAgICAgICAgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJYNTA5IC0gQSBmYXRhbCBlcnJvciBvY2N1cnJlZCIKQEAgLTYwNDcsOSArNjMwMCw5IEBACiByZXF1aXJlc19jb25maWdfdmFsdWVfZXF1YWxzICJNQkVEVExTX1g1MDlfTUFYX0lOVEVSTUVESUFURV9DQSIgJE1BWF9JTV9DQQogcmVxdWlyZXNfZnVsbF9zaXplX291dHB1dF9idWZmZXIKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VydmVyIG1heF9pbnQrMSBjaGFpbiwgY2xpZW50IG5vbmUiIFwKLSAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTAucGVtIFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xMC5rZXkiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBzZXJ2ZXJfbmFtZT1DQTEwIGNhX2ZpbGU9ZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMC5jcnQgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoL2MxMC5wZW0gXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoLzEwLmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIHNlcnZlcl9uYW1lPUNBMTAgY2FfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoLzAwLmNydCBcCiAgICAgICAgICAgICAgICAgICAgIGF1dGhfbW9kZT1ub25lIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJYNTA5IC0gQSBmYXRhbCBlcnJvciBvY2N1cnJlZCIKQEAgLTYwNTcsMzYgKzYzMTAsMzYgQEAKIHJlcXVpcmVzX2NvbmZpZ192YWx1ZV9lcXVhbHMgIk1CRURUTFNfWDUwOV9NQVhfSU5URVJNRURJQVRFX0NBIiAkTUFYX0lNX0NBCiByZXF1aXJlc19mdWxsX3NpemVfb3V0cHV0X2J1ZmZlcgogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBjbGllbnQgbWF4X2ludCsxIGNoYWluLCBzZXJ2ZXIgZGVmYXVsdCIgXAotICAgICAgICAgICAgIiRQX1NSViBjYV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGNydF9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEwLnBlbSBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTAua2V5IiBcCisgICAgICAgICAgICAiJFBfU1JWIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8wMC5jcnQiIFwKKyAgICAgICAgICAgICIkUF9DTEkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC9jMTAucGVtIFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8xMC5rZXkiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgIlg1MDkgLSBBIGZhdGFsIGVycm9yIG9jY3VycmVkIgogCiByZXF1aXJlc19jb25maWdfdmFsdWVfZXF1YWxzICJNQkVEVExTX1g1MDlfTUFYX0lOVEVSTUVESUFURV9DQSIgJE1BWF9JTV9DQQogcmVxdWlyZXNfZnVsbF9zaXplX291dHB1dF9idWZmZXIKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogY2xpZW50IG1heF9pbnQrMSBjaGFpbiwgc2VydmVyIG9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNhX2ZpbGU9ZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMC5jcnQgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGNydF9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEwLnBlbSBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTAua2V5IiBcCisgICAgICAgICAgICAiJFBfU1JWIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8wMC5jcnQgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvYzEwLnBlbSBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvMTAua2V5IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1zICJYNTA5IC0gQSBmYXRhbCBlcnJvciBvY2N1cnJlZCIKIAogcmVxdWlyZXNfY29uZmlnX3ZhbHVlX2VxdWFscyAiTUJFRFRMU19YNTA5X01BWF9JTlRFUk1FRElBVEVfQ0EiICRNQVhfSU1fQ0EKIHJlcXVpcmVzX2Z1bGxfc2l6ZV9vdXRwdXRfYnVmZmVyCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IGNsaWVudCBtYXhfaW50KzEgY2hhaW4sIHNlcnZlciByZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBjYV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0IGF1dGhfbW9kZT1yZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX0NMSSBjcnRfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxMC5wZW0gXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzEwLmtleSIgXAorICAgICAgICAgICAgIiRQX1NSViBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvMDAuY3J0IGF1dGhfbW9kZT1yZXF1aXJlZCIgXAorICAgICAgICAgICAgIiRQX0NMSSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoL2MxMC5wZW0gXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoLzEwLmtleSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtcyAiWDUwOSAtIEEgZmF0YWwgZXJyb3Igb2NjdXJyZWQiCiAKIHJlcXVpcmVzX2NvbmZpZ192YWx1ZV9lcXVhbHMgIk1CRURUTFNfWDUwOV9NQVhfSU5URVJNRURJQVRFX0NBIiAkTUFYX0lNX0NBCiByZXF1aXJlc19mdWxsX3NpemVfb3V0cHV0X2J1ZmZlcgogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBjbGllbnQgbWF4X2ludCBjaGFpbiwgc2VydmVyIHJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNhX2ZpbGU9ZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMC5jcnQgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGNydF9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA5LnBlbSBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDkua2V5IiBcCisgICAgICAgICAgICAiJFBfU1JWIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8wMC5jcnQgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvYzA5LnBlbSBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvMDkua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJYNTA5IC0gQSBmYXRhbCBlcnJvciBvY2N1cnJlZCIKIApAQCAtNjA5NSwyMyArNjM0OCwyMyBAQAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAkVExTMV8yX0tFWV9FWENIQU5HRVNfV0lUSF9DRVJUCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlbmQgQ0EgbGlzdCBpbiBDZXJ0aWZpY2F0ZVJlcXVlc3QgIChkZWZhdWx0KSIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJyZXF1ZXN0ZWQgRE4iCiAKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBkbyBub3Qgc2VuZCBDQSBsaXN0IGluIENlcnRpZmljYXRlUmVxdWVzdCIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCBjZXJ0X3JlcV9jYV9saXN0PTAiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmtleSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAicmVxdWVzdGVkIEROIgogCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb246IHNlbmQgQ0EgbGlzdCBpbiBDZXJ0aWZpY2F0ZVJlcXVlc3QsIGNsaWVudCBzZWxmIHNpZ25lZCIgXAogICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIGNlcnRfcmVxX2NhX2xpc3Q9MCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS1zZWxmc2lnbmVkLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1zZWxmc2lnbmVkLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtUyAicmVxdWVzdGVkIEROIiBcCiAgICAgICAgICAgICAtcyAieDUwOV92ZXJpZnlfY2VydCgpIHJldHVybmVkIiBcCkBAIC02MTIzLDMzICs2Mzc2LDMzIEBACiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkICRUTFMxXzJfS0VZX0VYQ0hBTkdFU19XSVRIX0NFUlQKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VuZCBhbHQgY29uZiBETiBoaW50cyBpbiBDZXJ0aWZpY2F0ZVJlcXVlc3QiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwgY2VydF9yZXFfY2FfbGlzdD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMS5rZXkiIFwKKyAgICAgICAgICAgICBjcnRfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS5rZXkiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmtleSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5rZXkiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIkROIGhpbnQ6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIgogCiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkICRUTFMxXzJfS0VZX0VYQ0hBTkdFU19XSVRIX0NFUlQKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbjogc2VuZCBhbHQgY29uZiBETiBoaW50cyBpbiBDZXJ0aWZpY2F0ZVJlcXVlc3QgKDIpIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIGNlcnRfcmVxX2NhX2xpc3Q9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5rZXkiIFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJETiBoaW50OiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3QiCiAKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uOiBzZW5kIGFsdCBocyBETiBoaW50cyBpbiBDZXJ0aWZpY2F0ZVJlcXVlc3QiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwgY2VydF9yZXFfY2FfbGlzdD0zIFwKLSAgICAgICAgICAgICBjcnRfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMS5rZXkiIFwKKyAgICAgICAgICAgICBjcnRfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS5rZXkiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmtleSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5rZXkiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIkROIGhpbnQ6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIgogCkBAIC02MTU4LDkgKzY0MTEsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSwogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uLCBDQSBjYWxsYmFjazogc2VydmVyIGJhZGNlcnQsIGNsaWVudCByZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCisgICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1iYWRzaWduLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iIFwKICAgICAgICAgICAgIC1jICJ4NTA5X3ZlcmlmeV9jZXJ0KCkgcmV0dXJuZWQiIFwKQEAgLTYxNzAsOSArNjQyMyw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9UUlVTVEVEX0NFUlRJRklDQVRFX0NBTExCQUNLCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb24sIENBIGNhbGxiYWNrOiBzZXJ2ZXIgYmFkY2VydCwgY2xpZW50IG9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAotICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGNhX2NhbGxiYWNrPTEgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKKyAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGNhX2NhbGxiYWNrPTEgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgInVzZSBDQSBjYWxsYmFjayBmb3IgWC41MDkgQ1JUIHZlcmlmaWNhdGlvbiIgXAogICAgICAgICAgICAgLWMgIng1MDlfdmVyaWZ5X2NlcnQoKSByZXR1cm5lZCIgXApAQCAtNjE4MCw2ICs2NDMzLDE4IEBACiAgICAgICAgICAgICAtQyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1DICJYNTA5IC0gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZhaWxlZCIKIAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0sKK3J1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbiwgQ0EgY2FsbGJhY2s6IHNlcnZlciBiYWRjZXJ0LCBjbGllbnQgbm9uZSIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgY2FfY2FsbGJhY2s9MSBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1ub25lIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1DICJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iIFwKKyAgICAgICAgICAgIC1DICJ4NTA5X3ZlcmlmeV9jZXJ0KCkgcmV0dXJuZWQiIFwKKyAgICAgICAgICAgIC1DICIhIFRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgY29ycmVjdGx5IHNpZ25lZCBieSB0aGUgdHJ1c3RlZCBDQSIgXAorICAgICAgICAgICAgLUMgIiEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCisgICAgICAgICAgICAtQyAiWDUwOSAtIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlsZWQiCisKICMgVGhlIHB1cnBvc2Ugb2YgdGhlIG5leHQgdHdvIHRlc3RzIGlzIHRvIHRlc3QgdGhlIGNsaWVudCdzIGJlaGF2aW91ciB3aGVuIHJlY2VpdmluZyBhIHNlcnZlcgogIyBjZXJ0aWZpY2F0ZSB3aXRoIGFuIHVuc3VwcG9ydGVkIGVsbGlwdGljIGN1cnZlLiBUaGlzIHNob3VsZCB1c3VhbGx5IG5vdCBoYXBwZW4gYmVjYXVzZQogIyB0aGUgY2xpZW50IGluZm9ybXMgdGhlIHNlcnZlciBhYm91dCB0aGUgc3VwcG9ydGVkIGN1cnZlcyAtIGl0IGRvZXMsIHRob3VnaCwgaW4gdGhlCkBAIC02MTg5LDggKzY0NTQsOCBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSwogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uLCBDQSBjYWxsYmFjazogc2VydmVyIEVDREggcDI1NnYxLCBjbGllbnQgcmVxdWlyZWQsIHAyNTZ2MSB1bnN1cHBvcnRlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rdS1rYS5jcnQiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MSBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua3Uta2EuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgY2FfY2FsbGJhY2s9MSBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCBncm91cHM9c2VjcDUyMXIxIiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iIFwKQEAgLTYyMDAsOCArNjQ2NSw4IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9UUlVTVEVEX0NFUlRJRklDQVRFX0NBTExCQUNLCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb24sIENBIGNhbGxiYWNrOiBzZXJ2ZXIgRUNESCBwMjU2djEsIGNsaWVudCBvcHRpb25hbCwgcDI1NnYxIHVuc3VwcG9ydGVkIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1Lmt1LWthLmNydCIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rdS1rYS5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfdmVyc2lvbj10bHMxMiBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIGdyb3Vwcz1zZWNwNTIxcjEiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgInVzZSBDQSBjYWxsYmFjayBmb3IgWC41MDkgQ1JUIHZlcmlmaWNhdGlvbiIgXApAQCAtNjIxMSwxMCArNjQ3NiwxMCBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSwogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAkVExTMV8yX0tFWV9FWENIQU5HRVNfV0lUSF9DRVJUCi1ydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb24sIENBIGNhbGxiYWNrOiBjbGllbnQgU0hBMjU2LCBzZXJ2ZXIgcmVxdWlyZWQiIFwKK3J1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbiwgQ0EgY2FsbGJhY2s6IGNsaWVudCBTSEEzODQsIHNlcnZlciByZXF1aXJlZCIgXAogICAgICAgICAgICAgIiRQX1NSViBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmtleSBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmtleSBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTI1Ni1HQ00tU0hBMzg0IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iIFwKQEAgLTYyMjMsMTAgKzY0ODgsMTAgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0sKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAotcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uLCBDQSBjYWxsYmFjazogY2xpZW50IFNIQTM4NCwgc2VydmVyIHJlcXVpcmVkIiBcCitydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb24sIENBIGNhbGxiYWNrOiBjbGllbnQgU0hBMjU2LCBzZXJ2ZXIgcmVxdWlyZWQiIFwKICAgICAgICAgICAgICIkUF9TUlYgY2FfY2FsbGJhY2s9MSBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5rZXkgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5rZXkgXAogICAgICAgICAgICAgIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAidXNlIENBIGNhbGxiYWNrIGZvciBYLjUwOSBDUlQgdmVyaWZpY2F0aW9uIiBcCkBAIC02MjM1LDkgKzY1MDAsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSwogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uLCBDQSBjYWxsYmFjazogY2xpZW50IGJhZGNlcnQsIHNlcnZlciByZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGNhX2NhbGxiYWNrPTEgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9cmVxdWlyZWQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgY2FfY2FsbGJhY2s9MSBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1iYWRzaWduLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtcyAidXNlIENBIGNhbGxiYWNrIGZvciBYLjUwOSBDUlQgdmVyaWZpY2F0aW9uIiBcCiAgICAgICAgICAgICAtUyAic2tpcCB3cml0ZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCkBAIC02MjUwLDcgKzY1MTUsNiBAQAogICAgICAgICAgICAgLXMgIiEgVGhlIGNlcnRpZmljYXRlIGlzIG5vdCBjb3JyZWN0bHkgc2lnbmVkIGJ5IHRoZSB0cnVzdGVkIENBIiBcCiAgICAgICAgICAgICAtcyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1zICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00OCIgXAotICAgICAgICAgICAgLWMgIiEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtcyAiWDUwOSAtIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlsZWQiCiAjIFdlIGRvbid0IGNoZWNrIHRoYXQgdGhlIGNsaWVudCByZWNlaXZlcyB0aGUgYWxlcnQgYmVjYXVzZSBpdCBtaWdodAogIyBkZXRlY3QgdGhhdCBpdHMgd3JpdGUgZW5kIG9mIHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZCBhbmQgYWJvcnQKQEAgLTYyNTgsOSArNjUyMiw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9UUlVTVEVEX0NFUlRJRklDQVRFX0NBTExCQUNLCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb24sIENBIGNhbGxiYWNrOiBjbGllbnQgY2VydCBub3QgdHJ1c3RlZCwgc2VydmVyIHJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgY2FfY2FsbGJhY2s9MSBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS1zZWxmc2lnbmVkLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX1NSViBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1zICJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iIFwKICAgICAgICAgICAgIC1TICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKQEAgLTYyNzIsMTQgKzY1MzYsMTMgQEAKICAgICAgICAgICAgIC1zICJ4NTA5X3ZlcmlmeV9jZXJ0KCkgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1zICIhIFRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgY29ycmVjdGx5IHNpZ25lZCBieSB0aGUgdHJ1c3RlZCBDQSIgXAogICAgICAgICAgICAgLXMgIiEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCi0gICAgICAgICAgICAtYyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1zICJYNTA5IC0gQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGZhaWxlZCIKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0sKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbiwgQ0EgY2FsbGJhY2s6IGNsaWVudCBiYWRjZXJ0LCBzZXJ2ZXIgb3B0aW9uYWwiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfU1JWIGNhX2NhbGxiYWNrPTEgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUtYmFkc2lnbi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInVzZSBDQSBjYWxsYmFjayBmb3IgWC41MDkgQ1JUIHZlcmlmaWNhdGlvbiIgXAogICAgICAgICAgICAgLVMgInNraXAgd3JpdGUgY2VydGlmaWNhdGUgcmVxdWVzdCIgXApAQCAtNjI5OCw5ICs2NTYxLDkgQEAKIHJlcXVpcmVzX2Z1bGxfc2l6ZV9vdXRwdXRfYnVmZmVyCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSwogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uLCBDQSBjYWxsYmFjazogc2VydmVyIG1heF9pbnQgY2hhaW4sIGNsaWVudCBkZWZhdWx0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzA5LnBlbSBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDkua2V5IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgY2FfY2FsbGJhY2s9MSBkZWJ1Z19sZXZlbD0zIHNlcnZlcl9uYW1lPUNBMDkgY2FfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAwLmNydCIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoL2MwOS5wZW0gXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoLzA5LmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgc2VydmVyX25hbWU9Q0EwOSBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvMDAuY3J0IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iIFwKICAgICAgICAgICAgIC1DICJYNTA5IC0gQSBmYXRhbCBlcnJvciBvY2N1cnJlZCIKQEAgLTYzMDksOSArNjU3Miw5IEBACiByZXF1aXJlc19mdWxsX3NpemVfb3V0cHV0X2J1ZmZlcgogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0sKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbiwgQ0EgY2FsbGJhY2s6IHNlcnZlciBtYXhfaW50KzEgY2hhaW4sIGNsaWVudCBkZWZhdWx0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvYzEwLnBlbSBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMTAua2V5IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX3ZlcnNpb249dGxzMTIgZGVidWdfbGV2ZWw9MyBjYV9jYWxsYmFjaz0xIHNlcnZlcl9uYW1lPUNBMTAgY2FfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAwLmNydCIgXAorICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoL2MxMC5wZW0gXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoLzEwLmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNhX2NhbGxiYWNrPTEgc2VydmVyX25hbWU9Q0ExMCBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvMDAuY3J0IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iIFwKICAgICAgICAgICAgIC1jICJYNTA5IC0gQSBmYXRhbCBlcnJvciBvY2N1cnJlZCIKQEAgLTYzMjAsOSArNjU4Myw5IEBACiByZXF1aXJlc19mdWxsX3NpemVfb3V0cHV0X2J1ZmZlcgogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0sKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbiwgQ0EgY2FsbGJhY2s6IHNlcnZlciBtYXhfaW50KzEgY2hhaW4sIGNsaWVudCBvcHRpb25hbCIgXAotICAgICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxMC5wZW0gXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzEwLmtleSIgXAotICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV92ZXJzaW9uPXRsczEyIGNhX2NhbGxiYWNrPTEgc2VydmVyX25hbWU9Q0ExMCBjYV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0IFwKKyAgICAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC9jMTAucGVtIFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8xMC5rZXkiIFwKKyAgICAgICAgICAgICIkUF9DTEkgY2FfY2FsbGJhY2s9MSBzZXJ2ZXJfbmFtZT1DQTEwIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8wMC5jcnQgXAogICAgICAgICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAidXNlIENBIGNhbGxiYWNrIGZvciBYLjUwOSBDUlQgdmVyaWZpY2F0aW9uIiBcCkBAIC02MzMyLDkgKzY1OTUsOSBAQAogcmVxdWlyZXNfZnVsbF9zaXplX291dHB1dF9idWZmZXIKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9UUlVTVEVEX0NFUlRJRklDQVRFX0NBTExCQUNLCiBydW5fdGVzdCAgICAiQXV0aGVudGljYXRpb24sIENBIGNhbGxiYWNrOiBjbGllbnQgbWF4X2ludCsxIGNoYWluLCBzZXJ2ZXIgb3B0aW9uYWwiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgY2FfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAwLmNydCBhdXRoX21vZGU9b3B0aW9uYWwiIFwKLSAgICAgICAgICAgICIkUF9DTEkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9kaXItbWF4cGF0aC9jMTAucGVtIFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9kaXItbWF4cGF0aC8xMC5rZXkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgY2FfY2FsbGJhY2s9MSBkZWJ1Z19sZXZlbD0zIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8wMC5jcnQgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvYzEwLnBlbSBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGlyLW1heHBhdGgvMTAua2V5IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1zICJ1c2UgQ0EgY2FsbGJhY2sgZm9yIFguNTA5IENSVCB2ZXJpZmljYXRpb24iIFwKICAgICAgICAgICAgIC1zICJYNTA5IC0gQSBmYXRhbCBlcnJvciBvY2N1cnJlZCIKQEAgLTYzNDMsOSArNjYwNiw5IEBACiByZXF1aXJlc19mdWxsX3NpemVfb3V0cHV0X2J1ZmZlcgogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0sKIHJ1bl90ZXN0ICAgICJBdXRoZW50aWNhdGlvbiwgQ0EgY2FsbGJhY2s6IGNsaWVudCBtYXhfaW50KzEgY2hhaW4sIHNlcnZlciByZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGNhX2NhbGxiYWNrPTEgZGVidWdfbGV2ZWw9MyBjYV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0IGF1dGhfbW9kZT1yZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX0NMSSBjcnRfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MxMC5wZW0gXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzEwLmtleSIgXAorICAgICAgICAgICAgIiRQX1NSViBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgY2FfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoLzAwLmNydCBhdXRoX21vZGU9cmVxdWlyZWQiIFwKKyAgICAgICAgICAgICIkUF9DTEkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC9jMTAucGVtIFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8xMC5rZXkiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLXMgInVzZSBDQSBjYWxsYmFjayBmb3IgWC41MDkgQ1JUIHZlcmlmaWNhdGlvbiIgXAogICAgICAgICAgICAgLXMgIlg1MDkgLSBBIGZhdGFsIGVycm9yIG9jY3VycmVkIgpAQCAtNjM1NCw5ICs2NjE3LDkgQEAKIHJlcXVpcmVzX2Z1bGxfc2l6ZV9vdXRwdXRfYnVmZmVyCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSwogcnVuX3Rlc3QgICAgIkF1dGhlbnRpY2F0aW9uLCBDQSBjYWxsYmFjazogY2xpZW50IG1heF9pbnQgY2hhaW4sIHNlcnZlciByZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGNhX2NhbGxiYWNrPTEgZGVidWdfbGV2ZWw9MyBjYV9maWxlPWRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0IGF1dGhfbW9kZT1yZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX0NMSSBjcnRfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoL2MwOS5wZW0gXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzA5LmtleSIgXAorICAgICAgICAgICAgIiRQX1NSViBjYV9jYWxsYmFjaz0xIGRlYnVnX2xldmVsPTMgY2FfZmlsZT0kREFUQV9GSUxFU19QQVRIL2Rpci1tYXhwYXRoLzAwLmNydCBhdXRoX21vZGU9cmVxdWlyZWQiIFwKKyAgICAgICAgICAgICIkUF9DTEkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC9jMDkucGVtIFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaXItbWF4cGF0aC8wOS5rZXkiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInVzZSBDQSBjYWxsYmFjayBmb3IgWC41MDkgQ1JUIHZlcmlmaWNhdGlvbiIgXAogICAgICAgICAgICAgLVMgIlg1MDkgLSBBIGZhdGFsIGVycm9yIG9jY3VycmVkIgpAQCAtNjM2NSwxMCArNjYyOCwxMCBAQAogCiByZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCiBydW5fdGVzdCAgICAiQ2VydGlmaWNhdGUgaGFzaDogY2xpZW50IFRMUyAxLjIgLT4gU0hBLTIiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgICAgICAgIGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjUtc2hhMS5jcnQgXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1zaGExLmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJzaWduZWQgdXNpbmcuKkVDRFNBIHdpdGggU0hBMjU2IiBcCkBAIC02Mzc3LDIxICs2NjQwLDE5IEBACiAjIHRlc3RzIGZvciBTTkkKIAogcmVxdWlyZXNfY29uZmlnX2Rpc2FibGVkIE1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiU05JOiBubyBTTkkgY2FsbGJhY2siIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiaXNzdWVyIG5hbWUgKjogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSIgXAogICAgICAgICAgICAgLWMgInN1YmplY3QgbmFtZSAqOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3QiCiAKIHJlcXVpcmVzX2NvbmZpZ19kaXNhYmxlZCBNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIlNOSTogbWF0Y2hpbmcgY2VydCAxIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSxkYXRhX2ZpbGVzL3NlcnZlcjEtbm9zcGFjZS5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSwtLC0sLSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgc25pPWxvY2FsaG9zdCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEtbm9zcGFjZS5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmtleSwtLC0sLSIgXAogICAgICAgICAgICAgIiRQX0NMSSBzZXJ2ZXJfbmFtZT1sb2NhbGhvc3QiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInBhcnNlIFNlcnZlck5hbWUgZXh0ZW5zaW9uIiBcCkBAIC02Mzk5LDExICs2NjYwLDEwIEBACiAgICAgICAgICAgICAtYyAic3ViamVjdCBuYW1lICo6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdCIKIAogcmVxdWlyZXNfY29uZmlnX2Rpc2FibGVkIE1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiU05JOiBtYXRjaGluZyBjZXJ0IDIiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LGRhdGFfZmlsZXMvc2VydmVyMi5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSwtLC0sLSxwb2xhcnNzbC5leGFtcGxlLGRhdGFfZmlsZXMvc2VydmVyMS1ub3NwYWNlLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjEua2V5LC0sLSwtIiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSwtLC0sLSxwb2xhcnNzbC5leGFtcGxlLCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS1ub3NwYWNlLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEua2V5LC0sLSwtIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIHNlcnZlcl9uYW1lPXBvbGFyc3NsLmV4YW1wbGUiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInBhcnNlIFNlcnZlck5hbWUgZXh0ZW5zaW9uIiBcCkBAIC02NDExLDExICs2NjcxLDEwIEBACiAgICAgICAgICAgICAtYyAic3ViamVjdCBuYW1lICo6IEM9TkwsIE89UG9sYXJTU0wsIENOPXBvbGFyc3NsLmV4YW1wbGUiCiAKIHJlcXVpcmVzX2NvbmZpZ19kaXNhYmxlZCBNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIlNOSTogbm8gbWF0Y2hpbmcgY2VydCIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjIua2V5LC0sLSwtLHBvbGFyc3NsLmV4YW1wbGUsZGF0YV9maWxlcy9zZXJ2ZXIxLW5vc3BhY2UuY3J0LGRhdGFfZmlsZXMvc2VydmVyMS5rZXksLSwtLC0iIFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5LC0sLSwtLHBvbGFyc3NsLmV4YW1wbGUsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLW5vc3BhY2UuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS5rZXksLSwtLC0iIFwKICAgICAgICAgICAgICIkUF9DTEkgc2VydmVyX25hbWU9bm9uZXN1Y2guZXhhbXBsZSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtcyAicGFyc2UgU2VydmVyTmFtZSBleHRlbnNpb24iIFwKQEAgLTY0MjQsMTEgKzY2ODMsMTAgQEAKICAgICAgICAgICAgIC1jICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1jICJTU0wgLSBBIGZhdGFsIGFsZXJ0IG1lc3NhZ2Ugd2FzIHJlY2VpdmVkIGZyb20gb3VyIHBlZXIiCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIlNOSTogY2xpZW50IGF1dGggbm8gb3ZlcnJpZGU6IG9wdGlvbmFsIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjIua2V5LC0sLSwtIiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSwtLC0sLSIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAic2tpcCB3cml0ZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCkBAIC02NDM4LDExICs2Njk2LDEwIEBACiAgICAgICAgICAgICAtQyAic2tpcCB3cml0ZSBjZXJ0aWZpY2F0ZSB2ZXJpZnkiIFwKICAgICAgICAgICAgIC1TICJza2lwIHBhcnNlIGNlcnRpZmljYXRlIHZlcmlmeSIKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiU05JOiBjbGllbnQgYXV0aCBvdmVycmlkZTogbm9uZSAtPiBvcHRpb25hbCIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1ub25lIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjIua2V5LC0sLSxvcHRpb25hbCIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgc25pPWxvY2FsaG9zdCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXksLSwtLG9wdGlvbmFsIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgc2VydmVyX25hbWU9bG9jYWxob3N0IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKQEAgLTY0NTIsMTEgKzY3MDksMTAgQEAKICAgICAgICAgICAgIC1DICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIHZlcmlmeSIgXAogICAgICAgICAgICAgLVMgInNraXAgcGFyc2UgY2VydGlmaWNhdGUgdmVyaWZ5IgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJTTkk6IGNsaWVudCBhdXRoIG92ZXJyaWRlOiBvcHRpb25hbCAtPiBub25lIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjIua2V5LC0sLSxub25lIiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSwtLC0sbm9uZSIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAic2tpcCB3cml0ZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCkBAIC02NDY0LDE0ICs2NzIwLDEzIEBACiAgICAgICAgICAgICAtYyAiZ290IG5vIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJTTkk6IENBIG5vIG92ZXJyaWRlIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhLmNydCBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksLSwtLHJlcXVpcmVkIiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYS5jcnQgXAorICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5LC0sLSxyZXF1aXJlZCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1TICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1DICJza2lwIHBhcnNlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKQEAgLTY0ODMsMTQgKzY3MzgsMTMgQEAKICAgICAgICAgICAgIC1zICIhIFRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgY29ycmVjdGx5IHNpZ25lZCBieSB0aGUgdHJ1c3RlZCBDQSIgXAogICAgICAgICAgICAgLVMgIlRoZSBjZXJ0aWZpY2F0ZSBoYXMgYmVlbiByZXZva2VkIChpcyBvbiBhIENSTCkiCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIlNOSTogQ0Egb3ZlcnJpZGUiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IFwKLSAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LGRhdGFfZmlsZXMvc2VydmVyMi5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSxkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCwtLHJlcXVpcmVkIiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYS5jcnQgXAorICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5LCREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYTIuY3J0LC0scmVxdWlyZWQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBzZXJ2ZXJfbmFtZT1sb2NhbGhvc3QgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmtleSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmtleSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAic2tpcCB3cml0ZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtQyAic2tpcCBwYXJzZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCkBAIC02NTAyLDE0ICs2NzU2LDEzIEBACiAgICAgICAgICAgICAtUyAiISBUaGUgY2VydGlmaWNhdGUgaXMgbm90IGNvcnJlY3RseSBzaWduZWQgYnkgdGhlIHRydXN0ZWQgQ0EiIFwKICAgICAgICAgICAgIC1TICJUaGUgY2VydGlmaWNhdGUgaGFzIGJlZW4gcmV2b2tlZCAoaXMgb24gYSBDUkwpIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJTTkk6IENBIG92ZXJyaWRlIHdpdGggQ1JMIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhLmNydCBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQsZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSxyZXF1aXJlZCIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgY2FfZmlsZT0kREFUQV9GSUxFU19QQVRIL3Rlc3QtY2EuY3J0IFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSwkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2EyLmNydCwkREFUQV9GSUxFU19QQVRIL2NybC1lYy1zaGEyNTYucGVtLHJlcXVpcmVkIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgc2VydmVyX25hbWU9bG9jYWxob3N0IFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5rZXkiIFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5rZXkiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLVMgInNraXAgd3JpdGUgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLUMgInNraXAgcGFyc2UgY2VydGlmaWNhdGUgcmVxdWVzdCIgXApAQCAtNjUxOSw3ICs2NzcyLDkgQEAKICAgICAgICAgICAgIC1TICJza2lwIHBhcnNlIGNlcnRpZmljYXRlIHZlcmlmeSIgXAogICAgICAgICAgICAgLXMgIng1MDlfdmVyaWZ5X2NlcnQoKSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLVMgIiEgVGhlIGNlcnRpZmljYXRlIGlzIG5vdCBjb3JyZWN0bHkgc2lnbmVkIGJ5IHRoZSB0cnVzdGVkIENBIiBcCisgICAgICAgICAgICAtcyAic2VuZCBhbGVydCBsZXZlbD0yIG1lc3NhZ2U9NDQiIFwKICAgICAgICAgICAgIC1zICJUaGUgY2VydGlmaWNhdGUgaGFzIGJlZW4gcmV2b2tlZCAoaXMgb24gYSBDUkwpIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEIC0+IE1CRURUTFNfU1NMX0FMRVJUX01TR19DRVJUX1JFVk9LRUQKIAogIyBUZXN0cyBmb3IgU05JIGFuZCBEVExTCiAKQEAgLTY1MjcsNyArNjc4Miw3IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJTTkk6IERUTFMsIG5vIFNOSSBjYWxsYmFjayIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGR0bHM9MSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCBkdGxzPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImlzc3VlciBuYW1lICo6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0EiIFwKQEAgLTY1MzcsOCArNjc5Miw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJTTkk6IERUTFMsIG1hdGNoaW5nIGNlcnQgMSIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGR0bHM9MSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LGRhdGFfZmlsZXMvc2VydmVyMi5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSwtLC0sLSxwb2xhcnNzbC5leGFtcGxlLGRhdGFfZmlsZXMvc2VydmVyMS1ub3NwYWNlLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjEua2V5LC0sLSwtIiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSwtLC0sLSxwb2xhcnNzbC5leGFtcGxlLCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS1ub3NwYWNlLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEua2V5LC0sLSwtIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCBkdGxzPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInBhcnNlIFNlcnZlck5hbWUgZXh0ZW5zaW9uIiBcCkBAIC02NTQ5LDggKzY4MDQsOCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiU05JOiBEVExTLCBtYXRjaGluZyBjZXJ0IDIiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBkdGxzPTEgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSxkYXRhX2ZpbGVzL3NlcnZlcjEtbm9zcGFjZS5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSwtLC0sLSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgc25pPWxvY2FsaG9zdCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEtbm9zcGFjZS5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmtleSwtLC0sLSIgXAogICAgICAgICAgICAgIiRQX0NMSSBzZXJ2ZXJfbmFtZT1wb2xhcnNzbC5leGFtcGxlIGR0bHM9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAicGFyc2UgU2VydmVyTmFtZSBleHRlbnNpb24iIFwKQEAgLTY1NjAsOCArNjgxNSw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJTTkk6IERUTFMsIG5vIG1hdGNoaW5nIGNlcnQiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBkdGxzPTEgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSxkYXRhX2ZpbGVzL3NlcnZlcjEtbm9zcGFjZS5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSwtLC0sLSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgc25pPWxvY2FsaG9zdCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXksLSwtLC0scG9sYXJzc2wuZXhhbXBsZSwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEtbm9zcGFjZS5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmtleSwtLC0sLSIgXAogICAgICAgICAgICAgIiRQX0NMSSBzZXJ2ZXJfbmFtZT1ub25lc3VjaC5leGFtcGxlIGR0bHM9MSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtcyAicGFyc2UgU2VydmVyTmFtZSBleHRlbnNpb24iIFwKQEAgLTY1NzMsOCArNjgyOCw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJTTkk6IERUTFMsIGNsaWVudCBhdXRoIG5vIG92ZXJyaWRlOiBvcHRpb25hbCIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCBkdGxzPTEgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksLSwtLC0iIFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5LC0sLSwtIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgc2VydmVyX25hbWU9bG9jYWxob3N0IGR0bHM9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAic2tpcCB3cml0ZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCkBAIC02NTg3LDggKzY4NDIsOCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiU05JOiBEVExTLCBjbGllbnQgYXV0aCBvdmVycmlkZTogbm9uZSAtPiBvcHRpb25hbCIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1ub25lIGR0bHM9MSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LGRhdGFfZmlsZXMvc2VydmVyMi5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSwtLC0sb3B0aW9uYWwiIFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5LC0sLSxvcHRpb25hbCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCBkdGxzPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgInNraXAgd3JpdGUgY2VydGlmaWNhdGUgcmVxdWVzdCIgXApAQCAtNjYwMSw4ICs2ODU2LDggQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIlNOSTogRFRMUywgY2xpZW50IGF1dGggb3ZlcnJpZGU6IG9wdGlvbmFsIC0+IG5vbmUiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwgZHRscz0xIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjIua2V5LC0sLSxub25lIiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSwtLC0sbm9uZSIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCBkdGxzPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInNraXAgd3JpdGUgY2VydGlmaWNhdGUgcmVxdWVzdCIgXApAQCAtNjYxNSwxMSArNjg3MCwxMSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiU05JOiBEVExTLCBDQSBubyBvdmVycmlkZSIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1vcHRpb25hbCBkdGxzPTEgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IFwKLSAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LGRhdGFfZmlsZXMvc2VydmVyMi5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSwtLC0scmVxdWlyZWQiIFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC90ZXN0LWNhLmNydCBcCisgICAgICAgICAgICAgc25pPWxvY2FsaG9zdCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXksLSwtLHJlcXVpcmVkIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgc2VydmVyX25hbWU9bG9jYWxob3N0IGR0bHM9MSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1TICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1DICJza2lwIHBhcnNlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKQEAgLTY2MzQsMTEgKzY4ODksMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIlNOSTogRFRMUywgQ0Egb3ZlcnJpZGUiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwgZHRscz0xIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhLmNydCBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQsLSxyZXF1aXJlZCIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgY2FfZmlsZT0kREFUQV9GSUxFU19QQVRIL3Rlc3QtY2EuY3J0IFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSwkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2EyLmNydCwtLHJlcXVpcmVkIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgc2VydmVyX25hbWU9bG9jYWxob3N0IGR0bHM9MSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjYua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjYua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJza2lwIHdyaXRlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1DICJza2lwIHBhcnNlIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKQEAgLTY2NTMsMTEgKzY5MDgsMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIlNOSTogRFRMUywgQ0Egb3ZlcnJpZGUgd2l0aCBDUkwiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBkdGxzPTEgXAotICAgICAgICAgICAgIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhLmNydCBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0LGRhdGFfZmlsZXMvc2VydmVyMi5rZXksZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQsZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSxyZXF1aXJlZCIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBkdGxzPTEgXAorICAgICAgICAgICAgIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC90ZXN0LWNhLmNydCBcCisgICAgICAgICAgICAgc25pPWxvY2FsaG9zdCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXksJERBVEFfRklMRVNfUEFUSC90ZXN0LWNhMi5jcnQsJERBVEFfRklMRVNfUEFUSC9jcmwtZWMtc2hhMjU2LnBlbSxyZXF1aXJlZCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIHNlcnZlcl9uYW1lPWxvY2FsaG9zdCBkdGxzPTEgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNi5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI2LmtleSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNi5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI2LmtleSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtUyAic2tpcCB3cml0ZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtQyAic2tpcCBwYXJzZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCkBAIC02NjY3LDExICs2OTIyLDEyIEBACiAgICAgICAgICAgICAtUyAic2tpcCBwYXJzZSBjZXJ0aWZpY2F0ZSB2ZXJpZnkiIFwKICAgICAgICAgICAgIC1zICJ4NTA5X3ZlcmlmeV9jZXJ0KCkgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1TICIhIFRoZSBjZXJ0aWZpY2F0ZSBpcyBub3QgY29ycmVjdGx5IHNpZ25lZCBieSB0aGUgdHJ1c3RlZCBDQSIgXAorICAgICAgICAgICAgLXMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQ0IiBcCiAgICAgICAgICAgICAtcyAiVGhlIGNlcnRpZmljYXRlIGhhcyBiZWVuIHJldm9rZWQgKGlzIG9uIGEgQ1JMKSIKKyAgICAgICAgICAgICMgTUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRCAtPiBNQkVEVExTX1NTTF9BTEVSVF9NU0dfQ0VSVF9SRVZPS0VECiAKICMgVGVzdHMgZm9yIG5vbi1ibG9ja2luZyBJL086IGV4ZXJjaXNlIGEgdmFyaWV0eSBvZiBoYW5kc2hha2UgZmxvd3MKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiTm9uLWJsb2NraW5nIEkvTzogYmFzaWMgaGFuZHNoYWtlIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG5iaW89MiB0aWNrZXRzPTAgYXV0aF9tb2RlPW5vbmUiIFwKICAgICAgICAgICAgICIkUF9DTEkgbmJpbz0yIHRpY2tldHM9MCIgXApAQCAtNjY4MCw3ICs2OTM2LDYgQEAKICAgICAgICAgICAgIC1DICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1jICJSZWFkIGZyb20gc2VydmVyOiAuKiBieXRlcyByZWFkIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJOb24tYmxvY2tpbmcgSS9POiBjbGllbnQgYXV0aCIgXAogICAgICAgICAgICAgIiRQX1NSViBuYmlvPTIgdGlja2V0cz0wIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAogICAgICAgICAgICAgIiRQX0NMSSBuYmlvPTIgdGlja2V0cz0wIiBcCkBAIC02Njg5LDIxICs2OTQ0LDE5IEBACiAgICAgICAgICAgICAtQyAibWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtYyAiUmVhZCBmcm9tIHNlcnZlcjogLiogYnl0ZXMgcmVhZCIKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKIHJ1bl90ZXN0ICAgICJOb24tYmxvY2tpbmcgSS9POiB0aWNrZXQiIFwKICAgICAgICAgICAgICIkUF9TUlYgbmJpbz0yIHRpY2tldHM9MSBhdXRoX21vZGU9bm9uZSIgXAotICAgICAgICAgICAgIiRQX0NMSSBuYmlvPTIgdGlja2V0cz0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIG5iaW89MiB0aWNrZXRzPTEgbmV3X3Nlc3Npb25fdGlja2V0cz0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1DICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1jICJSZWFkIGZyb20gc2VydmVyOiAuKiBieXRlcyByZWFkIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUwogcnVuX3Rlc3QgICAgIk5vbi1ibG9ja2luZyBJL086IHRpY2tldCArIGNsaWVudCBhdXRoIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG5iaW89MiB0aWNrZXRzPTEgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIG5iaW89MiB0aWNrZXRzPTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgbmJpbz0yIHRpY2tldHM9MSBuZXdfc2Vzc2lvbl90aWNrZXRzPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLUMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXApAQCAtNjcyNSw3ICs2OTc4LDcgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUwogcnVuX3Rlc3QgICAgIk5vbi1ibG9ja2luZyBJL086IFRMUyAxLjMgKyB0aWNrZXQgKyBjbGllbnQgYXV0aCArIHJlc3VtZSIgXAogICAgICAgICAgICAgIiRQX1NSViBuYmlvPTIgdGlja2V0cz0xIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX0NMSSBuYmlvPTIgdGlja2V0cz0xIHJlY29ubmVjdD0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIG5iaW89MiB0aWNrZXRzPTEgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1DICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKQEAgLTY3NDcsNyArNzAwMCw3IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFMKIHJ1bl90ZXN0ICAgICJOb24tYmxvY2tpbmcgSS9POiBUTFMgMS4zICsgdGlja2V0ICsgcmVzdW1lIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG5iaW89MiB0aWNrZXRzPTEgYXV0aF9tb2RlPW5vbmUiIFwKLSAgICAgICAgICAgICIkUF9DTEkgbmJpbz0yIHRpY2tldHM9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBuYmlvPTIgdGlja2V0cz0xIG5ld19zZXNzaW9uX3RpY2tldHM9MSByZWNvbm5lY3Q9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAibWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtQyAibWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCkBAIC02NzY0LDcgKzcwMTcsNiBAQAogCiAjIFRlc3RzIGZvciBldmVudC1kcml2ZW4gSS9POiBleGVyY2lzZSBhIHZhcmlldHkgb2YgaGFuZHNoYWtlIGZsb3dzCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIkV2ZW50LWRyaXZlbiBJL086IGJhc2ljIGhhbmRzaGFrZSIgXAogICAgICAgICAgICAgIiRQX1NSViBldmVudD0xIHRpY2tldHM9MCBhdXRoX21vZGU9bm9uZSIgXAogICAgICAgICAgICAgIiRQX0NMSSBldmVudD0xIHRpY2tldHM9MCIgXApAQCAtNjc3Myw3ICs3MDI1LDYgQEAKICAgICAgICAgICAgIC1DICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1jICJSZWFkIGZyb20gc2VydmVyOiAuKiBieXRlcyByZWFkIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJFdmVudC1kcml2ZW4gSS9POiBjbGllbnQgYXV0aCIgXAogICAgICAgICAgICAgIiRQX1NSViBldmVudD0xIHRpY2tldHM9MCBhdXRoX21vZGU9cmVxdWlyZWQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZXZlbnQ9MSB0aWNrZXRzPTAiIFwKQEAgLTY3ODIsMjEgKzcwMzMsMTkgQEAKICAgICAgICAgICAgIC1DICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1jICJSZWFkIGZyb20gc2VydmVyOiAuKiBieXRlcyByZWFkIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUwogcnVuX3Rlc3QgICAgIkV2ZW50LWRyaXZlbiBJL086IHRpY2tldCIgXAogICAgICAgICAgICAgIiRQX1NSViBldmVudD0xIHRpY2tldHM9MSBhdXRoX21vZGU9bm9uZSIgXAotICAgICAgICAgICAgIiRQX0NMSSBldmVudD0xIHRpY2tldHM9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBldmVudD0xIHRpY2tldHM9MSBuZXdfc2Vzc2lvbl90aWNrZXRzPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLUMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLWMgIlJlYWQgZnJvbSBzZXJ2ZXI6IC4qIGJ5dGVzIHJlYWQiCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCiBydW5fdGVzdCAgICAiRXZlbnQtZHJpdmVuIEkvTzogdGlja2V0ICsgY2xpZW50IGF1dGgiIFwKICAgICAgICAgICAgICIkUF9TUlYgZXZlbnQ9MSB0aWNrZXRzPTEgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGV2ZW50PTEgdGlja2V0cz0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGV2ZW50PTEgdGlja2V0cz0xIG5ld19zZXNzaW9uX3RpY2tldHM9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAibWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtQyAibWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCkBAIC02ODE4LDcgKzcwNjcsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTCiBydW5fdGVzdCAgICAiRXZlbnQtZHJpdmVuIEkvTzogVExTIDEuMyArIHRpY2tldCArIGNsaWVudCBhdXRoICsgcmVzdW1lIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGV2ZW50PTEgdGlja2V0cz0xIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAotICAgICAgICAgICAgIiRQX0NMSSBldmVudD0xIHRpY2tldHM9MSByZWNvbm5lY3Q9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBldmVudD0xIHRpY2tldHM9MSBuZXdfc2Vzc2lvbl90aWNrZXRzPTEgcmVjb25uZWN0PTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLUMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXApAQCAtNjg0MCw3ICs3MDg5LDcgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUwogcnVuX3Rlc3QgICAgIkV2ZW50LWRyaXZlbiBJL086IFRMUyAxLjMgKyB0aWNrZXQgKyByZXN1bWUiIFwKICAgICAgICAgICAgICIkUF9TUlYgZXZlbnQ9MSB0aWNrZXRzPTEgYXV0aF9tb2RlPW5vbmUiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZXZlbnQ9MSB0aWNrZXRzPTEgcmVjb25uZWN0PTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZXZlbnQ9MSB0aWNrZXRzPTEgbmV3X3Nlc3Npb25fdGlja2V0cz0xIHJlY29ubmVjdD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKICAgICAgICAgICAgIC1DICJtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiIFwKQEAgLTY5MzQsNyArNzE4Myw4IEBACiAKICMgVGVzdHMgZm9yIHZlcnNpb24gbmVnb3RpYXRpb24sIE1iZWRUTFMgY2xpZW50IGFuZCBzZXJ2ZXIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkICRUTFMxXzJfS0VZX0VYQ0hBTkdFU19XSVRIX0NFUlQKIHJ1bl90ZXN0ICAgICJWZXJzaW9uIG5lZ28gbS0+bTogY2xpIDEuMiwgc3J2IDEuMiAtPiAxLjIiIFwKQEAgLTY5NDYsOCArNzE5NiwxMCBAQAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjIiIFwKICAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4yIgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAkVExTMV8yX0tFWV9FWENIQU5HRVNfV0lUSF9DRVJUCiBydW5fdGVzdCAgICAiVmVyc2lvbiBuZWdvIG0tPm06IGNsaSBtYXg9MS4yLCBzcnYgbWF4PTEuMiAtPiAxLjIiIFwKICAgICAgICAgICAgICIkUF9TUlYgbWF4X3ZlcnNpb249dGxzMTIiIFwKQEAgLTY5NTgsOCArNzIxMCw5IEBACiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMiIgXAogICAgICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjIiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiByZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiVmVyc2lvbiBuZWdvIG0tPm06IGNsaSAxLjMsIHNydiAxLjMgLT4gMS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIiBcCkBAIC02OTcwLDkgKzcyMjMsMTEgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlZlcnNpb24gbmVnbyBtLT5tOiBjbGkgbWluPTEuMywgc3J2IG1pbj0xLjMgLT4gMS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1pbl92ZXJzaW9uPXRsczEzIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIG1pbl92ZXJzaW9uPXRsczEzIiBcCkBAIC02OTgyLDkgKzcyMzcsMTEgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlZlcnNpb24gbmVnbyBtLT5tOiBjbGkgMS4yKzEuMywgc3J2IDEuMisxLjMgLT4gMS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIiBcCkBAIC02OTk0LDkgKzcyNTEsMTEgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlZlcnNpb24gbmVnbyBtLT5tOiBjbGkgMS4yKzEuMywgc3J2IG1pbj0xLjMgLT4gMS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1pbl92ZXJzaW9uPXRsczEzIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIiBcCkBAIC03MDA2LDggKzcyNjUsMTAgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIlZlcnNpb24gbmVnbyBtLT5tOiBjbGkgMS4yKzEuMywgc3J2IG1heD0xLjIgLT4gMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1heF92ZXJzaW9uPXRsczEyIiBcCkBAIC03MDE4LDggKzcyNzksMTAgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4yIiBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMiIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIlZlcnNpb24gbmVnbyBtLT5tOiBjbGkgbWF4PTEuMiwgc3J2IDEuMisxLjMgLT4gMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIiBcCkBAIC03MDMwLDkgKzcyOTMsMTEgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4yIiBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMiIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlZlcnNpb24gbmVnbyBtLT5tOiBjbGkgbWluPTEuMywgc3J2IDEuMisxLjMgLT4gMS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIG1pbl92ZXJzaW9uPXRsczEzIiBcCkBAIC03MDQyLDggKzczMDcsMTAgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJ1bl90ZXN0ICAgICJOb3Qgc3VwcG9ydGVkIHZlcnNpb24gbS0+bTogY2xpIG1heD0xLjIsIHNydiBtaW49MS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1pbl92ZXJzaW9uPXRsczEzIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIG1heF92ZXJzaW9uPXRsczEyIiBcCkBAIC03MDU0LDggKzczMjEsMTAgQEAKICAgICAgICAgICAgIC1TICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAgICAtQyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQyBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJ1bl90ZXN0ICAgICJOb3Qgc3VwcG9ydGVkIHZlcnNpb24gbS0+bTogY2xpIG1pbj0xLjMsIHNydiBtYXg9MS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1heF92ZXJzaW9uPXRsczEyIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIG1pbl92ZXJzaW9uPXRsczEzIiBcCkBAIC03MDY4LDcgKzczMzcsOCBAQAogCiAjIFRlc3RzIG9mIHZlcnNpb24gbmVnb3RpYXRpb24gb24gc2VydmVyIHNpZGUgYWdhaW5zdCBHbnVUTFMgY2xpZW50CiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkICRUTFMxXzJfS0VZX0VYQ0hBTkdFU19XSVRIX0NFUlQKIHJ1bl90ZXN0ICAgICJTZXJ2ZXIgdmVyc2lvbiBuZWdvIEctPm06IGNsaSAxLjIsIHNydiAxLjIrKDEuMykgLT4gMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIiBcCkBAIC03MDc3LDggKzczNDcsOSBAQAogICAgICAgICAgICAgLVMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjIiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIlNlcnZlciB2ZXJzaW9uIG5lZ28gRy0+bTogY2xpIDEuMiwgc3J2IG1heD0xLjIgLT4gMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1heF92ZXJzaW9uPXRsczEyIiBcCkBAIC03MDg3LDkgKzczNTgsOSBAQAogICAgICAgICAgICAgLVMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjIiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiU2VydmVyIHZlcnNpb24gbmVnbyBHLT5tOiBjbGkgMS4zLCBzcnYgKDEuMikrMS4zIC0+IDEuMyIgXAogICAgICAgICAgICAgIiRQX1NSViIgXAogICAgICAgICAgICAgIiRHX05FWFRfQ0xJIGxvY2FsaG9zdCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zIiBcCkBAIC03MDk3LDEwICs3MzY4LDEwIEBACiAgICAgICAgICAgICAtUyAibWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlNlcnZlciB2ZXJzaW9uIG5lZ28gRy0+bTogY2xpIDEuMywgc3J2IG1pbj0xLjMgLT4gMS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1pbl92ZXJzaW9uPXRsczEzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjMiIFwKQEAgLTcxMDgsOSArNzM3OSw5IEBACiAgICAgICAgICAgICAtUyAibWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIiBcCiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJTZXJ2ZXIgdmVyc2lvbiBuZWdvIEctPm06IGNsaSAxLjIrMS4zLCBzcnYgKDEuMikrMS4zIC0+IDEuMyIgXAogICAgICAgICAgICAgIiRQX1NSViIgXAogICAgICAgICAgICAgIiRHX05FWFRfQ0xJIGxvY2FsaG9zdCAtLXByaW9yaXR5PU5PUk1BTCIgXApAQCAtNzExOSw4ICs3MzkwLDkgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIgogCiByZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQyBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlNlcnZlciB2ZXJzaW9uIG5lZ28gRy0+bSAobm8gY29tcGF0KTogY2xpIDEuMisxLjMsIHNydiAoMS4yKSsxLjMgLT4gMS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC0tcHJpb3JpdHk9Tk9STUFMOiVESVNBQkxFX1RMUzEzX0NPTVBBVF9NT0RFIiBcCkBAIC03MTM2LDE5ICs3NDA4LDE5IEBACiAjIGlmIFRMUyAxLjIgd2FzIGl0cyBwcmVmZXJyZWQgdmVyc2lvbi4gS2VlcGluZyB0aGUgdGVzdCBldmVuIGlmIHRoZQogIyBoYW5kc2hha2UgZmFpbHMgZXZlbnR1YWxseSBhcyBpdCBleGVyY2ljZXMgcGFydHMgb2YgdGhlIE1iZWQgVExTCiAjIGltcGxlbWVudGF0aW9uIHRoYXQgYXJlIG90aGVyd2lzZSBub3QgZXhlcmNpc2VkLgotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJ1bl90ZXN0ICAgICJTZXJ2ZXIgdmVyc2lvbiBuZWdvIEctPm06IGNsaSAxLjIrMS4zICgxLjIgcHJlZmVycmVkISksIHNydiAxLjIrMS4zIC0+IDEuMiIgXAogICAgICAgICAgICAgIiRQX1NSViIgXAogICAgICAgICAgICAgIiRHX05FWFRfQ0xJIGxvY2FsaG9zdCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4yOitWRVJTLVRMUzEuMyIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiRGV0ZWN0ZWQgZG93bmdyYWRlIHRvIFRMUyAxLjIgZnJvbSBUTFMgMS4zIgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiU2VydmVyIHZlcnNpb24gbmVnbyBHLT5tOiBjbGkgMS4yKzEuMywgc3J2IG1pbj0xLjMgLT4gMS4zIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1pbl92ZXJzaW9uPXRsczEzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC0tcHJpb3JpdHk9Tk9STUFMIiBcCkBAIC03MTY2LDggKzc0MzgsOSBAQAogICAgICAgICAgICAgLVMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjIiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIlNlcnZlciB2ZXJzaW9uIG5lZ28gRy0+bTogY2xpIDEuMisxLjMsIG1heD0xLjIgLT4gMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1heF92ZXJzaW9uPXRsczEyIiBcCkBAIC03MjExLDggKzc0ODQsOSBAQAogICAgICAgICAgICAgLXMgIlRoZSBoYW5kc2hha2UgbmVnb3RpYXRpb24gZmFpbGVkIiBcCiAgICAgICAgICAgICAtUyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMwogcnVuX3Rlc3QgICAgIk5vdCBzdXBwb3J0ZWQgdmVyc2lvbiBHLT5tOiBjbGkgMS4yLCBzcnYgbWluPTEuMyIgXAogICAgICAgICAgICAgIiRQX1NSViBtaW5fdmVyc2lvbj10bHMxMyIgXAogICAgICAgICAgICAgIiRHX0NMSSBsb2NhbGhvc3QgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMiIgXApAQCAtNzIyMCw4ICs3NDk0LDkgQEAKICAgICAgICAgICAgIC1zICJIYW5kc2hha2UgcHJvdG9jb2wgbm90IHdpdGhpbiBtaW4vbWF4IGJvdW5kYXJpZXMiIFwKICAgICAgICAgICAgIC1TICJQcm90b2NvbCBpcyBUTFN2MS4yIgogCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCiBydW5fdGVzdCAgICAiTm90IHN1cHBvcnRlZCB2ZXJzaW9uIEctPm06IGNsaSAxLjMsIHNydiBtYXg9MS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1heF92ZXJzaW9uPXRsczEyIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjMiIFwKQEAgLTcyMzIsNyArNzUwNyw4IEBACiAKICMgVGVzdHMgb2YgdmVyc2lvbiBuZWdvdGlhdGlvbiBvbiBzZXJ2ZXIgc2lkZSBhZ2FpbnN0IE9wZW5TU0wgY2xpZW50CiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiByZXF1aXJlc19hbnlfY29uZmlnc19lbmFibGVkICRUTFMxXzJfS0VZX0VYQ0hBTkdFU19XSVRIX0NFUlQKIHJ1bl90ZXN0ICAgICJTZXJ2ZXIgdmVyc2lvbiBuZWdvIE8tPm06IGNsaSAxLjIsIHNydiAxLjIrKDEuMykgLT4gMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIiBcCkBAIC03MjQxLDggKzc1MTcsOSBAQAogICAgICAgICAgICAgLVMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjIiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIlNlcnZlciB2ZXJzaW9uIG5lZ28gTy0+bTogY2xpIDEuMiwgc3J2IG1heD0xLjIgLT4gMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIG1heF92ZXJzaW9uPXRsczEyIiBcCkBAIC03MjUyLDkgKzc1MjksOSBAQAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjIiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiU2VydmVyIHZlcnNpb24gbmVnbyBPLT5tOiBjbGkgMS4zLCBzcnYgKDEuMikrMS4zIC0+IDEuMyIgXAogICAgICAgICAgICAgIiRQX1NSViIgXAogICAgICAgICAgICAgIiRPX05FWFRfQ0xJIC10bHMxXzMiIFwKQEAgLTcyNjMsMTAgKzc1NDAsMTAgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiU2VydmVyIHZlcnNpb24gbmVnbyBPLT5tOiBjbGkgMS4zLCBzcnYgbWluPTEuMyAtPiAxLjMiIFwKICAgICAgICAgICAgICIkUF9TUlYgbWluX3ZlcnNpb249dGxzMTMiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSAtdGxzMV8zIiBcCkBAIC03Mjc1LDkgKzc1NTIsOSBAQAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVEIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiU2VydmVyIHZlcnNpb24gbmVnbyBPLT5tOiBjbGkgMS4yKzEuMywgc3J2ICgxLjIpKzEuMyAtPiAxLjMiIFwKICAgICAgICAgICAgICIkUF9TUlYiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSIgXApAQCAtNzI4Niw4ICs3NTYzLDkgQEAKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiU2VydmVyIHZlcnNpb24gbmVnbyBPLT5tIChubyBjb21wYXQpOiBjbGkgMS4yKzEuMywgc3J2ICgxLjIpKzEuMyAtPiAxLjMiIFwKICAgICAgICAgICAgICIkUF9TUlYiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSAtbm9fbWlkZGxlYm94IiBcCkBAIC03Mjk2LDEwICs3NTc0LDEwIEBACiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMiBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlNlcnZlciB2ZXJzaW9uIG5lZ28gTy0+bTogY2xpIDEuMisxLjMsIHNydiBtaW49MS4zIC0+IDEuMyIgXAogICAgICAgICAgICAgIiRQX1NSViBtaW5fdmVyc2lvbj10bHMxMyIgXAogICAgICAgICAgICAgIiRPX05FWFRfQ0xJIiBcCkBAIC03MzE3LDggKzc1OTUsOSBAQAogICAgICAgICAgICAgLVMgIm1iZWR0bHNfc3NsX2hhbmRzaGFrZSByZXR1cm5lZCIgXAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjIiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJlcXVpcmVzX2FueV9jb25maWdzX2VuYWJsZWQgJFRMUzFfMl9LRVlfRVhDSEFOR0VTX1dJVEhfQ0VSVAogcnVuX3Rlc3QgICAgIlNlcnZlciB2ZXJzaW9uIG5lZ28gTy0+bTogY2xpIDEuMisxLjMsIHNydiBtYXg9MS4yIC0+IDEuMiIgXAogICAgICAgICAgICAgIiRQX1NSViBtYXhfdmVyc2lvbj10bHMxMiIgXApAQCAtNzM2Miw4ICs3NjQxLDkgQEAKICAgICAgICAgICAgIC1zICJUaGUgaGFuZHNoYWtlIG5lZ290aWF0aW9uIGZhaWxlZCIgXAogICAgICAgICAgICAgLVMgIlByb3RvY29sIGlzIFRMU3YxLjMiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJ1bl90ZXN0ICAgICJOb3Qgc3VwcG9ydGVkIHZlcnNpb24gTy0+bTogY2xpIDEuMiwgc3J2IG1pbj0xLjMiIFwKICAgICAgICAgICAgICIkUF9TUlYgbWluX3ZlcnNpb249dGxzMTMiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSAtdGxzMV8yIiBcCkBAIC03MzcxLDggKzc2NTEsOSBAQAogICAgICAgICAgICAgLXMgIkhhbmRzaGFrZSBwcm90b2NvbCBub3Qgd2l0aGluIG1pbi9tYXggYm91bmRhcmllcyIgXAogICAgICAgICAgICAgLVMgIlByb3RvY29sIGlzIFRMU3YxLjIiCiAKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKIHJ1bl90ZXN0ICAgICJOb3Qgc3VwcG9ydGVkIHZlcnNpb24gTy0+bTogY2xpIDEuMywgc3J2IG1heD0xLjIiIFwKICAgICAgICAgICAgICIkUF9TUlYgbWF4X3ZlcnNpb249dGxzMTIiIFwKICAgICAgICAgICAgICIkT19ORVhUX0NMSSAtdGxzMV8zIiBcCkBAIC03NDg3LDcgKzc3NjgsNiBAQAogCiAjIFRlc3RzIGZvciBBTFBOIGV4dGVuc2lvbgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJBTFBOOiBub25lIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyIgXApAQCAtNzUwMCw3ICs3NzgwLDYgQEAKICAgICAgICAgICAgIC1DICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyIgXAogICAgICAgICAgICAgLVMgIkFwcGxpY2F0aW9uIExheWVyIFByb3RvY29sIGlzIgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJBTFBOOiBjbGllbnQgb25seSIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYWxwbj1hYmMsMTIzNCIgXApAQCAtNzUxMyw3ICs3NzkyLDYgQEAKICAgICAgICAgICAgIC1jICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyAobm9uZSkiIFwKICAgICAgICAgICAgIC1TICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyIKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiQUxQTjogc2VydmVyIG9ubHkiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhbHBuPWFiYywxMjM0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMiIFwKQEAgLTc1MjYsNyArNzgwNCw2IEBACiAgICAgICAgICAgICAtQyAiQXBwbGljYXRpb24gTGF5ZXIgUHJvdG9jb2wgaXMiIFwKICAgICAgICAgICAgIC1zICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyAobm9uZSkiCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIkFMUE46IGJvdGgsIGNvbW1vbiBjbGkxLXNydjEiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhbHBuPWFiYywxMjM0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYWxwbj1hYmMsMTIzNCIgXApAQCAtNzUzOSw3ICs3ODE2LDYgQEAKICAgICAgICAgICAgIC1jICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyBhYmMiIFwKICAgICAgICAgICAgIC1zICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyBhYmMiCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIkFMUE46IGJvdGgsIGNvbW1vbiBjbGkyLXNydjEiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhbHBuPWFiYywxMjM0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYWxwbj0xMjM0LGFiYyIgXApAQCAtNzU1Miw3ICs3ODI4LDYgQEAKICAgICAgICAgICAgIC1jICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyBhYmMiIFwKICAgICAgICAgICAgIC1zICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyBhYmMiCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgIkFMUE46IGJvdGgsIGNvbW1vbiBjbGkxLXNydjIiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhbHBuPWFiYywxMjM0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYWxwbj0xMjM0LGFiY2RlIiBcCkBAIC03NTY1LDcgKzc4NDAsNiBAQAogICAgICAgICAgICAgLWMgIkFwcGxpY2F0aW9uIExheWVyIFByb3RvY29sIGlzIDEyMzQiIFwKICAgICAgICAgICAgIC1zICJBcHBsaWNhdGlvbiBMYXllciBQcm90b2NvbCBpcyAxMjM0IgogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJBTFBOOiBib3RoLCBubyBjb21tb24iIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhbHBuPWFiYywxMjMiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBhbHBuPTEyMzQsYWJjZGUiIFwKQEAgLTc1ODEsNTcgKzc4NTUsNjUgQEAKIAogIyBUZXN0cyBmb3Iga2V5VXNhZ2UgaW4gbGVhZiBjZXJ0aWZpY2F0ZXMsIHBhcnQgMToKICMgc2VydmVyLXNpZGUgY2VydGlmaWNhdGUvc3VpdGUgc2VsZWN0aW9uCisjCisjIFRoaXMgaXMgb25seSBhYm91dCAxLjIgKGZvciAxLjMsIGFsbCBrZXkgZXhjaGFuZ2VzIHVzZSBzaWduYXR1cmVzKS4KKyMgSW4gNC4wIHRoaXMgd2lsbCBwcm9iYWJseSBnbyBhd2F5IGFzIGFsbCBUTFMgMS4yIGtleSBleGNoYW5nZXMgd2lsbCB1c2UKKyMgc2lnbmF0dXJlcyB0b28sIGZvbGxvd2luZyB0aGUgcmVtb3ZhbCBvZiBSU0EgIzgxNzAgYW5kIHN0YXRpYyBFQ0RIICM5MjAxLgogCi1ydW5fdGVzdCAgICAia2V5VXNhZ2Ugc3J2OiBSU0EsIGRpZ2l0YWxTaWduYXR1cmUgLT4gKEVDKURIRS1SU0EiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua3UtZHMuY3J0IiBcCitydW5fdGVzdCAgICAia2V5VXNhZ2Ugc3J2IDEuMjogUlNBLCBkaWdpdGFsU2lnbmF0dXJlIC0+IChFQylESEUtUlNBIiBcCisgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmt1LWRzLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMgVExTLVtFQ10qREhFLVJTQS1XSVRILSIKIAotcnVuX3Rlc3QgICAgImtleVVzYWdlIHNydjogUlNBLCBrZXlFbmNpcGhlcm1lbnQgLT4gUlNBIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmt1LWtlLmNydCIgXAorcnVuX3Rlc3QgICAgImtleVVzYWdlIHNydiAxLjI6IFJTQSwga2V5RW5jaXBoZXJtZW50IC0+IFJTQSIgXAorICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rdS1rZS5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUy1SU0EtV0lUSC0iCiAKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBzcnY6IFJTQSwga2V5QWdyZWVtZW50IC0+IGZhaWwiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua3Uta2EuY3J0IiBcCitydW5fdGVzdCAgICAia2V5VXNhZ2Ugc3J2IDEuMjogUlNBLCBrZXlBZ3JlZW1lbnQgLT4gZmFpbCIgXAorICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rdS1rYS5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLUMgIkNpcGhlcnN1aXRlIGlzICIKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRAotcnVuX3Rlc3QgICAgImtleVVzYWdlIHNydjogRUNEU0EsIGRpZ2l0YWxTaWduYXR1cmUgLT4gRUNESEUtRUNEU0EiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua3UtZHMuY3J0IiBcCitydW5fdGVzdCAgICAia2V5VXNhZ2Ugc3J2IDEuMjogRUNDLCBkaWdpdGFsU2lnbmF0dXJlIC0+IEVDREhFLUVDRFNBIiBcCisgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1Lmt1LWRzLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMgVExTLUVDREhFLUVDRFNBLVdJVEgtIgogCiAKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBzcnY6IEVDRFNBLCBrZXlBZ3JlZW1lbnQgLT4gRUNESC0iIFwKLSAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua3Uta2EuY3J0IiBcCitydW5fdGVzdCAgICAia2V5VXNhZ2Ugc3J2IDEuMjogRUNDLCBrZXlBZ3JlZW1lbnQgLT4gRUNESC0iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua3Uta2EuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJDaXBoZXJzdWl0ZSBpcyBUTFMtRUNESC0iCiAKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBzcnY6IEVDRFNBLCBrZXlFbmNpcGhlcm1lbnQgLT4gZmFpbCIgXAotICAgICAgICAgICAgIiRQX1NSViBmb3JjZV92ZXJzaW9uPXRsczEyIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rdS1rZS5jcnQiIFwKK3J1bl90ZXN0ICAgICJrZXlVc2FnZSBzcnYgMS4yOiBFQ0MsIGtleUVuY2lwaGVybWVudCAtPiBmYWlsIiBcCisgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1Lmt1LWtlLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtQyAiQ2lwaGVyc3VpdGUgaXMgIgogCiAjIFRlc3RzIGZvciBrZXlVc2FnZSBpbiBsZWFmIGNlcnRpZmljYXRlcywgcGFydCAyOgogIyBjbGllbnQtc2lkZSBjaGVja2luZyBvZiBzZXJ2ZXIgY2VydAorIworIyBUTFMgMS4zIHVzZXMgb25seSBzaWduYXR1cmUsIGJ1dCBmb3IgMS4yIGl0IGRlcGVuZHMgb24gdGhlIGtleSBleGNoYW5nZS4KKyMgSW4gNC4wIHRoaXMgd2lsbCBwcm9iYWJseSBjaGFuZ2UgYXMgYWxsIFRMUyAxLjIga2V5IGV4Y2hhbmdlcyB3aWxsIHVzZQorIyBzaWduYXR1cmVzIHRvbywgZm9sbG93aW5nIHRoZSByZW1vdmFsIG9mIFJTQSAjODE3MCBhbmQgc3RhdGljIEVDREggIzkyMDEuCiAKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGk6IERpZ2l0YWxTaWduYXR1cmUrS2V5RW5jaXBoZXJtZW50LCBSU0E6IE9LIiBcCi0gICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjIua3UtZHNfa2UuY3J0IiBcCitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpIDEuMjogRGlnaXRhbFNpZ25hdHVyZStLZXlFbmNpcGhlcm1lbnQsIFJTQTogT0siIFwKKyAgICAgICAgICAgICIkT19TUlYgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rdS1kc19rZS5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MSBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgMCBcCkBAIC03NjM5LDkgKzc5MjEsOSBAQAogICAgICAgICAgICAgLUMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIgXAogICAgICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUy0iCiAKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGk6IERpZ2l0YWxTaWduYXR1cmUrS2V5RW5jaXBoZXJtZW50LCBESEUtUlNBOiBPSyIgXAotICAgICAgICAgICAgIiRPX1NSViAtdGxzMV8yIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLmt1LWRzX2tlLmNydCIgXAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaSAxLjI6IERpZ2l0YWxTaWduYXR1cmUrS2V5RW5jaXBoZXJtZW50LCBESEUtUlNBOiBPSyIgXAorICAgICAgICAgICAgIiRPX1NSViAtdGxzMV8yIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmt1LWRzX2tlLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0xIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgMCBcCkBAIC03NjQ5LDkgKzc5MzEsOSBAQAogICAgICAgICAgICAgLUMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIgXAogICAgICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUy0iCiAKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGk6IEtleUVuY2lwaGVybWVudCwgUlNBOiBPSyIgXAotICAgICAgICAgICAgIiRPX1NSViAtdGxzMV8yIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLmt1LWtlLmNydCIgXAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaSAxLjI6IEtleUVuY2lwaGVybWVudCwgUlNBOiBPSyIgXAorICAgICAgICAgICAgIiRPX1NSViAtdGxzMV8yIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmt1LWtlLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0xIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCiAgICAgICAgICAgICAwIFwKQEAgLTc2NTksMzAgKzc5NDEsMzQgQEAKICAgICAgICAgICAgIC1DICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiIFwKICAgICAgICAgICAgIC1jICJDaXBoZXJzdWl0ZSBpcyBUTFMtIgogCi1ydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpOiBLZXlFbmNpcGhlcm1lbnQsIERIRS1SU0E6IGZhaWwiIFwKLSAgICAgICAgICAgICIkT19TUlYgLXRsczFfMiAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi5rdS1rZS5jcnQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MSBcCitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpIDEuMjogS2V5RW5jaXBoZXJtZW50LCBESEUtUlNBOiBmYWlsIChoYXJkKSIgXAorICAgICAgICAgICAgIiRPX1NSViAtdGxzMV8yIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmt1LWtlLmNydCIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAogICAgICAgICAgICAgLWMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIgXAotICAgICAgICAgICAgLUMgIkNpcGhlcnN1aXRlIGlzIFRMUy0iCisgICAgICAgICAgICAtQyAiQ2lwaGVyc3VpdGUgaXMgVExTLSIgXAorICAgICAgICAgICAgLWMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtYyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUga2V5VXNhZ2UgZXh0ZW5zaW9uIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9LRVlfVVNBR0UgLT4gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQKIAotcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaTogS2V5RW5jaXBoZXJtZW50LCBESEUtUlNBOiBmYWlsLCBzb2Z0IiBcCi0gICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjIua3Uta2UuY3J0IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTEgYXV0aF9tb2RlPW9wdGlvbmFsIFwKK3J1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGkgMS4yOiBLZXlFbmNpcGhlcm1lbnQsIERIRS1SU0E6IGZhaWwgKHNvZnQpIiBcCisgICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua3Uta2UuY3J0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAogICAgICAgICAgICAgLUMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIgXAogICAgICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUy0iIFwKKyAgICAgICAgICAgIC1DICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00MyIgXAogICAgICAgICAgICAgLWMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGtleVVzYWdlIGV4dGVuc2lvbiIKIAotcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaTogRGlnaXRhbFNpZ25hdHVyZSwgREhFLVJTQTogT0siIFwKLSAgICAgICAgICAgICIkT19TUlYgLXRsczFfMiAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi5rdS1kcy5jcnQiIFwKK3J1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGkgMS4yOiBEaWdpdGFsU2lnbmF0dXJlLCBESEUtUlNBOiBPSyIgXAorICAgICAgICAgICAgIiRPX1NSViAtdGxzMV8yIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmt1LWRzLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0xIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgMCBcCkBAIC03NjkwLDMzICs3OTc2LDQ3IEBACiAgICAgICAgICAgICAtQyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIiBcCiAgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMgVExTLSIKIAotcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaTogRGlnaXRhbFNpZ25hdHVyZSwgUlNBOiBmYWlsIiBcCi0gICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjIua3UtZHMuY3J0IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTEgXAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaSAxLjI6IERpZ2l0YWxTaWduYXR1cmUsIFJTQTogZmFpbCAoaGFyZCkiIFwKKyAgICAgICAgICAgICIkT19TUlYgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rdS1kcy5jcnQiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAogICAgICAgICAgICAgLWMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIgXAotICAgICAgICAgICAgLUMgIkNpcGhlcnN1aXRlIGlzIFRMUy0iCisgICAgICAgICAgICAtQyAiQ2lwaGVyc3VpdGUgaXMgVExTLSIgXAorICAgICAgICAgICAgLWMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtYyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUga2V5VXNhZ2UgZXh0ZW5zaW9uIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9LRVlfVVNBR0UgLT4gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQKIAotcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaTogRGlnaXRhbFNpZ25hdHVyZSwgUlNBOiBmYWlsLCBzb2Z0IiBcCi0gICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjIua3UtZHMuY3J0IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTEgYXV0aF9tb2RlPW9wdGlvbmFsIFwKK3J1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGkgMS4yOiBEaWdpdGFsU2lnbmF0dXJlLCBSU0E6IGZhaWwgKHNvZnQpIiBcCisgICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua3UtZHMuY3J0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCiAgICAgICAgICAgICAtQyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIiBcCiAgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMgVExTLSIgXAorICAgICAgICAgICAgLUMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCiAgICAgICAgICAgICAtYyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUga2V5VXNhZ2UgZXh0ZW5zaW9uIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaSAxLjM6IERpZ2l0YWxTaWduYXR1cmUsIFJTQTogT0siIFwKKyAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC10bHMxXzMgLW51bV90aWNrZXRzPTAgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2Lmt1LWRzLmNydCIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1DICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCisgICAgICAgICAgICAtQyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIiBcCisgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMiCisKK3JlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaSAxLjM6IERpZ2l0YWxTaWduYXR1cmUrS2V5RW5jaXBoZXJtZW50LCBSU0E6IE9LIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5rdS1kc19rZS5jcnQiIFwKKyAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC10bHMxXzMgLW51bV90aWNrZXRzPTAgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2Lmt1LWRzX2tlLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCkBAIC03NzI0LDM1ICs4MDI0LDM4IEBACiAgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaSAxLjM6IEtleUVuY2lwaGVybWVudCwgUlNBOiBmYWlsIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5rdS1rZS5jcnQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MSIgXAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpIDEuMzogS2V5RW5jaXBoZXJtZW50LCBSU0E6IGZhaWwgKGhhcmQpIiBcCisgICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5rdS1rZS5jcnQiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAogICAgICAgICAgICAgLWMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIgXAotICAgICAgICAgICAgLUMgIkNpcGhlcnN1aXRlIGlzIgorICAgICAgICAgICAgLUMgIkNpcGhlcnN1aXRlIGlzIiBcCisgICAgICAgICAgICAtYyAic2VuZCBhbGVydCBsZXZlbD0yIG1lc3NhZ2U9NDMiIFwKKyAgICAgICAgICAgIC1jICIhIFVzYWdlIGRvZXMgbm90IG1hdGNoIHRoZSBrZXlVc2FnZSBleHRlbnNpb24iCisgICAgICAgICAgICAjIE1CRURUTFNfWDUwOV9CQURDRVJUX0tFWV9VU0FHRSAtPiBNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5TVVBQT1JURURfQ0VSVAogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGkgMS4zOiBLZXlBZ3JlZW1lbnQsIFJTQTogZmFpbCIgXAotICAgICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLXRsczFfMyAtbnVtX3RpY2tldHM9MCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYua3Uta2EuY3J0IiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTEiIFwKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaSAxLjM6IEtleUFncmVlbWVudCwgUlNBOiBmYWlsIChoYXJkKSIgXAorICAgICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLXRsczFfMyAtbnVtX3RpY2tldHM9MCAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYua3Uta2EuY3J0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKICAgICAgICAgICAgIC1jICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiIFwKLSAgICAgICAgICAgIC1DICJDaXBoZXJzdWl0ZSBpcyIKKyAgICAgICAgICAgIC1DICJDaXBoZXJzdWl0ZSBpcyIgXAorICAgICAgICAgICAgLWMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtYyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUga2V5VXNhZ2UgZXh0ZW5zaW9uIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9LRVlfVVNBR0UgLT4gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGkgMS4zOiBEaWdpdGFsU2lnbmF0dXJlLCBFQ0RTQTogT0siIFwKLSAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC10bHMxXzMgLW51bV90aWNrZXRzPTAgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUua3UtZHMuY3J0IiBcCisgICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1Lmt1LWRzLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCkBAIC03NzYwLDE2MSArODA2MywyMzAgQEAKICAgICAgICAgICAgIC1jICJDaXBoZXJzdWl0ZSBpcyIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1ydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpIDEuMzogS2V5RW5jaXBoZXJtZW50LCBFQ0RTQTogZmFpbCIgXAotICAgICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLXRsczFfMyAtbnVtX3RpY2tldHM9MCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5rdS1rZS5jcnQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MSIgXAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpIDEuMzogS2V5RW5jaXBoZXJtZW50LCBFQ0RTQTogZmFpbCAoaGFyZCkiIFwKKyAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC10bHMxXzMgLW51bV90aWNrZXRzPTAgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua3Uta2UuY3J0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKICAgICAgICAgICAgIC1jICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiIFwKLSAgICAgICAgICAgIC1DICJDaXBoZXJzdWl0ZSBpcyIKKyAgICAgICAgICAgIC1DICJDaXBoZXJzdWl0ZSBpcyIgXAorICAgICAgICAgICAgLWMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtYyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUga2V5VXNhZ2UgZXh0ZW5zaW9uIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9LRVlfVVNBR0UgLT4gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1ydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpIDEuMzogS2V5QWdyZWVtZW50LCBFQ0RTQTogZmFpbCIgXAotICAgICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLXRsczFfMyAtbnVtX3RpY2tldHM9MCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5rdS1rYS5jcnQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MSIgXAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpIDEuMzogS2V5QWdyZWVtZW50LCBFQ0RTQTogZmFpbCAoaGFyZCkiIFwKKyAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC10bHMxXzMgLW51bV90aWNrZXRzPTAgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua3Uta2EuY3J0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKICAgICAgICAgICAgIC1jICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiIFwKLSAgICAgICAgICAgIC1DICJDaXBoZXJzdWl0ZSBpcyIKKyAgICAgICAgICAgIC1DICJDaXBoZXJzdWl0ZSBpcyIgXAorICAgICAgICAgICAgLWMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtYyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUga2V5VXNhZ2UgZXh0ZW5zaW9uIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9LRVlfVVNBR0UgLT4gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQKIAogIyBUZXN0cyBmb3Iga2V5VXNhZ2UgaW4gbGVhZiBjZXJ0aWZpY2F0ZXMsIHBhcnQgMzoKICMgc2VydmVyLXNpZGUgY2hlY2tpbmcgb2YgY2xpZW50IGNlcnQKKyMKKyMgSGVyZSwgYm90aCAxLjIgYW5kIDEuMyBvbmx5IHVzZSBzaWduYXR1cmVzLgogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGktYXV0aDogUlNBLCBEaWdpdGFsU2lnbmF0dXJlOiBPSyIgXAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaS1hdXRoIDEuMjogUlNBLCBEaWdpdGFsU2lnbmF0dXJlOiBPSyIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGF1dGhfbW9kZT1vcHRpb25hbCIgXAotICAgICAgICAgICAgIiRPX0NMSSAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi5rdS1kcy5jcnQiIFwKKyAgICAgICAgICAgICIkT19DTEkgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rdS1kcy5jcnQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCiAgICAgICAgICAgICAtUyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAogICAgICAgICAgICAgLVMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCi1ydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpLWF1dGg6IFJTQSwgS2V5RW5jaXBoZXJtZW50OiBmYWlsIChzb2Z0KSIgXAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaS1hdXRoIDEuMjogUlNBLCBEaWdpdGFsU2lnbmF0dXJlK0tleUVuY2lwaGVybWVudDogT0siIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MSBhdXRoX21vZGU9b3B0aW9uYWwiIFwKLSAgICAgICAgICAgICIkT19DTEkgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjIua3Uta2UuY3J0IiBcCisgICAgICAgICAgICAiJE9fQ0xJIC10bHMxXzIgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua3UtZHNfa2UuY3J0IiBcCiAgICAgICAgICAgICAwIFwKLSAgICAgICAgICAgIC1zICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCisgICAgICAgICAgICAtcyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKKyAgICAgICAgICAgIC1TICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCiAgICAgICAgICAgICAtUyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGktYXV0aDogUlNBLCBLZXlFbmNpcGhlcm1lbnQ6IGZhaWwgKGhhcmQpIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJE9fQ0xJIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLmt1LWtlLmNydCIgXAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaS1hdXRoIDEuMjogUlNBLCBLZXlFbmNpcGhlcm1lbnQ6IGZhaWwgKHNvZnQpIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCisgICAgICAgICAgICAiJE9fQ0xJIC10bHMxXzIgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua3Uta2UuY3J0IiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCisgICAgICAgICAgICAtUyAic2VuZCBhbGVydCBsZXZlbD0yIG1lc3NhZ2U9NDMiIFwKKyAgICAgICAgICAgIC1zICIhIFVzYWdlIGRvZXMgbm90IG1hdGNoIHRoZSBrZXlVc2FnZSBleHRlbnNpb24iIFwKKyAgICAgICAgICAgIC1TICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiCisKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaS1hdXRoIDEuMjogUlNBLCBLZXlFbmNpcGhlcm1lbnQ6IGZhaWwgKGhhcmQpIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgZm9yY2VfdmVyc2lvbj10bHMxMiBhdXRoX21vZGU9cmVxdWlyZWQiIFwKKyAgICAgICAgICAgICIkT19DTEkgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rdS1rZS5jcnQiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLXMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKKyAgICAgICAgICAgIC1zICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00MyIgXAorICAgICAgICAgICAgLXMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGtleVVzYWdlIGV4dGVuc2lvbiIgXAogICAgICAgICAgICAgLXMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIKKyAgICAgICAgICAgICMgTUJFRFRMU19YNTA5X0JBRENFUlRfS0VZX1VTQUdFIC0+IE1CRURUTFNfU1NMX0FMRVJUX01TR19VTlNVUFBPUlRFRF9DRVJUCiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgotcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaS1hdXRoOiBFQ0RTQSwgRGlnaXRhbFNpZ25hdHVyZTogT0siIFwKK3J1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGktYXV0aCAxLjI6IEVDRFNBLCBEaWdpdGFsU2lnbmF0dXJlOiBPSyIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGF1dGhfbW9kZT1vcHRpb25hbCIgXAotICAgICAgICAgICAgIiRPX0NMSSAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5rdS1kcy5jcnQiIFwKKyAgICAgICAgICAgICIkT19DTEkgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rdS1kcy5jcnQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgIlZlcmlmeWluZyBwZWVyIFguNTA5IGNlcnRpZmljYXRlLi4uIG9rIiBcCiAgICAgICAgICAgICAtUyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAogICAgICAgICAgICAgLVMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCi1ydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpLWF1dGg6IEVDRFNBLCBLZXlBZ3JlZW1lbnQ6IGZhaWwgKHNvZnQpIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJE9fQ0xJIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1Lmt1LWthLmNydCIgXAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaS1hdXRoIDEuMjogRUNEU0EsIEtleUFncmVlbWVudDogZmFpbCAoc29mdCkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKKyAgICAgICAgICAgICIkT19DTEkgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rdS1rYS5jcnQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKKyAgICAgICAgICAgIC1TICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00MyIgXAorICAgICAgICAgICAgLXMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGtleVVzYWdlIGV4dGVuc2lvbiIgXAogICAgICAgICAgICAgLVMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIKIAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpLWF1dGggMS4yOiBFQ0RTQSwgS2V5QWdyZWVtZW50OiBmYWlsIChoYXJkKSIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAorICAgICAgICAgICAgIiRPX0NMSSAtdGxzMV8yIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1Lmt1LWthLmNydCIgXAorICAgICAgICAgICAgMSBcCisgICAgICAgICAgICAtcyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAorICAgICAgICAgICAgLXMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtcyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUga2V5VXNhZ2UgZXh0ZW5zaW9uIiBcCisgICAgICAgICAgICAtcyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9LRVlfVVNBR0UgLT4gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQKKwogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGktYXV0aCAxLjM6IFJTQSwgRGlnaXRhbFNpZ25hdHVyZTogT0siIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MSBmb3JjZV92ZXJzaW9uPXRsczEzIGF1dGhfbW9kZT1vcHRpb25hbCIgXAotICAgICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2Lmt1LWRzLmNydCIgXAorICAgICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2Lmt1LWRzLmNydCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKICAgICAgICAgICAgIC1TICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCiAgICAgICAgICAgICAtUyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGktYXV0aCAxLjM6IFJTQSwgS2V5RW5jaXBoZXJtZW50OiBmYWlsIChzb2Z0KSIgXAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpLWF1dGggMS4zOiBSU0EsIERpZ2l0YWxTaWduYXR1cmUrS2V5RW5jaXBoZXJtZW50OiBPSyIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGZvcmNlX3ZlcnNpb249dGxzMTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYua3Uta2UuY3J0IiBcCisgICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYua3UtZHNfa2UuY3J0IiBcCiAgICAgICAgICAgICAwIFwKLSAgICAgICAgICAgIC1zICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCisgICAgICAgICAgICAtcyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKKyAgICAgICAgICAgIC1TICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCiAgICAgICAgICAgICAtUyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaS1hdXRoIDEuMzogUlNBLCBLZXlFbmNpcGhlcm1lbnQ6IGZhaWwgKHNvZnQpIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgZm9yY2VfdmVyc2lvbj10bHMxMyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKKyAgICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5rdS1rZS5jcnQiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLXMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKKyAgICAgICAgICAgIC1TICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00MyIgXAorICAgICAgICAgICAgLXMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGtleVVzYWdlIGV4dGVuc2lvbiIgXAorICAgICAgICAgICAgLVMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIKKworcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpLWF1dGggMS4zOiBSU0EsIEtleUVuY2lwaGVybWVudDogZmFpbCAoaGFyZCkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBmb3JjZV92ZXJzaW9uPXRsczEzIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAorICAgICAgICAgICAgIiRQX0NMSSBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2Lmt1LWtlLmNydCIgXAorICAgICAgICAgICAgMSBcCisgICAgICAgICAgICAtcyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAorICAgICAgICAgICAgLXMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIgXAorICAgICAgICAgICAgLXMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtcyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUga2V5VXNhZ2UgZXh0ZW5zaW9uIiBcCisgICAgICAgICAgICAtcyAiISBtYmVkdGxzX3NzbF9oYW5kc2hha2UgcmV0dXJuZWQiCisgICAgICAgICAgICAjIE1CRURUTFNfWDUwOV9CQURDRVJUX0tFWV9VU0FHRSAtPiBNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5TVVBQT1JURURfQ0VSVAorCityZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJrZXlVc2FnZSBjbGktYXV0aCAxLjM6IEVDRFNBLCBEaWdpdGFsU2lnbmF0dXJlOiBPSyIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGZvcmNlX3ZlcnNpb249dGxzMTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5rdS1kcy5jcnQiIFwKKyAgICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1Lmt1LWRzLmNydCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiVmVyaWZ5aW5nIHBlZXIgWC41MDkgY2VydGlmaWNhdGUuLi4gb2siIFwKICAgICAgICAgICAgIC1TICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCiAgICAgICAgICAgICAtUyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgImtleVVzYWdlIGNsaS1hdXRoIDEuMzogRUNEU0EsIEtleUFncmVlbWVudDogZmFpbCAoc29mdCkiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MSBmb3JjZV92ZXJzaW9uPXRsczEzIGF1dGhfbW9kZT1vcHRpb25hbCIgXAotICAgICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUua3Uta2EuY3J0IiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgZm9yY2VfdmVyc2lvbj10bHMxMyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKKyAgICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1Lmt1LWthLmNydCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAorICAgICAgICAgICAgLXMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGtleVVzYWdlIGV4dGVuc2lvbiIgXAogICAgICAgICAgICAgLVMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIKIAorcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECitydW5fdGVzdCAgICAia2V5VXNhZ2UgY2xpLWF1dGggMS4zOiBFQ0RTQSwgS2V5QWdyZWVtZW50OiBmYWlsIChoYXJkKSIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIGZvcmNlX3ZlcnNpb249dGxzMTMgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rdS1rYS5jcnQiIFwKKyAgICAgICAgICAgIDEgXAorICAgICAgICAgICAgLXMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKKyAgICAgICAgICAgIC1zICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiIFwKKyAgICAgICAgICAgIC1zICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00MyIgXAorICAgICAgICAgICAgLXMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGtleVVzYWdlIGV4dGVuc2lvbiIgXAorICAgICAgICAgICAgLXMgIiEgbWJlZHRsc19zc2xfaGFuZHNoYWtlIHJldHVybmVkIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9LRVlfVVNBR0UgLT4gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQKKwogIyBUZXN0cyBmb3IgZXh0ZW5kZWRLZXlVc2FnZSwgcGFydCAxOiBzZXJ2ZXItc2lkZSBjZXJ0aWZpY2F0ZS9zdWl0ZSBzZWxlY3Rpb24KIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2Ugc3J2OiBzZXJ2ZXJBdXRoIC0+IE9LIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2LmNydCIgXAorICAgICAgICAgICAgIiRQX1NSViBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuZWt1LXNydi5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkiIFwKICAgICAgICAgICAgIDAKIAotcmVxdWlyZXNfa2V5X2V4Y2hhbmdlX3dpdGhfY2VydF9pbl90bHMxMl9vcl90bHMxM19lbmFibGVkCiBydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2Ugc3J2OiBzZXJ2ZXJBdXRoLGNsaWVudEF1dGggLT4gT0siIFwKLSAgICAgICAgICAgICIkUF9TUlYga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1zcnYuY3J0IiBcCisgICAgICAgICAgICAiJFBfU1JWIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5la3Utc3J2LmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSIgXAogICAgICAgICAgICAgMAogCi1yZXF1aXJlc19rZXlfZXhjaGFuZ2Vfd2l0aF9jZXJ0X2luX3RsczEyX29yX3RsczEzX2VuYWJsZWQKIHJ1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBzcnY6IGNvZGVTaWduLGFueUVLVSAtPiBPSyIgXAotICAgICAgICAgICAgIiRQX1NSViBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LWNzX2FueS5jcnQiIFwKKyAgICAgICAgICAgICIkUF9TUlYga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1jc19hbnkuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIiBcCiAgICAgICAgICAgICAwCiAKLXJlcXVpcmVzX2tleV9leGNoYW5nZV93aXRoX2NlcnRfaW5fdGxzMTJfb3JfdGxzMTNfZW5hYmxlZAogcnVuX3Rlc3QgICAgImV4dEtleVVzYWdlIHNydjogY29kZVNpZ24gLT4gZmFpbCIgXAotICAgICAgICAgICAgIiRQX1NSViBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LWNsaS5jcnQiIFwKKyAgICAgICAgICAgICIkUF9TUlYga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1jbGkuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIiBcCiAgICAgICAgICAgICAxCiAKICMgVGVzdHMgZm9yIGV4dGVuZGVkS2V5VXNhZ2UsIHBhcnQgMjogY2xpZW50LXNpZGUgY2hlY2tpbmcgb2Ygc2VydmVyIGNlcnQKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCi1ydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpOiBzZXJ2ZXJBdXRoIC0+IE9LIiBcCi0gICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LXNydi5jcnQiIFwKK3J1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGkgMS4yOiBzZXJ2ZXJBdXRoIC0+IE9LIiBcCisgICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuZWt1LXNydi5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXApAQCAtNzkyMiw5ICs4Mjk0LDkgQEAKICAgICAgICAgICAgIC1jICJDaXBoZXJzdWl0ZSBpcyBUTFMtIgogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKLXJ1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGk6IHNlcnZlckF1dGgsY2xpZW50QXV0aCAtPiBPSyIgXAotICAgICAgICAgICAgIiRPX1NSViAtdGxzMV8yIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1zcnZfY2xpLmNydCIgXAorcnVuX3Rlc3QgICAgImV4dEtleVVzYWdlIGNsaSAxLjI6IHNlcnZlckF1dGgsY2xpZW50QXV0aCAtPiBPSyIgXAorICAgICAgICAgICAgIiRPX1NSViAtdGxzMV8yIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1zcnZfY2xpLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCkBAIC03OTMyLDkgKzgzMDQsOSBAQAogICAgICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIFRMUy0iCiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgotcnVuX3Rlc3QgICAgImV4dEtleVVzYWdlIGNsaTogY29kZVNpZ24sYW55RUtVIC0+IE9LIiBcCi0gICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LWNzX2FueS5jcnQiIFwKK3J1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGkgMS4yOiBjb2RlU2lnbixhbnlFS1UgLT4gT0siIFwKKyAgICAgICAgICAgICIkT19TUlYgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5la3UtY3NfYW55LmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCkBAIC03OTQyLDIxICs4MzE0LDM2IEBACiAgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMgVExTLSIKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCi1ydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpOiBjb2RlU2lnbiAtPiBmYWlsIiBcCi0gICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LWNzLmNydCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0xIiBcCitydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpIDEuMjogY29kZVNpZ24gLT4gZmFpbCAoc29mdCkiIFwKKyAgICAgICAgICAgICIkT19TUlYgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5la3UtY3MuY3J0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1jICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCisgICAgICAgICAgICAtQyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIiBcCisgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMgVExTLSIgXAorICAgICAgICAgICAgLUMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtYyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUgZXh0ZW5kZWRLZXlVc2FnZSBleHRlbnNpb24iCisgICAgICAgICAgICAjIE1CRURUTFNfWDUwOV9CQURDRVJUX0VYVF9LRVlfVVNBR0UgIC0+IE1CRURUTFNfU1NMX0FMRVJUX01TR19VTlNVUFBPUlRFRF9DRVJUCisKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgorcnVuX3Rlc3QgICAgImV4dEtleVVzYWdlIGNsaSAxLjI6IGNvZGVTaWduIC0+IGZhaWwgKGhhcmQpIiBcCisgICAgICAgICAgICAiJE9fU1JWIC10bHMxXzIgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuZWt1LWNzLmNydCIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCiAgICAgICAgICAgICAtYyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIiBcCi0gICAgICAgICAgICAtQyAiQ2lwaGVyc3VpdGUgaXMgVExTLSIKKyAgICAgICAgICAgIC1DICJDaXBoZXJzdWl0ZSBpcyBUTFMtIiBcCisgICAgICAgICAgICAtYyAic2VuZCBhbGVydCBsZXZlbD0yIG1lc3NhZ2U9NDMiIFwKKyAgICAgICAgICAgIC1jICIhIFVzYWdlIGRvZXMgbm90IG1hdGNoIHRoZSBleHRlbmRlZEtleVVzYWdlIGV4dGVuc2lvbiIKKyAgICAgICAgICAgICMgTUJFRFRMU19YNTA5X0JBRENFUlRfRVhUX0tFWV9VU0FHRSAgLT4gTUJFRFRMU19TU0xfQUxFUlRfTVNHX1VOU1VQUE9SVEVEX0NFUlQKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGkgMS4zOiBzZXJ2ZXJBdXRoIC0+IE9LIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1zcnYuY3J0IiBcCisgICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1zcnYuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKQEAgLTc5NjQsMTEgKzgzNTEsMTAgQEAKICAgICAgICAgICAgIC1jICJDaXBoZXJzdWl0ZSBpcyIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGkgMS4zOiBzZXJ2ZXJBdXRoLGNsaWVudEF1dGggLT4gT0siIFwKLSAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC10bHMxXzMgLW51bV90aWNrZXRzPTAgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LXNydl9jbGkuY3J0IiBcCisgICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1zcnZfY2xpLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCkBAIC03OTc2LDExICs4MzYyLDEwIEBACiAgICAgICAgICAgICAtYyAiQ2lwaGVyc3VpdGUgaXMiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpIDEuMzogY29kZVNpZ24sYW55RUtVIC0+IE9LIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1jc19hbnkuY3J0IiBcCisgICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1jc19hbnkuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKQEAgLTc5ODgsMTA4ICs4MzczLDEyNiBAQAogICAgICAgICAgICAgLWMgIkNpcGhlcnN1aXRlIGlzIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJ1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGkgMS4zOiBjb2RlU2lnbiAtPiBmYWlsIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtdGxzMV8zIC1udW1fdGlja2V0cz0wIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1jcy5jcnQiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MSIgXAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECitydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpIDEuMzogY29kZVNpZ24gLT4gZmFpbCAoaGFyZCkiIFwKKyAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC10bHMxXzMgLW51bV90aWNrZXRzPTAgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuZWt1LWNzLmNydCIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCiAgICAgICAgICAgICAtYyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIiBcCi0gICAgICAgICAgICAtQyAiQ2lwaGVyc3VpdGUgaXMiCisgICAgICAgICAgICAtQyAiQ2lwaGVyc3VpdGUgaXMiIFwKKyAgICAgICAgICAgIC1jICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00MyIgXAorICAgICAgICAgICAgLWMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGV4dGVuZGVkS2V5VXNhZ2UgZXh0ZW5zaW9uIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9FWFRfS0VZX1VTQUdFICAtPiBNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5TVVBQT1JURURfQ0VSVAogCiAjIFRlc3RzIGZvciBleHRlbmRlZEtleVVzYWdlLCBwYXJ0IDM6IHNlcnZlci1zaWRlIGNoZWNraW5nIG9mIGNsaWVudCBjZXJ0CiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgotcnVuX3Rlc3QgICAgImV4dEtleVVzYWdlIGNsaS1hdXRoOiBjbGllbnRBdXRoIC0+IE9LIiBcCitydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpLWF1dGggMS4yOiBjbGllbnRBdXRoIC0+IE9LIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJE9fQ0xJIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1jbGkuY3J0IiBcCisgICAgICAgICAgICAiJE9fQ0xJIC10bHMxXzIgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuZWt1LWNsaS5jcnQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKICAgICAgICAgICAgIC1TICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiCiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgotcnVuX3Rlc3QgICAgImV4dEtleVVzYWdlIGNsaS1hdXRoOiBzZXJ2ZXJBdXRoLGNsaWVudEF1dGggLT4gT0siIFwKK3J1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGktYXV0aCAxLjI6IHNlcnZlckF1dGgsY2xpZW50QXV0aCAtPiBPSyIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGF1dGhfbW9kZT1vcHRpb25hbCIgXAotICAgICAgICAgICAgIiRPX0NMSSAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQiIFwKKyAgICAgICAgICAgICIkT19DTEkgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKICAgICAgICAgICAgIC1TICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiCiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgotcnVuX3Rlc3QgICAgImV4dEtleVVzYWdlIGNsaS1hdXRoOiBjb2RlU2lnbixhbnlFS1UgLT4gT0siIFwKK3J1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGktYXV0aCAxLjI6IGNvZGVTaWduLGFueUVLVSAtPiBPSyIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGF1dGhfbW9kZT1vcHRpb25hbCIgXAotICAgICAgICAgICAgIiRPX0NMSSAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5la3UtY3NfYW55LmNydCIgXAorICAgICAgICAgICAgIiRPX0NMSSAtdGxzMV8yIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1jc19hbnkuY3J0IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCiAgICAgICAgICAgICAtUyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKLXJ1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGktYXV0aDogY29kZVNpZ24gLT4gZmFpbCAoc29mdCkiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MSBhdXRoX21vZGU9b3B0aW9uYWwiIFwKLSAgICAgICAgICAgICIkT19DTEkgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LWNzLmNydCIgXAorcnVuX3Rlc3QgICAgImV4dEtleVVzYWdlIGNsaS1hdXRoIDEuMjogY29kZVNpZ24gLT4gZmFpbCAoc29mdCkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKKyAgICAgICAgICAgICIkT19DTEkgLXRsczFfMiAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5la3UtY3MuY3J0IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJiYWQgY2VydGlmaWNhdGUgKHVzYWdlIGV4dGVuc2lvbnMpIiBcCi0gICAgICAgICAgICAtUyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgorICAgICAgICAgICAgLVMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtcyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUgZXh0ZW5kZWRLZXlVc2FnZSBleHRlbnNpb24iIFwKKyAgICAgICAgICAgIC1TICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiIFwKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCi1ydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpLWF1dGg6IGNvZGVTaWduIC0+IGZhaWwgKGhhcmQpIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCi0gICAgICAgICAgICAiJE9fQ0xJIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1jcy5jcnQiIFwKK3J1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGktYXV0aCAxLjI6IGNvZGVTaWduIC0+IGZhaWwgKGhhcmQpIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCisgICAgICAgICAgICAiJE9fQ0xJIC10bHMxXzIgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuZWt1LWNzLmNydCIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtcyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAorICAgICAgICAgICAgLXMgInNlbmQgYWxlcnQgbGV2ZWw9MiBtZXNzYWdlPTQzIiBcCisgICAgICAgICAgICAtcyAiISBVc2FnZSBkb2VzIG5vdCBtYXRjaCB0aGUgZXh0ZW5kZWRLZXlVc2FnZSBleHRlbnNpb24iIFwKICAgICAgICAgICAgIC1zICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiCisgICAgICAgICAgICAjIE1CRURUTFNfWDUwOV9CQURDRVJUX0VYVF9LRVlfVVNBR0UgIC0+IE1CRURUTFNfU1NMX0FMRVJUX01TR19VTlNVUFBPUlRFRF9DRVJUCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpLWF1dGggMS4zOiBjbGllbnRBdXRoIC0+IE9LIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTEgZm9yY2VfdmVyc2lvbj10bHMxMyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKLSAgICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCi0gICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1jbGkuY3J0IiBcCisgICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5la3UtY2xpLmNydCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAogICAgICAgICAgICAgLVMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGktYXV0aCAxLjM6IHNlcnZlckF1dGgsY2xpZW50QXV0aCAtPiBPSyIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGZvcmNlX3ZlcnNpb249dGxzMTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQiIFwKKyAgICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1zcnZfY2xpLmNydCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtUyAiYmFkIGNlcnRpZmljYXRlICh1c2FnZSBleHRlbnNpb25zKSIgXAogICAgICAgICAgICAgLVMgIlByb2Nlc3Npbmcgb2YgdGhlIENlcnRpZmljYXRlIGhhbmRzaGFrZSBtZXNzYWdlIGZhaWxlZCIKIAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGktYXV0aCAxLjM6IGNvZGVTaWduLGFueUVLVSAtPiBPSyIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGZvcmNlX3ZlcnNpb249dGxzMTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5la3UtY3NfYW55LmNydCIgXAorICAgICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuZWt1LWNzX2FueS5jcnQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLVMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKICAgICAgICAgICAgIC1TICJQcm9jZXNzaW5nIG9mIHRoZSBDZXJ0aWZpY2F0ZSBoYW5kc2hha2UgbWVzc2FnZSBmYWlsZWQiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiZXh0S2V5VXNhZ2UgY2xpLWF1dGggMS4zOiBjb2RlU2lnbiAtPiBmYWlsIChzb2Z0KSIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0xIGZvcmNlX3ZlcnNpb249dGxzMTMgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAotICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyNS5la3UtY3MuY3J0IiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgZm9yY2VfdmVyc2lvbj10bHMxMyBhdXRoX21vZGU9b3B0aW9uYWwiIFwKKyAgICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1jcy5jcnQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKKyAgICAgICAgICAgIC1TICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00MyIgXAorICAgICAgICAgICAgLXMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGV4dGVuZGVkS2V5VXNhZ2UgZXh0ZW5zaW9uIiBcCiAgICAgICAgICAgICAtUyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgogCityZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3J1bl90ZXN0ICAgICJleHRLZXlVc2FnZSBjbGktYXV0aCAxLjM6IGNvZGVTaWduIC0+IGZhaWwgKGhhcmQpIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgZm9yY2VfdmVyc2lvbj10bHMxMyBhdXRoX21vZGU9cmVxdWlyZWQiIFwKKyAgICAgICAgICAgICIkUF9DTEkga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmVrdS1jcy5jcnQiIFwKKyAgICAgICAgICAgIDEgXAorICAgICAgICAgICAgLXMgImJhZCBjZXJ0aWZpY2F0ZSAodXNhZ2UgZXh0ZW5zaW9ucykiIFwKKyAgICAgICAgICAgIC1zICJzZW5kIGFsZXJ0IGxldmVsPTIgbWVzc2FnZT00MyIgXAorICAgICAgICAgICAgLXMgIiEgVXNhZ2UgZG9lcyBub3QgbWF0Y2ggdGhlIGV4dGVuZGVkS2V5VXNhZ2UgZXh0ZW5zaW9uIiBcCisgICAgICAgICAgICAtcyAiUHJvY2Vzc2luZyBvZiB0aGUgQ2VydGlmaWNhdGUgaGFuZHNoYWtlIG1lc3NhZ2UgZmFpbGVkIgorICAgICAgICAgICAgIyBNQkVEVExTX1g1MDlfQkFEQ0VSVF9FWFRfS0VZX1VTQUdFICAtPiBNQkVEVExTX1NTTF9BTEVSVF9NU0dfVU5TVVBQT1JURURfQ0VSVAorCiAjIFRlc3RzIGZvciBESE0gcGFyYW1ldGVycyBsb2FkaW5nCiAKIHJ1bl90ZXN0ICAgICJESE0gcGFyYW1ldGVyczogcmVmZXJlbmNlIiBcCkBAIC04MTAxLDcgKzg1MDQsNyBAQAogICAgICAgICAgICAgLWMgInZhbHVlIG9mICdESE06IEcgJyAoMiBiaXRzKSIKIAogcnVuX3Rlc3QgICAgIkRITSBwYXJhbWV0ZXJzOiBvdGhlciBwYXJhbWV0ZXJzIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRobV9maWxlPWRhdGFfZmlsZXMvZGhwYXJhbXMucGVtIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRobV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGhwYXJhbXMucGVtIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKICAgICAgICAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MyIgXAogICAgICAgICAgICAgMCBcCkBAIC04MTI1LDQ5ICs4NTI4LDQ5IEBACiAgICAgICAgICAgICAtQyAiREhNIHByaW1lIHRvbyBzaG9ydDoiCiAKIHJ1bl90ZXN0ICAgICJESE0gc2l6ZTogc2VydmVyIDEwMjQsIGNsaWVudCBkZWZhdWx0LCBPSyIgXAotICAgICAgICAgICAgIiRQX1NSViBkaG1fZmlsZT1kYXRhX2ZpbGVzL2RocGFyYW1zLnBlbSIgXAorICAgICAgICAgICAgIiRQX1NSViBkaG1fZmlsZT0kREFUQV9GSUxFU19QQVRIL2RocGFyYW1zLnBlbSIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCiAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2xldmVsPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgIkRITSBwcmltZSB0b28gc2hvcnQ6IgogCiBydW5fdGVzdCAgICAiREhNIHNpemU6IHNlcnZlciA5OTksIGNsaWVudCA5OTksIE9LIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRobV9maWxlPWRhdGFfZmlsZXMvZGguOTk5LnBlbSIgXAorICAgICAgICAgICAgIiRQX1NSViBkaG1fZmlsZT0kREFUQV9GSUxFU19QQVRIL2RoLjk5OS5wZW0iIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLURIRS1SU0EtV0lUSC1BRVMtMTI4LUNCQy1TSEEgXAogICAgICAgICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0xIGRobWxlbj05OTkiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgIkRITSBwcmltZSB0b28gc2hvcnQ6IgogCiBydW5fdGVzdCAgICAiREhNIHNpemU6IHNlcnZlciAxMDAwLCBjbGllbnQgMTAwMCwgT0siIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGhtX2ZpbGU9ZGF0YV9maWxlcy9kaC4xMDAwLnBlbSIgXAorICAgICAgICAgICAgIiRQX1NSViBkaG1fZmlsZT0kREFUQV9GSUxFU19QQVRIL2RoLjEwMDAucGVtIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKICAgICAgICAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSBkaG1sZW49MTAwMCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAiREhNIHByaW1lIHRvbyBzaG9ydDoiCiAKIHJ1bl90ZXN0ICAgICJESE0gc2l6ZTogc2VydmVyIDEwMDAsIGNsaWVudCBkZWZhdWx0LCByZWplY3RlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBkaG1fZmlsZT1kYXRhX2ZpbGVzL2RoLjEwMDAucGVtIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRobV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGguMTAwMC5wZW0iIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLURIRS1SU0EtV0lUSC1BRVMtMTI4LUNCQy1TSEEgXAogICAgICAgICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0xIiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJESE0gcHJpbWUgdG9vIHNob3J0OiIKIAogcnVuX3Rlc3QgICAgIkRITSBzaXplOiBzZXJ2ZXIgMTAwMCwgY2xpZW50IDEwMDEsIHJlamVjdGVkIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRobV9maWxlPWRhdGFfZmlsZXMvZGguMTAwMC5wZW0iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGhtX2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaC4xMDAwLnBlbSIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCiAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2xldmVsPTEgZGhtbGVuPTEwMDEiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgIkRITSBwcmltZSB0b28gc2hvcnQ6IgogCiBydW5fdGVzdCAgICAiREhNIHNpemU6IHNlcnZlciA5OTksIGNsaWVudCAxMDAwLCByZWplY3RlZCIgXAotICAgICAgICAgICAgIiRQX1NSViBkaG1fZmlsZT1kYXRhX2ZpbGVzL2RoLjk5OS5wZW0iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGhtX2ZpbGU9JERBVEFfRklMRVNfUEFUSC9kaC45OTkucGVtIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUlNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKICAgICAgICAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSBkaG1sZW49MTAwMCIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiREhNIHByaW1lIHRvbyBzaG9ydDoiCiAKIHJ1bl90ZXN0ICAgICJESE0gc2l6ZTogc2VydmVyIDk5OCwgY2xpZW50IDk5OSwgcmVqZWN0ZWQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGhtX2ZpbGU9ZGF0YV9maWxlcy9kaC45OTgucGVtIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRobV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZGguOTk4LnBlbSIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCiAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2xldmVsPTEgZGhtbGVuPTk5OSIgXAogICAgICAgICAgICAgMSBcCkBAIC04MTgzLDkgKzg1ODYsOSBAQAogIyBUZXN0cyBmb3IgUFNLIGNhbGxiYWNrCiAKIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IHBzaywgbm8gY2FsbGJhY2siIFwKLSAgICAgICAgICAgICIkUF9TUlYgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIiBcCisgICAgICAgICAgICAiJFBfU1JWIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKLSAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPWFiYzEyMyIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1TICJTU0wgLSBUaGUgaGFuZHNoYWtlIG5lZ290aWF0aW9uIGZhaWxlZCIgXAogICAgICAgICAgICAgLVMgIlNTTCAtIFVua25vd24gaWRlbnRpdHkgcmVjZWl2ZWQiIFwKQEAgLTgxOTMsOSArODU5Niw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IG9wYXF1ZSBwc2sgb24gY2xpZW50LCBubyBjYWxsYmFjayIgXAotICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28iIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIHBza19vcGFxdWU9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1TICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODIwNSw5ICs4NjA4LDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogb3BhcXVlIHBzayBvbiBjbGllbnQsIG5vIGNhbGxiYWNrLCBTSEEtMzg0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgcHNrX29wYXF1ZT0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLVMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04MjE3LDkgKzg2MjAsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiBvcGFxdWUgcHNrIG9uIGNsaWVudCwgbm8gY2FsbGJhY2ssIEVNUyIgXAotICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0xIGRlYnVnX2xldmVsPTMgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTEgZGVidWdfbGV2ZWw9MyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28iIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MSBkZWJ1Z19sZXZlbD0zIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIHBza19vcGFxdWU9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1zICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODIyOSw5ICs4NjMyLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogb3BhcXVlIHBzayBvbiBjbGllbnQsIG5vIGNhbGxiYWNrLCBTSEEtMzg0LCBFTVMiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MSBkZWJ1Z19sZXZlbD0zIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyIgXAorICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0xIGRlYnVnX2xldmVsPTMgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTEgZGVidWdfbGV2ZWw9MyBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTI1Ni1DQkMtU0hBMzg0IFwKLSAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPWFiYzEyMyBwc2tfb3BhcXVlPTEiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfb3BhcXVlPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtcyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTgyNDEsOSArODY0NCw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IG9wYXF1ZSByc2EtcHNrIG9uIGNsaWVudCwgbm8gY2FsbGJhY2siIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyIgXAorICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUlNBLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NiBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgcHNrX29wYXF1ZT0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLVMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04MjUzLDkgKzg2NTYsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiBvcGFxdWUgcnNhLXBzayBvbiBjbGllbnQsIG5vIGNhbGxiYWNrLCBTSEEtMzg0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVJTQS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIHBza19vcGFxdWU9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1TICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODI2NSw5ICs4NjY4LDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogb3BhcXVlIHJzYS1wc2sgb24gY2xpZW50LCBubyBjYWxsYmFjaywgRU1TIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTEgZGVidWdfbGV2ZWw9MyBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MSBkZWJ1Z19sZXZlbD0zIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0xIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVJTQS1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIHBza19vcGFxdWU9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1zICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODI3Nyw5ICs4NjgwLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogb3BhcXVlIHJzYS1wc2sgb24gY2xpZW50LCBubyBjYWxsYmFjaywgU0hBLTM4NCwgRU1TIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTEgZGVidWdfbGV2ZWw9MyBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MSBkZWJ1Z19sZXZlbD0zIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0xIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVJTQS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIHBza19vcGFxdWU9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1zICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODI4OSw5ICs4NjkyLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogb3BhcXVlIGVjZGhlLXBzayBvbiBjbGllbnQsIG5vIGNhbGxiYWNrIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NiBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgcHNrX29wYXF1ZT0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLVMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04MzAxLDkgKzg3MDQsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiBvcGFxdWUgZWNkaGUtcHNrIG9uIGNsaWVudCwgbm8gY2FsbGJhY2ssIFNIQS0zODQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyIgXAorICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtUFNLLVdJVEgtQUVTLTI1Ni1DQkMtU0hBMzg0IFwKLSAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPWFiYzEyMyBwc2tfb3BhcXVlPTEiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfb3BhcXVlPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtUyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTgzMTMsOSArODcxNiw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IG9wYXF1ZSBlY2RoZS1wc2sgb24gY2xpZW50LCBubyBjYWxsYmFjaywgRU1TIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTEgZGVidWdfbGV2ZWw9MyBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28iIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MSBkZWJ1Z19sZXZlbD0zIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0xIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgcHNrX29wYXF1ZT0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLXMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04MzI1LDkgKzg3MjgsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiBvcGFxdWUgZWNkaGUtcHNrIG9uIGNsaWVudCwgbm8gY2FsbGJhY2ssIFNIQS0zODQsIEVNUyIgXAotICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0xIGRlYnVnX2xldmVsPTMgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTEgZGVidWdfbGV2ZWw9MyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28iIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MSBkZWJ1Z19sZXZlbD0zIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIHBza19vcGFxdWU9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1zICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODMzNyw5ICs4NzQwLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogb3BhcXVlIGRoZS1wc2sgb24gY2xpZW50LCBubyBjYWxsYmFjayIgXAotICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28iIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBMjU2IFwKLSAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPWFiYzEyMyBwc2tfb3BhcXVlPTEiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfb3BhcXVlPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtUyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTgzNDksOSArODc1Miw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IG9wYXF1ZSBkaGUtcHNrIG9uIGNsaWVudCwgbm8gY2FsbGJhY2ssIFNIQS0zODQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyIgXAorICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgcHNrX29wYXF1ZT0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLVMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04MzYxLDkgKzg3NjQsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiBvcGFxdWUgZGhlLXBzayBvbiBjbGllbnQsIG5vIGNhbGxiYWNrLCBFTVMiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MSBkZWJ1Z19sZXZlbD0zIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyIgXAorICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0xIGRlYnVnX2xldmVsPTMgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTEgZGVidWdfbGV2ZWw9MyBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgcHNrX29wYXF1ZT0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLXMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04MzczLDkgKzg3NzYsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiBvcGFxdWUgZGhlLXBzayBvbiBjbGllbnQsIG5vIGNhbGxiYWNrLCBTSEEtMzg0LCBFTVMiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MSBkZWJ1Z19sZXZlbD0zIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyIgXAorICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0xIGRlYnVnX2xldmVsPTMgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTEgZGVidWdfbGV2ZWw9MyBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgcHNrX29wYXF1ZT0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLXMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04Mzg1LDkgKzg3ODgsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiByYXcgcHNrIG9uIGNsaWVudCwgc3RhdGljIG9wYXF1ZSBvbiBzZXJ2ZXIsIG5vIGNhbGxiYWNrIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1TICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODM5Nyw5ICs4ODAwLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IHBzayBvbiBjbGllbnQsIHN0YXRpYyBvcGFxdWUgb24gc2VydmVyLCBubyBjYWxsYmFjaywgU0hBLTM4NCIgXAotICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTI1Ni1DQkMtU0hBMzg0IiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjgiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtUyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTg0MDksMTAgKzg4MTIsMTAgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IHBzayBvbiBjbGllbnQsIHN0YXRpYyBvcGFxdWUgb24gc2VydmVyLCBubyBjYWxsYmFjaywgRU1TIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBcCiAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIGV4dGVuZGVkX21zPTEiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKLSAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPWFiYzEyMyBleHRlbmRlZF9tcz0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggZXh0ZW5kZWRfbXM9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1zICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODQyMiwxMCArODgyNSwxMCBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiByYXcgcHNrIG9uIGNsaWVudCwgc3RhdGljIG9wYXF1ZSBvbiBzZXJ2ZXIsIG5vIGNhbGxiYWNrLCBFTVMsIFNIQTM4NCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgXAogICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBleHRlbmRlZF9tcz0xIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgZXh0ZW5kZWRfbXM9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IGV4dGVuZGVkX21zPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtcyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTg0MzUsOSArODgzOCw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IHJhdyByc2EtcHNrIG9uIGNsaWVudCwgc3RhdGljIG9wYXF1ZSBvbiBzZXJ2ZXIsIG5vIGNhbGxiYWNrIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9NSBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1SU0EtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9NSBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1SU0EtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9NSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUlNBLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1TICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODQ0Nyw5ICs4ODUwLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IHJzYS1wc2sgb24gY2xpZW50LCBzdGF0aWMgb3BhcXVlIG9uIHNlcnZlciwgbm8gY2FsbGJhY2ssIFNIQS0zODQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVJTQS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVJTQS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1SU0EtUFNLLVdJVEgtQUVTLTI1Ni1DQkMtU0hBMzg0IFwKLSAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPWFiYzEyMyIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLVMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04NDU5LDEwICs4ODYyLDEwIEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IHJhdyByc2EtcHNrIG9uIGNsaWVudCwgc3RhdGljIG9wYXF1ZSBvbiBzZXJ2ZXIsIG5vIGNhbGxiYWNrLCBFTVMiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIFwKICAgICAgICAgICAgIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1SU0EtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIGV4dGVuZGVkX21zPTEiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUlNBLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgZXh0ZW5kZWRfbXM9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IGV4dGVuZGVkX21zPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtcyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTg0NzIsMTAgKzg4NzUsMTAgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IHJzYS1wc2sgb24gY2xpZW50LCBzdGF0aWMgb3BhcXVlIG9uIHNlcnZlciwgbm8gY2FsbGJhY2ssIEVNUywgU0hBMzg0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBcCiAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUlNBLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBleHRlbmRlZF9tcz0xIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVJTQS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIGV4dGVuZGVkX21zPTEiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBleHRlbmRlZF9tcz0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLXMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04NDg1LDkgKzg4ODgsOSBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiByYXcgZWNkaGUtcHNrIG9uIGNsaWVudCwgc3RhdGljIG9wYXF1ZSBvbiBzZXJ2ZXIsIG5vIGNhbGxiYWNrIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9NSBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD01IHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTUgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1TICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODQ5Nyw5ICs4OTAwLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IGVjZGhlLXBzayBvbiBjbGllbnQsIHN0YXRpYyBvcGFxdWUgb24gc2VydmVyLCBubyBjYWxsYmFjaywgU0hBLTM4NCIgXAotICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTEgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtUFNLLVdJVEgtQUVTLTI1Ni1DQkMtU0hBMzg0IiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MSBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjgiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtUyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTg1MDksMTAgKzg5MTIsMTAgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IGVjZGhlLXBzayBvbiBjbGllbnQsIHN0YXRpYyBvcGFxdWUgb24gc2VydmVyLCBubyBjYWxsYmFjaywgRU1TIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBcCiAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIGV4dGVuZGVkX21zPTEiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKLSAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPWFiYzEyMyBleHRlbmRlZF9tcz0xIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggZXh0ZW5kZWRfbXM9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1zICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODUyMiwxMCArODkyNSwxMCBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiByYXcgZWNkaGUtcHNrIG9uIGNsaWVudCwgc3RhdGljIG9wYXF1ZSBvbiBzZXJ2ZXIsIG5vIGNhbGxiYWNrLCBFTVMsIFNIQTM4NCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgXAogICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBleHRlbmRlZF9tcz0xIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgZXh0ZW5kZWRfbXM9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IGV4dGVuZGVkX21zPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtcyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTg1MzUsOSArODkzOCw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IHJhdyBkaGUtcHNrIG9uIGNsaWVudCwgc3RhdGljIG9wYXF1ZSBvbiBzZXJ2ZXIsIG5vIGNhbGxiYWNrIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9NSBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9NSBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9NSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKICAgICAgICAgICAgIC1TICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXApAQCAtODU0Nyw5ICs4OTUwLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IGRoZS1wc2sgb24gY2xpZW50LCBzdGF0aWMgb3BhcXVlIG9uIHNlcnZlciwgbm8gY2FsbGJhY2ssIFNIQS0zODQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLURIRS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyBwc2tfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLURIRS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUFNLLVdJVEgtQUVTLTI1Ni1DQkMtU0hBMzg0IFwKLSAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPWFiYzEyMyIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLVMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04NTU5LDEwICs4OTYyLDEwIEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IHJhdyBkaGUtcHNrIG9uIGNsaWVudCwgc3RhdGljIG9wYXF1ZSBvbiBzZXJ2ZXIsIG5vIGNhbGxiYWNrLCBFTVMiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT1mb28gcHNrX29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIFwKICAgICAgICAgICAgIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1ESEUtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIGV4dGVuZGVkX21zPTEiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgZXh0ZW5kZWRfbXM9MSIgXAorICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IGV4dGVuZGVkX21zPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCiAgICAgICAgICAgICAtcyAic2Vzc2lvbiBoYXNoIGZvciBleHRlbmRlZCBtYXN0ZXIgc2VjcmV0IlwKQEAgLTg1NzIsMTAgKzg5NzUsMTAgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IGRoZS1wc2sgb24gY2xpZW50LCBzdGF0aWMgb3BhcXVlIG9uIHNlcnZlciwgbm8gY2FsbGJhY2ssIEVNUywgU0hBMzg0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgcHNrPWFiYzEyMyBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIHBza19vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBcCiAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtREhFLVBTSy1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCBleHRlbmRlZF9tcz0xIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLURIRS1QU0stV0lUSC1BRVMtMjU2LUNCQy1TSEEzODQgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIGV4dGVuZGVkX21zPTEiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBleHRlbmRlZF9tcz0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJzZXNzaW9uIGhhc2ggZm9yIGV4dGVuZGVkIG1hc3RlciBzZWNyZXQiXAogICAgICAgICAgICAgLXMgInNlc3Npb24gaGFzaCBmb3IgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCJcCkBAIC04Nzg1LDcgKzkxODgsNyBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiByYXcgcHNrIG9uIGNsaWVudCwgbWlzbWF0Y2hpbmcgc3RhdGljIHJhdyBQU0sgb24gc2VydmVyLCBvcGFxdWUgUFNLIGZyb20gY2FsbGJhY2siIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgZGVidWdfbGV2ZWw9MyBwc2tfbGlzdD1hYmMsZGVhZCxkZWYsYmVlZiBwc2tfbGlzdF9vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgcHNrX2lkZW50aXR5PWZvbyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IGRlYnVnX2xldmVsPTMgcHNrX2xpc3Q9YWJjLGRlYWQsZGVmLGJlZWYgcHNrX2xpc3Rfb3BhcXVlPTEgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCiAgICAgICAgICAgICBwc2tfaWRlbnRpdHk9ZGVmIHBzaz1iZWVmIiBcCiAgICAgICAgICAgICAwIFwKQEAgLTg3OTcsNyArOTIwMCw3IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IHJhdyBwc2sgb24gY2xpZW50LCBtaXNtYXRjaGluZyBzdGF0aWMgb3BhcXVlIFBTSyBvbiBzZXJ2ZXIsIG9wYXF1ZSBQU0sgZnJvbSBjYWxsYmFjayIgXAotICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIHBza19vcGFxdWU9MSBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMgZGVidWdfbGV2ZWw9MyBwc2tfbGlzdD1hYmMsZGVhZCxkZWYsYmVlZiBwc2tfbGlzdF9vcGFxdWU9MSBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCisgICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgcHNrX29wYXF1ZT0xIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBkZWJ1Z19sZXZlbD0zIHBza19saXN0PWFiYyxkZWFkLGRlZixiZWVmIHBza19saXN0X29wYXF1ZT0xIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEiIFwKICAgICAgICAgICAgICIkUF9DTEkgZXh0ZW5kZWRfbXM9MCBkZWJ1Z19sZXZlbD0zIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEgXAogICAgICAgICAgICAgcHNrX2lkZW50aXR5PWRlZiBwc2s9YmVlZiIgXAogICAgICAgICAgICAgMCBcCkBAIC04ODA5LDcgKzkyMTIsNyBAQAogCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiUFNLIGNhbGxiYWNrOiByYXcgcHNrIG9uIGNsaWVudCwgbWlzbWF0Y2hpbmcgc3RhdGljIG9wYXF1ZSBQU0sgb24gc2VydmVyLCByYXcgUFNLIGZyb20gY2FsbGJhY2siIFwKLSAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBwc2tfb3BhcXVlPTEgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIGRlYnVnX2xldmVsPTMgcHNrX2xpc3Q9YWJjLGRlYWQsZGVmLGJlZWYgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAorICAgICAgICAgICAgIiRQX1NSViBleHRlbmRlZF9tcz0wIHBza19vcGFxdWU9MSBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggZGVidWdfbGV2ZWw9MyBwc2tfbGlzdD1hYmMsZGVhZCxkZWYsYmVlZiBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGV4dGVuZGVkX21zPTAgZGVidWdfbGV2ZWw9MyBtaW5fdmVyc2lvbj10bHMxMiBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBIFwKICAgICAgICAgICAgIHBza19pZGVudGl0eT1kZWYgcHNrPWJlZWYiIFwKICAgICAgICAgICAgIDAgXApAQCAtODgyMSw3ICs5MjI0LDcgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIlBTSyBjYWxsYmFjazogcmF3IHBzayBvbiBjbGllbnQsIGlkLW1hdGNoaW5nIGJ1dCB3cm9uZyByYXcgUFNLIG9uIHNlcnZlciwgb3BhcXVlIFBTSyBmcm9tIGNhbGxiYWNrIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgcHNrX29wYXF1ZT0xIHBza19pZGVudGl0eT1kZWYgcHNrPWFiYzEyMyBkZWJ1Z19sZXZlbD0zIHBza19saXN0PWFiYyxkZWFkLGRlZixiZWVmIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBwc2tfb3BhcXVlPTEgcHNrX2lkZW50aXR5PWRlZiBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IGRlYnVnX2xldmVsPTMgcHNrX2xpc3Q9YWJjLGRlYWQsZGVmLGJlZWYgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCiAgICAgICAgICAgICBwc2tfaWRlbnRpdHk9ZGVmIHBzaz1iZWVmIiBcCiAgICAgICAgICAgICAwIFwKQEAgLTg4MzMsNyArOTIzNiw3IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IHJhdyBwc2sgb24gY2xpZW50LCBtYXRjaGluZyBvcGFxdWUgUFNLIG9uIHNlcnZlciwgd3Jvbmcgb3BhcXVlIFBTSyBmcm9tIGNhbGxiYWNrIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGV4dGVuZGVkX21zPTAgcHNrX29wYXF1ZT0xIHBza19pZGVudGl0eT1kZWYgcHNrPWJlZWYgZGVidWdfbGV2ZWw9MyBwc2tfbGlzdD1hYmMsZGVhZCxkZWYsYWJjMTIzIG1pbl92ZXJzaW9uPXRsczEyIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZXh0ZW5kZWRfbXM9MCBwc2tfb3BhcXVlPTEgcHNrX2lkZW50aXR5PWRlZiBwc2s9YmVlZiBkZWJ1Z19sZXZlbD0zIHBza19saXN0PWFiYyxkZWFkLGRlZiw3Mzc3NmY3MjY0NjY2OTczNjggbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSIgXAogICAgICAgICAgICAgIiRQX0NMSSBleHRlbmRlZF9tcz0wIGRlYnVnX2xldmVsPTMgbWluX3ZlcnNpb249dGxzMTIgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCiAgICAgICAgICAgICBwc2tfaWRlbnRpdHk9ZGVmIHBzaz1iZWVmIiBcCiAgICAgICAgICAgICAxIFwKQEAgLTg4NDIsMTYgKzkyNDUsMTYgQEAKIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IG5vIHBzaywgbm8gY2FsbGJhY2siIFwKICAgICAgICAgICAgICIkUF9TUlYiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQSBcCi0gICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz1hYmMxMjMiIFwKKyAgICAgICAgICAgIHBza19pZGVudGl0eT1mb28gcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtcyAiU1NMIC0gVGhlIGhhbmRzaGFrZSBuZWdvdGlhdGlvbiBmYWlsZWQiIFwKICAgICAgICAgICAgIC1TICJTU0wgLSBVbmtub3duIGlkZW50aXR5IHJlY2VpdmVkIiBcCiAgICAgICAgICAgICAtUyAiU1NMIC0gVmVyaWZpY2F0aW9uIG9mIHRoZSBtZXNzYWdlIE1BQyBmYWlsZWQiCiAKIHJ1bl90ZXN0ICAgICJQU0sgY2FsbGJhY2s6IGNhbGxiYWNrIG92ZXJyaWRlcyBvdGhlciBzZXR0aW5ncyIgXAotICAgICAgICAgICAgIiRQX1NSViBwc2s9YWJjMTIzIHBza19pZGVudGl0eT1mb28gcHNrX2xpc3Q9YWJjLGRlYWQsZGVmLGJlZWYiIFwKKyAgICAgICAgICAgICIkUF9TUlYgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBwc2tfaWRlbnRpdHk9Zm9vIHBza19saXN0PWFiYyxkZWFkLGRlZixiZWVmIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEgXAotICAgICAgICAgICAgcHNrX2lkZW50aXR5PWZvbyBwc2s9YWJjMTIzIiBcCisgICAgICAgICAgICBwc2tfaWRlbnRpdHk9Zm9vIHBzaz03Mzc3NmY3MjY0NjY2OTczNjgiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLVMgIlNTTCAtIFRoZSBoYW5kc2hha2UgbmVnb3RpYXRpb24gZmFpbGVkIiBcCiAgICAgICAgICAgICAtcyAiU1NMIC0gVW5rbm93biBpZGVudGl0eSByZWNlaXZlZCIgXApAQCAtOTA2OSwxMSArOTQ3MiwyNSBAQAogCiAjIFRlc3QgZm9yIENsaWVudEhlbGxvIHdpdGhvdXQgZXh0ZW5zaW9ucwogCisjIFdpdGhvdXQgZXh0ZW5zaW9ucywgRUNDIGlzIGltcG9zc2libGUgKG5vIGN1cnZlIG5lZ290aWF0aW9uKS4KK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKIHJlcXVpcmVzX2dudXRscwotcnVuX3Rlc3QgICAgIkNsaWVudEhlbGxvIHdpdGhvdXQgZXh0ZW5zaW9ucyIgXAorcnVuX3Rlc3QgICAgIkNsaWVudEhlbGxvIHdpdGhvdXQgZXh0ZW5zaW9uczogUlNBIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgZGVidWdfbGV2ZWw9MyIgXAogICAgICAgICAgICAgIiRHX0NMSSAtLXByaW9yaXR5PU5PUk1BTDolTk9fRVhURU5TSU9OUzolRElTQUJMRV9TQUZFX1JFTkVHT1RJQVRJT04gbG9jYWxob3N0IiBcCiAgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJDaXBoZXJzdWl0ZSBpcyAuKi1SU0EtV0lUSC0uKiIgXAorICAgICAgICAgICAgLVMgIkNpcGhlcnN1aXRlIGlzIC4qLUVDLioiIFwKKyAgICAgICAgICAgIC1zICJkdW1waW5nICdjbGllbnQgaGVsbG8gZXh0ZW5zaW9ucycgKDAgYnl0ZXMpIgorCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0tFWV9FWENIQU5HRV9QU0tfRU5BQkxFRAorcmVxdWlyZXNfZ251dGxzCitydW5fdGVzdCAgICAiQ2xpZW50SGVsbG8gd2l0aG91dCBleHRlbnNpb25zOiBQU0siIFwKKyAgICAgICAgICAgICIkUF9TUlYgZm9yY2VfdmVyc2lvbj10bHMxMiBkZWJ1Z19sZXZlbD0zIHBzaz03Mzc3NmY3MjY0NjY2OTczNjgiIFwKKyAgICAgICAgICAgICIkR19DTEkgLS1wcmlvcml0eT1OT1JNQUw6K1BTSzotUlNBOi1ESEUtUlNBOiVOT19FWFRFTlNJT05TOiVESVNBQkxFX1NBRkVfUkVORUdPVElBVElPTiAtLXBza3VzZXJuYW1lPUNsaWVudF9pZGVudGl0eSAtLXBza2tleT03Mzc3NmY3MjY0NjY2OTczNjggbG9jYWxob3N0IiBcCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1zICJDaXBoZXJzdWl0ZSBpcyAuKi1QU0stLioiIFwKKyAgICAgICAgICAgIC1TICJDaXBoZXJzdWl0ZSBpcyAuKi1FQy4qIiBcCiAgICAgICAgICAgICAtcyAiZHVtcGluZyAnY2xpZW50IGhlbGxvIGV4dGVuc2lvbnMnICgwIGJ5dGVzKSIKIAogIyBUZXN0cyBmb3IgbWJlZHRsc19zc2xfZ2V0X2J5dGVzX2F2YWlsKCkKQEAgLTkzNjksNyArOTc4Niw3IEBACiBydW5fdGVzdCAgICAiRUMgcmVzdGFydDogVExTLCBkZWZhdWx0IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGdyb3Vwcz1zZWNwMjU2cjEgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0ICBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0ICBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAieDUwOV92ZXJpZnlfY2VydC4qNGIwMCIgXApAQCAtOTM4Miw3ICs5Nzk5LDcgQEAKIHJ1bl90ZXN0ICAgICJFQyByZXN0YXJ0OiBUTFMsIG1heF9vcHM9MCIgXAogICAgICAgICAgICAgIiRQX1NSViBncm91cHM9c2VjcDI1NnIxIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCAgXAogICAgICAgICAgICAgIGRlYnVnX2xldmVsPTEgZWNfbWF4X29wcz0wIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJ4NTA5X3ZlcmlmeV9jZXJ0Lio0YjAwIiBcCkBAIC05Mzk1LDcgKzk4MTIsNyBAQAogcnVuX3Rlc3QgICAgIkVDIHJlc3RhcnQ6IFRMUywgbWF4X29wcz02NTUzNSIgXAogICAgICAgICAgICAgIiRQX1NSViBncm91cHM9c2VjcDI1NnIxIGF1dGhfbW9kZT1yZXF1aXJlZCIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCAgXAogICAgICAgICAgICAgIGRlYnVnX2xldmVsPTEgZWNfbWF4X29wcz02NTUzNSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAieDUwOV92ZXJpZnlfY2VydC4qNGIwMCIgXApAQCAtOTQxMCw3ICs5ODI3LDcgQEAKIHJ1bl90ZXN0ICAgICJFQyByZXN0YXJ0OiBUTFMsIG1heF9vcHM9MTAwMCAobm8gVVNFX1BTQSkiIFwKICAgICAgICAgICAgICIkUF9TUlYgZ3JvdXBzPXNlY3AyNTZyMSBhdXRoX21vZGU9cmVxdWlyZWQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1HQ00tU0hBMjU2IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgIFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgIFwKICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0xIGVjX21heF9vcHM9MTAwMCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAieDUwOV92ZXJpZnlfY2VydC4qNGIwMCIgXApAQCAtOTQyNiw3ICs5ODQzLDcgQEAKIHJ1bl90ZXN0ICAgICJFQyByZXN0YXJ0OiBUTFMsIG1heF9vcHM9MTAwMCAoVVNFX1BTQSkiIFwKICAgICAgICAgICAgICIkUF9TUlYgZ3JvdXBzPXNlY3AyNTZyMSBhdXRoX21vZGU9cmVxdWlyZWQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1HQ00tU0hBMjU2IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgIFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgIFwKICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0xIGVjX21heF9vcHM9MTAwMCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAieDUwOV92ZXJpZnlfY2VydC4qNGIwMCIgXApAQCAtOTQ0MCwxMCArOTg1NywxMCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19FQ1BfRFBfU0VDUDI1NlIxX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJFQyByZXN0YXJ0OiBUTFMsIG1heF9vcHM9MTAwMCwgYmFkc2lnbiIgXAogICAgICAgICAgICAgIiRQX1NSViBncm91cHM9c2VjcDI1NnIxIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0ICBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0ICBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSBlY19tYXhfb3BzPTEwMDAiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgIng1MDlfdmVyaWZ5X2NlcnQuKjRiMDAiIFwKQEAgLTk0NjAsMTAgKzk4NzcsMTAgQEAKIHJlcXVpcmVzX2NvbmZpZ19kaXNhYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiRUMgcmVzdGFydDogVExTLCBtYXhfb3BzPTEwMDAsIGF1dGhfbW9kZT1vcHRpb25hbCBiYWRzaWduIChubyBVU0VfUFNBKSIgXAogICAgICAgICAgICAgIiRQX1NSViBncm91cHM9c2VjcDI1NnIxIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0ICBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0ICBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSBlY19tYXhfb3BzPTEwMDAgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJ4NTA5X3ZlcmlmeV9jZXJ0Lio0YjAwIiBcCkBAIC05NDgxLDEwICs5ODk4LDEwIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBydW5fdGVzdCAgICAiRUMgcmVzdGFydDogVExTLCBtYXhfb3BzPTEwMDAsIGF1dGhfbW9kZT1vcHRpb25hbCBiYWRzaWduIChVU0VfUFNBKSIgXAogICAgICAgICAgICAgIiRQX1NSViBncm91cHM9c2VjcDI1NnIxIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0ICBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0ICBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSBlY19tYXhfb3BzPTEwMDAgYXV0aF9tb2RlPW9wdGlvbmFsIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJ4NTA5X3ZlcmlmeV9jZXJ0Lio0YjAwIiBcCkBAIC05NTAxLDEwICs5OTE4LDEwIEBACiByZXF1aXJlc19jb25maWdfZGlzYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwogcnVuX3Rlc3QgICAgIkVDIHJlc3RhcnQ6IFRMUywgbWF4X29wcz0xMDAwLCBhdXRoX21vZGU9bm9uZSBiYWRzaWduIChubyBVU0VfUFNBKSIgXAogICAgICAgICAgICAgIiRQX1NSViBncm91cHM9c2VjcDI1NnIxIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LWJhZHNpZ24uY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0ICBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0ICBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MSBlY19tYXhfb3BzPTEwMDAgYXV0aF9tb2RlPW5vbmUiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLUMgIng1MDlfdmVyaWZ5X2NlcnQuKjRiMDAiIFwKQEAgLTk1MjIsMTAgKzk5MzksMTAgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KIHJ1bl90ZXN0ICAgICJFQyByZXN0YXJ0OiBUTFMsIG1heF9vcHM9MTAwMCwgYXV0aF9tb2RlPW5vbmUgYmFkc2lnbiAoVVNFX1BTQSkiIFwKICAgICAgICAgICAgICIkUF9TUlYgZ3JvdXBzPXNlY3AyNTZyMSBhdXRoX21vZGU9cmVxdWlyZWQgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSIgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS1iYWRzaWduLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCAgXAogICAgICAgICAgICAgIGRlYnVnX2xldmVsPTEgZWNfbWF4X29wcz0xMDAwIGF1dGhfbW9kZT1ub25lIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJ4NTA5X3ZlcmlmeV9jZXJ0Lio0YjAwIiBcCkBAIC05NTQzLDcgKzk5NjAsNyBAQAogcnVuX3Rlc3QgICAgIkVDIHJlc3RhcnQ6IERUTFMsIG1heF9vcHM9MTAwMCAobm8gVVNFX1BTQSkiIFwKICAgICAgICAgICAgICIkUF9TUlYgZ3JvdXBzPXNlY3AyNTZyMSBhdXRoX21vZGU9cmVxdWlyZWQgZHRscz0xIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0ICBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0ICBcCiAgICAgICAgICAgICAgZHRscz0xIGRlYnVnX2xldmVsPTEgZWNfbWF4X29wcz0xMDAwIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJ4NTA5X3ZlcmlmeV9jZXJ0Lio0YjAwIiBcCkBAIC05NTU5LDcgKzk5NzYsNyBAQAogcnVuX3Rlc3QgICAgIkVDIHJlc3RhcnQ6IERUTFMsIG1heF9vcHM9MTAwMCAoVVNFX1BTQSkiIFwKICAgICAgICAgICAgICIkUF9TUlYgZ3JvdXBzPXNlY3AyNTZyMSBhdXRoX21vZGU9cmVxdWlyZWQgZHRscz0xIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0ICBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0ICBcCiAgICAgICAgICAgICAgZHRscz0xIGRlYnVnX2xldmVsPTEgZWNfbWF4X29wcz0xMDAwIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJ4NTA5X3ZlcmlmeV9jZXJ0Lio0YjAwIiBcCkBAIC05NjA2LDcgKzEwMDIzLDcgQEAKIHJ1bl90ZXN0ICAgICJFQyByZXN0YXJ0OiBUTFMsIG1heF9vcHM9MTAwMCwgRUNESEUtUlNBIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGdyb3Vwcz1zZWNwMjU2cjEgYXV0aF9tb2RlPXJlcXVpcmVkIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1SU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCAgXAogICAgICAgICAgICAgIGRlYnVnX2xldmVsPTEgZWNfbWF4X29wcz0xMDAwIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1DICJ4NTA5X3ZlcmlmeV9jZXJ0Lio0YjAwIiBcCkBAIC05NjUyLDggKzEwMDY5LDggQEAKIHJ1bl90ZXN0ICAgICJTU0wgYXN5bmMgcHJpdmF0ZTogc2lnbiwgU05JIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGZvcmNlX3ZlcnNpb249dGxzMTIgZGVidWdfbGV2ZWw9MyBcCiAgICAgICAgICAgICAgYXN5bmNfb3BlcmF0aW9ucz1zIGFzeW5jX3ByaXZhdGVfZGVsYXkxPTAgYXN5bmNfcHJpdmF0ZV9kZWxheTI9MCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKLSAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LGRhdGFfZmlsZXMvc2VydmVyMi5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSwtLC0sLSxwb2xhcnNzbC5leGFtcGxlLGRhdGFfZmlsZXMvc2VydmVyMS1ub3NwYWNlLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjEua2V5LC0sLSwtIiBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSwtLC0sLSxwb2xhcnNzbC5leGFtcGxlLCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS1ub3NwYWNlLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEua2V5LC0sLSwtIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIHNlcnZlcl9uYW1lPXBvbGFyc3NsLmV4YW1wbGUiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgIkFzeW5jIHNpZ24gY2FsbGJhY2s6IHVzaW5nIGtleSBzbG90ICIgXApAQCAtOTY4Myw5ICsxMDEwMCw5IEBACiAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0FTWU5DX1BSSVZBVEUKIHJ1bl90ZXN0ICAgICJTU0wgYXN5bmMgcHJpdmF0ZTogZGVjcnlwdCBSU0EtUFNLLCBkZWxheT0wIiBcCi0gICAgICAgICAgICAiJFBfU1JWIHBzaz1hYmMxMjMgXAorICAgICAgICAgICAgIiRQX1NSViBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IFwKICAgICAgICAgICAgICBhc3luY19vcGVyYXRpb25zPWQgYXN5bmNfcHJpdmF0ZV9kZWxheTE9MCBhc3luY19wcml2YXRlX2RlbGF5Mj0wIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIHBzaz1hYmMxMjMgXAorICAgICAgICAgICAgIiRQX0NMSSBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUlNBLVBTSy1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiQXN5bmMgZGVjcnlwdCBjYWxsYmFjazogdXNpbmcga2V5IHNsb3QgIiBcCkBAIC05NjkzLDkgKzEwMTEwLDkgQEAKIAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQVNZTkNfUFJJVkFURQogcnVuX3Rlc3QgICAgIlNTTCBhc3luYyBwcml2YXRlOiBkZWNyeXB0IFJTQS1QU0ssIGRlbGF5PTEiIFwKLSAgICAgICAgICAgICIkUF9TUlYgcHNrPWFiYzEyMyBcCisgICAgICAgICAgICAiJFBfU1JWIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggXAogICAgICAgICAgICAgIGFzeW5jX29wZXJhdGlvbnM9ZCBhc3luY19wcml2YXRlX2RlbGF5MT0xIGFzeW5jX3ByaXZhdGVfZGVsYXkyPTEiIFwKLSAgICAgICAgICAgICIkUF9DTEkgcHNrPWFiYzEyMyBcCisgICAgICAgICAgICAiJFBfQ0xJIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggXAogICAgICAgICAgICAgIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1SU0EtUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBMjU2IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJBc3luYyBkZWNyeXB0IGNhbGxiYWNrOiB1c2luZyBrZXkgc2xvdCAiIFwKQEAgLTk3MzMsOCArMTAxNTAsOCBAQAogcnVuX3Rlc3QgICAgIlNTTCBhc3luYyBwcml2YXRlOiBzbG90IDAgdXNlZCB3aXRoIGtleTEiIFwKICAgICAgICAgICAgICIkUF9TUlYgXAogICAgICAgICAgICAgIGFzeW5jX29wZXJhdGlvbnM9cyBhc3luY19wcml2YXRlX2RlbGF5MT0xIFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IiBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBjcnRfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUNCQy1TSEEyNTYiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgIkFzeW5jIHNpZ24gY2FsbGJhY2s6IHVzaW5nIGtleSBzbG90IDAsIiBcCkBAIC05NzQ2LDggKzEwMTYzLDggQEAKIHJ1bl90ZXN0ICAgICJTU0wgYXN5bmMgcHJpdmF0ZTogc2xvdCAwIHVzZWQgd2l0aCBrZXkyIiBcCiAgICAgICAgICAgICAiJFBfU1JWIFwKICAgICAgICAgICAgICBhc3luY19vcGVyYXRpb25zPXMgYXN5bmNfcHJpdmF0ZV9kZWxheTI9MSBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBjcnRfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCIgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiQXN5bmMgc2lnbiBjYWxsYmFjazogdXNpbmcga2V5IHNsb3QgMCwiIFwKQEAgLTk3NTksOCArMTAxNzYsOCBAQAogcnVuX3Rlc3QgICAgIlNTTCBhc3luYyBwcml2YXRlOiBzbG90IDEgdXNlZCB3aXRoIGtleTIiIFwKICAgICAgICAgICAgICIkUF9TUlYgXAogICAgICAgICAgICAgIGFzeW5jX29wZXJhdGlvbnM9cyBhc3luY19wcml2YXRlX2RlbGF5MT0xIGFzeW5jX3ByaXZhdGVfZGVsYXkyPTEgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgY3J0X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5jcnQiIFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGNydF9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1SU0EtV0lUSC1BRVMtMTI4LUNCQy1TSEEyNTYiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgIkFzeW5jIHNpZ24gY2FsbGJhY2s6IHVzaW5nIGtleSBzbG90IDEsIiBcCkBAIC05NzcyLDggKzEwMTg5LDggQEAKIHJ1bl90ZXN0ICAgICJTU0wgYXN5bmMgcHJpdmF0ZTogZmFsbCBiYWNrIHRvIHRyYW5zcGFyZW50IGtleSIgXAogICAgICAgICAgICAgIiRQX1NSViBcCiAgICAgICAgICAgICAgYXN5bmNfb3BlcmF0aW9ucz1zIGFzeW5jX3ByaXZhdGVfZGVsYXkxPTEgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgY3J0X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5jcnQgIiBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBjcnRfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCAiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiQXN5bmMgc2lnbiBjYWxsYmFjazogbm8ga2V5IG1hdGNoZXMgdGhpcyBjZXJ0aWZpY2F0ZS4iCkBAIC05ODgwLDggKzEwMjk3LDggQEAKIHJ1bl90ZXN0ICAgICJTU0wgYXN5bmMgcHJpdmF0ZTogY2FuY2VsIGFmdGVyIHN0YXJ0IHRoZW4gZmFsbCBiYWNrIHRvIHRyYW5zcGFyZW50IGtleSIgXAogICAgICAgICAgICAgIiRQX1NSViBcCiAgICAgICAgICAgICAgYXN5bmNfb3BlcmF0aW9ucz1zIGFzeW5jX3ByaXZhdGVfZGVsYXkxPTEgYXN5bmNfcHJpdmF0ZV9lcnJvcj0tMiBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBjcnRfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCIgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5jcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1DQkMtU0hBMjU2OwogICAgICAgICAgICAgIFsgXCQ/IC1lcSAxIF0gJiYKICAgICAgICAgICAgICAkUF9DTEkgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLVJTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NiIgXApAQCAtOTkwMiw4ICsxMDMxOSw4IEBACiBydW5fdGVzdCAgICAiU1NMIGFzeW5jIHByaXZhdGU6IHNpZ24sIGVycm9yIGluIHJlc3VtZSB0aGVuIGZhbGwgYmFjayB0byB0cmFuc3BhcmVudCBrZXkiIFwKICAgICAgICAgICAgICIkUF9TUlYgXAogICAgICAgICAgICAgIGFzeW5jX29wZXJhdGlvbnM9cyBhc3luY19wcml2YXRlX2RlbGF5MT0xIGFzeW5jX3ByaXZhdGVfZXJyb3I9LTMgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgY3J0X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5jcnQiIFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGNydF9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIuY3J0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NjsKICAgICAgICAgICAgICBbIFwkPyAtZXEgMSBdICYmCiAgICAgICAgICAgICAgJFBfQ0xJIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1SU0EtV0lUSC1BRVMtMTI4LUNCQy1TSEEyNTYiIFwKQEAgLTEwMTQ1LDggKzEwNTYyLDggQEAKICAgICAgICAgICAgIC1zICIhIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiB3YXMgc2tpcHBlZCIKIAogcnVuX3Rlc3QgICAgIkRUTFMgd3JvbmcgUFNLOiBiYWRtYWMgYWxlcnQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIHBzaz1hYmMxMjMgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiIgXAotICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgcHNrPWFiYzEyNCIgXAorICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1HQ00tU0hBMjU2IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBwc2s9NzM3NzZmNzI2NDY2Njk3Mzc0IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1zICJTU0wgLSBWZXJpZmljYXRpb24gb2YgdGhlIG1lc3NhZ2UgTUFDIGZhaWxlZCIgXAogICAgICAgICAgICAgLWMgIlNTTCAtIEEgZmF0YWwgYWxlcnQgbWVzc2FnZSB3YXMgcmVjZWl2ZWQgZnJvbSBvdXIgcGVlciIKQEAgLTEwMjcwLDEzICsxMDY4NywxMyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogbm9uZSAoZm9yIHJlZmVyZW5jZSkiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwMC02MDAwMCBcCiAgICAgICAgICAgICAgbWF4X2ZyYWdfbGVuPTQwOTYiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTI1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG1heF9mcmFnX2xlbj00MDk2IiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwMjkxLDEzICsxMDcwOCwxMyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogc2VydmVyIG9ubHkgKG1heF9mcmFnX2xlbikiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwMC02MDAwMCBcCiAgICAgICAgICAgICAgbWF4X2ZyYWdfbGVuPTEwMjQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTI1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG1heF9mcmFnX2xlbj0yMDQ4IiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwMzE2LDEzICsxMDczMywxMyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogc2VydmVyIG9ubHkgKG1vcmUpIChtYXhfZnJhZ19sZW4pIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNy5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyN19pbnQtY2EuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjcua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTI1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG1heF9mcmFnX2xlbj01MTIiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTI1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG1heF9mcmFnX2xlbj00MDk2IiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwMzM3LDEzICsxMDc1NCwxMyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogY2xpZW50LWluaXRpYXRlZCwgc2VydmVyIG9ubHkgKG1heF9mcmFnX2xlbikiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPW5vbmUgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAwLTYwMDAwIFwKICAgICAgICAgICAgICBtYXhfZnJhZ19sZW49MjA0OCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwMC02MDAwMCBcCiAgICAgICAgICAgICAgbWF4X2ZyYWdfbGVuPTEwMjQiIFwKICAgICAgICAgICAgICAwIFwKQEAgLTEwMzY2LDEzICsxMDc4MywxMyBAQAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IGNsaWVudC1pbml0aWF0ZWQsIHNlcnZlciBvbmx5IChtYXhfZnJhZ19sZW4pLCBwcm94eSBNVFUiIFwKICAgICAgICAgICAgIC1wICIkUF9QWFkgbXR1PTExMTAiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPW5vbmUgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAwLTYwMDAwIFwKICAgICAgICAgICAgICBtYXhfZnJhZ19sZW49MjA0OCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwMC02MDAwMCBcCiAgICAgICAgICAgICAgbWF4X2ZyYWdfbGVuPTEwMjQiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTAzODcsMTMgKzEwODA0LDEzIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiBjbGllbnQtaW5pdGlhdGVkLCBib3RoIChtYXhfZnJhZ19sZW4pIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNy5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyN19pbnQtY2EuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjcua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTI1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG1heF9mcmFnX2xlbj0yMDQ4IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjhfaW50LWNhMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyOC5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOF9pbnQtY2EyLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAwLTYwMDAwIFwKICAgICAgICAgICAgICBtYXhfZnJhZ19sZW49MTAyNCIgXAogICAgICAgICAgICAgMCBcCkBAIC0xMDQxNiwxMyArMTA4MzMsMTMgQEAKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiBjbGllbnQtaW5pdGlhdGVkLCBib3RoIChtYXhfZnJhZ19sZW4pLCBwcm94eSBNVFUiIFwKICAgICAgICAgICAgIC1wICIkUF9QWFkgbXR1PTExMTAiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwMC02MDAwMCBcCiAgICAgICAgICAgICAgbWF4X2ZyYWdfbGVuPTIwNDgiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTI1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG1heF9mcmFnX2xlbj0xMDI0IiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwNDM2LDEzICsxMDg1MywxMyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogbm9uZSAoZm9yIHJlZmVyZW5jZSkgKE1UVSkiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTQwOTYiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTI1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT00MDk2IiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwNDU2LDEzICsxMDg3MywxMyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogY2xpZW50IChNVFUpIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNy5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyN19pbnQtY2EuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjcua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTM1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT00MDk2IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjhfaW50LWNhMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyOC5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOF9pbnQtY2EyLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0zNTAwLTYwMDAwIFwKICAgICAgICAgICAgICBtdHU9MTAyNCIgXAogICAgICAgICAgICAgMCBcCkBAIC0xMDQ3NiwxMyArMTA4OTMsMTMgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IHNlcnZlciAoTVRVKSIgXAogICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGVidWdfbGV2ZWw9MiBhdXRoX21vZGU9cmVxdWlyZWQgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAwLTYwMDAwIFwKICAgICAgICAgICAgICBtdHU9NTEyIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjhfaW50LWNhMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyOC5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOF9pbnQtY2EyLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAwLTYwMDAwIFwKICAgICAgICAgICAgICBtdHU9MjA0OCIgXAogICAgICAgICAgICAgMCBcCkBAIC0xMDQ5NywxMyArMTA5MTQsMTMgQEAKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiBib3RoIChNVFU9MTAyNCkiIFwKICAgICAgICAgICAgIC1wICIkUF9QWFkgbXR1PTEwMjQiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTEwMjQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTI1MDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT0xMDI0IiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwNTE5LDEzICsxMDkzNiwxMyBAQAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IGJvdGggKE1UVT01MTIpIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIG10dT01MTIiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTUxMiIgXAogICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAwLTYwMDAwIFwKICAgICAgICAgICAgICBtdHU9NTEyIiBcCkBAIC0xMDU0NywxMiArMTA5NjQsMTIgQEAKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiBwcm94eSBNVFU6IGF1dG8tcmVkdWN0aW9uIChub3QgdmFsZ3JpbmQpIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIG10dT01MDgiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9NDAwLTMyMDAiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9NDAwLTMyMDAiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTA1NjgsMTIgKzEwOTg1LDEyIEBACiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogcHJveHkgTVRVOiBhdXRvLXJlZHVjdGlvbiAod2l0aCB2YWxncmluZCkiIFwKICAgICAgICAgICAgIC1wICIkUF9QWFkgbXR1PTUwOCIgXAogICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGVidWdfbGV2ZWw9MiBhdXRoX21vZGU9cmVxdWlyZWQgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAtMTAwMDAiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwLTEwMDAwIiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwNTkyLDEzICsxMTAwOSwxMyBAQAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IHByb3h5IE1UVSwgc2ltcGxlIGhhbmRzaGFrZSAoTVRVPTEwMjQpIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIG10dT0xMDI0IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNy5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyN19pbnQtY2EuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjcua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTEwMDAwLTYwMDAwIFwKICAgICAgICAgICAgICBtdHU9MTAyNCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MTAwMDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT0xMDI0IiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwNjE4LDEzICsxMTAzNSwxMyBAQAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IHByb3h5IE1UVSwgc2ltcGxlIGhhbmRzaGFrZSAoTVRVPTUxMikiIFwKICAgICAgICAgICAgIC1wICIkUF9QWFkgbXR1PTUxMiIgXAogICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGVidWdfbGV2ZWw9MiBhdXRoX21vZGU9cmVxdWlyZWQgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0xMDAwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTUxMiIgXAogICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtR0NNLVNIQTI1NiBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0xMDAwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTUxMiIgXApAQCAtMTA2NDIsMTMgKzExMDU5LDEzIEBACiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogcHJveHkgTVRVLCBzaW1wbGUgaGFuZHNoYWtlLCBuYmlvIChNVFU9MTAyNCkiIFwKICAgICAgICAgICAgIC1wICIkUF9QWFkgbXR1PTEwMjQiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MTAwMDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT0xMDI0IG5iaW89MiIgXAogICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MTAwMDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT0xMDI0IG5iaW89MiIgXAogICAgICAgICAgICAgMCBcCkBAIC0xMDY2NSwxMyArMTEwODIsMTMgQEAKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiBwcm94eSBNVFUsIHNpbXBsZSBoYW5kc2hha2UsIG5iaW8gKE1UVT01MTIpIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIG10dT01MTIiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MTAwMDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT01MTIgbmJpbz0yIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjhfaW50LWNhMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyOC5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOF9pbnQtY2EyLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4LmtleSBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1HQ00tU0hBMjU2IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTEwMDAwLTYwMDAwIFwKICAgICAgICAgICAgICBtdHU9NTEyIG5iaW89MiIgXApAQCAtMTA2OTgsMTMgKzExMTE1LDEzIEBACiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogcHJveHkgTVRVLCByZXN1bWVkIGhhbmRzaGFrZSIgXAogICAgICAgICAgICAgLXAgIiRQX1BYWSBtdHU9MTQ1MCIgXAogICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGVidWdfbGV2ZWw9MiBhdXRoX21vZGU9cmVxdWlyZWQgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0xMDAwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTE0NTAiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTEwMDAwLTYwMDAwIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAogICAgICAgICAgICAgIG10dT0xNDUwIHJlY29ubmVjdD0xIHNraXBfY2xvc2Vfbm90aWZ5PTEgcmVjb19kZWxheT0xMDAwIiBcCkBAIC0xMDcyNSwxNCArMTExNDIsMTQgQEAKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiBwcm94eSBNVFUsIENoYWNoYVBvbHkgcmVuZWdvIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIG10dT01MTIiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGV4Y2hhbmdlcz0yIHJlbmVnb3RpYXRpb249MSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0xMDAwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTUxMiIgXAogICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIGV4Y2hhbmdlcz0yIHJlbmVnb3RpYXRpb249MSByZW5lZ290aWF0ZT0xIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MTAwMDAtNjAwMDAgXApAQCAtMTA3NTQsMTQgKzExMTcxLDE0IEBACiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogcHJveHkgTVRVLCBBRVMtR0NNIHJlbmVnbyIgXAogICAgICAgICAgICAgLXAgIiRQX1BYWSBtdHU9NTEyIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNy5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyN19pbnQtY2EuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjcua2V5IFwKICAgICAgICAgICAgICBleGNoYW5nZXM9MiByZW5lZ290aWF0aW9uPTEgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MTAwMDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT01MTIiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBleGNoYW5nZXM9MiByZW5lZ290aWF0aW9uPTEgcmVuZWdvdGlhdGU9MSBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1HQ00tU0hBMjU2IFwKICAgICAgICAgICAgICBoc190aW1lb3V0PTEwMDAwLTYwMDAwIFwKQEAgLTEwNzgzLDE1ICsxMTIwMCwxNSBAQAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IHByb3h5IE1UVSwgQUVTLUNDTSByZW5lZ28iIFwKICAgICAgICAgICAgIC1wICIkUF9QWFkgbXR1PTEwMjQiIFwKICAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRlYnVnX2xldmVsPTIgYXV0aF9tb2RlPXJlcXVpcmVkIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGV4Y2hhbmdlcz0yIHJlbmVnb3RpYXRpb249MSBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTEyOC1DQ00tOCBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0xMDAwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTEwMjQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBleGNoYW5nZXM9MiByZW5lZ290aWF0aW9uPTEgcmVuZWdvdGlhdGU9MSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0xMDAwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTEwMjQiIFwKQEAgLTEwODEzLDE1ICsxMTIzMCwxNSBAQAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IHByb3h5IE1UVSwgQUVTLUNCQyBFdE0gcmVuZWdvIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIG10dT0xMDI0IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIGF1dGhfbW9kZT1yZXF1aXJlZCBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNy5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyN19pbnQtY2EuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjcua2V5IFwKICAgICAgICAgICAgICBleGNoYW5nZXM9MiByZW5lZ290aWF0aW9uPTEgXAogICAgICAgICAgICAgIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0xMjgtQ0JDLVNIQTI1NiBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0xMDAwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTEwMjQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBleGNoYW5nZXM9MiByZW5lZ290aWF0aW9uPTEgcmVuZWdvdGlhdGU9MSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0xMDAwMC02MDAwMCBcCiAgICAgICAgICAgICAgbXR1PTEwMjQiIFwKQEAgLTEwODQyLDE1ICsxMTI1OSwxNSBAQAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IHByb3h5IE1UVSwgQUVTLUNCQyBub24tRXRNIHJlbmVnbyIgXAogICAgICAgICAgICAgLXAgIiRQX1BYWSBtdHU9MTAyNCIgXAogICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGVidWdfbGV2ZWw9MiBhdXRoX21vZGU9cmVxdWlyZWQgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgZXhjaGFuZ2VzPTIgcmVuZWdvdGlhdGlvbj0xIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUNCQy1TSEEyNTYgZXRtPTAgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MTAwMDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT0xMDI0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjhfaW50LWNhMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyOC5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOF9pbnQtY2EyLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4LmtleSBcCiAgICAgICAgICAgICAgZXhjaGFuZ2VzPTIgcmVuZWdvdGlhdGlvbj0xIHJlbmVnb3RpYXRlPTEgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MTAwMDAtNjAwMDAgXAogICAgICAgICAgICAgIG10dT0xMDI0IiBcCkBAIC0xMDg2OCwxMiArMTEyODUsMTIgQEAKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiBwcm94eSBNVFUgKyAzZCIgXAogICAgICAgICAgICAgLXAgIiRQX1BYWSBtdHU9NTEyIGRyb3A9OCBkZWxheT04IGR1cGxpY2F0ZT04IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRncmFtX3BhY2tpbmc9MCBkdGxzPTEgZGVidWdfbGV2ZWw9MiBhdXRoX21vZGU9cmVxdWlyZWQgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAtMTAwMDAgbXR1PTUxMiIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZ3JhbV9wYWNraW5nPTAgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwLTEwMDAwIG10dT01MTIiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTA4ODksMTIgKzExMzA2LDEyIEBACiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogcHJveHkgTVRVICsgM2QsIG5iaW8iIFwKICAgICAgICAgICAgIC1wICIkUF9QWFkgbXR1PTUxMiBkcm9wPTggZGVsYXk9OCBkdXBsaWNhdGU9OCIgXAogICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGVidWdfbGV2ZWw9MiBhdXRoX21vZGU9cmVxdWlyZWQgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjcua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjdfaW50LWNhLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAtMTAwMDAgbXR1PTUxMiBuYmlvPTIiIFwKICAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRlYnVnX2xldmVsPTIgXAotICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKKyAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjgua2V5IFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMTI4LUdDTS1TSEEyNTYgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwLTEwMDAwIG10dT01MTIgbmJpbz0yIiBcCiAgICAgICAgICAgICAwIFwKQEAgLTEwOTEzLDggKzExMzMwLDggQEAKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiBnbnV0bHMgc2VydmVyLCBEVExTIDEuMiIgXAogICAgICAgICAgICAgIiRHX1NSViAtdSIgXAogICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIG10dT01MTIgZm9yY2VfdmVyc2lvbj1kdGxzMTIiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImZyYWdtZW50aW5nIGhhbmRzaGFrZSBtZXNzYWdlIiBcCkBAIC0xMDkzNCw4ICsxMTM1MSw4IEBACiByZXF1aXJlc19tYXhfY29udGVudF9sZW4gMjA0OAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IGdudXRscyBjbGllbnQsIERUTFMgMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIG10dT01MTIgZm9yY2VfdmVyc2lvbj1kdGxzMTIiIFwKICAgICAgICAgICAgICIkR19DTEkgLXUgLS1pbnNlY3VyZSAxMjcuMC4wLjEiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTA5NDcsOCArMTEzNjQsOCBAQAogcnVuX3Rlc3QgICAgIkRUTFMgZnJhZ21lbnRpbmc6IG9wZW5zc2wgc2VydmVyLCBEVExTIDEuMiIgXAogICAgICAgICAgICAgIiRPX1NSViAtZHRsczFfMiAtdmVyaWZ5IDEwIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjhfaW50LWNhMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyOC5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOF9pbnQtY2EyLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4LmtleSBcCiAgICAgICAgICAgICAgbXR1PTUxMiBmb3JjZV92ZXJzaW9uPWR0bHMxMiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZnJhZ21lbnRpbmcgaGFuZHNoYWtlIG1lc3NhZ2UiIFwKQEAgLTEwOTU5LDggKzExMzc2LDggQEAKIHJlcXVpcmVzX21heF9jb250ZW50X2xlbiAyMDQ4CiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogb3BlbnNzbCBjbGllbnQsIERUTFMgMS4yIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIG10dT01MTIgZm9yY2VfdmVyc2lvbj1kdGxzMTIiIFwKICAgICAgICAgICAgICIkT19DTEkgLWR0bHMxXzIiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTA5NzksOCArMTEzOTYsOCBAQAogICAgICAgICAgICAgLXAgIiRQX1BYWSBkcm9wPTggZGVsYXk9OCBkdXBsaWNhdGU9OCIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC11IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRncmFtX3BhY2tpbmc9MCBkdGxzPTEgZGVidWdfbGV2ZWw9MiBcCi0gICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IFwKLSAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjgua2V5IFwKKyAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjhfaW50LWNhMi5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOC5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwLTYwMDAwIG10dT01MTIgZm9yY2VfdmVyc2lvbj1kdGxzMTIiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImZyYWdtZW50aW5nIGhhbmRzaGFrZSBtZXNzYWdlIiBcCkBAIC0xMDk5NCw4ICsxMTQxMSw4IEBACiBydW5fdGVzdCAgICAiRFRMUyBmcmFnbWVudGluZzogM2QsIGdudXRscyBjbGllbnQsIERUTFMgMS4yIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIGRyb3A9OCBkZWxheT04IGR1cGxpY2F0ZT04IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwLTYwMDAwIG10dT01MTIgZm9yY2VfdmVyc2lvbj1kdGxzMTIiIFwKICAgICAgICAgICAgIiRHX05FWFRfQ0xJIC11IC0taW5zZWN1cmUgMTI3LjAuMC4xIiBcCiAgICAgICAgICAgICAwIFwKQEAgLTExMDEyLDggKzExNDI5LDggQEAKICAgICAgICAgICAgIC1wICIkUF9QWFkgZHJvcD04IGRlbGF5PTggZHVwbGljYXRlPTgiIFwKICAgICAgICAgICAgICIkT19ORVhUX1NSViAtZHRsczFfMiAtdmVyaWZ5IDEwIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjhfaW50LWNhMi5jcnQgXAotICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyOC5rZXkgXAorICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyOF9pbnQtY2EyLmNydCBcCisgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI4LmtleSBcCiAgICAgICAgICAgICAgaHNfdGltZW91dD0yNTAtNjAwMDAgbXR1PTUxMiBmb3JjZV92ZXJzaW9uPWR0bHMxMiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZnJhZ21lbnRpbmcgaGFuZHNoYWtlIG1lc3NhZ2UiIFwKQEAgLTExMDI5LDggKzExNDQ2LDggQEAKIHJ1bl90ZXN0ICAgICJEVExTIGZyYWdtZW50aW5nOiAzZCwgb3BlbnNzbCBjbGllbnQsIERUTFMgMS4yIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIGRyb3A9OCBkZWxheT04IGR1cGxpY2F0ZT04IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIFwKLSAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCBcCi0gICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI3LmtleSBcCisgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI3X2ludC1jYS5jcnQgXAorICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNy5rZXkgXAogICAgICAgICAgICAgIGhzX3RpbWVvdXQ9MjUwLTYwMDAwIG10dT01MTIgZm9yY2VfdmVyc2lvbj1kdGxzMTIiIFwKICAgICAgICAgICAgICIkT19DTEkgLWR0bHMxXzIiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTE5MTQsOCArMTIzMzEsOCBAQAogcmVxdWlyZXNfY29uZmlnX3ZhbHVlX2F0X21vc3QgIk1CRURUTFNfU1NMX0RUTFNfTUFYX0JVRkZFUklORyIgMjMwCiBydW5fdGVzdCAgICAiRFRMUyByZW9yZGVyaW5nOiBCdWZmZXIgZW5jcnlwdGVkIEZpbmlzaGVkIG1lc3NhZ2UsIGRyb3AgZm9yIGZyYWdtZW50ZWQgTmV3U2Vzc2lvblRpY2tldCIgXAogICAgICAgICAgICAgLXAgIiRQX1BYWSBkZWxheV9zcnY9TmV3U2Vzc2lvblRpY2tldCBkZWxheV9zcnY9TmV3U2Vzc2lvblRpY2tldCBkZWxheV9jY3M9MSIgXAotICAgICAgICAgICAgIiRQX1NSViBtdHU9MTQwIHJlc3BvbnNlX3NpemU9OTAgZGdyYW1fcGFja2luZz0wIHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyBjb29raWVzPTAgZHRscz0xIGRlYnVnX2xldmVsPTIiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGdyYW1fcGFja2luZz0wIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNDTS04IHBzaz1hYmMxMjMgcHNrX2lkZW50aXR5PWZvbyIgXAorICAgICAgICAgICAgIiRQX1NSViBtdHU9MTQwIHJlc3BvbnNlX3NpemU9OTAgZGdyYW1fcGFja2luZz0wIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyBjb29raWVzPTAgZHRscz0xIGRlYnVnX2xldmVsPTIiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGdyYW1fcGFja2luZz0wIGR0bHM9MSBkZWJ1Z19sZXZlbD0yIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNDTS04IHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcHNrX2lkZW50aXR5PWZvbyIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiQnVmZmVyIHJlY29yZCBmcm9tIGVwb2NoIDEiIFwKICAgICAgICAgICAgIC1zICJGb3VuZCBidWZmZXJlZCByZWNvcmQgZnJvbSBjdXJyZW50IGVwb2NoIC0gbG9hZCIgXApAQCAtMTE5MjgsOSArMTIzNDUsOSBAQAogY2xpZW50X25lZWRzX21vcmVfdGltZSAyCiBydW5fdGVzdCAgICAiRFRMUyBwcm94eTogM2QgKGRyb3AsIGRlbGF5LCBkdXBsaWNhdGUpLCBcInNob3J0XCIgUFNLIGhhbmRzaGFrZSIgXAogICAgICAgICAgICAgLXAgIiRQX1BYWSBkcm9wPTUgZGVsYXk9NSBkdXBsaWNhdGU9NSIgXAotICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGdyYW1fcGFja2luZz0wIGhzX3RpbWVvdXQ9NTAwLTEwMDAwIHRpY2tldHM9MCBhdXRoX21vZGU9bm9uZSBcCi0gICAgICAgICAgICAgcHNrPWFiYzEyMyIgXAotICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGdyYW1fcGFja2luZz0wIGhzX3RpbWVvdXQ9NTAwLTEwMDAwIHRpY2tldHM9MCBwc2s9YWJjMTIzIFwKKyAgICAgICAgICAgICIkUF9TUlYgZHRscz0xIGRncmFtX3BhY2tpbmc9MCBoc190aW1lb3V0PTUwMC0xMDAwMCB0aWNrZXRzPTAgXAorICAgICAgICAgICAgIHBzaz03Mzc3NmY3MjY0NjY2OTczNjgiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRncmFtX3BhY2tpbmc9MCBoc190aW1lb3V0PTUwMC0xMDAwMCB0aWNrZXRzPTAgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0NNLTgiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgIkV4dHJhLWhlYWRlcjoiIFwKQEAgLTEyMDA1LDggKzEyNDIyLDggQEAKIHJ1bl90ZXN0ICAgICJEVExTIHByb3h5OiAzZCwgbWluIGhhbmRzaGFrZSwgcmVzdW1wdGlvbiIgXAogICAgICAgICAgICAgLXAgIiRQX1BYWSBkcm9wPTUgZGVsYXk9NSBkdXBsaWNhdGU9NSIgXAogICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGdyYW1fcGFja2luZz0wIGhzX3RpbWVvdXQ9NTAwLTEwMDAwIHRpY2tldHM9MCBhdXRoX21vZGU9bm9uZSBcCi0gICAgICAgICAgICAgcHNrPWFiYzEyMyBkZWJ1Z19sZXZlbD0zIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIHBzaz1hYmMxMjMgXAorICAgICAgICAgICAgIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggZGVidWdfbGV2ZWw9MyIgXAorICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGdyYW1fcGFja2luZz0wIGhzX3RpbWVvdXQ9NTAwLTEwMDAwIHRpY2tldHM9MCBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IFwKICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0zIHJlY29ubmVjdD0xIHNraXBfY2xvc2Vfbm90aWZ5PTEgcmVhZF90aW1lb3V0PTEwMDAgbWF4X3Jlc2VuZD0xMCBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0NNLTgiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTIwMjAsOCArMTI0MzcsOCBAQAogcnVuX3Rlc3QgICAgIkRUTFMgcHJveHk6IDNkLCBtaW4gaGFuZHNoYWtlLCByZXN1bXB0aW9uLCBuYmlvIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIGRyb3A9NSBkZWxheT01IGR1cGxpY2F0ZT01IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIGF1dGhfbW9kZT1ub25lIFwKLSAgICAgICAgICAgICBwc2s9YWJjMTIzIGRlYnVnX2xldmVsPTMgbmJpbz0yIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIHBzaz1hYmMxMjMgXAorICAgICAgICAgICAgIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggZGVidWdfbGV2ZWw9MyBuYmlvPTIiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRncmFtX3BhY2tpbmc9MCBoc190aW1lb3V0PTUwMC0xMDAwMCB0aWNrZXRzPTAgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MyByZWNvbm5lY3Q9MSBza2lwX2Nsb3NlX25vdGlmeT0xIHJlYWRfdGltZW91dD0xMDAwIG1heF9yZXNlbmQ9MTAgXAogICAgICAgICAgICAgIGZvcmNlX2NpcGhlcnN1aXRlPVRMUy1QU0stV0lUSC1BRVMtMTI4LUNDTS04IG5iaW89MiIgXAogICAgICAgICAgICAgMCBcCkBAIC0xMjAzNSw4ICsxMjQ1Miw4IEBACiBydW5fdGVzdCAgICAiRFRMUyBwcm94eTogM2QsIG1pbiBoYW5kc2hha2UsIGNsaWVudC1pbml0aWF0ZWQgcmVuZWdvIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIGRyb3A9NSBkZWxheT01IGR1cGxpY2F0ZT01IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIGF1dGhfbW9kZT1ub25lIFwKLSAgICAgICAgICAgICBwc2s9YWJjMTIzIHJlbmVnb3RpYXRpb249MSBkZWJ1Z19sZXZlbD0yIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIHBzaz1hYmMxMjMgXAorICAgICAgICAgICAgIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcmVuZWdvdGlhdGlvbj0xIGRlYnVnX2xldmVsPTIiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRncmFtX3BhY2tpbmc9MCBoc190aW1lb3V0PTUwMC0xMDAwMCB0aWNrZXRzPTAgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBcCiAgICAgICAgICAgICAgcmVuZWdvdGlhdGU9MSBkZWJ1Z19sZXZlbD0yIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQ00tOCIgXAogICAgICAgICAgICAgMCBcCkBAIC0xMjA1MCw4ICsxMjQ2Nyw4IEBACiBydW5fdGVzdCAgICAiRFRMUyBwcm94eTogM2QsIG1pbiBoYW5kc2hha2UsIGNsaWVudC1pbml0aWF0ZWQgcmVuZWdvLCBuYmlvIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIGRyb3A9NSBkZWxheT01IGR1cGxpY2F0ZT01IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIGF1dGhfbW9kZT1ub25lIFwKLSAgICAgICAgICAgICBwc2s9YWJjMTIzIHJlbmVnb3RpYXRpb249MSBkZWJ1Z19sZXZlbD0yIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIHBzaz1hYmMxMjMgXAorICAgICAgICAgICAgIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggcmVuZWdvdGlhdGlvbj0xIGRlYnVnX2xldmVsPTIiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRncmFtX3BhY2tpbmc9MCBoc190aW1lb3V0PTUwMC0xMDAwMCB0aWNrZXRzPTAgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCBcCiAgICAgICAgICAgICAgcmVuZWdvdGlhdGU9MSBkZWJ1Z19sZXZlbD0yIFwKICAgICAgICAgICAgICBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMtUFNLLVdJVEgtQUVTLTEyOC1DQ00tOCIgXAogICAgICAgICAgICAgMCBcCkBAIC0xMjA2NSw5ICsxMjQ4Miw5IEBACiBydW5fdGVzdCAgICAiRFRMUyBwcm94eTogM2QsIG1pbiBoYW5kc2hha2UsIHNlcnZlci1pbml0aWF0ZWQgcmVuZWdvIiBcCiAgICAgICAgICAgICAtcCAiJFBfUFhZIGRyb3A9NSBkZWxheT01IGR1cGxpY2F0ZT01IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIGF1dGhfbW9kZT1ub25lIFwKLSAgICAgICAgICAgICBwc2s9YWJjMTIzIHJlbmVnb3RpYXRlPTEgcmVuZWdvdGlhdGlvbj0xIGV4Y2hhbmdlcz00IFwKKyAgICAgICAgICAgICBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHJlbmVnb3RpYXRlPTEgcmVuZWdvdGlhdGlvbj0xIGV4Y2hhbmdlcz00IFwKICAgICAgICAgICAgICBkZWJ1Z19sZXZlbD0yIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIHBzaz1hYmMxMjMgXAorICAgICAgICAgICAgIiRQX0NMSSBkdGxzPTEgZGdyYW1fcGFja2luZz0wIGhzX3RpbWVvdXQ9NTAwLTEwMDAwIHRpY2tldHM9MCBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IFwKICAgICAgICAgICAgICByZW5lZ290aWF0aW9uPTEgZXhjaGFuZ2VzPTQgZGVidWdfbGV2ZWw9MiBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0NNLTgiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTIwODEsOSArMTI0OTgsOSBAQAogcnVuX3Rlc3QgICAgIkRUTFMgcHJveHk6IDNkLCBtaW4gaGFuZHNoYWtlLCBzZXJ2ZXItaW5pdGlhdGVkIHJlbmVnbywgbmJpbyIgXAogICAgICAgICAgICAgLXAgIiRQX1BYWSBkcm9wPTUgZGVsYXk9NSBkdXBsaWNhdGU9NSIgXAogICAgICAgICAgICAgIiRQX1NSViBkdGxzPTEgZGdyYW1fcGFja2luZz0wIGhzX3RpbWVvdXQ9NTAwLTEwMDAwIHRpY2tldHM9MCBhdXRoX21vZGU9bm9uZSBcCi0gICAgICAgICAgICAgcHNrPWFiYzEyMyByZW5lZ290aWF0ZT0xIHJlbmVnb3RpYXRpb249MSBleGNoYW5nZXM9NCBcCisgICAgICAgICAgICAgcHNrPTczNzc2ZjcyNjQ2NjY5NzM2OCByZW5lZ290aWF0ZT0xIHJlbmVnb3RpYXRpb249MSBleGNoYW5nZXM9NCBcCiAgICAgICAgICAgICAgZGVidWdfbGV2ZWw9MiBuYmlvPTIiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZHRscz0xIGRncmFtX3BhY2tpbmc9MCBoc190aW1lb3V0PTUwMC0xMDAwMCB0aWNrZXRzPTAgcHNrPWFiYzEyMyBcCisgICAgICAgICAgICAiJFBfQ0xJIGR0bHM9MSBkZ3JhbV9wYWNraW5nPTAgaHNfdGltZW91dD01MDAtMTAwMDAgdGlja2V0cz0wIHBzaz03Mzc3NmY3MjY0NjY2OTczNjggXAogICAgICAgICAgICAgIHJlbmVnb3RpYXRpb249MSBleGNoYW5nZXM9NCBkZWJ1Z19sZXZlbD0yIG5iaW89MiBcCiAgICAgICAgICAgICAgZm9yY2VfY2lwaGVyc3VpdGU9VExTLVBTSy1XSVRILUFFUy0xMjgtQ0NNLTgiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTIyMDEsNyArMTI2MTgsNyBAQAogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAiUFNBX1dBTlRfRUNDX01PTlRHT01FUllfMjU1IgogcmVxdWlyZXNfYW55X2NvbmZpZ3NfZW5hYmxlZCAiUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2IgogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IERlZmF1bHQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgYWxsb3dfc2hhMT0wIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGZvcmNlX3ZlcnNpb249dGxzMTMiIFwKKyAgICAgICAgICAgICIkUF9TUlYgYWxsb3dfc2hhMT0wIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGZvcmNlX3ZlcnNpb249dGxzMTMiIFwKICAgICAgICAgICAgICIkUF9DTEkgYWxsb3dfc2hhMT0wIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMjIzNiw4ICsxMjY1Myw3IEBACiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IG1pbmltYWwgZmVhdHVyZSBzZXRzIC0gb3BlbnNzbCIgXAogICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyIgXApAQCAtMTIyNjksOCArMTI2ODUsNyBAQAogcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0CiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IG1pbmltYWwgZmVhdHVyZSBzZXRzIC0gZ251dGxzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLS1kZWJ1Zz00IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6JU5PX1RJQ0tFVFMgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMiIFwKQEAgLTEyMzAzLDggKzEyNzE4LDcgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0FMUE4KLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogYWxwbiAtIG9wZW5zc2wiIFwKICAgICAgICAgICAgICIkT19ORVhUX1NSViAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIC1hbHBuIGgyIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgYWxwbj1oMiIgXApAQCAtMTIzMzgsOCArMTI3NTIsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQUxQTgotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBhbHBuIC0gZ251dGxzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLS1kZWJ1Zz00IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6JU5PX1RJQ0tFVFMgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tYWxwbj1oMiIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGFscG49aDIiIFwKQEAgLTEyMzc1LDcgKzEyNzg4LDcgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0FMUE4KIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IHNlcnZlciBhbHBuIC0gb3BlbnNzbCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIHRpY2tldHM9MCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgYWxwbj1oMiIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD0zIHRpY2tldHM9MCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgYWxwbj1oMiIgXAogICAgICAgICAgICAgIiRPX05FWFRfQ0xJIC1tc2cgLXRsczFfMyAtbm9fbWlkZGxlYm94IC1hbHBuIGgyIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJmb3VuZCBhbHBuIGV4dGVuc2lvbiIgXApAQCAtMTIzOTAsNyArMTI4MDMsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQUxQTgogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogc2VydmVyIGFscG4gLSBnbnV0bHMiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyB0aWNrZXRzPTAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGFscG49aDIiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9MyB0aWNrZXRzPTAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGFscG49aDIiIFwKICAgICAgICAgICAgICIkR19ORVhUX0NMSSBsb2NhbGhvc3QgLWQgNCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTOiVESVNBQkxFX1RMUzEzX0NPTVBBVF9NT0RFIC1WIC0tYWxwbiBoMiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiZm91bmQgYWxwbiBleHRlbnNpb24iIFwKQEAgLTEyNDAyLDggKzEyODE1LDcgQEAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uLCBubyBjbGllbnQgY2VydGlmaWNhdGUgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtdmVyaWZ5IDEwIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9bm9uZSBrZXlfZmlsZT1ub25lIiBcCkBAIC0xMjQxOCw4ICsxMjgzMCw3IEBACiByZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uLCBubyBjbGllbnQgY2VydGlmaWNhdGUgLSBnbnV0bHMiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtLWRlYnVnPTQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzorQ0lQSEVSLUFMTDolTk9fVElDS0VUUyAtLXZlcmlmeS1jbGllbnQtY2VydCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPW5vbmUga2V5X2ZpbGU9bm9uZSIgXApAQCAtMTI0MzcsNyArMTI4NDgsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uLCBubyBzZXJ2ZXIgbWlkZGxlYm94IGNvbXBhdCAtIG9wZW5zc2wiIFwKICAgICAgICAgICAgICIkT19ORVhUX1NSViAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIC1WZXJpZnkgMTAgLW5vX21pZGRsZWJveCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvY2xpMi5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9jbGkyLmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvY2xpMi5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9jbGkyLmtleSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjQ1MSw4ICsxMjg2Miw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24sIG5vIHNlcnZlciBtaWRkbGVib3ggY29tcGF0IC0gZ251dGxzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLS1kZWJ1Zz00IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6JU5PX1RJQ0tFVFM6JURJU0FCTEVfVExTMTNfQ09NUEFUX01PREUiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL2NsaTIuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9jbGkyLmtleSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvY2xpMi5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2NsaTIua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNDYyLDEyICsxMjg3MywxMSBAQAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24sIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtVmVyaWZ5IDEwIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMjU2cjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMjU2cjEua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNDc4LDEyICsxMjg4OCwxMSBAQAogcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0CiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiwgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMjU2cjEua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMjU2cjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMjU2cjEua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNDkzLDEyICsxMjkwMiwxMSBAQAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24sIGVjZHNhX3NlY3AzODRyMV9zaGEzODQgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtVmVyaWZ5IDEwIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMzg0cjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMzg0cjEua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNTA5LDEyICsxMjkxNywxMSBAQAogcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0CiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiwgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMzg0cjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMzg0cjEua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNTI0LDEyICsxMjkzMSwxMSBAQAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24sIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtVmVyaWZ5IDEwIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwNTIxcjEua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNTQwLDEyICsxMjk0NiwxMSBAQAogcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0CiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiwgZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwNTIxcjEua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNTU2LDEyICsxMjk2MSwxMSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19SU0FfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24sIHJzYV9wc3NfcnNhZV9zaGEyNTYgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtVmVyaWZ5IDEwIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9jZXJ0X3NoYTI1Ni5jcnQgXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvY2VydF9zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImdvdCBhIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9DRVJUSUZJQ0FURSIgXApAQCAtMTI1NzMsMTIgKzEyOTc3LDExIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1JTQV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiwgcnNhX3Bzc19yc2FlX3NoYTI1NiAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImdvdCBhIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9DRVJUSUZJQ0FURSIgXApAQCAtMTI1ODksMTIgKzEyOTkyLDExIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1JTQV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiwgcnNhX3Bzc19yc2FlX3NoYTM4NCAtIG9wZW5zc2wiIFwKICAgICAgICAgICAgICIkT19ORVhUX1NSViAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIC1WZXJpZnkgMTAiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL2NlcnRfc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMS5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nixyc2FfcHNzX3JzYWVfc2hhMzg0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9jZXJ0X3NoYTI1Ni5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjEua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYscnNhX3Bzc19yc2FlX3NoYTM4NCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjYwNiwxMiArMTMwMDgsMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uLCByc2FfcHNzX3JzYWVfc2hhMzg0IC0gZ251dGxzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLS1kZWJ1Zz00IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nixyc2FfcHNzX3JzYWVfc2hhMzg0IiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYscnNhX3Bzc19yc2FlX3NoYTM4NCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjYyMiwxMiArMTMwMjMsMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uLCByc2FfcHNzX3JzYWVfc2hhNTEyIC0gb3BlbnNzbCIgXAogICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUgLVZlcmlmeSAxMCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvY2VydF9zaGEyNTYuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LHJzYV9wc3NfcnNhZV9zaGE1MTIiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2NlcnRfc2hhMjU2LmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nixyc2FfcHNzX3JzYWVfc2hhNTEyIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNjM5LDEyICsxMzAzOSwxMSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19SU0FfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24sIHJzYV9wc3NfcnNhZV9zaGE1MTIgLSBnbnV0bHMiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtLWRlYnVnPTQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzorQ0lQSEVSLUFMTDolTk9fVElDS0VUUyIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LHJzYV9wc3NfcnNhZV9zaGE1MTIiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nixyc2FfcHNzX3JzYWVfc2hhNTEyIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNjU1LDEzICsxMzA1NCwxMiBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19SU0FfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24sIGNsaWVudCBhbGcgbm90IGluIHNlcnZlciBsaXN0IC0gb3BlbnNzbCIgXAogICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUgLVZlcmlmeSAxMAogICAgICAgICAgICAgICAgIC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5jcnQgXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3A1MjFyMS5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NixlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwNTIxcjEua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjY3MywxMiArMTMwNzEsMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uLCBjbGllbnQgYWxnIG5vdCBpbiBzZXJ2ZXIgbGlzdCAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOi1TSUdOLUFMTDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OiVOT19USUNLRVRTIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZWNkc2Ffc2VjcDUyMXIxLmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZWNkc2Ffc2VjcDUyMXIxLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgImdvdCBhIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9DRVJUSUZJQ0FURSIgXApAQCAtMTI2OTMsNyArMTMwOTAsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uIC0gb3BhcXVlIGtleSwgbm8gc2VydmVyIG1pZGRsZWJveCBjb21wYXQgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtVmVyaWZ5IDEwIC1ub19taWRkbGVib3giIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL2NsaTIuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvY2xpMi5rZXkga2V5X29wYXF1ZT0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9jbGkyLmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2NsaTIua2V5IGtleV9vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjcwOCw4ICsxMzEwNSw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24gLSBvcGFxdWUga2V5LCBubyBzZXJ2ZXIgbWlkZGxlYm94IGNvbXBhdCAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOiVOT19USUNLRVRTOiVESVNBQkxFX1RMUzEzX0NPTVBBVF9NT0RFIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9jbGkyLmNydCBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvY2xpMi5rZXkga2V5X29wYXF1ZT0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9jbGkyLmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvY2xpMi5rZXkga2V5X29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNzIwLDEyICsxMzExNywxMSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24gLSBvcGFxdWUga2V5LCBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC0gb3BlbnNzbCIgXAogICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUgLVZlcmlmeSAxMCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmNydCBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDI1NnIxLmtleSBrZXlfb3BhcXVlPTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2VjZHNhX3NlY3AyNTZyMS5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2VjZHNhX3NlY3AyNTZyMS5rZXkga2V5X29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyNzM3LDEyICsxMzEzMywxMSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24gLSBvcGFxdWUga2V5LCBlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IC0gZ251dGxzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLS1kZWJ1Zz00IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5jcnQgXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AyNTZyMS5rZXkga2V5X29wYXF1ZT0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMjU2cjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMjU2cjEua2V5IGtleV9vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjc1MywxMiArMTMxNDgsMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uIC0gb3BhcXVlIGtleSwgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtIG9wZW5zc2wiIFwKICAgICAgICAgICAgICIkT19ORVhUX1NSViAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIC1WZXJpZnkgMTAiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5jcnQgXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL2VjZHNhX3NlY3AzODRyMS5rZXkga2V5X29wYXF1ZT0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMzg0cjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwMzg0cjEua2V5IGtleV9vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjc3MCwxMiArMTMxNjQsMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uIC0gb3BhcXVlIGtleSwgZWNkc2Ffc2VjcDM4NHIxX3NoYTM4NCAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwMzg0cjEua2V5IGtleV9vcGFxdWU9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZWNkc2Ffc2VjcDM4NHIxLmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZWNkc2Ffc2VjcDM4NHIxLmtleSBrZXlfb3BhcXVlPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImdvdCBhIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9DRVJUSUZJQ0FURSIgXApAQCAtMTI3ODYsMTIgKzEzMTc5LDExIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiAtIG9wYXF1ZSBrZXksIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtVmVyaWZ5IDEwIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IGtleV9vcGFxdWU9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZWNkc2Ffc2VjcDUyMXIxLmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvZWNkc2Ffc2VjcDUyMXIxLmtleSBrZXlfb3BhcXVlPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImdvdCBhIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9DRVJUSUZJQ0FURSIgXApAQCAtMTI4MDMsMTIgKzEzMTk1LDExIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiAtIG9wYXF1ZSBrZXksIGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIgLSBnbnV0bHMiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtLWRlYnVnPTQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzorQ0lQSEVSLUFMTDolTk9fVElDS0VUUyIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBrZXlfb3BhcXVlPTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2VjZHNhX3NlY3A1MjFyMS5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2VjZHNhX3NlY3A1MjFyMS5rZXkga2V5X29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyODIwLDEyICsxMzIxMSwxMSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uIC0gb3BhcXVlIGtleSwgcnNhX3Bzc19yc2FlX3NoYTI1NiAtIG9wZW5zc2wiIFwKICAgICAgICAgICAgICIkT19ORVhUX1NSViAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIC1WZXJpZnkgMTAiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL2NlcnRfc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMS5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nixyc2FfcHNzX3JzYWVfc2hhMjU2IGtleV9vcGFxdWU9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvY2VydF9zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LHJzYV9wc3NfcnNhZV9zaGEyNTYga2V5X29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyODM4LDEyICsxMzIyOCwxMSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uIC0gb3BhcXVlIGtleSwgcnNhX3Bzc19yc2FlX3NoYTI1NiAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYscnNhX3Bzc19yc2FlX3NoYTI1NiBrZXlfb3BhcXVlPTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nixyc2FfcHNzX3JzYWVfc2hhMjU2IGtleV9vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjg1NSwxMiArMTMyNDQsMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1JTQV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiAtIG9wYXF1ZSBrZXksIHJzYV9wc3NfcnNhZV9zaGEzODQgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtVmVyaWZ5IDEwIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9jZXJ0X3NoYTI1Ni5jcnQgXAotICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYscnNhX3Bzc19yc2FlX3NoYTM4NCBrZXlfb3BhcXVlPTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2NlcnRfc2hhMjU2LmNydCBcCisgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nixyc2FfcHNzX3JzYWVfc2hhMzg0IGtleV9vcGFxdWU9MSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjg3MywxMiArMTMyNjEsMTEgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1JTQV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENsaWVudCBhdXRoZW50aWNhdGlvbiAtIG9wYXF1ZSBrZXksIHJzYV9wc3NfcnNhZV9zaGEzODQgLSBnbnV0bHMiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtLWRlYnVnPTQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzorQ0lQSEVSLUFMTDolTk9fVElDS0VUUyIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LHJzYV9wc3NfcnNhZV9zaGEzODQga2V5X29wYXF1ZT0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYscnNhX3Bzc19yc2FlX3NoYTM4NCBrZXlfb3BhcXVlPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImdvdCBhIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9DRVJUSUZJQ0FURSIgXApAQCAtMTI4OTAsMTIgKzEzMjc3LDExIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19SU0FfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24gLSBvcGFxdWUga2V5LCByc2FfcHNzX3JzYWVfc2hhNTEyIC0gb3BlbnNzbCIgXAogICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUgLVZlcmlmeSAxMCIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvY2VydF9zaGEyNTYuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LHJzYV9wc3NfcnNhZV9zaGE1MTIga2V5X29wYXF1ZT0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9jZXJ0X3NoYTI1Ni5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjEua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYscnNhX3Bzc19yc2FlX3NoYTUxMiBrZXlfb3BhcXVlPTEiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgImdvdCBhIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9DRVJUSUZJQ0FURSIgXApAQCAtMTI5MDgsMTIgKzEzMjk0LDExIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19SU0FfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24gLSBvcGFxdWUga2V5LCByc2FfcHNzX3JzYWVfc2hhNTEyIC0gZ251dGxzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLS1kZWJ1Zz00IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1Nixyc2FfcHNzX3JzYWVfc2hhNTEyIGtleV9vcGFxdWU9MSIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LHJzYV9wc3NfcnNhZV9zaGE1MTIga2V5X29wYXF1ZT0xIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJnb3QgYSBjZXJ0aWZpY2F0ZSByZXF1ZXN0IiBcCiAgICAgICAgICAgICAtYyAiY2xpZW50IHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfQ0VSVElGSUNBVEUiIFwKQEAgLTEyOTI1LDEzICsxMzMxMCwxMiBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfUlNBX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfVVNFX1BTQV9DUllQVE8KLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2xpZW50IGF1dGhlbnRpY2F0aW9uIC0gb3BhcXVlIGtleSwgY2xpZW50IGFsZyBub3QgaW4gc2VydmVyIGxpc3QgLSBvcGVuc3NsIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSAtVmVyaWZ5IDEwCiAgICAgICAgICAgICAgICAgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD0zIGNydF9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmNydCBcCi0gICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWRhdGFfZmlsZXMvZWNkc2Ffc2VjcDUyMXIxLmtleSBzaWdfYWxncz1lY2RzYV9zZWNwMjU2cjFfc2hhMjU2LGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIga2V5X29wYXF1ZT0xIiBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9lY2RzYV9zZWNwNTIxcjEua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBrZXlfb3BhcXVlPTEiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgImdvdCBhIGNlcnRpZmljYXRlIHJlcXVlc3QiIFwKICAgICAgICAgICAgIC1jICJjbGllbnQgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9DRVJUSUZJQ0FURSIgXApAQCAtMTI5NDQsMTIgKzEzMzI4LDExIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19SU0FfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19VU0VfUFNBX0NSWVBUTwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDbGllbnQgYXV0aGVudGljYXRpb24gLSBvcGFxdWUga2V5LCBjbGllbnQgYWxnIG5vdCBpbiBzZXJ2ZXIgbGlzdCAtIGdudXRscyIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tZGVidWc9NCAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOitDSVBIRVItQUxMOi1TSUdOLUFMTDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OiVOT19USUNLRVRTIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTMgY3J0X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9ZGF0YV9maWxlcy9lY2RzYV9zZWNwNTIxcjEua2V5IHNpZ19hbGdzPWVjZHNhX3NlY3AyNTZyMV9zaGEyNTYsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiBrZXlfb3BhcXVlPTEiIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9MyBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL2VjZHNhX3NlY3A1MjFyMS5jcnQgXAorICAgICAgICAgICAgICAgICAgICBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL2VjZHNhX3NlY3A1MjFyMS5rZXkgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NixlY2RzYV9zZWNwNTIxcjFfc2hhNTEyIGtleV9vcGFxdWU9MSIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAiZ290IGEgY2VydGlmaWNhdGUgcmVxdWVzdCIgXAogICAgICAgICAgICAgLWMgImNsaWVudCBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0NFUlRJRklDQVRFIiBcCkBAIC0xMjk1OSw4ICsxMzM0Miw3IEBACiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IEhSUiBjaGVjaywgY2lwaGVyc3VpdGUgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAtIG9wZW5zc2wiIFwKICAgICAgICAgICAgICIkT19ORVhUX1NSViAtY2lwaGVyc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYgIC1zaWdhbGdzIGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgLWdyb3VwcyBQLTI1NiAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQiIFwKQEAgLTEyOTc0LDggKzEzMzU2LDcgQEAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogSFJSIGNoZWNrLCBjaXBoZXJzdWl0ZSBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC0gb3BlbnNzbCIgXAogICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1jaXBoZXJzdWl0ZXMgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAgLXNpZ2FsZ3MgZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAtZ3JvdXBzIFAtMjU2IC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCIgXApAQCAtMTI5OTEsOCArMTMzNzIsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogSFJSIGNoZWNrLCBjaXBoZXJzdWl0ZSBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2IC0gZ251dGxzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PTkU6K0dST1VQLVNFQ1AyNTZSMTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyAtLWRpc2FibGUtY2xpZW50LWNlcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCIgXApAQCAtMTMwMDgsOCArMTMzODgsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0VDREgKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogSFJSIGNoZWNrLCBjaXBoZXJzdWl0ZSBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IC0gZ251dGxzIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLWQgNCAtLXByaW9yaXR5PU5PTkU6K0dST1VQLVNFQ1AyNTZSMTorQUVTLTI1Ni1HQ006K1NIQTM4NDorQUVBRDorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyAtLWRpc2FibGUtY2xpZW50LWNlcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCIgXApAQCAtMTMwMjUsNyArMTM0MDQsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IFNlcnZlciBzaWRlIGNoZWNrIC0gb3BlbnNzbCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLW1zZyAtZGVidWcgLXRsczFfMyAtbm9fbWlkZGxlYm94IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJ0bHMxMyBzZXJ2ZXIgc3RhdGU6IE1CRURUTFNfU1NMX0NMSUVOVF9IRUxMTyIgXApAQCAtMTMwNDIsOCArMTM0MjEsOCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IFNlcnZlciBzaWRlIGNoZWNrIC0gb3BlbnNzbCB3aXRoIGNsaWVudCBhdXRoZW50aWNhdGlvbiIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGF1dGhfbW9kZT1yZXF1aXJlZCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9DTEkgLW1zZyAtZGVidWcgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgLXRsczFfMyAtbm9fbWlkZGxlYm94IiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKKyAgICAgICAgICAgICIkT19ORVhUX0NMSSAtbXNnIC1kZWJ1ZyAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSAtdGxzMV8zIC1ub19taWRkbGVib3giIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInRsczEzIHNlcnZlciBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0hFTExPIiBcCiAgICAgICAgICAgICAtcyAidGxzMTMgc2VydmVyIHN0YXRlOiBNQkVEVExTX1NTTF9TRVJWRVJfSEVMTE8iIFwKQEAgLTEzMDYyLDcgKzEzNDQxLDcgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBTZXJ2ZXIgc2lkZSBjaGVjayAtIGdudXRscyIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC1kIDQgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUzolRElTQUJMRV9UTFMxM19DT01QQVRfTU9ERSAtViIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAidGxzMTMgc2VydmVyIHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfSEVMTE8iIFwKQEAgLTEzMDgxLDggKzEzNDYwLDggQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBTZXJ2ZXIgc2lkZSBjaGVjayAtIGdudXRscyB3aXRoIGNsaWVudCBhdXRoZW50aWNhdGlvbiIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGF1dGhfbW9kZT1yZXF1aXJlZCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCi0gICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC1kIDQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUzolRElTQUJMRV9UTFMxM19DT01QQVRfTU9ERSAtViIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGF1dGhfbW9kZT1yZXF1aXJlZCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCisgICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC1kIDQgLS14NTA5Y2VydGZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCAtLXg1MDlrZXlmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUzolRElTQUJMRV9UTFMxM19DT01QQVRfTU9ERSAtViIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAidGxzMTMgc2VydmVyIHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfSEVMTE8iIFwKICAgICAgICAgICAgIC1zICJ0bHMxMyBzZXJ2ZXIgc3RhdGU6IE1CRURUTFNfU1NMX1NFUlZFUl9IRUxMTyIgXApAQCAtMTMxMDAsNyArMTM0NzksNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IFNlcnZlciBzaWRlIGNoZWNrIC0gbWJlZHRscyIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQiIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgInRsczEzIHNlcnZlciBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0hFTExPIiBcCkBAIC0xMzExOSw4ICsxMzQ5OCw4IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogU2VydmVyIHNpZGUgY2hlY2sgLSBtYmVkdGxzIHdpdGggY2xpZW50IGF1dGhlbnRpY2F0aW9uIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBhdXRoX21vZGU9cmVxdWlyZWQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IHRpY2tldHM9MCIgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAidGxzMTMgc2VydmVyIHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfSEVMTE8iIFwKICAgICAgICAgICAgIC1zICJ0bHMxMyBzZXJ2ZXIgc3RhdGU6IE1CRURUTFNfU1NMX1NFUlZFUl9IRUxMTyIgXApAQCAtMTMxMzYsNyArMTM1MTUsNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IFNlcnZlciBzaWRlIGNoZWNrIC0gbWJlZHRscyB3aXRoIGNsaWVudCBlbXB0eSBjZXJ0aWZpY2F0ZSIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGF1dGhfbW9kZT1yZXF1aXJlZCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1ub25lIGtleV9maWxlPW5vbmUiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLXMgInRsczEzIHNlcnZlciBzdGF0ZTogTUJFRFRMU19TU0xfQ0xJRU5UX0hFTExPIiBcCkBAIC0xMzE1NCw3ICsxMzUzMyw3IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogU2VydmVyIHNpZGUgY2hlY2sgLSBtYmVkdGxzIHdpdGggb3B0aW9uYWwgY2xpZW50IGF1dGhlbnRpY2F0aW9uIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPW9wdGlvbmFsIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBhdXRoX21vZGU9b3B0aW9uYWwgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IHRpY2tldHM9MCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPW5vbmUga2V5X2ZpbGU9bm9uZSIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAidGxzMTMgc2VydmVyIHN0YXRlOiBNQkVEVExTX1NTTF9DTElFTlRfSEVMTE8iIFwKQEAgLTEzMTk4LDEyICsxMzU3NywxMSBAQAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBTZXJ2ZXIgc2lkZSBjaGVjayAtIG9wZW5zc2wgd2l0aCBzbmkiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBhdXRoX21vZGU9cmVxdWlyZWQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldHM9MCBcCi0gICAgICAgICAgICAgc25pPWxvY2FsaG9zdCxkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0LGRhdGFfZmlsZXMvc2VydmVyNS5rZXksZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCwtLC0scG9sYXJzc2wuZXhhbXBsZSxkYXRhX2ZpbGVzL3NlcnZlcjEtbm9zcGFjZS5jcnQsZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSwtLC0sLSIgXAotICAgICAgICAgICAgIiRPX05FWFRfQ0xJIC1tc2cgLWRlYnVnIC1zZXJ2ZXJuYW1lIGxvY2FsaG9zdCAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyNS5rZXkgLXRsczFfMyIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGF1dGhfbW9kZT1yZXF1aXJlZCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgdGlja2V0cz0wIFwKKyAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSwkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0LC0sLSxwb2xhcnNzbC5leGFtcGxlLCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS1ub3NwYWNlLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEua2V5LC0sLSwtIiBcCisgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLW1zZyAtZGVidWcgLXNlcnZlcm5hbWUgbG9jYWxob3N0IC1DQWZpbGUgJERBVEFfRklMRVNfUEFUSC90ZXN0LWNhX2NhdDEyLmNydCAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSAtdGxzMV8zIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJwYXJzZSBTZXJ2ZXJOYW1lIGV4dGVuc2lvbiIgXAogICAgICAgICAgICAgLXMgIkhUVFAvMS4wIDIwMCBPSyIKQEAgLTEzMjExLDEyICsxMzU4OSwxMSBAQAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBTZXJ2ZXIgc2lkZSBjaGVjayAtIGdudXRscyB3aXRoIHNuaSIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGF1dGhfbW9kZT1yZXF1aXJlZCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz0wIFwKLSAgICAgICAgICAgICBzbmk9bG9jYWxob3N0LGRhdGFfZmlsZXMvc2VydmVyNS5jcnQsZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSxkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0LC0sLSxwb2xhcnNzbC5leGFtcGxlLGRhdGFfZmlsZXMvc2VydmVyMS1ub3NwYWNlLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjEua2V5LC0sLSwtIiBcCi0gICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC1kIDQgLS1zbmktaG9zdG5hbWU9bG9jYWxob3N0IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyNS5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjUua2V5IC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMgLVYiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBhdXRoX21vZGU9cmVxdWlyZWQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IHRpY2tldHM9MCBcCisgICAgICAgICAgICAgc25pPWxvY2FsaG9zdCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXksJERBVEFfRklMRVNfUEFUSC90ZXN0LWNhX2NhdDEyLmNydCwtLC0scG9sYXJzc2wuZXhhbXBsZSwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjEtbm9zcGFjZS5jcnQsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLmtleSwtLC0sLSIgXAorICAgICAgICAgICAgIiRHX05FWFRfQ0xJIGxvY2FsaG9zdCAtZCA0IC0tc25pLWhvc3RuYW1lPWxvY2FsaG9zdCAtLXg1MDljZXJ0ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IC0teDUwOWtleWZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIC1WIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJwYXJzZSBTZXJ2ZXJOYW1lIGV4dGVuc2lvbiIgXAogICAgICAgICAgICAgLXMgIkhUVFAvMS4wIDIwMCBPSyIKQEAgLTEzMjI0LDEyICsxMzYwMSwxMSBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogU2VydmVyIHNpZGUgY2hlY2sgLSBtYmVkdGxzIHdpdGggc25pIiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAgXAotICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCxkYXRhX2ZpbGVzL3NlcnZlcjIua2V5LC0sLSwtLHBvbGFyc3NsLmV4YW1wbGUsZGF0YV9maWxlcy9zZXJ2ZXIxLW5vc3BhY2UuY3J0LGRhdGFfZmlsZXMvc2VydmVyMS5rZXksLSwtLC0iIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBzZXJ2ZXJfbmFtZT1sb2NhbGhvc3QgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAgXAorICAgICAgICAgICAgIHNuaT1sb2NhbGhvc3QsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmNydCwkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5LC0sLSwtLHBvbGFyc3NsLmV4YW1wbGUsJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIxLW5vc3BhY2UuY3J0LCREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMS5rZXksLSwtLC0iIFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBzZXJ2ZXJfbmFtZT1sb2NhbGhvc3QgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJwYXJzZSBTZXJ2ZXJOYW1lIGV4dGVuc2lvbiIgXAogICAgICAgICAgICAgLXMgIkhUVFAvMS4wIDIwMCBPSyIKQEAgLTEzMjYwLDggKzEzNjM2LDggQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+bSBib3RoIHdpdGggbWlkZGxlYm94IGNvbXBhdCBzdXBwb3J0IiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQiIFwKQEAgLTEzMjkyLDE0ICsxMzY2OCwxNSBAQAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+TyBzZXJ2ZXIgd2l0aCBtaWRkbGVib3ggY29tcGF0IHN1cHBvcnQsIG5vdCBjbGllbnQiIFwKICAgICAgICAgICAgICIkT19ORVhUX1NSViAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQiIFwKLSAgICAgICAgICAgIDEgXAotICAgICAgICAgICAgLWMgIkNoYW5nZUNpcGhlclNwZWMgaW52YWxpZCBpbiBUTFMgMS4zIHdpdGhvdXQgY29tcGF0aWJpbGl0eSBtb2RlIgorICAgICAgICAgICAgMCBcCisgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAorICAgICAgICAgICAgLWMgIklnbm9yZSBDaGFuZ2VDaXBoZXJTcGVjIGluIFRMUyAxLjMgY29tcGF0aWJpbGl0eSBtb2RlIgogCiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+TyBib3RoIHdpdGggbWlkZGxlYm94IGNvbXBhdCBzdXBwb3J0IiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1udW1fdGlja2V0cyAwIC1ub19yZXN1bWVfZXBoZW1lcmFsIC1ub19jYWNoZSIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IiBcCkBAIC0xMzMzMSwxNSArMTM3MDgsMTYgQEAKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIG0tPkcgc2VydmVyIHdpdGggbWlkZGxlYm94IGNvbXBhdCBzdXBwb3J0LCBub3QgY2xpZW50IiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzorQ0lQSEVSLUFMTDolTk9fVElDS0VUUyAtLWRpc2FibGUtY2xpZW50LWNlcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCIgXAotICAgICAgICAgICAgMSBcCi0gICAgICAgICAgICAtYyAiQ2hhbmdlQ2lwaGVyU3BlYyBpbnZhbGlkIGluIFRMUyAxLjMgd2l0aG91dCBjb21wYXRpYmlsaXR5IG1vZGUiCisgICAgICAgICAgICAwIFwKKyAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCisgICAgICAgICAgICAtYyAiSWdub3JlIENoYW5nZUNpcGhlclNwZWMgaW4gVExTIDEuMyBjb21wYXRpYmlsaXR5IG1vZGUiCiAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIG0tPkcgYm90aCB3aXRoIG1pZGRsZWJveCBjb21wYXQgc3VwcG9ydCIgXAogICAgICAgICAgICAgIiRHX05FWFRfU1JWIC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6JU5PX1RJQ0tFVFMgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQiIFwKQEAgLTEzMzUzLDcgKzEzNzMxLDcgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIE8tPm0gYm90aCBwZWVycyBkbyBub3Qgc3VwcG9ydCBtaWRkbGVib3ggY29tcGF0aWJpbGl0eSIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLW1zZyAtZGVidWcgLW5vX21pZGRsZWJveCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXApAQCAtMTMzNjMsMTAgKzEzNzQxLDEwIEBACiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgTy0+bSBzZXJ2ZXIgd2l0aCBtaWRkbGVib3ggY29tcGF0IHN1cHBvcnQsIG5vdCBjbGllbnQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IHRpY2tldHM9MCIgXAogICAgICAgICAgICAgIiRPX05FWFRfQ0xJIC1tc2cgLWRlYnVnIC1ub19taWRkbGVib3giIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKQEAgLTEzMzc1LDEwICsxMzc1MywxMCBAQAogcmVxdWlyZXNfb3BlbnNzbF90bHMxXzNfd2l0aF9jb21wYXRpYmxlX2VwaGVtZXJhbAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIE8tPm0gYm90aCB3aXRoIG1pZGRsZWJveCBjb21wYXQgc3VwcG9ydCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLW1zZyAtZGVidWciIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKQEAgLTEzMzkzLDcgKzEzNzcxLDcgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIEctPm0gYm90aCBwZWVycyBkbyBub3Qgc3VwcG9ydCBtaWRkbGVib3ggY29tcGF0aWJpbGl0eSIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKKyAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9DTEkgbG9jYWxob3N0IC0tcHJpb3JpdHk9Tk9STUFMOiVOT19USUNLRVRTOiVESVNBQkxFX1RMUzEzX0NPTVBBVF9NT0RFIC1WIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMzQwNSwxMCArMTM3ODMsMTAgQEAKIHJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0CiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgRy0+bSBzZXJ2ZXIgd2l0aCBtaWRkbGVib3ggY29tcGF0IHN1cHBvcnQsIG5vdCBjbGllbnQiIFwKLSAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgdGlja2V0cz0wIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IHRpY2tldHM9MCIgXAogICAgICAgICAgICAgIiRHX05FWFRfQ0xJIGxvY2FsaG9zdCAtLWRlYnVnPTEwIC0tcHJpb3JpdHk9Tk9STUFMOiVOT19USUNLRVRTOiVESVNBQkxFX1RMUzEzX0NPTVBBVF9NT0RFIC1WIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMzQyMSwxMCArMTM3OTksMTAgQEAKIHJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0CiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgRy0+bSBib3RoIHdpdGggbWlkZGxlYm94IGNvbXBhdCBzdXBwb3J0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IHRpY2tldHM9MCIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSB0aWNrZXRzPTAiIFwKICAgICAgICAgICAgICIkR19ORVhUX0NMSSBsb2NhbGhvc3QgLS1kZWJ1Zz0xMCAtLXByaW9yaXR5PU5PUk1BTDolTk9fVElDS0VUUzolRElTQUJMRV9UTFMxM19DT01QQVRfTU9ERSAtViIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXApAQCAtMTM0NTAsOCArMTM4MjgsOCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIG0tPm0gSFJSIGJvdGggd2l0aCBtaWRkbGVib3ggY29tcGF0IHN1cHBvcnQiIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGdyb3Vwcz1zZWNwMjU2cjEsc2VjcDM4NHIxIiBcCkBAIC0xMzQ4NCwxNSArMTM4NjIsMTYgQEAKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIG0tPk8gSFJSIHNlcnZlciB3aXRoIG1pZGRsZWJveCBjb21wYXQgc3VwcG9ydCwgbm90IGNsaWVudCIgXAogICAgICAgICAgICAgIiRPX05FWFRfU1JWIC1tc2cgLXRsczFfMyAtZ3JvdXBzIFAtMzg0IC1udW1fdGlja2V0cyAwIC1ub19jYWNoZSIgXAogICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGdyb3Vwcz1zZWNwMjU2cjEsc2VjcDM4NHIxIiBcCi0gICAgICAgICAgICAxIFwKKyAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgInJlY2VpdmVkIEhlbGxvUmV0cnlSZXF1ZXN0IG1lc3NhZ2UiIFwKLSAgICAgICAgICAgIC1jICJDaGFuZ2VDaXBoZXJTcGVjIGludmFsaWQgaW4gVExTIDEuMyB3aXRob3V0IGNvbXBhdGliaWxpdHkgbW9kZSIKKyAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCisgICAgICAgICAgICAtYyAiSWdub3JlIENoYW5nZUNpcGhlclNwZWMgaW4gVExTIDEuMyBjb21wYXRpYmlsaXR5IG1vZGUiCiAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMyBtLT5PIEhSUiBib3RoIHdpdGggbWlkZGxlYm94IGNvbXBhdCBzdXBwb3J0IiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9TUlYgLW1zZyAtdGxzMV8zIC1ncm91cHMgUC0zODQgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgZ3JvdXBzPXNlY3AyNTZyMSxzZWNwMzg0cjEiIFwKQEAgLTEzNTI1LDE3ICsxMzkwNCwxOCBAQAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgbS0+RyBIUlIgc2VydmVyIHdpdGggbWlkZGxlYm94IGNvbXBhdCBzdXBwb3J0LCBub3QgY2xpZW50IiBcCiAgICAgICAgICAgICAiJEdfTkVYVF9TUlYgLS1wcmlvcml0eT1OT1JNQUw6LUdST1VQLUFMTDorR1JPVVAtU0VDUDM4NFIxOi1WRVJTLUFMTDorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgZ3JvdXBzPXNlY3AyNTZyMSxzZWNwMzg0cjEiIFwKLSAgICAgICAgICAgIDEgXAorICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAotICAgICAgICAgICAgLWMgIkNoYW5nZUNpcGhlclNwZWMgaW52YWxpZCBpbiBUTFMgMS4zIHdpdGhvdXQgY29tcGF0aWJpbGl0eSBtb2RlIgorICAgICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKKyAgICAgICAgICAgIC1jICJJZ25vcmUgQ2hhbmdlQ2lwaGVyU3BlYyBpbiBUTFMgMS4zIGNvbXBhdGliaWxpdHkgbW9kZSIKIAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0CiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIG0tPkcgSFJSIGJvdGggd2l0aCBtaWRkbGVib3ggY29tcGF0IHN1cHBvcnQiIFwKICAgICAgICAgICAgICIkR19ORVhUX1NSViAtLXByaW9yaXR5PU5PUk1BTDotR1JPVVAtQUxMOitHUk9VUC1TRUNQMzg0UjE6LVZFUlMtQUxMOitWRVJTLVRMUzEuMzorQ0lQSEVSLUFMTDolTk9fVElDS0VUUyAtLWRpc2FibGUtY2xpZW50LWNlcnQiIFwKICAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBncm91cHM9c2VjcDI1NnIxLHNlY3AzODRyMSIgXApAQCAtMTM1NDksNyArMTM5MjksNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgTy0+bSBIUlIgYm90aCBwZWVycyBkbyBub3Qgc3VwcG9ydCBtaWRkbGVib3ggY29tcGF0aWJpbGl0eSIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAogICAgICAgICAgICAgIiRPX05FWFRfQ0xJIC1tc2cgLWRlYnVnIC1ncm91cHMgUC0yNTY6UC0zODQgLW5vX21pZGRsZWJveCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXApAQCAtMTM1NTksMTAgKzEzOTM5LDEwIEBACiByZXF1aXJlc19vcGVuc3NsX3RsczFfM193aXRoX2NvbXBhdGlibGVfZXBoZW1lcmFsCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgTy0+bSBIUlIgc2VydmVyIHdpdGggbWlkZGxlYm94IGNvbXBhdCBzdXBwb3J0LCBub3QgY2xpZW50IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGdyb3Vwcz1zZWNwMzg0cjEgdGlja2V0cz0wIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGdyb3Vwcz1zZWNwMzg0cjEgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLW1zZyAtZGVidWcgLWdyb3VwcyBQLTI1NjpQLTM4NCAtbm9fbWlkZGxlYm94IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMzU3MSwxMCArMTM5NTEsMTAgQEAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMyBPLT5tIEhSUiBib3RoIHdpdGggbWlkZGxlYm94IGNvbXBhdCBzdXBwb3J0IiBcCi0gICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IGdyb3Vwcz1zZWNwMzg0cjEgdGlja2V0cz0wIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IGdyb3Vwcz1zZWNwMzg0cjEgdGlja2V0cz0wIiBcCiAgICAgICAgICAgICAiJE9fTkVYVF9DTEkgLW1zZyAtZGVidWcgLWdyb3VwcyBQLTI1NjpQLTM4NCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXApAQCAtMTM1ODksNyArMTM5NjksNyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgRy0+bSBIUlIgYm90aCBwZWVycyBkbyBub3Qgc3VwcG9ydCBtaWRkbGVib3ggY29tcGF0aWJpbGl0eSIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAogICAgICAgICAgICAgIiRHX05FWFRfQ0xJIGxvY2FsaG9zdCAtLXByaW9yaXR5PU5PUk1BTDotR1JPVVAtQUxMOitHUk9VUC1TRUNQMjU2UjE6K0dST1VQLVNFQ1AzODRSMTolTk9fVElDS0VUUzolRElTQUJMRV9UTFMxM19DT01QQVRfTU9ERSAtViIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXApAQCAtMTM2MDIsMTAgKzEzOTgyLDEwIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRUNESAotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zIEctPm0gSFJSIHNlcnZlciB3aXRoIG1pZGRsZWJveCBjb21wYXQgc3VwcG9ydCwgbm90IGNsaWVudCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAogICAgICAgICAgICAgIiRHX05FWFRfQ0xJIGxvY2FsaG9zdCAtLWRlYnVnPTEwIC0tcHJpb3JpdHk9Tk9STUFMOi1HUk9VUC1BTEw6K0dST1VQLVNFQ1AyNTZSMTorR1JPVVAtU0VDUDM4NFIxOiVOT19USUNLRVRTOiVESVNBQkxFX1RMUzEzX0NPTVBBVF9NT0RFIC1WIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMzYxOSwxMCArMTM5OTksMTAgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19FQ0RICi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjMgRy0+bSBIUlIgYm90aCB3aXRoIG1pZGRsZWJveCBjb21wYXQgc3VwcG9ydCIgXAotICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAorICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBncm91cHM9c2VjcDM4NHIxIHRpY2tldHM9MCIgXAogICAgICAgICAgICAgIiRHX05FWFRfQ0xJIGxvY2FsaG9zdCAtLWRlYnVnPTEwIC0tcHJpb3JpdHk9Tk9STUFMOi1HUk9VUC1BTEw6K0dST1VQLVNFQ1AyNTZSMTorR1JPVVAtU0VDUDM4NFIxOiVOT19USUNLRVRTOiVESVNBQkxFX1RMUzEzX0NPTVBBVF9NT0RFIC1WIiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMzYzMiwxMyArMTQwMTIsMTIgQEAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgc2lnbmF0dXJlIGFsZ29yaXRobSBvcmRlciwgbS0+TyIgXAotICAgICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5CisgICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tc2cgLXRsczFfMyAtbnVtX3RpY2tldHMgMCAtbm9fcmVzdW1lX2VwaGVtZXJhbCAtbm9fY2FjaGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1WZXJpZnkgMTAgLXNpZ2FsZ3MgcnNhX3BrY3MxX3NoYTUxMjpyc2FfcHNzX3JzYWVfc2hhNTEyOnJzYV9wc3NfcnNhZV9zaGEzODQ6ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAogICAgICAgICAgICAgICAgICAgICBzaWdfYWxncz1yc2FfcGtjczFfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTM4NCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMzY0OCwxMyArMTQwMjcsMTIgQEAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgc2lnbmF0dXJlIGFsZ29yaXRobSBvcmRlciwgbS0+RyIgXAotICAgICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5CisgICAgICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLXg1MDljZXJ0ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkKICAgICAgICAgICAgICAgICAgICAgLWQgNAogICAgICAgICAgICAgICAgICAgICAtLXByaW9yaXR5PU5PUk1BTDotVkVSUy1BTEw6LVNJR04tQUxMOitTSUdOLVJTQS1TSEE1MTI6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTUxMjorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMzg0OitWRVJTLVRMUzEuMzorQ0lQSEVSLUFMTDolTk9fVElDS0VUUyAiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKICAgICAgICAgICAgICAgICAgICAgc2lnX2FsZ3M9cnNhX3BrY3MxX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGEzODQsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXApAQCAtMTM2NjQsMTQgKzE0MDQyLDEzIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDaGVjayBzaWduYXR1cmUgYWxnb3JpdGhtIG9yZGVyLCBtLT5tIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgIGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQotICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkKKyAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CisgICAgICAgICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleQogICAgICAgICAgICAgICAgICAgICBzaWdfYWxncz1yc2FfcGtjczFfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTM4NCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2ICIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAogICAgICAgICAgICAgICAgICAgICBzaWdfYWxncz1yc2FfcGtjczFfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTM4NCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMzY4MywxNSArMTQwNjAsMTQgQEAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgc2lnbmF0dXJlIGFsZ29yaXRobSBvcmRlciwgTy0+bSIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGF1dGhfbW9kZT1yZXF1aXJlZAotICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkKLSAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5CisgICAgICAgICAgICAgICAgICAgIGNydF9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleQorICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkKICAgICAgICAgICAgICAgICAgICAgc2lnX2FsZ3M9cnNhX3BrY3MxX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGEzODQsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiAiIFwKLSAgICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1tc2cgLUNBZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBcCisgICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtbXNnIC1DQWZpbGUgJERBVEFfRklMRVNfUEFUSC90ZXN0LWNhX2NhdDEyLmNydCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtY2VydCAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCAta2V5ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXNpZ2FsZ3MgcnNhX3BrY3MxX3NoYTUxMjpyc2FfcHNzX3JzYWVfc2hhNTEyOnJzYV9wc3NfcnNhZV9zaGEzODQ6ZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgIFwKICAgICAgICAgICAgIDAgXAogICAgICAgICAgICAgLWMgIlRMU3YxLjMiIFwKQEAgLTEzNzAxLDE1ICsxNDA3NywxNCBAQAogcmVxdWlyZXNfZ251dGxzX3RsczFfMwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDaGVjayBzaWduYXR1cmUgYWxnb3JpdGhtIG9yZGVyLCBHLT5tIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgIGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQotICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkKKyAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CisgICAgICAgICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleQogICAgICAgICAgICAgICAgICAgICBzaWdfYWxncz1yc2FfcGtjczFfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTM4NCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2ICIgXAotICAgICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgbG9jYWxob3N0IC1kIDQgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIGxvY2FsaG9zdCAtZCA0IC0teDUwOWNhZmlsZSAkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0teDUwOWNlcnRmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXByaW9yaXR5PU5PUk1BTDotU0lHTi1BTEw6K1NJR04tUlNBLVNIQTUxMjorU0lHTi1SU0EtUFNTLVJTQUUtU0hBNTEyOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEzODQiICBcCiAgICAgICAgICAgICAwIFwKICAgICAgICAgICAgIC1jICJOZWdvdGlhdGVkIHZlcnNpb246IDMuNCIgXApAQCAtMTM3MjAsMTUgKzE0MDk1LDE0IEBACiByZXF1aXJlc19nbnV0bHNfdGxzMV8zCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENoZWNrIHNlcnZlciBubyBzdWl0YWJsZSBzaWduYXR1cmUgYWxnb3JpdGhtLCBHLT5tIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgIGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQotICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkKKyAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CisgICAgICAgICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleQogICAgICAgICAgICAgICAgICAgICBzaWdfYWxncz1yc2FfcGtjczFfc2hhNTEyLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgIiBcCi0gICAgICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCBsb2NhbGhvc3QgLWQgNCAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgbG9jYWxob3N0IC1kIDQgLS14NTA5Y2FmaWxlICREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYV9jYXQxMi5jcnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS14NTA5Y2VydGZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tcHJpb3JpdHk9Tk9STUFMOi1TSUdOLUFMTDorU0lHTi1SU0EtU0hBNTEyOitTSUdOLVJTQS1QU1MtUlNBRS1TSEE1MTI6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMiIgIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLVMgInNzbF90bHMxM19waWNrX2tleV9jZXJ0OmNoZWNrIHNpZ25hdHVyZSBhbGdvcml0aG0iCkBAIC0xMzczNiwxNSArMTQxMTAsMTQgQEAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgc2VydmVyIG5vIHN1aXRhYmxlIHNpZ25hdHVyZSBhbGdvcml0aG0sIE8tPm0iIFwKICAgICAgICAgICAgICIkUF9TUlYgZGVidWdfbGV2ZWw9NCBhdXRoX21vZGU9cmVxdWlyZWQKLSAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5Ci0gICAgICAgICAgICAgICAgICAgIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleQorICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkKKyAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5CiAgICAgICAgICAgICAgICAgICAgIHNpZ19hbGdzPXJzYV9wa2NzMV9zaGE1MTIsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAotICAgICAgICAgICAgIiRPX05FWFRfQ0xJX05PX0NFUlQgLW1zZyAtQ0FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLWNlcnQgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IFwKKyAgICAgICAgICAgICIkT19ORVhUX0NMSV9OT19DRVJUIC1tc2cgLUNBZmlsZSAkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtc2lnYWxncyByc2FfcGtjczFfc2hhNTEyOnJzYV9wc3NfcnNhZV9zaGE1MTI6ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLVMgInNzbF90bHMxM19waWNrX2tleV9jZXJ0OmNoZWNrIHNpZ25hdHVyZSBhbGdvcml0aG0iCkBAIC0xMzc1MiwxNCArMTQxMjUsMTMgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCi1yZXF1aXJlc19hbGxfY29uZmlnc19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKK3JlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAogcnVuX3Rlc3QgICAgIlRMUyAxLjM6IENoZWNrIHNlcnZlciBubyBzdWl0YWJsZSBzaWduYXR1cmUgYWxnb3JpdGhtLCBtLT5tIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQgYXV0aF9tb2RlPXJlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgIGNydF9maWxlMj1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQotICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkKKyAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGUyPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CisgICAgICAgICAgICAgICAgICAgIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleQogICAgICAgICAgICAgICAgICAgICBzaWdfYWxncz1yc2FfcGtjczFfc2hhNTEyLGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGFsbG93X3NoYTE9MCBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgXAorICAgICAgICAgICAgIiRQX0NMSSBhbGxvd19zaGExPTAgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IFwKICAgICAgICAgICAgICAgICAgICAgc2lnX2FsZ3M9cnNhX3BrY3MxX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhNTEyLGVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLVMgInNzbF90bHMxM19waWNrX2tleV9jZXJ0OmNoZWNrIHNpZ25hdHVyZSBhbGdvcml0aG0iCkBAIC0xMzc2NywxMyArMTQxMzksMTIgQEAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgc2VydmVyIG5vIHN1aXRhYmxlIGNlcnRpZmljYXRlLCBHLT5tIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQKLSAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQorICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CiAgICAgICAgICAgICAgICAgICAgIHNpZ19hbGdzPXJzYV9wa2NzMV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhMzg0LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgIiBcCi0gICAgICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCBsb2NhbGhvc3QgLWQgNCAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBcCisgICAgICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCBsb2NhbGhvc3QgLWQgNCAtLXg1MDljYWZpbGUgJERBVEFfRklMRVNfUEFUSC90ZXN0LWNhX2NhdDEyLmNydCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXByaW9yaXR5PU5PUk1BTDotU0lHTi1BTEw6K1NJR04tRUNEU0EtU0VDUDUyMVIxLVNIQTUxMjorU0lHTi1FQ0RTQS1TRUNQMjU2UjEtU0hBMjU2IiAgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtcyAic3NsX3RsczEzX3BpY2tfa2V5X2NlcnQ6bm8gc3VpdGFibGUgY2VydGlmaWNhdGUgZm91bmQiCkBAIC0xMzc4MSwxMyArMTQxNTIsMTIgQEAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgc2VydmVyIG5vIHN1aXRhYmxlIGNlcnRpZmljYXRlLCBPLT5tIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQKLSAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQorICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CiAgICAgICAgICAgICAgICAgICAgIHNpZ19hbGdzPXJzYV9wa2NzMV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhMzg0LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtbXNnIC1DQWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBcCisgICAgICAgICAgICAiJE9fTkVYVF9DTElfTk9fQ0VSVCAtbXNnIC1DQWZpbGUgJERBVEFfRklMRVNfUEFUSC90ZXN0LWNhX2NhdDEyLmNydCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtc2lnYWxncyBlY2RzYV9zZWNwNTIxcjFfc2hhNTEyOmVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiICBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1zICJzc2xfdGxzMTNfcGlja19rZXlfY2VydDpubyBzdWl0YWJsZSBjZXJ0aWZpY2F0ZSBmb3VuZCIKQEAgLTEzNzk1LDExICsxNDE2NSwxMCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgc2VydmVyIG5vIHN1aXRhYmxlIGNlcnRpZmljYXRlLCBtLT5tIiBcCiAgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTQKLSAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQorICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CiAgICAgICAgICAgICAgICAgICAgIHNpZ19hbGdzPXJzYV9wa2NzMV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhMzg0LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYgIiBcCiAgICAgICAgICAgICAiJFBfQ0xJIGFsbG93X3NoYTE9MCBkZWJ1Z19sZXZlbD00IFwKICAgICAgICAgICAgICAgICAgICAgc2lnX2FsZ3M9ZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMixlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCkBAIC0xMzgwOSwxMyArMTQxNzgsMTIgQEAKIHJlcXVpcmVzX29wZW5zc2xfdGxzMV8zX3dpdGhfY29tcGF0aWJsZV9lcGhlbWVyYWwKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgY2xpZW50IG5vIHNpZ25hdHVyZSBhbGdvcml0aG0sIG0tPk8iIFwKLSAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0IGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQorICAgICAgICAgICAgIiRPX05FWFRfU1JWX05PX0NFUlQgLWNlcnQgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLWtleSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbXNnIC10bHMxXzMgLW51bV90aWNrZXRzIDAgLW5vX3Jlc3VtZV9lcGhlbWVyYWwgLW5vX2NhY2hlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtVmVyaWZ5IDEwIC1zaWdhbGdzIHJzYV9wa2NzMV9zaGE1MTI6cnNhX3Bzc19yc2FlX3NoYTUxMjpyc2FfcHNzX3JzYWVfc2hhMzg0OmVjZHNhX3NlY3A1MjFyMV9zaGE1MTIiIFwKLSAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5rZXkgXAorICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmtleSBcCiAgICAgICAgICAgICAgICAgICAgIHNpZ19hbGdzPXJzYV9wa2NzMV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhMzg0LGVjZHNhX3NlY3AyNTZyMV9zaGEyNTYiIFwKICAgICAgICAgICAgIDEgXAogICAgICAgICAgICAgLWMgIm5vIHN1aXRhYmxlIHNpZ25hdHVyZSBhbGdvcml0aG0iCkBAIC0xMzgyMywxMyArMTQxOTEsMTIgQEAKIHJlcXVpcmVzX2dudXRsc190bHMxXzMKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKLXJlcXVpcmVzX2FsbF9jb25maWdzX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAorcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECiBydW5fdGVzdCAgICAiVExTIDEuMzogQ2hlY2sgY2xpZW50IG5vIHNpZ25hdHVyZSBhbGdvcml0aG0sIG0tPkciIFwKLSAgICAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQorICAgICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS14NTA5Y2VydGZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CiAgICAgICAgICAgICAgICAgICAgIC1kIDQKICAgICAgICAgICAgICAgICAgICAgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOi1TSUdOLUFMTDorU0lHTi1SU0EtU0hBNTEyOitTSUdOLVJTQS1QU1MtUlNBRS1TSEE1MTI6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTM4NDorVkVSUy1UTFMxLjM6K0NJUEhFUi1BTEw6JU5PX1RJQ0tFVFMgIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IFwKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkgXAogICAgICAgICAgICAgICAgICAgICBzaWdfYWxncz1yc2FfcGtjczFfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGE1MTIscnNhX3Bzc19yc2FlX3NoYTM4NCxlY2RzYV9zZWNwMjU2cjFfc2hhMjU2IiBcCiAgICAgICAgICAgICAxIFwKICAgICAgICAgICAgIC1jICJubyBzdWl0YWJsZSBzaWduYXR1cmUgYWxnb3JpdGhtIgpAQCAtMTM4MzcsMTQgKzE0MjA0LDEzIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwotcmVxdWlyZXNfYWxsX2NvbmZpZ3NfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBDaGVjayBjbGllbnQgbm8gc2lnbmF0dXJlIGFsZ29yaXRobSwgbS0+bSIgXAogICAgICAgICAgICAgIiRQX1NSViBkZWJ1Z19sZXZlbD00IGF1dGhfbW9kZT1yZXF1aXJlZAotICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZTI9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGUyPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkKLSAgICAgICAgICAgICAgICAgICAgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjUua2V5CisgICAgICAgICAgICAgICAgICAgIGNydF9maWxlMj0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZTI9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleQorICAgICAgICAgICAgICAgICAgICBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyNS5rZXkKICAgICAgICAgICAgICAgICAgICAgc2lnX2FsZ3M9cnNhX3BrY3MxX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGEzODQsZWNkc2Ffc2VjcDUyMXIxX3NoYTUxMiIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyNS5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSBcCisgICAgICAgICAgICAiJFBfQ0xJIGRlYnVnX2xldmVsPTQgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXI1LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjUua2V5IFwKICAgICAgICAgICAgICAgICAgICAgc2lnX2FsZ3M9cnNhX3BrY3MxX3NoYTUxMixyc2FfcHNzX3JzYWVfc2hhNTEyLHJzYV9wc3NfcnNhZV9zaGEzODQsZWNkc2Ffc2VjcDI1NnIxX3NoYTI1NiIgXAogICAgICAgICAgICAgMSBcCiAgICAgICAgICAgICAtYyAibm8gc3VpdGFibGUgc2lnbmF0dXJlIGFsZ29yaXRobSIKQEAgLTEzODU0LDEwICsxNDIyMCwxMCBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcnVuX3Rlc3QgICAgIlRMUyAxLjI6IENoZWNrIHJzYV9wc3NfcnNhZSBjb21wYXRpYmlsaXR5IGlzc3VlLCBtLT5PIiBcCi0gICAgICAgICAgICAiJE9fTkVYVF9TUlZfTk9fQ0VSVCAtY2VydCBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAta2V5IGRhdGFfZmlsZXMvc2VydmVyMi5rZXkKKyAgICAgICAgICAgICIkT19ORVhUX1NSVl9OT19DRVJUIC1jZXJ0ICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IC1rZXkgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zZyAtdGxzMV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtVmVyaWZ5IDEwICIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CiAgICAgICAgICAgICAgICAgICAgIHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGE1MTIscnNhX3BrY3MxX3NoYTUxMgogICAgICAgICAgICAgICAgICAgICBtaW5fdmVyc2lvbj10bHMxMiBtYXhfdmVyc2lvbj10bHMxMyAiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTM4NzAsMTAgKzE0MjM2LDEwIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiBydW5fdGVzdCAgICAiVExTIDEuMjogQ2hlY2sgcnNhX3Bzc19yc2FlIGNvbXBhdGliaWxpdHkgaXNzdWUsIG0tPkciIFwKLSAgICAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleQorICAgICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS14NTA5Y2VydGZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CiAgICAgICAgICAgICAgICAgICAgIC1kIDQKICAgICAgICAgICAgICAgICAgICAgLS1wcmlvcml0eT1OT1JNQUw6LVZFUlMtQUxMOitWRVJTLVRMUzEuMiIgXAotICAgICAgICAgICAgIiRQX0NMSSBkZWJ1Z19sZXZlbD00IGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkKKyAgICAgICAgICAgICIkUF9DTEkgZGVidWdfbGV2ZWw9NCBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5CiAgICAgICAgICAgICAgICAgICAgIHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGE1MTIscnNhX3BrY3MxX3NoYTUxMgogICAgICAgICAgICAgICAgICAgICBtaW5fdmVyc2lvbj10bHMxMiBtYXhfdmVyc2lvbj10bHMxMyAiIFwKICAgICAgICAgICAgIDAgXApAQCAtMTM4ODMsNyArMTQyNDksNiBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8zMDcyCkBAIC0xMzg5MSw4ICsxNDI1Niw4IEBACiByZXF1aXJlc19nbnV0bHNfbmV4dF9ub190aWNrZXQKIHJlcXVpcmVzX2dudXRsc19uZXh0X2Rpc2FibGVfdGxzMTNfY29tcGF0CiBydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUzMDcyLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUzMDcyIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtRkZESEUzMDcyOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAorICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTMwNzIgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCisgICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSAkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTMwNzI6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKQEAgLTEzOTA4LDEzICsxNDI3MywxMiBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV8zMDcyCiBydW5fdGVzdCAiVExTIDEuMyBtLT5HOiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGUzMDcyLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtRkZESEUzMDcyOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAotICAgICAgICAgIiRQX0NMSSBjYV9maWxlPWRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlMzA3MiIgXAorICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTMwNzI6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCisgICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9JERBVEFfRklMRVNfUEFUSC90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGUzMDcyIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1jICJIVFRQLzEuMCAyMDAgT0siIFwKICAgICAgICAgIC1jICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCkBAIC0xMzkyNyw3ICsxNDI5MSw2IEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzQwOTYKQEAgLTEzOTM1LDggKzE0Mjk4LDggQEAKIHJlcXVpcmVzX2dudXRsc19uZXh0X25vX3RpY2tldAogcmVxdWlyZXNfZ251dGxzX25leHRfZGlzYWJsZV90bHMxM19jb21wYXQKIHJ1bl90ZXN0ICJUTFMgMS4zIEctPm06IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTQwOTYscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT1kYXRhX2ZpbGVzL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTQwOTYgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCi0gICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSBkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTQwOTY6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCisgICAgICAgICAiJFBfU1JWIGNydF9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlNDA5NiB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKKyAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlICREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLUZGREhFNDA5NjorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLXMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKICAgICAgICAgIC1zICJzZXJ2ZXIgaGVsbG8sIGNob3NlbiBjaXBoZXJzdWl0ZTogVExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiAoIGlkPTQ4NjUgKSIgXApAQCAtMTM5NTIsMTMgKzE0MzE1LDEyIEBACiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9DTElfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19ERUJVR19DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKLXJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19DT01QQVRJQklMSVRZX01PREUKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0FMR19GRkRICiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9ESF9SRkM3OTE5XzQwOTYKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTQwOTYscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTQwOTY6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGU0MDk2IiBcCisgICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLUZGREhFNDA5NjorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKKyAgICAgICAgICIkUF9DTEkgY2FfZmlsZT0kREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTQwOTYiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKQEAgLTEzOTcxLDcgKzE0MzMzLDYgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1NSVl9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfNjE0NApAQCAtMTM5NzksOCArMTQzNDAsOCBAQAogcmVxdWlyZXNfZ251dGxzX25leHRfbm9fdGlja2V0CiByZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAogcnVuX3Rlc3QgIlRMUyAxLjMgRy0+bTogQUVTXzEyOF9HQ01fU0hBMjU2LGZmZGhlNjE0NCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJFBfU1JWIGNydF9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi1zaGEyNTYuY3J0IGtleV9maWxlPWRhdGFfZmlsZXMvc2VydmVyMi5rZXkgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlNjE0NCB0bHMxM19rZXhfbW9kZXM9ZXBoZW1lcmFsIGNvb2tpZXM9MCB0aWNrZXRzPTAiIFwKLSAgICAgICAgICIkR19ORVhUX0NMSV9OT19DRVJUIC0tZGVidWc9NCAtLXNpbmdsZS1rZXktc2hhcmUgLS14NTA5Y2FmaWxlIGRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLUZGREhFNjE0NDorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKKyAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9JERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGU2MTQ0IHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAorICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgJERBVEFfRklMRVNfUEFUSC90ZXN0LWNhX2NhdDEyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtRkZESEU2MTQ0OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtcyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXAogICAgICAgICAgLXMgInNlcnZlciBoZWxsbywgY2hvc2VuIGNpcGhlcnN1aXRlOiBUTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2ICggaWQ9NDg2NSApIiBcCkBAIC0xMzk5NSwxMyArMTQzNTYsMTIgQEAKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX0NMSV9DCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX0RFQlVHX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfU1NMX1RMUzFfM19LRVlfRVhDSEFOR0VfTU9ERV9FUEhFTUVSQUxfRU5BQkxFRAotcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0NPTVBBVElCSUxJVFlfTU9ERQogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfQUxHX0ZGREgKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIFBTQV9XQU5UX0RIX1JGQzc5MTlfNjE0NAogcnVuX3Rlc3QgIlRMUyAxLjMgbS0+RzogQUVTXzEyOF9HQ01fU0hBMjU2LGZmZGhlNjE0NCxyc2FfcHNzX3JzYWVfc2hhMjU2IiBcCi0gICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlIGRhdGFfZmlsZXMvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLUZGREhFNjE0NDorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKLSAgICAgICAgICIkUF9DTEkgY2FfZmlsZT1kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTYxNDQiIFwKKyAgICAgICAgICIkR19ORVhUX1NSVl9OT19DRVJUIC0taHR0cCAtLWRpc2FibGUtY2xpZW50LWNlcnQgLS1kZWJ1Zz00IC0teDUwOWNlcnRmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi1zaGEyNTYuY3J0IC0teDUwOWtleWZpbGUgJERBVEFfRklMRVNfUEFUSC9zZXJ2ZXIyLmtleSAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtRkZESEU2MTQ0OitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAorICAgICAgICAgIiRQX0NMSSBjYV9maWxlPSREQVRBX0ZJTEVTX1BBVEgvdGVzdC1jYV9jYXQxMi5jcnQgZGVidWdfbGV2ZWw9NCBmb3JjZV9jaXBoZXJzdWl0ZT1UTFMxLTMtQUVTLTEyOC1HQ00tU0hBMjU2IHNpZ19hbGdzPXJzYV9wc3NfcnNhZV9zaGEyNTYgZ3JvdXBzPWZmZGhlNjE0NCIgXAogICAgICAgICAgMCBcCiAgICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIiBcCiAgICAgICAgICAtYyAiUHJvdG9jb2wgaXMgVExTdjEuMyIgXApAQCAtMTQwMTQsNyArMTQzNzQsNiBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfU1JWX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV84MTkyCkBAIC0xNDAyMyw4ICsxNDM4Miw4IEBACiByZXF1aXJlc19nbnV0bHNfbmV4dF9kaXNhYmxlX3RsczEzX2NvbXBhdAogY2xpZW50X25lZWRzX21vcmVfdGltZSA0CiBydW5fdGVzdCAiVExTIDEuMyBHLT5tOiBBRVNfMTI4X0dDTV9TSEEyNTYsZmZkaGU4MTkyLHJzYV9wc3NfcnNhZV9zaGEyNTYiIFwKLSAgICAgICAgICIkUF9TUlYgY3J0X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQga2V5X2ZpbGU9ZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGU4MTkyIHRsczEzX2tleF9tb2Rlcz1lcGhlbWVyYWwgY29va2llcz0wIHRpY2tldHM9MCIgXAotICAgICAgICAgIiRHX05FWFRfQ0xJX05PX0NFUlQgLS1kZWJ1Zz00IC0tc2luZ2xlLWtleS1zaGFyZSAtLXg1MDljYWZpbGUgZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCAtLXByaW9yaXR5PU5PTkU6K0FFUy0xMjgtR0NNOitTSEEyNTY6K0FFQUQ6K1NJR04tUlNBLVBTUy1SU0FFLVNIQTI1NjorR1JPVVAtRkZESEU4MTkyOitWRVJTLVRMUzEuMzolTk9fVElDS0VUUyIgXAorICAgICAgICAgIiRQX1NSViBjcnRfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCBrZXlfZmlsZT0kREFUQV9GSUxFU19QQVRIL3NlcnZlcjIua2V5IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTgxOTIgdGxzMTNfa2V4X21vZGVzPWVwaGVtZXJhbCBjb29raWVzPTAgdGlja2V0cz0wIiBcCisgICAgICAgICAiJEdfTkVYVF9DTElfTk9fQ0VSVCAtLWRlYnVnPTQgLS1zaW5nbGUta2V5LXNoYXJlIC0teDUwOWNhZmlsZSAkREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTgxOTI6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCiAgICAgICAgICAwIFwKICAgICAgICAgIC1zICJQcm90b2NvbCBpcyBUTFN2MS4zIiBcCiAgICAgICAgICAtcyAic2VydmVyIGhlbGxvLCBjaG9zZW4gY2lwaGVyc3VpdGU6IFRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgKCBpZD00ODY1ICkiIFwKQEAgLTE0MDM5LDE0ICsxNDM5OCwxMyBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfQ0xJX0MKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfREVCVUdfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX0VQSEVNRVJBTF9FTkFCTEVECi1yZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfQ09NUEFUSUJJTElUWV9NT0RFCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBQU0FfV0FOVF9BTEdfRkZESAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgUFNBX1dBTlRfREhfUkZDNzkxOV84MTkyCiBjbGllbnRfbmVlZHNfbW9yZV90aW1lIDQKIHJ1bl90ZXN0ICJUTFMgMS4zIG0tPkc6IEFFU18xMjhfR0NNX1NIQTI1NixmZmRoZTgxOTIscnNhX3Bzc19yc2FlX3NoYTI1NiIgXAotICAgICAgICAgIiRHX05FWFRfU1JWX05PX0NFUlQgLS1odHRwIC0tZGlzYWJsZS1jbGllbnQtY2VydCAtLWRlYnVnPTQgLS14NTA5Y2VydGZpbGUgZGF0YV9maWxlcy9zZXJ2ZXIyLXNoYTI1Ni5jcnQgLS14NTA5a2V5ZmlsZSBkYXRhX2ZpbGVzL3NlcnZlcjIua2V5IC0tcHJpb3JpdHk9Tk9ORTorQUVTLTEyOC1HQ006K1NIQTI1NjorQUVBRDorU0lHTi1SU0EtUFNTLVJTQUUtU0hBMjU2OitHUk9VUC1GRkRIRTgxOTI6K1ZFUlMtVExTMS4zOiVOT19USUNLRVRTIiBcCi0gICAgICAgICAiJFBfQ0xJIGNhX2ZpbGU9ZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCBkZWJ1Z19sZXZlbD00IGZvcmNlX2NpcGhlcnN1aXRlPVRMUzEtMy1BRVMtMTI4LUdDTS1TSEEyNTYgc2lnX2FsZ3M9cnNhX3Bzc19yc2FlX3NoYTI1NiBncm91cHM9ZmZkaGU4MTkyIiBcCisgICAgICAgICAiJEdfTkVYVF9TUlZfTk9fQ0VSVCAtLWh0dHAgLS1kaXNhYmxlLWNsaWVudC1jZXJ0IC0tZGVidWc9NCAtLXg1MDljZXJ0ZmlsZSAkREFUQV9GSUxFU19QQVRIL3NlcnZlcjItc2hhMjU2LmNydCAtLXg1MDlrZXlmaWxlICREQVRBX0ZJTEVTX1BBVEgvc2VydmVyMi5rZXkgLS1wcmlvcml0eT1OT05FOitBRVMtMTI4LUdDTTorU0hBMjU2OitBRUFEOitTSUdOLVJTQS1QU1MtUlNBRS1TSEEyNTY6K0dST1VQLUZGREhFODE5MjorVkVSUy1UTFMxLjM6JU5PX1RJQ0tFVFMiIFwKKyAgICAgICAgICIkUF9DTEkgY2FfZmlsZT0kREFUQV9GSUxFU19QQVRIL3Rlc3QtY2FfY2F0MTIuY3J0IGRlYnVnX2xldmVsPTQgZm9yY2VfY2lwaGVyc3VpdGU9VExTMS0zLUFFUy0xMjgtR0NNLVNIQTI1NiBzaWdfYWxncz1yc2FfcHNzX3JzYWVfc2hhMjU2IGdyb3Vwcz1mZmRoZTgxOTIiIFwKICAgICAgICAgIDAgXAogICAgICAgICAgLWMgIkhUVFAvMS4wIDIwMCBPSyIgXAogICAgICAgICAgLWMgIlByb3RvY29sIGlzIFRMU3YxLjMiIFwKQEAgLTE0MDYyLDIwICsxNDQyMCwzMiBAQAogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfVExTMV8zX0tFWV9FWENIQU5HRV9NT0RFX1BTS19FTkFCTEVECiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9UTFMxXzNfS0VZX0VYQ0hBTkdFX01PREVfRVBIRU1FUkFMX0VOQUJMRUQKIHJ1bl90ZXN0ICAgICJUTFMgMS4zOiBubyBIUlIgaW4gY2FzZSBvZiBQU0sga2V5IGV4Y2hhbmdlIG1vZGUiIFwKLSAgICAgICAgICAgICIkUF9TUlYgbmJpbz0yIHBzaz0wMTAyMDMgcHNrX2lkZW50aXR5PTBhMGIwYyB0bHMxM19rZXhfbW9kZXM9cHNrIGdyb3Vwcz1ub25lIiBcCi0gICAgICAgICAgICAiJFBfQ0xJIG5iaW89MiBkZWJ1Z19sZXZlbD0zIHBzaz0wMTAyMDMgcHNrX2lkZW50aXR5PTBhMGIwYyB0bHMxM19rZXhfbW9kZXM9YWxsIiBcCisgICAgICAgICAgICAiJFBfU1JWIG5iaW89MiBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT0wYTBiMGMgdGxzMTNfa2V4X21vZGVzPXBzayBncm91cHM9bm9uZSIgXAorICAgICAgICAgICAgIiRQX0NMSSBuYmlvPTIgZGVidWdfbGV2ZWw9MyBwc2s9NzM3NzZmNzI2NDY2Njk3MzY4IHBza19pZGVudGl0eT0wYTBiMGMgdGxzMTNfa2V4X21vZGVzPWFsbCIgXAogICAgICAgICAgICAgMCBcCiAgICAgICAgICAgICAtQyAicmVjZWl2ZWQgSGVsbG9SZXRyeVJlcXVlc3QgbWVzc2FnZSIgXAogICAgICAgICAgICAgLWMgIlNlbGVjdGVkIGtleSBleGNoYW5nZSBtb2RlOiBwc2skIiBcCiAgICAgICAgICAgICAtYyAiSFRUUC8xLjAgMjAwIE9LIgogCisjIExlZ2FjeV9jb21wcmVzc2lvbl9tZXRob2RzIHRlc3RpbmcKKworcmVxdWlyZXNfZ251dGxzCityZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9TUlZfQworcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCitydW5fdGVzdCAgICAiVExTIDEuMiBDbGllbnRIZWxsbyBpbmRpY2F0aW5nIHN1cHBvcnQgZm9yIGRlZmxhdGUgY29tcHJlc3Npb24gbWV0aG9kIiBcCisgICAgICAgICAgICAiJFBfU1JWIGRlYnVnX2xldmVsPTMiIFwKKyAgICAgICAgICAgICIkR19DTEkgIC0tcHJpb3JpdHk9Tk9STUFMOi1WRVJTLUFMTDorVkVSUy1UTFMxLjI6K0NPTVAtREVGTEFURSBsb2NhbGhvc3QiIFwKKyAgICAgICAgICAgIDAgXAorICAgICAgICAgICAgLWMgIkhhbmRzaGFrZSB3YXMgY29tcGxldGVkIiBcCisgICAgICAgICAgICAtcyAiZHVtcGluZyAuY2xpZW50IGhlbGxvLCBjb21wcmVzc2lvbi4gKDIgYnl0ZXMpIgorCiAjIFRlc3QgaGVhcCBtZW1vcnkgdXNhZ2UgYWZ0ZXIgaGFuZHNoYWtlCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKIHJlcXVpcmVzX2NvbmZpZ19lbmFibGVkIE1CRURUTFNfTUVNT1JZX0RFQlVHCiByZXF1aXJlc19jb25maWdfZW5hYmxlZCBNQkVEVExTX01FTU9SWV9CVUZGRVJfQUxMT0NfQwogcmVxdWlyZXNfY29uZmlnX2VuYWJsZWQgTUJFRFRMU19TU0xfTUFYX0ZSQUdNRU5UX0xFTkdUSAogcmVxdWlyZXNfbWF4X2NvbnRlbnRfbGVuIDE2Mzg0Ci1ydW5fdGVzdHNfbWVtb3J5X2FmdGVyX2hhbnNoYWtlCitydW5fdGVzdHNfbWVtb3J5X2FmdGVyX2hhbmRzaGFrZQogCiBpZiBbICIkTElTVF9URVNUUyIgLWVxIDAgXTsgdGhlbgogCkBAIC0xNDA5MSw2ICsxNDQ2MSwxNSBAQAogICAgIFBBU1NFUz0kKCggJFRFU1RTIC0gJEZBSUxTICkpCiAgICAgZWNobyAiICgkUEFTU0VTIC8gJFRFU1RTIHRlc3RzICgkU0tJUFMgc2tpcHBlZCkpIgogCisgICAgaWYgWyAkKChURVNUUyAtIFNLSVBTKSkgLWx0ICRNSU5fVEVTVFMgXTsgdGhlbgorICAgICAgICBjYXQgPDxFT0YKK0Vycm9yOiBFeHBlY3RlZCB0byBydW4gYXQgbGVhc3QgJE1JTl9URVNUUywgYnV0IG9ubHkgcmFuICQoKFRFU1RTIC0gU0tJUFMpKS4KK01heWJlIGEgYmFkIGZpbHRlciAoJyRGSUxURVInKSBvciBhIGJhZCBjb25maWd1cmF0aW9uPworRU9GCisgICAgICAgIGlmIFsgJEZBSUxTIC1lcSAwIF07IHRoZW4KKyAgICAgICAgICAgIEZBSUxTPTEKKyAgICAgICAgZmkKKyAgICBmaQogZmkKIAogaWYgWyAkRkFJTFMgLWd0IDI1NSBdOyB0aGVuCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvaGVscGVycy5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy9oZWxwZXJzLmZ1bmN0aW9uCmluZGV4IGI1ZjU3OTYuLmI1NjFmNDcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy9oZWxwZXJzLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy9oZWxwZXJzLmZ1bmN0aW9uCkBAIC01NSw4ICs1NSw4IEBACiAvKiBJbmRpY2F0ZXMgd2hldGhlciB3ZSBleHBlY3QgbWJlZHRsc19lbnRyb3B5X2luaXQKICAqIHRvIGluaXRpYWxpemUgc29tZSBzdHJvbmcgZW50cm9weSBzb3VyY2UuICovCiAjaWYgIWRlZmluZWQoTUJFRFRMU19OT19ERUZBVUxUX0VOVFJPUFlfU09VUkNFUykgJiYgXAotICAgICghZGVmaW5lZChNQkVEVExTX05PX1BMQVRGT1JNX0VOVFJPUFkpIHx8ICAgICAgXAotICAgIGRlZmluZWQoTUJFRFRMU19FTlRST1BZX0hBUkRXQVJFX0FMVCkgfHwgICAgXAorICAgICghZGVmaW5lZChNQkVEVExTX05PX1BMQVRGT1JNX0VOVFJPUFkpIHx8ICAgICAgIFwKKyAgICBkZWZpbmVkKE1CRURUTFNfRU5UUk9QWV9IQVJEV0FSRV9BTFQpIHx8ICAgICAgICBcCiAgICAgZGVmaW5lZChFTlRST1BZX05WX1NFRUQpKQogI2RlZmluZSBFTlRST1BZX0hBVkVfU1RST05HCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy9ob3N0X3Rlc3QuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvaG9zdF90ZXN0LmZ1bmN0aW9uCmluZGV4IGViNDJhMDcuLmQyOGE3NWUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy9ob3N0X3Rlc3QuZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL2hvc3RfdGVzdC5mdW5jdGlvbgpAQCAtOCw3ICs4LDcgQEAKICAqCiAgKiBccmV0dXJuICAgICAgMCBpZiBzdWNjZXNzIGVsc2UgMQogICovCi1pbnQgdmVyaWZ5X3N0cmluZyhjaGFyICoqc3RyKQorc3RhdGljIGludCB2ZXJpZnlfc3RyaW5nKGNoYXIgKipzdHIpCiB7CiAgICAgaWYgKCgqc3RyKVswXSAhPSAnIicgfHwKICAgICAgICAgKCpzdHIpW3N0cmxlbigqc3RyKSAtIDFdICE9ICciJykgewpAQCAtMzIsNyArMzIsNyBAQAogICoKICAqIFxyZXR1cm4gICAgICAwIGlmIHN1Y2Nlc3MgZWxzZSAxCiAgKi8KLWludCB2ZXJpZnlfaW50KGNoYXIgKnN0ciwgaW50bWF4X3QgKnBfdmFsdWUpCitzdGF0aWMgaW50IHZlcmlmeV9pbnQoY2hhciAqc3RyLCBpbnRtYXhfdCAqcF92YWx1ZSkKIHsKICAgICBjaGFyICplbmQgPSBOVUxMOwogICAgIGVycm5vID0gMDsKQEAgLTgwLDcgKzgwLDcgQEAKICAqCiAgKiBccmV0dXJuICAgICAgMCBpZiBzdWNjZXNzIGVsc2UgLTEKICAqLwotaW50IGdldF9saW5lKEZJTEUgKmYsIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3N0YXRpYyBpbnQgZ2V0X2xpbmUoRklMRSAqZiwgY2hhciAqYnVmLCBzaXplX3QgbGVuKQogewogICAgIGNoYXIgKnJldDsKICAgICBpbnQgaSA9IDAsIHN0cl9sZW4gPSAwLCBoYXNfc3RyaW5nID0gMDsKQEAgLTQ4NSw3ICs0ODUsNyBAQAogICoKICAqIFxyZXR1cm4gICAgICBQcm9ncmFtIGV4aXQgc3RhdHVzLgogICovCi1pbnQgZXhlY3V0ZV90ZXN0cyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCitzdGF0aWMgaW50IGV4ZWN1dGVfdGVzdHMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewogICAgIC8qIExvY2FsIENvbmZpZ3VyYXRpb25zIGFuZCBvcHRpb25zICovCiAgICAgY29uc3QgY2hhciAqZGVmYXVsdF9maWxlbmFtZSA9ICJEQVRBX0ZJTEUiOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL21haW5fdGVzdC5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy9tYWluX3Rlc3QuZnVuY3Rpb24KaW5kZXggZWYxODk4Yi4uYzBjYzJhYyAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL21haW5fdGVzdC5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvbWFpbl90ZXN0LmZ1bmN0aW9uCkBAIC02OSw3ICs2OSw3IEBACiAgKgogICogXHJldHVybiAgICAgICAwIGlmIGV4cF9pZCBpcyBmb3VuZC4gMSBvdGhlcndpc2UuCiAgKi8KLWludCBnZXRfZXhwcmVzc2lvbihpbnQzMl90IGV4cF9pZCwgaW50bWF4X3QgKm91dF92YWx1ZSkKK3N0YXRpYyBpbnQgZ2V0X2V4cHJlc3Npb24oaW50MzJfdCBleHBfaWQsIGludG1heF90ICpvdXRfdmFsdWUpCiB7CiAgICAgaW50IHJldCA9IEtFWV9WQUxVRV9NQVBQSU5HX0ZPVU5EOwogCkBAIC0xMDAsNyArMTAwLDcgQEAKICAqCiAgKiBccmV0dXJuICAgICAgIERFUEVOREVOQ1lfU1VQUE9SVEVEIGlmIHNldCBlbHNlIERFUEVOREVOQ1lfTk9UX1NVUFBPUlRFRAogICovCi1pbnQgZGVwX2NoZWNrKGludCBkZXBfaWQpCitzdGF0aWMgaW50IGRlcF9jaGVjayhpbnQgZGVwX2lkKQogewogICAgIGludCByZXQgPSBERVBFTkRFTkNZX05PVF9TVVBQT1JURUQ7CiAKQEAgLTE1NSw3ICsxNTUsNyBAQAogICogICAgICAgICAgICAgICBESVNQQVRDSF9URVNUX0ZOX05PVF9GT1VORCBpZiBub3QgZm91bmQKICAqICAgICAgICAgICAgICAgRElTUEFUQ0hfVU5TVVBQT1JURURfU1VJVEUgaWYgbm90IGNvbXBpbGUgdGltZSBlbmFibGVkLgogICovCi1pbnQgZGlzcGF0Y2hfdGVzdChzaXplX3QgZnVuY19pZHgsIHZvaWQgKipwYXJhbXMpCitzdGF0aWMgaW50IGRpc3BhdGNoX3Rlc3Qoc2l6ZV90IGZ1bmNfaWR4LCB2b2lkICoqcGFyYW1zKQogewogICAgIGludCByZXQgPSBESVNQQVRDSF9URVNUX1NVQ0NFU1M7CiAgICAgVGVzdFdyYXBwZXJfdCBmcCA9IE5VTEw7CkBAIC0xOTMsNyArMTkzLDcgQEAKICAqICAgICAgICAgICAgICAgRElTUEFUQ0hfVEVTVF9GTl9OT1RfRk9VTkQgaWYgbm90IGZvdW5kCiAgKiAgICAgICAgICAgICAgIERJU1BBVENIX1VOU1VQUE9SVEVEX1NVSVRFIGlmIG5vdCBjb21waWxlIHRpbWUgZW5hYmxlZC4KICAqLwotaW50IGNoZWNrX3Rlc3Qoc2l6ZV90IGZ1bmNfaWR4KQorc3RhdGljIGludCBjaGVja190ZXN0KHNpemVfdCBmdW5jX2lkeCkKIHsKICAgICBpbnQgcmV0ID0gRElTUEFUQ0hfVEVTVF9TVUNDRVNTOwogICAgIFRlc3RXcmFwcGVyX3QgZnAgPSBOVUxMOwpAQCAtMjQxLDcgKzI0MSw3IEBACiAgICAgICogdXNpbmcgdGhlIGRlZmF1bHQgZGF0YSBmaWxlLiBUaGlzIGFsbG93cyBydW5uaW5nIHRoZSBleGVjdXRhYmxlCiAgICAgICogZnJvbSBhbm90aGVyIGRpcmVjdG9yeSAoZS5nLiB0aGUgcHJvamVjdCByb290KSBhbmQgc3RpbGwgYWNjZXNzCiAgICAgICogdGhlIC5kYXRheCBmaWxlIGFzIHdlbGwgYXMgZGF0YSBmaWxlcyB1c2VkIGJ5IHRlc3QgY2FzZXMKLSAgICAgKiAodHlwaWNhbGx5IGZyb20gdGVzdHMvZGF0YV9maWxlcykuCisgICAgICogKHR5cGljYWxseSBmcm9tIGZyYW1ld29yay9kYXRhX2ZpbGVzKS4KICAgICAgKgogICAgICAqIE5vdGUgdGhhdCB3ZSBkbyB0aGlzIGJlZm9yZSB0aGUgcGxhdGZvcm0gc2V0dXAgKHdoaWNoIG1heSBhY2Nlc3MKICAgICAgKiBmaWxlcyBzdWNoIGFzIGEgcmFuZG9tIHNlZWQpLiBXZSBhbHNvIGRvIHRoaXMgYmVmb3JlIGFjY2Vzc2luZwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfYWxpZ25tZW50LmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfYWxpZ25tZW50LmZ1bmN0aW9uCmluZGV4IDg0MjEwMWYuLjI0MGY1NTIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2FsaWdubWVudC5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9hbGlnbm1lbnQuZnVuY3Rpb24KQEAgLTEwLDcgKzEwLDcgQEAKIC8qCiAgKiBDb252ZXJ0IGEgc3RyaW5nIG9mIHRoZSBmb3JtICJhYmNkIiAoY2FzZS1pbnNlbnNpdGl2ZSkgdG8gYSB1aW50NjRfdC4KICAqLwotaW50IHBhcnNlX2hleF9zdHJpbmcoY2hhciAqaGV4X3N0cmluZywgdWludDY0X3QgKnJlc3VsdCkKK3N0YXRpYyBpbnQgcGFyc2VfaGV4X3N0cmluZyhjaGFyICpoZXhfc3RyaW5nLCB1aW50NjRfdCAqcmVzdWx0KQogewogICAgIHVpbnQ4X3QgcmF3WzhdID0geyAwIH07CiAgICAgc2l6ZV90IG9sZW47CmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9hc24xcGFyc2UuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9hc24xcGFyc2UuZnVuY3Rpb24KaW5kZXggMDFhMDkxYi4uMTIzZGE1YSAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfYXNuMXBhcnNlLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2FzbjFwYXJzZS5mdW5jdGlvbgpAQCAtMTIyLDggKzEyMiw4IEBACiAgICAgcmV0dXJuIEVSUl9QQVJTRV9JTkNPTlNJU1RFTkNZOwogfQogCi1pbnQgZ2V0X2xlbl9zdGVwKGNvbnN0IGRhdGFfdCAqaW5wdXQsIHNpemVfdCBidWZmZXJfc2l6ZSwKLSAgICAgICAgICAgICAgICAgc2l6ZV90IGFjdHVhbF9sZW5ndGgpCitzdGF0aWMgaW50IGdldF9sZW5fc3RlcChjb25zdCBkYXRhX3QgKmlucHV0LCBzaXplX3QgYnVmZmVyX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgYWN0dWFsX2xlbmd0aCkKIHsKICAgICB1bnNpZ25lZCBjaGFyICpidWYgPSBOVUxMOwogICAgIHVuc2lnbmVkIGNoYXIgKnAgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfYXNuMXdyaXRlLmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfYXNuMXdyaXRlLmZ1bmN0aW9uCmluZGV4IDQ2OWI5NzEuLmY1ZmMwMjUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2FzbjF3cml0ZS5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9hc24xd3JpdGUuZnVuY3Rpb24KQEAgLTEyLDcgKzEyLDcgQEAKICAgICBzaXplX3Qgc2l6ZTsKIH0gZ2VuZXJpY193cml0ZV9kYXRhX3Q7CiAKLWludCBnZW5lcmljX3dyaXRlX3N0YXJ0X3N0ZXAoZ2VuZXJpY193cml0ZV9kYXRhX3QgKmRhdGEpCitzdGF0aWMgaW50IGdlbmVyaWNfd3JpdGVfc3RhcnRfc3RlcChnZW5lcmljX3dyaXRlX2RhdGFfdCAqZGF0YSkKIHsKICAgICBtYmVkdGxzX3Rlc3Rfc2V0X3N0ZXAoZGF0YS0+c2l6ZSk7CiAgICAgbWJlZHRsc19mcmVlKGRhdGEtPm91dHB1dCk7CkBAIC0yNiw4ICsyNiw4IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBnZW5lcmljX3dyaXRlX2ZpbmlzaF9zdGVwKGdlbmVyaWNfd3JpdGVfZGF0YV90ICpkYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YV90ICpleHBlY3RlZCwgaW50IHJldCkKK3N0YXRpYyBpbnQgZ2VuZXJpY193cml0ZV9maW5pc2hfc3RlcChnZW5lcmljX3dyaXRlX2RhdGFfdCAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhX3QgKmV4cGVjdGVkLCBpbnQgcmV0KQogewogICAgIGludCBvayA9IDA7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2JpZ251bS5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2JpZ251bS5mdW5jdGlvbgppbmRleCBmM2E2NGUxLi4zZDJiOGExIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9iaWdudW0uZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfYmlnbnVtLmZ1bmN0aW9uCkBAIC0zLDcgKzMsOSBAQAogI2luY2x1ZGUgIm1iZWR0bHMvZW50cm9weS5oIgogI2luY2x1ZGUgImNvbnN0YW50X3RpbWVfaW50ZXJuYWwuaCIKICNpbmNsdWRlICJiaWdudW1fY29yZS5oIgorI2luY2x1ZGUgImJpZ251bV9pbnRlcm5hbC5oIgogI2luY2x1ZGUgInRlc3QvY29uc3RhbnRfZmxvdy5oIgorI2luY2x1ZGUgInRlc3QvYmlnbnVtX2NvZGVwYXRoX2NoZWNrLmgiCiAKICNpZiBNQkVEVExTX01QSV9NQVhfQklUUyA+IDc5MgogI2RlZmluZSBNUElfTUFYX0JJVFNfTEFSR0VSX1RIQU5fNzkyCkBAIC0zMiw2ICszNCw3IEBACiAgICAgcmV0dXJuIDE7CiB9CiAKKyNpZiBkZWZpbmVkKE1CRURUTFNfR0VOUFJJTUUpCiB0eXBlZGVmIHN0cnVjdCBtYmVkdGxzX3Rlc3RfbXBpX3JhbmRvbSB7CiAgICAgZGF0YV90ICpkYXRhOwogICAgIHNpemVfdCAgcG9zOwpAQCAtNDQsOSArNDcsOSBAQAogICogdGVzdCkgYXJlIHN0b3JlZCBpbiB0aGUgZGF0YSBtZW1iZXIgb2YgdGhlIHN0YXRlIHN0cnVjdHVyZS4gRWFjaCBudW1iZXIgaXMgaW4KICAqIHRoZSBmb3JtYXQgdGhhdCBtYmVkdGxzX21waV9yZWFkX3N0cmluZyB1bmRlcnN0YW5kcyBhbmQgaXMgY2h1bmtfbGVuIGxvbmcuCiAgKi8KLWludCBtYmVkdGxzX3Rlc3RfbXBpX21pbGxlcl9yYWJpbl9kZXRlcm1pbml6ZXIodm9pZCAqc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbikKK3N0YXRpYyBpbnQgbWJlZHRsc190ZXN0X21waV9taWxsZXJfcmFiaW5fZGV0ZXJtaW5pemVyKHZvaWQgKnN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbikKIHsKICAgICBtYmVkdGxzX3Rlc3RfbXBpX3JhbmRvbSAqcmFuZG9tID0gKG1iZWR0bHNfdGVzdF9tcGlfcmFuZG9tICopIHN0YXRlOwogCkBAIC03Myw2ICs3Niw3IEBACiAKICAgICByZXR1cm4gMDsKIH0KKyNlbmRpZiAvKiBNQkVEVExTX0dFTlBSSU1FICovCiAKIC8qIFJhbmRvbSBnZW5lcmF0b3IgdGhhdCBpcyB0b2xkIGhvdyBtYW55IGJ5dGVzIHRvIHJldHVybi4gKi8KIHN0YXRpYyBpbnQgZl9ybmdfYnl0ZXNfbGVmdCh2b2lkICpzdGF0ZSwgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuKQpAQCAtOTg2LDcgKzk5MCwxMyBAQAogICAgICAqIGFnYWluc3QgYSBzbWFsbGVyIFJSLiAqLwogICAgIFRFU1RfTEVfVShSUi5uLCBOLm4gLSAxKTsKIAorI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIG1iZWR0bHNfY29kZXBhdGhfcmVzZXQoKTsKKyNlbmRpZgogICAgIHJlcyA9IG1iZWR0bHNfbXBpX2V4cF9tb2QoJlosICZBLCAmRSwgJk4sICZSUik7CisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisgICAgQVNTRVJUX0JJR05VTV9DT0RFUEFUSChNQkVEVExTX01QSV9JU19TRUNSRVQsIHJlcywgRSk7CisjZW5kaWYKICAgICAvKiBXZSBrbm93IHRoYXQgZXhwX21vZCBpbnRlcm5hbGx5IG5lZWRzIFJSIHRvIGJlIGFzIGxhcmdlIGFzIE4uCiAgICAgICogVmFsaWRhdGUgdGhhdCBpdCBpcyB0aGUgY2FzZSBub3csIG90aGVyd2lzZSB0aGVyZSB3YXMgcHJvYmFibHkKICAgICAgKiBhIGJ1ZmZlciBvdmVycmVhZC4gKi8KQEAgLTEwMTksNyArMTAyOSwyNiBAQAogICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfdGVzdF9yZWFkX21waSgmTiwgaW5wdXRfTikgPT0gMCk7CiAgICAgVEVTVF9BU1NFUlQobWJlZHRsc190ZXN0X3JlYWRfbXBpKCZYLCBpbnB1dF9YKSA9PSAwKTsKIAorI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIG1iZWR0bHNfY29kZXBhdGhfcmVzZXQoKTsKKyNlbmRpZgogICAgIHJlcyA9IG1iZWR0bHNfbXBpX2V4cF9tb2QoJlosICZBLCAmRSwgJk4sIE5VTEwpOworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIEFTU0VSVF9CSUdOVU1fQ09ERVBBVEgoTUJFRFRMU19NUElfSVNfU0VDUkVULCByZXMsIEUpOworI2VuZGlmCisgICAgVEVTVF9BU1NFUlQocmVzID09IGV4cF9yZXN1bHQpOworICAgIGlmIChyZXMgPT0gMCkgeworICAgICAgICBURVNUX0FTU0VSVChzaWduX2lzX3ZhbGlkKCZaKSk7CisgICAgICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfbXBpX2NtcF9tcGkoJlosICZYKSA9PSAwKTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBtYmVkdGxzX2NvZGVwYXRoX3Jlc2V0KCk7CisjZW5kaWYKKyAgICByZXMgPSBtYmVkdGxzX21waV9leHBfbW9kX3Vuc2FmZSgmWiwgJkEsICZFLCAmTiwgTlVMTCk7CisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisgICAgQVNTRVJUX0JJR05VTV9DT0RFUEFUSChNQkVEVExTX01QSV9JU19QVUJMSUMsIHJlcywgRSk7CisjZW5kaWYKICAgICBURVNUX0FTU0VSVChyZXMgPT0gZXhwX3Jlc3VsdCk7CiAgICAgaWYgKHJlcyA9PSAwKSB7CiAgICAgICAgIFRFU1RfQVNTRVJUKHNpZ25faXNfdmFsaWQoJlopKTsKQEAgLTEwMjcsNyArMTA1NiwxMyBAQAogICAgIH0KIAogICAgIC8qIE5vdyB0ZXN0IGFnYWluIHdpdGggdGhlIHNwZWVkLXVwIHBhcmFtZXRlciBzdXBwbGllZCBhcyBhbiBvdXRwdXQuICovCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisgICAgbWJlZHRsc19jb2RlcGF0aF9yZXNldCgpOworI2VuZGlmCiAgICAgcmVzID0gbWJlZHRsc19tcGlfZXhwX21vZCgmWiwgJkEsICZFLCAmTiwgJlJSKTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBBU1NFUlRfQklHTlVNX0NPREVQQVRIKE1CRURUTFNfTVBJX0lTX1NFQ1JFVCwgcmVzLCBFKTsKKyNlbmRpZgogICAgIFRFU1RfQVNTRVJUKHJlcyA9PSBleHBfcmVzdWx0KTsKICAgICBpZiAocmVzID09IDApIHsKICAgICAgICAgVEVTVF9BU1NFUlQoc2lnbl9pc192YWxpZCgmWikpOwpAQCAtMTAzNSw3ICsxMDcwLDEzIEBACiAgICAgfQogCiAgICAgLyogTm93IHRlc3QgYWdhaW4gd2l0aCB0aGUgc3BlZWQtdXAgcGFyYW1ldGVyIHN1cHBsaWVkIGluIGNhbGN1bGF0ZWQgZm9ybS4gKi8KKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBtYmVkdGxzX2NvZGVwYXRoX3Jlc2V0KCk7CisjZW5kaWYKICAgICByZXMgPSBtYmVkdGxzX21waV9leHBfbW9kKCZaLCAmQSwgJkUsICZOLCAmUlIpOworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIEFTU0VSVF9CSUdOVU1fQ09ERVBBVEgoTUJFRFRMU19NUElfSVNfU0VDUkVULCByZXMsIEUpOworI2VuZGlmCiAgICAgVEVTVF9BU1NFUlQocmVzID09IGV4cF9yZXN1bHQpOwogICAgIGlmIChyZXMgPT0gMCkgewogICAgICAgICBURVNUX0FTU0VSVChzaWduX2lzX3ZhbGlkKCZaKSk7CkBAIC0xMDc1LDcgKzExMTYsMjEgQEAKICAgICAgICAgVEVTVF9BU1NFUlQobWJlZHRsc190ZXN0X3JlYWRfbXBpKCZSUiwgaW5wdXRfUlIpID09IDApOwogICAgIH0KIAorI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIG1iZWR0bHNfY29kZXBhdGhfcmVzZXQoKTsKKyNlbmRpZgogICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfbXBpX2V4cF9tb2QoJlosICZBLCAmRSwgJk4sICZSUikgPT0gZXhwX3Jlc3VsdCk7CisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisgICAgQVNTRVJUX0JJR05VTV9DT0RFUEFUSChNQkVEVExTX01QSV9JU19TRUNSRVQsIGV4cF9yZXN1bHQsIEUpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBtYmVkdGxzX2NvZGVwYXRoX3Jlc2V0KCk7CisjZW5kaWYKKyAgICBURVNUX0FTU0VSVChtYmVkdGxzX21waV9leHBfbW9kX3Vuc2FmZSgmWiwgJkEsICZFLCAmTiwgJlJSKSA9PSBleHBfcmVzdWx0KTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBBU1NFUlRfQklHTlVNX0NPREVQQVRIKE1CRURUTFNfTVBJX0lTX1BVQkxJQywgZXhwX3Jlc3VsdCwgRSk7CisjZW5kaWYKIAogZXhpdDoKICAgICBtYmVkdGxzX21waV9mcmVlKCZBKTsgbWJlZHRsc19tcGlfZnJlZSgmRSk7IG1iZWR0bHNfbXBpX2ZyZWUoJk4pOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfYmlnbnVtLm1pc2MuZGF0YSBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2JpZ251bS5taXNjLmRhdGEKaW5kZXggZWI1NWRiZS4uYzE2YzY4OSAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfYmlnbnVtLm1pc2MuZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9iaWdudW0ubWlzYy5kYXRhCkBAIC0xMTAsMTkgKzExMCwxOSBAQAogbXBpX3dyaXRlX2JpbmFyeV9sZToiMTIzMTIzMTIzMTIzMTIzMTIzMTIzMTIzMTIzIjoiMjMzMTEyMjMzMTEyMjMzMTEyMjMzMTEyMjMiOjEzOk1CRURUTFNfRVJSX01QSV9CVUZGRVJfVE9PX1NNQUxMCiAKIEJhc2UgdGVzdCBtYmVkdGxzX21waV9yZWFkX2ZpbGUgIzEKLW1waV9yZWFkX2ZpbGU6ImRhdGFfZmlsZXMvbXBpXzE2IjoiMDFmNTUzMzJjM2E0OGI5MTBmOTk0MmY2YzkxNGU1OGJlZjM3YTQ3ZWU0NWNiMTY0YTViNmI4ZDEwMDZiZjU5YTA1OWMyMTQ0OTkzOWViZWJmZGY1MTdkMmUxZGJhYzg4MDEwZDdiMWYxNDFlOTk3YmQ2ODAxZGRhZWM5ZDA1OTEwZjRmMmRlMmIyYzRkNzE0ZTJjMTRhNzJmYzdmMTdhYTQyOGQ1OWM1MzE2MjdmMDkiOjAKK21waV9yZWFkX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL21waV8xNiI6IjAxZjU1MzMyYzNhNDhiOTEwZjk5NDJmNmM5MTRlNThiZWYzN2E0N2VlNDVjYjE2NGE1YjZiOGQxMDA2YmY1OWEwNTljMjE0NDk5MzllYmViZmRmNTE3ZDJlMWRiYWM4ODAxMGQ3YjFmMTQxZTk5N2JkNjgwMWRkYWVjOWQwNTkxMGY0ZjJkZTJiMmM0ZDcxNGUyYzE0YTcyZmM3ZjE3YWE0MjhkNTljNTMxNjI3ZjA5IjowCiAKIFRlc3QgbWJlZHRsc19tcGlfcmVhZF9maWxlICMxIChFbXB0eSBmaWxlKQotbXBpX3JlYWRfZmlsZToiZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCI6IiI6TUJFRFRMU19FUlJfTVBJX0ZJTEVfSU9fRVJST1IKK21waV9yZWFkX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV80IjoiIjpNQkVEVExTX0VSUl9NUElfRklMRV9JT19FUlJPUgogCiBUZXN0IG1iZWR0bHNfbXBpX3JlYWRfZmlsZSAjMiAoSWxsZWdhbCBpbnB1dCkKLW1waV9yZWFkX2ZpbGU6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzIiOiIiOjAKK21waV9yZWFkX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8yIjoiIjowCiAKIFRlc3QgbWJlZHRsc19tcGlfcmVhZF9maWxlICMzIChJbnB1dCB0b28gYmlnKQotbXBpX3JlYWRfZmlsZToiZGF0YV9maWxlcy9tcGlfdG9vX2JpZyI6IiI6TUJFRFRMU19FUlJfTVBJX0JVRkZFUl9UT09fU01BTEwKK21waV9yZWFkX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL21waV90b29fYmlnIjoiIjpNQkVEVExTX0VSUl9NUElfQlVGRkVSX1RPT19TTUFMTAogCiBCYXNlIHRlc3QgbWJlZHRsc19tcGlfd3JpdGVfZmlsZSAjMQotbXBpX3dyaXRlX2ZpbGU6Ijk0MTM3OWQwMGZlZDE0OTFmZTE1ZGYyODRkZmRlNGExNDJmNjhhYThkNDEyMDIzMTk1Y2VlNjY4ODNlNjI5MGZmZTcwM2Y0ZWE1OTYzYmYyMTI3MTNjZWU0NmIxMDdjMDkxODJiNWVkY2Q5NTVhZGFjNDE4YmY0OTE4ZTI4ODlhZjQ4ZTEwOTlkNTEzODMwY2VjODVjMjZhYzFlMTU4YjUyNjIwZTMzYmE4NjkyZjg5M2VmYmIyZjk1OGI0NDI0IjoiZGF0YV9maWxlcy9tcGlfd3JpdGUiCittcGlfd3JpdGVfZmlsZToiOTQxMzc5ZDAwZmVkMTQ5MWZlMTVkZjI4NGRmZGU0YTE0MmY2OGFhOGQ0MTIwMjMxOTVjZWU2Njg4M2U2MjkwZmZlNzAzZjRlYTU5NjNiZjIxMjcxM2NlZTQ2YjEwN2MwOTE4MmI1ZWRjZDk1NWFkYWM0MThiZjQ5MThlMjg4OWFmNDhlMTA5OWQ1MTM4MzBjZWM4NWMyNmFjMWUxNThiNTI2MjBlMzNiYTg2OTJmODkzZWZiYjJmOTU4YjQ0MjQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9tcGlfd3JpdGUiCiAKIFRlc3QgbWJlZHRsc19tcGlfbHNiOiAwIChudWxsKQogbXBpX2xzYjoiIjowCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9iaWdudW1fY29yZS5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2JpZ251bV9jb3JlLmZ1bmN0aW9uCmluZGV4IGRiODRkNjIuLmMyYjQ0YmMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2JpZ251bV9jb3JlLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2JpZ251bV9jb3JlLmZ1bmN0aW9uCkBAIC00LDYgKzQsNyBAQAogI2luY2x1ZGUgImJpZ251bV9jb3JlLmgiCiAjaW5jbHVkZSAiY29uc3RhbnRfdGltZV9pbnRlcm5hbC5oIgogI2luY2x1ZGUgInRlc3QvY29uc3RhbnRfZmxvdy5oIgorI2luY2x1ZGUgInRlc3QvYmlnbnVtX2NvZGVwYXRoX2NoZWNrLmgiCiAKIC8qKiBWZXJpZmllcyBtYmVkdGxzX21waV9jb3JlX2FkZCgpLgogICoKQEAgLTExNzgsNiArMTE3OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqaW5wdXRfRSwgY2hhciAqaW5wdXRfWCkKIHsKICAgICBtYmVkdGxzX21waV91aW50ICpBID0gTlVMTDsKKyAgICBtYmVkdGxzX21waV91aW50ICpBX2NvcHkgPSBOVUxMOwogICAgIG1iZWR0bHNfbXBpX3VpbnQgKkUgPSBOVUxMOwogICAgIG1iZWR0bHNfbXBpX3VpbnQgKk4gPSBOVUxMOwogICAgIG1iZWR0bHNfbXBpX3VpbnQgKlggPSBOVUxMOwpAQCAtMTIyOSwxOSArMTIzMSw1NiBAQAogCiAgICAgVEVTVF9DQUxMT0MoVCwgd29ya2luZ19saW1icyk7CiAKLSAgICBtYmVkdGxzX21waV9jb3JlX2V4cF9tb2QoWSwgQSwgTiwgTl9saW1icywgRSwgRV9saW1icywgUjIsIFQpOworICAgIC8qIFRlc3QgdGhlIHNhZmUgdmFyaWFudCAqLwogCisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisgICAgbWJlZHRsc19jb2RlcGF0aF9yZXNldCgpOworI2VuZGlmCisgICAgbWJlZHRsc19tcGlfY29yZV9leHBfbW9kKFksIEEsIE4sIE5fbGltYnMsIEUsIEVfbGltYnMsIFIyLCBUKTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBURVNUX0VRVUFMKG1iZWR0bHNfY29kZXBhdGhfY2hlY2ssIE1CRURUTFNfTVBJX0lTX1NFQ1JFVCk7CisjZW5kaWYKICAgICBURVNUX0VRVUFMKDAsIG1lbWNtcChYLCBZLCBOX2xpbWJzICogc2l6ZW9mKG1iZWR0bHNfbXBpX3VpbnQpKSk7CiAKLSAgICAvKiBDaGVjayB3aGVuIG91dHB1dCBhbGlhc2VkIHRvIGlucHV0ICovCisgICAgLyogVGVzdCB0aGUgdW5zYWZlIHZhcmlhbnQgKi8KIAorI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIG1iZWR0bHNfY29kZXBhdGhfcmVzZXQoKTsKKyNlbmRpZgorICAgIG1iZWR0bHNfbXBpX2NvcmVfZXhwX21vZF91bnNhZmUoWSwgQSwgTiwgTl9saW1icywgRSwgRV9saW1icywgUjIsIFQpOworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIFRFU1RfRVFVQUwobWJlZHRsc19jb2RlcGF0aF9jaGVjaywgTUJFRFRMU19NUElfSVNfUFVCTElDKTsKKyNlbmRpZgorICAgIFRFU1RfRVFVQUwoMCwgbWVtY21wKFgsIFksIE5fbGltYnMgKiBzaXplb2YobWJlZHRsc19tcGlfdWludCkpKTsKKworICAgIC8qIENoZWNrIGJvdGggd2l0aCBvdXRwdXQgYWxpYXNlZCB0byBpbnB1dCAqLworCisgICAgVEVTVF9DQUxMT0MoQV9jb3B5LCBBX2xpbWJzKTsKKyAgICBtZW1jcHkoQV9jb3B5LCBBLCBzaXplb2YoKkFfY29weSkgKiBBX2xpbWJzKTsKKworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIG1iZWR0bHNfY29kZXBhdGhfcmVzZXQoKTsKKyNlbmRpZgogICAgIG1iZWR0bHNfbXBpX2NvcmVfZXhwX21vZChBLCBBLCBOLCBOX2xpbWJzLCBFLCBFX2xpbWJzLCBSMiwgVCk7CisjaWYgZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICYmICFkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX0MpCisgICAgVEVTVF9FUVVBTChtYmVkdGxzX2NvZGVwYXRoX2NoZWNrLCBNQkVEVExTX01QSV9JU19TRUNSRVQpOworI2VuZGlmCisgICAgVEVTVF9FUVVBTCgwLCBtZW1jbXAoWCwgQSwgTl9saW1icyAqIHNpemVvZihtYmVkdGxzX21waV91aW50KSkpOwogCisgICAgbWVtY3B5KEEsIEFfY29weSwgc2l6ZW9mKCpBKSAqIEFfbGltYnMpOworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIG1iZWR0bHNfY29kZXBhdGhfcmVzZXQoKTsKKyNlbmRpZgorICAgIG1iZWR0bHNfbXBpX2NvcmVfZXhwX21vZF91bnNhZmUoQSwgQSwgTiwgTl9saW1icywgRSwgRV9saW1icywgUjIsIFQpOworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgIFRFU1RfRVFVQUwobWJlZHRsc19jb2RlcGF0aF9jaGVjaywgTUJFRFRMU19NUElfSVNfUFVCTElDKTsKKyNlbmRpZgogICAgIFRFU1RfRVFVQUwoMCwgbWVtY21wKFgsIEEsIE5fbGltYnMgKiBzaXplb2YobWJlZHRsc19tcGlfdWludCkpKTsKIAogZXhpdDoKICAgICBtYmVkdGxzX2ZyZWUoVCk7CiAgICAgbWJlZHRsc19mcmVlKEEpOworICAgIG1iZWR0bHNfZnJlZShBX2NvcHkpOwogICAgIG1iZWR0bHNfZnJlZShFKTsKICAgICBtYmVkdGxzX2ZyZWUoTik7CiAgICAgbWJlZHRsc19mcmVlKFgpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY2lwaGVyLmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY2lwaGVyLmZ1bmN0aW9uCmluZGV4IGFjYTQxNTAuLjA0MGMzNWMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2NpcGhlci5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jaXBoZXIuZnVuY3Rpb24KQEAgLTEyOSw3ICsxMjksNyBAQAogICogcmV0dXJuICAgMSBpZiBpdCBpcywKICAqICAgICAgICAgIDAgaWYgaXQgaXNuJ3QuCiAgKi8KLWludCBidWZmZXJfaXNfYWxsX3plcm8oY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZSkKK3N0YXRpYyBpbnQgYnVmZmVyX2lzX2FsbF96ZXJvKGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemUpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKICAgICAgICAgaWYgKGJ1ZltpXSAhPSAwKSB7CkBAIC01NDksNiArNTQ5LDEwIEBACiAgICAgLyogZW5jb2RlIGxlbmd0aCBudW1iZXIgb2YgYnl0ZXMgZnJvbSBpbmJ1ZiAqLwogICAgIFRFU1RfQVNTRVJUKDAgPT0gbWJlZHRsc19jaXBoZXJfdXBkYXRlKCZjdHgsIGluYnVmLCBsZW5ndGgsIGVuY2J1ZiwgJm91dGxlbikpOwogICAgIFRFU1RfQVNTRVJUKHJldCA9PSBtYmVkdGxzX2NpcGhlcl9maW5pc2goJmN0eCwgZW5jYnVmICsgb3V0bGVuLCAmb3V0bGVuKSk7CisgICAgaWYgKDAgIT0gcmV0KSB7CisgICAgICAgIC8qIENoZWNrIG91dHB1dCBwYXJhbWV0ZXIgaXMgc2V0IHRvIHRoZSBsZWFzdC1oYXJtZnVsIHZhbHVlIG9uIGVycm9yICovCisgICAgICAgIFRFU1RfQVNTRVJUKDAgPT0gb3V0bGVuKTsKKyAgICB9CiAKICAgICAvKiBkb25lICovCiBleGl0OgpAQCAtODI2LDYgKzgzMCwxMCBAQAogICAgIHRvdGFsX2xlbiArPSBvdXRsZW47CiAgICAgVEVTVF9BU1NFUlQoZmluaXNoX3Jlc3VsdCA9PSBtYmVkdGxzX2NpcGhlcl9maW5pc2goJmN0eCwgb3V0cHV0ICsgb3V0bGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvdXRsZW4pKTsKKyAgICBpZiAoMCAhPSBmaW5pc2hfcmVzdWx0KSB7CisgICAgICAgIC8qIENoZWNrIG91dHB1dCBwYXJhbWV0ZXIgaXMgc2V0IHRvIHRoZSBsZWFzdC1oYXJtZnVsIHZhbHVlIG9uIGVycm9yICovCisgICAgICAgIFRFU1RfQVNTRVJUKDAgPT0gb3V0bGVuKTsKKyAgICB9CiAgICAgdG90YWxfbGVuICs9IG91dGxlbjsKICNpZiBkZWZpbmVkKE1CRURUTFNfR0NNX0MpIHx8IGRlZmluZWQoTUJFRFRMU19DSEFDSEFQT0xZX0MpCiAgICAgaW50IHRhZ19leHBlY3RlZCA9IChjdHguY2lwaGVyX2luZm8tPm1vZGUgPT0gTUJFRFRMU19NT0RFX0dDTSB8fApkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY29tbW9uLmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY29tbW9uLmZ1bmN0aW9uCmluZGV4IDVjNTcwMGMuLjg2MjZhMGIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2NvbW1vbi5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jb21tb24uZnVuY3Rpb24KQEAgLTEsNyArMSwxMSBAQAogLyogQkVHSU5fSEVBREVSICovCiAjaW5jbHVkZSAiY29tbW9uLmgiCiAKLXZvaWQgZmlsbF9hcnJheXModW5zaWduZWQgY2hhciAqYSwgdW5zaWduZWQgY2hhciAqYiwgdW5zaWduZWQgY2hhciAqcjEsIHVuc2lnbmVkIGNoYXIgKnIyLCBzaXplX3QgbikKK3N0YXRpYyB2b2lkIGZpbGxfYXJyYXlzKHVuc2lnbmVkIGNoYXIgKmEsCisgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpiLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqcjEsCisgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpyMiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBuKQogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgIGFbaV0gID0gKHVuc2lnbmVkIGNoYXIpIGkgKiAzOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY29uZmlnLmNyeXB0b19jb21iaW5hdGlvbnMuZGF0YSBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2NvbmZpZy5jcnlwdG9fY29tYmluYXRpb25zLmRhdGEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDMyODdkMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2NvbmZpZy5jcnlwdG9fY29tYmluYXRpb25zLmRhdGEKQEAgLTAsMCArMSw5IEBACisjIEludGVyZXN0aW5nIGNvbWJpbmF0aW9ucyBvZiBsb3ctbGV2ZWwgY3J5cHRvIG9wdGlvbnMKKworQ29uZmlnOiBFQ0M6IFdlaWVyc3RyYXNzIGN1cnZlcyBvbmx5CitkZXBlbmRzX29uOk1CRURUTFNfRUNQX1NIT1JUX1dFSUVSU1RSQVNTX0VOQUJMRUQ6IU1CRURUTFNfRUNQX01PTlRHT01FUllfRU5BQkxFRAorcGFzczoKKworQ29uZmlnOiBFQ0M6IE1vbnRnb21lcnkgY3VydmVzIG9ubHkKK2RlcGVuZHNfb246IU1CRURUTFNfRUNQX1NIT1JUX1dFSUVSU1RSQVNTX0VOQUJMRUQ6TUJFRFRMU19FQ1BfTU9OVEdPTUVSWV9FTkFCTEVECitwYXNzOgpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY29uZmlnLmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY29uZmlnLmZ1bmN0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllOWRkMDEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jb25maWcuZnVuY3Rpb24KQEAgLTAsMCArMSwxNCBAQAorLyogQkVHSU5fSEVBREVSICovCisKKy8qIEVORF9IRUFERVIgKi8KKworLyogQkVHSU5fQ0FTRSAqLworLyogVGhpcyB0ZXN0IGNhc2UgYWx3YXlzIHBhc3Nlcy4gSXQgaXMgaW50ZW5kZWQgc29sZWx5IGZvciBjb25maWd1cmF0aW9uCisgKiByZXBvcnRpbmcgaW4gdGhlIG91dGNvbWUgZmlsZS4gV3JpdGUgdGVzdCBjYXNlcyB1c2luZyB0aGlzIGZ1bmN0aW9uCisgKiB3aXRoIGRlcGVuZGVuY2llcyB0byByZWNvcmQgaW4gd2hpY2ggY29uZmlndXJhdGlvbnMgdGhlIGRlcGVuZGVuY2llcworICogYXJlIG1ldC4gKi8KK3ZvaWQgcGFzcygpCit7CisgICAgZ290byBleGl0OworfQorLyogRU5EX0NBU0UgKi8KZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2NvbmZpZy5wc2FfY29tYmluYXRpb25zLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jb25maWcucHNhX2NvbWJpbmF0aW9ucy5kYXRhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwMzVhZjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jb25maWcucHNhX2NvbWJpbmF0aW9ucy5kYXRhCkBAIC0wLDAgKzEsOSBAQAorIyBJbnRlcmVzdGluZyBjb21iaW5hdGlvbnMgb2YgUFNBIG9wdGlvbnMKKworQ29uZmlnOiBQU0FfV0FOVF9BTEdfRUNEU0Egd2l0aG91dCBQU0FfV0FOVF9BTEdfREVURVJNSU5JU1RJQ19FQ0RTQQorZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfRUNEU0E6IVBTQV9XQU5UX0FMR19ERVRFUk1JTklTVElDX0VDRFNBCitwYXNzOgorCitDb25maWc6IFBTQV9XQU5UX0FMR19ERVRFUk1JTlNUSUNfRUNEU0Egd2l0aG91dCBQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246UFNBX1dBTlRfQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0E6IVBTQV9XQU5UX0FMR19FQ0RTQQorcGFzczoKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2NvbmZpZy50bHNfY29tYmluYXRpb25zLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jb25maWcudGxzX2NvbWJpbmF0aW9ucy5kYXRhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiYzU3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jb25maWcudGxzX2NvbWJpbmF0aW9ucy5kYXRhCkBAIC0wLDAgKzEsOSBAQAorIyBJbnRlcmVzdGluZyBjb21iaW5hdGlvbnMgb2YgVExTIG9wdGlvbnMKKworQ29uZmlnOiBUTFMgMS4yIHdpdGhvdXQgVExTIDEuMworZGVwZW5kc19vbjpNQkVEVExTX1NTTF9QUk9UT19UTFMxXzI6IU1CRURUTFNfU1NMX1BST1RPX1RMUzFfMworcGFzczoKKworQ29uZmlnOiBUTFMgMS4zIHdpdGhvdXQgVExTIDEuMgorZGVwZW5kc19vbjpNQkVEVExTX1NTTF9QUk9UT19UTFMxXzM6IU1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgorcGFzczoKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2N0cl9kcmJnLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jdHJfZHJiZy5kYXRhCmluZGV4IDg5ZGZiOTcuLjEwZTliZDAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2N0cl9kcmJnLmRhdGEKKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY3RyX2RyYmcuZGF0YQpAQCAtMTA4OCw3ICsxMDg4LDcgQEAKIGN0cl9kcmJnX2VudHJvcHlfc3RyZW5ndGg6MjU2CiAKIENUUl9EUkJHIHdyaXRlL3VwZGF0ZSBzZWVkIGZpbGUgWyMxXQotY3RyX2RyYmdfc2VlZF9maWxlOiJkYXRhX2ZpbGVzL2N0cl9kcmJnX3NlZWQiOjAKK2N0cl9kcmJnX3NlZWRfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3RyX2RyYmdfc2VlZCI6MAogCiBDVFJfRFJCRyB3cml0ZS91cGRhdGUgc2VlZCBmaWxlIFsjMl0KIGN0cl9kcmJnX3NlZWRfZmlsZToibm9fc3VjaF9kaXIvZmlsZSI6TUJFRFRMU19FUlJfQ1RSX0RSQkdfRklMRV9JT19FUlJPUgpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfY3RyX2RyYmcuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jdHJfZHJiZy5mdW5jdGlvbgppbmRleCA3MjBlYjNlLi43OGE2M2VhIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jdHJfZHJiZy5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9jdHJfZHJiZy5mdW5jdGlvbgpAQCAtOTYsNiArOTYsNyBAQAogfQogCiBzdGF0aWMgY29uc3QgaW50IHRocmVhZF9yYW5kb21fcmVwcyA9IDEwOwordm9pZCAqdGhyZWFkX3JhbmRvbV9mdW5jdGlvbih2b2lkICpjdHgpOyAvKiBvbmx5IHVzZWQgY29uZGl0aW9uYWxseSBpbiBjdHJfZHJiZ190aHJlYWRzICovCiB2b2lkICp0aHJlYWRfcmFuZG9tX2Z1bmN0aW9uKHZvaWQgKmN0eCkKIHsKICAgICB1bnNpZ25lZCBjaGFyIG91dFsxNl07CkBAIC0zNjIsMTQgKzM2MywxNCBAQAogICAgICAqIGFzIHRoaXMgd2FzIHRoZSB2YWx1ZSB1c2VkIHdoZW4gdGhlIGV4cGVjdGVkIGFuc3dlcnMgd2VyZSBjYWxjdWxhdGVkLiAqLwogICAgIGNvbnN0IHNpemVfdCBlbnRyb3B5X2xlbiA9IDQ4OwogCisgICAgbWJlZHRsc19jdHJfZHJiZ19jb250ZXh0IGN0eDsKKyAgICBtYmVkdGxzX2N0cl9kcmJnX2luaXQoJmN0eCk7CisKICAgICBBRVNfUFNBX0lOSVQoKTsKIAogICAgIFRFU1RfQ0FMTE9DKHRocmVhZHMsIHNpemVvZihtYmVkdGxzX3Rlc3RfdGhyZWFkX3QpICogdGhyZWFkX2NvdW50KTsKICAgICBtZW1zZXQob3V0LCAwLCBzaXplb2Yob3V0KSk7CiAKLSAgICBtYmVkdGxzX2N0cl9kcmJnX2NvbnRleHQgY3R4OwotICAgIG1iZWR0bHNfY3RyX2RyYmdfaW5pdCgmY3R4KTsKLQogICAgIHRlc3Rfb2Zmc2V0X2lkeCA9IDA7CiAKICAgICAvKiBOZWVkIHRvIHNldCBhIG5vbi1kZWZhdWx0IGZpeGVkIGVudHJvcHkgbGVuLCB0byBlbnN1cmUgc2FtZSBvdXRwdXQgYWNyb3NzCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9kZWJ1Zy5kYXRhIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfZGVidWcuZGF0YQppbmRleCA1MTJhMDRhLi44YjE3ZWI4IDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9kZWJ1Zy5kYXRhCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2RlYnVnLmRhdGEKQEAgLTYwLDggKzYwLDggQEAKIAogRGVidWcgcHJpbnQgY2VydGlmaWNhdGUgIzEgKFJTQSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0JBU0U2NF9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMTohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX2RlYnVnX3ByaW50X2NydDoiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ik15RmlsZSI6OTk5OiJQUkVGSVhfIjoiTXlGaWxlKDA5OTkpXDogUFJFRklYXyAjMVw6XG5NeUZpbGUoMDk5OSlcOiBjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5NeUZpbGUoMDk5OSlcOiBzZXJpYWwgbnVtYmVyICAgICBcOiAwMVxuTXlGaWxlKDA5OTkpXDogaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuTXlGaWxlKDA5OTkpXDogc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbk15RmlsZSgwOTk5KVw6IGlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuTXlGaWxlKDA5OTkpXDogZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5NeUZpbGUoMDk5OSlcOiBzaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5NeUZpbGUoMDk5OSlcOiBSU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbk15RmlsZSgwOTk5KVw6IGJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG5NeUZpbGUoMDk5OSlcOiB2YWx1ZSBvZiAnY3J0LT5yc2EuTicgKDIwNDggYml0cykgaXNcOlxuTXlGaWxlKDA5OTkpXDogIGE5IDAyIDFmIDNkIDQwIDZhIGQ1IDU1IDUzIDhiIGZkIDM2IGVlIDgyIDY1IDJlXG5NeUZpbGUoMDk5OSlcOiAgMTUgNjEgNWUgODkgYmYgYjggZTggNDUgOTAgZGIgZWUgODggMTYgNTIgZDMgZjFcbk15RmlsZSgwOTk5KVw6ICA0MyA1MCA0NyA5NiAxMiA1OSA2NCA4NyA2YiBmZCAyYiBlMCA0NiBmOSA3MyBiZVxuTXlGaWxlKDA5OTkpXDogIGRkIGNmIDkyIGUxIDkxIDViIGVkIDY2IGEwIDZmIDg5IDI5IDc5IDQ1IDgwIGQwXG5NeUZpbGUoMDk5OSlcOiAgODMgNmEgZDUgNDEgNDMgNzcgNWYgMzkgN2MgMDkgMDQgNDcgODIgYjAgNTcgMzlcbk15RmlsZSgwOTk5KVw6ICA3MCBlZCBhMyBlYyAxNSAxOSAxZSBhOCAzMyAwOCA0NyBjMSAwNSA0MiBhOSBmZFxuTXlGaWxlKDA5OTkpXDogIDRjIGMzIGI0IGRmIGRkIDA2IDFmIDRkIDEwIDUxIDQwIDY3IDczIDEzIDBmIDQwXG5NeUZpbGUoMDk5OSlcOiAgZjggNmQgODEgMjUgNWYgMGEgYjEgNTMgYzYgMzAgN2UgMTUgMzkgYWMgZjkgNWFcbk15RmlsZSgwOTk5KVw6ICBlZSA3ZiA5MiA5ZSBhNiAwNSA1YiBlNyAxMyA5NyA4NSBiNSAyMyA5MiBkOSBkNFxuTXlGaWxlKDA5OTkpXDogIDI0IDA2IGQ1IDA5IDI1IDg5IDc1IDA3IGRkIGE2IDFhIDhmIDNmIDA5IDE5IGJlXG5NeUZpbGUoMDk5OSlcOiAgYWQgNjUgMmMgNjQgZWIgOTUgOWIgZGMgZmUgNDEgNWUgMTcgYTYgZGEgNmMgNWJcbk15RmlsZSgwOTk5KVw6ICA2OSBjYyAwMiBiYSAxNCAyYyAxNiAyNCA5YyA0YSBkYyBjZCBkMCBmNyA1MiA2N1xuTXlGaWxlKDA5OTkpXDogIDczIGYxIDJkIGEwIDIzIGZkIDdlIGY0IDMxIGNhIDJkIDcwIGNhIDg5IDBiIDA0XG5NeUZpbGUoMDk5OSlcOiAgZGIgMmUgYTYgNGYgNzAgNmUgOWUgY2UgYmQgNTggODkgZTIgNTMgNTkgOWUgNmVcbk15RmlsZSgwOTk5KVw6ICA1YSA5MiA2NSBlMiA4OCAzZiAwYyA5NCAxOSBhMyBkZCBlNSBlOCA5ZCA5NSAxM1xuTXlGaWxlKDA5OTkpXDogIGVkIDI5IGRiIGFiIDcwIDEyIGRjIDVhIGNhIDZiIDE3IGFiIDUyIDgyIDU0IGIxXG5NeUZpbGUoMDk5OSlcOiB2YWx1ZSBvZiAnY3J0LT5yc2EuRScgKDE3IGJpdHMpIGlzXDpcbk15RmlsZSgwOTk5KVw6ICAwMSAwMCAwMVxuIgorbWJlZHRsc19kZWJ1Z19wcmludF9jcnQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiTXlGaWxlIjo5OTk6IlBSRUZJWF8iOiJNeUZpbGUoMDk5OSlcOiBQUkVGSVhfICMxXDpcbk15RmlsZSgwOTk5KVw6IGNlcnQuIHZlcnNpb24gICAgIFw6IDNcbk15RmlsZSgwOTk5KVw6IHNlcmlhbCBudW1iZXIgICAgIFw6IDAxXG5NeUZpbGUoMDk5OSlcOiBpc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5NeUZpbGUoMDk5OSlcOiBzdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuTXlGaWxlKDA5OTkpXDogaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5NeUZpbGUoMDk5OSlcOiBleHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbk15RmlsZSgwOTk5KVw6IHNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcbk15RmlsZSgwOTk5KVw6IFJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuTXlGaWxlKDA5OTkpXDogYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2Vcbk15RmlsZSgwOTk5KVw6IHZhbHVlIG9mICdjcnQtPnJzYS5OJyAoMjA0OCBiaXRzKSBpc1w6XG5NeUZpbGUoMDk5OSlcOiAgYTkgMDIgMWYgM2QgNDAgNmEgZDUgNTUgNTMgOGIgZmQgMzYgZWUgODIgNjUgMmVcbk15RmlsZSgwOTk5KVw6ICAxNSA2MSA1ZSA4OSBiZiBiOCBlOCA0NSA5MCBkYiBlZSA4OCAxNiA1MiBkMyBmMVxuTXlGaWxlKDA5OTkpXDogIDQzIDUwIDQ3IDk2IDEyIDU5IDY0IDg3IDZiIGZkIDJiIGUwIDQ2IGY5IDczIGJlXG5NeUZpbGUoMDk5OSlcOiAgZGQgY2YgOTIgZTEgOTEgNWIgZWQgNjYgYTAgNmYgODkgMjkgNzkgNDUgODAgZDBcbk15RmlsZSgwOTk5KVw6ICA4MyA2YSBkNSA0MSA0MyA3NyA1ZiAzOSA3YyAwOSAwNCA0NyA4MiBiMCA1NyAzOVxuTXlGaWxlKDA5OTkpXDogIDcwIGVkIGEzIGVjIDE1IDE5IDFlIGE4IDMzIDA4IDQ3IGMxIDA1IDQyIGE5IGZkXG5NeUZpbGUoMDk5OSlcOiAgNGMgYzMgYjQgZGYgZGQgMDYgMWYgNGQgMTAgNTEgNDAgNjcgNzMgMTMgMGYgNDBcbk15RmlsZSgwOTk5KVw6ICBmOCA2ZCA4MSAyNSA1ZiAwYSBiMSA1MyBjNiAzMCA3ZSAxNSAzOSBhYyBmOSA1YVxuTXlGaWxlKDA5OTkpXDogIGVlIDdmIDkyIDllIGE2IDA1IDViIGU3IDEzIDk3IDg1IGI1IDIzIDkyIGQ5IGQ0XG5NeUZpbGUoMDk5OSlcOiAgMjQgMDYgZDUgMDkgMjUgODkgNzUgMDcgZGQgYTYgMWEgOGYgM2YgMDkgMTkgYmVcbk15RmlsZSgwOTk5KVw6ICBhZCA2NSAyYyA2NCBlYiA5NSA5YiBkYyBmZSA0MSA1ZSAxNyBhNiBkYSA2YyA1YlxuTXlGaWxlKDA5OTkpXDogIDY5IGNjIDAyIGJhIDE0IDJjIDE2IDI0IDljIDRhIGRjIGNkIGQwIGY3IDUyIDY3XG5NeUZpbGUoMDk5OSlcOiAgNzMgZjEgMmQgYTAgMjMgZmQgN2UgZjQgMzEgY2EgMmQgNzAgY2EgODkgMGIgMDRcbk15RmlsZSgwOTk5KVw6ICBkYiAyZSBhNiA0ZiA3MCA2ZSA5ZSBjZSBiZCA1OCA4OSBlMiA1MyA1OSA5ZSA2ZVxuTXlGaWxlKDA5OTkpXDogIDVhIDkyIDY1IGUyIDg4IDNmIDBjIDk0IDE5IGEzIGRkIGU1IGU4IDlkIDk1IDEzXG5NeUZpbGUoMDk5OSlcOiAgZWQgMjkgZGIgYWIgNzAgMTIgZGMgNWEgY2EgNmIgMTcgYWIgNTIgODIgNTQgYjFcbk15RmlsZSgwOTk5KVw6IHZhbHVlIG9mICdjcnQtPnJzYS5FJyAoMTcgYml0cykgaXNcOlxuTXlGaWxlKDA5OTkpXDogIDAxIDAwIDAxXG4iCiAKIERlYnVnIHByaW50IGNlcnRpZmljYXRlICMyIChFQykKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0JBU0U2NF9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NjohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX2RlYnVnX3ByaW50X2NydDoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJNeUZpbGUiOjk5OToiUFJFRklYXyI6Ik15RmlsZSgwOTk5KVw6IFBSRUZJWF8gIzFcOlxuTXlGaWxlKDA5OTkpXDogY2VydC4gdmVyc2lvbiAgICAgXDogM1xuTXlGaWxlKDA5OTkpXDogc2VyaWFsIG51bWJlciAgICAgXDogQzFcOjQzXDpFMlw6N0VcOjYyXDo0M1w6Q0NcOkU4XG5NeUZpbGUoMDk5OSlcOiBpc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5NeUZpbGUoMDk5OSlcOiBzdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5NeUZpbGUoMDk5OSlcOiBpc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAyLTEwIDE0XDo0NFw6MDBcbk15RmlsZSgwOTk5KVw6IGV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDItMTAgMTRcOjQ0XDowMFxuTXlGaWxlKDA5OTkpXDogc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbk15RmlsZSgwOTk5KVw6IEVDIGtleSBzaXplICAgICAgIFw6IDM4NCBiaXRzXG5NeUZpbGUoMDk5OSlcOiBiYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5NeUZpbGUoMDk5OSlcOiB2YWx1ZSBvZiAnY3J0LT5lY2tleS5RKFgpJyAoMzg0IGJpdHMpIGlzXDpcbk15RmlsZSgwOTk5KVw6ICBjMyBkYSAyYiAzNCA0MSAzNyA1OCAyZiA4NyA1NiBmZSBmYyA4OSBiYSAyOSA0M1xuTXlGaWxlKDA5OTkpXDogIDRiIDRlIGUwIDZlIGMzIDBlIDU3IDUzIDMzIDM5IDU4IGQ0IDUyIGI0IDkxIDk1XG5NeUZpbGUoMDk5OSlcOiAgMzkgMGIgMjMgZGYgNWYgMTcgMjQgNjIgNDggZmMgMWEgOTUgMjkgY2UgMmMgMmRcbk15RmlsZSgwOTk5KVw6IHZhbHVlIG9mICdjcnQtPmVja2V5LlEoWSknICgzODQgYml0cykgaXNcOlxuTXlGaWxlKDA5OTkpXDogIDg3IGMyIDg4IDUyIDgwIGFmIGQ2IDZhIGFiIDIxIGRkIGI4IGQzIDFjIDZlIDU4XG5NeUZpbGUoMDk5OSlcOiAgYjggY2EgZTggYjIgNjkgOGUgZjMgNDEgYWQgMjkgYzMgYjQgNWYgNzUgYTcgNDdcbk15RmlsZSgwOTk5KVw6ICA2ZiBkNSAxOSAyOSA1NSA2OSA5YSA1MyAzYiAyMCBiNCA2NiAxNiA2MCAzMyAxZVxuIgorbWJlZHRsc19kZWJ1Z19wcmludF9jcnQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ik15RmlsZSI6OTk5OiJQUkVGSVhfIjoiTXlGaWxlKDA5OTkpXDogUFJFRklYXyAjMVw6XG5NeUZpbGUoMDk5OSlcOiBjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5NeUZpbGUoMDk5OSlcOiBzZXJpYWwgbnVtYmVyICAgICBcOiBDMVw6NDNcOkUyXDo3RVw6NjJcOjQzXDpDQ1w6RThcbk15RmlsZSgwOTk5KVw6IGlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0Fcbk15RmlsZSgwOTk5KVw6IHN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0Fcbk15RmlsZSgwOTk5KVw6IGlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowMFxuTXlGaWxlKDA5OTkpXDogZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjAwXG5NeUZpbGUoMDk5OSlcOiBzaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuTXlGaWxlKDA5OTkpXDogRUMga2V5IHNpemUgICAgICAgXDogMzg0IGJpdHNcbk15RmlsZSgwOTk5KVw6IGJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbk15RmlsZSgwOTk5KVw6IHZhbHVlIG9mICdjcnQtPmVja2V5LlEoWCknICgzODQgYml0cykgaXNcOlxuTXlGaWxlKDA5OTkpXDogIGMzIGRhIDJiIDM0IDQxIDM3IDU4IDJmIDg3IDU2IGZlIGZjIDg5IGJhIDI5IDQzXG5NeUZpbGUoMDk5OSlcOiAgNGIgNGUgZTAgNmUgYzMgMGUgNTcgNTMgMzMgMzkgNTggZDQgNTIgYjQgOTEgOTVcbk15RmlsZSgwOTk5KVw6ICAzOSAwYiAyMyBkZiA1ZiAxNyAyNCA2MiA0OCBmYyAxYSA5NSAyOSBjZSAyYyAyZFxuTXlGaWxlKDA5OTkpXDogdmFsdWUgb2YgJ2NydC0+ZWNrZXkuUShZKScgKDM4NCBiaXRzKSBpc1w6XG5NeUZpbGUoMDk5OSlcOiAgODcgYzIgODggNTIgODAgYWYgZDYgNmEgYWIgMjEgZGQgYjggZDMgMWMgNmUgNThcbk15RmlsZSgwOTk5KVw6ICBiOCBjYSBlOCBiMiA2OSA4ZSBmMyA0MSBhZCAyOSBjMyBiNCA1ZiA3NSBhNyA0N1xuTXlGaWxlKDA5OTkpXDogIDZmIGQ1IDE5IDI5IDU1IDY5IDlhIDUzIDNiIDIwIGI0IDY2IDE2IDYwIDMzIDFlXG4iCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9kZWJ1Zy5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2RlYnVnLmZ1bmN0aW9uCmluZGV4IDcwZTdiYWQuLjg3OGNlZWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2RlYnVnLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2RlYnVnLmZ1bmN0aW9uCkBAIC05LDcgKzksNyBAQAogICAgIGNoYXIgKnB0cjsKIH07CiAKLXZvaWQgc3RyaW5nX2RlYnVnKHZvaWQgKmRhdGEsIGludCBsZXZlbCwgY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKnN0cikKK3N0YXRpYyB2b2lkIHN0cmluZ19kZWJ1Zyh2b2lkICpkYXRhLCBpbnQgbGV2ZWwsIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpzdHIpCiB7CiAgICAgc3RydWN0IGJ1ZmZlcl9kYXRhICpidWZmZXIgPSAoc3RydWN0IGJ1ZmZlcl9kYXRhICopIGRhdGE7CiAgICAgY2hhciAqcCA9IGJ1ZmZlci0+cHRyOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfZGhtLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9kaG0uZGF0YQppbmRleCAyYWI1YzQzLi40ZTZiMjNiIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9kaG0uZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9kaG0uZGF0YQpAQCAtMTExLDE0ICsxMTEsMTQgQEAKIAogREggbG9hZCBwYXJhbWV0ZXJzIGZyb20gUEVNIGZpbGUgKDEwMjQtYml0LCBnPTIpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0MKLWRobV9maWxlOiJkYXRhX2ZpbGVzL2RocGFyYW1zLnBlbSI6IjllMzVmNDMwNDQzYTA5OTA0ZjNhMzlhOTc5Nzk3ZDA3MGRmNTMzNzhlNzljMjQzOGJlZjRlNzYxZjNjNzE0NTUzMzI4NTg5YjA0MWM4MDliZTFkNmM2YjVmMWZjOWY0N2QzYTI1NDQzMTg4MjUzYTk5MmE1NjgxOGIzN2JhOWRlNWE0MGQzNjJlNTZlZmYwYmU1NDE3NDc0YzEyNWMxOTkyNzJjOGZlNDFkZWE3MzNkZjZmNjYyYzkyYWU3NjU1NmU3NTVkMTBjNjRlNmE1MDk2OGY2N2ZjNmVhNzNkMGRjYTg1NjliZTJiYTIwNGUyMzU4MGQ4YmNhMmY0OTc1YjMiOiIwMiI6MTI4CitkaG1fZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGhwYXJhbXMucGVtIjoiOWUzNWY0MzA0NDNhMDk5MDRmM2EzOWE5Nzk3OTdkMDcwZGY1MzM3OGU3OWMyNDM4YmVmNGU3NjFmM2M3MTQ1NTMzMjg1ODliMDQxYzgwOWJlMWQ2YzZiNWYxZmM5ZjQ3ZDNhMjU0NDMxODgyNTNhOTkyYTU2ODE4YjM3YmE5ZGU1YTQwZDM2MmU1NmVmZjBiZTU0MTc0NzRjMTI1YzE5OTI3MmM4ZmU0MWRlYTczM2RmNmY2NjJjOTJhZTc2NTU2ZTc1NWQxMGM2NGU2YTUwOTY4ZjY3ZmM2ZWE3M2QwZGNhODU2OWJlMmJhMjA0ZTIzNTgwZDhiY2EyZjQ5NzViMyI6IjAyIjoxMjgKIAogREggbG9hZCBwYXJhbWV0ZXJzIGZyb20gUEVNIGZpbGUgKDIwNDgtYml0LCBsYXJnZSBnLCBwcml2YXRlVmFsdWVMZW5ndGgpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0MKLWRobV9maWxlOiJkYXRhX2ZpbGVzL2RoLm9wdGxlbi5wZW0iOiJiMzEyNmFlYWY0NzE1M2M3ZDY3ZjQwMzAzMGIyOTJiNWJkNWE2YzllYWUxYzEzN2FmMzQwODdmY2UyYTM2YTU3OGQ3MGM1YzU2MGFkMmJkYjkyNGM0YTRkYmVlMjBhMTY3MWJlNzEwM2NlODdkZWZhNzY5MDg5MzY4MDNkYmVjYTYwYzMzZTEyODljMWEwM2FjMmM2YzRlNDk0MDVlNTkwMmZhMDU5NmExY2JhYTg5NWNjNDAyZDUyMTNlZDRhNWYxZjViYThiNWUxZWQzZGE5NTFhNGM0NzVhZmViMGNhNjYwYjczNjhjMzhjOGU4MDlmMzgyZDk2YWUxOWU2MGRjOTg0ZTYxY2I0MmI1ZGZkNzIzMzIyYWNmMzI3ZjllNDEzY2RhNjQwMGMxNWM1YjJlYTFmYTM0NDA1ZDgzOTgyZmJhNDBlNmQ4NTJkYTNkOTEwMTliZjIzNTExMzE0MjU0ZGMyMTFhOTA4MzNlNWIxNzk4ZWU1MmE3ODE5OGM1NTU2NDQ3MjlhZDkyZjA2MDM2N2M3NGRlZDM3NzA0YWRmYzI3M2E0YTMzZmVjODIxYmQyZWJkM2JjMDUxNzMwZTk3YTRkZDE0ZDJiNzY2MDYyNTkyZjVlZWMwOWQxNmJiNTBlZmViZjJjYzAwZGQzZTBlMzQxOGU2MGVjODQ4NzBmNyI6IjgwMGFiZmU3ZGM2NjdhYTE3YmNkN2MwNDYxNGJjMjIxYTY1NDgyY2NjMDRiNjA0NjAyYjBlMTMxOTA4YTkzOGVhMTFiNDhkYzUxNWRhYjdhYmNiYjFlMGM3ZmQ2NjUxMWVkYzBkODY1NTFiNzYzMjQ5NmUwM2RmOTQzNTdlMWM0ZWEwN2E3Y2UxZTM4MWEyZmNhZmRmZjVmNWJmMDBkZjgyODgwNjAyMGU4NzVjMDA5MjZlNGQwMTFmODg0NzdhMWIwMTkyN2Q3MzgxM2NhZDQ4NDdjNjM5NmI5MjQ0NjIxYmUyYjAwYjYzYzY1OTI1MzMxODQxMzQ0M2NkMjQ0MjE1Y2Q3ZmQ0Y2JlNzk2ZTgyYzZjZjcwZjg5Y2MwYzUyOGZiOGUzNDQ4MDliMzE4NzZlN2VmNzM5ZDUxNjBkMDk1Yzk2ODQxODhiMGM4NzU1YzdhNDY4ZDQ3ZjU2ZDZkYjllYTAxMjkyNGVjYjA1NTZmYjcxMzEyYThkN2M5M2JiMjg5OGVhMDhlZTU0ZWViNTk0NTQ4Mjg1ZjA2YTk3M2NiYmUyYTBjYjAyZTkwZjMyM2ZlMDQ1NTIxZjM0YzY4MzU0YTZkM2U5NWRiZmZmMWViNjQ2OTJlZGMwYTQ0ZjNkM2U0MDhkMGU0NzlhNTQxZTc3OWE2MDU0MjU5ZTJkODU0IjoyNTYKK2RobV9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaC5vcHRsZW4ucGVtIjoiYjMxMjZhZWFmNDcxNTNjN2Q2N2Y0MDMwMzBiMjkyYjViZDVhNmM5ZWFlMWMxMzdhZjM0MDg3ZmNlMmEzNmE1NzhkNzBjNWM1NjBhZDJiZGI5MjRjNGE0ZGJlZTIwYTE2NzFiZTcxMDNjZTg3ZGVmYTc2OTA4OTM2ODAzZGJlY2E2MGMzM2UxMjg5YzFhMDNhYzJjNmM0ZTQ5NDA1ZTU5MDJmYTA1OTZhMWNiYWE4OTVjYzQwMmQ1MjEzZWQ0YTVmMWY1YmE4YjVlMWVkM2RhOTUxYTRjNDc1YWZlYjBjYTY2MGI3MzY4YzM4YzhlODA5ZjM4MmQ5NmFlMTllNjBkYzk4NGU2MWNiNDJiNWRmZDcyMzMyMmFjZjMyN2Y5ZTQxM2NkYTY0MDBjMTVjNWIyZWExZmEzNDQwNWQ4Mzk4MmZiYTQwZTZkODUyZGEzZDkxMDE5YmYyMzUxMTMxNDI1NGRjMjExYTkwODMzZTViMTc5OGVlNTJhNzgxOThjNTU1NjQ0NzI5YWQ5MmYwNjAzNjdjNzRkZWQzNzcwNGFkZmMyNzNhNGEzM2ZlYzgyMWJkMmViZDNiYzA1MTczMGU5N2E0ZGQxNGQyYjc2NjA2MjU5MmY1ZWVjMDlkMTZiYjUwZWZlYmYyY2MwMGRkM2UwZTM0MThlNjBlYzg0ODcwZjciOiI4MDBhYmZlN2RjNjY3YWExN2JjZDdjMDQ2MTRiYzIyMWE2NTQ4MmNjYzA0YjYwNDYwMmIwZTEzMTkwOGE5MzhlYTExYjQ4ZGM1MTVkYWI3YWJjYmIxZTBjN2ZkNjY1MTFlZGMwZDg2NTUxYjc2MzI0OTZlMDNkZjk0MzU3ZTFjNGVhMDdhN2NlMWUzODFhMmZjYWZkZmY1ZjViZjAwZGY4Mjg4MDYwMjBlODc1YzAwOTI2ZTRkMDExZjg4NDc3YTFiMDE5MjdkNzM4MTNjYWQ0ODQ3YzYzOTZiOTI0NDYyMWJlMmIwMGI2M2M2NTkyNTMzMTg0MTM0NDNjZDI0NDIxNWNkN2ZkNGNiZTc5NmU4MmM2Y2Y3MGY4OWNjMGM1MjhmYjhlMzQ0ODA5YjMxODc2ZTdlZjczOWQ1MTYwZDA5NWM5Njg0MTg4YjBjODc1NWM3YTQ2OGQ0N2Y1NmQ2ZGI5ZWEwMTI5MjRlY2IwNTU2ZmI3MTMxMmE4ZDdjOTNiYjI4OThlYTA4ZWU1NGVlYjU5NDU0ODI4NWYwNmE5NzNjYmJlMmEwY2IwMmU5MGYzMjNmZTA0NTUyMWYzNGM2ODM1NGE2ZDNlOTVkYmZmZjFlYjY0NjkyZWRjMGE0NGYzZDNlNDA4ZDBlNDc5YTU0MWU3NzlhNjA1NDI1OWUyZDg1NCI6MjU2CiAKIERIIGxvYWQgcGFyYW1ldGVycyBmcm9tIERFUiBmaWxlICgyMDQ4LWJpdCwgbGFyZ2UgZywgcHJpdmF0ZVZhbHVlTGVuZ3RoKQotZGhtX2ZpbGU6ImRhdGFfZmlsZXMvZGgub3B0bGVuLmRlciI6ImIzMTI2YWVhZjQ3MTUzYzdkNjdmNDAzMDMwYjI5MmI1YmQ1YTZjOWVhZTFjMTM3YWYzNDA4N2ZjZTJhMzZhNTc4ZDcwYzVjNTYwYWQyYmRiOTI0YzRhNGRiZWUyMGExNjcxYmU3MTAzY2U4N2RlZmE3NjkwODkzNjgwM2RiZWNhNjBjMzNlMTI4OWMxYTAzYWMyYzZjNGU0OTQwNWU1OTAyZmEwNTk2YTFjYmFhODk1Y2M0MDJkNTIxM2VkNGE1ZjFmNWJhOGI1ZTFlZDNkYTk1MWE0YzQ3NWFmZWIwY2E2NjBiNzM2OGMzOGM4ZTgwOWYzODJkOTZhZTE5ZTYwZGM5ODRlNjFjYjQyYjVkZmQ3MjMzMjJhY2YzMjdmOWU0MTNjZGE2NDAwYzE1YzViMmVhMWZhMzQ0MDVkODM5ODJmYmE0MGU2ZDg1MmRhM2Q5MTAxOWJmMjM1MTEzMTQyNTRkYzIxMWE5MDgzM2U1YjE3OThlZTUyYTc4MTk4YzU1NTY0NDcyOWFkOTJmMDYwMzY3Yzc0ZGVkMzc3MDRhZGZjMjczYTRhMzNmZWM4MjFiZDJlYmQzYmMwNTE3MzBlOTdhNGRkMTRkMmI3NjYwNjI1OTJmNWVlYzA5ZDE2YmI1MGVmZWJmMmNjMDBkZDNlMGUzNDE4ZTYwZWM4NDg3MGY3IjoiODAwYWJmZTdkYzY2N2FhMTdiY2Q3YzA0NjE0YmMyMjFhNjU0ODJjY2MwNGI2MDQ2MDJiMGUxMzE5MDhhOTM4ZWExMWI0OGRjNTE1ZGFiN2FiY2JiMWUwYzdmZDY2NTExZWRjMGQ4NjU1MWI3NjMyNDk2ZTAzZGY5NDM1N2UxYzRlYTA3YTdjZTFlMzgxYTJmY2FmZGZmNWY1YmYwMGRmODI4ODA2MDIwZTg3NWMwMDkyNmU0ZDAxMWY4ODQ3N2ExYjAxOTI3ZDczODEzY2FkNDg0N2M2Mzk2YjkyNDQ2MjFiZTJiMDBiNjNjNjU5MjUzMzE4NDEzNDQzY2QyNDQyMTVjZDdmZDRjYmU3OTZlODJjNmNmNzBmODljYzBjNTI4ZmI4ZTM0NDgwOWIzMTg3NmU3ZWY3MzlkNTE2MGQwOTVjOTY4NDE4OGIwYzg3NTVjN2E0NjhkNDdmNTZkNmRiOWVhMDEyOTI0ZWNiMDU1NmZiNzEzMTJhOGQ3YzkzYmIyODk4ZWEwOGVlNTRlZWI1OTQ1NDgyODVmMDZhOTczY2JiZTJhMGNiMDJlOTBmMzIzZmUwNDU1MjFmMzRjNjgzNTRhNmQzZTk1ZGJmZmYxZWI2NDY5MmVkYzBhNDRmM2QzZTQwOGQwZTQ3OWE1NDFlNzc5YTYwNTQyNTllMmQ4NTQiOjI1NgorZGhtX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RoLm9wdGxlbi5kZXIiOiJiMzEyNmFlYWY0NzE1M2M3ZDY3ZjQwMzAzMGIyOTJiNWJkNWE2YzllYWUxYzEzN2FmMzQwODdmY2UyYTM2YTU3OGQ3MGM1YzU2MGFkMmJkYjkyNGM0YTRkYmVlMjBhMTY3MWJlNzEwM2NlODdkZWZhNzY5MDg5MzY4MDNkYmVjYTYwYzMzZTEyODljMWEwM2FjMmM2YzRlNDk0MDVlNTkwMmZhMDU5NmExY2JhYTg5NWNjNDAyZDUyMTNlZDRhNWYxZjViYThiNWUxZWQzZGE5NTFhNGM0NzVhZmViMGNhNjYwYjczNjhjMzhjOGU4MDlmMzgyZDk2YWUxOWU2MGRjOTg0ZTYxY2I0MmI1ZGZkNzIzMzIyYWNmMzI3ZjllNDEzY2RhNjQwMGMxNWM1YjJlYTFmYTM0NDA1ZDgzOTgyZmJhNDBlNmQ4NTJkYTNkOTEwMTliZjIzNTExMzE0MjU0ZGMyMTFhOTA4MzNlNWIxNzk4ZWU1MmE3ODE5OGM1NTU2NDQ3MjlhZDkyZjA2MDM2N2M3NGRlZDM3NzA0YWRmYzI3M2E0YTMzZmVjODIxYmQyZWJkM2JjMDUxNzMwZTk3YTRkZDE0ZDJiNzY2MDYyNTkyZjVlZWMwOWQxNmJiNTBlZmViZjJjYzAwZGQzZTBlMzQxOGU2MGVjODQ4NzBmNyI6IjgwMGFiZmU3ZGM2NjdhYTE3YmNkN2MwNDYxNGJjMjIxYTY1NDgyY2NjMDRiNjA0NjAyYjBlMTMxOTA4YTkzOGVhMTFiNDhkYzUxNWRhYjdhYmNiYjFlMGM3ZmQ2NjUxMWVkYzBkODY1NTFiNzYzMjQ5NmUwM2RmOTQzNTdlMWM0ZWEwN2E3Y2UxZTM4MWEyZmNhZmRmZjVmNWJmMDBkZjgyODgwNjAyMGU4NzVjMDA5MjZlNGQwMTFmODg0NzdhMWIwMTkyN2Q3MzgxM2NhZDQ4NDdjNjM5NmI5MjQ0NjIxYmUyYjAwYjYzYzY1OTI1MzMxODQxMzQ0M2NkMjQ0MjE1Y2Q3ZmQ0Y2JlNzk2ZTgyYzZjZjcwZjg5Y2MwYzUyOGZiOGUzNDQ4MDliMzE4NzZlN2VmNzM5ZDUxNjBkMDk1Yzk2ODQxODhiMGM4NzU1YzdhNDY4ZDQ3ZjU2ZDZkYjllYTAxMjkyNGVjYjA1NTZmYjcxMzEyYThkN2M5M2JiMjg5OGVhMDhlZTU0ZWViNTk0NTQ4Mjg1ZjA2YTk3M2NiYmUyYTBjYjAyZTkwZjMyM2ZlMDQ1NTIxZjM0YzY4MzU0YTZkM2U5NWRiZmZmMWViNjQ2OTJlZGMwYTQ0ZjNkM2U0MDhkMGU0NzlhNTQxZTc3OWE2MDU0MjU5ZTJkODU0IjoyNTYKIAogRGlmZmllLUhlbGxtYW4gc2VsZnRlc3QKIGRobV9zZWxmdGVzdDoKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2RobS5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2RobS5mdW5jdGlvbgppbmRleCAyMDkwNTk0Li5iYjY0ZWYzIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9kaG0uZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfZGhtLmZ1bmN0aW9uCkBAIC0xLDkgKzEsOSBAQAogLyogQkVHSU5fSEVBREVSICovCiAjaW5jbHVkZSAibWJlZHRscy9kaG0uaCIKIAotaW50IGNoZWNrX2dldF92YWx1ZShjb25zdCBtYmVkdGxzX2RobV9jb250ZXh0ICpjdHgsCi0gICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfZGhtX3BhcmFtZXRlciBwYXJhbSwKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGkgKmV4cGVjdGVkKQorc3RhdGljIGludCBjaGVja19nZXRfdmFsdWUoY29uc3QgbWJlZHRsc19kaG1fY29udGV4dCAqY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19kaG1fcGFyYW1ldGVyIHBhcmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWJlZHRsc19tcGkgKmV4cGVjdGVkKQogewogICAgIG1iZWR0bHNfbXBpIGFjdHVhbDsKICAgICBpbnQgb2sgPSAwOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfZW50cm9weS5kYXRhIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfZW50cm9weS5kYXRhCmluZGV4IDBiMzBiYjguLjUxNGZjZWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2VudHJvcHkuZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9lbnRyb3B5LmRhdGEKQEAgLTgsNyArOCw3IEBACiBudl9zZWVkX2ZpbGVfY3JlYXRlOgogCiBFbnRyb3B5IHdyaXRlL3VwZGF0ZSBzZWVkIGZpbGU6IGdvb2QKLWVudHJvcHlfc2VlZF9maWxlOiJkYXRhX2ZpbGVzL2VudHJvcHlfc2VlZCI6MAorZW50cm9weV9zZWVkX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VudHJvcHlfc2VlZCI6MAogCiBFbnRyb3B5IHdyaXRlL3VwZGF0ZSBzZWVkIGZpbGU6IG5vbmV4aXN0ZW50CiBlbnRyb3B5X3NlZWRfZmlsZToibm9fc3VjaF9kaXIvZmlsZSI6TUJFRFRMU19FUlJfRU5UUk9QWV9GSUxFX0lPX0VSUk9SCkBAIC0zOCw3ICszOCw3IEBACiBlbnRyb3B5X2Z1bmNfbGVuOjY1Ok1CRURUTFNfRVJSX0VOVFJPUFlfU09VUkNFX0ZBSUxFRAogCiBFbnRyb3B5IGZhaWxpbmcgc291cmNlCi1lbnRyb3B5X3NvdXJjZV9mYWlsOiJkYXRhX2ZpbGVzL2VudHJvcHlfc2VlZCIKK2VudHJvcHlfc291cmNlX2ZhaWw6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VudHJvcHlfc2VlZCIKIAogRW50cm9weSB0aHJlc2hvbGQ6IDE2PTIqOAogZW50cm9weV90aHJlc2hvbGQ6MTY6Mjo4CmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9lbnRyb3B5LmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfZW50cm9weS5mdW5jdGlvbgppbmRleCA1YWM2NWZjLi5hNGYzYjFiIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9lbnRyb3B5LmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2VudHJvcHkuZnVuY3Rpb24KQEAgLTYwLDEyICs2MCwxNCBAQAogfQogCiAjaWYgZGVmaW5lZChNQkVEVExTX0VOVFJPUFlfTlZfU0VFRCkKKworI2lmIGRlZmluZWQoTUJFRFRMU19NRF9MSUdIVCkgJiYgZGVmaW5lZChNQkVEVExTX1BMQVRGT1JNX05WX1NFRURfQUxUKQogLyoKICAqIE5WIHNlZWQgcmVhZC93cml0ZSBmdW5jdGlvbnMgdGhhdCB1c2UgYSBidWZmZXIgaW5zdGVhZCBvZiBhIGZpbGUKICAqLwogc3RhdGljIHVuc2lnbmVkIGNoYXIgYnVmZmVyX3NlZWRbTUJFRFRMU19FTlRST1BZX0JMT0NLX1NJWkVdOwogCi1pbnQgYnVmZmVyX252X3NlZWRfcmVhZCh1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBidWZfbGVuKQorc3RhdGljIGludCBidWZmZXJfbnZfc2VlZF9yZWFkKHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zl9sZW4pCiB7CiAgICAgaWYgKGJ1Zl9sZW4gIT0gTUJFRFRMU19FTlRST1BZX0JMT0NLX1NJWkUpIHsKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtNzUsNyArNzcsNyBAQAogICAgIHJldHVybiAwOwogfQogCi1pbnQgYnVmZmVyX252X3NlZWRfd3JpdGUodW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgYnVmX2xlbikKK3N0YXRpYyBpbnQgYnVmZmVyX252X3NlZWRfd3JpdGUodW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgYnVmX2xlbikKIHsKICAgICBpZiAoYnVmX2xlbiAhPSBNQkVEVExTX0VOVFJPUFlfQkxPQ0tfU0laRSkgewogICAgICAgICByZXR1cm4gLTE7CkBAIC04NCw3ICs4Niw5IEBACiAgICAgbWVtY3B5KGJ1ZmZlcl9zZWVkLCBidWYsIE1CRURUTFNfRU5UUk9QWV9CTE9DS19TSVpFKTsKICAgICByZXR1cm4gMDsKIH0KKyNlbmRpZiAvKiBNQkVEVExTX01EX0xJR0hUICYmIE1CRURUTFNfUExBVEZPUk1fTlZfU0VFRF9BTFQgKi8KIAorI2lmIGRlZmluZWQoTUJFRFRMU19GU19JTykKIC8qCiAgKiBOViBzZWVkIHJlYWQvd3JpdGUgaGVscGVycyB0aGF0IGZpbGwgdGhlIGJhc2Ugc2VlZGZpbGUKICAqLwpAQCAtMTExLDcgKzExNSw4IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCByZWFkX252X3NlZWQodW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgYnVmX2xlbikKKyNpZiBkZWZpbmVkKE1CRURUTFNfUExBVEZPUk1fTlZfU0VFRF9BTFQpCitzdGF0aWMgaW50IHJlYWRfbnZfc2VlZCh1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBidWZfbGVuKQogewogICAgIEZJTEUgKmY7CiAKQEAgLTEzMyw2ICsxMzgsOCBAQAogCiAgICAgcmV0dXJuIDA7CiB9CisjZW5kaWYgLyogTUJFRFRMU19QTEFURk9STV9OVl9TRUVEX0FMVCAqLworI2VuZGlmIC8qIE1CRURUTFNfRlNfSU8gKi8KICNlbmRpZiAvKiBNQkVEVExTX0VOVFJPUFlfTlZfU0VFRCAqLwogLyogRU5EX0hFQURFUiAqLwogCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9obWFjX2RyYmcubWlzYy5kYXRhIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfaG1hY19kcmJnLm1pc2MuZGF0YQppbmRleCA2ODg2NmQ3Li4xZGI4ZWYxIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9obWFjX2RyYmcubWlzYy5kYXRhCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2htYWNfZHJiZy5taXNjLmRhdGEKQEAgLTM2LDcgKzM2LDcgQEAKIAogSE1BQ19EUkJHIHdyaXRlL3VwZGF0ZSBzZWVkIGZpbGUgU0hBLTEgWyMxXQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEExCi1obWFjX2RyYmdfc2VlZF9maWxlOk1CRURUTFNfTURfU0hBMToiZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAoraG1hY19kcmJnX3NlZWRfZmlsZTpNQkVEVExTX01EX1NIQTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2htYWNfZHJiZ19zZWVkIjowCiAKIEhNQUNfRFJCRyB3cml0ZS91cGRhdGUgc2VlZCBmaWxlIFNIQS0xIFsjMl0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMQpAQCAtNDQsNyArNDQsNyBAQAogCiBITUFDX0RSQkcgd3JpdGUvdXBkYXRlIHNlZWQgZmlsZSBTSEEtMjI0IFsjMV0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjI0Ci1obWFjX2RyYmdfc2VlZF9maWxlOk1CRURUTFNfTURfU0hBMjI0OiJkYXRhX2ZpbGVzL2htYWNfZHJiZ19zZWVkIjowCitobWFjX2RyYmdfc2VlZF9maWxlOk1CRURUTFNfTURfU0hBMjI0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAogCiBITUFDX0RSQkcgd3JpdGUvdXBkYXRlIHNlZWQgZmlsZSBTSEEtMjI0IFsjMl0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjI0CkBAIC01Miw3ICs1Miw3IEBACiAKIEhNQUNfRFJCRyB3cml0ZS91cGRhdGUgc2VlZCBmaWxlIFNIQS0yNTYgWyMxXQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLWhtYWNfZHJiZ19zZWVkX2ZpbGU6TUJFRFRMU19NRF9TSEEyNTY6ImRhdGFfZmlsZXMvaG1hY19kcmJnX3NlZWQiOjAKK2htYWNfZHJiZ19zZWVkX2ZpbGU6TUJFRFRMU19NRF9TSEEyNTY6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2htYWNfZHJiZ19zZWVkIjowCiAKIEhNQUNfRFJCRyB3cml0ZS91cGRhdGUgc2VlZCBmaWxlIFNIQS0yNTYgWyMyXQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKQEAgLTYwLDcgKzYwLDcgQEAKIAogSE1BQ19EUkJHIHdyaXRlL3VwZGF0ZSBzZWVkIGZpbGUgU0hBLTM4NCBbIzFdCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NAotaG1hY19kcmJnX3NlZWRfZmlsZTpNQkVEVExTX01EX1NIQTM4NDoiZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAoraG1hY19kcmJnX3NlZWRfZmlsZTpNQkVEVExTX01EX1NIQTM4NDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaG1hY19kcmJnX3NlZWQiOjAKIAogSE1BQ19EUkJHIHdyaXRlL3VwZGF0ZSBzZWVkIGZpbGUgU0hBLTM4NCBbIzJdCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NApAQCAtNjgsNyArNjgsNyBAQAogCiBITUFDX0RSQkcgd3JpdGUvdXBkYXRlIHNlZWQgZmlsZSBTSEEtNTEyIFsjMV0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyCi1obWFjX2RyYmdfc2VlZF9maWxlOk1CRURUTFNfTURfU0hBNTEyOiJkYXRhX2ZpbGVzL2htYWNfZHJiZ19zZWVkIjowCitobWFjX2RyYmdfc2VlZF9maWxlOk1CRURUTFNfTURfU0hBNTEyOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAogCiBITUFDX0RSQkcgd3JpdGUvdXBkYXRlIHNlZWQgZmlsZSBTSEEtNTEyIFsjMl0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyCkBAIC03Niw3ICs3Niw3IEBACiAKIEhNQUNfRFJCRyB3cml0ZS91cGRhdGUgc2VlZCBmaWxlIFNIQTMtMjI0IFsjMV0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBM18yMjQKLWhtYWNfZHJiZ19zZWVkX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzIyNDoiZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAoraG1hY19kcmJnX3NlZWRfZmlsZTpNQkVEVExTX01EX1NIQTNfMjI0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAogCiBITUFDX0RSQkcgd3JpdGUvdXBkYXRlIHNlZWQgZmlsZSBTSEEzLTIyNCBbIzJdCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMjI0CkBAIC04NCw3ICs4NCw3IEBACiAKIEhNQUNfRFJCRyB3cml0ZS91cGRhdGUgc2VlZCBmaWxlIFNIQTMtMjU2IFsjMV0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBM18yNTYKLWhtYWNfZHJiZ19zZWVkX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzI1NjoiZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAoraG1hY19kcmJnX3NlZWRfZmlsZTpNQkVEVExTX01EX1NIQTNfMjU2OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAogCiBITUFDX0RSQkcgd3JpdGUvdXBkYXRlIHNlZWQgZmlsZSBTSEEzLTI1NiBbIzJdCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMjU2CkBAIC05Miw3ICs5Miw3IEBACiAKIEhNQUNfRFJCRyB3cml0ZS91cGRhdGUgc2VlZCBmaWxlIFNIQTMtMzg0IFsjMV0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBM18zODQKLWhtYWNfZHJiZ19zZWVkX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzM4NDoiZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAoraG1hY19kcmJnX3NlZWRfZmlsZTpNQkVEVExTX01EX1NIQTNfMzg0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9obWFjX2RyYmdfc2VlZCI6MAogCiBITUFDX0RSQkcgd3JpdGUvdXBkYXRlIHNlZWQgZmlsZSBTSEEzLTM4NCBbIzJdCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMzg0CkBAIC0xMDAsNyArMTAwLDcgQEAKIAogSE1BQ19EUkJHIHdyaXRlL3VwZGF0ZSBzZWVkIGZpbGUgU0hBMy01MTIgWyMxXQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzXzUxMgotaG1hY19kcmJnX3NlZWRfZmlsZTpNQkVEVExTX01EX1NIQTNfNTEyOiJkYXRhX2ZpbGVzL2htYWNfZHJiZ19zZWVkIjowCitobWFjX2RyYmdfc2VlZF9maWxlOk1CRURUTFNfTURfU0hBM181MTI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2htYWNfZHJiZ19zZWVkIjowCiAKIEhNQUNfRFJCRyB3cml0ZS91cGRhdGUgc2VlZCBmaWxlIFNIQTMtNTEyIFsjMl0KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBM181MTIKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2xtb3RzLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9sbW90cy5kYXRhCmluZGV4IDI3MzcyNzIuLjczYTZmMmYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2xtb3RzLmRhdGEKKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfbG1vdHMuZGF0YQpAQCAtMTcsNyArMTcsNyBAQAogIyBUaGlzIHRlc3QgdXNlcyBkYXRhIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3BtdnIvcHl0aG9uLWhzc2xtcyBkdWUgdG8gdGhlCiAjIGxpbWl0ZWQgYW1vdW50IG9mIGF2YWlsYWJsZSB0ZXN0IHZlY3RvcnMgZm9yIExNT1RTLCBhbmQgZmV3IGltcGxlbWVudGF0aW9ucwogIyBwcm92aWRpbmcgZGlyZWN0IGFjY2VzcyB0byB0aGUgdW5kZXJseWluZyBPVFMgc2lnbmF0dXJlIHNjaGVtZS4gVGhlIHByaXZhdGUKLSMga2V5IGlzIHN0b3JlZCBpbiBkYXRhX2ZpbGVzL2xtc19oc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3Bydi4KKyMga2V5IGlzIHN0b3JlZCBpbiAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9sbXNfaHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYuCiAjIFRoaXMgdGVzdCB1c2VzIHRoZSBzYW1lIE9UUyBrZXkgYXMgdGhlIExNUyBoc3NsbXMgaW50ZXJvcCB0ZXN0IDEgKGxlYWYgMCBvZgogIyB0aGUgTE1TIGtleSksIGFuZCB0aGUgc2FtZSBtZXNzYWdlLgogIwpAQCAtMjgsNyArMjgsNyBAQAogIyBmcm9tIGhzc2xtcyBpbXBvcnQgTE1TX1ByaXYsIExNX09UU19Qcml2LCBMTVNfQUxHT1JJVEhNX1RZUEUsIExNT1RTX0FMR09SSVRITV9UWVBFCiAjIGltcG9ydCBwaWNrbGUKICMKLSMgd2l0aCBvcGVuKCd0ZXN0cy9kYXRhX2ZpbGVzL2xtc19oc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydicsICdyYicpIGFzIHByaXZhdGVfa2V5X2ZpbGU6CisjIHdpdGggb3BlbignZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX2hzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2JywgJ3JiJykgYXMgcHJpdmF0ZV9rZXlfZmlsZToKICMgICAgIHByaXZhdGVfa2V5ID0gcGlja2xlLmxvYWQocHJpdmF0ZV9rZXlfZmlsZSkKICMKICMgb3RzX3ByaXZhdGVfa2V5ID0gTE1fT1RTX1ByaXYocHJpdmF0ZV9rZXkub3RzdHlwZWNvZGUsIHByaXZhdGVfa2V5LkksIDAsIHByaXZhdGVfa2V5LlNFRUQpCkBAIC00Miw3ICs0Miw3IEBACiAjIFRoaXMgdGVzdCB1c2VzIGRhdGEgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vcG12ci9weXRob24taHNzbG1zIGR1ZSB0byB0aGUKICMgbGltaXRlZCBhbW91bnQgb2YgYXZhaWxhYmxlIHRlc3QgdmVjdG9ycyBmb3IgTE1PVFMsIGFuZCBmZXcgaW1wbGVtZW50YXRpb25zCiAjIHByb3ZpZGluZyBkaXJlY3QgYWNjZXNzIHRvIHRoZSB1bmRlcmx5aW5nIE9UUyBzaWduYXR1cmUgc2NoZW1lLiBUaGUgcHJpdmF0ZQotIyBrZXkgaXMgc3RvcmVkIGluIGRhdGFfZmlsZXMvbG1zX2hzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2LgorIyBrZXkgaXMgc3RvcmVkIGluIC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19oc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3Bydi4KICMgVGhpcyB0ZXN0IHVzZXMgdGhlIHNhbWUgT1RTIGtleSBhcyB0aGUgTE1TIGhzc2xtcyBpbnRlcm9wIHRlc3QgMiAobGVhZiAxIG9mCiAjIHRoZSBMTVMga2V5KSwgYW5kIHRoZSBzYW1lIG1lc3NhZ2UuCiAjCkBAIC01Myw3ICs1Myw3IEBACiAjIGZyb20gaHNzbG1zIGltcG9ydCBMTVNfUHJpdiwgTE1fT1RTX1ByaXYsIExNU19BTEdPUklUSE1fVFlQRSwgTE1PVFNfQUxHT1JJVEhNX1RZUEUKICMgaW1wb3J0IHBpY2tsZQogIwotIyB3aXRoIG9wZW4oJ3Rlc3RzL2RhdGFfZmlsZXMvbG1zX2hzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2JywgJ3JiJykgYXMgcHJpdmF0ZV9rZXlfZmlsZToKKyMgd2l0aCBvcGVuKCdmcmFtZXdvcmsvZGF0YV9maWxlcy9sbXNfaHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYnLCAncmInKSBhcyBwcml2YXRlX2tleV9maWxlOgogIyAgICAgcHJpdmF0ZV9rZXkgPSBwaWNrbGUubG9hZChwcml2YXRlX2tleV9maWxlKQogIwogI290c19wcml2YXRlX2tleSA9IExNX09UU19Qcml2KHByaXZhdGVfa2V5Lm90c3R5cGVjb2RlLCBwcml2YXRlX2tleS5JLCAxLCBwcml2YXRlX2tleS5TRUVEKQpAQCAtNjcsNyArNjcsNyBAQAogIyBUaGlzIHRlc3QgdXNlcyBkYXRhIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3BtdnIvcHl0aG9uLWhzc2xtcyBkdWUgdG8gdGhlCiAjIGxpbWl0ZWQgYW1vdW50IG9mIGF2YWlsYWJsZSB0ZXN0IHZlY3RvcnMgZm9yIExNT1RTLCBhbmQgZmV3IGltcGxlbWVudGF0aW9ucwogIyBwcm92aWRpbmcgZGlyZWN0IGFjY2VzcyB0byB0aGUgdW5kZXJseWluZyBPVFMgc2lnbmF0dXJlIHNjaGVtZS4gVGhlIHByaXZhdGUKLSMga2V5IGlzIHN0b3JlZCBpbiBkYXRhX2ZpbGVzL2xtc19oc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3Bydi4KKyMga2V5IGlzIHN0b3JlZCBpbiAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9sbXNfaHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYuCiAjCiAjIFRvIHByb2R1Y2UgYW5vdGhlciBzaWduYXR1cmUgd2l0aCB0aGlzIG1lc3NhZ2UgYW5kIGtleSAobm90ZSB0aGF0IHRoZSBhY3R1YWwKICMgc2lnbmF0dXJlIGJ5dGVzIHdpbGwgZGlmZmVyIGR1ZSB0byByYW5kb21pemF0aW9uKToKQEAgLTc2LDcgKzc2LDcgQEAKICMgZnJvbSBoc3NsbXMgaW1wb3J0IExNU19Qcml2LCBMTV9PVFNfUHJpdiwgTE1TX0FMR09SSVRITV9UWVBFLCBMTU9UU19BTEdPUklUSE1fVFlQRQogIyBpbXBvcnQgcGlja2xlCiAjCi0jIHdpdGggb3BlbigndGVzdHMvZGF0YV9maWxlcy9sbXNfaHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYnLCAncmInKSBhcyBwcml2YXRlX2tleV9maWxlOgorIyB3aXRoIG9wZW4oJ2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19oc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydicsICdyYicpIGFzIHByaXZhdGVfa2V5X2ZpbGU6CiAjICAgICBwcml2YXRlX2tleSA9IHBpY2tsZS5sb2FkKHByaXZhdGVfa2V5X2ZpbGUpCiAjCiAjb3RzX3ByaXZhdGVfa2V5ID0gTE1fT1RTX1ByaXYocHJpdmF0ZV9rZXkub3RzdHlwZWNvZGUsIHByaXZhdGVfa2V5LkksIDMsIHByaXZhdGVfa2V5LlNFRUQpCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9sbW90cy5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2xtb3RzLmZ1bmN0aW9uCmluZGV4IDI5MzI4N2EuLmJjYzcyZDEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2xtb3RzLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2xtb3RzLmZ1bmN0aW9uCkBAIC0yLDggKzIsOCBAQAogI2luY2x1ZGUgImxtb3RzLmgiCiAjaW5jbHVkZSAibWJlZHRscy9sbXMuaCIKIAotI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKQotaW50IGNoZWNrX2xtb3RzX3ByaXZhdGVfa2V5X2Zvcl9sZWFrKHVuc2lnbmVkIGNoYXIgKnNpZykKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgZGVmaW5lZChNQkVEVExTX0xNU19QUklWQVRFKQorc3RhdGljIGludCBjaGVja19sbW90c19wcml2YXRlX2tleV9mb3JfbGVhayh1bnNpZ25lZCBjaGFyICpzaWcpCiB7CiAgICAgc2l6ZV90IGlkeDsKIApAQCAtMTgsNyArMTgsNyBAQAogZXhpdDoKICAgICByZXR1cm4gLTE7CiB9Ci0jZW5kaWYgLyogZGVmaW5lZChNQkVEVExTX1RFU1RfSE9PS1MpICovCisjZW5kaWYgLyogTUJFRFRMU19URVNUX0hPT0tTICYmIE1CRURUTFNfTE1TX1BSSVZBVEUgKi8KIAogLyogRU5EX0hFQURFUiAqLwogCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9sbXMuZGF0YSBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2xtcy5kYXRhCmluZGV4IDc4MDJhNzAuLjE2ZWJkMWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2xtcy5kYXRhCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX2xtcy5kYXRhCkBAIC0xMSw3ICsxMSw3IEBACiBMTVMgcHloc3NsbXMgaW50ZXJvcCB0ZXN0ICMxCiAjIFRoaXMgdGVzdCB1c2VzIGRhdGEgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vcnVzc2hvdXNsZXkvcHloc3NsbXMgZHVlIHRvIHRoZQogIyBsaW1pdGVkIGFtb3VudCBvZiBhdmFpbGFibGUgdGVzdCB2ZWN0b3JzIGZvciBMTVMuIFRoZSBwcml2YXRlIGtleSBpcyBzdG9yZWQgaW4KLSMgZGF0YV9maWxlcy9sbXNfcHloc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3Bydi4gTm90ZSB0aGF0IHRoaXMgc2lnbmF0dXJlCisjIC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19weWhzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2LiBOb3RlIHRoYXQgdGhpcyBzaWduYXR1cmUKICMgdXNlcyBsZWFmIGtleSAwLCBzbyBtdXN0IGJlIHRoZSBmaXJzdCBzaWduYXR1cmUgZ2VuZXJhdGVkIGJ5IHRoZSBrZXkgaWYgdGhlCiAjIHNpZ25hdHVyZSBpcyB0byBiZSByZXByb2R1Y2VkLiBNZXNzYWdlIGRhdGEgaXMgcmFuZG9tLiBOb3RlIHRoYXQgcHloc3NsbXMKICMgc3RvcmVzIHB1YmxpYyBrZXlzIGFuZCBzaWduYXR1cmVzIGluIEhTUyBmb3JtLCB3aGljaCBhcHBlbmRzIGEgNC1ieXRlICJsZXZlbHMiCkBAIC0yMSw4ICsyMSw4IEBACiAjIFRvIHByb2R1Y2UgYW5vdGhlciBzaWduYXR1cmUgd2l0aCB0aGlzIG1lc3NhZ2UgYW5kIGtleSAobm90ZSB0aGF0IHRoZSBhY3R1YWwKICMgc2lnbmF0dXJlIGJ5dGVzIHdpbGwgZGlmZmVyIGR1ZSB0byByYW5kb21pemF0aW9uKToKICMgKiBwaXAzIGluc3RhbGwgLS11c2VyIHB5aHNzbG1zCi0jICogY3AgZGF0YV9maWxlcy9sbXNfcHloc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydiB0bXAvbG1zLnBydgotIyAqIGNwIGRhdGFfZmlsZXMvbG1zX3B5aHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wdWIgdG1wL2xtcy5wdWIKKyMgKiBjcCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9sbXNfcHloc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydiB0bXAvbG1zLnBydgorIyAqIGNwIC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19weWhzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHViIHRtcC9sbXMucHViCiAjCiAjIGltcG9ydCBweWhzc2xtcwogIwpAQCAtNTEsNyArNTEsNyBAQAogTE1TIHB5aHNzbG1zIGludGVyb3AgTlVMTC1tZXNzYWdlIHRlc3QKICMgVGhpcyB0ZXN0IHVzZXMgZGF0YSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ydXNzaG91c2xleS9weWhzc2xtcyBkdWUgdG8gdGhlIGxpbWl0ZWQKICMgYW1vdW50IG9mIGF2YWlsYWJsZSB0ZXN0IHZlY3RvcnMgZm9yIExNUy4gVGhlIHByaXZhdGUga2V5IGlzIHN0b3JlZCBpbgotIyBkYXRhX2ZpbGVzL2xtc19weWhzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2LiBOb3RlIHRoYXQgdGhpcyBzaWduYXR1cmUKKyMgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX3B5aHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYuIE5vdGUgdGhhdCB0aGlzIHNpZ25hdHVyZQogIyB1c2VzIGxlYWYga2V5IDIsIHNvIG11c3QgYmUgdGhlIHRoaXJkIHNpZ25hdHVyZSBnZW5lcmF0ZWQgYnkgdGhlIGtleSBpZiB0aGUKICMgc2lnbmF0dXJlIGlzIHRvIGJlIHJlcHJvZHVjZWQuIE1lc3NhZ2UgZGF0YSBpcyByYW5kb20uIE5vdGUgdGhhdCBoYXNoLXNpZ3MKICMgc3RvcmVzIHB1YmxpYyBrZXlzIGFuZCBzaWduYXR1cmVzIGluIEhTUyBmb3JtLCB3aGljaCBhcHBlbmRzIGEgNC1ieXRlCkBAIC02MSw3ICs2MSw3IEBACiAjIFRvIHByb2R1Y2UgYW5vdGhlciBzaWduYXR1cmUgd2l0aCB0aGlzIG1lc3NhZ2UgYW5kIGtleSAobm90ZSB0aGF0IHRoZSBhY3R1YWwKICMgc2lnbmF0dXJlIGJ5dGVzIHdpbGwgZGlmZmVyIGR1ZSB0byByYW5kb21pemF0aW9uKToKICMgKiBwaXAzIGluc3RhbGwgLS11c2VyIHB5aHNzbG1zCi0jICogY3AgZGF0YV9maWxlcy9sbXNfcHloc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydiB0bXAvbG1zLnBydgorIyAqIGNwIC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19weWhzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2IHRtcC9sbXMucHJ2CiAjICogdG91Y2ggbWVzc2FnZS5iaW4gKGNyZWF0ZSBlbXB0eSBtZXNzYWdlIGZpbGUpCiAjICogaHNzbG1zIHNpZ24gdG1wL2xtcy5wcnYgbWVzc2FnZS5iaW4gKGluY29ycmVjdCBzaWduYXR1cmUgdXNpbmcgbGVhZiBub2RlIDApCiAjICogcm0gbWVzc2FnZS5iaW4uc2lnCkBAIC03NSwxNSArNzUsMTUgQEAKICMgKiB0b3VjaCBtZXNzYWdlLmJpbiAoY3JlYXRlIGVtcHR5IG1lc3NhZ2UgZmlsZSkKICMgKiBlY2hvIC1uIC1lICJcMFwwXDBcMCIgPiBtZXNzYWdlLmJpbi5zaWc7IGNhdCBzaWcuYmluID4+IG1lc3NhZ2UuYmluLnNpZyAocmVzdG9yZSB0aGUKICMgICBIU1MgbGV2ZWxzKQotIyAqIGNwIGRhdGFfZmlsZXMvbG1zX3B5aHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OCB0bXAvbG1zLnB1YgorIyAqIGNwIC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19weWhzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzggdG1wL2xtcy5wdWIKICMgKiBoc3NsbXMgdmVyaWZ5IHRtcC9sbXMgbWVzc2FnZS5iaW4KIGxtc192ZXJpZnlfdGVzdDoiIjoiMDAwMDAwMDIwMDAwMDAwNGIyMTlhMDA1M2I2YmZlMTk4OGFkZTdiMGE0MzhjMTA2MjYyMzY2Y2I2MzM4ZWI2Y2NkMTYxMzI2YjI5MDc2ZDM0OTNlODhhYjVkZjEwYWI0NTZkZGJhYzYzZjljYzdiYzYyNmE4MzI2NjQ4NjFhNjExMjU5NjNmNmU0YjFmYzIwMmIwZDY0MjFjYjEzMDc0NTE2MTRkNGQwZTllNDUwOWJjMzk5MWVkZTgyOWYzODA1NTMxOTEyYWYxMjAyOGMzMzEyODIxMmE2ZTA1MzlhNDU4ZGEwOTJlODNkY2NlZDhmZmIxZDkyODBlNzY1OTNhMjM5ZDNlODc4NTg5MDVkM2I0YWUzODY0Y2Q1NTk3MmY1NjEwNzU5YmI3ZDkyOWQyNGFlMjYyYTFlMDI4ZjE0MGU5MGFhNzM3NWU0MzAzMmMwYmMyOGZlNWZjMjVkNTNhMjZmNGY5ZTZkZTE4ZGEyZjY5N2Y4MmU0MDkzMDhlNWIzMTY0MTNkZjhlODU0ODczOTFjNDZlNzg0ZjkzMDNmMTMzZWQzMzJjODhlNmQxNDY3Y2ViZmZkOTU0NzU5MmU5MDdjZWJhMjk5MmEwNDQyNDEwYzdhODcxMDQ2OTdhNGFiMzQ4M2Q5YjJhZjlkZjU3NGVkZjIzODExY2VjMGU2ODEyNDZmMDdhYzc0ZTFkZGY2NGE3ZjdhYmM3MmQwYTIzYjcwZDVmN2M5NjQ5MTg4ZWVjODY0NGYyNDM3OTUxNjQwYWY0ZjY3M2U2YmI3ZDM2YTEwYzVjNGM4NTdmNTE4OTc0OTI5ODI0MDExZGM3OWY0ODQxMDczODhiOTI3NjJhY2IxMTgzOWM3Y2FmZWM3ZGFhYmRiZTY1MWY1MDA5MzAzODZiNDAzY2NlYzkwYTUwNzgyOWMxOGRmMjNhODAwMjUwZDQxMmE4MmI0MDcyYzk0ZGUyNGRhOWZhMjU3MjBmMWVlNDMzOTUzZmNhMmQ5YjM4ZmZjNWM4YjYzMjhlNjliZjkyODkzNjIxOGJkMjUzY2FjNWE3MTIyYjc0NjM5ZWQ3ZjQwODVkMjdlZmRhMmE2OThhZmY0YmNlMzg1YjQ3NTQ3MGFkYjE5YWIyMDk1YjM5NzllNzRlNjM5MTRlZjU0MzAwOTRlMjAyODQ0MGY0ZDJhYTQ0OGJiNDFmMWQ0NDgxYWQ3NmM5YjY2NzFmNGE3YWFmZGJlYTQ0MzE2YWE5Nzk5M2ZhMzFjNTZjMzRmMGFjZDYyOTVjZDJmY2E4YmU5ZWE2YWYyZjRkNjU2Zjg5YjExM2NiM2IzY2UzNTc1M2JjMDEyODYyOTM3MmZhZGU4OTAzOTdjMjk3ZWU0YzIyZTczNWUyYjVmM2M3MzgzZWQxNTRjZjA5NDE4ODQxMzZiYzZlNTFmODYwODAzYjk2M2MxNDU3OTVjOGY1NzNhYjQzOTUzZDI1YzA4MzdiYjEzYWRiY2ZjNTA2Nzk1ZGIyNmZiZDdhMjc3ZDk1MzJhMjNiNWM0NzI2Mjg5NDRhM2RjZmM0MjRlNDJmYzU0YjJlZDJjYzgxNjZjYjgyZTkzNjRhZjkxMjA4ODEzMTNjOTdlNDI5YmVkMTViZDlkNDZmZTQwN2YyMjljYmM2ZGFmMTQ0MmU0MmM1NzY2NGE3ZTgzMmE4MDkzNjQ3NTAzOTZhMGIxMzRlZmNjZjlhMzFlMWVmMWZkZDIyNzlkMTE3OWE2NzNmZWRhMzMwYjk5ODk2ODFjOTRkNjllYjE5N2I2YzMwNDg2MjNlNDljOThjYzdjZmM4ZDg0NWMxN2Y5MDU5ZTdmMTViNzJhZjg2ODBjYWQyNTkxY2M5YzEzNWIyMDQ0ZmU3ZGY0NWI4YjZlZjZlOGFmODVkZGI2NzdmMDg5N2ZmYmRhODEzMWZmZjBlYmExZjk0MjAwZjQzNWJjMjZjZmU1MDkzYzYzZjU0NzYyMGVmYjNiZjhmOTA1ZmU0Y2ExYzQwZTE2M2RmYjY0MzJjNGFjZjA2ODU0MGMyYzgxYzAzOTJkMzc1ZTk5ZTM5NjA5NzM0NDdiZWNlZWZiZDQzN2Y1MTYxNmY4NTIzNmQ3NTgxNWM1MTA3MzI3N2NjN2NlY2E2MjJiYjc2MjM2ZDA1YTgzMGUwMjRhMjMxNTY2ZmIwN2Y2ZjRlMzY3MWJjN2ZkNWUyMmU0ZGExZjRkNGY0ZTU2YTE3OTMyNWIyZWE5ZTUxZDY0ODRkZjA5NDFlMGI0NmJjZjQxNDhlOTg1MzBlOWIzNjQxZTM1MWI2NzA3M2FjZTg0MzhmYWM2ZDlhMTk5ODhhZjRkNTk0MDQ4ZjEyZWFjNGJiYWE3M2ViMTVkNTk3YjFmZGJmMzRjZTk0MTA1MjBkOWRjNGI2YmI3YTk5YTEyZGNkYzUzMGM0OWJiNjdjYTk0MmFkZWNiN2FkZjI3NDU2ZWJhOWE5YjQxNmJiOThiMjVjODAyMGY0YzI1MDdiNzRhOWRkYjk0ZjE5N2VhNDJmMDM1MDBiZGU3NTFjMDRlYzJjNmI0MjdjZTBmODAzMjJhNmIzNTZmMGQ5ZDI2NTMxODQzNjM5YzdjNzkzOGI4MzU0MWM1OGZlZGQwMzk4ZDgxYjkzMDMyY2I0ODkyOTAzYTViMWNmZDIwNWIzMzM3MDJlN2Y4MGMxNDYxYTE1ZWRkNjA1OGMyZTA4ZDhhZmU0NGU0YzViZmQ3ZDlhYzI1NzhiNWExNmI0YzRlNDNiYWQ1ZjdiMjIwNDFkZTVhOTVjNmY2NDQyMmRiMjcwZTFmNjE2ZTM3OWEwMzRmYjNjMDhjZjg5MmFmNmRmOGFmOTFjMjc2N2ViNzZiY2YwMThlMzVkNjZmYmY0YWMxZTVhNmExMDAzM2VhMTE4ZjhjZDJlZGY1N2MyMjg4YTkzZjJmODViNmZmNDEyODNiMDI5ZTVjN2IwNGJkYWMzM2I1YWE3OWJmNzk5MjkyYTBhMDQ2Yjk4ZTZkMTNhMmJiNTNhOTcwZGQwYTU3ODQwMzQ2MDAwMDAwMDZjM2ZhZjJiODQ0ZTZmMTczODQ5OThhZTA2MTY3NTVlYjc1Nzg0NThiNzA5NjA3OGEzNmY5ZTU1NmEyYTA5MWJlNDdjMGY4NWZmZDhlZTkxNjczNDg1NWE2ZDExNmZhMTQzMWFkNmNmZjQ1ZDJhOGE3ZjZjMTIyZjRkNDkyZGYzMjQzODY4MWQwYjk1ZmViOTczMTI1ZTRlZTcwZWJlMTE2OTkyOTBiODMxZTg2NTcxZTM2NTEzYTcxZjE1OWQ0OGNlNTYzZjY4MTRjYzJhODk4NTFkMjUyMGM1Mjc1YjM0Y2M4MzYxNGNhYjE0YzBkMTk3MTY2NTgwZDgwMGVlNmI5MDA0YjhmZDcyZGFhYzhkNzNjMzZjMTYyM2MzN2JlOTNiYTQ5YTA2YzRlZmRlMjM4YTNhMTBhMDVkYWJhNWQ0OTQyZjdkZTUyNjQ4YWYyYmUzMWYzM2U3MjNiMzYwNTM0NjI4MmY1ZDVlMzU2YzVkMDAwNGVlYTQwZmUwYjgwYWJmNjU4ZjZjOTZjNTYzMTlhYjUzZDdmZWZiNTg3OWUwMTM2ZDFjZjMyMDk3M2EyZjQ3YzFlZTNkMjE1NTQ5MTBmMDlkMTdhZmFjNDYwNzY1N2M0MzA5ODkwOTU3YTQ5NTRiZjg2ZTJhODQ5MWJhMzdkZDg4YjJjM2ZlM2M3ZWRlYmQ3NjdjNDAwYmMyM2U0MGQxNjViMjcxMzNjNzI2YjkwYmMyNmNiYjJhODZhNmFhNDAwYzQ3YWE3ZmZjNTM4Mzg4ZGU4NDkwYjkzNDlhZmE1M2I4MTRmZmUyYTU2ZmYxNmE0OTZlOTY0ODI4NDE5Mzc1NGY5ODlmNmYxMmFlYjZlIjoiMDAwMDAwMDYwMDAwMDAwNGQ5NmJiMjY3NDRkOTllZjYyNGUzMjE2MWMzNmQzZDZlZmNkZDA0ODRlMmIxN2E2ZGQxODMxMjViZTRiMWFmMWNkYTkzMWE5MWEzYWNiMTE1MTg3N2MxNzRmNzk0M2ZkOSI6MAogCiBMTVMgaGFzaC1zaWdzIGludGVyb3AgdGVzdCAjMQogIyBUaGlzIHRlc3QgdXNlcyBkYXRhIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2Npc2NvL2hhc2gtc2lncyBkdWUgdG8gdGhlCiAjIGxpbWl0ZWQgYW1vdW50IG9mIGF2YWlsYWJsZSB0ZXN0IHZlY3RvcnMgZm9yIExNUy4gVGhlIHByaXZhdGUga2V5IGlzIHN0b3JlZCBpbgotIyBkYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydiBhbmQKLSMgZGF0YV9maWxlcy9sbXNfaGFzaC1zaWdzX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9hdXguIE5vdGUgdGhhdCB0aGlzCisjIC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydiBhbmQKKyMgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfYXV4LiBOb3RlIHRoYXQgdGhpcwogIyBzaWduYXR1cmUgdXNlcyBsZWFmIGtleSAwLCBzbyBtdXN0IGJlIHRoZSBmaXJzdCBzaWduYXR1cmUgZ2VuZXJhdGVkIGJ5IHRoZSBrZXkKICMgaWYgdGhlIHNpZ25hdHVyZSBpcyB0byBiZSByZXByb2R1Y2VkLiBNZXNzYWdlIGRhdGEgaXMgcmFuZG9tLiBOb3RlIHRoYXQKICMgaGFzaC1zaWdzIHN0b3JlcyBwdWJsaWMga2V5cyBhbmQgc2lnbmF0dXJlcyBpbiBIU1MgZm9ybSwgd2hpY2ggYXBwZW5kcyBhCkBAIC05Myw4ICs5Myw4IEBACiAjIFRvIHByb2R1Y2UgYW5vdGhlciBzaWduYXR1cmUgd2l0aCB0aGlzIG1lc3NhZ2UgYW5kIGtleSAobm90ZSB0aGF0IHRoZSBhY3R1YWwKICMgc2lnbmF0dXJlIGJ5dGVzIHdpbGwgZGlmZmVyIGR1ZSB0byByYW5kb21pemF0aW9uKToKICMgKiA8ZG93bmxvYWQgYW5kIGJ1aWxkIGhhc2gtc2lncz4KLSMgKiBjcCBkYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydiB0bXAvbG1zLnBydgotIyAqIGNwIGRhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfYXV4IHRtcC9sbXMuYXV4CisjICogY3AgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2IHRtcC9sbXMucHJ2CisjICogY3AgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfYXV4IHRtcC9sbXMuYXV4CiAjICogPFNhdmUgbWVzc2FnZSBpbiBiaW5hcnkgZm9ybWF0PgogIyAqIDxoYXNoLXNpZ3M+L2RlbW8gc2lnbiB0bXAvbG1zIG1lc3NhZ2UuYmluCiAjICogY2F0IG1lc3NhZ2UuYmluLnNpZyB8IHh4ZApAQCAtMTAzLDE1ICsxMDMsMTUgQEAKICMgKiBTYXZlIG1lc3NhZ2UgYW5kIHNpZ25hdHVyZSBpbiBiaW5hcnkgZm9ybWF0CiAjICogZWNobyAtbiAtZSAiXDBcMFwwXDAiID4gbWVzc2FnZS5iaW4uc2lnOyBjYXQgc2lnLmJpbiA+PiBtZXNzYWdlLmJpbi5zaWcgKHJlc3RvcmUgdGhlCiAjICAgSFNTIGxldmVscykKLSMgKiBjcCBkYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3B1YiB0bXAvbG1zLnB1YgorIyAqIGNwIC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3B1YiB0bXAvbG1zLnB1YgogIyAqIDxoYXNoLXNpZ3MvZGVtbz4gdmVyaWZ5IHRtcC9sbXMgbWVzc2FnZS5iaW4KIGxtc192ZXJpZnlfdGVzdDoiNmI3NDM5ZTMxZWYxMjhjNTRmMTUzNmY3NDVmZjEyNDYiOiIwMDAwMDAwMDAwMDAwMDA0MTYzZmMyZTNkMzI2N2Q4YzBkOWZkOWU3YmI3YTRlYWU4NGMzZDk4Y2Q1NjVkZTM2MWVkYzQyNjA2Nzk2MGZjMzIwMWQ5YmUxYzMwZjRlNGVkY2U5MTg0NDc1M2FhMTNmZjIxZTkyNjQ4YWM3OTViN2MyOWRkNjE0MDk2MmI1YTFmYjk3YjAyNTcwNDAyYTQ5OGE0OTUwNDRlZGNiMjZkMTMyMWM1MmU5MWM2MGNjM2ZlYjhmOGU4NGZjNzdmOTdmYjZlN2FmYmZlNGMyZjIyMDNkOGQ4NDMwM2UyZGQyMTJiNjUyZTA4YTJlNWEyNGEzMzNkZjg1OWNlYTNjNWE1NDc1NjFmN2NlNmQxODJlMmEzZjJmMDE4ZWY3ZTA1Nzg2MjE5MTZjZmY5MDVjMDcxM2ZhNWYyYmY3MzI0OGFlNjk4NWFlYmM0MDg2Yjc5ZWJmNzFiOGRjYmI1OTJlYjYxZGM2MzAzZDA2ZGJkYTg4MDYzNjkwMzYxYjBkZDI1ZWExYzJjNmI0ZDgyZGRkYmUxMTc0MDg2NGM2NWMyMjhkNjdlOWExNzEwNTA2ZTU4NWE3NDhlN2UwMmIzNjcwNmU1Y2ZmODNiMzU4OTYxM2YwN2M2MzZhYjc3ODRkNmE4Mjg4ZDMzZTgwZjA2MzE2NWEyZGRjYmIwZDdkYTgxNWRmODA0M2RmYTUwMGMzZTMxM2M1MzNiZjZhZWM5NTkyMzdjOTIzODEzZDMxMDliZGFlYjE5NWIxMzM3ZjRjZjIxYzFjODYzZjYyNjFkY2E0MTE4MTk2MDNhM2VhNjBjZjM0YzgxYjQ2MmM0OTc5YjM1N2RhMmJjZGYzMTI4MzQzY2E1YThhOTU3ZTNjYTRlZWJiOTE0ZDc0Mzg2MmUyOWVmNDhlNDNlN2M1YTdhYWY3YTJmZTEyNTFjMzA5YzY1ZTkxNDNkY2ZiMjk4ZmEwZDM1MzA4NGY2MGMwNzc5ZTFhMDliMDQwZjEzYzEwMjVlYzk5NDAyYjg0NGZmOTk5NmRlY2Y0YjVmMGQzMmEwODU4MTI2ZmYyOTM0NzJhYTkzZmJjMjAxN2QzOWZlZTkzZmY5ZjBjYTI3NTJiMjVjZmExMjU0MmJmMTljYzFiOGMxMDJkNjViNzBkY2NmNzYwZjI2Y2I1NDY3NDJjZTkwOWQ0NTM0NWY4MDJhOTg1YmFlNmEwZjkyMmE5YzJhM2RjOTkyZmFlOWY2ZjJmYmEwYzUyY2FkODI1NjRiZGU2ZWQ4YWY4ODBlZTdhNWViNWM2NDM2NjExZTVkYTFjNjkwODMxYmVkMzRlM2RkNjVhY2YyYjhmNDk2YjY0NDhlOTU3YWZjMTZjNDhiNmNkNzMzYmM4NGUzNjA2YTFkMDYwOWYwODAxNWMxNGI1NjE5YTI3MjNmOWIyMjk1MGVmYzdmZjdiNzMzYzI5OWZjZDg0ZWQ4OWM0ZDVjZDQzYTlhNTRmMjVmYzBmYTEzNzBkMTg0ZjllODAxMWI2MGJhMzhkZmNhMGVlZWI1NmFlMzdhNTgyMzcxOGM4MjEwZGIyMGMyZGUxM2MzOWU0Mzk3MGIwYjUzYjg1YjljZjllYTBkZDAyNWU3ZGI1NThiNDYzYzY4Mzk4MGZlNTllMGRlZmRlNDFhZmU4MjVjZmI4NjA2Y2E4NjE2MDJhN2ZlZmQ3NTA2ZWRjODFiN2FiNGExZTA2MjZlMGJhYzFmOTliZTExOGRiYzFlMjkxMDI4ZmM3M2QwYTBlYTY1NTlhZTFkY2Y3NDc3ZDY0NzQyYzliZWY4OGVmMDRiMmVlNGQzOTJjZjFlZmEyM2Q4YjA1ZDExZDI0MTRlNjRmNDU0MDYyM2UxMWJiZjU3ZmI4YWUyMTkzMzFkYjBkZjQ1OWE5ODQ5ZjI3MDBlNmZhN2ZmNGVkYjBmYzAxNzY0OTQ5ZTI3OWU4NDM3NGU3YTU3ZmI1ZWU2MjIxYjJiNzJkYmNmMmFiOWM5ODhmZTA3ZDIxZTE2OWI0MzM4ODg3MTI5YWM1MDNjYzZjMDkxMjc4Nzc3OGQ1MWI0YjkyMWNmN2JiMTdkNDAyOGI3ZmFmNmMyMWRkNjE2YTFhYzNiNTBkNTk1YWUwZTM2NjJlN2ZhYTE2YjlkZWM3Njk0NDYyYzdmYjg1MzllY2UwYWYzM2NjNWEzZGMzMzY0MWI4ODI3YmY0NzUxYTcwOGQ3YmYyODZjZjJlNzk1YjhmNDViNzZlMTEwOWFiZDkwOGQwMzg4ZDZhYjhlY2VhNjdiMTg3YWFiZDgwMzQ5ZTRiZDI4NmUzYjZlZWIzNTM1Y2M5YzM0M2EzOWZlOTBjYjQ0MzkwNmIxOWQyNDgzYjRjOTNkMGUzNWNkNjhkOWY1NTIzZDU0MDBhMmIxNzA4YmEzMzYxYmQwNzU3ZWQ2OWIxZGE4ODQ1NTk0ZWRmMDUzOTk1YjJkOTZiZWQ4MjEwYWFhYjI1ZmMzNGIyZGQ1ODAwNGNlODAwMzYwZjI0ODYxZTU5MTJhYzMzOWVkMGE3ODU0OGUzMDNlNzI4YTQxZTA1YzExZDc5MDEzZTM5NzFlYWZhODAzNGU2M2VjZjFjODQyZjBkOWU3MzVmZjNiNWJhZGZkNjNhZTA3ZjA1MWM5NGE5YTg2NzI2MGI1MTdlNWMyYzc1ZTg4ZTAzZDA2OWJkMzk4MTZhMjI1NWM5MGRlODFiYjc5NjIyMTQ1Yjc0Njk4NTNhMDJlYWM0NTI4OWZkOWY5ZjQwZTJmY2NkZDhkZGI3NDA0NjkzMzFmNjFiYWRjMWI3ZjZlMDE0NWRmZTMwMTQxYWQyZjI2YWM4ZDdmZjUxMjVkYzRkZmYxZmVjNTc2MjljZWE0ZjdkZTQ0MDFmYzA1NmU5YTM4ZWEwMjhhYzljNjY2Y2NkM2Y1Mjc5NDc2NzI0MDhhNzU5YTU3OTFkOWVmZGViMWZmMjUzOTI0MTM3MjhhMDNkNGM2NDFmNGNlMTU0MmI2OTUyZTc1OTVmMWVlY2YxMDYwMDAwMDAwNjcxYjA5MTJkNzM0NDQyMTQ2ZTEyOGQwMDI5MTAxYWQzNGE2ZDJkNTg2NjQwMjM1YzgyOGQ0MjdkZmFmZmRiMTU2NzcxZjA2OTI2Njc4ZmE1MGFhNzE2NzY4NGMxZGUxMDg5NDRiMmM0YTMzNThmNWU5MjYzNjgwMDllNDUwMGE4ZDRkNTAxMTI0YmMyNWE0YzliMWNmYjk1NDUwM2Y0YWUyNmM5MjIyMWUzOWM2ODA4NDNhZTU1Y2ZjYTk3MmUxMzljODJlMmU0NDY5YTcwM2ExODY2ZmEwZTZkNzY2MzY1OTFmNGFkMDdmN2QxZWFhMTkwNzc2NjBhZDQ2YTZmOWQ1MzQ5NzBlNmE0OWUyNDYyMWI3YzdjMjgzMjUzZGQyMmZiMjRlYjc4MTlmYWI4NGJhYjg4ZTQyNTU1ZDU0MzdkNWFmZTA2NjE1YTdlMGQxMDNjYzg1OTU2MTY2OTBmMTMzN2Y0MzQ1Y2Y0MTg3MjRmMDdkMGRjNGQyYzA4OTliNjkxNjkxZjM5NzIwMjIwNGVmMzQzNDJiNTcyNWRjNmFkZmU1NDlhYjBiODg3NTcyYWQzODExM2M0MDdmOTZmY2RmZWVhMGZmYzRmMzMzYWRkZmVjMjk2MTY5ZTUzZTNjNWIyNDc5N2EyMGYzYjJmMDQzZjVlOTY5MjBkZTk5MjdkYTQ2NmYwOTM4OWQzZTUyYTU2NjVmMzgwZjY4NjY2YTAxOWMyMDFlNzEwYWI0YzE2OGQ1YWM5NTJhMDJkNTkwOWE2ZmNhZjQ5OGEzM2UyMTI0ZTZhODI4MjAzNzQ0ZWUzZmU3MDQ2NWFkZGUwY2ZiY2NjMWI0NjM0NTQxNjM4YWIiOiIwMDAwMDAwNjAwMDAwMDA0ZTE4NzYwZWYyYzg2MTkyYWVlODg1NzllMzc2ZjM1Y2QxNTM0MTlkNjIyODAzYTQ4M2U3OWY2ZDM2ODYyOTMwOGE4YWI2ZmY2NjNjNGYxMDhiMjAzM2FmMjkwZGNlZGZhIjowCiAKIExNUyBoYXNoLXNpZ3MgaW50ZXJvcCB0ZXN0ICMyCiAjIFRoaXMgdGVzdCB1c2VzIGRhdGEgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vY2lzY28vaGFzaC1zaWdzIGR1ZSB0byB0aGUKICMgbGltaXRlZCBhbW91bnQgb2YgYXZhaWxhYmxlIHRlc3QgdmVjdG9ycyBmb3IgTE1TLiBUaGUgcHJpdmF0ZSBrZXkgaXMgc3RvcmVkIGluCi0jIGRhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2IGFuZAotIyBkYXRhX2ZpbGVzL2xtc19oYXNoLXNpZ3Nfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X2F1eC4gTm90ZSB0aGF0IHRoaXMKKyMgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2IGFuZAorIyAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9sbXNfaGFzaC1zaWdzX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9hdXguIE5vdGUgdGhhdCB0aGlzCiAjIHNpZ25hdHVyZSB1c2VzIGxlYWYga2V5IDEsIHNvIG11c3QgYmUgdGhlIHNlY29uZCBzaWduYXR1cmUgZ2VuZXJhdGVkIGJ5IHRoZSBrZXkKICMgaWYgdGhlIHNpZ25hdHVyZSBpcyB0byBiZSByZXByb2R1Y2VkLiBNZXNzYWdlIGRhdGEgaXMgcmFuZG9tLiBOb3RlIHRoYXQKICMgaGFzaC1zaWdzIHN0b3JlcyBwdWJsaWMga2V5cyBhbmQgc2lnbmF0dXJlcyBpbiBIU1MgZm9ybSwgd2hpY2ggYXBwZW5kcyBhCkBAIC0xMjEsOCArMTIxLDggQEAKICMgVG8gcHJvZHVjZSBhbm90aGVyIHNpZ25hdHVyZSB3aXRoIHRoaXMgbWVzc2FnZSBhbmQga2V5IChub3RlIHRoYXQgdGhlIGFjdHVhbAogIyBzaWduYXR1cmUgYnl0ZXMgd2lsbCBkaWZmZXIgZHVlIHRvIHJhbmRvbWl6YXRpb24pOgogIyAqIDxkb3dubG9hZCBhbmQgYnVpbGQgaGFzaC1zaWdzPgotIyAqIGNwIGRhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2IHRtcC9sbXMucHJ2Ci0jICogY3AgZGF0YV9maWxlcy9sbXNfaGFzaC1zaWdzX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9hdXggdG1wL2xtcy5hdXgKKyMgKiBjcCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9sbXNfaGFzaC1zaWdzX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYgdG1wL2xtcy5wcnYKKyMgKiBjcCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9sbXNfaGFzaC1zaWdzX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9hdXggdG1wL2xtcy5hdXgKICMgKiA8U2F2ZSBtZXNzYWdlIGluIGJpbmFyeSBmb3JtYXQ+CiAjICogPGhhc2gtc2lncz4vZGVtbyBzaWduIHRtcC9sbXMgbWVzc2FnZS5iaW4gKGluY29ycmVjdCBzaWduYXR1cmUgdXNpbmcgbGVhZiBub2RlIDApCiAjICogcm0gbWVzc2FnZS5iaW4uc2lnCkBAIC0xMzMsMTQgKzEzMywxNCBAQAogIyAqIFNhdmUgbWVzc2FnZSBhbmQgc2lnbmF0dXJlIGluIGJpbmFyeSBmb3JtYXQKICMgKiBlY2hvIC1uIC1lICJcMFwwXDBcMCIgPiBtZXNzYWdlLmJpbi5zaWc7IGNhdCBzaWcuYmluID4+IG1lc3NhZ2UuYmluLnNpZyAocmVzdG9yZSB0aGUKICMgICBIU1MgbGV2ZWxzKQotIyAqIGNwIGRhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHViIHRtcC9sbXMucHViCisjICogY3AgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX2hhc2gtc2lnc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHViIHRtcC9sbXMucHViCiAjICogPGhhc2gtc2lncy9kZW1vPiB2ZXJpZnkgdG1wL2xtcyBtZXNzYWdlLmJpbgogbG1zX3ZlcmlmeV90ZXN0OiIwNzA1YmE4Mjk3YzdiOWZhNWYwOGUzNzgyNWFkMjRhMCI6IjAwMDAwMDAxMDAwMDAwMDQwYTQzMjQ1NGI5OTc1MGY3YjcwM2YwMjgwZjkyODE4YjA1NzBkMDI2N2E0MjNiMzc3YmU3Y2YwNTYxMzA1ZDRjZTk4N2I5ZDhkYmMxYzNmOGJhNDEwYmJlNmI5MjE0MDZlYjgwMjY4OGQyZGQ4YTFhNmZhNGExMjRjYmNhZTliNWEyMTBmNTgzYTk1NjM4NGMwNjMxMTk1M2IwMzhiNGFkMmMyODA4MjI0ZmMzYTY0MTBjZDNiODkyNzQzNzE5NTZiY2Q0MjUzYTI1MWNiYTY0MDliMDljODIyZTFkMjlkN2EwMzc2NDhhNmYyNTYyZDBkZjYzNTlhMDQzNjIyZjI1NmY1YWM3OTczNmMwOGZjNDE4NTc1OGZmMDAyYTgzOTdlNTYwZDU4MTIzNzM5NDYzNDhhZmJhMmNjZjJjYzBmM2JhNzQxZWMwNzZkNDU4N2E1NGI4YjYyNTgwNGI4MTRjMzA1NDAxNTJhM2RjODQzYTU5MGM5NGNjMjNiYTg1N2U0YzQ1OGM4YWI2ODdiNWI5YjY4ODM3ZWU4OTA0NTRjYzE5YmI1ZjQyYTFlNmRjMDUxODAzZmFiNTBiNDQwMDY3YTkwMzAxM2Y2NzVhNzc0YjVkMDJjZDU2Mjg5NTE4ZDY1Zjg2OWYyMmIyZTJiNThkNDk5ZTllMzkyOWVjNWE5ZjVkNmQ2ZTAzY2Y5MTQ4NjA5NGFiYTdjODg0OTFjZGUzNWI4MWMxNzVjNDA0MTBiYzQwMmQyMGYwYTczYTRkYTg0NGQzYTFkNDdlNTc2MThiN2YxOGZhNWFjODVlODc3YjVmYWExZTBiNjczM2MyZDk2YjI5NzBmZGQ2ZTYwNjQzNWUzZWM1MGVhZmE4OGY4NGZiNzUxMjIxN2FhNGJlNTg1OGExNDBmMjQyNjAzYmRhNjM0ZDc2YzQ4NGExODQyOThjNGRhOTAzMDk0NDY4ZDAzMmI4ODU4NmZkMmYzNTE4MjQwNWNkODUxMTVhZjZhMGJiZDQzMWYyZTQ0MjE3YTE2OTFkZDg4ODdkYjkxZDNiOTcyNjRmZjU1MmFlN2RjMTEwYTNhMTExZjJiZjc0Y2U0MjA3OTA1NWRmYjgzOTBhMTZkNjdmMjhiNzM4ZjgzN2FhNzg4MGYzMTM0ZGVhYmNmNmVjNzRjZGI1MjFiZmY0NGRmNjFjOTk5YmY3YThkZGM0M2I2NDgxMmNkNGYzYmZiMTUxMDQ4NjdkNWU1ODVkMWNiZjk5NzM4ZTBkZjkyNjYwYjNlOTEzNWE0Mzc3ZDExOTliOGI5NzM2MmZjODdjZTNjOTlkYjNiOGFiYTYzYmEzNWViMzUzZTVlYzc5YmNlZTgyYjljY2MxYjRmN2QxYjhjZTdlNWY4ODEzZDAwN2JlM2QwZTQ1Y2I4ZTcxNzMzMzdhNWE3YzRkMzJlYTUxMTZlMGZkYmQ3ODQ2ZWExZjM2NmE1MzE0NDljNzhjZDdhMTZjZTViZmZjZDZjY2NmNTRiN2YyNDlhNzRlMGRmNmIwN2Y2YjQ4ZGI0MmViOTU4ZmYxOGIwNjk5NTM2OGFmMGNhZGQ4MmY0NGNmNDRlNGI1M2YwOTkzZGU1ZjA2YjI4OWJlZTQxY2QyNWY5MGE5ZmJkMWJmYjFhYjI0NTFjOTZiMDdhZGNmYjUyMTBkMjkxZGQ1MDVlYTMwZTVkMzAzOTVjOGQ4NGVhYmNjZGQyYzdkNmYyOGE4OGY1ZTVkMjQ1YTY5ODBjNTc4MTBjZmUxN2M5YTM3ZWY1ZTc5YjdiOWNhNzU1ZDU2YTc4OWQyMTk4NTM3MmJlZDQyYWUyODMwZDgxZWJmMGZhZDZjNzIxYmQxZDNlZTkxYWUzNjNmNDBkMzg2YWFjMjNlN2MwZGI5NjU1MzljZTliZmYzOGYwZjI0YmVjMzIyN2I1YTI0ZjRjZDdmYTcxY2E5ZDMwNmZhYTNmYzQ3MjZjZGI2NjM0ZjIxODg5N2I3OWE0YWVkNjdhNTg3OTkyODUxMDRlZWQ3NDcwM2VjNGFmNmQ1NzM4YjI3YjRkNmZiNzFlNTJjMTE0OTA2OTQ4M2E3Y2NhNmMzZmNjYmRmZjc3MzEyZmY1YzYzNWQ4YjBjY2Q1M2RiYWY3YjQ5ODcyN2Y3YzdhNzBkM2ZkMWMzZjIxN2UyY2JkMGRmZTkxMjU4YWNiN2Y3OWY1M2Y1NjAxMmE4MmRhOTk3ZWE3NzdiNzZkYWMwNDcyZTVmOTgzMGE5M2ZiMDk3MDNiMWMwZTQ1Y2JmYmY2NDFkZTk0ZmNjNmM2MDlmMDJhNWIzMWFkNTgyMWJhNmNkNDg4MjlmYzVlMGM0YWQ3OGUxMWU0Y2FjOGVmYmIxYjE3MGM3OTRiN2IxMzFiMGMxYzRlMzlmZGVmODFkYjllN2FjY2VkNWVjODI0YWVkMGM0ZTZiNTdmZDFhZGQ0MTkxZTg3YmUxNDQ2YzdjNTE5ZWI2NzEyMDVjZThjNTg1NWFkN2EyYjlmZjdhOWNkNWM0NTMzNmY1MDhkMGY4ZDJjMTE1MmRjMjY1NjY1MGJkYWY4ZmNlZDY0MmYzYTRkNDQ1YjVmYzQ5OTEwYmRiZGM5NjM1ZGUwMDg2ZWU5NTgyYTc5NmNhOWY2MDUyZGU4MDVmNDFkZmJkM2U5NDk4MmEwNWNiZDM2YmFiNTgzZGQ1YjE1ODZkZGJiM2IxYTQ1ZjFhMjY1YmVjMDYyYzFhNTBkMjIwODcwYzBjNjIyZDg1MmU2NTBhNjdmMzFlOGViM2QxOWU5NjRkZTA5MjY3MTJiN2Y0MjlhZDA1MDI0YjhkYjUxZWI2NzAyYzM5NTgwZjYyZjAzNzM4ODg2MjI1MWJmNjZmMDJlZGVlOTYxNWE2Mzk1N2VhYjc1YjI4NTAxZjlmMjZjZWNkMDlhNWM5NDkxMjdjOWEzMDk1MDM2NjY3ZmNlOGU0NWJhNzU1NjhkNTE2MGZhMTcyNWE5ZTAwMzgxNDVkOTQ4ZjQzNzY0MGRjNDQ0MTAwMDAwMDA2NmU4ZGIxM2E5ZTc5ZDEwYTRlMDY3YWFkNDQ4YTE4NDdiNTQ4OWE2MmNkZTMwNTRlZTFlNWZmMmUzNzU0OWQ1MTY3NzFmMDY5MjY2NzhmYTUwYWE3MTY3Njg0YzFkZTEwODk0NGIyYzRhMzM1OGY1ZTkyNjM2ODAwOWU0NTAwYThkNGQ1MDExMjRiYzI1YTRjOWIxY2ZiOTU0NTAzZjRhZTI2YzkyMjIxZTM5YzY4MDg0M2FlNTVjZmNhOTcyZTEzOWM4MmUyZTQ0NjlhNzAzYTE4NjZmYTBlNmQ3NjYzNjU5MWY0YWQwN2Y3ZDFlYWExOTA3NzY2MGFkNDZhNmY5ZDUzNDk3MGU2YTQ5ZTI0NjIxYjdjN2MyODMyNTNkZDIyZmIyNGViNzgxOWZhYjg0YmFiODhlNDI1NTVkNTQzN2Q1YWZlMDY2MTVhN2UwZDEwM2NjODU5NTYxNjY5MGYxMzM3ZjQzNDVjZjQxODcyNGYwN2QwZGM0ZDJjMDg5OWI2OTE2OTFmMzk3MjAyMjA0ZWYzNDM0MmI1NzI1ZGM2YWRmZTU0OWFiMGI4ODc1NzJhZDM4MTEzYzQwN2Y5NmZjZGZlZWEwZmZjNGYzMzNhZGRmZWMyOTYxNjllNTNlM2M1YjI0Nzk3YTIwZjNiMmYwNDNmNWU5NjkyMGRlOTkyN2RhNDY2ZjA5Mzg5ZDNlNTJhNTY2NWYzODBmNjg2NjZhMDE5YzIwMWU3MTBhYjRjMTY4ZDVhYzk1MmEwMmQ1OTA5YTZmY2FmNDk4YTMzZTIxMjRlNmE4MjgyMDM3NDRlZTNmZTcwNDY1YWRkZTBjZmJjY2MxYjQ2MzQ1NDE2MzhhYiI6IjAwMDAwMDA2MDAwMDAwMDRlMTg3NjBlZjJjODYxOTJhZWU4ODU3OWUzNzZmMzVjZDE1MzQxOWQ2MjI4MDNhNDgzZTc5ZjZkMzY4NjI5MzA4YThhYjZmZjY2M2M0ZjEwOGIyMDMzYWYyOTBkY2VkZmEiOjAKIAogTE1TIGhzc2xtcyBpbnRlcm9wIHRlc3QgIzEKICMgVGhpcyB0ZXN0IHVzZXMgZGF0YSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9wbXZyL3B5dGhvbi1oc3NsbXMgZHVlIHRvIHRoZQogIyBsaW1pdGVkIGFtb3VudCBvZiBhdmFpbGFibGUgdGVzdCB2ZWN0b3JzIGZvciBMTVMuIFRoZSBwcml2YXRlIGtleSBpcyBzdG9yZWQgaW4KLSMgZGF0YV9maWxlcy9sbXNfaHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYKKyMgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX2hzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2CiAjCiAjIFRvIHByb2R1Y2UgYW5vdGhlciBzaWduYXR1cmUgd2l0aCB0aGlzIG1lc3NhZ2UgYW5kIGtleSAobm90ZSB0aGF0IHRoZSBhY3R1YWwKICMgc2lnbmF0dXJlIGJ5dGVzIHdpbGwgZGlmZmVyIGR1ZSB0byByYW5kb21pemF0aW9uKToKQEAgLTE0OSw3ICsxNDksNyBAQAogIyBmcm9tIGhzc2xtcyBpbXBvcnQgTE1TX1ByaXYsIExNU19BTEdPUklUSE1fVFlQRSwgTE1PVFNfQUxHT1JJVEhNX1RZUEUKICMgaW1wb3J0IHBpY2tsZQogIwotIyB3aXRoIG9wZW4oJ3Rlc3RzL2RhdGFfZmlsZXMvbG1zX2hzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2JywgJ3JiJykgYXMgcHJpdmF0ZV9rZXlfZmlsZToKKyMgd2l0aCBvcGVuKCdmcmFtZXdvcmsvZGF0YV9maWxlcy9sbXNfaHNzbG1zX3NoYTI1Nl9tMzJfaDVfbG1vdHNfc2hhMjU2X24zMl93OF9wcnYnLCAncmInKSBhcyBwcml2YXRlX2tleV9maWxlOgogIyAgICAgcHJpdmF0ZV9rZXkgPSBwaWNrbGUubG9hZChwcml2YXRlX2tleV9maWxlKQogIwogIyBwdWJsaWNfa2V5ID0gcHJpdmF0ZV9rZXkuZ2VuX3B1YigpCkBAIC0xNjMsNyArMTYzLDcgQEAKIExNUyBoc3NsbXMgaW50ZXJvcCB0ZXN0ICMyCiAjIFRoaXMgdGVzdCB1c2VzIGRhdGEgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vcG12ci9weXRob24taHNzbG1zIGR1ZSB0byB0aGUKICMgbGltaXRlZCBhbW91bnQgb2YgYXZhaWxhYmxlIHRlc3QgdmVjdG9ycyBmb3IgTE1TLiBUaGUgcHJpdmF0ZSBrZXkgaXMgc3RvcmVkIGluCi0jIGRhdGFfZmlsZXMvbG1zX2hzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2CisjIC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2xtc19oc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydgogIwogIyBUbyBwcm9kdWNlIGFub3RoZXIgc2lnbmF0dXJlIHdpdGggdGhpcyBtZXNzYWdlIGFuZCBrZXkgKG5vdGUgdGhhdCB0aGUgYWN0dWFsCiAjIHNpZ25hdHVyZSBieXRlcyB3aWxsIGRpZmZlciBkdWUgdG8gcmFuZG9taXphdGlvbik6CkBAIC0xNzIsNyArMTcyLDcgQEAKICMgZnJvbSBoc3NsbXMgaW1wb3J0IExNU19Qcml2LCBMTVNfQUxHT1JJVEhNX1RZUEUsIExNT1RTX0FMR09SSVRITV9UWVBFCiAjIGltcG9ydCBwaWNrbGUKICMKLSMgd2l0aCBvcGVuKCd0ZXN0cy9kYXRhX2ZpbGVzL2xtc19oc3NsbXNfc2hhMjU2X20zMl9oNV9sbW90c19zaGEyNTZfbjMyX3c4X3BydicsICdyYicpIGFzIHByaXZhdGVfa2V5X2ZpbGU6CisjIHdpdGggb3BlbignZnJhbWV3b3JrL2RhdGFfZmlsZXMvbG1zX2hzc2xtc19zaGEyNTZfbTMyX2g1X2xtb3RzX3NoYTI1Nl9uMzJfdzhfcHJ2JywgJ3JiJykgYXMgcHJpdmF0ZV9rZXlfZmlsZToKICMgICAgIHByaXZhdGVfa2V5ID0gcGlja2xlLmxvYWQocHJpdmF0ZV9rZXlfZmlsZSkKICMKICMgcHVibGljX2tleSA9IHByaXZhdGVfa2V5Lmdlbl9wdWIoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfbWQuZGF0YSBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX21kLmRhdGEKaW5kZXggZmI5YjVlZi4uZjVkNDA1NyAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfbWQuZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9tZC5kYXRhCkBAIC0zNDYsMzkgKzM0NiwzOSBAQAogCiBnZW5lcmljIE1ENSBIYXNoIGZpbGUgIzEKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9NRDU6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiI1MmJjZGM5ODNjOWVkNjRmYzE0OGE3NTliM2M3YTQxNSIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX01ENToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiI1MmJjZGM5ODNjOWVkNjRmYzE0OGE3NTliM2M3YTQxNSIKIAogZ2VuZXJpYyBNRDUgSGFzaCBmaWxlICMyCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX01ENQotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfTUQ1OiJkYXRhX2ZpbGVzL2hhc2hfZmlsZV8yIjoiZDE3ZDQ2NmYxNTg5MWRmMTA1NDIyMDdhZTc4Mjc3ZjAiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9NRDU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8yIjoiZDE3ZDQ2NmYxNTg5MWRmMTA1NDIyMDdhZTc4Mjc3ZjAiCiAKIGdlbmVyaWMgTUQ1IEhhc2ggZmlsZSAjMwogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDUKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX01ENToiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6ImQ5NDViY2M2MjAwZWE5NWQwNjFhMmE4MTgxNjdkOTIwIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfTUQ1OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6ImQ5NDViY2M2MjAwZWE5NWQwNjFhMmE4MTgxNjdkOTIwIgogCiBnZW5lcmljIE1ENSBIYXNoIGZpbGUgIzQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9NRDU6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiJkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZSIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX01ENToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiJkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZSIKIAogZ2VuZXJpYyBSSVBFTUQxNjAgSGFzaCBmaWxlICMwIChmcm9tIHBhcGVyKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9SSVBFTUQxNjAKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1JJUEVNRDE2MDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfNSI6IjUyNzgzMjQzYzE2OTdiZGJlMTZkMzdmOTdmNjhmMDgzMjVkYzE1MjgiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9SSVBFTUQxNjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV81IjoiNTI3ODMyNDNjMTY5N2JkYmUxNmQzN2Y5N2Y2OGYwODMyNWRjMTUyOCIKIAogZ2VuZXJpYyBSSVBFTUQxNjAgSGFzaCBmaWxlICMxCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1JJUEVNRDE2MAotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfUklQRU1EMTYwOiJkYXRhX2ZpbGVzL2hhc2hfZmlsZV8xIjoiODJmMWQwNzJmMGVjMGMyYjM1MzcwM2E3YjU3NWEwNGMxMTNhZjFhNiIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1JJUEVNRDE2MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiI4MmYxZDA3MmYwZWMwYzJiMzUzNzAzYTdiNTc1YTA0YzExM2FmMWE2IgogCiBnZW5lcmljIFJJUEVNRDE2MCBIYXNoIGZpbGUgIzIKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fUklQRU1EMTYwCi1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9SSVBFTUQxNjA6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzIiOiI5OTZmYmM4Yjc5MjA2YmE3MzkzZWJjZDI0NjU4NDA2OWIxYzA4ZjBmIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfUklQRU1EMTYwOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6Ijk5NmZiYzhiNzkyMDZiYTczOTNlYmNkMjQ2NTg0MDY5YjFjMDhmMGYiCiAKIGdlbmVyaWMgUklQRU1EMTYwIEhhc2ggZmlsZSAjMwogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9SSVBFTUQxNjAKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1JJUEVNRDE2MDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6Ijg2NTNiNDZkNjU5OThmYThjODg0NmVmYTE3OTM3ZTc0MjUzM2FlNDgiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9SSVBFTUQxNjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiODY1M2I0NmQ2NTk5OGZhOGM4ODQ2ZWZhMTc5MzdlNzQyNTMzYWU0OCIKIAogZ2VuZXJpYyBSSVBFTUQxNjAgSGFzaCBmaWxlICM0CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1JJUEVNRDE2MAotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfUklQRU1EMTYwOiJkYXRhX2ZpbGVzL2hhc2hfZmlsZV80IjoiOWMxMTg1YTVjNWU5ZmM1NDYxMjgwODk3N2VlOGY1NDhiMjI1OGQzMSIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1JJUEVNRDE2MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiI5YzExODVhNWM1ZTlmYzU0NjEyODA4OTc3ZWU4ZjU0OGIyMjU4ZDMxIgogCiBnZW5lcmljIEhNQUMtU0hBLTEgVGVzdCBWZWN0b3IgRklQUy0xOThhICMxCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTEKQEAgLTkzMCw2NyArOTMwLDY3IEBACiAKIGdlbmVyaWMgU0hBMy0yMjQgSGFzaCBmaWxlICMxCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMjI0Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzIyNDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMSI6IjMyMGYxYTkyNTdkNDQyMTc4ZDkwZmRhODk4Nzc0M2E1ZTdiYjVlZDBiMThiYzdkNjZlZTM2MzNlIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18yMjQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8xIjoiMzIwZjFhOTI1N2Q0NDIxNzhkOTBmZGE4OTg3NzQzYTVlN2JiNWVkMGIxOGJjN2Q2NmVlMzYzM2UiCiAKIGdlbmVyaWMgU0hBMy0yMjQgSGFzaCBmaWxlICMyCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMjI0Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzIyNDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6ImRiMDZhOTYzMDZiNDM2NzdmMGUzNTkyYTBmZTFkMjc2MTQxZmE3NDU4YjdiZTkzMTk3NTUwNDQyIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18yMjQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8yIjoiZGIwNmE5NjMwNmI0MzY3N2YwZTM1OTJhMGZlMWQyNzYxNDFmYTc0NThiN2JlOTMxOTc1NTA0NDIiCiAKIGdlbmVyaWMgU0hBMy0yMjQgSGFzaCBmaWxlICMzCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMjI0Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzIyNDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6IjBkMTI1ZmRkNDhiMGUzMjJjYTg0NTQwMmZiZWNiODI3MDUzYzlmMzI0YzU4OTMzYmUyZTQ3NGEwIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18yMjQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiMGQxMjVmZGQ0OGIwZTMyMmNhODQ1NDAyZmJlY2I4MjcwNTNjOWYzMjRjNTg5MzNiZTJlNDc0YTAiCiAKIGdlbmVyaWMgU0hBMy0yMjQgSGFzaCBmaWxlICM0CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMjI0Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzIyNDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCI6IjZiNGUwMzQyMzY2N2RiYjczYjZlMTU0NTRmMGViMWFiZDQ1OTdmOWExYjA3OGUzZjViNWE2YmM3IgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18yMjQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV80IjoiNmI0ZTAzNDIzNjY3ZGJiNzNiNmUxNTQ1NGYwZWIxYWJkNDU5N2Y5YTFiMDc4ZTNmNWI1YTZiYzciCiAKIGdlbmVyaWMgU0hBMy0yNTYgSGFzaCBmaWxlICMxCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMjU2Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzI1NjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMSI6ImY0Mjk4MjY2NTlkZDlmMzEzZTYyMjZjZWQ1Yzg0MWZlMWIwZTlkZDE2NTU0MzkyYjY5NGZhMzAwMGYxYWUxZTIiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzI1NjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiJmNDI5ODI2NjU5ZGQ5ZjMxM2U2MjI2Y2VkNWM4NDFmZTFiMGU5ZGQxNjU1NDM5MmI2OTRmYTMwMDBmMWFlMWUyIgogCiBnZW5lcmljIFNIQTMtMjU2IEhhc2ggZmlsZSAjMgogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzXzI1NgotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18yNTY6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzIiOiIzYWVkMmZkYTg2MDRkYmVjNWE2NzcxMGI0ZDRjODlhOTA3NDVlMTBlZTYzMzY0OWU1M2U3NWM3ZTI1ZDMwMTUyIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18yNTY6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8yIjoiM2FlZDJmZGE4NjA0ZGJlYzVhNjc3MTBiNGQ0Yzg5YTkwNzQ1ZTEwZWU2MzM2NDllNTNlNzVjN2UyNWQzMDE1MiIKIAogZ2VuZXJpYyBTSEEzLTI1NiBIYXNoIGZpbGUgIzMKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBM18yNTYKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTNfMjU2OiJkYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiYzRiNjQ5MmZkMWM0NzVjNWU1NjA1NDVhMjU3M2IwZWZjZDAyZDU0ZWY0ZjYzYzlkODE1OGRkODdiZWQ5OWQ4NSIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTNfMjU2OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6ImM0YjY0OTJmZDFjNDc1YzVlNTYwNTQ1YTI1NzNiMGVmY2QwMmQ1NGVmNGY2M2M5ZDgxNThkZDg3YmVkOTlkODUiCiAKIGdlbmVyaWMgU0hBMy0yNTYgSGFzaCBmaWxlICM0CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMjU2Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzI1NjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCI6ImE3ZmZjNmY4YmYxZWQ3NjY1MWMxNDc1NmEwNjFkNjYyZjU4MGZmNGRlNDNiNDlmYTgyZDgwYTRiODBmODQzNGEiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzI1NjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiJhN2ZmYzZmOGJmMWVkNzY2NTFjMTQ3NTZhMDYxZDY2MmY1ODBmZjRkZTQzYjQ5ZmE4MmQ4MGE0YjgwZjg0MzRhIgogCiBnZW5lcmljIFNIQTMtMzg0IEhhc2ggZmlsZSAjMQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzXzM4NAotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18zODQ6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiIwNmFiMzY3NzQ5NjY1OGQzZmFhZDkzN2YzZjc4ODdiM2U5MjViNDgwMTkwNTQ0YzYxMmU3NmI4OGM1ZDIxYjRjYTEyNjkxZjI3YjhlZjU2OWQ2MDE5MjU5MTVjZGYyYTYiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzM4NDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiIwNmFiMzY3NzQ5NjY1OGQzZmFhZDkzN2YzZjc4ODdiM2U5MjViNDgwMTkwNTQ0YzYxMmU3NmI4OGM1ZDIxYjRjYTEyNjkxZjI3YjhlZjU2OWQ2MDE5MjU5MTVjZGYyYTYiCiAKIGdlbmVyaWMgU0hBMy0zODQgSGFzaCBmaWxlICMyCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfMzg0Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzM4NDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6ImI1ZWZjNDBkYjdhZjU0NGJmM2ZiOGM3ODJmMmRiNDc4ZGJiODFhYTgzZDJlZjBlOGJiZGNmMDYzNzFkZTdjYzk4NGFhYzU1MzljNGM5MjQ0YzFlNmViYmI4NWUyMzk4MyIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTNfMzg0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6ImI1ZWZjNDBkYjdhZjU0NGJmM2ZiOGM3ODJmMmRiNDc4ZGJiODFhYTgzZDJlZjBlOGJiZGNmMDYzNzFkZTdjYzk4NGFhYzU1MzljNGM5MjQ0YzFlNmViYmI4NWUyMzk4MyIKIAogZ2VuZXJpYyBTSEEzLTM4NCBIYXNoIGZpbGUgIzMKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBM18zODQKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTNfMzg0OiJkYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiMGYwOGRjMDljYjM5MjQwZTA5YjAxZTdmM2VlM2NlNmI4OTNiZjM5M2Y1MmQyYWM4NzA4M2NlZjdkM2E0NjlmYTk5NzYzZTU4YjI1MzA2YjBhMjM4MWQ5YmJkYWE4MDJmIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18zODQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiMGYwOGRjMDljYjM5MjQwZTA5YjAxZTdmM2VlM2NlNmI4OTNiZjM5M2Y1MmQyYWM4NzA4M2NlZjdkM2E0NjlmYTk5NzYzZTU4YjI1MzA2YjBhMjM4MWQ5YmJkYWE4MDJmIgogCiBnZW5lcmljIFNIQTMtMzg0IEhhc2ggZmlsZSAjNAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzXzM4NAotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM18zODQ6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiIwYzYzYTc1Yjg0NWU0ZjdkMDExMDdkODUyZTRjMjQ4NWM1MWE1MGFhYWE5NGZjNjE5OTVlNzFiYmVlOTgzYTJhYzM3MTM4MzEyNjRhZGI0N2ZiNmJkMWUwNThkNWYwMDQiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzM4NDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiIwYzYzYTc1Yjg0NWU0ZjdkMDExMDdkODUyZTRjMjQ4NWM1MWE1MGFhYWE5NGZjNjE5OTVlNzFiYmVlOTgzYTJhYzM3MTM4MzEyNjRhZGI0N2ZiNmJkMWUwNThkNWYwMDQiCiAKIGdlbmVyaWMgU0hBMy01MTIgSGFzaCBmaWxlICMxCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfNTEyCi1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzUxMjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMSI6IjdkNDNjYmI3NTIxODExMGQ3ZmNjMjI3YjY5NzdlNmYzYjg1NTE4NGM2NDZiNjc5MDU1ODk3Y2JhMGNkNDQ1ZWM5Njg0MzAyMzE4NjY4MDFjNGYwOTkzZjg3MzVjZjQ2YmM0ODU4ODY4NDIzZDMxY2EyODNhNmYxZWNmMjVjNTgwIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM181MTI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8xIjoiN2Q0M2NiYjc1MjE4MTEwZDdmY2MyMjdiNjk3N2U2ZjNiODU1MTg0YzY0NmI2NzkwNTU4OTdjYmEwY2Q0NDVlYzk2ODQzMDIzMTg2NjgwMWM0ZjA5OTNmODczNWNmNDZiYzQ4NTg4Njg0MjNkMzFjYTI4M2E2ZjFlY2YyNWM1ODAiCiAKIGdlbmVyaWMgU0hBMy01MTIgSGFzaCBmaWxlICMyCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfNTEyCi1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzUxMjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6IjIxMmJkMDBjZmM3ZjNhNWI3M2I1YjQ3NzJkZDgzNTYyODI2MjA3ZWJhMzBhYjAwYmUyYzg4NmFlZjM4NDFlZjY2ZWIyNTA5NzA5MWJmYWNiNmQ0NWRkNDU1NzQ4OWY5MTgzNmMwNGM0ZjBkOTZlMzJhZTk2ZmIwMDZkNGIyYWQ2IgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM181MTI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8yIjoiMjEyYmQwMGNmYzdmM2E1YjczYjViNDc3MmRkODM1NjI4MjYyMDdlYmEzMGFiMDBiZTJjODg2YWVmMzg0MWVmNjZlYjI1MDk3MDkxYmZhY2I2ZDQ1ZGQ0NTU3NDg5ZjkxODM2YzA0YzRmMGQ5NmUzMmFlOTZmYjAwNmQ0YjJhZDYiCiAKIGdlbmVyaWMgU0hBMy01MTIgSGFzaCBmaWxlICMzCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfNTEyCi1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzUxMjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6ImE3OGEwMjY2ODIwZTM2ZjZmYjI2YTBjOGRlYjBiMjQxMDhlMjA5Y2MyMTc4NTJlZDA3MzkwNGJjNDRlYzU4NmM1NzA0YzBhNTZkZTU3Zjk5MDZiOGNlZDM4MGZlZTZhYzJiZDQzMmE5M2RlN2YzOWIyM2VkMGFhYmRkN2FlODEzIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM181MTI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiYTc4YTAyNjY4MjBlMzZmNmZiMjZhMGM4ZGViMGIyNDEwOGUyMDljYzIxNzg1MmVkMDczOTA0YmM0NGVjNTg2YzU3MDRjMGE1NmRlNTdmOTkwNmI4Y2VkMzgwZmVlNmFjMmJkNDMyYTkzZGU3ZjM5YjIzZWQwYWFiZGQ3YWU4MTMiCiAKIGdlbmVyaWMgU0hBMy01MTIgSGFzaCBmaWxlICM0CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTNfNTEyCi1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzXzUxMjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCI6ImE2OWY3M2NjYTIzYTlhYzVjOGI1NjdkYzE4NWE3NTZlOTdjOTgyMTY0ZmUyNTg1OWUwZDFkY2MxNDc1YzgwYTYxNWIyMTIzYWYxZjVmOTRjMTFlM2U5NDAyYzNhYzU1OGY1MDAxOTlkOTViNmQzZTMwMTc1ODU4NjI4MWRjZDI2IgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBM181MTI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV80IjoiYTY5ZjczY2NhMjNhOWFjNWM4YjU2N2RjMTg1YTc1NmU5N2M5ODIxNjRmZTI1ODU5ZTBkMWRjYzE0NzVjODBhNjE1YjIxMjNhZjFmNWY5NGMxMWUzZTk0MDJjM2FjNTU4ZjUwMDE5OWQ5NWI2ZDNlMzAxNzU4NTg2MjgxZGNkMjYiCiAKIGdlbmVyaWMgU0hBLTUxMiBUZXN0IFZlY3RvciBOSVNUIENBVlMgIzIKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyCkBAIC0xMTgyLDgwICsxMTgyLDgwIEBACiAKIGdlbmVyaWMgU0hBMSBIYXNoIGZpbGUgIzEKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMQotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBMToiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMSI6ImQyMWM5NjViMWU3NjhiZDdhNmFhNjg2OWY1ZjgyMTkwMWQyNTVmOWYiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEExOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMSI6ImQyMWM5NjViMWU3NjhiZDdhNmFhNjg2OWY1ZjgyMTkwMWQyNTVmOWYiCiAKIGdlbmVyaWMgU0hBMSBIYXNoIGZpbGUgIzIKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMQotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBMToiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6IjM1M2YzNDI3MWYyYWVmNDlkMjNhODkxM2Q0YTZiZDgyYjJjZWNkYzYiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEExOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6IjM1M2YzNDI3MWYyYWVmNDlkMjNhODkxM2Q0YTZiZDgyYjJjZWNkYzYiCiAKIGdlbmVyaWMgU0hBMSBIYXNoIGZpbGUgIzMKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMQotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBMToiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6IjkzNjQwZWQ1OTIwNzYzMjgwOTYyNzBjNzU2ZGIyZmJhOWM0ODZiMzUiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEExOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6IjkzNjQwZWQ1OTIwNzYzMjgwOTYyNzBjNzU2ZGIyZmJhOWM0ODZiMzUiCiAKIGdlbmVyaWMgU0hBMSBIYXNoIGZpbGUgIzQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMQotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBMToiZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCI6ImRhMzlhM2VlNWU2YjRiMGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEExOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCI6ImRhMzlhM2VlNWU2YjRiMGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkiCiAKIGdlbmVyaWMgU0hBLTIyNCBIYXNoIGZpbGUgIzEKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjI0Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEyMjQ6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiI4NjA2ZGEwMTg4NzBmMGMxNjgzNGEyMWJjMzM4NTcwNGNiMTY4M2I5ZGJhYjA0YzVkZGI5MGE0OCIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTIyNDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiI4NjA2ZGEwMTg4NzBmMGMxNjgzNGEyMWJjMzM4NTcwNGNiMTY4M2I5ZGJhYjA0YzVkZGI5MGE0OCIKIAogZ2VuZXJpYyBTSEEtMjI0IEhhc2ggZmlsZSAjMgogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyMjQKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTIyNDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6IjczM2IyYWI5N2I2ZjYzZjJlMjliOWEyMDg5NzU2ZDgxZTE0YzkzZmU0Y2M5NjE1YzBkNWU4YTAzIgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBMjI0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6IjczM2IyYWI5N2I2ZjYzZjJlMjliOWEyMDg5NzU2ZDgxZTE0YzkzZmU0Y2M5NjE1YzBkNWU4YTAzIgogCiBnZW5lcmljIFNIQS0yMjQgSGFzaCBmaWxlICMzCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTIyNAotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBMjI0OiJkYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiZTFkZjk1ODY3NTgwZTJjYzIxMDBlOTU2NWJmOWMyZTQyYzI0ZmU1MjUwYzE5ZWZlMzNkMWM0ZmUiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEyMjQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiZTFkZjk1ODY3NTgwZTJjYzIxMDBlOTU2NWJmOWMyZTQyYzI0ZmU1MjUwYzE5ZWZlMzNkMWM0ZmUiCiAKIGdlbmVyaWMgU0hBLTIyNCBIYXNoIGZpbGUgIzQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjI0Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEyMjQ6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiJkMTRhMDI4YzJhM2EyYmM5NDc2MTAyYmIyODgyMzRjNDE1YTJiMDFmODI4ZWE2MmFjNWIzZTQyZiIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTIyNDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiJkMTRhMDI4YzJhM2EyYmM5NDc2MTAyYmIyODgyMzRjNDE1YTJiMDFmODI4ZWE2MmFjNWIzZTQyZiIKIAogZ2VuZXJpYyBTSEEtMjU2IEhhc2ggZmlsZSAjMQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTI1NjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMSI6Ijk3NWQwYzYyMGQzOTM2ODg2ZjhhMzY2NWU1ODVhM2U4NGFhMDUwMWY0MjI1YmY1MzAyOTcxMDI0MjgyM2UzOTEiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEyNTY6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8xIjoiOTc1ZDBjNjIwZDM5MzY4ODZmOGEzNjY1ZTU4NWEzZTg0YWEwNTAxZjQyMjViZjUzMDI5NzEwMjQyODIzZTM5MSIKIAogZ2VuZXJpYyBTSEEtMjU2IEhhc2ggZmlsZSAjMgogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTI1NjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6IjExZmNiZjFiYWEzNmNhNDU3NDVmMTBjYzU0NjdhZWU4NmYwNjZmODBiYTJjNDY4MDZkODc2YmY3ODMwMjJhZDIiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEyNTY6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8yIjoiMTFmY2JmMWJhYTM2Y2E0NTc0NWYxMGNjNTQ2N2FlZTg2ZjA2NmY4MGJhMmM0NjgwNmQ4NzZiZjc4MzAyMmFkMiIKIAogZ2VuZXJpYyBTSEEtMjU2IEhhc2ggZmlsZSAjMwogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTI1NjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6IjlhZTRiMzY5ZjlmNGYwM2I4NjUwNWI0NmE1NDY5NTQyZTAwYWFmZjdjZjc0MTdhNzFhZjZkNmQwYWJhM2I3MGMiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEyNTY6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiOWFlNGIzNjlmOWY0ZjAzYjg2NTA1YjQ2YTU0Njk1NDJlMDBhYWZmN2NmNzQxN2E3MWFmNmQ2ZDBhYmEzYjcwYyIKIAogZ2VuZXJpYyBTSEEtMjU2IEhhc2ggZmlsZSAjNAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTI1NjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCI6ImUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEyNTY6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV80IjoiZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NSIKIAogZ2VuZXJpYyBTSEEtMzg0IEhhc2ggZmlsZSAjMQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzODQKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTM4NDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMSI6ImUwYTNlNjI1OWQ2Mzc4MDAxYjU0ZWY4MmY1ZGQwODcwMDljNWZhZDg2ZDhkYjIyNmE5ZmUxZDE0ZWNiZTMzYTZmYzkxNmUzYTRiMTZmNWYyODY0MjRkZTE1ZDVhOGUwZSIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTM4NDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiJlMGEzZTYyNTlkNjM3ODAwMWI1NGVmODJmNWRkMDg3MDA5YzVmYWQ4NmQ4ZGIyMjZhOWZlMWQxNGVjYmUzM2E2ZmM5MTZlM2E0YjE2ZjVmMjg2NDI0ZGUxNWQ1YThlMGUiCiAKIGdlbmVyaWMgU0hBLTM4NCBIYXNoIGZpbGUgIzIKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMzg0Ci1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzODQ6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzIiOiJlZmY3MjdhZmM4NDk1YzkyZTJmMzcwZjk3YTMxN2Y5M2MzMzUwMzI0YjA2NDZiMGYwZTI2NDcwOGIzYzk3ZDNkMzMyZDNjNTM5MGUxZTQ3MTMwZjVjOTJmMWVmNGI5Y2YiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEEzODQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8yIjoiZWZmNzI3YWZjODQ5NWM5MmUyZjM3MGY5N2EzMTdmOTNjMzM1MDMyNGIwNjQ2YjBmMGUyNjQ3MDhiM2M5N2QzZDMzMmQzYzUzOTBlMWU0NzEzMGY1YzkyZjFlZjRiOWNmIgogCiBnZW5lcmljIFNIQS0zODQgSGFzaCBmaWxlICMzCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NAotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBMzg0OiJkYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiNmZjMTBlYmRhOTZhMWNjZjYxNzc3Y2FjNzJmNjAzNGY5MjUzM2Q0MjA1MmE0YmY5ZjlkOTI5YzY3Mjk3M2M3MWU1YWViMTIxMzI2ODA0M2MyMTUyN2FjMGY3ZjM0OWM0IgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBMzg0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMyI6IjZmYzEwZWJkYTk2YTFjY2Y2MTc3N2NhYzcyZjYwMzRmOTI1MzNkNDIwNTJhNGJmOWY5ZDkyOWM2NzI5NzNjNzFlNWFlYjEyMTMyNjgwNDNjMjE1MjdhYzBmN2YzNDljNCIKIAogZ2VuZXJpYyBTSEEtMzg0IEhhc2ggZmlsZSAjNAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzODQKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTM4NDoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfNCI6IjM4YjA2MGE3NTFhYzk2Mzg0Y2Q5MzI3ZWIxYjFlMzZhMjFmZGI3MTExNGJlMDc0MzRjMGNjN2JmNjNmNmUxZGEyNzRlZGViZmU3NmY2NWZiZDUxYWQyZjE0ODk4Yjk1YiIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTM4NDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiIzOGIwNjBhNzUxYWM5NjM4NGNkOTMyN2ViMWIxZTM2YTIxZmRiNzExMTRiZTA3NDM0YzBjYzdiZjYzZjZlMWRhMjc0ZWRlYmZlNzZmNjVmYmQ1MWFkMmYxNDg5OGI5NWIiCiAKIGdlbmVyaWMgU0hBLTUxMiBIYXNoIGZpbGUgIzEKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyCi1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEE1MTI6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiJkODIwN2EyZTFmZjJiNDI0ZjJjNDE2M2ZlMWI3MjNjOWJkNDJlNDY0MDYxZWI0MTFlOGRmNzMwYmNkMjRhN2FiMzk1NmE2ZjNmZjA0NGE1MmViMmQyNjJmOWU0Y2E2YjUyNDA5MmI1NDRhYjc4ZjE0ZDZmOWM0Y2M4ZGRmMzM1YSIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTUxMjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzEiOiJkODIwN2EyZTFmZjJiNDI0ZjJjNDE2M2ZlMWI3MjNjOWJkNDJlNDY0MDYxZWI0MTFlOGRmNzMwYmNkMjRhN2FiMzk1NmE2ZjNmZjA0NGE1MmViMmQyNjJmOWU0Y2E2YjUyNDA5MmI1NDRhYjc4ZjE0ZDZmOWM0Y2M4ZGRmMzM1YSIKIAogZ2VuZXJpYyBTSEEtNTEyIEhhc2ggZmlsZSAjMgogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEE1MTIKLW1iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTUxMjoiZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6ImVjYmI3ZjBlZDhhNzAyYjQ5ZjE2YWQzMDg4YmNjMDZlYTkzNDUxOTEyYTcxODdkYjE1ZjY0ZDkzNTE3YjA5NjMwYjAzOTI5M2FlZDQxOGQ0YTAwNjk1Nzc3Yjc1OGIxZjM4MTU0OGMyZmQ3YjkyY2U1ZWQ5OTZiMzJjODczNGU3IgorbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBNTEyOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9oYXNoX2ZpbGVfMiI6ImVjYmI3ZjBlZDhhNzAyYjQ5ZjE2YWQzMDg4YmNjMDZlYTkzNDUxOTEyYTcxODdkYjE1ZjY0ZDkzNTE3YjA5NjMwYjAzOTI5M2FlZDQxOGQ0YTAwNjk1Nzc3Yjc1OGIxZjM4MTU0OGMyZmQ3YjkyY2U1ZWQ5OTZiMzJjODczNGU3IgogCiBnZW5lcmljIFNIQS01MTIgSGFzaCBmaWxlICMzCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTUxMgotbWJlZHRsc19tZF9maWxlOk1CRURUTFNfTURfU0hBNTEyOiJkYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiN2NjYzliMmRhNzFmZmRlOTk2NmMzY2U0NGQ3ZjIwOTQ1ZmNjZjMzYjFmYWRlNGRhMTUyYjAyMWYxYWZjYzcyOTMzODI5NDRhYTZjMDllYWM2N2FmMjVmMjIwMjY3NThlMmJmNmJlZDg2YWUyYTQzNTkyNjc3ZWU1MGY4ZWVhNDEiCittYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEE1MTI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2hhc2hfZmlsZV8zIjoiN2NjYzliMmRhNzFmZmRlOTk2NmMzY2U0NGQ3ZjIwOTQ1ZmNjZjMzYjFmYWRlNGRhMTUyYjAyMWYxYWZjYzcyOTMzODI5NDRhYTZjMDllYWM2N2FmMjVmMjIwMjY3NThlMmJmNmJlZDg2YWUyYTQzNTkyNjc3ZWU1MGY4ZWVhNDEiCiAKIGdlbmVyaWMgU0hBLTUxMiBIYXNoIGZpbGUgIzQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyCi1tYmVkdGxzX21kX2ZpbGU6TUJFRFRMU19NRF9TSEE1MTI6ImRhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiJjZjgzZTEzNTdlZWZiOGJkZjE1NDI4NTBkNjZkODAwN2Q2MjBlNDA1MGI1NzE1ZGM4M2Y0YTkyMWQzNmNlOWNlNDdkMGQxM2M1ZDg1ZjJiMGZmODMxOGQyODc3ZWVjMmY2M2I5MzFiZDQ3NDE3YTgxYTUzODMyN2FmOTI3ZGEzZSIKK21iZWR0bHNfbWRfZmlsZTpNQkVEVExTX01EX1NIQTUxMjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvaGFzaF9maWxlXzQiOiJjZjgzZTEzNTdlZWZiOGJkZjE1NDI4NTBkNjZkODAwN2Q2MjBlNDA1MGI1NzE1ZGM4M2Y0YTkyMWQzNmNlOWNlNDdkMGQxM2M1ZDg1ZjJiMGZmODMxOGQyODc3ZWVjMmY2M2I5MzFiZDQ3NDE3YTgxYTUzODMyN2FmOTI3ZGEzZSIKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9way5kYXRhCmluZGV4IGE5MjljODIuLjMzMWU1YTAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrLmRhdGEKKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGsuZGF0YQpAQCAtOCwyMyArOCwyMyBAQAogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiB2YWxpZF9wYXJhbWV0ZXJzX3Brd3JpdGU6IjMwODIwNGEyMDIwMTAwMDI4MjAxMDEwMGE5MDIxZjNkNDA2YWQ1NTU1MzhiZmQzNmVlODI2NTJlMTU2MTVlODliZmI4ZTg0NTkwZGJlZTg4MTY1MmQzZjE0MzUwNDc5NjEyNTk2NDg3NmJmZDJiZTA0NmY5NzNiZWRkY2Y5MmUxOTE1YmVkNjZhMDZmODkyOTc5NDU4MGQwODM2YWQ1NDE0Mzc3NWYzOTdjMDkwNDQ3ODJiMDU3Mzk3MGVkYTNlYzE1MTkxZWE4MzMwODQ3YzEwNTQyYTlmZDRjYzNiNGRmZGQwNjFmNGQxMDUxNDA2NzczMTMwZjQwZjg2ZDgxMjU1ZjBhYjE1M2M2MzA3ZTE1MzlhY2Y5NWFlZTdmOTI5ZWE2MDU1YmU3MTM5Nzg1YjUyMzkyZDlkNDI0MDZkNTA5MjU4OTc1MDdkZGE2MWE4ZjNmMDkxOWJlYWQ2NTJjNjRlYjk1OWJkY2ZlNDE1ZTE3YTZkYTZjNWI2OWNjMDJiYTE0MmMxNjI0OWM0YWRjY2RkMGY3NTI2NzczZjEyZGEwMjNmZDdlZjQzMWNhMmQ3MGNhODkwYjA0ZGIyZWE2NGY3MDZlOWVjZWJkNTg4OWUyNTM1OTllNmU1YTkyNjVlMjg4M2YwYzk0MTlhM2RkZTVlODlkOTUxM2VkMjlkYmFiNzAxMmRjNWFjYTZiMTdhYjUyODI1NGIxMDIwMzAxMDAwMTAyODIwMTAwMTY4OWY1ZTg5MTQyYWUxOGE2ZmZiMDUxMzcxNWE0YjBiNGExM2I5ZTViMzcyOWEyYmQ2MmQ3MzhjNmUxNWNlYTdiZjNhNGQ4NWFiMjE5M2EwNjI4Yzk0NTJiYjFmMGMxYWY4YjEzMjc4OWRmMWM5NWU3Mjc3OGJmNTMzMGY1YjBkOTE1ZDI0MmQ1ZTA4MThlODUwMDFlZDVmYTkzZDFjZTEzNDU1ZGViMGExNTQzODU2MmU4ZTNjOGQ2MGVjMWU0YzllYmZmOWYyYjM2YjljZGU5MzMyY2M3OWYwZDE3YTdhZTc5Y2MxMzUzY2Q3NTQwOWFkOWI0YjZkN2VlM2Q4MmFmNmYzMjA3NjU2Y2YyYWM5ODk0N2MxNWMzOThkYjBjZWJmOGRjM2VlZjUzOTgyNjk0ODBjZGQwOTQxMWI5NjAyNzNhZTNmMzY0ZGEwOWFmODQ5ZjI0YWE4NzM0NmM1ODYxOGVhOTFkOWQ2Y2QxZDM5MzJjODBkYmZjMWYwYTQxNjZhOTAzNjkxMTk5OWNhMjc3NjEwNzlmMGNlMDJkYjAyYzFjOTA5ZmY5YjQyNzg1NzhkN2JiMWI1NGIyYjcwODJmYzllODY0YjZiMzk0ZTMzMWMwZDExYTlhNjgyNTU1NjViNmRkNDc3ZjQxMTljNTgwOTgzOTUyMDcwMDcxMTEwMjgxODEwMGQ3ZGI5ODdhZDg2ZGU2YTliMDc0OWZiNWRhODBiYWNkZTNiZWJkNzJkY2M4M2Y2MGEyN2RiNzRmOTI3YWMzNjYxMzg2NTc3YmZjZTViNGEwMGFkMDI0NjgyNDAxZDZhYWQyOTcxM2M4ZTIyM2I1MzQxNTMwNWNhMDc1NTk4MjEwOTliMTg3ZmRkMWJhZDNkYzRkZWM5ZGE5NmY1ZmE2MTI4MzMxZThmN2Q4OWYxZTFhNzg4Njk4ZDFhMjcyNTZkYzdjZDM5MmYwNGU1MzFhOWUzOGU3MjY1YmY0ZmQ3ZWVjMDFlNzgzNWU5YjFhMGRkODkyM2U0NDAzODFiZTFjMjcwMjgxODEwMGM4NzAyNWZmZjdhNDkzYzYyMzQwNDk2NmZiYzhiMzJlZDE2NGNhNjIwYWQxYTBhZDExZWY0MmZkMTIxMTg0NTYwMTc4NTZhOGI0MmU1ZDRhZDM2MTA0ZTlkYzlmOGEyZjMwMDNjMzk1N2ZmZGRiMjBlMmY0ZTNmYzNjZjJjZGRkYWUwMWY1N2E1NmRlNGZkMjRiOTFhYjZkM2U1Y2MwZThhZjA0NzM2NTk1OTRhNmJiZmRhYWNmOTU4ZjE5YzhkNTA4ZWFjMTJkODk3NzYxNmFmNjg3NzEwNjI4ODA5M2QzNzkwNGExMzkyMjBjMWJjMjc4ZWE1NmVkYzA4Njk3NjcwMjgxODA0M2U3MDg2ODVjN2NmNWZhOWI0Zjk0OGUxODU2MzY2ZDVlMWYzYTY5NGY5YThlOTU0Zjg4NGM4OWYzODIzYWM1Nzk4ZWUxMjY1N2JmY2FiYTJkYWM5YzQ3NDY0YzZkYzJmZWNjMTdhNTMxYmUxOWRhNzA2ZmVlMzM2YmI2ZTQ3YjY0NWRiYzcxZDNlZmY5ODU2YmRkZWIxYWM5YjY0NGZmYmRkNThkN2JhOWUxMjQwZjFmYWFmNzk3YmE4YTRkNThiZWNiYWY4NTc4OWUxYmQ5NzlmY2ZjY2MyMDlkM2RiN2YwNDE2YmM5ZWVmMDliM2E2ZDg2YjhjZTgxOTlkNDMxMDI4MTgwNGY0Yjg2Y2NmZmU0OWQwZDhhY2U5OGZiNjNlYTlmNzA4YjI4NGJhNDgzZDEzMGI2YTc1Y2I3NmNiNGU0MzcyZDZiNDE3NzRmMjA5MTIzMTk0MjBjYTRjYmZjMWIyNWE4Y2I1ZjAxZDYzODFmNmViYzUwZWQzZWYwODAxMDMyN2Y1YmEyYWNjMWFjNzIyMGIzZmE2ZjczOTkzMTRkYjI4NzliMGRiMGI1NjQ3YWJkODdhYmIwMTI5NTgxNWE1YjA4NjQ5MWIyYzBkODFjNjE2ZWQ2N2VmOGE4Y2UwNzI3ZjQ0NjcxMWQ3MzIzZDQxNDdiNTgyOGE1MjE0M2M0M2I0YjAyODE4MDU0MDc1NmJlYmE4M2MyMGEwYmRhMTFkNmRlYzcwNmE3MTc0NGZmMjgwOTBjZWMwNzlkZmZiNTA3ZDgyODI4MDM4ZmU2NTdmNjE0OTZhMjAzMTdmNzc5Y2I2ODNjZTgxOTZjMjlhNmZlMjg4MzlhMjgyZWVmNGRlNTc3NzNiZTU2ODA4YjBjM2UyYWM3NzQ3ZTJiMjAwYjJmYmYyMGI1NTI1OGNkMjQ2MjJhMWNlMDA5OWRlMDk4YWIwODU1MTA2YWUwODdmMDhiMGM4YzM0NmQ4MTYxOTQwMGMxYjQ4MzhlMzNlZDlmZjkwZjA1ZGI4ZmNjZjhmYjdhYjg4MWNhMTIiCiAKLVBLIHV0aWxzOiBSU0EgTWluaW11bSBrZXkKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa191dGlsczpNQkVEVExTX1BLX1JTQTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6KE1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFMgKyA3KSAvIDg6IlJTQSIKK1BLIHV0aWxzOiBSU0EgMTAyNC1iaXQKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfdXRpbHM6TUJFRFRMU19QS19SU0E6MTAyNDoxMDI0OigxMDI0ICsgNykgLyA4OiJSU0EiCiAKLSMgbWJlZHRsc19yc2FfZ2VuX2tleSgpIG9ubHkgc3VwcG9ydHMgZXZlbiBzaXplcywgc28gd2UgZG9uJ3QgdGVzdCBtaW4rMSwKLSMgbWluKzMsIGV0Yy4KLVBLIHV0aWxzOiBSU0EgTWluaW11bSBrZXkgKyAyIGJpdHMKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa191dGlsczpNQkVEVExTX1BLX1JTQTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTICsgMjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTICsgMjooTUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyArIDIgKyA3KSAvIDg6IlJTQSIKKyMgSW4gdGhlIGZvbGxvd2luZyAzIHRlc3QgY2FzZXMgd2UgdGVzdCBhIGZldyBkaWZmZXJlbnQgc2l6ZXMgdGhhdCBhcmUgbm90IGEKKyMgbXVsdGlwbGUgb2YgOCBhbmQgZm9yIHdoaWNoIHdlIGhhdmUgdGVzdCBkYXRhLgorUEsgdXRpbHM6IFJTQSAxMDI2LWJpdHMKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfdXRpbHM6TUJFRFRMU19QS19SU0E6MTAyNjoxMDI2OigxMDI2ICsgNykgLyA4OiJSU0EiCiAKLVBLIHV0aWxzOiBSU0EgTWluaW11bSBrZXkgKyA0IGJpdHMKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa191dGlsczpNQkVEVExTX1BLX1JTQTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTICsgNDpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTICsgNDooTUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyArIDQgKyA3KSAvIDg6IlJTQSIKK1BLIHV0aWxzOiBSU0EgMTAyOC1iaXRzCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX3V0aWxzOk1CRURUTFNfUEtfUlNBOjEwMjg6MTAyODooMTAyOCArIDcpIC8gODoiUlNBIgogCi1QSyB1dGlsczogUlNBIE1pbmltdW0ga2V5ICsgNiBiaXRzCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQotcGtfdXRpbHM6TUJFRFRMU19QS19SU0E6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyArIDY6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyArIDY6KE1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFMgKyA2ICsgNykgLyA4OiJSU0EiCitQSyB1dGlsczogUlNBIDEwMzAtYml0cworZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCitwa191dGlsczpNQkVEVExTX1BLX1JTQToxMDMwOjEwMzA6KDEwMzAgKyA3KSAvIDg6IlJTQSIKIAogUEsgdXRpbHM6IEVDS0VZIFNFQ1AxOTJSMQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMTkyUjEKQEAgLTYzLDcgKzYzLDcgQEAKIHBrX3BzYV91dGlsczowCiAKIFBLIFBTQSB1dGlsaXRpZXM6IFJTQSBzZXR1cC9mcmVlLCBpbmZvIGZ1bmN0aW9ucywgdW5zdXBwb3J0ZWQgb3BlcmF0aW9ucwotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfcHNhX3V0aWxzOjEKIAogUEsgY2FuIGRvIGV4dDogRUNEU0EoQU5ZKS9OT05FLCBpbnZhbGlkIGNoZWNrIFNUUkVBTV9DSVBIRVIKQEAgLTE1OSwxNDcgKzE1OSwxNDcgQEAKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEpOlBTQV9LRVlfVVNBR0VfREVSSVZFfFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfRUNESDpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfQU5ZX0hBU0gpOjI1NjpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9ERVJJVkU6MQogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUEtDUzFWMTVfU0lHTihBTlkpL05PTkUsIGNoZWNrIG5vdCBhbGxvd2VkIENPUFkgdXNhZ2UKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfQ09QWTowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9TSUdOKEFOWSkvTk9ORSwgaW52YWxpZCBjaGVjayBTVFJFQU1fQ0lQSEVSCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfU1RSRUFNX0NJUEhFUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9TSUdOKEFOWSkvTk9ORSwgaW52YWxpZCBjaGVjayBFQ0RTQShTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfRUNEU0EoUFNBX0FMR19TSEFfMjU2KTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9TSUdOKEFOWSkvTk9ORSwgaW52YWxpZCBjaGVjayBFQ0RICi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfRUNESDpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9TSUdOKEFOWSkvTk9ORSwgaW52YWxpZCBjaGVjayBSU0FfUEtDUzFWMTVfQ1JZUFQKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MAogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUEtDUzFWMTVfU0lHTihBTlkpL05PTkUsIGludmFsaWQgY2hlY2sgUlNBX1BTUyhTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjAKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BLQ1MxVjE1X1NJR04oQU5ZKS9OT05FLCBjaGVjayBSU0FfUEtDUzFWMTVfU0lHTihTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19TSEFfMjU2KTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDoxCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9TSUdOKEFOWSkvTk9ORSwgY2hlY2sgbm9uLXByZXNlbnQgdXNhZ2UKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfREVSSVZFOjAKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BLQ1MxVjE1X1NJR04oU0hBMjU2KS9OT05FLCBjaGVjayBSU0FfUEtDUzFWMTVfU0lHTihTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjEKIAogUEsgY2FuIGRvIGV4dDogTk9ORSwgUlNBX1BLQ1MxVjE1X1NJR04oQU5ZKSwgY2hlY2sgUlNBX1BLQ1MxVjE1X1NJR04oU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6UFNBX0FMR19OT05FOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19BTllfSEFTSCk6MTAyNDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MQogCiBQSyBjYW4gZG8gZXh0OiBOT05FLCBSU0FfUEtDUzFWMTVfU0lHTihTSEEyNTYpLCBjaGVjayBSU0FfUEtDUzFWMTVfU0lHTihTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX05PTkU6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjEKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BLQ1MxVjE1X1NJR04oU0hBMjU2KS9OT05FLCBpbnZhbGlkIGNoZWNrIFJTQV9QS0NTMVYxNV9TSUdOKEFOWSkKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19TSEFfMjU2KTpQU0FfQUxHX05PTkU6MTAyNDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjAKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BLQ1MxVjE1X1NJR04oU0hBMSkvTk9ORSwgaW52YWxpZCBjaGVjayBSU0FfUEtDUzFWMTVfU0lHTihTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfU0hBXzEpOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19TSEFfMjU2KTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QU1MoQU5ZKS9OT05FLCBpbnZhbGlkIGNoZWNrIFNUUkVBTV9DSVBIRVIKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX0FOWV9IQVNIKTpQU0FfQUxHX05PTkU6MTAyNDpQU0FfQUxHX1NUUkVBTV9DSVBIRVI6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MAogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUFNTKEFOWSkvTk9ORSwgaW52YWxpZCBjaGVjayBFQ0RTQShTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19FQ0RTQShQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjAKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BTUyhBTlkpL05PTkUsIGludmFsaWQgY2hlY2sgUlNBX1BLQ1MxVjE1X0NSWVBUCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MAogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUFNTKEFOWSkvTk9ORSwgaW52YWxpZCBjaGVjayBSU0FfUEtDUzFWMTVfU0lHTihTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjAKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BTUyhBTlkpL05PTkUsIGNoZWNrIFJTQV9QU1MoU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6UFNBX0FMR19SU0FfUFNTKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjEKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BTUyhTSEEyNTYpL05PTkUsIGNoZWNrIFJTQV9QU1MoU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6UFNBX0FMR19SU0FfUFNTKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUFNTKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MQogCiBQSyBjYW4gZG8gZXh0OiBOT05FLCBSU0FfUFNTKEFOWSksIGNoZWNrIFJTQV9QU1MoU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6UFNBX0FMR19OT05FOlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX0FOWV9IQVNIKToxMDI0OlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjEKIAogUEsgY2FuIGRvIGV4dDogTk9ORSwgUlNBX1BTUyhTSEEyNTYpLCBjaGVjayBSU0FfUFNTKFNIQTI1NikKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfTk9ORTpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19TSEFfMjU2KToxMDI0OlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjEKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BTUyhTSEEyNTYpL05PTkUsIGludmFsaWQgY2hlY2sgUlNBX1BTUyhBTlkpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19TSEFfMjU2KTpQU0FfQUxHX05PTkU6MTAyNDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19BTllfSEFTSCk6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MAogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUFNTKFNIQTEpL05PTkUsIGludmFsaWQgY2hlY2sgUlNBX1BTUyhTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19TSEFfMSk6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUFNTKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MAogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUEtDUzFWMTVfU0lHTl9SQVcvTk9ORSwgY2hlY2sgUlNBX1BLQ1MxVjE1X1NJR05fUkFXCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfQUxHX05PTkU6MTAyNDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDoxCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9TSUdOX1JBVy9OT05FLCBpbnZhbGlkIGNoZWNrIFJTQV9QS0NTMVYxNV9TSUdOKFNIQTI1NikKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19TSEFfMjU2KTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9DUllQVC9OT05FLCBpbnZhbGlkIGNoZWNrIFNUUkVBTV9DSVBIRVIKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfRU5DUllQVHxQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19TVFJFQU1fQ0lQSEVSOlBTQV9LRVlfVVNBR0VfRU5DUllQVHxQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MAogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUEtDUzFWMTVfQ1JZUFQvTk9ORSwgaW52YWxpZCBjaGVjayBFQ0RTQShTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX0VOQ1JZUFR8UFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9BTEdfTk9ORToxMDI0OlBTQV9BTEdfRUNEU0EoUFNBX0FMR19TSEFfMjU2KTpQU0FfS0VZX1VTQUdFX0VOQ1JZUFR8UFNBX0tFWV9VU0FHRV9ERUNSWVBUOjAKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BLQ1MxVjE1X0NSWVBUL05PTkUsIGludmFsaWQgY2hlY2sgRUNESAotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9FTkNSWVBUfFBTQV9LRVlfVVNBR0VfREVDUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfQUxHX05PTkU6MTAyNDpQU0FfQUxHX0VDREg6UFNBX0tFWV9VU0FHRV9FTkNSWVBUfFBTQV9LRVlfVVNBR0VfREVDUllQVDowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9DUllQVC9OT05FLCBpbnZhbGlkIGNoZWNrIFJTQV9QU1MoU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9FTkNSWVBUfFBTQV9LRVlfVVNBR0VfREVDUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfQUxHX05PTkU6MTAyNDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19TSEFfMjU2KTpQU0FfS0VZX1VTQUdFX0VOQ1JZUFR8UFNBX0tFWV9VU0FHRV9ERUNSWVBUOjAKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BLQ1MxVjE1X0NSWVBUL05PTkUsIGludmFsaWQgY2hlY2sgUlNBX1BLQ1MxVjE1X1NJR04oU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9FTkNSWVBUfFBTQV9LRVlfVVNBR0VfREVDUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfQUxHX05PTkU6MTAyNDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9FTkNSWVBUfFBTQV9LRVlfVVNBR0VfREVDUllQVDowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9DUllQVC9OT05FLCBjaGVjayBSU0FfUEtDUzFWMTVfQ1JZUFQKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfRU5DUllQVHxQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0FMR19OT05FOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOjEKIAogUEsgY2FuIGRvIGV4dDogUlNBX1BLQ1MxVjE1X0NSWVBUL1JTQV9QU1MoQU5ZKSwgY2hlY2sgUlNBX1BLQ1MxVjE1X0NSWVBUCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX0VOQ1JZUFR8UFNBX0tFWV9VU0FHRV9ERUNSWVBUfFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX0FOWV9IQVNIKToxMDI0OlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9LRVlfVVNBR0VfREVDUllQVDoxCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9DUllQVC9SU0FfUFNTKEFOWSksIGNoZWNrIFJTQV9QU1MoU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9FTkNSWVBUfFBTQV9LRVlfVVNBR0VfREVDUllQVHxQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19BTllfSEFTSCk6MTAyNDpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19TSEFfMjU2KTpQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MQogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUEtDUzFWMTVfQ1JZUFQvUlNBX1BTUyhBTlkpLCBjaGVjayBub24gYWxsb3dlZCBFTkNSWVBUIHVzYWdlCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjE6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfS0VZX1VTQUdFX0VOQ1JZUFR8UFNBX0tFWV9VU0FHRV9ERUNSWVBUfFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX0FOWV9IQVNIKToxMDI0OlBTQV9BTEdfUlNBX1BTUyhQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfRU5DUllQVDowCiAKIFBLIGNhbiBkbyBleHQ6IFJTQV9QS0NTMVYxNV9TSUdOKEFOWSkvUlNBX1BTUyhBTlkpLCBjaGVjayBSU0FfUFNTKFNIQTI1NikKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19SU0FfUFNTKFBTQV9BTEdfQU5ZX0hBU0gpOjEwMjQ6UFNBX0FMR19SU0FfUFNTKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MQogCiBQSyBjYW4gZG8gZXh0OiBSU0FfUEtDUzFWMTVfU0lHTihBTlkpL1JTQV9QU1MoQU5ZKSwgY2hlY2sgUlNBX1BLQ1MxVjE1X1NJR04oU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDoxOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX0FOWV9IQVNIKTpQU0FfQUxHX1JTQV9QU1MoUFNBX0FMR19BTllfSEFTSCk6MTAyNDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MQogCiBQSyBjYW4gZG8gZXh0OiBNQkVEVExTX1BLX0VDS0VZLCBjaGVjayBFQ0RTQShTSEEyNTYpCkBAIC0zMTEsMTkgKzMxMSwxOSBAQAogcGtfY2FuX2RvX2V4dDowOk1CRURUTFNfUEtfRUNLRVk6MDowOjA6TUJFRFRMU19FQ1BfRFBfU0VDUDI1NlIxOlBTQV9BTEdfRUNESDpQU0FfS0VZX1VTQUdFX0RFUklWRToxCiAKIFBLIGNhbiBkbyBleHQ6IE1CRURUTFNfUEtfUlNBLCBjaGVjayBSU0FfUEtDUzFWMTVfU0lHTihTSEEyNTYpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCiBwa19jYW5fZG9fZXh0OjA6TUJFRFRMU19QS19SU0E6MDowOjA6MTAyNDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MQogCiBQSyBjYW4gZG8gZXh0OiBNQkVEVExTX1BLX1JTQSwgY2hlY2sgUFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2Nhbl9kb19leHQ6MDpNQkVEVExTX1BLX1JTQTowOjA6MDoxMDI0OlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9LRVlfVVNBR0VfREVDUllQVDoxCiAKIFBLIGNhbiBkbyBleHQ6IE1CRURUTFNfUEtfUlNBLCBjaGVjayBpbnZhbGlkIFBTQV9LRVlfVVNBR0VfRU5DUllQVAotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDowOk1CRURUTFNfUEtfUlNBOjA6MDowOjEwMjQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0tFWV9VU0FHRV9FTkNSWVBUOjAKIAogUEsgY2FuIGRvIGV4dDogTUJFRFRMU19QS19SU0EsIGNoZWNrIFJTQV9QU1MoU0hBMjU2KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfY2FuX2RvX2V4dDowOk1CRURUTFNfUEtfUlNBOjA6MDowOjEwMjQ6UFNBX0FMR19SU0FfUFNTKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MQogCiBSU0EgdmVyaWZ5IHRlc3QgdmVjdG9yOiBQS0NTMXYxLjUgKGV4cGxpY2l0KSwgU0hBMSwgZ29vZApAQCAtNDM1LDIwICs0MzUsMjAgQEAKIHBrX3NpZ25fdmVyaWZ5Ok1CRURUTFNfUEtfRUNLRVlfREg6TUJFRFRMU19FQ1BfRFBfU0VDUDE5MlIxOjA6MDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENIOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUlNBIHNpZ24tdmVyaWZ5LCBQS0NTMXYxLjUsIFNIQTEKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFMgPj0gNTEyOk1CRURUTFNfTURfQ0FOX1NIQTEKLXBrX3NpZ25fdmVyaWZ5Ok1CRURUTFNfUEtfUlNBOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6TUJFRFRMU19SU0FfUEtDU19WMTU6TUJFRFRMU19NRF9TSEExOjA6MAorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTEKK3BrX3NpZ25fdmVyaWZ5Ok1CRURUTFNfUEtfUlNBOlJTQV9LRVlfU0laRTpNQkVEVExTX1JTQV9QS0NTX1YxNTpNQkVEVExTX01EX1NIQTE6MDowCiAKIFJTQSBzaWduLXZlcmlmeSwgUEtDUzF2Mi4xLCBTSEExCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMjE6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTID49IDUxMjpNQkVEVExTX01EX0NBTl9TSEExCi1wa19zaWduX3ZlcmlmeTpNQkVEVExTX1BLX1JTQTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOk1CRURUTFNfUlNBX1BLQ1NfVjIxOk1CRURUTFNfTURfU0hBMTowOjAKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX01EX0NBTl9TSEExCitwa19zaWduX3ZlcmlmeTpNQkVEVExTX1BLX1JTQTpSU0FfS0VZX1NJWkU6TUJFRFRMU19SU0FfUEtDU19WMjE6TUJFRFRMU19NRF9TSEExOjA6MAogCiBSU0Egc2lnbi12ZXJpZnksIFBLQ1MxdjEuNSwgU0hBMjU2Ci1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTID49IDUxMjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXBrX3NpZ25fdmVyaWZ5Ok1CRURUTFNfUEtfUlNBOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6TUJFRFRMU19SU0FfUEtDU19WMTU6TUJFRFRMU19NRF9TSEEyNTY6MDowCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Citwa19zaWduX3ZlcmlmeTpNQkVEVExTX1BLX1JTQTpSU0FfS0VZX1NJWkU6TUJFRFRMU19SU0FfUEtDU19WMTU6TUJFRFRMU19NRF9TSEEyNTY6MDowCiAKIFJTQSBzaWduLXZlcmlmeSwgUEtDUzF2Mi4xLCBTSEEyNTYKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFMgPj0gNTEyOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotcGtfc2lnbl92ZXJpZnk6TUJFRFRMU19QS19SU0E6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpNQkVEVExTX1JTQV9QS0NTX1YyMTpNQkVEVExTX01EX1NIQTI1NjowOjAKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKK3BrX3NpZ25fdmVyaWZ5Ok1CRURUTFNfUEtfUlNBOlJTQV9LRVlfU0laRTpNQkVEVExTX1JTQV9QS0NTX1YyMTpNQkVEVExTX01EX1NIQTI1NjowOjAKIAogUlNBIGVuY3J5cHQtZGVjcnlwdCB0ZXN0IFBLQ1MxIHYxLjUKIGRlcGVuZHNfb246TUJFRFRMU19QS0NTMV9WMTUKQEAgLTUwNyw3ICs1MDcsNyBAQAogcGtfZWNfbm9jcnlwdDpNQkVEVExTX1BLX0VDRFNBCiAKIFJTQV9BTFQgY29uc2lzdGVuY3kKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFMgPj0gNTEyCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX3JzYV9hbHQ6CiAKIFZlcmlmeSBleHQgUlNBICMxIChQS0NTMSB2Mi4xLCBzYWx0X2xlbiA9IEFOWSwgT0spCkBAIC01OTYsMjMgKzU5NiwyMyBAQAogCiBDaGVjayBwYWlyICMxIChFQywgT0spCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX1BFTV9QQVJTRV9DCi1tYmVkdGxzX3BrX2NoZWNrX3BhaXI6ImRhdGFfZmlsZXMvZWNfMjU2X3B1Yi5wZW0iOiJkYXRhX2ZpbGVzL2VjXzI1Nl9wcnYucGVtIjowCittYmVkdGxzX3BrX2NoZWNrX3BhaXI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzI1Nl9wdWIucGVtIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfMjU2X3Bydi5wZW0iOjAKIAogQ2hlY2sgcGFpciAjMiAoRUMsIGJhZCkKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUEVNX1BBUlNFX0MKLW1iZWR0bHNfcGtfY2hlY2tfcGFpcjoiZGF0YV9maWxlcy9lY18yNTZfcHViLnBlbSI6ImRhdGFfZmlsZXMvc2VydmVyNS5rZXkiOk1CRURUTFNfRVJSX0VDUF9CQURfSU5QVVRfREFUQQorbWJlZHRsc19wa19jaGVja19wYWlyOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY18yNTZfcHViLnBlbSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IjpNQkVEVExTX0VSUl9FQ1BfQkFEX0lOUFVUX0RBVEEKIAogQ2hlY2sgcGFpciAjMyAoUlNBLCBPSykKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1BFTV9QQVJTRV9DCi1tYmVkdGxzX3BrX2NoZWNrX3BhaXI6ImRhdGFfZmlsZXMvc2VydmVyMS5wdWJrZXkiOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjowCittYmVkdGxzX3BrX2NoZWNrX3BhaXI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEucHVia2V5IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOjAKIAogQ2hlY2sgcGFpciAjNCAoUlNBLCBiYWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19QRU1fUEFSU0VfQwotbWJlZHRsc19wa19jaGVja19wYWlyOiJkYXRhX2ZpbGVzL3NlcnZlcjEucHVia2V5IjoiZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSI6TUJFRFRMU19FUlJfUlNBX0tFWV9DSEVDS19GQUlMRUQKK21iZWR0bHNfcGtfY2hlY2tfcGFpcjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5wdWJrZXkiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIyLmtleSI6TUJFRFRMU19FUlJfUlNBX0tFWV9DSEVDS19GQUlMRUQKIAogQ2hlY2sgcGFpciAjNSAoUlNBIHZzIEVDKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BFTV9QQVJTRV9DCi1tYmVkdGxzX3BrX2NoZWNrX3BhaXI6ImRhdGFfZmlsZXMvZWNfMjU2X3B1Yi5wZW0iOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICittYmVkdGxzX3BrX2NoZWNrX3BhaXI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzI1Nl9wdWIucGVtIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUlNBIGhhc2hfbGVuIG92ZXJmbG93IChzaXplX3QgdnMgdW5zaWduZWQgaW50KQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfSEFWRV9JTlQ2NApAQCAtNjg4LDM1ICs2ODgsMzUgQEAKIHBrX3BzYV9zaWduOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfQlJBSU5QT09MX1BfUjEpOjUxMjowCiAKIFBTQSB3cmFwcGVkIHNpZ246IFJTQSBQS0NTMSB2MS41Ci1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19HRU5QUklNRQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1CiBwa19wc2Ffc2lnbjpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOjEwMjQ6TUJFRFRMU19SU0FfUEtDU19WMTUKIAogUFNBIHdyYXBwZWQgc2lnbjogUlNBIFBLQ1MxIHYyLjEKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMjEKIHBrX3BzYV9zaWduOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6MTAyNDpNQkVEVExTX1JTQV9QS0NTX1YyMQogCiBQSyBzaWduIGV4dDogUlNBMjA0OCwgUEtfUlNBLCBNRF9TSEEyNTYKLWRlcGVuZHNfb246TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyA8PSAyMDQ4CitkZXBlbmRzX29uOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCiBwa19zaWduX2V4dDpNQkVEVExTX1BLX1JTQToyMDQ4Ok1CRURUTFNfUEtfUlNBOk1CRURUTFNfTURfU0hBMjU2CiAKIFBLIHNpZ24gZXh0OiBSU0EyMDQ4LCBQS19SU0FTU0FfUFNTLCBNRF9TSEEyNTYKLWRlcGVuZHNfb246TUJFRFRMU19QS0NTMV9WMjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyA8PSAyMDQ4CitkZXBlbmRzX29uOk1CRURUTFNfUEtDUzFfVjIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCiBwa19zaWduX2V4dDpNQkVEVExTX1BLX1JTQToyMDQ4Ok1CRURUTFNfUEtfUlNBU1NBX1BTUzpNQkVEVExTX01EX1NIQTI1NgogCiBQSyBzaWduIGV4dDogUlNBMjA0OCwgUEtfUlNBLCBNRF9TSEEzODQKLWRlcGVuZHNfb246TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyA8PSAyMDQ4CitkZXBlbmRzX29uOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1JTQV9DCiBwa19zaWduX2V4dDpNQkVEVExTX1BLX1JTQToyMDQ4Ok1CRURUTFNfUEtfUlNBOk1CRURUTFNfTURfU0hBMzg0CiAKIFBLIHNpZ24gZXh0OiBSU0EyMDQ4LCBQS19SU0FTU0FfUFNTLCBNRF9TSEEzODQKLWRlcGVuZHNfb246TUJFRFRMU19QS0NTMV9WMjE6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyA8PSAyMDQ4CitkZXBlbmRzX29uOk1CRURUTFNfUEtDUzFfVjIxOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1JTQV9DCiBwa19zaWduX2V4dDpNQkVEVExTX1BLX1JTQToyMDQ4Ok1CRURUTFNfUEtfUlNBU1NBX1BTUzpNQkVEVExTX01EX1NIQTM4NAogCiBQSyBzaWduIGV4dDogUlNBMjA0OCwgUEtfUlNBLCBNRF9TSEE1MTIKLWRlcGVuZHNfb246TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUlNBX0M6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyA8PSAyMDQ4CitkZXBlbmRzX29uOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1JTQV9DCiBwa19zaWduX2V4dDpNQkVEVExTX1BLX1JTQToyMDQ4Ok1CRURUTFNfUEtfUlNBOk1CRURUTFNfTURfU0hBNTEyCiAKIFBLIHNpZ24gZXh0OiBSU0EyMDQ4LCBQS19SU0FTU0FfUFNTLCBNRF9TSEE1MTIKLWRlcGVuZHNfb246TUJFRFRMU19QS0NTMV9WMjE6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUlNBX0M6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUyA8PSAyMDQ4CitkZXBlbmRzX29uOk1CRURUTFNfUEtDUzFfVjIxOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1JTQV9DCiBwa19zaWduX2V4dDpNQkVEVExTX1BLX1JTQToyMDQ4Ok1CRURUTFNfUEtfUlNBU1NBX1BTUzpNQkVEVExTX01EX1NIQTUxMgogCiBQSyBzaWduIGV4dDogU0VDUDI1NlIxLCBQS19FQ0RTQSwgTURfU0hBMjU2CkBAIC03NjIsMTQ4ICs3NjIsMTQ4IEBACiAKICMgQmFkIHVzYWdlIGR1ZSB0byBub3Qgc3BlY2lmeWluZyBzaWduL2NyeXB0L2Rlcml2ZS4KIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHVzYWdlPTAgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjE1CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfUlNBOkZST01fUEFJUjowOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogIyBCYWQgdXNhZ2UgZHVlIHRvIG5vdCBzcGVjaWZ5aW5nIHNpZ24vY3J5cHQvZGVyaXZlLgogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdXNhZ2U9RVhQT1JUIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YxNQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1CiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX1JTQTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9FWFBPUlQ6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiAjIFRoaXMgdXNhZ2UgY291bGQgbWFrZSBzZW5zZSwgYnV0IGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdXNhZ2U9REVDUllQVHxFWFBPUlQgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjE1CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfUlNBOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKICMgQmFkIHVzYWdlIGR1ZSB0byBzcGVjaWZ5aW5nIG1vcmUgdGhhbiBvbmUgb2Ygc2lnbi9jcnlwdC9kZXJpdmUuCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB1c2FnZT1ERUNSWVBUfFNJR05fTUVTU0FHRSAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUU6TUJFRFRMU19QS0NTMV9WMTUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19SU0E6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogIyBUaGlzIHVzYWdlIGNvdWxkIG1ha2Ugc2Vuc2UsIGJ1dCBpcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZC4KIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHVzYWdlPVNJR05fTUVTU0FHRXxTSUdOX0hBU0ggKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjE1CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfUlNBOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogIyBUaGlzIHVzYWdlIGNvdWxkIG1ha2Ugc2Vuc2UsIGJ1dCBpcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZC4KIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHVzYWdlPVNJR05fTUVTU0FHRXxWRVJJRllfTUVTU0FHRSAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUU6TUJFRFRMU19QS0NTMV9WMTUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19SU0E6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHYxNSBwYWlyIERFQ1JZUFQKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjE1CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX1BLX1JTQTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOjE6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjIxIFNIQS0yNTYgcGFpciBERUNSWVBUCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKIHBrX3JzYV92MjFfZ2V0X3BzYV9hdHRyaWJ1dGVzOk1CRURUTFNfTURfU0hBMjU2OkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MTpQU0FfQUxHX1JTQV9PQUVQKFBTQV9BTEdfU0hBXzI1NikKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjIxIFNIQS01MTIgcGFpciBERUNSWVBUCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX01EX0NBTl9TSEE1MTIKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX01EX0NBTl9TSEE1MTIKIHBrX3JzYV92MjFfZ2V0X3BzYV9hdHRyaWJ1dGVzOk1CRURUTFNfTURfU0hBNTEyOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MTpQU0FfQUxHX1JTQV9PQUVQKFBTQV9BTEdfU0hBXzUxMikKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjE1IHBhaXItPnB1YmxpYyBFTkNSWVBUCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YxNQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1CiBwa19nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19QS19SU0E6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfRU5DUllQVDowOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHYyMSBTSEEtMjU2IHBhaXItPnB1YmxpYyBFTkNSWVBUCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YyMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKIHBrX3JzYV92MjFfZ2V0X3BzYV9hdHRyaWJ1dGVzOk1CRURUTFNfTURfU0hBMjU2OkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6MDpQU0FfQUxHX1JTQV9PQUVQKFBTQV9BTEdfU0hBXzI1NikKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjIxIFNIQS01MTIgcGFpci0+cHVibGljIEVOQ1JZUFQKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjIxOk1CRURUTFNfTURfQ0FOX1NIQTUxMgorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjIxOk1CRURUTFNfTURfQ0FOX1NIQTUxMgogcGtfcnNhX3YyMV9nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19NRF9TSEE1MTI6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfRU5DUllQVDowOlBTQV9BTEdfUlNBX09BRVAoUFNBX0FMR19TSEFfNTEyKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MTUgcHVibGljIEVOQ1JZUFQKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjE1CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX1BLX1JTQTpGUk9NX1BVQkxJQzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6MDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MjEgU0hBLTI1NiBwdWJsaWMgRU5DUllQVAotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUU6TUJFRFRMU19QS0NTMV9WMjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2CiBwa19yc2FfdjIxX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX01EX1NIQTI1NjpGUk9NX1BVQkxJQzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6MDpQU0FfQUxHX1JTQV9PQUVQKFBTQV9BTEdfU0hBXzI1NikKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjIxIFNIQS01MTIgcHVibGljIEVOQ1JZUFQKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjIxOk1CRURUTFNfTURfQ0FOX1NIQTUxMgorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjIxOk1CRURUTFNfTURfQ0FOX1NIQTUxMgogcGtfcnNhX3YyMV9nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19NRF9TSEE1MTI6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUOjA6UFNBX0FMR19SU0FfT0FFUChQU0FfQUxHX1NIQV81MTIpCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHYxNSBwdWJsaWMgREVDUllQVCAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUU6TUJFRFRMU19QS0NTMV9WMTUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19SU0E6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjE1IHBhaXIgU0lHTl9NRVNTQUdFCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YxNQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1CiBwa19nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19QS19SU0E6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjE6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MjEgU0hBLTI1NiBwYWlyIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUU6TUJFRFRMU19QS0NTMV9WMjEKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YyMQogcGtfcnNhX3YyMV9nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19NRF9OT05FOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRToxOlBTQV9BTEdfUlNBX1BTU19BTllfU0FMVChQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MTUgcGFpciBTSUdOX0hBU0gKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjE1CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX1BLX1JTQTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfQU5ZX0hBU0gpCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHYyMSBTSEEtMjU2IHBhaXIgU0lHTl9IQVNICi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YyMQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjIxCiBwa19yc2FfdjIxX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX01EX05PTkU6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjE6UFNBX0FMR19SU0FfUFNTX0FOWV9TQUxUKFBTQV9BTEdfQU5ZX0hBU0gpCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHYxNSBwYWlyLT5wdWJsaWMgVkVSSUZZX01FU1NBR0UKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjE1CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX1BLX1JTQTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTowOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19BTllfSEFTSCkKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjIxIFNIQS0yNTYgcGFpci0+cHVibGljIFZFUklGWV9NRVNTQUdFCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YyMQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjIxCiBwa19yc2FfdjIxX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX01EX05PTkU6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0U6MDpQU0FfQUxHX1JTQV9QU1NfQU5ZX1NBTFQoUFNBX0FMR19BTllfSEFTSCkKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjE1IHBhaXItPnB1YmxpYyBWRVJJRllfSEFTSAotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUU6TUJFRFRMU19QS0NTMV9WMTUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzOk1CRURUTFNfUEtfUlNBOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIOjA6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MjEgU0hBLTI1NiBwYWlyLT5wdWJsaWMgVkVSSUZZX0hBU0gKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjIxCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMjEKIHBrX3JzYV92MjFfZ2V0X3BzYV9hdHRyaWJ1dGVzOk1CRURUTFNfTURfTk9ORTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSDowOlBTQV9BTEdfUlNBX1BTU19BTllfU0FMVChQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MTUgcHVibGljIFZFUklGWV9NRVNTQUdFCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YxNQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1CiBwa19nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19QS19SU0E6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTowOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19BTllfSEFTSCkKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjIxIFNIQS0yNTYgcHVibGljIFZFUklGWV9NRVNTQUdFCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YyMQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjIxCiBwa19yc2FfdjIxX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX01EX05PTkU6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTowOlBTQV9BTEdfUlNBX1BTU19BTllfU0FMVChQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MTUgcHVibGljIFZFUklGWV9IQVNICi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YxNQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1CiBwa19nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19QS19SU0E6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSDowOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19BTllfSEFTSCkKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBSU0EgdjIxIFNIQS0yNTYgcHVibGljIFZFUklGWV9IQVNICi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YyMQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjIxCiBwa19yc2FfdjIxX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX01EX05PTkU6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSDowOlBTQV9BTEdfUlNBX1BTU19BTllfU0FMVChQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MTUgcHVibGljIFNJR05fTUVTU0FHRSAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUU6TUJFRFRMU19QS0NTMV9WMTUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19SU0E6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MTUgcHVibGljIFNJR05fSEFTSCAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUU6TUJFRFRMU19QS0NTMV9WMTUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19SU0E6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IFJTQSB2MTUgcGFpciBERVJJVkUgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FOk1CRURUTFNfUEtDUzFfVjE1CitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfUlNBOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX0RFUklWRTpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogUlNBIHYxNSBwdWJsaWMgREVSSVZFIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1BLQ1MxX1YxNQorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1CiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX1JTQTpGUk9NX1BVQkxJQzpQU0FfS0VZX1VTQUdFX0RFUklWRTpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogRUNLRVkgcGFpciBERUNSWVBUIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX0VDS0VZOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDS0VZX0RIIHBhaXIgREVDUllQVCAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0lNUE9SVAogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19FQ0tFWV9ESDpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0RTQSBwYWlyIERFQ1JZUFQgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6TUJFRFRMU19QS19DQU5fRUNEU0FfU0lHTgogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWSBwdWJsaWMgREVDUllQVCAoYmFkKQpAQCAtOTE5LDE1ICs5MTksMTUgQEAKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfRUNEU0E6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWSBwYWlyIEVOQ1JZUFQgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfRUNLRVk6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfRU5DUllQVDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogRUNLRVlfREggcGFpciBFTkNSWVBUIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX0VDS0VZX0RIOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDRFNBIHBhaXIgRU5DUllQVCAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX0VDRFNBOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDS0VZIHB1YmxpYyBFTkNSWVBUIChiYWQpCkBAIC05NDMsMTUgKzk0MywxNSBAQAogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BVQkxJQzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDS0VZIHBhaXIgREVSSVZFCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19QS19FQ0tFWTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9ERVJJVkU6MTpQU0FfQUxHX0VDREgKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWV9ESCBwYWlyIERFUklWRQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0lNUE9SVAogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzOk1CRURUTFNfUEtfRUNLRVlfREg6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfREVSSVZFOjE6UFNBX0FMR19FQ0RICiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogRUNEU0EgcGFpciBERVJJVkUgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6TUJFRFRMU19QS19DQU5fRUNEU0FfU0lHTgogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX2ZhaWw6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9ERVJJVkU6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDS0VZIHB1YmxpYyBERVJJVkUgKGJhZCkKQEAgLTk2NywzNSArOTY3LDM1IEBACiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX0VDRFNBOkZST01fUFVCTElDOlBTQV9LRVlfVVNBR0VfREVSSVZFOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWSBwYWlyIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0lNUE9SVAogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzOk1CRURUTFNfUEtfRUNLRVk6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjE6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDRFNBIHBhaXIgU0lHTl9NRVNTQUdFCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR04KIHBrX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX1BLX0VDRFNBOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRToxOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCkKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWSBwYWlyIFNJR05fSEFTSAotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0lNUE9SVAogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzOk1CRURUTFNfUEtfRUNLRVk6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjE6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDRFNBIHBhaXIgU0lHTl9IQVNICi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR04KIHBrX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX1BLX0VDRFNBOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDoxOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCkKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWSBwYWlyLT5wdWJsaWMgVkVSSUZZX01FU1NBR0UKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQKIHBrX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX1BLX0VDS0VZOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOjA6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDRFNBIHBhaXItPnB1YmxpYyBWRVJJRllfTUVTU0FHRQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTowOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCkKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWSBwYWlyLT5wdWJsaWMgVkVSSUZZX0hBU0gKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQKIHBrX2dldF9wc2FfYXR0cmlidXRlczpNQkVEVExTX1BLX0VDS0VZOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIOjA6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDRFNBIHBhaXItPnB1YmxpYyBWRVJJRllfSEFTSAotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXM6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BBSVI6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSDowOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCkKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWSBwdWJsaWMgVkVSSUZZX01FU1NBR0UKQEAgLTEwMzEsMTkgKzEwMzEsMTkgQEAKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfRUNEU0E6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IEVDS0VZX0RIIHBhaXIgU0lHTl9NRVNTQUdFIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX0VDS0VZX0RIOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogRUNLRVlfREggcGFpciBTSUdOX0hBU0ggKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfRUNLRVlfREg6RlJPTV9QQUlSOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWV9ESCBwYWlyIFZFUklGWV9NRVNTQUdFIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX0VDS0VZX0RIOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWV9ESCBwYWlyIFZFUklGWV9IQVNIIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfZmFpbDpNQkVEVExTX1BLX0VDS0VZX0RIOkZST01fUEFJUjpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBFQ0tFWV9ESCBwdWJsaWMgU0lHTl9NRVNTQUdFIChiYWQpCkBAIC0xMDYzLDE5OSArMTA2MywxOTkgQEAKIHBrX2dldF9wc2FfYXR0cmlidXRlc19mYWlsOk1CRURUTFNfUEtfRUNLRVlfREg6RlJPTV9QVUJMSUM6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIFJTQSBwYWlyLCAwICYgU0lHTl9NRVNTQUdFIChiYWQgcG9saWN5KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOjA6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSDoxOjAKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTowOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0g6MTowCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIFJTQSBwYWlyLCBTSUdOX01FU1NBR0UgJiBTSUdOX01FU1NBR0UKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTowOjE6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTowOjE6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIFNJR058VkVSSUZZICYgU0lHTl9NRVNTQUdFCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQotcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IG9wYXF1ZSBSU0EgcGFpciwgU0lHTnxERUNSWVBUICYgU0lHTl9NRVNTQUdFCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQotcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUCiAKICMgRm9yIGEgUEtfT1BBUVVFIGtleSB3aXRoIGEga2V5IHBhaXIgdHlwZSBvdXRwdXQsCiAjIG1iZWR0bHNfcGtfaW1wb3J0X2ludG9fcHNhKCkgcmVxdWlyZXMgdGhlIGtleSB0byBiZSBjb3B5YWJsZSBvciBleHBvcnRhYmxlLgogIyBUcnkgYWxsIGNvbWJpbmF0aW9ucyBvZiBDT1BZL25vdCwgRVhQT1JUL25vdC4KIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIFJTQSBwYWlyLCBTSUdOfC4uLiAmIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTowOjE6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIFNJR058RVhQT1JUfC4uLiAmIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVAorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCitwa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IG9wYXF1ZSBSU0EgcGFpciwgU0lHTnxDT1BZfC4uLiAmIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTowOjE6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIFNJR058Q09QWXxFWFBPUlQuLi4gJiBTSUdOX01FU1NBR0UKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTowOjE6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTowOjE6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIFNJR05fTUVTU0FHRSAmIFNJR05fSEFTSCAoYmFkIHBvbGljeSkKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENIOjE6MAorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCitwa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0g6MTowCiAKICMgRm9yIGEgUEtfT1BBUVVFIGtleSwgbWJlZHRsc19wa19nZXRfcHNhX2F0dHJpYnV0ZXMoKSBpZ25vcmVzIHRoZSBpbnB1dAogIyBrZXkncyBhbGdvcml0aG0gcG9saWN5LiBKdXN0IHRoaXMgdGltZSwgdGVzdCB3aXRoIGEgZmV3IGRpZmZlcmVudCBhbGdvcml0aG1zLgogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIFNJR05fSEFTSCAmIFNJR05fSEFTSCBbMF0KLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX05PTkU6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpQU0FfQUxHX05PTkU6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIFNJR05fSEFTSCAmIFNJR05fSEFTSCBbcmF3XQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIFNJR05fSEFTSCAmIFNJR05fSEFTSCBbdjE1XQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIFNJR05fSEFTSCAmIFNJR05fSEFTSCBbUFNTXQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOlBTQV9BTEdfUlNBX1BTU19BTllfU0FMVChQU0FfQUxHX1NIQV8yNTYpOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6UFNBX0FMR19SU0FfUFNTX0FOWV9TQUxUKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIDAgJiBERUNSWVBUIChiYWQgcG9saWN5KQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOjA6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0g6MTowCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6MDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSDoxOjAKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgUlNBIHBhaXIsIERFQ1JZUFQgJiBERUNSWVBUCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQotcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9LRVlfVVNBR0VfREVDUllQVDowOjE6UFNBX0tFWV9VU0FHRV9ERUNSWVBUCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9LRVlfVVNBR0VfREVDUllQVDowOjE6UFNBX0tFWV9VU0FHRV9ERUNSWVBUCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIFJTQSBwYWlyLCBERUNSWVBUfC4uLiAmIERFQ1JZUFQKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0tFWV9VU0FHRV9ERUNSWVBUOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IG9wYXF1ZSBSU0EgcGFpciwgLi4uICYgREVSSVZFIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQotcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0tFWV9VU0FHRV9ERVJJVkU6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSDoxOjAKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfS0VZX1VTQUdFX0RFUklWRTpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENIOjE6MAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IG9wYXF1ZSBSU0EgcGFpciwgLi4uICYgRVhQT1JUIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQotcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0tFWV9VU0FHRV9FWFBPUlQ6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSDoxOjAKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQworcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfS0VZX1VTQUdFX0VYUE9SVDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENIOjE6MAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IG9wYXF1ZSBSU0EgcGFpci0+cHVibGljLCBWRVJJRllfTUVTU0FHRSAmIFZFUklGWV9NRVNTQUdFCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQotcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOjA6MDpQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOjA6MDpQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIFJTQSBwYWlyLT5wdWJsaWMsIFZFUklGWV9IQVNIICYgVkVSSUZZX0hBU0gKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCi1wa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0g6MDowOlBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIOjA6MDpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRQogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IG9wYXF1ZSBSU0EgcGFpci0+cHVibGljLCBFTkNSWVBUICYgRU5DUllQVAotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6MDowOlBTQV9LRVlfVVNBR0VfRU5DUllQVAorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCitwa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6MDowOlBTQV9LRVlfVVNBR0VfRU5DUllQVAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IG9wYXF1ZSBFQ0MgcGFpciwgMCAmIFNJR05fTUVTU0FHRSAoYmFkIHBvbGljeSkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NgorZGVwZW5kc19vbjpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTY6TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSk6MjU2OjA6UFNBX0FMR19FQ0RTQV9BTlk6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSDoxOjAKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgRUNDIHBhaXIsIFNJR05fTUVTU0FHRSAmIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2CitkZXBlbmRzX29uOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVMKIHBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxKToyNTY6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQV9BTlk6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIEVDQyBwYWlyLCBTSUdOfFZFUklGWSAmIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2CitkZXBlbmRzX29uOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVMKIHBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxKToyNTY6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOlBTQV9BTEdfRUNEU0FfQU5ZOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6MTpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgRUNDIHBhaXIsIFNJR058REVDUllQVCAmIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2CitkZXBlbmRzX29uOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVMKIHBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxKToyNTY6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19FQ0RTQV9BTlk6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIEVDQyBwYWlyLCBTSUdOfC4uLiAmIFNJR05fTUVTU0FHRQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2CitkZXBlbmRzX29uOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVMKIHBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxKToyNTY6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6UFNBX0FMR19FQ0RTQV9BTlk6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIEVDQyBwYWlyLCBTSUdOX0hBU0ggJiBTSUdOX0hBU0gKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NgorZGVwZW5kc19vbjpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTY6TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSk6MjU2OlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQV9BTlk6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgRUNDIHBhaXIsIC4uLiAmIERFUklWRQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2CitkZXBlbmRzX29uOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVMKIHBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxKToyNTY6UFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFUklWRTpQU0FfQUxHX0VDREg6UFNBX0tFWV9VU0FHRV9ERVJJVkU6MDoxOlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERVJJVkUKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgRUNDIHBhaXIsIC4uLiAmIERFQ1JZUFQgKGJhZCkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NgorZGVwZW5kc19vbjpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTY6TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSk6MjU2OlBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERVJJVkU6UFNBX0FMR19FQ0RIOlBTQV9LRVlfVVNBR0VfREVDUllQVDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENIOjE6MAogCiBQU0EgYXR0cmlidXRlcyBmb3IgcGs6IG9wYXF1ZSBFQ0MgcGFpciwgLi4uICYgRVhQT1JUIChiYWQpCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYKK2RlcGVuZHNfb246UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2Ok1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUwogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEpOjI1NjpQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRSB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfREVDUllQVCB8IFBTQV9LRVlfVVNBR0VfRU5DUllQVDpQU0FfQUxHX0VDREg6UFNBX0tFWV9VU0FHRV9FWFBPUlQ6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSDoxOjAKIAogUFNBIGF0dHJpYnV0ZXMgZm9yIHBrOiBvcGFxdWUgRUNDIHBhaXItPnB1YmxpYywgVkVSSUZZX01FU1NBR0UgJiBWRVJJRllfTUVTU0FHRQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2CitkZXBlbmRzX29uOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVMKIHBrX2dldF9wc2FfYXR0cmlidXRlc19vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxKToyNTY6UFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTpQU0FfQUxHX0VDRFNBX0FOWTpQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOjA6MDpQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIEVDQyBwYWlyLT5wdWJsaWMsIFZFUklGWV9IQVNIICYgVkVSSUZZX0hBU0gKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NgorZGVwZW5kc19vbjpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTY6TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTCiBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfb3BhcXVlOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSk6MjU2OlBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOlBTQV9BTEdfRUNEU0FfQU5ZOlBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0g6MDowOlBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFCiAKIFBTQSBhdHRyaWJ1dGVzIGZvciBwazogb3BhcXVlIEVDQyBwYWlyLT5wdWJsaWMsIEVOQ1JZUFQgJiBFTkNSWVBUIChiYWQpCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYKK2RlcGVuZHNfb246UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2Ok1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUwogcGtfZ2V0X3BzYV9hdHRyaWJ1dGVzX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEpOjI1NjpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQ6UFNBX0FMR19FQ0RTQV9BTlk6UFNBX0tFWV9VU0FHRV9FTkNSWVBUOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0g6MDowCiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IFJTQSBwYWlyIHRvIEVDQyAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQwogcGtfaW1wb3J0X2ludG9fcHNhX2ZhaWw6TUJFRFRMU19QS19SU0E6RlJPTV9QQUlSOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSk6MDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IFJTQSBwdWJsaWMgdG8gUlNBIHBhaXIgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX0dFTlBSSU1FCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKIHBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfUlNBOkZST01fUFVCTElDOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6MDpNQkVEVExTX0VSUl9SU0FfQkFEX0lOUFVUX0RBVEEKIAogIyBNQkVEVExTX0VSUl9QS19JTlZBTElEX0FMRyBpcyB0aGUgZXJyb3IgdGhhdCByZXN1bHRzIGZyb20gb3VyIHRyYW5zbGF0aW9uCiAjIG9mIFBTQSBlcnJvcnMuIEluIHRoaXMgY2FzZSBNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENIIHdvdWxkIHByb2JhYmx5CiAjIGJlIG1vcmUgYXBwcm9wcmlhdGUuIChBcHBsaWVzIHRvIGFsbCB0aGUgUlNBICJkaWZmZXJlbnQgYml0cyIgdGVzdCBjYXNlcy4pCiBQU0EgaW1wb3J0IGludG8gUFNBOiBSU0EgcGFpciB0byBkaWZmZXJlbnQgYml0cyAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfUlNBOkZST01fUEFJUjpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFMgKyA4Ok1CRURUTFNfRVJSX1BLX0lOVkFMSURfQUxHCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKK3BrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfUlNBOkZST01fUEFJUjpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRSArIDg6TUJFRFRMU19FUlJfUEtfSU5WQUxJRF9BTEcKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogUlNBIHB1YmxpYyB0byBkaWZmZXJlbnQgYml0cyAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfR0VOUFJJTUUKLXBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfUlNBOkZST01fUFVCTElDOlBTQV9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTICsgODpNQkVEVExTX0VSUl9QS19JTlZBTElEX0FMRworZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCitwa19pbXBvcnRfaW50b19wc2FfZmFpbDpNQkVEVExTX1BLX1JTQTpGUk9NX1BVQkxJQzpQU0FfS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVk6UlNBX0tFWV9TSVpFICsgODpNQkVEVExTX0VSUl9QS19JTlZBTElEX0FMRwogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBSU0EgcHJpdmF0ZSB0byBwdWJsaWMsIGRpZmZlcmVudCBiaXRzIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRQotcGtfaW1wb3J0X2ludG9fcHNhX2ZhaWw6TUJFRFRMU19QS19SU0E6RlJPTV9QQUlSOlBTQV9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTICsgODpNQkVEVExTX0VSUl9QS19JTlZBTElEX0FMRworZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCitwa19pbXBvcnRfaW50b19wc2FfZmFpbDpNQkVEVExTX1BLX1JTQTpGUk9NX1BBSVI6UFNBX0tFWV9UWVBFX1JTQV9QVUJMSUNfS0VZOlJTQV9LRVlfU0laRSArIDg6TUJFRFRMU19FUlJfUEtfSU5WQUxJRF9BTEcKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogRUNLRVkgcGFpciB0byBSU0EgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQKIHBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfRUNLRVk6RlJPTV9QQUlSOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6MDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IEVDS0VZX0RIIHBhaXIgdG8gUlNBIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19pbXBvcnRfaW50b19wc2FfZmFpbDpNQkVEVExTX1BLX0VDS0VZX0RIOkZST01fUEFJUjpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBFQ0RTQSBwYWlyIHRvIFJTQSAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUUKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOCiBwa19pbXBvcnRfaW50b19wc2FfZmFpbDpNQkVEVExTX1BLX0VDRFNBOkZST01fUEFJUjpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBFQ0tFWSBwYWlyIHRvIGRpZmZlcmVudCBjdXJ2ZSAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVMKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0hBVkVfVFdPX0ZBTUlMSUVTOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQKIHBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfRUNLRVk6RlJPTV9QQUlSOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfQU5PVEhFUl9GQU1JTFkpOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBFQ0tFWV9ESCBwYWlyIHRvIGRpZmZlcmVudCBjdXJ2ZSAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVMKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0hBVkVfVFdPX0ZBTUlMSUVTOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQKIHBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfRUNLRVlfREg6RlJPTV9QQUlSOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfQU5PVEhFUl9GQU1JTFkpOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBFQ0RTQSBwYWlyIHRvIGRpZmZlcmVudCBjdXJ2ZSAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVM6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVM6TUJFRFRMU19QS19DQU5fRUNEU0FfU0lHTgogcGtfaW1wb3J0X2ludG9fcHNhX2ZhaWw6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BBSVI6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19BTk9USEVSX0ZBTUlMWSk6MDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IEVDS0VZIHBhaXIgdG8gcHVibGljLCBkaWZmZXJlbnQgY3VydmUgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0hBVkVfVFdPX0ZBTUlMSUVTCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19IQVZFX1RXT19GQU1JTElFUzpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19pbXBvcnRfaW50b19wc2FfZmFpbDpNQkVEVExTX1BLX0VDS0VZOkZST01fUEFJUjpQU0FfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkoTUJFRFRMU19URVNUX1BTQV9FQ0NfQU5PVEhFUl9GQU1JTFkpOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBFQ0tFWV9ESCBwYWlyIHRvIHB1YmxpYywgZGlmZmVyZW50IGN1cnZlIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19IQVZFX1RXT19GQU1JTElFUworZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVM6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0lNUE9SVAogcGtfaW1wb3J0X2ludG9fcHNhX2ZhaWw6TUJFRFRMU19QS19FQ0tFWV9ESDpGUk9NX1BBSVI6UFNBX0tFWV9UWVBFX0VDQ19QVUJMSUNfS0VZKE1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfRkFNSUxZKTowOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogRUNEU0EgcGFpciB0byBwdWJsaWMsIGRpZmZlcmVudCBjdXJ2ZSAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVM6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRQorZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVM6TUJFRFRMU19QS19DQU5fRUNEU0FfU0lHTgogcGtfaW1wb3J0X2ludG9fcHNhX2ZhaWw6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BBSVI6UFNBX0tFWV9UWVBFX0VDQ19QVUJMSUNfS0VZKE1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfRkFNSUxZKTowOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogRUNLRVkgcHVibGljIHRvIGRpZmZlcmVudCBjdXJ2ZSAoYmFkKQpAQCAtMTI3MSwxNSArMTI3MSwxNSBAQAogcGtfaW1wb3J0X2ludG9fcHNhX2ZhaWw6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BVQkxJQzpQU0FfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkoTUJFRFRMU19URVNUX1BTQV9FQ0NfQU5PVEhFUl9GQU1JTFkpOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBFQ0tFWSBwYWlyIHRvIGRpZmZlcmVudCBiaXRzIChiYWQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19IQVZFX1RXT19CSVRTCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19IQVZFX1RXT19CSVRTOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQKIHBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfRUNLRVk6RlJPTV9QQUlSOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMpOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfQ1VSVkVfQklUUzpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IEVDS0VZX0RIIHBhaXIgdG8gZGlmZmVyZW50IGJpdHMgKGJhZCkKLWRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0hBVkVfVFdPX0JJVFMKK2RlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfVEVTVF9QU0FfRUNDX0hBVkVfVFdPX0JJVFM6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0lNUE9SVAogcGtfaW1wb3J0X2ludG9fcHNhX2ZhaWw6TUJFRFRMU19QS19FQ0tFWV9ESDpGUk9NX1BBSVI6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUyk6TUJFRFRMU19URVNUX1BTQV9FQ0NfQU5PVEhFUl9DVVJWRV9CSVRTOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogRUNEU0EgcGFpciB0byBkaWZmZXJlbnQgYml0cyAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fQklUUzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19IQVZFX1RXT19CSVRTOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR04KIHBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfRUNEU0E6RlJPTV9QQUlSOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMpOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfQ1VSVkVfQklUUzpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IEVDS0VZIHB1YmxpYyB0byBkaWZmZXJlbnQgYml0cyAoYmFkKQpAQCAtMTI5NSwxNSArMTI5NSwxNSBAQAogcGtfaW1wb3J0X2ludG9fcHNhX2ZhaWw6TUJFRFRMU19QS19FQ0RTQTpGUk9NX1BVQkxJQzpQU0FfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMpOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfQ1VSVkVfQklUUzpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IEVDS0VZIHByaXZhdGUgdG8gcHVibGljLCBkaWZmZXJlbnQgYml0cyAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fQklUUworZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fQklUUzpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19pbXBvcnRfaW50b19wc2FfZmFpbDpNQkVEVExTX1BLX0VDS0VZOkZST01fUEFJUjpQU0FfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMpOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfQ1VSVkVfQklUUzpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IEVDS0VZX0RIIHByaXZhdGUgdG8gcHVibGljLCBkaWZmZXJlbnQgYml0cyAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fQklUUworZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fQklUUzpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfSU1QT1JUCiBwa19pbXBvcnRfaW50b19wc2FfZmFpbDpNQkVEVExTX1BLX0VDS0VZX0RIOkZST01fUEFJUjpQU0FfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMpOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfQ1VSVkVfQklUUzpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IEVDRFNBIHByaXZhdGUgdG8gcHVibGljLCBkaWZmZXJlbnQgYml0cyAoYmFkKQotZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fQklUUzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FCitkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX1RFU1RfUFNBX0VDQ19IQVZFX1RXT19CSVRTOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR04KIHBrX2ltcG9ydF9pbnRvX3BzYV9mYWlsOk1CRURUTFNfUEtfRUNEU0E6RlJPTV9QQUlSOlBTQV9LRVlfVFlQRV9FQ0NfUFVCTElDX0tFWShNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUyk6TUJFRFRMU19URVNUX1BTQV9FQ0NfQU5PVEhFUl9DVVJWRV9CSVRTOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogRUNLRVkgcHVibGljIHRvIHBhaXIgKGJhZCkKQEAgLTEzOTUsMTQ5ICsxMzk1LDE0OSBAQAogcGtfaW1wb3J0X2ludG9fcHNhX2xpZmV0aW1lOjE6MTowOjE6MQogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgUlNBLCBDT1BZIChvaykKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgotcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzowCitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgorcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6MAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgUlNBLCBFWFBPUlQgKG9rKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCi1wa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzowCitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgorcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOjAKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIFJTQSwgbm8gQ09QWS9FWFBPUlQgKGJhZCkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgotcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgorcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiAjIERldGFpbCB0aGF0IGlzbid0IHByZWNpc2VseSBkb2N1bWVudGVkOiBzaW5jZSB0aGlzIGNvcGllcyB0aGUga2V5LAogIyB0aGUgbmV3IGtleSBoYXMgdGhlIGludGVyc2VjdGlvbiBvZiB0aGUgdXNhZ2UgZmxhZ3MuCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgUlNBLCBDT1BZfEVYUE9SVCwgZGlmZmVyZW50IHVzYWdlIChyZXN0cmljdGVkKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCi1wa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzowCitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgorcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOjAKIAogIyBEZXRhaWwgdGhhdCBpc24ndCBwcmVjaXNlbHkgZG9jdW1lbnRlZDogc2luY2UgdGhpcyBjb3BpZXMgdGhlIGtleSwKICMgdGhlIG5ldyBrZXkgaGFzIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlIHVzYWdlIGZsYWdzLgogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIFJTQSwgQ09QWSwgZGlmZmVyZW50IHVzYWdlIChyZXN0cmljdGVkKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCi1wa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6MAorZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KK3BrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6MAogCiAjIERldGFpbCB0aGF0IGlzbid0IHByZWNpc2VseSBkb2N1bWVudGVkOiBzaW5jZSB0aGlzIGV4cG9ydHMgdGhlIGtleSwKICMgdGhlIG5ldyBrZXkgaGFzIGFsbCB0aGUgcmVxdWVzdGVkIHVzYWdlIGZsYWdzLgogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIFJTQSwgRVhQT1JULCBkaWZmZXJlbnQgdXNhZ2UgKG9rKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCi1wa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6MAorZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KK3BrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6MAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgUlNBLCBDT1BZfEVYUE9SVCwgZGlmZmVyZW50IGFsZ29yaXRobSAob2spCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KLXBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19TSEFfMjU2KTowCitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgorcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19TSEFfMjU2KTowCiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBSU0EsIENPUFksIGRpZmZlcmVudCBhbGdvcml0aG0gKGJhZCkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgotcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKK2RlcGVuZHNfb246UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCitwa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIFJTQSwgRVhQT1JULCBkaWZmZXJlbnQgYWxnb3JpdGhtIChvaykKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfU0lHTgotcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOjAKK2RlcGVuZHNfb246UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCitwa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX1NIQV8yNTYpOjAKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIFJTQSwgaW1wbGljaXQgYml0cyAob2spCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KLXBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjowOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6MAorZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KK3BrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOjA6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzowCiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBSU0EsIGRpZmZlcmVudCBiaXRzIChiYWQpCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KLXBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTICsgODpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKK2RlcGVuZHNfb246UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCitwa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkUgKyA4OlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgUlNBLCBkaWZmZXJlbnQgdHlwZSAoYmFkKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCi1wa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6UFNBX0tFWV9UWVBFX0hNQUM6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAorZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KK3BrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTowOlBTQV9LRVlfVFlQRV9ITUFDOlJTQV9LRVlfU0laRTpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgUlNBIHRvIHB1YmxpYyAob2spCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KLXBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9QVUJMSUNfS0VZOk1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFM6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSCB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6MAorZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KK3BrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVk6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOjAKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIFJTQSB0byBwdWJsaWMsIGltcGxpY2l0IGJpdHMgKG9rKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCi1wa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWTowOlBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOjAKK2RlcGVuZHNfb246UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCitwa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UlNBX0tFWV9TSVpFOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6UFNBX0tFWV9UWVBFX1JTQV9QVUJMSUNfS0VZOjA6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSCB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0U6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVc6MAogCiAjIE1CRURUTFNfRVJSX1BLX0lOVkFMSURfQUxHIGlzIHRoZSBlcnJvciB0aGF0IHJlc3VsdHMgZnJvbSBvdXIgdHJhbnNsYXRpb24KICMgb2YgUFNBIGVycm9ycy4gSW4gdGhpcyBjYXNlIE1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0ggd291bGQgcHJvYmFibHkKICMgYmUgbW9yZSBhcHByb3ByaWF0ZS4KIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBSU0EgdG8gcHVibGljLCBkaWZmZXJlbnQgYml0cyAoYmFkKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9TSUdOCi1wa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6TUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUzpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXOlBTQV9LRVlfVFlQRV9SU0FfUFVCTElDX0tFWTpNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTICsgODpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpNQkVEVExTX0VSUl9QS19JTlZBTElEX0FMRworZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X1NJR04KK3BrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpSU0FfS0VZX1NJWkU6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpQU0FfS0VZX1RZUEVfUlNBX1BVQkxJQ19LRVk6UlNBX0tFWV9TSVpFICsgODpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTpQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOX1JBVzpNQkVEVExTX0VSUl9QS19JTlZBTElEX0FMRwogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgRUNDLCBDT1BZIChvaykKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQogcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTowCiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBFQ0MsIEVYUE9SVCAob2spCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfQUxHX0VDRFNBCitkZXBlbmRzX29uOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKIHBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfQU5ZX0hBU0gpOjAKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIEVDQywgbm8gQ09QWS9FWFBPUlQgKGJhZCkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQogcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKICMgRGV0YWlsIHRoYXQgaXNuJ3QgcHJlY2lzZWx5IGRvY3VtZW50ZWQ6IHNpbmNlIHRoaXMgY29waWVzIHRoZSBrZXksCiAjIHRoZSBuZXcga2V5IGhhcyB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZSB1c2FnZSBmbGFncy4KIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBFQ0MsIENPUFl8RVhQT1JULCBkaWZmZXJlbnQgdXNhZ2UgKHJlc3RyaWN0ZWQpCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfQUxHX0VDRFNBCitkZXBlbmRzX29uOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKIHBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfQU5ZX0hBU0gpOjAKIAogIyBEZXRhaWwgdGhhdCBpc24ndCBwcmVjaXNlbHkgZG9jdW1lbnRlZDogc2luY2UgdGhpcyBjb3BpZXMgdGhlIGtleSwKICMgdGhlIG5ldyBrZXkgaGFzIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlIHVzYWdlIGZsYWdzLgogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIEVDQywgQ09QWSwgZGlmZmVyZW50IHVzYWdlIChyZXN0cmljdGVkKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQorZGVwZW5kc19vbjpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfQUxHX0VDRFNBCiBwa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSk6TUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6MAogCiAjIERldGFpbCB0aGF0IGlzbid0IHByZWNpc2VseSBkb2N1bWVudGVkOiBzaW5jZSB0aGlzIGV4cG9ydHMgdGhlIGtleSwKICMgdGhlIG5ldyBrZXkgaGFzIGFsbCB0aGUgcmVxdWVzdGVkIHVzYWdlIGZsYWdzLgogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIEVDQywgRVhQT1JULCBkaWZmZXJlbnQgdXNhZ2UgKG9rKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQorZGVwZW5kc19vbjpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfQUxHX0VDRFNBCiBwa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSk6TUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFM6UFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSk6TUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFM6UFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6MAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgRUNDLCBDT1BZfEVYUE9SVCwgZGlmZmVyZW50IGFsZ29yaXRobSAob2spCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfQUxHX0VDRFNBCitkZXBlbmRzX29uOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKIHBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0EoUFNBX0FMR19TSEFfMjU2KTowCiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBFQ0MsIENPUFksIGRpZmZlcmVudCBhbGdvcml0aG0gKGJhZCkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQogcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfREVURVJNSU5JU1RJQ19FQ0RTQShQU0FfQUxHX1NIQV8yNTYpOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIEVDQywgRVhQT1JULCBkaWZmZXJlbnQgYWxnb3JpdGhtIChvaykKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQogcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSk6TUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFM6UFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfREVURVJNSU5JU1RJQ19FQ0RTQShQU0FfQUxHX1NIQV8yNTYpOjAKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIEVDQywgaW1wbGljaXQgYml0cyAob2spCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfQUxHX0VDRFNBCitkZXBlbmRzX29uOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKIHBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTowOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTowCiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBFQ0MsIGRpZmZlcmVudCBiaXRzIChiYWQpCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1RFU1RfUFNBX0VDQ19BVF9MRUFTVF9PTkVfQ1VSVkU6UFNBX1dBTlRfQUxHX0VDRFNBCitkZXBlbmRzX29uOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKIHBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUyArIDg6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfQU5ZX0hBU0gpOk1CRURUTFNfRVJSX1BLX1RZUEVfTUlTTUFUQ0gKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIEVDQywgZGlmZmVyZW50IHR5cGUgKGJhZCkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQogcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6MDpQU0FfS0VZX1RZUEVfSE1BQzpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgRUNDLCBkaWZmZXJlbnQgZmFtaWx5IChiYWQpCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1RFU1RfUFNBX0VDQ19IQVZFX1RXT19GQU1JTElFUzpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVM6UFNBX1dBTlRfQUxHX0VDRFNBCiBwa19pbXBvcnRfaW50b19wc2Ffb3BhcXVlOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSk6TUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFM6UFNBX0tFWV9VU0FHRV9DT1BZIHwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1NJR05fTUVTU0FHRTowOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoTUJFRFRMU19URVNUX1BTQV9FQ0NfQU5PVEhFUl9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfQ09QWSB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6MDpNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENICiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBFQ0MgdG8gcHVibGljIChvaykKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQogcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSk6TUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFM6UFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSCB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTowCiAKIFBTQSBpbXBvcnQgaW50byBQU0E6IG9wYXF1ZSBFQ0MgdG8gcHVibGljLCBpbXBsaWNpdCBiaXRzIChvaykKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQogcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSk6MDpQU0FfS0VZX1VTQUdFX1ZFUklGWV9IQVNIIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfTUVTU0FHRTpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfQU5ZX0hBU0gpOjAKIAogIyBNQkVEVExTX0VSUl9QS19JTlZBTElEX0FMRyBpcyB0aGUgZXJyb3IgdGhhdCByZXN1bHRzIGZyb20gb3VyIHRyYW5zbGF0aW9uCiAjIG9mIFBTQSBlcnJvcnMuIEluIHRoaXMgY2FzZSBNQkVEVExTX0VSUl9QS19UWVBFX01JU01BVENIIHdvdWxkIHByb2JhYmx5CiAjIGJlIG1vcmUgYXBwcm9wcmlhdGUuCiBQU0EgaW1wb3J0IGludG8gUFNBOiBvcGFxdWUgRUNDIHRvIHB1YmxpYywgZGlmZmVyZW50IGJpdHMgKGJhZCkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpQU0FfV0FOVF9BTEdfRUNEU0EKK2RlcGVuZHNfb246TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOlBTQV9XQU5UX0FMR19FQ0RTQQogcGtfaW1wb3J0X2ludG9fcHNhX29wYXF1ZTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkpOk1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0U6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkoTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSk6TUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMgKyA4OlBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0ggfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6TUJFRFRMU19FUlJfUEtfSU5WQUxJRF9BTEcKIAogUFNBIGltcG9ydCBpbnRvIFBTQTogb3BhcXVlIEVDQyB0byBwdWJsaWMsIGRpZmZlcmVudCBmYW1pbHkgKGJhZCkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0hBVkVfVFdPX0ZBTUlMSUVTOlBTQV9XQU5UX0FMR19FQ0RTQQorZGVwZW5kc19vbjpNQkVEVExTX1RFU1RfUFNBX0VDQ19IQVZFX1RXT19GQU1JTElFUzpQU0FfV0FOVF9BTEdfRUNEU0EKIHBrX2ltcG9ydF9pbnRvX3BzYV9vcGFxdWU6UFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6UFNBX0tFWV9UWVBFX0VDQ19QVUJMSUNfS0VZKE1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfRkFNSUxZKTpNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUzpQU0FfS0VZX1VTQUdFX0NPUFkgfCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOjA6TUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSAogCiBDb3B5IGZyb20gUFNBOiB1c2Ugd3JvbmcgcGFyYW1ldGVycwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGsuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9way5mdW5jdGlvbgppbmRleCA0NDJhMzYyLi5mMTk3ZDA0IDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9way5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9way5mdW5jdGlvbgpAQCAtMjEsMTcgKzIxLDEzIEBACiAjaW5jbHVkZSAicHNhL2NyeXB0by5oIgogI2luY2x1ZGUgIm1iZWR0bHMvcHNhX3V0aWwuaCIKIAorI2luY2x1ZGUgInBrd3JpdGUuaCIKKwogI2luY2x1ZGUgPHRlc3QvcHNhX2V4ZXJjaXNlX2tleS5oPgogCiAvKiBOZWVkZWQgZm9yIHRoZSBkZWZpbml0aW9uIG9mIE1CRURUTFNfUEtfV1JJVEVfUFVCS0VZX01BWF9TSVpFLiAqLwogI2luY2x1ZGUgInBrd3JpdGUuaCIKIAotLyogVXNlZCBmb3IgcHJvcGVybHkgc2l6aW5nIHRoZSBrZXkgYnVmZmVyIGluIHBrX2dlbmtleV9lYygpICovCi0jaW5jbHVkZSAicHNhX3V0aWxfaW50ZXJuYWwuaCIKLQotI2RlZmluZSBSU0FfS0VZX1NJWkUgICBNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTCi0jZGVmaW5lIFJTQV9LRVlfTEVOICAgKE1CRURUTFNfUlNBX0dFTl9LRVlfTUlOX0JJVFMvOCkKLQogI2lmIGRlZmluZWQoTUJFRFRMU19SU0FfQykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGRlZmluZWQoTUJFRFRMU19QS19SU0FfQUxUX1NVUFBPUlQpIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGRlZmluZWQoTUJFRFRMU19FQ0RTQV9DKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtNDQsOCArNDAsNyBAQAogICogLSBUaGUgYnVpbGQgaGFzIGJ1aWx0LWluIEVDQyBhbmQgRUNEU0Egc2lnbmF0dXJlLgogICovCiAjaWYgKGRlZmluZWQoTUJFRFRMU19QS19QQVJTRV9DKSAmJiBkZWZpbmVkKE1CRURUTFNfUEtfV1JJVEVfQykgJiYgXAotICAgICgoZGVmaW5lZChNQkVEVExTX1JTQV9DKSAmJiBkZWZpbmVkKE1CRURUTFNfR0VOUFJJTUUpKSB8fCBcCi0gICAgZGVmaW5lZChNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOKSkpIHx8IFwKKyAgICAoZGVmaW5lZChNQkVEVExTX1JTQV9DKSB8fCBkZWZpbmVkKE1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR04pKSkgfHwgXAogICAgIChkZWZpbmVkKE1CRURUTFNfRUNQX0MpICYmIGRlZmluZWQoTUJFRFRMU19QS19DQU5fRUNEU0FfU0lHTikpCiAjZGVmaW5lIE1CRURUTFNfVEVTVF9QS19QU0FfU0lHTgogI2VuZGlmCkBAIC02OSwxNCArNjQsMjIgQEAKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSBQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxCiAjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTIDE5MgogI2RlZmluZSBNQkVEVExTX1RFU1RfRUNQX0RQX09ORV9DVVJWRSBNQkVEVExTX0VDUF9EUF9TRUNQMTkyUjEKLSNlbGlmIGRlZmluZWQoUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjI0KQotI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZIFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEKLSNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMgMjI0Ci0jZGVmaW5lIE1CRURUTFNfVEVTVF9FQ1BfRFBfT05FX0NVUlZFIE1CRURUTFNfRUNQX0RQX1NFQ1AyMjRSMQogI2VsaWYgZGVmaW5lZChQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYpCiAjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkgUFNBX0VDQ19GQU1JTFlfU0VDUF9SMQogI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUyAyNTYKICNkZWZpbmUgTUJFRFRMU19URVNUX0VDUF9EUF9PTkVfQ1VSVkUgTUJFRFRMU19FQ1BfRFBfU0VDUDI1NlIxCisjZWxpZiBkZWZpbmVkKFBTQV9XQU5UX0VDQ19TRUNQX0sxXzE5MikKKyNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSBQU0FfRUNDX0ZBTUlMWV9TRUNQX0sxCisjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTIDE5MgorI2RlZmluZSBNQkVEVExTX1RFU1RfRUNQX0RQX09ORV9DVVJWRSBNQkVEVExTX0VDUF9EUF9TRUNQMTkySzEKKyNlbGlmIGRlZmluZWQoUFNBX1dBTlRfRUNDX1NFQ1BfSzFfMjU2KQorI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZIFBTQV9FQ0NfRkFNSUxZX1NFQ1BfSzEKKyNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMgMjU2CisjZGVmaW5lIE1CRURUTFNfVEVTVF9FQ1BfRFBfT05FX0NVUlZFIE1CRURUTFNfRUNQX0RQX1NFQ1AyNTZLMQorI2VsaWYgZGVmaW5lZChQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yMjQpCisjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkgUFNBX0VDQ19GQU1JTFlfU0VDUF9SMQorI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUyAyMjQKKyNkZWZpbmUgTUJFRFRMU19URVNUX0VDUF9EUF9PTkVfQ1VSVkUgTUJFRFRMU19FQ1BfRFBfU0VDUDIyNFIxCiAjZWxpZiBkZWZpbmVkKFBTQV9XQU5UX0VDQ19TRUNQX1IxXzM4NCkKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSBQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxCiAjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTIDM4NApAQCAtODUsMTggKzg4LDEwIEBACiAjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkgUFNBX0VDQ19GQU1JTFlfU0VDUF9SMQogI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUyA1MjEKICNkZWZpbmUgTUJFRFRMU19URVNUX0VDUF9EUF9PTkVfQ1VSVkUgTUJFRFRMU19FQ1BfRFBfU0VDUDUyMVIxCi0jZWxpZiBkZWZpbmVkKFBTQV9XQU5UX0VDQ19TRUNQX0sxXzE5MikKLSNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSBQU0FfRUNDX0ZBTUlMWV9TRUNQX0sxCi0jZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTIDE5MgotI2RlZmluZSBNQkVEVExTX1RFU1RfRUNQX0RQX09ORV9DVVJWRSBNQkVEVExTX0VDUF9EUF9TRUNQMTkySzEKICNlbGlmIGRlZmluZWQoUFNBX1dBTlRfRUNDX1NFQ1BfSzFfMjI0KQogI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZIFBTQV9FQ0NfRkFNSUxZX1NFQ1BfSzEKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMgMjI0CiAjZGVmaW5lIE1CRURUTFNfVEVTVF9FQ1BfRFBfT05FX0NVUlZFIE1CRURUTFNfRUNQX0RQX1NFQ1AyMjRLMQotI2VsaWYgZGVmaW5lZChQU0FfV0FOVF9FQ0NfU0VDUF9LMV8yNTYpCi0jZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkgUFNBX0VDQ19GQU1JTFlfU0VDUF9LMQotI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUyAyNTYKLSNkZWZpbmUgTUJFRFRMU19URVNUX0VDUF9EUF9PTkVfQ1VSVkUgTUJFRFRMU19FQ1BfRFBfU0VDUDI1NksxCiAjZWxpZiBkZWZpbmVkKFBTQV9XQU5UX0VDQ19CUkFJTlBPT0xfUF9SMV8yNTYpCiAjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9GQU1JTFkgUFNBX0VDQ19GQU1JTFlfQlJBSU5QT09MX1BfUjEKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMgMjU2CkBAIC0xMzMsNyArMTI4LDggQEAKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfQU5PVEhFUl9GQU1JTFkgUFNBX0VDQ19GQU1JTFlfU0VDUF9LMQogI2RlZmluZSBNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfQ1VSVkVfQklUUyAxOTIKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfSEFWRV9UV09fRkFNSUxJRVMKLSNlbGlmIGRlZmluZWQoUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2KSAmJiBkZWZpbmVkKFBTQV9XQU5UX0VDQ19TRUNQX0sxXzI1NikKKyNlbGlmIGRlZmluZWQoUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2KSAmJiBkZWZpbmVkKFBTQV9XQU5UX0VDQ19TRUNQX0sxXzI1NikgJiYgXAorICAgICFkZWZpbmVkKFBTQV9XQU5UX0VDQ19TRUNQX1IxXzE5MikKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0ZBTUlMWSBQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxCiAjZGVmaW5lIE1CRURUTFNfVEVTVF9QU0FfRUNDX0FOT1RIRVJfRkFNSUxZIFBTQV9FQ0NfRkFNSUxZX1NFQ1BfSzEKICNkZWZpbmUgTUJFRFRMU19URVNUX1BTQV9FQ0NfT05FX0NVUlZFX0JJVFMgMjU2CkBAIC0xODUsMTIzICsxODEsMTkwIEBACiAjZGVmaW5lIE1CRURUTFNfTURfQUxHX0ZPUl9URVNUICAgICAgICAgTUJFRFRMU19NRF9TSEE1MTIKICNlbmRpZgogCi0jaWYgZGVmaW5lZChNQkVEVExTX1BLX1VTRV9QU0FfRUNfREFUQSkKLXN0YXRpYyBpbnQgcGtfZ2Vua2V5X2VjKG1iZWR0bHNfcGtfY29udGV4dCAqcGssIG1iZWR0bHNfZWNwX2dyb3VwX2lkIGdycF9pZCkKKyNpbmNsdWRlIDwuLi9zcmMvdGVzdF9rZXlzLmg+CisKKy8qIERlZmluZSBhbiBSU0Ega2V5IHNpemUgd2Uga25vdyBpdCdzIHByZXNlbnQgaW4gcHJlZGVmaW5lZF9rZXlbXSBhcnJheS4gKi8KKyNkZWZpbmUgUlNBX0tFWV9TSVpFICAgMTAyNAorI2RlZmluZSBSU0FfS0VZX0xFTiAgIChSU0FfS0VZX1NJWkUvOCkKKworc3RhdGljIGludCBnZXRfcHJlZGVmaW5lZF9rZXlfZGF0YShpbnQgaXNfZWMsIGludCBncm91cF9pZF9vcl9rZXliaXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICoqa2V5LCBzaXplX3QgKmtleV9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKipwdWJfa2V5LCBzaXplX3QgKnB1Yl9rZXlfbGVuKQogewotICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7Ci0gICAgcHNhX2tleV9hdHRyaWJ1dGVzX3Qga2V5X2F0dHIgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKLSAgICBzaXplX3QgY3VydmVfYml0czsKLSAgICBwc2FfZWNjX2ZhbWlseV90IGN1cnZlID0gbWJlZHRsc19lY2NfZ3JvdXBfdG9fcHNhKGdycF9pZCwgJmN1cnZlX2JpdHMpOwotICAgIGludCByZXQ7CisgICAgc2l6ZV90IGk7CisgICAgc3RydWN0IHByZWRlZmluZWRfa2V5X2VsZW1lbnQgKnByZWRlZmluZWRfa2V5ID0gTlVMTDsKIAotICAgIGlmIChjdXJ2ZSA9PSAwKSB7Ci0gICAgICAgIHJldHVybiBNQkVEVExTX0VSUl9QS19CQURfSU5QVVRfREFUQTsKLSAgICB9Ci0KLSAgICBwc2Ffc2V0X2tleV90eXBlKCZrZXlfYXR0ciwgUFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihjdXJ2ZSkpOwotICAgIHBzYV9zZXRfa2V5X2JpdHMoJmtleV9hdHRyLCBjdXJ2ZV9iaXRzKTsKLSAgICBwc2Ffa2V5X3VzYWdlX3QgdXNhZ2UgPSBQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfQ09QWTsKLSAgICBwc2FfYWxnb3JpdGhtX3Qgc2lnbl9hbGcgPSAwOwotICAgIHBzYV9hbGdvcml0aG1fdCBkZXJpdmVfYWxnID0gMDsKLSAgICBpZiAobWJlZHRsc19wa19nZXRfdHlwZShwaykgIT0gTUJFRFRMU19QS19FQ0RTQSkgewotICAgICAgICB1c2FnZSB8PSBQU0FfS0VZX1VTQUdFX0RFUklWRTsKLSAgICAgICAgZGVyaXZlX2FsZyA9IFBTQV9BTEdfRUNESDsKLSAgICB9Ci0gICAgaWYgKG1iZWR0bHNfcGtfZ2V0X3R5cGUocGspICE9IE1CRURUTFNfUEtfRUNLRVlfREggJiYKLSAgICAgICAgY3VydmUgIT0gUFNBX0VDQ19GQU1JTFlfTU9OVEdPTUVSWSkgewotICAgICAgICB1c2FnZSB8PSBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9NRVNTQUdFOwotI2lmIGRlZmluZWQoTUJFRFRMU19FQ0RTQV9ERVRFUk1JTklTVElDKQotICAgICAgICBzaWduX2FsZyA9IFBTQV9BTEdfREVURVJNSU5JU1RJQ19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTsKLSNlbHNlCi0gICAgICAgIHNpZ25fYWxnID0gUFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTsKLSNlbmRpZgotICAgIH0KLSAgICBpZiAoZGVyaXZlX2FsZyAhPSAwKSB7Ci0gICAgICAgIHBzYV9zZXRfa2V5X2FsZ29yaXRobSgma2V5X2F0dHIsIGRlcml2ZV9hbGcpOwotICAgICAgICBpZiAoc2lnbl9hbGcgIT0gMCkgewotICAgICAgICAgICAgcHNhX3NldF9rZXlfZW5yb2xsbWVudF9hbGdvcml0aG0oJmtleV9hdHRyLCBzaWduX2FsZyk7CisgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX0xFTkdUSChwcmVkZWZpbmVkX2tleXMpOyBpKyspIHsKKyAgICAgICAgaWYgKGlzX2VjKSB7CisgICAgICAgICAgICBpZiAoZ3JvdXBfaWRfb3Jfa2V5Yml0cyA9PSBwcmVkZWZpbmVkX2tleXNbaV0uZ3JvdXBfaWQpIHsKKyAgICAgICAgICAgICAgICBwcmVkZWZpbmVkX2tleSA9ICZwcmVkZWZpbmVkX2tleXNbaV07CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoZ3JvdXBfaWRfb3Jfa2V5Yml0cyA9PSBwcmVkZWZpbmVkX2tleXNbaV0ua2V5Yml0cykgeworICAgICAgICAgICAgcHJlZGVmaW5lZF9rZXkgPSAmcHJlZGVmaW5lZF9rZXlzW2ldOwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcHNhX3NldF9rZXlfYWxnb3JpdGhtKCZrZXlfYXR0ciwgc2lnbl9hbGcpOwotICAgIH0KLSAgICBwc2Ffc2V0X2tleV91c2FnZV9mbGFncygma2V5X2F0dHIsIHVzYWdlKTsKLQotICAgIHN0YXR1cyA9IHBzYV9nZW5lcmF0ZV9rZXkoJmtleV9hdHRyLCAmcGstPnByaXZfaWQpOwotICAgIGlmIChzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpIHsKLSAgICAgICAgcmV0dXJuIE1CRURUTFNfRVJSX1BLX0ZFQVRVUkVfVU5BVkFJTEFCTEU7CiAgICAgfQogCi0gICAgc3RhdHVzID0gcHNhX2V4cG9ydF9wdWJsaWNfa2V5KHBrLT5wcml2X2lkLCBway0+cHViX3Jhdywgc2l6ZW9mKHBrLT5wdWJfcmF3KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBrLT5wdWJfcmF3X2xlbik7Ci0gICAgaWYgKHN0YXR1cyAhPSBQU0FfU1VDQ0VTUykgewotICAgICAgICByZXQgPSBNQkVEVExTX0VSUl9QS19GRUFUVVJFX1VOQVZBSUxBQkxFOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotCi0gICAgcGstPmVjX2ZhbWlseSA9IGN1cnZlOwotICAgIHBrLT5lY19iaXRzID0gY3VydmVfYml0czsKLQotICAgIHJldHVybiAwOwotCi1leGl0OgotICAgIHN0YXR1cyA9IHBzYV9kZXN0cm95X2tleShway0+cHJpdl9pZCk7Ci0gICAgcmV0dXJuIChyZXQgIT0gMCkgPyByZXQgOiBwc2FfcGtfc3RhdHVzX3RvX21iZWR0bHMoc3RhdHVzKTsKLX0KLSNlbmRpZiAvKiBNQkVEVExTX1BLX1VTRV9QU0FfRUNfREFUQSAqLwotCi0vKiogR2VuZXJhdGUgYSBrZXkgb2YgdGhlIGRlc2lyZWQgdHlwZS4KLSAqCi0gKiBccGFyYW0gcGsgICAgICAgICAgICAgICBUaGUgUEsgb2JqZWN0IHRvIGZpbGwuIEl0IG11c3QgaGF2ZSBiZWVuIGluaXRpYWxpemVkCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIG1iZWR0bHNfcGtfc2V0dXAoKS4KLSAqIFxwYXJhbSBjdXJ2ZV9vcl9rZXliaXRzIC0gRm9yIFJTQSBrZXlzLCB0aGUga2V5IHNpemUgaW4gYml0cy4KLSAqICAgICAgICAgICAgICAgICAgICAgICAgIC0gRm9yIEVDIGtleXMsIHRoZSBjdXJ2ZSAoXGMgTUJFRFRMU19FQ1BfRFBfeHh4KS4KLSAqCi0gKiBccmV0dXJuICAgICAgICAgICAgICAgICBUaGUgc3RhdHVzIGZyb20gdGhlIHVuZGVybHlpbmcgdHlwZS1zcGVjaWZpYyBrZXkKLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRpb24gZnVuY3Rpb24uCi0gKiBccmV0dXJuICAgICAgICAgICAgICAgICAtMSBpZiB0aGUga2V5IHR5cGUgaXMgbm90IHJlY29nbml6ZWQuCi0gKi8KLXN0YXRpYyBpbnQgcGtfZ2Vua2V5KG1iZWR0bHNfcGtfY29udGV4dCAqcGssIGludCBjdXJ2ZV9vcl9rZXliaXRzKQotewotICAgICh2b2lkKSBwazsKLSAgICAodm9pZCkgY3VydmVfb3Jfa2V5Yml0czsKLQotI2lmIGRlZmluZWQoTUJFRFRMU19SU0FfQykgJiYgZGVmaW5lZChNQkVEVExTX0dFTlBSSU1FKQotICAgIGlmIChtYmVkdGxzX3BrX2dldF90eXBlKHBrKSA9PSBNQkVEVExTX1BLX1JTQSkgewotICAgICAgICByZXR1cm4gbWJlZHRsc19yc2FfZ2VuX2tleShtYmVkdGxzX3BrX3JzYSgqcGspLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3Rlc3Rfcm5kX3N0ZF9yYW5kLCBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJ2ZV9vcl9rZXliaXRzLCAzKTsKLSAgICB9Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKE1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUykKLSAgICBpZiAobWJlZHRsc19wa19nZXRfdHlwZShwaykgPT0gTUJFRFRMU19QS19FQ0tFWSB8fAotICAgICAgICBtYmVkdGxzX3BrX2dldF90eXBlKHBrKSA9PSBNQkVEVExTX1BLX0VDS0VZX0RIIHx8Ci0gICAgICAgIG1iZWR0bHNfcGtfZ2V0X3R5cGUocGspID09IE1CRURUTFNfUEtfRUNEU0EpIHsKLSAgICAgICAgaW50IHJldDsKLQotI2lmIGRlZmluZWQoTUJFRFRMU19QS19VU0VfUFNBX0VDX0RBVEEpCi0gICAgICAgIHJldCA9IHBrX2dlbmtleV9lYyhwaywgY3VydmVfb3Jfa2V5Yml0cyk7Ci0gICAgICAgIGlmIChyZXQgIT0gMCkgewotICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICBpZiAocHJlZGVmaW5lZF9rZXkgIT0gTlVMTCkgeworICAgICAgICAqa2V5ID0gcHJlZGVmaW5lZF9rZXktPnByaXZfa2V5OworICAgICAgICAqa2V5X2xlbiA9IHByZWRlZmluZWRfa2V5LT5wcml2X2tleV9sZW47CisgICAgICAgIGlmIChwdWJfa2V5ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICpwdWJfa2V5ID0gcHJlZGVmaW5lZF9rZXktPnB1Yl9rZXk7CisgICAgICAgICAgICAqcHViX2tleV9sZW4gPSBwcmVkZWZpbmVkX2tleS0+cHViX2tleV9sZW47CiAgICAgICAgIH0KLQogICAgICAgICByZXR1cm4gMDsKLSNlbHNlCi0gICAgICAgIHJldCA9IG1iZWR0bHNfZWNwX2dyb3VwX2xvYWQoJm1iZWR0bHNfcGtfZWNfcncoKnBrKS0+Z3JwLCBjdXJ2ZV9vcl9rZXliaXRzKTsKLSAgICAgICAgaWYgKHJldCAhPSAwKSB7Ci0gICAgICAgICAgICByZXR1cm4gcmV0OwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBtYmVkdGxzX2VjcF9nZW5fa2V5cGFpcigmbWJlZHRsc19wa19lY19ydygqcGspLT5ncnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWJlZHRsc19wa19lY19ydygqcGspLT5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1iZWR0bHNfcGtfZWNfcncoKnBrKS0+USwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfdGVzdF9ybmRfc3RkX3JhbmQsIE5VTEwpOwotI2VuZGlmIC8qIE1CRURUTFNfUEtfVVNFX1BTQV9FQ19EQVRBICovCi0KICAgICB9Ci0jZW5kaWYgLyogTUJFRFRMU19QS19IQVZFX0VDQ19LRVlTICovCi0gICAgcmV0dXJuIC0xOworCisgICAgVEVTVF9GQUlMKCJVbnN1cHBvcnRlZCBrZXkiKTsKKyAgICAvKiAiZXhpdCIgbGFiZWwgaXMgdG8gbWFrZSB0aGUgY29tcGlsZXIgaGFwcHkuICovCitleGl0OgorICAgIHJldHVybiBNQkVEVExTX0VSUl9QS19GRUFUVVJFX1VOQVZBSUxBQkxFOwogfQogCiAjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9DUllQVE9fQykKK3N0YXRpYyBwc2Ffc3RhdHVzX3QgcGtfcHNhX2ltcG9ydF9rZXkoY29uc3QgdW5zaWduZWQgY2hhciAqa2V5X2RhdGEsIHNpemVfdCBrZXlfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3R5cGVfdCB0eXBlLCBwc2Ffa2V5X3VzYWdlX3QgdXNhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9hbGdvcml0aG1fdCBhbGcsIG1iZWR0bHNfc3ZjX2tleV9pZF90ICprZXkpCit7CisgICAgcHNhX2tleV9hdHRyaWJ1dGVzX3QgYXR0cmlidXRlcyA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOworICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7CisKKyAgICAqa2V5ID0gTUJFRFRMU19TVkNfS0VZX0lEX0lOSVQ7CisKKyAgICAvKiBOb3RlOiBwc2FfaW1wb3J0X2tleSgpIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lcyB0aGUga2V5J3MgYml0IGxlbmd0aAorICAgICAqIGZyb20gdGhlIHByb3ZpZGVkIGtleSBkYXRhLiBUaGF0J3Mgd2h5IHBzYV9zZXRfa2V5X2JpdHMoKSBpcyBub3QgdXNlZCBiZWxvdy4gKi8KKyAgICBwc2Ffc2V0X2tleV91c2FnZV9mbGFncygmYXR0cmlidXRlcywgdXNhZ2UpOworICAgIHBzYV9zZXRfa2V5X2FsZ29yaXRobSgmYXR0cmlidXRlcywgYWxnKTsKKyAgICBwc2Ffc2V0X2tleV90eXBlKCZhdHRyaWJ1dGVzLCB0eXBlKTsKKyAgICBzdGF0dXMgPSBwc2FfaW1wb3J0X2tleSgmYXR0cmlidXRlcywga2V5X2RhdGEsIGtleV9sZW4sIGtleSk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorI2VuZGlmIC8qIE1CRURUTFNfUFNBX0NSWVBUT19DICovCisKKy8qKiBTZXR1cCB0aGUgcHJvdmlkZWQgUEsgY29udGV4dC4KKyAqCisgKiBQcmVkZWZpbmVkIGtleXMgdXNlZCBmb3IgdGhlIHNldHVwIGFyZSB0YWtlbiBmcm9tICJ0ZXN0L3NyYy90ZXN0X2tleXMuaCIKKyAqIHdoaWNoIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIHVzaW5nICJmcmFtZXdvcmsvc2NyaXB0cy9nZW5lcmF0ZV90ZXN0X2tleXMucHkiLgorICoKKyAqIFxwYXJhbSBwayAgICAgICAgICAgICAgIFRoZSBQSyBvYmplY3QgdG8gZmlsbC4gSXQgbXVzdCAgaGF2ZSBiZWVuIGluaXRpYWxpemVkCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAobWJlZHRsc19wa19pbml0KCkpLCBidXQgbm90IHNldHVwIChtYmVkdGxzX3BrX3NldHVwKCkpLgorICogXHBhcmFtIHBrX3R5cGUgICAgICAgICAgbWJlZHRsc19wa190eXBlX3QgdG8gdXNlIGluIHRoZSBQSyBjb250ZXh0LgorICogXHBhcmFtIGN1cnZlX29yX2tleWJpdHMgLSBGb3IgUlNBIGtleXMsIHRoZSBrZXkgc2l6ZSBpbiBiaXRzLgorICogICAgICAgICAgICAgICAgICAgICAgICAgLSBGb3IgRUMga2V5cywgdGhlIGN1cnZlIChcYyBNQkVEVExTX0VDUF9EUF94eHgpLgorICoKKyAqIFxyZXR1cm4gICAgICAgICAgICAgICAgIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIHZhbHVlIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludCBwa19zZXR1cChtYmVkdGxzX3BrX2NvbnRleHQgKnBrLCBtYmVkdGxzX3BrX3R5cGVfdCBwa190eXBlLCBpbnQgY3VydmVfb3Jfa2V5Yml0cykKK3sKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICprZXlfZGF0YSA9IE5VTEw7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcHViX2tleV9kYXRhID0gTlVMTDsKKyAgICBzaXplX3Qga2V5X2RhdGFfbGVuID0gMDsKKyAgICBzaXplX3QgcHViX2tleV9kYXRhX2xlbiA9IDA7CisgICAgaW50IHJldCA9IE1CRURUTFNfRVJSX1BLX0JBRF9JTlBVVF9EQVRBOworCisgICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX3NldHVwKHBrLCBtYmVkdGxzX3BrX2luZm9fZnJvbV90eXBlKHBrX3R5cGUpKSwgMCk7CisKKyAgICBpZiAocGtfdHlwZSA9PSBNQkVEVExTX1BLX1JTQSkgeworI2lmIGRlZmluZWQoTUJFRFRMU19SU0FfQykKKyAgICAgICAgVEVTVF9FUVVBTChnZXRfcHJlZGVmaW5lZF9rZXlfZGF0YSgwLCBjdXJ2ZV9vcl9rZXliaXRzLCAma2V5X2RhdGEsICZrZXlfZGF0YV9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCksIDApOworICAgICAgICBURVNUX0VRVUFMKG1iZWR0bHNfcnNhX3BhcnNlX2tleShtYmVkdGxzX3BrX3JzYSgqcGspLCBrZXlfZGF0YSwga2V5X2RhdGFfbGVuKSwgMCk7CisjZWxzZSAvKiBNQkVEVExTX1JTQV9DICovCisgICAgICAgIFRFU1RfRkFJTCgiUlNBIGtleXMgbm90IHN1cHBvcnRlZC4iKTsKKyNlbmRpZiAvKiBNQkVEVExTX1JTQV9DICovCisgICAgfSBlbHNlIHsKKyAgICAgICAgVEVTVF9FUVVBTChnZXRfcHJlZGVmaW5lZF9rZXlfZGF0YSgxLCBjdXJ2ZV9vcl9rZXliaXRzLCAma2V5X2RhdGEsICZrZXlfZGF0YV9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnB1Yl9rZXlfZGF0YSwgJnB1Yl9rZXlfZGF0YV9sZW4pLCAwKTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfUEtfVVNFX1BTQV9FQ19EQVRBKQorICAgICAgICBway0+ZWNfZmFtaWx5ID0gbWJlZHRsc19lY2NfZ3JvdXBfdG9fcHNhKGN1cnZlX29yX2tleWJpdHMsICZway0+ZWNfYml0cyk7CisgICAgICAgIFRFU1RfRVFVQUwocGtfcHNhX2ltcG9ydF9rZXkoa2V5X2RhdGEsIGtleV9kYXRhX2xlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKHBrLT5lY19mYW1pbHkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0tFWV9VU0FHRV9TSUdOX01FU1NBR0UgfCBQU0FfS0VZX1VTQUdFX1ZFUklGWV9NRVNTQUdFIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfS0VZX1VTQUdFX0RFUklWRSB8IFBTQV9LRVlfVVNBR0VfQ09QWSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0tFWV9VU0FHRV9FWFBPUlQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19QS19QU0FfQUxHX0VDRFNBX01BWUJFX0RFVChQU0FfQUxHX0FOWV9IQVNIKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcGstPnByaXZfaWQpLCAwKTsKKyAgICAgICAgbWVtY3B5KHBrLT5wdWJfcmF3LCBwdWJfa2V5X2RhdGEsIHB1Yl9rZXlfZGF0YV9sZW4pOworICAgICAgICBway0+cHViX3Jhd19sZW4gPSBwdWJfa2V5X2RhdGFfbGVuOworI2VsaWYgZGVmaW5lZChNQkVEVExTX0VDUF9DKQorICAgICAgICBURVNUX0VRVUFMKG1iZWR0bHNfZWNwX3JlYWRfa2V5KGN1cnZlX29yX2tleWJpdHMsIG1iZWR0bHNfcGtfZWNfcncoKnBrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlfZGF0YSwga2V5X2RhdGFfbGVuKSwgMCk7CisgICAgICAgIFRFU1RfRVFVQUwobWJlZHRsc19lY3BfcG9pbnRfcmVhZF9iaW5hcnkoJihtYmVkdGxzX3BrX2VjX3J3KCpwayktPmdycCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJihtYmVkdGxzX3BrX2VjX3J3KCpwayktPlEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Yl9rZXlfZGF0YSwgcHViX2tleV9kYXRhX2xlbiksIDApOworI2Vsc2UgLyogTUJFRFRMU19QS19VU0VfUFNBX0VDX0RBVEEgfHwgTUJFRFRMU19FQ1BfQyAqLworICAgICAgICBURVNUX0ZBSUwoIkVDIGtleXMgbm90IHN1cHBvcnRlZC4iKTsKKyNlbmRpZiAvKiBNQkVEVExTX1BLX1VTRV9QU0FfRUNfREFUQSB8fCBNQkVEVExTX0VDUF9DICovCisgICAgfQorICAgIC8qIE92ZXJyaWRlIHBrX2luZm8uICovCisgICAgcGstPnBrX2luZm8gPSBtYmVkdGxzX3BrX2luZm9fZnJvbV90eXBlKHBrX3R5cGUpOworICAgIHJldCA9IDA7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldDsKK30KKworI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0MpCisvKiogQ3JlYXRlIGEgUFNBIGtleSBvZiB0aGUgZGVzaXJlZCB0eXBlIGFuZCBwcm9wZXJ0aWVzLgorICoKKyAqIC0gRm9yIFJTQSBhbmQgRUMga2V5cyBwcmVkZWZpbmVkIGtleSBkYXRhIGlzIHVzZWQgKGFzIGluIHRoZSBwa19zZXR1cCgpIGFib3ZlKS4KKyAqIC0gT3RoZXIga2V5IHR5cGVzIChleDogREgpIGFyZSBnZW5lcmF0ZWQgYXQgcnVudGltZS4KKyAqCisgKiBccGFyYW0gdHlwZSAgICAgICAgICAgICAgICAgIFBTQSBrZXkgdHlwZS4KKyAqIFxwYXJhbSBiaXRzICAgICAgICAgICAgICAgICAgUFNBIGtleSBiaXQgc2l6ZS4KKyAqIFxwYXJhbSB1c2FnZSAgICAgICAgICAgICAgICAgUFNBIGtleSB1c2FnZSBmbGFncy4KKyAqIFxwYXJhbSBhbGcgICAgICAgICAgICAgICAgICAgUFNBIGtleSBwcmltYXJ5IGFsZ29yaXRobS4KKyAqIFxwYXJhbSBlbnJvbGxtZW50X2FsZyAgICAgICAgUFNBIGtleSBlbnJvbGxtZW50IGFsZ29yaXRobS4KKyAqIFxwYXJhbSBwZXJzaXN0ZW50X2tleV9pZCAgICAgUFNBIGtleSBJRCBmb3IgcGVyc2lzdGVudCBrZXlzLiBTZXQgdG8gUFNBX0tFWV9JRF9OVUxMCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB2b2xhdGlsZSBrZXlzLgorICogXHBhcmFtW291dF0ga2V5ICAgICAgICAgICAgICBJZGVudGlmaWVyIG9mIHRoZSAiZ2VuZXJhdGVkIiAoYWN0dWFsbHkgaW1wb3J0ZWQpIFBTQSBrZXkuCisgKi8KK3N0YXRpYyBwc2Ffc3RhdHVzX3QgcGtfcHNhX3NldHVwKHBzYV9rZXlfdHlwZV90IHR5cGUsIHNpemVfdCBiaXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV91c2FnZV90IHVzYWdlLCBwc2FfYWxnb3JpdGhtX3QgYWxnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2FsZ29yaXRobV90IGVucm9sbG1lbnRfYWxnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgcGVyc2lzdGVudF9rZXlfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCAqa2V5KQoreworICAgIHBzYV9rZXlfYXR0cmlidXRlc190IGF0dHJpYnV0ZXMgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKKyAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzID0gUFNBX0VSUk9SX0dFTkVSSUNfRVJST1I7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5X2RhdGEgPSBOVUxMOworICAgIHNpemVfdCBrZXlfZGF0YV9zaXplID0gMDsKKworICAgICprZXkgPSBNQkVEVExTX1NWQ19LRVlfSURfSU5JVDsKKyAgICBwc2Ffc2V0X2tleV91c2FnZV9mbGFncygmYXR0cmlidXRlcywgdXNhZ2UpOworICAgIHBzYV9zZXRfa2V5X2FsZ29yaXRobSgmYXR0cmlidXRlcywgYWxnKTsKKyAgICBwc2Ffc2V0X2tleV9lbnJvbGxtZW50X2FsZ29yaXRobSgmYXR0cmlidXRlcywgZW5yb2xsbWVudF9hbGcpOworICAgIHBzYV9zZXRfa2V5X3R5cGUoJmF0dHJpYnV0ZXMsIHR5cGUpOworICAgIHBzYV9zZXRfa2V5X2JpdHMoJmF0dHJpYnV0ZXMsIGJpdHMpOworICAgIGlmICghbWJlZHRsc19zdmNfa2V5X2lkX2lzX251bGwocGVyc2lzdGVudF9rZXlfaWQpKSB7CisgICAgICAgIHBzYV9zZXRfa2V5X2lkKCZhdHRyaWJ1dGVzLCBwZXJzaXN0ZW50X2tleV9pZCk7CisgICAgfQorCisgICAgLyogRm9yIEVDIGFuZCBSU0Ega2V5cyB3ZSB1c2UgcHJlZGVmaW5lZCBrZXlzIGluIG9yZGVyIHRvOgorICAgICAqIC0gc3BlZWQgdXAgdGVzdGluZyBhbmQKKyAgICAgKiAtIGVhc2UgcmVxdWlyZW1lbnRzL2RlcGVuZGVuY2llcyBvbiB0ZXN0IGNhc2VzLgorICAgICAqIEZvciBvdGhlciBrZXlzIChleDogREgpIHBzYV9nZW5lcmF0ZV9rZXkoKSBpcyB1c2VkIGluc3RlYWQuICovCisgICAgaWYgKFBTQV9LRVlfVFlQRV9JU19SU0EodHlwZSkpIHsKKyAgICAgICAgVEVTVF9FUVVBTChnZXRfcHJlZGVmaW5lZF9rZXlfZGF0YSgwLCBiaXRzLCAma2V5X2RhdGEsICZrZXlfZGF0YV9zaXplLCBOVUxMLCAwKSwgMCk7CisgICAgfSBlbHNlIGlmIChQU0FfS0VZX1RZUEVfSVNfRUNDKHR5cGUpKSB7CisjaWYgZGVmaW5lZChQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfUFVCTElDX0tFWSkKKyAgICAgICAgbWJlZHRsc19lY3BfZ3JvdXBfaWQgZ3JwX2lkOworICAgICAgICBncnBfaWQgPSBtYmVkdGxzX2VjY19ncm91cF9mcm9tX3BzYShQU0FfS0VZX1RZUEVfRUNDX0dFVF9GQU1JTFkodHlwZSksIGJpdHMpOworICAgICAgICBURVNUX0VRVUFMKGdldF9wcmVkZWZpbmVkX2tleV9kYXRhKDEsIGdycF9pZCwgJmtleV9kYXRhLCAma2V5X2RhdGFfc2l6ZSwgTlVMTCwgMCksIDApOworI2Vsc2UgLyogUFNBX1dBTlRfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkgKi8KKyAgICAgICAgVEVTVF9GQUlMKCJFQyBrZXlzIGFyZSBub3Qgc3VwcG9ydGVkIik7CisjZW5kaWYgLyogUFNBX1dBTlRfS0VZX1RZUEVfRUNDX1BVQkxJQ19LRVkgKi8KKyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gcHNhX2dlbmVyYXRlX2tleSgmYXR0cmlidXRlcywga2V5KTsKKyAgICB9CisKKyAgICBzdGF0dXMgPSBwc2FfaW1wb3J0X2tleSgmYXR0cmlidXRlcywga2V5X2RhdGEsIGtleV9kYXRhX3NpemUsIGtleSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHN0YXR1czsKK30KKwogc3RhdGljIHBzYV9rZXlfdXNhZ2VfdCBwa19nZXRfcHNhX2F0dHJpYnV0ZXNfaW1wbGllZF91c2FnZSgKICAgICBwc2Ffa2V5X3VzYWdlX3QgZXhwZWN0ZWRfdXNhZ2UpCiB7CkBAIC00MDQsMTkgKzQ2NywxOSBAQAogfQogI2VuZGlmIC8qIE1CRURUTFNfUFNBX0NSWVBUT19DICovCiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfUlNBX0MpCi1pbnQgbWJlZHRsc19yc2FfZGVjcnlwdF9mdW5jKHZvaWQgKmN0eCwgc2l6ZV90ICpvbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICppbnB1dCwgdW5zaWduZWQgY2hhciAqb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgb3V0cHV0X21heF9sZW4pCisjaWYgZGVmaW5lZChNQkVEVExTX1JTQV9DKSAmJiBkZWZpbmVkKE1CRURUTFNfUEtfUlNBX0FMVF9TVVBQT1JUKQorc3RhdGljIGludCBtYmVkdGxzX3JzYV9kZWNyeXB0X2Z1bmModm9pZCAqY3R4LCBzaXplX3QgKm9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICppbnB1dCwgdW5zaWduZWQgY2hhciAqb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG91dHB1dF9tYXhfbGVuKQogewogICAgIHJldHVybiBtYmVkdGxzX3JzYV9wa2NzMV9kZWNyeXB0KChtYmVkdGxzX3JzYV9jb250ZXh0ICopIGN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3Rlc3Rfcm5kX3N0ZF9yYW5kLCBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZW4sIGlucHV0LCBvdXRwdXQsIG91dHB1dF9tYXhfbGVuKTsKIH0KLWludCBtYmVkdGxzX3JzYV9zaWduX2Z1bmModm9pZCAqY3R4LAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKCpmX3JuZykodm9pZCAqLCB1bnNpZ25lZCBjaGFyICosIHNpemVfdCksIHZvaWQgKnBfcm5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX21kX3R5cGVfdCBtZF9hbGcsIHVuc2lnbmVkIGludCBoYXNobGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpoYXNoLCB1bnNpZ25lZCBjaGFyICpzaWcpCitzdGF0aWMgaW50IG1iZWR0bHNfcnNhX3NpZ25fZnVuYyh2b2lkICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKCpmX3JuZykodm9pZCAqLCB1bnNpZ25lZCBjaGFyICosIHNpemVfdCksIHZvaWQgKnBfcm5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19tZF90eXBlX3QgbWRfYWxnLCB1bnNpZ25lZCBpbnQgaGFzaGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmhhc2gsIHVuc2lnbmVkIGNoYXIgKnNpZykKIHsKICAgICAoKHZvaWQpIGZfcm5nKTsKICAgICAoKHZvaWQpIHBfcm5nKTsKQEAgLTQyNCwxMSArNDg3LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc190ZXN0X3JuZF9zdGRfcmFuZCwgTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZF9hbGcsIGhhc2hsZW4sIGhhc2gsIHNpZyk7CiB9Ci1zaXplX3QgbWJlZHRsc19yc2Ffa2V5X2xlbl9mdW5jKHZvaWQgKmN0eCkKK3N0YXRpYyBzaXplX3QgbWJlZHRsc19yc2Ffa2V5X2xlbl9mdW5jKHZvaWQgKmN0eCkKIHsKICAgICByZXR1cm4gKChjb25zdCBtYmVkdGxzX3JzYV9jb250ZXh0ICopIGN0eCktPmxlbjsKIH0KLSNlbmRpZiAvKiBNQkVEVExTX1JTQV9DICovCisjZW5kaWYgLyogTUJFRFRMU19SU0FfQyAmJiBNQkVEVExTX1BLX1JTQV9BTFRfU1VQUE9SVCAqLwogCiB0eXBlZGVmIGVudW0gewogICAgIC8qIFRoZSB2YWx1ZXMgYXJlIGNvbXBhdGlibGUgd2l0aCB0aGlua2luZyBvZiAiZnJvbSBwYWlyIiBhcyBhIGJvb2xlYW4uICovCkBAIC00NDMsMzIgKzUwNiwxOCBAQAogICAgIGlmIChwa190eXBlID09IE1CRURUTFNfUEtfTk9ORSkgewogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX3NldHVwKHBrLCBtYmVkdGxzX3BrX2luZm9fZnJvbV90eXBlKHBrX3R5cGUpKSwgMCk7CiAKICAgICBzd2l0Y2ggKHBrX3R5cGUpIHsKICNpZiBkZWZpbmVkKE1CRURUTFNfUlNBX0MpCiAgICAgICAgIGNhc2UgTUJFRFRMU19QS19SU0E6CiAgICAgICAgIHsKICAgICAgICAgICAgICpwc2FfdHlwZSA9IFBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI7Ci0gICAgICAgICAgICBtYmVkdGxzX3JzYV9jb250ZXh0ICpyc2EgPSBtYmVkdGxzX3BrX3JzYSgqcGspOwotICAgICAgICAgICAgaWYgKHdhbnRfcGFpcikgewotI2lmIGRlZmluZWQoTUJFRFRMU19HRU5QUklNRSkKLSAgICAgICAgICAgICAgICBURVNUX0VRVUFMKG1iZWR0bHNfcnNhX2dlbl9rZXkoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnNhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfdGVzdF9ybmRfc3RkX3JhbmQsIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19SU0FfR0VOX0tFWV9NSU5fQklUUywgNjU1MzcpLCAwKTsKLSNlbHNlCi0gICAgICAgICAgICAgICAgVEVTVF9GQUlMKCJJIGRvbid0IGtub3cgaG93IHRvIGNyZWF0ZSBhbiBSU0Ega2V5IHBhaXIgaW4gdGhpcyBjb25maWd1cmF0aW9uLiIpOwotI2VuZGlmCi0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgTltQU0FfQklUU19UT19CWVRFUyhNQkVEVExTX1JTQV9HRU5fS0VZX01JTl9CSVRTKV0gPSB7IDB4ZmYgfTsKLSAgICAgICAgICAgICAgICBOW3NpemVvZihOKSAtIDFdID0gMHgwMzsKLSAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIEVbMV0gPSB7IDB4MDMgfTsKLSAgICAgICAgICAgICAgICBURVNUX0VRVUFMKG1iZWR0bHNfcnNhX2ltcG9ydF9yYXcocnNhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOLCBzaXplb2YoTiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsIE5VTEwsIDAsIE5VTEwsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEUsIHNpemVvZihFKSksIDApOwotICAgICAgICAgICAgICAgIFRFU1RfRVFVQUwobWJlZHRsc19yc2FfY29tcGxldGUocnNhKSwgMCk7CisgICAgICAgICAgICBURVNUX0VRVUFMKHBrX3NldHVwKHBrLCBwa190eXBlLCBSU0FfS0VZX1NJWkUpLCAwKTsKKyAgICAgICAgICAgIGlmICghd2FudF9wYWlyKSB7CisgICAgICAgICAgICAgICAgbWJlZHRsc19yc2FfY29udGV4dCAqcnNhID0gbWJlZHRsc19wa19yc2EoKnBrKTsKKyAgICAgICAgICAgICAgICBtYmVkdGxzX21waV9mcmVlKCZyc2EtPkQpOworICAgICAgICAgICAgICAgIG1iZWR0bHNfbXBpX2ZyZWUoJnJzYS0+UCk7CisgICAgICAgICAgICAgICAgbWJlZHRsc19tcGlfZnJlZSgmcnNhLT5RKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC00ODIsNyArNTMxLDcgQEAKICAgICAgICAgICAgIG1iZWR0bHNfZWNwX2dyb3VwX2lkIGdycF9pZCA9IE1CRURUTFNfVEVTVF9FQ1BfRFBfT05FX0NVUlZFOwogICAgICAgICAgICAgc2l6ZV90IGJpdHM7CiAgICAgICAgICAgICAqcHNhX3R5cGUgPSBQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKG1iZWR0bHNfZWNjX2dyb3VwX3RvX3BzYShncnBfaWQsICZiaXRzKSk7Ci0gICAgICAgICAgICBURVNUX0VRVUFMKHBrX2dlbmtleShwaywgZ3JwX2lkKSwgMCk7CisgICAgICAgICAgICBURVNUX0VRVUFMKHBrX3NldHVwKHBrLCBwa190eXBlLCBncnBfaWQpLCAwKTsKICAgICAgICAgICAgIGlmICghd2FudF9wYWlyKSB7CiAjaWYgZGVmaW5lZChNQkVEVExTX1BLX1VTRV9QU0FfRUNfREFUQSkKICAgICAgICAgICAgICAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBwdWJfYXR0cmlidXRlcyA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOwpAQCAtNTE4LDcgKzU2Nyw3IEBACiBleGl0OgogICAgIHJldHVybiBNQkVEVExTX0VSUl9FUlJPUl9HRU5FUklDX0VSUk9SOwogfQotI2VuZGlmCisjZW5kaWYgLyogTUJFRFRMU19QU0FfQ1JZUFRPX0MgKi8KIAogI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX0MpCiAvKiBDcmVhdGUgYSBuZXcgUFNBIGtleSB3aGljaCB3aWxsIGNvbnRhaW4gb25seSB0aGUgcHVibGljIHBhcnQgb2YgdGhlIHByaXZhdGUKQEAgLTU2OSw3ICs2MTgsNyBAQAogCiAvKiBDcmVhdGUgYSBjb3B5IG9mIGEgUFNBIGtleSB3aXRoIHNhbWUgdXNhZ2UgYW5kIGFsZ29yaXRobSBwb2xpY3kgYW5kIGRlc3Ryb3kKICAqIHRoZSBvcmlnaW5hbCBvbmUuICovCi1tYmVkdGxzX3N2Y19rZXlfaWRfdCBwc2FfY29weV9hbmRfZGVzdHJveShtYmVkdGxzX3N2Y19rZXlfaWRfdCBvcmlnX2tleV9pZCkKK3N0YXRpYyBtYmVkdGxzX3N2Y19rZXlfaWRfdCBwc2FfY29weV9hbmRfZGVzdHJveShtYmVkdGxzX3N2Y19rZXlfaWRfdCBvcmlnX2tleV9pZCkKIHsKICAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBvcmlnX2F0dHIgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKICAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBuZXdfYXR0ciA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOwpAQCAtNTg3LDczICs2MzYsNiBAQAogICAgIHBzYV9yZXNldF9rZXlfYXR0cmlidXRlcygmbmV3X2F0dHIpOwogICAgIHJldHVybiBuZXdfa2V5X2lkOwogfQotCi1wc2Ffc3RhdHVzX3QgcGtfcHNhX2ltcG9ydF9rZXkodW5zaWduZWQgY2hhciAqa2V5X2RhdGEsIHNpemVfdCBrZXlfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfdHlwZV90IHR5cGUsIHBzYV9rZXlfdXNhZ2VfdCB1c2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2FfYWxnb3JpdGhtX3QgYWxnLCBtYmVkdGxzX3N2Y19rZXlfaWRfdCAqa2V5KQotewotICAgIHBzYV9rZXlfYXR0cmlidXRlc190IGF0dHJpYnV0ZXMgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKLSAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzOwotCi0gICAgKmtleSA9IE1CRURUTFNfU1ZDX0tFWV9JRF9JTklUOwotCi0gICAgLyogTm90ZTogcHNhX2ltcG9ydF9rZXkoKSBhdXRvbWF0aWNhbGx5IGRldGVybWluZXMgdGhlIGtleSdzIGJpdCBsZW5ndGgKLSAgICAgKiBmcm9tIHRoZSBwcm92aWRlZCBrZXkgZGF0YS4gVGhhdCdzIHdoeSBwc2Ffc2V0X2tleV9iaXRzKCkgaXMgbm90IHVzZWQgYmVsb3cuICovCi0gICAgcHNhX3NldF9rZXlfdXNhZ2VfZmxhZ3MoJmF0dHJpYnV0ZXMsIHVzYWdlKTsKLSAgICBwc2Ffc2V0X2tleV9hbGdvcml0aG0oJmF0dHJpYnV0ZXMsIGFsZyk7Ci0gICAgcHNhX3NldF9rZXlfdHlwZSgmYXR0cmlidXRlcywgdHlwZSk7Ci0gICAgc3RhdHVzID0gcHNhX2ltcG9ydF9rZXkoJmF0dHJpYnV0ZXMsIGtleV9kYXRhLCBrZXlfbGVuLCBrZXkpOwotCi0gICAgcmV0dXJuIHN0YXR1czsKLX0KLQotcHNhX3N0YXR1c190IHBrX3BzYV9nZW5rZXlfZ2VuZXJpYyhwc2Ffa2V5X3R5cGVfdCB0eXBlLCBzaXplX3QgYml0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV91c2FnZV90IHVzYWdlLCBwc2FfYWxnb3JpdGhtX3QgYWxnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCAqa2V5KQotewotICAgIHBzYV9rZXlfYXR0cmlidXRlc190IGF0dHJpYnV0ZXMgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKLSAgICBwc2Ffc3RhdHVzX3Qgc3RhdHVzOwotCi0gICAgKmtleSA9IE1CRURUTFNfU1ZDX0tFWV9JRF9JTklUOwotCi0gICAgcHNhX3NldF9rZXlfdXNhZ2VfZmxhZ3MoJmF0dHJpYnV0ZXMsIHVzYWdlKTsKLSAgICBwc2Ffc2V0X2tleV9hbGdvcml0aG0oJmF0dHJpYnV0ZXMsIGFsZyk7Ci0gICAgcHNhX3NldF9rZXlfdHlwZSgmYXR0cmlidXRlcywgdHlwZSk7Ci0gICAgcHNhX3NldF9rZXlfYml0cygmYXR0cmlidXRlcywgYml0cyk7Ci0gICAgc3RhdHVzID0gcHNhX2dlbmVyYXRlX2tleSgmYXR0cmlidXRlcywga2V5KTsKLQotICAgIHJldHVybiBzdGF0dXM7Ci19Ci0KLS8qCi0gKiBHZW5lcmF0ZSBhbiBFQ0Mga2V5IHVzaW5nIFBTQSBhbmQgcmV0dXJuIHRoZSBrZXkgaWRlbnRpZmllciBvZiB0aGF0IGtleSwKLSAqIG9yIDAgaWYgdGhlIGtleSBnZW5lcmF0aW9uIGZhaWxlZC4KLSAqIFRoZSBrZXkgdXNlcyBOSVNUIFAtMjU2IGFuZCBpcyB1c2FibGUgZm9yIHNpZ25pbmcgd2l0aCBTSEEtMjU2LgotICovCi1tYmVkdGxzX3N2Y19rZXlfaWRfdCBwa19wc2FfZ2Vua2V5X2VjYyh2b2lkKQotewotICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90IGtleSA9IE1CRURUTFNfU1ZDX0tFWV9JRF9JTklUOwotCi0gICAgcGtfcHNhX2dlbmtleV9nZW5lcmljKFBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSksIDI1NiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0gsIFBTQV9BTEdfRUNEU0EoUFNBX0FMR19TSEFfMjU2KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmtleSk7Ci0KLSAgICByZXR1cm4ga2V5OwotfQotCi0vKgotICogR2VuZXJhdGUgYW4gUlNBIGtleSB1c2luZyBQU0EgYW5kIHJldHVybiB0aGUga2V5IGlkZW50aWZpZXIgb2YgdGhhdCBrZXksCi0gKiBvciAwIGlmIHRoZSBrZXkgZ2VuZXJhdGlvbiBmYWlsZWQuCi0gKi8KLW1iZWR0bHNfc3ZjX2tleV9pZF90IHBrX3BzYV9nZW5rZXlfcnNhKHZvaWQpCi17Ci0gICAgbWJlZHRsc19zdmNfa2V5X2lkX3Qga2V5ID0gTUJFRFRMU19TVkNfS0VZX0lEX0lOSVQ7Ci0KLSAgICBwa19wc2FfZ2Vua2V5X2dlbmVyaWMoUFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUiwgMTAyNCwgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR05fUkFXLCAma2V5KTsKLQotICAgIHJldHVybiBrZXk7Ci19CiAjZW5kaWYgLyogTUJFRFRMU19QU0FfQ1JZUFRPX0MgKi8KIC8qIEVORF9IRUFERVIgKi8KIApAQCAtNjg4LDExICs2NzAsMTUgQEAKICAgICBtYmVkdGxzX3BrX2luaXQoJnBrKTsKIAogICAgIGlmIChrZXlfaXNfcnNhKSB7Ci0gICAgICAgIGJpdGxlbiA9IDEwMjQ7IC8qIGhhcmRjb2RlZCBpbiBnZW5rZXkoKSAqLwotICAgICAgICBrZXkgPSBwa19wc2FfZ2Vua2V5X3JzYSgpOworICAgICAgICBiaXRsZW4gPSAxMDI0OworICAgICAgICBQU0FfQVNTRVJUKHBrX3BzYV9zZXR1cChQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSLCAxMDI0LCBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTl9SQVcsIFBTQV9BTEdfTk9ORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19TVkNfS0VZX0lEX0lOSVQsICZrZXkpKTsKICAgICB9IGVsc2UgewotICAgICAgICBiaXRsZW4gPSAyNTY7IC8qIGhhcmRjb2RlZCBpbiBnZW5rZXkoKSAqLwotICAgICAgICBrZXkgPSBwa19wc2FfZ2Vua2V5X2VjYygpOworICAgICAgICBiaXRsZW4gPSAyNTY7CisgICAgICAgIFBTQV9BU1NFUlQocGtfcHNhX3NldHVwKFBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSksIDI1NiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0gsIFBTQV9BTEdfRUNEU0EoUFNBX0FMR19TSEFfMjU2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0FMR19OT05FLCBNQkVEVExTX1NWQ19LRVlfSURfSU5JVCwgJmtleSkpOwogICAgIH0KICAgICBpZiAobWJlZHRsc19zdmNfa2V5X2lkX2lzX251bGwoa2V5KSkgewogICAgICAgICBnb3RvIGV4aXQ7CkBAIC03NzcsMTYgKzc2Myw4IEBACiAgICAgVVNFX1BTQV9JTklUKCk7CiAKICAgICBpZiAob3BhcXVlX2tleSA9PSAxKSB7Ci0gICAgICAgIHBzYV9zZXRfa2V5X3VzYWdlX2ZsYWdzKCZhdHRyaWJ1dGVzLCBrZXlfdXNhZ2UpOwotICAgICAgICBwc2Ffc2V0X2tleV9hbGdvcml0aG0oJmF0dHJpYnV0ZXMsIGtleV9hbGcpOwotICAgICAgICBpZiAoa2V5X2FsZzIgIT0gMCkgewotICAgICAgICAgICAgcHNhX3NldF9rZXlfZW5yb2xsbWVudF9hbGdvcml0aG0oJmF0dHJpYnV0ZXMsIGtleV9hbGcyKTsKLSAgICAgICAgfQotICAgICAgICBwc2Ffc2V0X2tleV90eXBlKCZhdHRyaWJ1dGVzLCBrZXlfdHlwZSk7Ci0gICAgICAgIHBzYV9zZXRfa2V5X2JpdHMoJmF0dHJpYnV0ZXMsIGN1cnZlX29yX2tleWJpdHMpOwotCi0gICAgICAgIFBTQV9BU1NFUlQocHNhX2dlbmVyYXRlX2tleSgmYXR0cmlidXRlcywgJmtleSkpOwotCisgICAgICAgIFBTQV9BU1NFUlQocGtfcHNhX3NldHVwKGtleV90eXBlLCBjdXJ2ZV9vcl9rZXliaXRzLCBrZXlfdXNhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9hbGcsIGtleV9hbGcyLCBNQkVEVExTX1NWQ19LRVlfSURfSU5JVCwgJmtleSkpOwogICAgICAgICBpZiAobWJlZHRsc19zdmNfa2V5X2lkX2lzX251bGwoa2V5KSkgewogICAgICAgICAgICAgZ290byBleGl0OwogICAgICAgICB9CkBAIC03OTUsOSArNzczLDcgQEAKIAogICAgICAgICBURVNUX0VRVUFMKG1iZWR0bHNfcGtfZ2V0X3R5cGUoJnBrKSwgTUJFRFRMU19QS19PUEFRVUUpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIFRFU1RfRVFVQUwobWJlZHRsc19wa19zZXR1cCgmcGssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3BrX2luZm9fZnJvbV90eXBlKGtleV90eXBlKSksIDApOwotICAgICAgICBURVNUX0VRVUFMKHBrX2dlbmtleSgmcGssIGN1cnZlX29yX2tleWJpdHMpLCAwKTsKKyAgICAgICAgVEVTVF9FUVVBTChwa19zZXR1cCgmcGssIGtleV90eXBlLCBjdXJ2ZV9vcl9rZXliaXRzKSwgMCk7CiAgICAgICAgIFRFU1RfRVFVQUwobWJlZHRsc19wa19nZXRfdHlwZSgmcGspLCBrZXlfdHlwZSk7CiAgICAgfQogCkBAIC05OTksOCArOTc1LDcgQEAKICAgICBtYmVkdGxzX3BrX2luaXQoJnBrKTsKICAgICBVU0VfUFNBX0lOSVQoKTsKIAotICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfcGtfc2V0dXAoJnBrLCBtYmVkdGxzX3BrX2luZm9fZnJvbV90eXBlKHR5cGUpKSA9PSAwKTsKLSAgICBURVNUX0FTU0VSVChwa19nZW5rZXkoJnBrLCBjdXJ2ZV9vcl9rZXliaXRzKSA9PSAwKTsKKyAgICBURVNUX0FTU0VSVChwa19zZXR1cCgmcGssIHR5cGUsIGN1cnZlX29yX2tleWJpdHMpID09IDApOwogCiAgICAgVEVTVF9BU1NFUlQoKGludCkgbWJlZHRsc19wa19nZXRfdHlwZSgmcGspID09IHR5cGUpOwogICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfcGtfY2FuX2RvKCZwaywgdHlwZSkpOwpAQCAtMTM2OCw4ICsxMzQzLDcgQEAKICAgICBtZW1zZXQoaGFzaCwgMHgyYSwgc2l6ZW9mKGhhc2gpKTsKICAgICBtZW1zZXQoc2lnLCAwLCBzaXplb2Yoc2lnKSk7CiAKLSAgICBURVNUX0FTU0VSVChtYmVkdGxzX3BrX3NldHVwKCZwaywgbWJlZHRsc19wa19pbmZvX2Zyb21fdHlwZSh0eXBlKSkgPT0gMCk7Ci0gICAgVEVTVF9BU1NFUlQocGtfZ2Vua2V5KCZwaywgY3VydmVfb3Jfa2V5Yml0cykgPT0gMCk7CisgICAgVEVTVF9BU1NFUlQocGtfc2V0dXAoJnBrLCB0eXBlLCBjdXJ2ZV9vcl9rZXliaXRzKSA9PSAwKTsKIAogI2lmIGRlZmluZWQoTUJFRFRMU19SU0FfQykKICAgICBpZiAodHlwZSA9PSBNQkVEVExTX1BLX1JTQSkgewpAQCAtMTc2Miw5ICsxNzM2LDcgQEAKICAgICBtZW1zZXQodGVzdCwgMCwgc2l6ZW9mKHRlc3QpKTsKIAogICAgIC8qIEluaXRpYWxpemUgUEsgUlNBIGNvbnRleHQgd2l0aCByYW5kb20ga2V5ICovCi0gICAgVEVTVF9BU1NFUlQobWJlZHRsc19wa19zZXR1cCgmcnNhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19wa19pbmZvX2Zyb21fdHlwZShNQkVEVExTX1BLX1JTQSkpID09IDApOwotICAgIFRFU1RfQVNTRVJUKHBrX2dlbmtleSgmcnNhLCBSU0FfS0VZX1NJWkUpID09IDApOworICAgIFRFU1RfQVNTRVJUKHBrX3NldHVwKCZyc2EsIE1CRURUTFNfUEtfUlNBLCBSU0FfS0VZX1NJWkUpID09IDApOwogCiAgICAgLyogRXh0cmFjdCBrZXkgdG8gdGhlIHJhdyByc2EgY29udGV4dCAqLwogICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfcnNhX2NvcHkoJnJhdywgbWJlZHRsc19wa19yc2EocnNhKSkgPT0gMCk7CkBAIC0xODMyLDcgKzE4MDQsNyBAQAogfQogLyogRU5EX0NBU0UgKi8KIAotLyogQkVHSU5fQ0FTRSBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPOk1CRURUTFNfVEVTVF9QS19QU0FfU0lHTiAqLworLyogQkVHSU5fQ0FTRSBkZXBlbmRzX29uOk1CRURUTFNfUEtfUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19VU0VfUFNBX0NSWVBUTzpNQkVEVExTX1RFU1RfUEtfUFNBX1NJR04gKi8KIHZvaWQgcGtfcHNhX3NpZ24oaW50IHBzYV90eXBlLCBpbnQgYml0cywgaW50IHJzYV9wYWRkaW5nKQogewogICAgIG1iZWR0bHNfcGtfY29udGV4dCBwazsKQEAgLTE4NDcsNyArMTgxOSw3IEBACiAgICAgaW50IHJldDsKICNlbmRpZiAvKiBNQkVEVExTX1JTQV9DIHx8IE1CRURUTFNfUEtfV1JJVEVfQyAqLwogI2lmIGRlZmluZWQoTUJFRFRMU19QS19DQU5fRUNEU0FfU0lHTikKLSAgICBtYmVkdGxzX2VjcF9ncm91cF9pZCBlY3BfZ3JwX2lkOworICAgIG1iZWR0bHNfZWNwX2dyb3VwX2lkIGVjcF9ncnBfaWQgPSBNQkVEVExTX0VDUF9EUF9OT05FOwogI2VuZGlmIC8qIE1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR04gKi8KIAogICAgIC8qCkBAIC0xODYzLDIxICsxODM1LDE4IEBACiAgICAgVVNFX1BTQV9JTklUKCk7CiAKICAgICAvKiBDcmVhdGUgdGhlIGxlZ2FjeSBFQy9SU0EgUEsgY29udGV4dC4gKi8KLSNpZiBkZWZpbmVkKE1CRURUTFNfUlNBX0MpICYmIGRlZmluZWQoTUJFRFRMU19HRU5QUklNRSkKKyNpZiBkZWZpbmVkKE1CRURUTFNfUlNBX0MpCiAgICAgaWYgKFBTQV9LRVlfVFlQRV9JU19SU0EocHNhX3R5cGUpKSB7Ci0gICAgICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfcGtfc2V0dXAoJnBrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfcGtfaW5mb19mcm9tX3R5cGUoTUJFRFRMU19QS19SU0EpKSA9PSAwKTsKLSAgICAgICAgVEVTVF9FUVVBTChwa19nZW5rZXkoJnBrLCBiaXRzKSwgMCk7CisgICAgICAgIFRFU1RfRVFVQUwocGtfc2V0dXAoJnBrLCBNQkVEVExTX1BLX1JTQSwgYml0cyksIDApOwogICAgICAgICBURVNUX0VRVUFMKG1iZWR0bHNfcnNhX3NldF9wYWRkaW5nKG1iZWR0bHNfcGtfcnNhKHBrKSwgcnNhX3BhZGRpbmcsIE1CRURUTFNfTURfTk9ORSksIDApOwogICAgIH0KLSNlbHNlIC8qIE1CRURUTFNfUlNBX0MgJiYgTUJFRFRMU19HRU5QUklNRSAqLworI2Vsc2UgLyogTUJFRFRMU19SU0FfQyAqLwogICAgICh2b2lkKSByc2FfcGFkZGluZzsKLSNlbmRpZiAvKiBNQkVEVExTX1JTQV9DICYmIE1CRURUTFNfR0VOUFJJTUUgKi8KKyNlbmRpZiAvKiBNQkVEVExTX1JTQV9DICovCiAjaWYgZGVmaW5lZChNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOKQogICAgIGlmIChQU0FfS0VZX1RZUEVfSVNfRUNDX0tFWV9QQUlSKHBzYV90eXBlKSkgewogICAgICAgICBlY3BfZ3JwX2lkID0gbWJlZHRsc19lY2NfZ3JvdXBfZnJvbV9wc2EocHNhX3R5cGUsIGJpdHMpOwotICAgICAgICBURVNUX0FTU0VSVChtYmVkdGxzX3BrX3NldHVwKCZwaywgbWJlZHRsc19wa19pbmZvX2Zyb21fdHlwZShNQkVEVExTX1BLX0VDS0VZKSkgPT0gMCk7Ci0gICAgICAgIFRFU1RfQVNTRVJUKHBrX2dlbmtleSgmcGssIGVjcF9ncnBfaWQpID09IDApOworICAgICAgICBURVNUX0FTU0VSVChwa19zZXR1cCgmcGssIE1CRURUTFNfUEtfRUNLRVksIGVjcF9ncnBfaWQpID09IDApOwogICAgIH0KICNlbmRpZiAvKiBNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOICovCiAKQEAgLTE5OTksNyArMTk2OCw3IEBACiB9CiAvKiBFTkRfQ0FTRSAqLwogCi0vKiBCRUdJTl9DQVNFIGRlcGVuZHNfb246TUJFRFRMU19HRU5QUklNRSAqLworLyogQkVHSU5fQ0FTRSAqLwogdm9pZCBwa19zaWduX2V4dChpbnQgcGtfdHlwZSwgaW50IGN1cnZlX29yX2tleWJpdHMsIGludCBrZXlfcGtfdHlwZSwgaW50IG1kX2FsZykKIHsKICAgICBtYmVkdGxzX3BrX2NvbnRleHQgcGs7CkBAIC0yMDE1LDkgKzE5ODQsNyBAQAogICAgIG1iZWR0bHNfcGtfaW5pdCgmcGspOwogICAgIE1EX09SX1VTRV9QU0FfSU5JVCgpOwogCi0gICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX3NldHVwKCZwaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19wa19pbmZvX2Zyb21fdHlwZShwa190eXBlKSksIDApOwotICAgIFRFU1RfRVFVQUwocGtfZ2Vua2V5KCZwaywgY3VydmVfb3Jfa2V5Yml0cyksIDApOworICAgIFRFU1RfRVFVQUwocGtfc2V0dXAoJnBrLCBwa190eXBlLCBjdXJ2ZV9vcl9rZXliaXRzKSwgMCk7CiAKICAgICBURVNUX0VRVUFMKG1iZWR0bHNfcGtfc2lnbl9leHQoa2V5X3BrX3R5cGUsICZwaywgbWRfYWxnLCBoYXNoLCBoYXNoX2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnLCBzaXplb2Yoc2lnKSwgJnNpZ19sZW4sCkBAIC0yMDM3LDcgKzIwMDQsNyBAQAogfQogLyogRU5EX0NBU0UgKi8KIAotLyogQkVHSU5fQ0FTRSBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19HRU5QUklNRTpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICovCisvKiBCRUdJTl9DQVNFIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPICovCiB2b2lkIHBrX3BzYV93cmFwX3NpZ25fZXh0KGludCBwa190eXBlLCBpbnQga2V5X2JpdHMsIGludCBrZXlfcGtfdHlwZSwgaW50IG1kX2FsZykKIHsKICAgICBtYmVkdGxzX3BrX2NvbnRleHQgcGs7CkBAIC0yMDU5LDExICsyMDI2LDcgQEAKIAogICAgIC8qIENyZWF0ZSBsZWdhY3kgUlNBIHB1YmxpYy9wcml2YXRlIGtleSBpbiBQSyBjb250ZXh0LiAqLwogICAgIG1iZWR0bHNfcGtfaW5pdCgmcGspOwotICAgIFRFU1RfRVFVQUwobWJlZHRsc19wa19zZXR1cCgmcGssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfcGtfaW5mb19mcm9tX3R5cGUocGtfdHlwZSkpLCAwKTsKLSAgICBURVNUX0VRVUFMKG1iZWR0bHNfcnNhX2dlbl9rZXkobWJlZHRsc19wa19yc2EocGspLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3Rlc3Rfcm5kX3N0ZF9yYW5kLCBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlfYml0cywgMyksIDApOworICAgIFRFU1RfRVFVQUwocGtfc2V0dXAoJnBrLCBwa190eXBlLCBrZXlfYml0cyksIDApOwogCiAgICAgaWYgKGtleV9wa190eXBlID09IE1CRURUTFNfUEtfUlNBU1NBX1BTUykgewogICAgICAgICBtYmVkdGxzX3JzYV9zZXRfcGFkZGluZyhtYmVkdGxzX3BrX3JzYShwayksIE1CRURUTFNfUlNBX1BLQ1NfVjIxLCBNQkVEVExTX01EX05PTkUpOwpAQCAtMjIwNyw3ICsyMTcwLDcgQEAKIH0KIC8qIEVORF9DQVNFICovCiAKLS8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjpNQkVEVExTX1BTQV9DUllQVE9fQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjIxOk1CRURUTFNfR0VOUFJJTUUgKi8KKy8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjpNQkVEVExTX1BTQV9DUllQVE9fQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjIxICovCiB2b2lkIHBrX3JzYV92MjFfZ2V0X3BzYV9hdHRyaWJ1dGVzKGludCBtZF90eXBlLCBpbnQgZnJvbV9wYWlyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdXNhZ2VfYXJnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdG9fcGFpciwgaW50IGV4cGVjdGVkX2FsZykKQEAgLTIyODEsNyArMjI0NCw3IEBACiB9CiAvKiBFTkRfQ0FTRSAqLwogCi0vKiBCRUdJTl9DQVNFIGRlcGVuZHNfb246TUJFRFRMU19QU0FfQ1JZUFRPX0M6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfVEVTVF9QU0FfRUNDX0FUX0xFQVNUX09ORV9DVVJWRTpNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DICovCisvKiBCRUdJTl9DQVNFIGRlcGVuZHNfb246TUJFRFRMU19QU0FfQ1JZUFRPX0M6TUJFRFRMU19URVNUX1BTQV9FQ0NfQVRfTEVBU1RfT05FX0NVUlZFOk1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MgKi8KIHZvaWQgcGtfaW1wb3J0X2ludG9fcHNhX2xpZmV0aW1lKGludCBmcm9tX29wYXF1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmcm9tX3BlcnNpc3RlbnQsIC8qIHdoZW4gZnJvbSBvcGFxdWUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmcm9tX2V4cG9ydGFibGUsIC8qIHdoZW4gZnJvbSBvcGFxdWUgKi8KQEAgLTIzMDIsMTcgKzIyNjUsMTggQEAKICNpZiBkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pCiAgICAgICAgIHBzYV9rZXlfdHlwZV90IGZyb21fcHNhX3R5cGUgPQogICAgICAgICAgICAgUFNBX0tFWV9UWVBFX0VDQ19LRVlfUEFJUihNQkVEVExTX1RFU1RfUFNBX0VDQ19PTkVfRkFNSUxZKTsKLSAgICAgICAgcHNhX3NldF9rZXlfdHlwZSgmYXR0cmlidXRlcywgZnJvbV9wc2FfdHlwZSk7Ci0gICAgICAgIHBzYV9zZXRfa2V5X2JpdHMoJmF0dHJpYnV0ZXMsIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTKTsKLSAgICAgICAgcHNhX3NldF9rZXlfdXNhZ2VfZmxhZ3MoCi0gICAgICAgICAgICAmYXR0cmlidXRlcywKKyAgICAgICAgcHNhX2tleV91c2FnZV90IHBzYV9rZXlfdXNhZ2UgPQogICAgICAgICAgICAgKGZyb21fZXhwb3J0YWJsZSA/IFBTQV9LRVlfVVNBR0VfRVhQT1JUIDogUFNBX0tFWV9VU0FHRV9DT1BZKSB8Ci0gICAgICAgICAgICBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0gpOwotICAgICAgICBwc2Ffc2V0X2tleV9hbGdvcml0aG0oJmF0dHJpYnV0ZXMsIFBTQV9BTEdfRUNESCk7CisgICAgICAgICAgICBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfVkVSSUZZX0hBU0g7CisgICAgICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90IHBlcnNpc3RlbnRfa2V5X2lkID0gTUJFRFRMU19TVkNfS0VZX0lEX0lOSVQ7CisKICAgICAgICAgaWYgKGZyb21fcGVyc2lzdGVudCkgewotICAgICAgICAgICAgcHNhX3NldF9rZXlfaWQoJmF0dHJpYnV0ZXMsIG1iZWR0bHNfc3ZjX2tleV9pZF9tYWtlKDAsIDEpKTsKKyAgICAgICAgICAgIHBlcnNpc3RlbnRfa2V5X2lkID0gbWJlZHRsc19zdmNfa2V5X2lkX21ha2UoMCwgMSk7CiAgICAgICAgIH0KLSAgICAgICAgUFNBX0FTU0VSVChwc2FfZ2VuZXJhdGVfa2V5KCZhdHRyaWJ1dGVzLCAmb2xkX2tleV9pZCkpOworCisgICAgICAgIFBTQV9BU1NFUlQocGtfcHNhX3NldHVwKGZyb21fcHNhX3R5cGUsIE1CRURUTFNfVEVTVF9QU0FfRUNDX09ORV9DVVJWRV9CSVRTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3VzYWdlLCBQU0FfQUxHX0VDREgsIFBTQV9BTEdfTk9ORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyc2lzdGVudF9rZXlfaWQsICZvbGRfa2V5X2lkKSk7CiAgICAgICAgIFRFU1RfRVFVQUwobWJlZHRsc19wa19zZXR1cF9vcGFxdWUoJnBrLCBvbGRfa2V5X2lkKSwgMCk7CiAgICAgICAgIHBzYV9yZXNldF9rZXlfYXR0cmlidXRlcygmYXR0cmlidXRlcyk7CiAjZWxzZQpAQCAtMjM4OCwxMiArMjM1Miw4IEBACiAKICAgICBQU0FfSU5JVCgpOwogCi0gICAgcHNhX3NldF9rZXlfdHlwZSgmYXR0cmlidXRlcywgZnJvbV90eXBlKTsKLSAgICBwc2Ffc2V0X2tleV9iaXRzKCZhdHRyaWJ1dGVzLCBiaXRzKTsKLSAgICBwc2Ffc2V0X2tleV91c2FnZV9mbGFncygmYXR0cmlidXRlcywgZnJvbV91c2FnZSk7Ci0gICAgcHNhX3NldF9rZXlfYWxnb3JpdGhtKCZhdHRyaWJ1dGVzLCBhbGcpOwotICAgIHBzYV9zZXRfa2V5X2Vucm9sbG1lbnRfYWxnb3JpdGhtKCZhdHRyaWJ1dGVzLCA0Mik7Ci0gICAgUFNBX0FTU0VSVChwc2FfZ2VuZXJhdGVfa2V5KCZhdHRyaWJ1dGVzLCAmb2xkX2tleV9pZCkpOworICAgIFBTQV9BU1NFUlQocGtfcHNhX3NldHVwKGZyb21fdHlwZSwgYml0cywgZnJvbV91c2FnZSwgYWxnLCA0MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NWQ19LRVlfSURfSU5JVCwgJm9sZF9rZXlfaWQpKTsKICAgICBURVNUX0VRVUFMKG1iZWR0bHNfcGtfc2V0dXBfb3BhcXVlKCZwaywgb2xkX2tleV9pZCksIDApOwogCiAgICAgcHNhX2tleV90eXBlX3QgZXhwZWN0ZWRfcHNhX3R5cGUgPQpAQCAtMjQ4NSwxMSArMjQ0NSw4IEBACiAKICAgICBQU0FfSU5JVCgpOwogCi0gICAgcHNhX3NldF9rZXlfdHlwZSgmZnJvbV9hdHRyaWJ1dGVzLCBmcm9tX3R5cGUpOwotICAgIHBzYV9zZXRfa2V5X2JpdHMoJmZyb21fYXR0cmlidXRlcywgZnJvbV9iaXRzKTsKLSAgICBwc2Ffc2V0X2tleV91c2FnZV9mbGFncygmZnJvbV9hdHRyaWJ1dGVzLCBmcm9tX3VzYWdlKTsKLSAgICBwc2Ffc2V0X2tleV9hbGdvcml0aG0oJmZyb21fYXR0cmlidXRlcywgZnJvbV9hbGcpOwotICAgIFBTQV9BU1NFUlQocHNhX2dlbmVyYXRlX2tleSgmZnJvbV9hdHRyaWJ1dGVzLCAmZnJvbV9rZXlfaWQpKTsKKyAgICBQU0FfQVNTRVJUKHBrX3BzYV9zZXR1cChmcm9tX3R5cGUsIGZyb21fYml0cywgZnJvbV91c2FnZSwgZnJvbV9hbGcsIFBTQV9BTEdfTk9ORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQkVEVExTX1NWQ19LRVlfSURfSU5JVCwgJmZyb21fa2V5X2lkKSk7CiAgICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX3NldHVwX29wYXF1ZSgmcGssIGZyb21fa2V5X2lkKSwgMCk7CiAKICAgICBwc2Ffc2V0X2tleV90eXBlKCZ0b19hdHRyaWJ1dGVzLCB0b190eXBlKTsKQEAgLTI1NTUsMjMgKzI1MTIsMjEgQEAKICAgICAgICAgICAgICAgIE1CRURUTFNfRVJSX1BLX0JBRF9JTlBVVF9EQVRBKTsKIAogI2lmIGRlZmluZWQoUFNBX1dBTlRfS0VZX1RZUEVfREhfS0VZX1BBSVJfR0VORVJBVEUpCi0gICAgLyogR2VuZXJhdGUgYSBrZXkgdHlwZSB0aGF0IGlzIG5vdCBoYW5kbGVkIGJ5IHRoZSBQSyBtb2R1bGUuICovCi0gICAgUFNBX0FTU0VSVChwa19wc2FfZ2Vua2V5X2dlbmVyaWMoUFNBX0tFWV9UWVBFX0RIX0tFWV9QQUlSKFBTQV9ESF9GQU1JTFlfUkZDNzkxOSksIDIwNDgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0tFWV9VU0FHRV9FWFBPUlQsIFBTQV9BTEdfTk9ORSwgJmtleV9pZCkpOworICAgIHBrX3BzYV9zZXR1cChQU0FfS0VZX1RZUEVfREhfS0VZX1BBSVIoUFNBX0RIX0ZBTUlMWV9SRkM3OTE5KSwgMjA0OCwKKyAgICAgICAgICAgICAgICAgUFNBX0tFWV9VU0FHRV9FWFBPUlQsIFBTQV9BTEdfTk9ORSwgUFNBX0FMR19OT05FLAorICAgICAgICAgICAgICAgICBNQkVEVExTX1NWQ19LRVlfSURfSU5JVCwgJmtleV9pZCk7CiAgICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX2NvcHlfZnJvbV9wc2Eoa2V5X2lkLCAmcGtfY3R4KSwgTUJFRFRMU19FUlJfUEtfQkFEX0lOUFVUX0RBVEEpOwogICAgIFRFU1RfRVFVQUwobWJlZHRsc19wa19jb3B5X3B1YmxpY19mcm9tX3BzYShrZXlfaWQsICZwa19jdHgpLCBNQkVEVExTX0VSUl9QS19CQURfSU5QVVRfREFUQSk7CiAgICAgcHNhX2Rlc3Ryb3lfa2V5KGtleV9pZCk7CiAjZW5kaWYgLyogUFNBX1dBTlRfS0VZX1RZUEVfREhfS0VZX1BBSVJfR0VORVJBVEUgKi8KIAotI2lmIGRlZmluZWQoTUJFRFRMU19QS19IQVZFX0VDQ19LRVlTKSAmJiBkZWZpbmVkKFBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NikgJiYgXAotICAgIGRlZmluZWQoUFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFKQorI2lmIGRlZmluZWQoTUJFRFRMU19QS19IQVZFX0VDQ19LRVlTKSAmJiBkZWZpbmVkKFBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NikKICAgICAvKiBHZW5lcmF0ZSBhbiBFQyBrZXkgd2hpY2ggY2Fubm90IGJlIGV4cG9ydGVkLiAqLwotICAgIFBTQV9BU1NFUlQocGtfcHNhX2dlbmtleV9nZW5lcmljKFBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSksIDI1NiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBQU0FfQUxHX05PTkUsICZrZXlfaWQpKTsKKyAgICBQU0FfQVNTRVJUKHBrX3BzYV9zZXR1cChQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEpLCAyNTYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgUFNBX0FMR19OT05FLCBQU0FfQUxHX05PTkUsIE1CRURUTFNfU1ZDX0tFWV9JRF9JTklULCAma2V5X2lkKSk7CiAgICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX2NvcHlfZnJvbV9wc2Eoa2V5X2lkLCAmcGtfY3R4KSwgTUJFRFRMU19FUlJfUEtfVFlQRV9NSVNNQVRDSCk7CiAgICAgcHNhX2Rlc3Ryb3lfa2V5KGtleV9pZCk7Ci0jZW5kaWYgLyogTUJFRFRMU19QS19IQVZFX0VDQ19LRVlTICYmIFBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NiAmJgotICAgICAgICAgIFBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURSAqLworI2VuZGlmIC8qIE1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUyAmJiBQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYgKi8KIAogZXhpdDoKICAgICBtYmVkdGxzX3BrX2ZyZWUoJnBrX2N0eCk7CkBAIC0yNTg5LDExICsyNTQ0LDEyIEBACiAgICAgbWJlZHRsc19wa19pbml0KCZwa19jdHgpOwogICAgIFBTQV9JTklUKCk7CiAKLSAgICBQU0FfQVNTRVJUKHBrX3BzYV9nZW5rZXlfZ2VuZXJpYyhQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfS0VZX1VTQUdFX1NJR05fSEFTSCB8IFBTQV9LRVlfVVNBR0VfRVhQT1JULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTQV9BTEdfUlNBX1BLQ1MxVjE1X1NJR04oUFNBX0FMR19TSEFfMjU2KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma2V5X2lkKSk7CisgICAgUFNBX0FTU0VSVChwa19wc2Ffc2V0dXAoUFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0tFWV9VU0FHRV9TSUdOX0hBU0ggfCBQU0FfS0VZX1VTQUdFX0VYUE9SVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU0FfQUxHX1JTQV9QS0NTMVYxNV9TSUdOKFBTQV9BTEdfU0hBXzI1NiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNBX0FMR19OT05FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRURUTFNfU1ZDX0tFWV9JRF9JTklULCAma2V5X2lkKSk7CiAgICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX2NvcHlfZnJvbV9wc2Eoa2V5X2lkLCAmcGtfY3R4KSwgTUJFRFRMU19FUlJfUEtfQkFEX0lOUFVUX0RBVEEpOwogZXhpdDoKICAgICBtYmVkdGxzX3BrX2ZyZWUoJnBrX2N0eCk7CmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wa2NzNy5kYXRhIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGtjczcuZGF0YQppbmRleCBkM2I4M2NkLi43YzBiMmNlIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wa2NzNy5kYXRhCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrY3M3LmRhdGEKQEAgLTEsMTU4ICsxLDE1OCBAQAogUEtDUzcgU2lnbmVkIERhdGEgUGFyc2UgUGFzcyBTSEEyNTYgIzEKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXBrY3M3X3BhcnNlOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciI6TUJFRFRMU19QS0NTN19TSUdORURfREFUQQorcGtjczdfcGFyc2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciI6TUJFRFRMU19QS0NTN19TSUdORURfREFUQQogCiBQS0NTNyBTaWduZWQgRGF0YSBQYXJzZSBQYXNzIFNIQTEgIzIKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGExLmRlciI6TUJFRFRMU19QS0NTN19TSUdORURfREFUQQorcGtjczdfcGFyc2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMS5kZXIiOk1CRURUTFNfUEtDUzdfU0lHTkVEX0RBVEEKIAogUEtDUzcgU2lnbmVkIERhdGEgUGFyc2UgUGFzcyBXaXRob3V0IENFUlQgIzMKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci1wa2NzN19wYXJzZToiZGF0YV9maWxlcy9wa2NzN19kYXRhX3dpdGhvdXRfY2VydF9zaWduZWQuZGVyIjpNQkVEVExTX1BLQ1M3X1NJR05FRF9EQVRBCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV93aXRob3V0X2NlcnRfc2lnbmVkLmRlciI6TUJFRFRMU19QS0NTN19TSUdORURfREFUQQogCiBQS0NTNyBTaWduZWQgRGF0YSBQYXJzZSB3aXRoIHplcm8gc2lnbmVycwogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXBrY3M3X3BhcnNlOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfbm9fc2lnbmVycy5kZXIiOk1CRURUTFNfUEtDUzdfU0lHTkVEX0RBVEEKK3BrY3M3X3BhcnNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX25vX3NpZ25lcnMuZGVyIjpNQkVEVExTX1BLQ1M3X1NJR05FRF9EQVRBCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgd2l0aCBtdWx0aXBsZSBjZXJ0cyAjNAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9tdWx0aXBsZV9jZXJ0c19zaWduZWQuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19GRUFUVVJFX1VOQVZBSUxBQkxFCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9tdWx0aXBsZV9jZXJ0c19zaWduZWQuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19GRUFUVVJFX1VOQVZBSUxBQkxFCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgd2l0aCBjb3JydXB0ZWQgY2VydCAjNS4wCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1wa2NzN19wYXJzZToiZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRjZXJ0LmRlciI6TUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9DRVJUCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkY2VydC5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfQ0VSVAogCiBQS0NTNyBTaWduZWQgRGF0YSBQYXJzZSBGYWlsIHdpdGggZGlzYWJsZWQgYWxnICM1LjEKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzohTUJFRFRMU19NRF9DQU5fU0hBNTEyCi1wa2NzN19wYXJzZToiZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTUxMi5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfQUxHCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGE1MTIuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX0FMRwogCiBQS0NTNyBQYXJzZSBGYWlsIHdpdGggSW5saW5lZCBDb250ZW50IEluZm8gIzUuMgogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV93aXRoX3NpZ25hdHVyZS5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0ZFQVRVUkVfVU5BVkFJTEFCTEUKK3BrY3M3X3BhcnNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX3dpdGhfc2lnbmF0dXJlLmRlciI6TUJFRFRMU19FUlJfUEtDUzdfRkVBVFVSRV9VTkFWQUlMQUJMRQogCiBQS0NTNyBTaWduZWQgRGF0YSBQYXJzZSBGYWlsIHdpdGggbm8gUlNBICM1LjMKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2OiFNQkVEVExTX1JTQV9DCi1wa2NzN19wYXJzZToiZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfQ0VSVAorcGtjczdfcGFyc2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciI6TUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9DRVJUCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgd2l0aCBjb3JydXB0ZWQgc2lnbmVyIGluZm8gIzYKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXBrY3M3X3BhcnNlOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lci5kZXIiOk1CRURUTFNfRVJST1JfQUREKE1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfU0lHTkVSX0lORk8sTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRykKK3BrY3M3X3BhcnNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIuZGVyIjpNQkVEVExTX0VSUk9SX0FERChNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPLE1CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcpCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgd2l0aCBjb3JydXB0ZWQgc2lnbmVyIGluZm9bMV0gaW52YWxpZCBzaXplICM2LjEKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXBrY3M3X3BhcnNlOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjFfYmFkc2l6ZS5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfU0lHTkVSX0lORk8KK3BrY3M3X3BhcnNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIxX2JhZHNpemUuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgd2l0aCBjb3JydXB0ZWQgc2lnbmVyIGluZm9bMl0gaW52YWxpZCBzaXplICM2LjIKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXBrY3M3X3BhcnNlOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjJfYmFkc2l6ZS5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfU0lHTkVSX0lORk8KK3BrY3M3X3BhcnNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIyX2JhZHNpemUuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgd2l0aCBjb3JydXB0ZWQgc2lnbmVyIGluZm9bMV0gdW5leHBlY3RlZCB0YWcgIzYuMwogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMV9iYWR0YWcuZGVyIjpNQkVEVExTX0VSUk9SX0FERChNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPLE1CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcpCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMV9iYWR0YWcuZGVyIjpNQkVEVExTX0VSUk9SX0FERChNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPLE1CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcpCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgd2l0aCBjb3JydXB0ZWQgc2lnbmVyIGluZm9bMl0gdW5leHBlY3RlZCB0YWcgIzYuNAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMl9iYWR0YWcuZGVyIjpNQkVEVExTX0VSUk9SX0FERChNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPLE1CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcpCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMl9iYWR0YWcuZGVyIjpNQkVEVExTX0VSUk9SX0FERChNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPLE1CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcpCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgd2l0aCBjb3JydXB0ZWQgc2lnbmVyIGluZm9bMV0gZnV6eiBiYWQgIzYuNQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMV9mdXp6YmFkLmRlciI6TUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9TSUdORVJfSU5GTworcGtjczdfcGFyc2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfc2lnbmVkX2JhZHNpZ25lcjFfZnV6emJhZC5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfU0lHTkVSX0lORk8KIAogUEtDUzcgU2lnbmVkIERhdGEgUGFyc2UgRmFpbCB3aXRoIGNvcnJ1cHRlZCBzaWduZXIgaW5mb1syXSBmdXp6IGJhZCAjNi42CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1wa2NzN19wYXJzZToiZGF0YV9maWxlcy9wa2NzN19kYXRhX3NpZ25lZF9iYWRzaWduZXIyX2Z1enpiYWQuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9zaWduZWRfYmFkc2lnbmVyMl9mdXp6YmFkLmRlciI6TUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9TSUdORVJfSU5GTwogCiBQS0NTNyBTaWduZWQgRGF0YSBQYXJzZSBGYWlsIFZlcnNpb24gb3RoZXIgdGhhbiAxICM3CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF92Mi5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfVkVSU0lPTgorcGtjczdfcGFyc2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfdjIuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1ZFUlNJT04KIAogUEtDUzcgU2lnbmVkIERhdGEgUGFyc2UgRmFpbCBFbmNyeXB0ZWQgQ29udGVudCAjOAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXBrY3M3X3BhcnNlOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9lbmNyeXB0ZWQuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19GRUFUVVJFX1VOQVZBSUxBQkxFCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X2VuY3J5cHRlZC5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0ZFQVRVUkVfVU5BVkFJTEFCTEUKIAogUEtDUzcgU2lnbmVkIERhdGEgVmVyaWZpY2F0aW9uIFBhc3MgemVyby1sZW4gZGF0YQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotcGtjczdfdmVyaWZ5OiJkYXRhX2ZpbGVzL3BrY3M3X3plcm9sZW5kYXRhX2RldGFjaGVkLmRlciI6ImRhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmRlciI6ImRhdGFfZmlsZXMvcGtjczdfemVyb2xlbmRhdGEuYmluIjowOjAKK3BrY3M3X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfemVyb2xlbmRhdGFfZGV0YWNoZWQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X3plcm9sZW5kYXRhLmJpbiI6MDowCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFZlcmlmaWNhdGlvbiBGYWlsIHplcm8tbGVuIGRhdGEKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotcGtjczdfdmVyaWZ5OiJkYXRhX2ZpbGVzL3BrY3M3X3plcm9sZW5kYXRhX2RldGFjaGVkLmRlciI6ImRhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0yLmRlciI6ImRhdGFfZmlsZXMvcGtjczdfemVyb2xlbmRhdGEuYmluIjowOk1CRURUTFNfRVJSX1JTQV9WRVJJRllfRkFJTEVECitwa2NzN192ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X3plcm9sZW5kYXRhX2RldGFjaGVkLmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMi5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN196ZXJvbGVuZGF0YS5iaW4iOjA6TUJFRFRMU19FUlJfUlNBX1ZFUklGWV9GQUlMRUQKIAogUEtDUzcgU2lnbmVkIERhdGEgVmVyaWZpY2F0aW9uIFBhc3MgU0hBMjU2ICM5CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotcGtjczdfdmVyaWZ5OiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciI6ImRhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmRlciI6ImRhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOjA6MAorcGtjczdfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOjA6MAogCiBQS0NTNyBTaWduZWQgRGF0YSBWZXJpZmljYXRpb24gUGFzcyBTSEEyNTYgIzkuMQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXBrY3M3X3ZlcmlmeToiZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGEuYmluIjpNQkVEVExTX01EX1NIQTI1NjowCitwa2NzN192ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6TUJFRFRMU19NRF9TSEEyNTY6MAogCiBQS0NTNyBTaWduZWQgRGF0YSBWZXJpZmljYXRpb24gUGFzcyBTSEExICMxMAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotcGtjczdfdmVyaWZ5OiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMS5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGEuYmluIjowOjAKK3BrY3M3X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGExLmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6MDowCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFZlcmlmaWNhdGlvbiBQYXNzIFNIQTUxMiAjMTEKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotcGtjczdfdmVyaWZ5OiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhNTEyLmRlciI6ImRhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmRlciI6ImRhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOjA6MAorcGtjczdfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTUxMi5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOjA6MAogCiBQS0NTNyBTaWduZWQgRGF0YSBWZXJpZmljYXRpb24gRmFpbCBiZWNhdXNlIG9mIGRpZmZlcmVudCBjZXJ0aWZpY2F0ZSAjMTIKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXBrY3M3X3ZlcmlmeToiZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMi5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGEuYmluIjowOk1CRURUTFNfRVJSX1JTQV9WRVJJRllfRkFJTEVECitwa2NzN192ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMi5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6MDpNQkVEVExTX0VSUl9SU0FfVkVSSUZZX0ZBSUxFRAogCiBQS0NTNyBTaWduZWQgRGF0YSBWZXJpZmljYXRpb24gRmFpbCBiZWNhdXNlIG9mIGRpZmZlcmVudCBkYXRhIGhhc2ggIzEzCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1wa2NzN192ZXJpZnk6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGEyNTYuZGVyIjoiZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEuZGVyIjoiZGF0YV9maWxlcy9wa2NzN19kYXRhXzEuYmluIjowOk1CRURUTFNfRVJSX1JTQV9WRVJJRllfRkFJTEVECitwa2NzN192ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhXzEuYmluIjowOk1CRURUTFNfRVJSX1JTQV9WRVJJRllfRkFJTEVECiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWx1cmUgQ29ycnVwdCBzaWduZXJJbmZvLmlzc3VlciAjMTUuMQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb19pc3N1ZXJfaW52YWxpZF9zaXplLmRlciI6TUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9TSUdORVJfSU5GTworcGtjczdfcGFyc2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X3NpZ25lckluZm9faXNzdWVyX2ludmFsaWRfc2l6ZS5kZXIiOk1CRURUTFNfRVJSX1BLQ1M3X0lOVkFMSURfU0lHTkVSX0lORk8KIAogUEtDUzcgU2lnbmVkIERhdGEgUGFyc2UgRmFpbHVyZSBDb3JydXB0IHNpZ25lckluZm8uc2VyaWFsICMxNS4yCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1wa2NzN19wYXJzZToiZGF0YV9maWxlcy9wa2NzN19zaWduZXJJbmZvX3NlcmlhbF9pbnZhbGlkX3NpemUuZGVyIjpNQkVEVExTX0VSUl9QS0NTN19JTlZBTElEX1NJR05FUl9JTkZPCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb19zZXJpYWxfaW52YWxpZF9zaXplLmRlciI6TUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9TSUdORVJfSU5GTwogCiBQS0NTNyBTaWduZWQgRGF0YSBQYXJzZSBGYWlsIENvcnJ1cHQgc2lnbmVySW5mb3NbMl0gKDYyMTM5MzEzNzMwMzU1MjApCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotcGtjczdfcGFyc2U6ImRhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb18yX2ludmFsaWRfdGFnLmRlciI6TUJFRFRMU19FUlJPUl9BREQoTUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9TSUdORVJfSU5GTywgIE1CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcpCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfc2lnbmVySW5mb18yX2ludmFsaWRfdGFnLmRlciI6TUJFRFRMU19FUlJPUl9BREQoTUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9TSUdORVJfSU5GTywgIE1CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcpCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFBhcnNlIEZhaWwgQ29ycnVwdCBzaWduZXJJbmZvc1sxXS5pc3N1ZXJBbmRTZXJpYWxOdW1iZXIuc2VyaWFsTnVtYmVyLCBhZnRlciBtdWx0aS1lbGVtZW50IC5uYW1lICg0NTQxMDQ0NTMwNDc5MTA0KQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXBrY3M3X3BhcnNlOiJkYXRhX2ZpbGVzL3BrY3M3X3NpZ25lckluZm9fMV9zZXJpYWxfaW52YWxpZF90YWdfYWZ0ZXJfbG9uZ19uYW1lLmRlciI6TUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9TSUdORVJfSU5GTworcGtjczdfcGFyc2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X3NpZ25lckluZm9fMV9zZXJpYWxfaW52YWxpZF90YWdfYWZ0ZXJfbG9uZ19uYW1lLmRlciI6TUJFRFRMU19FUlJfUEtDUzdfSU5WQUxJRF9TSUdORVJfSU5GTwogCiBQS0NTNyBPbmx5IFNpZ25lZCBEYXRhIFBhcnNlIFBhc3MgIzE1CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1wa2NzN19wYXJzZToiZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkZGF0YV9zaGEyNTYuZGVyIjpNQkVEVExTX1BLQ1M3X1NJR05FRF9EQVRBCitwa2NzN19wYXJzZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZGRhdGFfc2hhMjU2LmRlciI6TUJFRFRMU19QS0NTN19TSUdORURfREFUQQogCiBQS0NTNyBTaWduZWQgRGF0YSBWZXJpZnkgd2l0aCBtdWx0aXBsZSgyKSBzaWduZXJzICMxNi4wCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotcGtjczdfdmVyaWZ5OiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfbXVsdGlwbGVfc2lnbmVkLmRlciI6ImRhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmNydCBkYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMi5jcnQiOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGEuYmluIjowOjAKK3BrY3M3X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9tdWx0aXBsZV9zaWduZWQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOjA6MAogCiBQS0NTNyBTaWduZWQgRGF0YSBWZXJpZnkgd2l0aCBtdWx0aXBsZSgzKSBzaWduZXJzICMxNi4xCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjohTUJFRFRMU19NRU1PUllfQlVGRkVSX0FMTE9DX0MKLXBrY3M3X3ZlcmlmeToiZGF0YV9maWxlcy9wa2NzN19kYXRhXzNfc2lnbmVkLmRlciI6ImRhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmNydCBkYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMi5jcnQgZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTMuY3J0IjoiZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6MDowCitwa2NzN192ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfM19zaWduZWQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuY3J0IC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMy5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6MDowCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIEhhc2ggVmVyaWZ5IHdpdGggbXVsdGlwbGUgc2lnbmVycyAjMTcKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci1wa2NzN192ZXJpZnk6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9tdWx0aXBsZV9zaWduZWQuZGVyIjoiZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTEuY3J0IGRhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0yLmNydCI6ImRhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOk1CRURUTFNfTURfU0hBMjU2OjAKK3BrY3M3X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9tdWx0aXBsZV9zaWduZWQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOk1CRURUTFNfTURfU0hBMjU2OjAKIAogUEtDUzcgU2lnbmVkIERhdGEgSGFzaCBWZXJpZnkgRmFpbCB3aXRoIG11bHRpcGxlIHNpZ25lcnMgIzE4CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEE1MTIKLXBrY3M3X3ZlcmlmeToiZGF0YV9maWxlcy9wa2NzN19kYXRhX211bHRpcGxlX3NpZ25lZC5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3LXJzYS1zaGEyNTYtMS5jcnQgZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuY3J0IjoiZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6TUJFRFRMU19NRF9TSEE1MTI6TUJFRFRMU19FUlJfUEtDUzdfVkVSSUZZX0ZBSUwKK3BrY3M3X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9tdWx0aXBsZV9zaWduZWQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczctcnNhLXNoYTI1Ni0xLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzNy1yc2Etc2hhMjU2LTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOk1CRURUTFNfTURfU0hBNTEyOk1CRURUTFNfRVJSX1BLQ1M3X1ZFUklGWV9GQUlMCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFZlcmlmeSBQYXNzIEV4cGlyZWQgQ2VydCAjMTkgbm8gVElNRV9EQVRFCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjohTUJFRFRMU19IQVZFX1RJTUVfREFURQotcGtjczdfdmVyaWZ5OiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfcnNhX2V4cGlyZWQuZGVyIjoiZGF0YV9maWxlcy9wa2NzNy1yc2EtZXhwaXJlZC5jcnQiOiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGEuYmluIjowOjAKK3BrY3M3X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9yc2FfZXhwaXJlZC5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzNy1yc2EtZXhwaXJlZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6MDowCiAKIFBLQ1M3IFNpZ25lZCBEYXRhIFZlcmlmeSBGYWlsIEV4cGlyZWQgQ2VydCAjMTkgaGF2ZSBEQVRFX1RJTUUKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXBrY3M3X3ZlcmlmeToiZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3LXJzYS1leHBpcmVkLmNydCI6ImRhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOjA6TUJFRFRMU19FUlJfUEtDUzdfQ0VSVF9EQVRFX0lOVkFMSUQKK3BrY3M3X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YV9jZXJ0X3NpZ25lZF9zaGEyNTYuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczctcnNhLWV4cGlyZWQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGtjczdfZGF0YS5iaW4iOjA6TUJFRFRMU19FUlJfUEtDUzdfQ0VSVF9EQVRFX0lOVkFMSUQKIAogUEtDUzcgU2lnbmVkIERhdGEgVmVyaWZ5IEZhaWwgRXhwaXJlZCBDZXJ0ICMxOSBubyBEQVRFX1RJTUUgMQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6IU1CRURUTFNfSEFWRV9USU1FX0RBVEU6TUJFRFRMU19SU0FfQwotcGtjczdfdmVyaWZ5OiJkYXRhX2ZpbGVzL3BrY3M3X2RhdGFfY2VydF9zaWduZWRfc2hhMjU2LmRlciI6ImRhdGFfZmlsZXMvcGtjczctcnNhLWV4cGlyZWQuY3J0IjoiZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6MDpNQkVEVExTX0VSUl9SU0FfVkVSSUZZX0ZBSUxFRAorcGtjczdfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX2NlcnRfc2lnbmVkX3NoYTI1Ni5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzNy1yc2EtZXhwaXJlZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhLmJpbiI6MDpNQkVEVExTX0VSUl9SU0FfVkVSSUZZX0ZBSUxFRAogCiBQS0NTNyBTaWduZWQgRGF0YSBWZXJpZnkgRmFpbCBFeHBpcmVkIENlcnQgIzE5IG5vIFRJTUVfREFURSAyCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjohTUJFRFRMU19IQVZFX1RJTUVfREFURTpNQkVEVExTX1JTQV9DCi1wa2NzN192ZXJpZnk6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV9yc2FfZXhwaXJlZC5kZXIiOiJkYXRhX2ZpbGVzL3BrY3M3LXJzYS1leHBpcmVkLmNydCI6ImRhdGFfZmlsZXMvcGtjczdfZGF0YV8xLmJpbiI6MDpNQkVEVExTX0VSUl9SU0FfVkVSSUZZX0ZBSUxFRAorcGtjczdfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wa2NzN19kYXRhX3JzYV9leHBpcmVkLmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3LXJzYS1leHBpcmVkLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BrY3M3X2RhdGFfMS5iaW4iOjA6TUJFRFRMU19FUlJfUlNBX1ZFUklGWV9GQUlMRUQKIAogUEtDUzcgUGFyc2UgRmFpbHVyZSBJbnZhbGlkIEFTTjE6IEFkZCBudWxsIGJ5dGUgdG8gc3RhcnQgIzIwLjAKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2CmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wa2NzNy5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrY3M3LmZ1bmN0aW9uCmluZGV4IDRjOGJmMjMuLmU1ZGM0YmQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrY3M3LmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrY3M3LmZ1bmN0aW9uCkBAIC0xNyw3ICsxNyw3IEBACiAgKiBFTkRfREVQRU5ERU5DSUVTCiAgKi8KIC8qIEJFR0lOX1NVSVRFX0hFTFBFUlMgKi8KLWludCBwa2NzN19wYXJzZV9idWZmZXIodW5zaWduZWQgY2hhciAqcGtjczdfYnVmLCBpbnQgYnVmbGVuKQorc3RhdGljIGludCBwa2NzN19wYXJzZV9idWZmZXIodW5zaWduZWQgY2hhciAqcGtjczdfYnVmLCBpbnQgYnVmbGVuKQogewogICAgIGludCByZXM7CiAgICAgbWJlZHRsc19wa2NzNyBwa2NzNzsKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrcGFyc2UuZGF0YSBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrcGFyc2UuZGF0YQppbmRleCAxNjUwZjUxLi5iMjVhNzk2IDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wa3BhcnNlLmRhdGEKKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGtwYXJzZS5kYXRhCkBAIC0xLDExNTggKzEsMTE2MCBAQAogUGFyc2UgUlNBIEtleSAjMSAoTm8gcGFzc3dvcmQgd2hlbiByZXF1aXJlZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19BRVNfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvdGVzdC1jYS5rZXkiOiJOVUxMIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2Eua2V5IjoiTlVMTCI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjMiAoQ29ycmVjdCBwYXNzd29yZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19BRVNfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvdGVzdC1jYS5rZXkiOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmtleSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICMzIChXcm9uZyBwYXNzd29yZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19BRVNfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvdGVzdC1jYS5rZXkiOiJQb2xhclNTTFdST05HIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2Eua2V5IjoiUG9sYXJTU0xXUk9ORyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNCAoREVTIEVuY3J5cHRlZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfREVTX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfZGVzLnBlbSI6InRlc3RrZXkiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczFfMTAyNF9kZXMucGVtIjoidGVzdGtleSI6MAogCiBQYXJzZSBSU0EgS2V5ICM1ICgzREVTIEVuY3J5cHRlZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfREVTX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfM2Rlcy5wZW0iOiJ0ZXN0a2V5IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfM2Rlcy5wZW0iOiJ0ZXN0a2V5IjowCiAKIFBhcnNlIFJTQSBLZXkgIzYgKEFFUy0xMjggRW5jcnlwdGVkKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19BRVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczFfMTAyNF9hZXMxMjgucGVtIjoidGVzdGtleSI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8xMDI0X2FlczEyOC5wZW0iOiJ0ZXN0a2V5IjowCiAKIFBhcnNlIFJTQSBLZXkgIzcgKEFFUy0xOTIgRW5jcnlwdGVkKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19BRVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOiFNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSAotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfYWVzMTkyLnBlbSI6InRlc3RrZXkiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczFfMTAyNF9hZXMxOTIucGVtIjoidGVzdGtleSI6MAogCiBQYXJzZSBSU0EgS2V5ICM4IChBRVMtMjU2IEVuY3J5cHRlZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfQUVTX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzMV8xMDI0X2FlczI1Ni5wZW0iOiJ0ZXN0a2V5IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzEwMjRfYWVzMjU2LnBlbSI6InRlc3RrZXkiOjAKIAogUGFyc2UgUlNBIEtleSAjOSAoMjA0OC1iaXQsIERFUyBFbmNyeXB0ZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX0RFU19DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X2Rlcy5wZW0iOiJ0ZXN0a2V5IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfZGVzLnBlbSI6InRlc3RrZXkiOjAKIAogUGFyc2UgUlNBIEtleSAjMTAgKDIwNDgtYml0LCAzREVTIEVuY3J5cHRlZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfREVTX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfM2Rlcy5wZW0iOiJ0ZXN0a2V5IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfM2Rlcy5wZW0iOiJ0ZXN0a2V5IjowCiAKIFBhcnNlIFJTQSBLZXkgIzExICgyMDQ4LWJpdCwgQUVTLTEyOCBFbmNyeXB0ZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX0FFU19DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X2FlczEyOC5wZW0iOiJ0ZXN0a2V5IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfYWVzMTI4LnBlbSI6InRlc3RrZXkiOjAKIAogUGFyc2UgUlNBIEtleSAjMTIgKDIwNDgtYml0LCBBRVMtMTkyIEVuY3J5cHRlZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfQUVTX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X2FlczE5Mi5wZW0iOiJ0ZXN0a2V5IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfYWVzMTkyLnBlbSI6InRlc3RrZXkiOjAKIAogUGFyc2UgUlNBIEtleSAjMTMgKDIwNDgtYml0LCBBRVMtMjU2IEVuY3J5cHRlZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfQUVTX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X2FlczI1Ni5wZW0iOiJ0ZXN0a2V5IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfYWVzMjU2LnBlbSI6InRlc3RrZXkiOjAKIAogUGFyc2UgUlNBIEtleSAjMTQgKDQwOTYtYml0LCBERVMgRW5jcnlwdGVkKQotZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19ERVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczFfNDA5Nl9kZXMucGVtIjoidGVzdGtleSI6MAorZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19ERVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2X2Rlcy5wZW0iOiJ0ZXN0a2V5IjowCiAKIFBhcnNlIFJTQSBLZXkgIzE1ICg0MDk2LWJpdCwgM0RFUyBFbmNyeXB0ZWQpCi1kZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX0RFU19DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2XzNkZXMucGVtIjoidGVzdGtleSI6MAorZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19ERVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2XzNkZXMucGVtIjoidGVzdGtleSI6MAogCiBQYXJzZSBSU0EgS2V5ICMxNiAoNDA5Ni1iaXQsIEFFUy0xMjggRW5jcnlwdGVkKQotZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19BRVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczFfNDA5Nl9hZXMxMjgucGVtIjoidGVzdGtleSI6MAorZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19BRVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzMV80MDk2X2FlczEyOC5wZW0iOiJ0ZXN0a2V5IjowCiAKIFBhcnNlIFJTQSBLZXkgIzE3ICg0MDk2LWJpdCwgQUVTLTE5MiBFbmNyeXB0ZWQpCi1kZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX0FFU19DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6IU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RICi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczFfNDA5Nl9hZXMxOTIucGVtIjoidGVzdGtleSI6MAorZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19BRVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOiFNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSDpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczFfNDA5Nl9hZXMxOTIucGVtIjoidGVzdGtleSI6MAogCiBQYXJzZSBSU0EgS2V5ICMxOCAoNDA5Ni1iaXQsIEFFUy0yNTYgRW5jcnlwdGVkKQotZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19BRVNfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOiFNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSAotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfYWVzMjU2LnBlbSI6InRlc3RrZXkiOjAKK2RlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfQUVTX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEg6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzQwOTZfYWVzMjU2LnBlbSI6InRlc3RrZXkiOjAKIAogUGFyc2UgUlNBIEtleSAjMTkgKFBLQ1MjOCB3cmFwcGVkKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19QRU1fUEFSU0VfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvZm9ybWF0X2dlbi5rZXkiOiIiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9mb3JtYXRfZ2VuLmtleSI6IiI6MAogCiBQYXJzZSBSU0EgS2V5ICMyMCAoUEtDUyM4IGVuY3J5cHRlZCBTSEExLTNERVMpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfM2Rlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICMyMC4xIChQS0NTIzggZW5jcnlwdGVkIFNIQTEtM0RFUywgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzNkZXMucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzIwLjIgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0zREVTLCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTMTJfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8zZGVzLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8zZGVzLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjMjEgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0zREVTLCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTMTJfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzNkZXMucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzIxLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0zREVTLCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzNkZXMucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzIxLjIgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0zREVTLCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfM2Rlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfM2Rlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzIyIChQS0NTIzggZW5jcnlwdGVkIFNIQTEtM0RFUywgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfM2Rlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTMTJfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzNkZXMucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzIyLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0zREVTLCA0MDk2LWJpdCwgd3JvbmcgUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICMyMi4yIChQS0NTIzggZW5jcnlwdGVkIFNIQTEtM0RFUywgNDA5Ni1iaXQsIG5vIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzNkZXMucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfM2Rlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzIzIChQS0NTIzggZW5jcnlwdGVkIFNIQTEtM0RFUyBERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfM2Rlcy5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjMjQgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0zREVTIERFUiwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfM2Rlcy5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjMjUgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0zREVTIERFUiwgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfM2Rlcy5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjMjYgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0yREVTKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzJkZXMucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjMjYuMSAoUEtDUyM4IGVuY3J5cHRlZCBTSEExLTJERVMsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5wZW0iOiJQb2xhclNMVGVzdCI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMTAyNF8yZGVzLnBlbSI6IlBvbGFyU0xUZXN0IjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICMyNi4yIChQS0NTIzggZW5jcnlwdGVkIFNIQTEtMkRFUywgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzI3IChQS0NTIzggZW5jcnlwdGVkIFNIQTEtMkRFUywgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfMmRlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8yZGVzLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICMyNy4xIChQS0NTIzggZW5jcnlwdGVkIFNIQTEtMkRFUywgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfMmRlcy5wZW0iOiJQb2xhclNMVGVzdCI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfMjA0OF8yZGVzLnBlbSI6IlBvbGFyU0xUZXN0IjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICMyNy4yIChQS0NTIzggZW5jcnlwdGVkIFNIQTEtMkRFUywgMjA0OC1iaXQgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfMmRlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfMmRlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzI4IChQS0NTIzggZW5jcnlwdGVkIFNIQTEtMkRFUywgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfMmRlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTMTJfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzJkZXMucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzI4LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0yREVTLCA0MDk2LWJpdCwgd3JvbmcgUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzEyX0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8yZGVzLnBlbSI6IlBvbGFyU0xUZXN0IjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlX3NoYTFfNDA5Nl8yZGVzLnBlbSI6IlBvbGFyU0xUZXN0IjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICMyOC4yIChQS0NTIzggZW5jcnlwdGVkIFNIQTEtMkRFUywgNDA5Ni1iaXQsIG5vIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzJkZXMucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfMmRlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzI5IChQS0NTIzggZW5jcnlwdGVkIFNIQTEtMkRFUyBERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8xMDI0XzJkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzEwMjRfMmRlcy5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjMzAgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0yREVTIERFUiwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV8yMDQ4XzJkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzIwNDhfMmRlcy5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjMzEgKFBLQ1MjOCBlbmNyeXB0ZWQgU0hBMS0yREVTIERFUiwgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVfc2hhMV80MDk2XzJkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxMl9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZV9zaGExXzQwOTZfMmRlcy5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjMzggKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjMzguMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUywgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICMzOC4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTLCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzM5IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTLCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICMzOS4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTLCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICMzOS4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTLCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlcy5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXMucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM0MCAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUywgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzQwLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMsIDQwOTYtYml0LCB3cm9uZyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzc6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzQwLjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMsIDQwOTYtYml0LCBubyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM0MSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzQxLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgREVSLCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzLmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM0MS4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIERFUiwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXMuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlcy5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM0MiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBERVIsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzLmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM0Mi4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIERFUiwgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzQyLjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgREVSLCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXMuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlcy5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM0MyAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBERVIsIDQwOTYtYml0KQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzLmRlciI6IlBvbGFyU1NMVGVzdCI6MAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzQzLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgREVSLCA0MDk2LWJpdCwgd3JvbmcgUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlcy5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzc6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzQzLjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgREVSLCA0MDk2LWJpdCwgbm8gUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXMuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzLmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzQ0IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzQ0LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUywgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNDQuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTLCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM0NSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTLCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXMucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNDUuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTLCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXMucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNDUuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTLCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjNDYgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUywgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM0Ni4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMsIDQwOTYtYml0LCB3cm9uZyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM0Ni4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMsIDQwOTYtYml0LCBubyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXMucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjNDcgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzLmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM0Ny4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgREVSLCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNDcuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIERFUiwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlcy5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXMuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjNDggKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBERVIsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNDguMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIERFUiwgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzLmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM0OC4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgREVSLCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlcy5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXMuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjNDkgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBERVIsIDQwOTYtYml0KQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXMuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM0OS4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgREVSLCA0MDk2LWJpdCwgd3JvbmcgUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzLmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM0OS4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgREVSLCA0MDk2LWJpdCwgbm8gUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlcy5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM1MCAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTIyNC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNTAuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTIyNC5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNTAuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTIyNC5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjNTEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyMjQsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM1MS4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjI0LCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTIyNC5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNTEuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCwgMjA0OC1iaXQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTIyNC5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzUyIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjI0LCA0MDk2LWJpdCkKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjI0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNTIuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCwgNDA5Ni1iaXQsIHdyb25nIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ok1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNTIuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCwgNDA5Ni1iaXQsIG5vIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzUzIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjI0IERFUikKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzUzLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyMjQgREVSLCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNTMuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCBERVIsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjI0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzU0IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjI0IERFUiwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM1NC4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjI0IERFUiwgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM1NC4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjI0IERFUiwgMjA0OC1iaXQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjI0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzU1IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjI0IERFUiwgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNTUuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCBERVIsIDQwOTYtYml0LCB3cm9uZyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjI0LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ok1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNTUuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTIyNCBERVIsIDQwOTYtYml0LCBubyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTIyNC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyMjQuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjNTYgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzU2LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzU2LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjI0LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTIyNC5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzU3IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyMjQsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNTcuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjI0LCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzU3LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCwgMjA0OC1iaXQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM1OCAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjI0LCA0MDk2LWJpdCkKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzU4LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCwgNDA5Ni1iaXQsIHdyb25nIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjI0LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzc6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzU4LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCwgNDA5Ni1iaXQsIG5vIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTIyNC5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM1OSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjI0IERFUikKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjI0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjI0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM1OS4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyMjQgREVSLCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzU5LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCBERVIsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyMjQuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTIyNC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM2MCAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjI0IERFUiwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNjAuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjI0IERFUiwgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNjAuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjI0IERFUiwgMjA0OC1iaXQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEyMjQuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTIyNC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM2MSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjI0IERFUiwgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTIyNC5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzYxLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCBERVIsIDQwOTYtYml0LCB3cm9uZyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzc6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyMjQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzYxLjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTIyNCBERVIsIDQwOTYtYml0LCBubyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjI0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjI0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzYyIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjU2LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM2Mi4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2LCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjU2LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM2Mi4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2LCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjU2LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM2MyAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTI1NiwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzYzLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyNTYsIDIwNDgtYml0LCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjU2LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM2My4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2LCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMjU2LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjNjQgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyNTYsIDQwOTYtYml0KQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyNTYucGVtIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM2NC4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2LCA0MDk2LWJpdCwgd3JvbmcgUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzc6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM2NC4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2LCA0MDk2LWJpdCwgbm8gUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjNjUgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyNTYgREVSKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNjUuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTI1NiBERVIsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM2NS4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2IERFUiwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEyNTYuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjNjYgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyNTYgREVSLCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzY2LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyNTYgREVSLCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzY2LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyNTYgREVSLCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEyNTYuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjNjcgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEyNTYgREVSLCA0MDk2LWJpdCkKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM2OC4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2IERFUiwgNDA5Ni1iaXQsIHdyb25nIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEyNTYuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzc6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM2OC4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMjU2IERFUiwgNDA5Ni1iaXQsIG5vIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMjU2LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTI1Ni5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM2OSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNjkuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2LCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNjkuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2LCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyNTYucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjU2LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjNzAgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTI1NiwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM3MC4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyNTYsIDIwNDgtYml0LCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNzAuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2LCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTI1Ni5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzcxIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyNTYsIDQwOTYtYml0KQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNzEuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2LCA0MDk2LWJpdCwgd3JvbmcgUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyNTYucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNzEuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2LCA0MDk2LWJpdCwgbm8gUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjU2LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzcyIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyNTYgREVSKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyNTYuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEyNTYuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzcyLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTI1NiBERVIsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNzIuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2IERFUiwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTI1Ni5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMjU2LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzczIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyNTYgREVSLCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM3My4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyNTYgREVSLCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM3My4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyNTYgREVSLCAyMDQ4LWJpdCwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTI1Ni5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMjU2LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzc0IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEyNTYgREVSLCA0MDk2LWJpdCkKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMjU2LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNzQuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2IERFUiwgNDA5Ni1iaXQsIHdyb25nIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTI1Ni5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNzQuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMjU2IERFUiwgNDA5Ni1iaXQsIG5vIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyNTYuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEyNTYuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjNzUgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzc1LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzc1LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEzODQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzc2IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMzg0LCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNzYuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTM4NCwgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzc2LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQsIDIwNDgtYml0LCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGEzODQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM3NyAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTM4NCwgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTM4NC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzc3LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQsIDQwOTYtYml0LCB3cm9uZyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzc3LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQsIDQwOTYtYml0LCBubyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM3OCAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTM4NCBERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM3OC4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBMzg0IERFUiwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzc4LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQgREVSLCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTM4NC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM3OSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTM4NCBERVIsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjNzkuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTM4NCBERVIsIDIwNDgtYml0LCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjNzkuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTM4NCBERVIsIDIwNDgtYml0LCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTM4NC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM4MCAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTM4NCBERVIsIDQwOTYtYml0KQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzgwLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQgREVSLCA0MDk2LWJpdCwgd3JvbmcgUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTM4NC5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzgwLjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEEzODQgREVSLCA0MDk2LWJpdCwgbm8gUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGEzODQuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhMzg0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzgxIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM4MS4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM4MS4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTM4NC5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEzODQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM4MiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMzg0LCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzgyLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTM4NCwgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM4Mi4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQsIDIwNDgtYml0LCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMzg0LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjODMgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTM4NCwgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM4My4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQsIDQwOTYtYml0LCB3cm9uZyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTM4NC5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ok1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM4My4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQsIDQwOTYtYml0LCBubyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEzODQucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjODQgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTM4NCBERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTM4NC5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTM4NC5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjODQuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBMzg0IERFUiwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM4NS4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQgREVSLCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhMzg0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGEzODQuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjODYgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTM4NCBERVIsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzg2LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTM4NCBERVIsIDIwNDgtYml0LCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzg2LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTM4NCBERVIsIDIwNDgtYml0LCBubyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9kZXNfc2hhMzg0LmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGEzODQuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjODcgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTM4NCBERVIsIDQwOTYtYml0KQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGEzODQuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM4Ny4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQgREVSLCA0MDk2LWJpdCwgd3JvbmcgUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ok1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM4Ny4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEEzODQgREVSLCA0MDk2LWJpdCwgbm8gUFcpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTM4NC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTM4NC5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM4OCAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMikKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTUxMi5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjODguMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMiwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTUxMi5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjODguMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMiwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTUxMi5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKIAogUGFyc2UgUlNBIEtleSAjODkgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEE1MTIsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM4OS4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBNTEyLCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTUxMi5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjODkuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMiwgMjA0OC1iaXQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF8zZGVzX3NoYTUxMi5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzkwIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBNTEyLCA0MDk2LWJpdCkKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhNTEyLnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjOTAuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMiwgNDA5Ni1iaXQsIHdyb25nIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ok1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5wZW0iOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjOTAuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMiwgNDA5Ni1iaXQsIG5vIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzkxIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBNTEyIERFUikKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfM2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzkxLjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIDNERVMgaG1hY1dpdGhTSEE1MTIgREVSLCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF8zZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjOTEuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMiBERVIsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0XzNkZXNfc2hhNTEyLmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzkyIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBNTEyIERFUiwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM5Mi4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBNTEyIERFUiwgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfM2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAogCiBQYXJzZSBSU0EgS2V5ICM5Mi4yIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBNTEyIERFUiwgMjA0OC1iaXQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4XzNkZXNfc2hhNTEyLmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzkzIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiAzREVTIGhtYWNXaXRoU0hBNTEyIERFUiwgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjOTMuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMiBERVIsIDQwOTYtYml0LCB3cm9uZyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2XzNkZXNfc2hhNTEyLmRlciI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ok1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjOTMuMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgM0RFUyBobWFjV2l0aFNIQTUxMiBERVIsIDQwOTYtYml0LCBubyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl8zZGVzX3NoYTUxMi5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX1RFU1RfUEtfQUxMT1dfUlNBX0tFWV9QQUlSXzQwOTYKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfM2Rlc19zaGE1MTIuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKIAogUGFyc2UgUlNBIEtleSAjOTQgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMikKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzk0LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMiwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzk0LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMiwgbm8gUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhNTEyLnBlbSI6IiI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfUkVRVUlSRUQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTUxMi5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECiAKIFBhcnNlIFJTQSBLZXkgIzk1IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEE1MTIsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjOTUuMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBNTEyLCAyMDQ4LWJpdCwgd3JvbmcgUFcpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzk1LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMiwgMjA0OC1iaXQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM5NiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBNTEyLCA0MDk2LWJpdCkKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXN0IjowCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzk2LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMiwgNDA5Ni1iaXQsIHdyb25nIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzcKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhNTEyLnBlbSI6IlBvbGFyU1NMVGVzIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9NSVNNQVRDSAorZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzc6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIucGVtIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzk2LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMiwgNDA5Ni1iaXQsIG5vIFBXKQotZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTUxMi5wZW0iOiIiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX1JFUVVJUkVECitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIucGVtIjoiIjpNQkVEVExTX0VSUl9QS19QQVNTV09SRF9SRVFVSVJFRAogCiBQYXJzZSBSU0EgS2V5ICM5NyAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBNTEyIERFUikKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhNTEyLmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMTAyNF9kZXNfc2hhNTEyLmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM5Ny4xIChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBERVMgaG1hY1dpdGhTSEE1MTIgREVSLCB3cm9uZyBQVykKIGRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzk3LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMiBERVIsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8xMDI0X2Rlc19zaGE1MTIuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzEwMjRfZGVzX3NoYTUxMi5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM5OCAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBNTEyIERFUiwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjOTguMSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBNTEyIERFUiwgMjA0OC1iaXQsIHdyb25nIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX0NJUEhFUl9QQURESU5HX1BLQ1M3Ci1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlcyI6TUJFRFRMU19FUlJfUEtfUEFTU1dPUkRfTUlTTUFUQ0gKIAogUGFyc2UgUlNBIEtleSAjOTguMiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBNTEyIERFUiwgMjA0OC1iaXQsIG5vIFBXKQogZGVwZW5kc19vbjpNQkVEVExTX0RFU19DOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2Rlc19zaGE1MTIuZGVyIjoiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfZGVzX3NoYTUxMi5kZXIiOiIiOk1CRURUTFNfRVJSX1BLX0tFWV9JTlZBTElEX0ZPUk1BVAogCiBQYXJzZSBSU0EgS2V5ICM5OSAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgREVTIGhtYWNXaXRoU0hBNTEyIERFUiwgNDA5Ni1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzQwOTZfZGVzX3NoYTUxMi5kZXIiOiJQb2xhclNTTFRlc3QiOjAKK2RlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzk5LjEgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMiBERVIsIDQwOTYtYml0LCB3cm9uZyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6TUJFRFRMU19DSVBIRVJfUEFERElOR19QS0NTNwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfQ0lQSEVSX01PREVfQ0JDOk1CRURUTFNfQ0lQSEVSX1BBRERJTkdfUEtDUzc6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl80MDk2X2Rlc19zaGE1MTIuZGVyIjoiUG9sYXJTU0xUZXMiOk1CRURUTFNfRVJSX1BLX1BBU1NXT1JEX01JU01BVENICiAKIFBhcnNlIFJTQSBLZXkgIzk5LjIgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIERFUyBobWFjV2l0aFNIQTUxMiBERVIsIDQwOTYtYml0LCBubyBQVykKLWRlcGVuZHNfb246TUJFRFRMU19ERVNfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhNTEyLmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCitkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtDUzVfQzpNQkVEVExTX0NJUEhFUl9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfNDA5Nl9kZXNfc2hhNTEyLmRlciI6IiI6TUJFRFRMU19FUlJfUEtfS0VZX0lOVkFMSURfRk9STUFUCiAKIFBhcnNlIFJTQSBLZXkgIzk5LjMgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIEFFUy0xMjgtQ0JDIGhtYWNXaXRoU0hBMzg0LCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19BRVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczEyOGNiY19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXN0IjowCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4X3BiZXMyX3Bia2RmMl8yMDQ4X2FlczEyOGNiY19zaGEzODQucGVtIjoiUG9sYXJTU0xUZXN0IjowCiAKIFBhcnNlIFJTQSBLZXkgIzk5LjQgKFBLQ1MjOCBlbmNyeXB0ZWQgdjIgUEJLREYyIEFFUy0xOTItQ0JDIGhtYWNXaXRoU0hBMzg0LCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19BRVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxOTJjYmNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxOTJjYmNfc2hhMzg0LnBlbSI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM5OS41IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBBRVMtMjU2LUNCQyBobWFjV2l0aFNIQTM4NCwgMjA0OC1iaXQpCiBkZXBlbmRzX29uOk1CRURUTFNfQUVTX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkM6IU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RICi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMjU2Y2JjX3NoYTM4NC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfcGJlczJfcGJrZGYyXzIwNDhfYWVzMjU2Y2JjX3NoYTM4NC5wZW0iOiJQb2xhclNTTFRlc3QiOjAKIAogUGFyc2UgUlNBIEtleSAjOTkuNiAoUEtDUyM4IGVuY3J5cHRlZCB2MiBQQktERjIgQUVTLTEyOC1DQkMgaG1hY1dpdGhTSEEzODQgREVSLCAyMDQ4LWJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19BRVNfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS0NTNV9DOk1CRURUTFNfQ0lQSEVSX0M6TUJFRFRMU19DSVBIRVJfTU9ERV9DQkMKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxMjhjYmNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxMjhjYmNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM5OS43IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBBRVMtMTkyLUNCQyBobWFjV2l0aFNIQTM4NCBERVIsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0FFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxOTJjYmNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMxOTJjYmNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCiBQYXJzZSBSU0EgS2V5ICM5OS44IChQS0NTIzggZW5jcnlwdGVkIHYyIFBCS0RGMiBBRVMtMjU2LUNCQyBobWFjV2l0aFNIQTM4NCBERVIsIDIwNDgtYml0KQogZGVwZW5kc19vbjpNQkVEVExTX0FFU19DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLQ1M1X0M6TUJFRFRMU19DSVBIRVJfQzpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMyNTZjYmNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzOF9wYmVzMl9wYmtkZjJfMjA0OF9hZXMyNTZjYmNfc2hhMzg0LmRlciI6IlBvbGFyU1NMVGVzdCI6MAogCi1QYXJzZSBSU0EgS2V5ICMxMDAuMSAoNTEyLWJpdCkKLWRlcGVuZHNfb246TUJFRFRMU19QRU1fQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhNTEyLmtleSI6IiI6MAorIyBUZXN0IGtleXMgd2l0aCBub24td29yZC1hbGlnbmVkIHNpemVzLgorIyBXZSB1c2Ugc2l6ZXMgdGhhdCBhcmUgbGFyZ2UgZW5vdWdoIHRvIGV4ZXJjaXNlIFBLQ1MjMSB2MS41IHNpZ25hdHVyZSB3aXRoCisjIHRoZSBsYXJnZXN0IHN1cHBvcnRlZCBoYXNoZXMgKFNIQS01MTIgYW5kIFNIQTMtNTEyLikKK1BhcnNlIFJTQSBLZXkgIzEwMCAoNzY4LWJpdCkKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczFfNzY4X2NsZWFyLmRlciI6IiI6MAogCi1QYXJzZSBSU0EgS2V5ICMxMDAuMSAoNTIxLWJpdCkKLWRlcGVuZHNfb246TUJFRFRMU19QRU1fQwotcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhNTIxLmtleSI6IiI6MAorUGFyc2UgUlNBIEtleSAjMTAwICg3NjktYml0KQorcGtfcGFyc2Vfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzMV83NjlfY2xlYXIuZGVyIjoiIjowCiAKLVBhcnNlIFJTQSBLZXkgIzEwMC4xICg1MjItYml0KQotZGVwZW5kc19vbjpNQkVEVExTX1BFTV9DCi1wa19wYXJzZV9rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2E1MjIua2V5IjoiIjowCitQYXJzZSBSU0EgS2V5ICMxMDAgKDc3MC1iaXQpCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzc3MF9jbGVhci5kZXIiOiIiOjAKIAotUGFyc2UgUlNBIEtleSAjMTAwLjEgKDUyOC1iaXQpCi1kZXBlbmRzX29uOk1CRURUTFNfUEVNX0MKLXBrX3BhcnNlX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYTUyOC5rZXkiOiIiOjAKK1BhcnNlIFJTQSBLZXkgIzEwMCAoNzc2LWJpdCkKK3BrX3BhcnNlX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczFfNzc2X2NsZWFyLmRlciI6IiI6MAorCitQYXJzZSBSU0EgS2V5ICMxMDAgKDc4NC1iaXQpCitwa19wYXJzZV9rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3MxXzc4NF9jbGVhci5kZXIiOiIiOjAKIAogUGFyc2UgUHVibGljIFJTQSBLZXkgIzEgKFBLQ1MjOCB3cmFwcGVkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DCi1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3M4XzIwNDhfcHVibGljLnBlbSI6MAorcGtfcGFyc2VfcHVibGljX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczhfMjA0OF9wdWJsaWMucGVtIjowCiAKIFBhcnNlIFB1YmxpYyBSU0EgS2V5ICMxIChQS0NTIzggd3JhcHBlZCwgREVSKQotcGtfcGFyc2VfcHVibGljX2tleWZpbGVfcnNhOiJkYXRhX2ZpbGVzL3JzYV9wa2NzOF8yMDQ4X3B1YmxpYy5kZXIiOjAKK3BrX3BhcnNlX3B1YmxpY19rZXlmaWxlX3JzYToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3BrY3M4XzIwNDhfcHVibGljLmRlciI6MAogCiBQYXJzZSBQdWJsaWMgUlNBIEtleSAjMyAoUEtDUyMxIHdyYXBwZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0MKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX3JzYToiZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9wdWJsaWMucGVtIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9yc2E6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9wa2NzMV8yMDQ4X3B1YmxpYy5wZW0iOjAKIAogUGFyc2UgUHVibGljIFJTQSBLZXkgIzQgKFBLQ1MjMSB3cmFwcGVkLCBERVIpCi1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9yc2E6ImRhdGFfZmlsZXMvcnNhX3BrY3MxXzIwNDhfcHVibGljLmRlciI6MAorcGtfcGFyc2VfcHVibGljX2tleWZpbGVfcnNhOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2FfcGtjczFfMjA0OF9wdWJsaWMuZGVyIjowCiAKIFBhcnNlIFB1YmxpYyBFQyBLZXkgIzEgKFJGQyA1NDgwLCBERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfRUNQX0hBVkVfU0VDUDE5MlIxCi1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19wdWIuZGVyIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHViLmRlciI6MAogCiBQYXJzZSBQdWJsaWMgRUMgS2V5ICMyIChSRkMgNTQ4MCwgUEVNKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDE5MlIxCi1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19wdWIucGVtIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHViLnBlbSI6MAogCiBQYXJzZSBQdWJsaWMgRUMgS2V5ICMyYSAoUkZDIDU0ODAsIFBFTSwgc2VjcDE5MnIxLCBjb21wcmVzc2VkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfUEFSU0VfRUNfQ09NUFJFU1NFRDpNQkVEVExTX0VDUF9EUF9TRUNQMTkyUjFfRU5BQkxFRAotcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfcHViLmNvbXAucGVtIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHViLmNvbXAucGVtIjowCiAKIFBhcnNlIFB1YmxpYyBFQyBLZXkgIzMgKFJGQyA1NDgwLCBzZWNwMjI0cjEpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjI0UjEKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjXzIyNF9wdWIucGVtIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfMjI0X3B1Yi5wZW0iOjAKIAogIyBDb21wcmVzc2VkIHBvaW50cyBwYXJzaW5nIGRvZXMgbm90IHN1cHBvcnQgTUJFRFRMU19FQ1BfRFBfU0VDUDIyNFIxIGFuZAogIyBNQkVEVExTX0VDUF9EUF9TRUNQMjI0SzEuIFRoZXJlZm9yZSBhIGZhaWx1cmUgaXMgZXhwZWN0ZWQgaW4gdGhpcyBjYXNlCiBQYXJzZSBQdWJsaWMgRUMgS2V5ICMzYSAoUkZDIDU0ODAsIHNlY3AyMjRyMSwgY29tcHJlc3NlZCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQ6TUJFRFRMU19FQ1BfRFBfU0VDUDIyNFIxX0VOQUJMRUQKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjXzIyNF9wdWIuY29tcC5wZW0iOk1CRURUTFNfRVJSX0VDUF9GRUFUVVJFX1VOQVZBSUxBQkxFCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfMjI0X3B1Yi5jb21wLnBlbSI6TUJFRFRMU19FUlJfRUNQX0ZFQVRVUkVfVU5BVkFJTEFCTEUKIAogUGFyc2UgUHVibGljIEVDIEtleSAjNCAoUkZDIDU0ODAsIHNlY3AyNTZyMSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMQotcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfMjU2X3B1Yi5wZW0iOjAKK3BrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY18yNTZfcHViLnBlbSI6MAogCiBQYXJzZSBQdWJsaWMgRUMgS2V5ICM0YSAoUkZDIDU0ODAsIHNlY3AyNTZyMSwgY29tcHJlc3NlZCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQ6TUJFRFRMU19FQ1BfRFBfU0VDUDI1NlIxX0VOQUJMRUQKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjXzI1Nl9wdWIuY29tcC5wZW0iOjAKK3BrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY18yNTZfcHViLmNvbXAucGVtIjowCiAKIFBhcnNlIFB1YmxpYyBFQyBLZXkgIzUgKFJGQyA1NDgwLCBzZWNwMzg0cjEpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjXzM4NF9wdWIucGVtIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfMzg0X3B1Yi5wZW0iOjAKIAogUGFyc2UgUHVibGljIEVDIEtleSAjNWEgKFJGQyA1NDgwLCBzZWNwMzg0cjEsIGNvbXByZXNzZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VEOk1CRURUTFNfRUNQX0RQX1NFQ1AzODRSMV9FTkFCTEVECi1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY18zODRfcHViLmNvbXAucGVtIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfMzg0X3B1Yi5jb21wLnBlbSI6MAogCiBQYXJzZSBQdWJsaWMgRUMgS2V5ICM2IChSRkMgNTQ4MCwgc2VjcDUyMXIxKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDUyMVIxCi1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY181MjFfcHViLnBlbSI6MAorcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzUyMV9wdWIucGVtIjowCiAKIFBhcnNlIFB1YmxpYyBFQyBLZXkgIzZhIChSRkMgNTQ4MCwgc2VjcDUyMXIxLCBjb21wcmVzc2VkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfUEFSU0VfRUNfQ09NUFJFU1NFRDpNQkVEVExTX0VDUF9EUF9TRUNQNTIxUjFfRU5BQkxFRAotcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfNTIxX3B1Yi5jb21wLnBlbSI6MAorcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzUyMV9wdWIuY29tcC5wZW0iOjAKIAogUGFyc2UgUHVibGljIEVDIEtleSAjNyAoUkZDIDU0ODAsIGJyYWlucG9vbFAyNTZyMSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX0JQMjU2UjEKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX2JwMjU2X3B1Yi5wZW0iOjAKK3BrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19icDI1Nl9wdWIucGVtIjowCiAKIFBhcnNlIFB1YmxpYyBFQyBLZXkgIzdhIChSRkMgNTQ4MCwgYnJhaW5wb29sUDI1NnIxLCBjb21wcmVzc2VkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfUEFSU0VfRUNfQ09NUFJFU1NFRDpNQkVEVExTX0VDUF9EUF9CUDI1NlIxX0VOQUJMRUQKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX2JwMjU2X3B1Yi5jb21wLnBlbSI6MAorcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX2JwMjU2X3B1Yi5jb21wLnBlbSI6MAogCiBQYXJzZSBQdWJsaWMgRUMgS2V5ICM4IChSRkMgNTQ4MCwgYnJhaW5wb29sUDM4NHIxKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfQlAzODRSMQotcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfYnAzODRfcHViLnBlbSI6MAorcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX2JwMzg0X3B1Yi5wZW0iOjAKIAogUGFyc2UgUHVibGljIEVDIEtleSAjOGEgKFJGQyA1NDgwLCBicmFpbnBvb2xQMzg0cjEsIGNvbXByZXNzZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VEOk1CRURUTFNfRUNQX0RQX0JQMzg0UjFfRU5BQkxFRAotcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfYnAzODRfcHViLmNvbXAucGVtIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfYnAzODRfcHViLmNvbXAucGVtIjowCiAKIFBhcnNlIFB1YmxpYyBFQyBLZXkgIzkgKFJGQyA1NDgwLCBicmFpbnBvb2xQNTEycjEpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9CUDUxMlIxCi1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19icDUxMl9wdWIucGVtIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHViLnBlbSI6MAogCiBQYXJzZSBQdWJsaWMgRUMgS2V5ICM5YSAoUkZDIDU0ODAsIGJyYWlucG9vbFA1MTJyMSwgY29tcHJlc3NlZCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQ6TUJFRFRMU19FQ1BfRFBfQlA1MTJSMV9FTkFCTEVECi1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19icDUxMl9wdWIuY29tcC5wZW0iOjAKK3BrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19icDUxMl9wdWIuY29tcC5wZW0iOjAKIAogUGFyc2UgUHVibGljIEVDIEtleSAjMTAgKFJGQyA4NDEwLCBERVIsIFgyNTUxOSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX0NVUlZFMjU1MTkKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX3gyNTUxOV9wdWIuZGVyIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3B1Yi5kZXIiOjAKIAogUGFyc2UgUHVibGljIEVDIEtleSAjMTEgKFJGQyA4NDEwLCBERVIsIFg0NDgpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9DVVJWRTQ0OAotcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfeDQ0OF9wdWIuZGVyIjowCitwa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfeDQ0OF9wdWIuZGVyIjowCiAKIFBhcnNlIFB1YmxpYyBFQyBLZXkgIzEyIChSRkMgODQxMCwgUEVNLCBYMjU1MTkpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9DVVJWRTI1NTE5Ci1wa19wYXJzZV9wdWJsaWNfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY194MjU1MTlfcHViLnBlbSI6MAorcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3gyNTUxOV9wdWIucGVtIjowCiAKIFBhcnNlIFB1YmxpYyBFQyBLZXkgIzEzIChSRkMgODQxMCwgUEVNLCBYNDQ4KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfQ1VSVkU0NDgKLXBrX3BhcnNlX3B1YmxpY19rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX3g0NDhfcHViLnBlbSI6MAorcGtfcGFyc2VfcHVibGljX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3g0NDhfcHViLnBlbSI6MAogCiBQYXJzZSBFQyBLZXkgIzEgKFNFQzEgREVSKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMTkyUjEKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfcHJ2LnNlYzEuZGVyIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHJ2LnNlYzEuZGVyIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzIgKFNFQzEgUEVNKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDE5MlIxCi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLnBlbSI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICMyYSAoU0VDMSBQRU0sIHNlY3AxOTJyMSwgY29tcHJlc3NlZCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQ6TUJFRFRMU19FQ1BfRFBfU0VDUDE5MlIxX0VOQUJMRUQKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfcHJ2LnNlYzEuY29tcC5wZW0iOiJOVUxMIjowCitwa19wYXJzZV9rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19wcnYuc2VjMS5jb21wLnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICMzIChTRUMxIFBFTSBlbmNyeXB0ZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfREVTX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AxOTJSMTpNQkVEVExTX0NJUEhFUl9NT0RFX0NCQzpNQkVEVExTX01EX0NBTl9NRDUKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfcHJ2LnNlYzEucHcucGVtIjoicG9sYXIiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLnB3LnBlbSI6InBvbGFyIjowCiAKIFBhcnNlIEVDIEtleSAjNCAoUEtDUzggREVSKQogZGVwZW5kc19vbjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AxOTJSMQotcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19wcnYucGs4LmRlciI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3Bydi5wazguZGVyIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzRhIChQS0NTOCBERVIsIG5vIHB1YmxpYyBrZXkpCiBkZXBlbmRzX29uOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxCi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX3Bydi5wazhub3B1Yi5kZXIiOiJOVUxMIjowCitwa19wYXJzZV9rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19wcnYucGs4bm9wdWIuZGVyIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzRiIChQS0NTOCBERVIsIG5vIHB1YmxpYyBrZXksIHdpdGggcGFyYW1ldGVycykKIGRlcGVuZHNfb246TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHVicGFyYW0uZGVyIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHVicGFyYW0uZGVyIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzRjIChQS0NTOCBERVIsIHdpdGggcGFyYW1ldGVycykKIGRlcGVuZHNfb246TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfcHJ2LnBrOHBhcmFtLmRlciI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3Bydi5wazhwYXJhbS5kZXIiOiJOVUxMIjowCiAKIFBhcnNlIEVDIEtleSAjNSAoUEtDUzggUEVNKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDE5MlIxCi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX3Bydi5wazgucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOC5wZW0iOiJOVUxMIjowCiAKIFBhcnNlIEVDIEtleSAjNWEgKFBLQ1M4IFBFTSwgbm8gcHVibGljIGtleSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMQotcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19wcnYucGs4bm9wdWIucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHViLnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICM1YiAoUEtDUzggUEVNLCBubyBwdWJsaWMga2V5LCB3aXRoIHBhcmFtZXRlcnMpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHVicGFyYW0ucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOG5vcHVicGFyYW0ucGVtIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzVjIChQS0NTOCBQRU0sIHdpdGggcGFyYW1ldGVycykKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMQotcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19wcnYucGs4cGFyYW0ucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHJ2LnBrOHBhcmFtLnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICM4IChTRUMxIFBFTSwgc2VjcDIyNHIxKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDIyNFIxCi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjXzIyNF9wcnYucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfMjI0X3Bydi5wZW0iOiJOVUxMIjowCiAKIFBhcnNlIEVDIEtleSAjOGEgKFNFQzEgUEVNLCBzZWNwMjI0cjEsIGNvbXByZXNzZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VEOk1CRURUTFNfRUNQX0RQX1NFQ1AyMjRSMV9FTkFCTEVECi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjXzIyNF9wcnYuY29tcC5wZW0iOiJOVUxMIjowCitwa19wYXJzZV9rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY18yMjRfcHJ2LmNvbXAucGVtIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzkgKFNFQzEgUEVNLCBzZWNwMjU2cjEpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfMjU2X3Bydi5wZW0iOiJOVUxMIjowCitwa19wYXJzZV9rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY18yNTZfcHJ2LnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICM5YSAoU0VDMSBQRU0sIHNlY3AyNTZyMSwgY29tcHJlc3NlZCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQ6TUJFRFRMU19FQ1BfRFBfU0VDUDI1NlIxX0VOQUJMRUQKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfMjU2X3Bydi5jb21wLnBlbSI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzI1Nl9wcnYuY29tcC5wZW0iOiJOVUxMIjowCiAKIFBhcnNlIEVDIEtleSAjMTAgKFNFQzEgUEVNLCBzZWNwMzg0cjEpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfMzg0X3Bydi5wZW0iOiJOVUxMIjowCitwa19wYXJzZV9rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY18zODRfcHJ2LnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICMxMGEgKFNFQzEgUEVNLCBzZWNwMzg0cjEsIGNvbXByZXNzZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VEOk1CRURUTFNfRUNQX0RQX1NFQ1AzODRSMV9FTkFCTEVECi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjXzM4NF9wcnYuY29tcC5wZW0iOiJOVUxMIjowCitwa19wYXJzZV9rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY18zODRfcHJ2LmNvbXAucGVtIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzExIChTRUMxIFBFTSwgc2VjcDUyMXIxKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDUyMVIxCi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjXzUyMV9wcnYucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfNTIxX3Bydi5wZW0iOiJOVUxMIjowCiAKIFBhcnNlIEVDIEtleSAjMTFhIChTRUMxIFBFTSwgc2VjcDUyMXIxLCBjb21wcmVzc2VkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfUEFSU0VfRUNfQ09NUFJFU1NFRDpNQkVEVExTX0VDUF9EUF9TRUNQNTIxUjFfRU5BQkxFRAotcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY181MjFfcHJ2LmNvbXAucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfNTIxX3Bydi5jb21wLnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICMxMiAoU0VDMSBQRU0sIGJwMjU2cjEpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9CUDI1NlIxCi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX2JwMjU2X3Bydi5wZW0iOiJOVUxMIjowCitwa19wYXJzZV9rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19icDI1Nl9wcnYucGVtIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzEyYSAoU0VDMSBQRU0sIGJwMjU2cjEsIGNvbXByZXNzZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19QQVJTRV9FQ19DT01QUkVTU0VEOk1CRURUTFNfRUNQX0RQX0JQMjU2UjFfRU5BQkxFRAotcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19icDI1Nl9wcnYuY29tcC5wZW0iOiJOVUxMIjowCitwa19wYXJzZV9rZXlmaWxlX2VjOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19icDI1Nl9wcnYuY29tcC5wZW0iOiJOVUxMIjowCiAKIFBhcnNlIEVDIEtleSAjMTMgKFNFQzEgUEVNLCBicDM4NHIxKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfQlAzODRSMQotcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY19icDM4NF9wcnYucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfYnAzODRfcHJ2LnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICMxM2EgKFNFQzEgUEVNLCBicDM4NHIxLCBjb21wcmVzc2VkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfUEFSU0VfRUNfQ09NUFJFU1NFRDpNQkVEVExTX0VDUF9EUF9CUDM4NFIxX0VOQUJMRUQKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfYnAzODRfcHJ2LmNvbXAucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfYnAzODRfcHJ2LmNvbXAucGVtIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzE0IChTRUMxIFBFTSwgYnA1MTJyMSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX0JQNTEyUjEKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfYnA1MTJfcHJ2LnBlbSI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5wZW0iOiJOVUxMIjowCiAKIFBhcnNlIEVDIEtleSAjMTRhIChTRUMxIFBFTSwgYnA1MTJyMSwgY29tcHJlc3NlZCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX1BBUlNFX0VDX0NPTVBSRVNTRUQ6TUJFRFRMU19FQ1BfRFBfQlA1MTJSMV9FTkFCTEVECi1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5jb21wLnBlbSI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5jb21wLnBlbSI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICMxNSAoU0VDMSBERVIsIHNlY3AyNTZrMSwgU3BlY2lmaWVkRUNEb21haW4pCiBkZXBlbmRzX29uOk1CRURUTFNfRUNQX0RQX1NFQ1AyNTZLMV9FTkFCTEVEOk1CRURUTFNfUEtfUEFSU0VfRUNfRVhURU5ERUQKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfcHJ2LnNwZWNkb20uZGVyIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHJ2LnNwZWNkb20uZGVyIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzE2IChSRkMgODQxMCwgREVSLCBYMjU1MTkpCiBkZXBlbmRzX29uOk1CRURUTFNfRUNQX0hBVkVfQ1VSVkUyNTUxOQotcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY194MjU1MTlfcHJ2LmRlciI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3gyNTUxOV9wcnYuZGVyIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzE3IChSRkMgODQxMCwgREVSLCBYNDQ4KQogZGVwZW5kc19vbjpNQkVEVExTX0VDUF9IQVZFX0NVUlZFNDQ4Ci1wa19wYXJzZV9rZXlmaWxlX2VjOiJkYXRhX2ZpbGVzL2VjX3g0NDhfcHJ2LmRlciI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3g0NDhfcHJ2LmRlciI6Ik5VTEwiOjAKIAogUGFyc2UgRUMgS2V5ICMxOCAoUkZDIDg0MTAsIFBFTSwgWDI1NTE5KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfQ1VSVkUyNTUxOQotcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiZGF0YV9maWxlcy9lY194MjU1MTlfcHJ2LnBlbSI6Ik5VTEwiOjAKK3BrX3BhcnNlX2tleWZpbGVfZWM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3gyNTUxOV9wcnYucGVtIjoiTlVMTCI6MAogCiBQYXJzZSBFQyBLZXkgIzE5IChSRkMgODQxMCwgUEVNLCBYNDQ4KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfQ1VSVkU0NDgKLXBrX3BhcnNlX2tleWZpbGVfZWM6ImRhdGFfZmlsZXMvZWNfeDQ0OF9wcnYucGVtIjoiTlVMTCI6MAorcGtfcGFyc2Vfa2V5ZmlsZV9lYzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfeDQ0OF9wcnYucGVtIjoiTlVMTCI6MAogCiBLZXkgQVNOMSAoTm8gZGF0YSkKIHBrX3BhcnNlX2tleToiIjpNQkVEVExTX0VSUl9QS19LRVlfSU5WQUxJRF9GT1JNQVQKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrcGFyc2UuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wa3BhcnNlLmZ1bmN0aW9uCmluZGV4IGEwNmZjMzAuLjYzZmYwOTIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BrcGFyc2UuZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGtwYXJzZS5mdW5jdGlvbgpAQCAtNDcsNyArNDcsMTkgQEAKICAgICBpbnQgb2sgPSAwOwogCiAgICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX2dldF9wc2FfYXR0cmlidXRlcyhjdHgsIHVzYWdlX2ZsYWcsICZhdHRyaWJ1dGVzKSwgMCk7Ci0gICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX2ltcG9ydF9pbnRvX3BzYShjdHgsICZhdHRyaWJ1dGVzLCAmcHNhX2tleSksIDApOworICAgIGludCByZXQgPSBtYmVkdGxzX3BrX2ltcG9ydF9pbnRvX3BzYShjdHgsICZhdHRyaWJ1dGVzLCAmcHNhX2tleSk7CisgICAgaWYgKG1iZWR0bHNfcGtfZ2V0X3R5cGUoY3R4KSA9PSBNQkVEVExTX1BLX1JTQSAmJgorICAgICAgICBtYmVkdGxzX3BrX2dldF9iaXRsZW4oY3R4KSAlIDggIT0gMCAmJgorICAgICAgICByZXQgPT0gTUJFRFRMU19FUlJfUEtfRkVBVFVSRV9VTkFWQUlMQUJMRSkgeworICAgICAgICAvKiBUaGVyZSBpcyBhIGhpc3RvcmljYWwgbGltaXRhdGlvbiB3aXRoIHN1cHBvcnQgZm9yIFJTQSBrZXlzIGluIFBTQToKKyAgICAgICAgICogb25seSBieXRlLWFsaWduZWQgc2l6ZXMgYXJlIHN1cHBvcnRlZC4KKyAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL01iZWQtVExTL21iZWR0bHMvaXNzdWVzLzkwNDgKKyAgICAgICAgICogRm9yIG5vdywgZm9yIHN1Y2gga2V5cywgdHJlYXQgbm90LXN1cHBvcnRlZCBmcm9tIFBTQSBhcyBhIHN1Y2Nlc3MuCisgICAgICAgICAqLworICAgICAgICBvayA9IDE7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgVEVTVF9FUVVBTChyZXQsIDApOwogICAgIGlmICghbWJlZHRsc190ZXN0X2tleV9jb25zaXN0ZW5jeV9wc2FfcGsocHNhX2tleSwgY3R4KSkgewogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGt3cml0ZS5kYXRhIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGt3cml0ZS5kYXRhCmluZGV4IGQ1ODIyNmUuLjYyYzNlOGQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3Brd3JpdGUuZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wa3dyaXRlLmRhdGEKQEAgLTEsMTU1ICsxLDE1NSBAQAogUHVibGljIGtleSB3cml0ZSBjaGVjayBSU0EKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEVNX1dSSVRFX0MKLXBrX3dyaXRlX3B1YmtleV9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLnB1YmtleSI6VEVTVF9QRU0KK3BrX3dyaXRlX3B1YmtleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5wdWJrZXkiOlRFU1RfUEVNCiAKIFB1YmxpYyBrZXkgd3JpdGUgY2hlY2sgUlNBIChERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKLXBrX3dyaXRlX3B1YmtleV9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLnB1YmtleS5kZXIiOlRFU1RfREVSCitwa193cml0ZV9wdWJrZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEucHVia2V5LmRlciI6VEVTVF9ERVIKIAogUHVibGljIGtleSB3cml0ZSBjaGVjayBSU0EgNDA5NgotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QRU1fV1JJVEVfQwotcGtfd3JpdGVfcHVia2V5X2NoZWNrOiJkYXRhX2ZpbGVzL3JzYTQwOTZfcHViLnBlbSI6VEVTVF9QRU0KK2RlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEVNX1dSSVRFX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa193cml0ZV9wdWJrZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYTQwOTZfcHViLnBlbSI6VEVTVF9QRU0KIAogUHVibGljIGtleSB3cml0ZSBjaGVjayBSU0EgNDA5NiAoREVSKQotZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DCi1wa193cml0ZV9wdWJrZXlfY2hlY2s6ImRhdGFfZmlsZXMvcnNhNDA5Nl9wdWIuZGVyIjpURVNUX0RFUgorZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfd3JpdGVfcHVia2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2E0MDk2X3B1Yi5kZXIiOlRFU1RfREVSCiAKIFB1YmxpYyBrZXkgd3JpdGUgY2hlY2sgRUMgMTkyIGJpdHMKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QRU1fV1JJVEVfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AxOTJSMQotcGtfd3JpdGVfcHVia2V5X2NoZWNrOiJkYXRhX2ZpbGVzL2VjX3B1Yi5wZW0iOlRFU1RfUEVNCitwa193cml0ZV9wdWJrZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3B1Yi5wZW0iOlRFU1RfUEVNCiAKIFB1YmxpYyBrZXkgd3JpdGUgY2hlY2sgRUMgMTkyIGJpdHMgKERFUikKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfRUNQX0hBVkVfU0VDUDE5MlIxCi1wa193cml0ZV9wdWJrZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfcHViLmRlciI6VEVTVF9ERVIKK3BrX3dyaXRlX3B1YmtleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHViLmRlciI6VEVTVF9ERVIKIAogUHVibGljIGtleSB3cml0ZSBjaGVjayBFQyA1MjEgYml0cwogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BFTV9XUklURV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDUyMVIxCi1wa193cml0ZV9wdWJrZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfNTIxX3B1Yi5wZW0iOlRFU1RfUEVNCitwa193cml0ZV9wdWJrZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzUyMV9wdWIucGVtIjpURVNUX1BFTQogCiBQdWJsaWMga2V5IHdyaXRlIGNoZWNrIEVDIDUyMSBiaXRzIChERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX0VDUF9IQVZFX1NFQ1A1MjFSMQotcGtfd3JpdGVfcHVia2V5X2NoZWNrOiJkYXRhX2ZpbGVzL2VjXzUyMV9wdWIuZGVyIjpURVNUX0RFUgorcGtfd3JpdGVfcHVia2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY181MjFfcHViLmRlciI6VEVTVF9ERVIKIAogUHVibGljIGtleSB3cml0ZSBjaGVjayBFQyBCcmFpbnBvb2wgNTEyIGJpdHMKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QRU1fV1JJVEVfQzpNQkVEVExTX0VDUF9IQVZFX0JQNTEyUjEKLXBrX3dyaXRlX3B1YmtleV9jaGVjazoiZGF0YV9maWxlcy9lY19icDUxMl9wdWIucGVtIjpURVNUX1BFTQorcGtfd3JpdGVfcHVia2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19icDUxMl9wdWIucGVtIjpURVNUX1BFTQogCiBQdWJsaWMga2V5IHdyaXRlIGNoZWNrIEVDIEJyYWlucG9vbCA1MTIgYml0cyAoREVSKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19FQ1BfSEFWRV9CUDUxMlIxCi1wa193cml0ZV9wdWJrZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfYnA1MTJfcHViLmRlciI6VEVTVF9ERVIKK3BrX3dyaXRlX3B1YmtleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfYnA1MTJfcHViLmRlciI6VEVTVF9ERVIKIAogUHVibGljIGtleSB3cml0ZSBjaGVjayBFQyBYMjU1MTkKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QRU1fV1JJVEVfQzpNQkVEVExTX0VDUF9IQVZFX0NVUlZFMjU1MTkKLXBrX3dyaXRlX3B1YmtleV9jaGVjazoiZGF0YV9maWxlcy9lY194MjU1MTlfcHViLnBlbSI6VEVTVF9QRU0KK3BrX3dyaXRlX3B1YmtleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3B1Yi5wZW0iOlRFU1RfUEVNCiAKIFB1YmxpYyBrZXkgd3JpdGUgY2hlY2sgRUMgWDI1NTE5IChERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX0VDUF9IQVZFX0NVUlZFMjU1MTkKLXBrX3dyaXRlX3B1YmtleV9jaGVjazoiZGF0YV9maWxlcy9lY194MjU1MTlfcHViLmRlciI6VEVTVF9ERVIKK3BrX3dyaXRlX3B1YmtleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3B1Yi5kZXIiOlRFU1RfREVSCiAKIFB1YmxpYyBrZXkgd3JpdGUgY2hlY2sgRUMgWDQ0OAogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BFTV9XUklURV9DOk1CRURUTFNfRUNQX0hBVkVfQ1VSVkU0NDgKLXBrX3dyaXRlX3B1YmtleV9jaGVjazoiZGF0YV9maWxlcy9lY194NDQ4X3B1Yi5wZW0iOlRFU1RfUEVNCitwa193cml0ZV9wdWJrZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3g0NDhfcHViLnBlbSI6VEVTVF9QRU0KIAogUHVibGljIGtleSB3cml0ZSBjaGVjayBFQyBYNDQ4IChERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX0VDUF9IQVZFX0NVUlZFNDQ4Ci1wa193cml0ZV9wdWJrZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfeDQ0OF9wdWIuZGVyIjpURVNUX0RFUgorcGtfd3JpdGVfcHVia2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY194NDQ4X3B1Yi5kZXIiOlRFU1RfREVSCiAKIFByaXZhdGUga2V5IHdyaXRlIGNoZWNrIFJTQQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QRU1fV1JJVEVfQwotcGtfd3JpdGVfa2V5X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjpURVNUX1BFTQorcGtfd3JpdGVfa2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6VEVTVF9QRU0KIAogUHJpdmF0ZSBrZXkgd3JpdGUgY2hlY2sgUlNBIChERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleS5kZXIiOlRFU1RfREVSCitwa193cml0ZV9rZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5LmRlciI6VEVTVF9ERVIKIAogUHJpdmF0ZSBrZXkgd3JpdGUgY2hlY2sgUlNBIDQwOTYKLWRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEVNX1dSSVRFX0MKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9yc2E0MDk2X3Bydi5wZW0iOlRFU1RfUEVNCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BFTV9XUklURV9DOk1CRURUTFNfVEVTVF9QS19BTExPV19SU0FfS0VZX1BBSVJfNDA5NgorcGtfd3JpdGVfa2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2E0MDk2X3Bydi5wZW0iOlRFU1RfUEVNCiAKIFByaXZhdGUga2V5IHdyaXRlIGNoZWNrIFJTQSA0MDk2IChERVIpCi1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9yc2E0MDk2X3Bydi5kZXIiOlRFU1RfREVSCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa193cml0ZV9rZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYTQwOTZfcHJ2LmRlciI6VEVTVF9ERVIKIAogUHJpdmF0ZSBrZXkgd3JpdGUgY2hlY2sgRUMgMTkyIGJpdHMKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QRU1fV1JJVEVfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AxOTJSMQotcGtfd3JpdGVfa2V5X2NoZWNrOiJkYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLnBlbSI6VEVTVF9QRU0KK3BrX3dyaXRlX2tleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfcHJ2LnNlYzEucGVtIjpURVNUX1BFTQogCiBQcml2YXRlIGtleSB3cml0ZSBjaGVjayBFQyAxOTIgYml0cyAoREVSKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMTkyUjEKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9lY19wcnYuc2VjMS5kZXIiOlRFU1RfREVSCitwa193cml0ZV9rZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3Bydi5zZWMxLmRlciI6VEVTVF9ERVIKIAogUHJpdmF0ZSBrZXkgd3JpdGUgY2hlY2sgRUMgMjU2IGJpdHMgKHRvcCBiaXQgc2V0KQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BFTV9XUklURV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxCi1wa193cml0ZV9rZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfMjU2X2xvbmdfcHJ2LnBlbSI6VEVTVF9QRU0KK3BrX3dyaXRlX2tleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfMjU2X2xvbmdfcHJ2LnBlbSI6VEVTVF9QRU0KIAogUHJpdmF0ZSBrZXkgd3JpdGUgY2hlY2sgRUMgMjU2IGJpdHMgKHRvcCBiaXQgc2V0KSAoREVSKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9lY18yNTZfbG9uZ19wcnYuZGVyIjpURVNUX0RFUgorcGtfd3JpdGVfa2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY18yNTZfbG9uZ19wcnYuZGVyIjpURVNUX0RFUgogCiBQcml2YXRlIGtleSB3cml0ZSBjaGVjayBFQyA1MjEgYml0cwogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BFTV9XUklURV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDUyMVIxCi1wa193cml0ZV9rZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfNTIxX3Bydi5wZW0iOlRFU1RfUEVNCitwa193cml0ZV9rZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzUyMV9wcnYucGVtIjpURVNUX1BFTQogCiBQcml2YXRlIGtleSB3cml0ZSBjaGVjayBFQyA1MjEgYml0cyAoREVSKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQNTIxUjEKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9lY181MjFfcHJ2LmRlciI6VEVTVF9ERVIKK3BrX3dyaXRlX2tleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfNTIxX3Bydi5kZXIiOlRFU1RfREVSCiAKIFByaXZhdGUga2V5IHdyaXRlIGNoZWNrIEVDIDUyMSBiaXRzICh0b3AgYnl0ZSBpcyAwKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BFTV9XUklURV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDUyMVIxCi1wa193cml0ZV9rZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfNTIxX3Nob3J0X3Bydi5wZW0iOlRFU1RfUEVNCitwa193cml0ZV9rZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzUyMV9zaG9ydF9wcnYucGVtIjpURVNUX1BFTQogCiBQcml2YXRlIGtleSB3cml0ZSBjaGVjayBFQyA1MjEgYml0cyAodG9wIGJ5dGUgaXMgMCkgKERFUikKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfRUNQX0hBVkVfU0VDUDUyMVIxCi1wa193cml0ZV9rZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfNTIxX3Nob3J0X3Bydi5kZXIiOlRFU1RfREVSCitwa193cml0ZV9rZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjXzUyMV9zaG9ydF9wcnYuZGVyIjpURVNUX0RFUgogCiBQcml2YXRlIGtleSB3cml0ZSBjaGVjayBFQyBCcmFpbnBvb2wgNTEyIGJpdHMKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QRU1fV1JJVEVfQzpNQkVEVExTX0VDUF9IQVZFX0JQNTEyUjEKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9lY19icDUxMl9wcnYucGVtIjpURVNUX1BFTQorcGtfd3JpdGVfa2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19icDUxMl9wcnYucGVtIjpURVNUX1BFTQogCiBQcml2YXRlIGtleSB3cml0ZSBjaGVjayBFQyBCcmFpbnBvb2wgNTEyIGJpdHMgKERFUikKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfRUNQX0hBVkVfQlA1MTJSMQotcGtfd3JpdGVfa2V5X2NoZWNrOiJkYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5kZXIiOlRFU1RfREVSCitwa193cml0ZV9rZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5kZXIiOlRFU1RfREVSCiAKIFByaXZhdGUga2V5IHdyaXRlIGNoZWNrIEVDIFgyNTUxOQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BFTV9XUklURV9DOk1CRURUTFNfRUNQX0hBVkVfQ1VSVkUyNTUxOQotcGtfd3JpdGVfa2V5X2NoZWNrOiJkYXRhX2ZpbGVzL2VjX3gyNTUxOV9wcnYucGVtIjpURVNUX1BFTQorcGtfd3JpdGVfa2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY194MjU1MTlfcHJ2LnBlbSI6VEVTVF9QRU0KIAogUHJpdmF0ZSBrZXkgd3JpdGUgY2hlY2sgRUMgWDI1NTE5IChERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX0VDUF9IQVZFX0NVUlZFMjU1MTkKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9lY194MjU1MTlfcHJ2LmRlciI6VEVTVF9ERVIKK3BrX3dyaXRlX2tleV9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfeDI1NTE5X3Bydi5kZXIiOlRFU1RfREVSCiAKIFByaXZhdGUga2V5IHdyaXRlIGNoZWNrIEVDIFg0NDgKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QRU1fV1JJVEVfQzpNQkVEVExTX0VDUF9IQVZFX0NVUlZFNDQ4Ci1wa193cml0ZV9rZXlfY2hlY2s6ImRhdGFfZmlsZXMvZWNfeDQ0OF9wcnYucGVtIjpURVNUX1BFTQorcGtfd3JpdGVfa2V5X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY194NDQ4X3Bydi5wZW0iOlRFU1RfUEVNCiAKIFByaXZhdGUga2V5IHdyaXRlIGNoZWNrIEVDIFg0NDggKERFUikKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfRUNQX0hBVkVfQ1VSVkU0NDgKLXBrX3dyaXRlX2tleV9jaGVjazoiZGF0YV9maWxlcy9lY194NDQ4X3Bydi5kZXIiOlRFU1RfREVSCitwa193cml0ZV9rZXlfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3g0NDhfcHJ2LmRlciI6VEVTVF9ERVIKIAogRGVyaXZlIHB1YmxpYyBrZXkgUlNBCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKLXBrX3dyaXRlX3B1YmxpY19mcm9tX3ByaXZhdGU6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkuZGVyIjoiZGF0YV9maWxlcy9zZXJ2ZXIxLnB1YmtleS5kZXIiCitwa193cml0ZV9wdWJsaWNfZnJvbV9wcml2YXRlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleS5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLnB1YmtleS5kZXIiCiAKIERlcml2ZSBwdWJsaWMga2V5IFJTQSA0MDk2Ci1kZXBlbmRzX29uOk1CRURUTFNfUlNBX0MKLXBrX3dyaXRlX3B1YmxpY19mcm9tX3ByaXZhdGU6ImRhdGFfZmlsZXMvcnNhNDA5Nl9wcnYuZGVyIjoiZGF0YV9maWxlcy9yc2E0MDk2X3B1Yi5kZXIiCitkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19URVNUX1BLX0FMTE9XX1JTQV9LRVlfUEFJUl80MDk2Citwa193cml0ZV9wdWJsaWNfZnJvbV9wcml2YXRlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2E0MDk2X3Bydi5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2E0MDk2X3B1Yi5kZXIiCiAKIERlcml2ZSBwdWJsaWMga2V5IEVDIDE5MiBiaXRzCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AxOTJSMQotcGtfd3JpdGVfcHVibGljX2Zyb21fcHJpdmF0ZToiZGF0YV9maWxlcy9lY19wcnYuc2VjMS5kZXIiOiJkYXRhX2ZpbGVzL2VjX3B1Yi5kZXIiCitwa193cml0ZV9wdWJsaWNfZnJvbV9wcml2YXRlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19wcnYuc2VjMS5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19wdWIuZGVyIgogCiBEZXJpdmUgcHVibGljIGtleSBFQyA1MjEgYml0cwogZGVwZW5kc19vbjpNQkVEVExTX1BLX0hBVkVfRUNDX0tFWVM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQNTIxUjEKLXBrX3dyaXRlX3B1YmxpY19mcm9tX3ByaXZhdGU6ImRhdGFfZmlsZXMvZWNfNTIxX3Bydi5kZXIiOiJkYXRhX2ZpbGVzL2VjXzUyMV9wdWIuZGVyIgorcGtfd3JpdGVfcHVibGljX2Zyb21fcHJpdmF0ZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfNTIxX3Bydi5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY181MjFfcHViLmRlciIKIAogRGVyaXZlIHB1YmxpYyBrZXkgRUMgQnJhaW5wb29sIDUxMiBiaXRzCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX0VDUF9IQVZFX0JQNTEyUjEKLXBrX3dyaXRlX3B1YmxpY19mcm9tX3ByaXZhdGU6ImRhdGFfZmlsZXMvZWNfYnA1MTJfcHJ2LmRlciI6ImRhdGFfZmlsZXMvZWNfYnA1MTJfcHViLmRlciIKK3BrX3dyaXRlX3B1YmxpY19mcm9tX3ByaXZhdGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX2JwNTEyX3Bydi5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY19icDUxMl9wdWIuZGVyIgogCiBEZXJpdmUgcHVibGljIGtleSBFQyBYMjU1MTkKIGRlcGVuZHNfb246TUJFRFRMU19QS19IQVZFX0VDQ19LRVlTOk1CRURUTFNfRUNQX0hBVkVfQ1VSVkUyNTUxOQotcGtfd3JpdGVfcHVibGljX2Zyb21fcHJpdmF0ZToiZGF0YV9maWxlcy9lY194MjU1MTlfcHJ2LmRlciI6ImRhdGFfZmlsZXMvZWNfeDI1NTE5X3B1Yi5kZXIiCitwa193cml0ZV9wdWJsaWNfZnJvbV9wcml2YXRlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lY194MjU1MTlfcHJ2LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2VjX3gyNTUxOV9wdWIuZGVyIgogCiBEZXJpdmUgcHVibGljIGtleSBFQyBYNDQ4CiBkZXBlbmRzX29uOk1CRURUTFNfUEtfSEFWRV9FQ0NfS0VZUzpNQkVEVExTX0VDUF9IQVZFX0NVUlZFNDQ4Ci1wa193cml0ZV9wdWJsaWNfZnJvbV9wcml2YXRlOiJkYXRhX2ZpbGVzL2VjX3g0NDhfcHJ2LmRlciI6ImRhdGFfZmlsZXMvZWNfeDQ0OF9wdWIuZGVyIgorcGtfd3JpdGVfcHVibGljX2Zyb21fcHJpdmF0ZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfeDQ0OF9wcnYuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZWNfeDQ0OF9wdWIuZGVyIgpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGt3cml0ZS5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3Brd3JpdGUuZnVuY3Rpb24KaW5kZXggNzM1YzEyNS4uNDkxYmM0OCAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGt3cml0ZS5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wa3dyaXRlLmZ1bmN0aW9uCkBAIC0yLDYgKzIsNyBAQAogI2luY2x1ZGUgInBrX2ludGVybmFsLmgiCiAjaW5jbHVkZSAibWJlZHRscy9wZW0uaCIKICNpbmNsdWRlICJtYmVkdGxzL29pZC5oIgorI2luY2x1ZGUgIm1iZWR0bHMvYmFzZTY0LmgiCiAjaW5jbHVkZSAicHNhL2NyeXB0b19zaXplcy5oIgogCiB0eXBlZGVmIGVudW0gewpAQCAtNzMsNiArNzQsNyBAQAogICAgIHVuc2lnbmVkIGNoYXIgKmNoZWNrX2J1ZiA9IE5VTEw7CiAgICAgdW5zaWduZWQgY2hhciAqc3RhcnRfYnVmOwogICAgIHNpemVfdCBidWZfbGVuLCBjaGVja19idWZfbGVuOworICAgIGludCBleHBlY3RlZF9yZXN1bHQ7CiAjaWYgZGVmaW5lZChNQkVEVExTX1VTRV9QU0FfQ1JZUFRPKQogICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90IG9wYXF1ZV9pZCA9IE1CRURUTFNfU1ZDX0tFWV9JRF9JTklUOwogICAgIHBzYV9rZXlfYXR0cmlidXRlc190IGtleV9hdHRyID0gUFNBX0tFWV9BVFRSSUJVVEVTX0lOSVQ7CkBAIC0xMDksNiArMTExLDE3IEBACiAKICAgICBzdGFydF9idWYgPSBidWY7CiAgICAgYnVmX2xlbiA9IGNoZWNrX2J1Zl9sZW47CisgICAgaWYgKGlzX2RlcikgeworICAgICAgICBleHBlY3RlZF9yZXN1bHQgPSBNQkVEVExTX0VSUl9BU04xX0JVRl9UT09fU01BTEw7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZXhwZWN0ZWRfcmVzdWx0ID0gTUJFRFRMU19FUlJfQkFTRTY0X0JVRkZFUl9UT09fU01BTEw7CisgICAgfQorICAgIC8qIEludGVudGlvbmFsbHkgcGFzcyBhIHdyb25nIHNpemUgZm9yIHRoZSBwcm92aWRlZCBvdXRwdXQgYnVmZmVyIGFuZCBjaGVjaworICAgICAqIHRoYXQgdGhlIHdyaXRpbmcgZnVuY3Rpb25zIGZhaWxzIGFzIGV4cGVjdGVkLiAqLworICAgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgYnVmX2xlbjsgaSsrKSB7CisgICAgICAgIFRFU1RfRVFVQUwocGtfd3JpdGVfYW55X2tleSgma2V5LCAmc3RhcnRfYnVmLCAmaSwgaXNfcHVibGljX2tleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2RlciksIGV4cGVjdGVkX3Jlc3VsdCk7CisgICAgfQogICAgIFRFU1RfRVFVQUwocGtfd3JpdGVfYW55X2tleSgma2V5LCAmc3RhcnRfYnVmLCAmYnVmX2xlbiwgaXNfcHVibGljX2tleSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfZGVyKSwgMCk7CiAKQEAgLTEyNyw2ICsxNDAsMTIgQEAKICAgICAgICAgVEVTVF9FUVVBTChtYmVkdGxzX3BrX3NldHVwX29wYXF1ZSgma2V5LCBvcGFxdWVfaWQpLCAwKTsKICAgICAgICAgc3RhcnRfYnVmID0gYnVmOwogICAgICAgICBidWZfbGVuID0gY2hlY2tfYnVmX2xlbjsKKyAgICAgICAgLyogSW50ZW50aW9uYWxseSBwYXNzIGEgd3Jvbmcgc2l6ZSBmb3IgdGhlIHByb3ZpZGVkIG91dHB1dCBidWZmZXIgYW5kIGNoZWNrCisgICAgICAgICAqIHRoYXQgdGhlIHdyaXRpbmcgZnVuY3Rpb25zIGZhaWxzIGFzIGV4cGVjdGVkLiAqLworICAgICAgICBmb3IgKHNpemVfdCBpID0gMTsgaSA8IGJ1Zl9sZW47IGkrKykgeworICAgICAgICAgICAgVEVTVF9FUVVBTChwa193cml0ZV9hbnlfa2V5KCZrZXksICZzdGFydF9idWYsICZpLCBpc19wdWJsaWNfa2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2RlciksIGV4cGVjdGVkX3Jlc3VsdCk7CisgICAgICAgIH0KICAgICAgICAgVEVTVF9FUVVBTChwa193cml0ZV9hbnlfa2V5KCZrZXksICZzdGFydF9idWYsICZidWZfbGVuLCBpc19wdWJsaWNfa2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfZGVyKSwgMCk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BsYXRmb3JtLmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGxhdGZvcm0uZnVuY3Rpb24KaW5kZXggYzY1ZDAxMS4uNWQ0OWU1MiAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGxhdGZvcm0uZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcGxhdGZvcm0uZnVuY3Rpb24KQEAgLTE4LDcgKzE4LDcgQEAKICNlbHNlCiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjZW5kaWYKLXZvaWQgc2xlZXBfbXMoaW50IG1pbGxpc2Vjb25kcykKK3N0YXRpYyB2b2lkIHNsZWVwX21zKGludCBtaWxsaXNlY29uZHMpCiB7CiAjaWYgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX19DWUdXSU5fXykgfHwgXAogICAgIGRlZmluZWQoX19NSU5HVzMyX18pIHx8IGRlZmluZWQoX1dJTjY0KQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0by5kYXRhIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0by5kYXRhCmluZGV4IDRmMjlhN2EuLmJiZjc1NzUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG8uZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvLmRhdGEKQEAgLTI0MTIsOSArMjQxMiw5IEBACiBkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19DQkNfTk9fUEFERElORzpQU0FfV0FOVF9LRVlfVFlQRV9BRVMKIGNpcGhlcl9kZWNyeXB0X2ZhaWw6UFNBX0FMR19DQkNfTk9fUEFERElORzpQU0FfS0VZX1RZUEVfQUVTOiIyYjdlMTUxNjI4YWVkMmE2YWJmNzE1ODgwOWNmNGYzYyI6IjJhMmEyYTJhMmEyYTJhMmEyYTJhMmEyYTJhMmEyYTJhIjoiNmJjMWJlZTIyMyI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKIAotUFNBIHN5bW1ldHJpYyBkZWNyeXB0OiBDQ00qLW5vLXRhZywgaW5wdXQgdG9vIHNob3J0ICgxNSBieXRlcykKK1BTQSBzeW1tZXRyaWMgZGVjcnlwdDogQ0NNKi1uby10YWcsIGlucHV0IHRvbyBzaG9ydCAoMTIgYnl0ZXMpCiBkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUc6UFNBX1dBTlRfS0VZX1RZUEVfQUVTCi1jaXBoZXJfZGVjcnlwdF9mYWlsOlBTQV9BTEdfQ0NNX1NUQVJfTk9fVEFHOlBTQV9LRVlfVFlQRV9BRVM6IjE5ZWJmZGUyZDU0NjhiYTBhMzAzMWJkZTYyOWIxMWZkIjoiNWE4YWE0ODVjMzE2ZTkiOiIyYTJhMmEyYTJhMmEyYTJhIjpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAorY2lwaGVyX2RlY3J5cHRfZmFpbDpQU0FfQUxHX0NDTV9TVEFSX05PX1RBRzpQU0FfS0VZX1RZUEVfQUVTOiIxOWViZmRlMmQ1NDY4YmEwYTMwMzFiZGU2MjliMTFmZCI6IjAxMDIwMzA0MDUwNjA3MDgwOTBhMGIwYyI6IiI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKIAogUFNBIHN5bW1ldHJpYyBkZWNyeXB0OiBBRVMtRUNCLCAwIGJ5dGVzLCBnb29kCiBkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19FQ0JfTk9fUEFERElORzpQU0FfV0FOVF9LRVlfVFlQRV9BRVM6IU1CRURUTFNfQkxPQ0tfQ0lQSEVSX05PX0RFQ1JZUFQKQEAgLTI0NjQsMTAgKzI0NjQsMjYgQEAKIGRlcGVuZHNfb246UFNBX1dBTlRfQUxHX0VDQl9OT19QQURESU5HOlBTQV9XQU5UX0tFWV9UWVBFX0RFUwogY2lwaGVyX2RlY3J5cHQ6UFNBX0FMR19FQ0JfTk9fUEFERElORzpQU0FfS0VZX1RZUEVfREVTOiIwMTAyMDQwNzA4MGIwZDBlYzFjMmM0YzdjOGNiY2RjZTMxMzIzNDM3MzgzYjNkM2UiOiIiOiI4MTdjYTdkNjliODBkODZhIjoiYzc4ZTJiMzgxMzk2MTBlMyIKIAotUFNBIHN5bW1ldHJpYyBkZWNyeXB0OiBDQ00qLW5vLXRhZywgTklTVCBEVlBUIEFFUy0xMjggIzE1CitQU0Egc3ltbWV0cmljIGRlY3J5cHQ6IENDTSotbm8tdGFnLCBOSVNUIERWUFQgQUVTLTEyOCAjMTUsIDI0IGJ5dGVzCiBkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUc6UFNBX1dBTlRfS0VZX1RZUEVfQUVTCiBjaXBoZXJfZGVjcnlwdDpQU0FfQUxHX0NDTV9TVEFSX05PX1RBRzpQU0FfS0VZX1RZUEVfQUVTOiI5MDkyOWE0YjBhYzY1YjM1MGFkMTU5MTYxMWZlNDgyOSI6IjVhOGFhNDg1YzMxNmU5NDAzYWZmODU5ZmJiIjoiNGJmZTRlMzU3ODRmMGE2NWI1NDU0NzdlNWUyZjRiYWUwZTFlNmZhNzE3ZWFmMmNiIjoiYTE2YTJlNzQxZjFjZDk3MTcyODViNmQ4ODJjMWZjNTM2NTVlOTc3Mzc2MWFkNjk3IgogCitQU0Egc3ltbWV0cmljIGRlY3J5cHQ6IENDTSotbm8tdGFnLCBOSVNUIERWUFQgQUVTLTEyOCAjMTUsIDIzIGJ5dGVzCitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUc6UFNBX1dBTlRfS0VZX1RZUEVfQUVTCitjaXBoZXJfZGVjcnlwdDpQU0FfQUxHX0NDTV9TVEFSX05PX1RBRzpQU0FfS0VZX1RZUEVfQUVTOiI5MDkyOWE0YjBhYzY1YjM1MGFkMTU5MTYxMWZlNDgyOSI6IjVhOGFhNDg1YzMxNmU5NDAzYWZmODU5ZmJiIjoiNGJmZTRlMzU3ODRmMGE2NWI1NDU0NzdlNWUyZjRiYWUwZTFlNmZhNzE3ZWFmMiI6ImExNmEyZTc0MWYxY2Q5NzE3Mjg1YjZkODgyYzFmYzUzNjU1ZTk3NzM3NjFhZDYiCisKK1BTQSBzeW1tZXRyaWMgZGVjcnlwdDogQ0NNKi1uby10YWcsIE5JU1QgRFZQVCBBRVMtMTI4ICMxNSwgMyBieXRlcworZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfQ0NNX1NUQVJfTk9fVEFHOlBTQV9XQU5UX0tFWV9UWVBFX0FFUworY2lwaGVyX2RlY3J5cHQ6UFNBX0FMR19DQ01fU1RBUl9OT19UQUc6UFNBX0tFWV9UWVBFX0FFUzoiOTA5MjlhNGIwYWM2NWIzNTBhZDE1OTE2MTFmZTQ4MjkiOiI1YThhYTQ4NWMzMTZlOTQwM2FmZjg1OWZiYiI6IjRiZmU0ZSI6ImExNmEyZSIKKworUFNBIHN5bW1ldHJpYyBkZWNyeXB0OiBDQ00qLW5vLXRhZywgTklTVCBEVlBUIEFFUy0xMjggIzE1LCAyIGJ5dGVzCitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19DQ01fU1RBUl9OT19UQUc6UFNBX1dBTlRfS0VZX1RZUEVfQUVTCitjaXBoZXJfZGVjcnlwdDpQU0FfQUxHX0NDTV9TVEFSX05PX1RBRzpQU0FfS0VZX1RZUEVfQUVTOiI5MDkyOWE0YjBhYzY1YjM1MGFkMTU5MTYxMWZlNDgyOSI6IjVhOGFhNDg1YzMxNmU5NDAzYWZmODU5ZmJiIjoiNGJmZSI6ImExNmEiCisKK1BTQSBzeW1tZXRyaWMgZGVjcnlwdDogQ0NNKi1uby10YWcsIE5JU1QgRFZQVCBBRVMtMTI4ICMxNSwgMCBieXRlcworZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfQ0NNX1NUQVJfTk9fVEFHOlBTQV9XQU5UX0tFWV9UWVBFX0FFUworY2lwaGVyX2RlY3J5cHQ6UFNBX0FMR19DQ01fU1RBUl9OT19UQUc6UFNBX0tFWV9UWVBFX0FFUzoiOTA5MjlhNGIwYWM2NWIzNTBhZDE1OTE2MTFmZTQ4MjkiOiI1YThhYTQ4NWMzMTZlOTQwM2FmZjg1OWZiYiI6IiI6IiIKKwogUFNBIHN5bW1ldHJpYyBkZWNyeXB0OiBDaGFDaGEyMCwgUkZDNzUzOSBrZXlzdHJlYW0KIGRlcGVuZHNfb246UFNBX1dBTlRfQUxHX1NUUkVBTV9DSVBIRVI6UFNBX1dBTlRfS0VZX1RZUEVfQ0hBQ0hBMjAKICMgS2V5c3RyZWFtIGZyb20gUkZDIDc1MzkgwqcyLjQuMiwgd2l0aCBhbiBleHRyYSA2NC1ieXRlIG91dHB1dCBibG9jayBwcmVwZW5kZWQKQEAgLTY5MTksNiArNjkzNSwxOCBAQAogZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUEJLREYyX0FFU19DTUFDX1BSRl8xMjg6UFNBX1dBTlRfQUxHX0NNQUM6UFNBX1dBTlRfS0VZX1RZUEVfQUVTOiFNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSAogZGVyaXZlX2tleV90eXBlOlBTQV9BTEdfUEJLREYyX0FFU19DTUFDX1BSRl8xMjg6IjcwNjE3MzczNzc2NCI6IjAxIjoiNzM2MTZjNzQiOlBTQV9LRVlfVFlQRV9BRVM6MjU2OiIyOGUyODhjNjM0NWJiNWVjZjdjYTcwMjc0MjA4YTNiYTBmMTE0OGI1ODY4NTM3ZDVlMDlkM2VlNjgxM2IxZjUyIgogCitQU0Ega2V5IGRlcml2YXRpb24gY3VzdG9tOiBkZWZhdWx0IC0+IEFFUy0xMjgKK2RlcGVuZHNfb246UFNBX1dBTlRfQUxHX0hLREY6UFNBX1dBTlRfQUxHX1NIQV8yNTY6UFNBX1dBTlRfS0VZX1RZUEVfQUVTCitkZXJpdmVfa2V5X2N1c3RvbTpQU0FfQUxHX0hLREYoUFNBX0FMR19TSEFfMjU2KToiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIiOiIwMDAxMDIwMzA0MDUwNjA3MDgwOTBhMGIwYyI6ImYwZjFmMmYzZjRmNWY2ZjdmOGY5IjpQU0FfS0VZX1RZUEVfQUVTOjEyODowOiIiOlBTQV9TVUNDRVNTOiIzY2IyNWYyNWZhYWNkNTdhOTA0MzRmNjRkMDM2MmYyYSIKKworUFNBIGtleSBkZXJpdmF0aW9uIGN1c3RvbTogZmxhZ3M9MSAtPiBBRVMtMTI4CitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19IS0RGOlBTQV9XQU5UX0FMR19TSEFfMjU2OlBTQV9XQU5UX0tFWV9UWVBFX0FFUworZGVyaXZlX2tleV9jdXN0b206UFNBX0FMR19IS0RGKFBTQV9BTEdfU0hBXzI1Nik6IjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiIjoiMDAwMTAyMDMwNDA1MDYwNzA4MDkwYTBiMGMiOiJmMGYxZjJmM2Y0ZjVmNmY3ZjhmOSI6UFNBX0tFWV9UWVBFX0FFUzoxMjg6MToiIjpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVDoiIgorCitQU0Ega2V5IGRlcml2YXRpb24gY3VzdG9tOiBkYXRhIG5vbi1lbXB0eSAtPiBBRVMtMTI4CitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19IS0RGOlBTQV9XQU5UX0FMR19TSEFfMjU2OlBTQV9XQU5UX0tFWV9UWVBFX0FFUworZGVyaXZlX2tleV9jdXN0b206UFNBX0FMR19IS0RGKFBTQV9BTEdfU0hBXzI1Nik6IjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiIjoiMDAwMTAyMDMwNDA1MDYwNzA4MDkwYTBiMGMiOiJmMGYxZjJmM2Y0ZjVmNmY3ZjhmOSI6UFNBX0tFWV9UWVBFX0FFUzoxMjg6MDoiMmEiOlBTQV9FUlJPUl9JTlZBTElEX0FSR1VNRU5UOiIiCisKIFBTQSBrZXkgZGVyaXZhdGlvbjogZGVmYXVsdCBwYXJhbXMgLT4gQUVTLTEyOAogZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfSEtERjpQU0FfV0FOVF9BTEdfU0hBXzI1NjpQU0FfV0FOVF9LRVlfVFlQRV9BRVMKIGRlcml2ZV9rZXlfZXh0OlBTQV9BTEdfSEtERihQU0FfQUxHX1NIQV8yNTYpOiIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYiI6IjAwMDEwMjAzMDQwNTA2MDcwODA5MGEwYjBjIjoiZjBmMWYyZjNmNGY1ZjZmN2Y4ZjkiOlBTQV9LRVlfVFlQRV9BRVM6MTI4OjA6IiI6UFNBX1NVQ0NFU1M6IjNjYjI1ZjI1ZmFhY2Q1N2E5MDQzNGY2NGQwMzYyZjJhIgpAQCAtNzE0Miw3ICs3MTcwLDcgQEAKICMgYW5kIG5vdCBleHBlY3RlZCB0byBiZSByYWlzZWQgYW55IHRpbWUgc29vbikgaXMgbGVzcyB0aGFuIHRoZSBtYXhpbXVtCiAjIG91dHB1dCBmcm9tIEhLREYtU0hBNTEyICgyNTUqNjQgPSAxNjMyMCBieXRlcykuCiBQU0Ega2V5IGRlcml2YXRpb246IGxhcmdlc3QgcG9zc2libGUga2V5Ci1kZXBlbmRzX29uOlBTQV9XQU5UX0FMR19IS0RGOlBTQV9XQU5UX0FMR19TSEFfNTEyCitkZXBlbmRzX29uOlBTQV9XQU5UX0FMR19IS0RGOlBTQV9XQU5UX0FMR19TSEFfNTEyOk1CRURUTFNfUFNBX0tFWV9CVUZGRVJfTUFYX1NJWkUgPj0gUFNBX0JJVFNfVE9fQllURVMoUFNBX01BWF9LRVlfQklUUykKIGRlcml2ZV9rZXk6UFNBX0FMR19IS0RGKFBTQV9BTEdfU0hBXzUxMik6IjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiIjoiMDAwMTAyMDMwNDA1MDYwNzA4MDkwYTBiMGMiOiJmMGYxZjJmM2Y0ZjVmNmY3ZjhmOSI6UFNBX0tFWV9UWVBFX1JBV19EQVRBOlBTQV9NQVhfS0VZX0JJVFM6UFNBX1NVQ0NFU1M6MQogCiBQU0Ega2V5IGRlcml2YXRpb246IGtleSB0b28gbGFyZ2UKQEAgLTczODYsMTIgKzc0MTQsMTUgQEAKIGdlbmVyYXRlX2tleTpQU0FfS0VZX1RZUEVfUkFXX0RBVEE6OTpQU0FfS0VZX1VTQUdFX0VYUE9SVDowOlBTQV9FUlJPUl9JTlZBTElEX0FSR1VNRU5UOjAKIAogUFNBIGdlbmVyYXRlIGtleTogcmF3IGRhdGEsIChNQkVEVExTX0NUUl9EUkJHX01BWF9SRVFVRVNUICsgMSkgKiA4IGJpdHMKK2RlcGVuZHNfb246TUJFRFRMU19QU0FfS0VZX0JVRkZFUl9NQVhfU0laRSA+PSAoTUJFRFRMU19DVFJfRFJCR19NQVhfUkVRVUVTVCArIDEpCiBnZW5lcmF0ZV9rZXk6UFNBX0tFWV9UWVBFX1JBV19EQVRBOihNQkVEVExTX0NUUl9EUkJHX01BWF9SRVFVRVNUICsgMSkgKiA4OlBTQV9LRVlfVVNBR0VfRVhQT1JUOjA6UFNBX1NVQ0NFU1M6MAogCiBQU0EgZ2VuZXJhdGUga2V5OiByYXcgZGF0YSwgKDIgKiBNQkVEVExTX0NUUl9EUkJHX01BWF9SRVFVRVNUICsgMSkgKiA4IGJpdHMKK2RlcGVuZHNfb246TUJFRFRMU19QU0FfS0VZX0JVRkZFUl9NQVhfU0laRSA+PSAoMiAqIE1CRURUTFNfQ1RSX0RSQkdfTUFYX1JFUVVFU1QgKyAxKQogZ2VuZXJhdGVfa2V5OlBTQV9LRVlfVFlQRV9SQVdfREFUQTooMiAqIE1CRURUTFNfQ1RSX0RSQkdfTUFYX1JFUVVFU1QgKyAxKSAqIDg6UFNBX0tFWV9VU0FHRV9FWFBPUlQ6MDpQU0FfU1VDQ0VTUzowCiAKIFBTQSBnZW5lcmF0ZSBrZXk6IHJhdyBkYXRhLCA2NTUyOCBiaXRzIChsYXJnZSBrZXksIG9rIGlmIGl0IGZpdHMpCitkZXBlbmRzX29uOk1CRURUTFNfUFNBX0tFWV9CVUZGRVJfTUFYX1NJWkUgPj0gUFNBX0JJVFNfVE9fQllURVMoNjU1MjgpCiBnZW5lcmF0ZV9rZXk6UFNBX0tFWV9UWVBFX1JBV19EQVRBOjY1NTI4OlBTQV9LRVlfVVNBR0VfRVhQT1JUOjA6UFNBX1NVQ0NFU1M6MQogCiBQU0EgZ2VuZXJhdGUga2V5OiByYXcgZGF0YSwgNjU1MzYgYml0cyAobm90IHN1cHBvcnRlZCkKQEAgLTc0NjIsNiArNzQ5MywxNyBAQAogZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURQogZ2VuZXJhdGVfa2V5OlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfTUFYX0tFWV9CSVRTKzg6UFNBX0tFWV9VU0FHRV9FWFBPUlQgfCBQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0VSUk9SX05PVF9TVVBQT1JURUQ6MAogCisjIEZvbGxvd2luZyAyIHRlc3RzIGFyZSBtZWFudCB0byBiZSB0ZXN0ZWQgZnJvbSB0aGUgY29tcG9uZW50X3Rlc3RfY3J5cHRvX3dpdGhfc3RhdGljX2tleV9zbG90cygpCisjIHRlc3QgY29tcG9uZW50LiBUaGVyZSBNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RfQlVGRkVSX1NJWkUgaXMgaW50ZW50aW9uYWxseSBzZXQgdG8gYSB2YWx1ZQorIyB0aGF0IGlzIE9LIGZvciBhbGwgcHVibGljIFJTQSBrZXkgYml0IHNpemVzLCBidXQgb25seSB2YWxpZCB1cCB0byAyMDQ4IGJpdHMgZm9yIGtleSBwYWlycy4KK1BTQSBnZW5lcmF0ZSBrZXk6IFJTQSwga2V5IHBhaXIgc2l6ZSBkb2VzIG5vdCBmaXQgaW4gc3RhdGljIGtleSBidWZmZXIKK2RlcGVuZHNfb246UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6TUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UUzohTUJFRFRMU19URVNUX1NUQVRJQ19LRVlfU0xPVFNfU1VQUE9SVF9SU0FfNDA5NjpQU0FfVkVORE9SX1JTQV9NQVhfS0VZX0JJVFM+PTQwOTYKK2dlbmVyYXRlX2tleTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOjQwOTY6UFNBX0tFWV9VU0FHRV9FWFBPUlQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6UFNBX0VSUk9SX05PVF9TVVBQT1JURUQ6MAorCitQU0EgZ2VuZXJhdGUga2V5OiBSU0EsIGtleSBwYWlyIHNpemUgZml0cyBpbiBzdGF0aWMga2V5IGJ1ZmZlcgorZGVwZW5kc19vbjpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RTOk1CRURUTFNfVEVTVF9TVEFUSUNfS0VZX1NMT1RTX1NVUFBPUlRfUlNBXzIwNDg6UFNBX1ZFTkRPUl9SU0FfTUFYX0tFWV9CSVRTPj0yMDQ4CitnZW5lcmF0ZV9rZXk6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjoyMDQ4OlBTQV9LRVlfVVNBR0VfRVhQT1JUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOlBTQV9TVUNDRVNTOjAKKwogUFNBIGdlbmVyYXRlIGtleTogRUNDLCBTRUNQMjU2UjEsIGdvb2QKIGRlcGVuZHNfb246UFNBX1dBTlRfQUxHX0VDRFNBOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYKIGdlbmVyYXRlX2tleTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEpOjI1NjpQU0FfS0VZX1VTQUdFX0VYUE9SVCB8IFBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIIHwgUFNBX0tFWV9VU0FHRV9WRVJJRllfSEFTSDpQU0FfQUxHX0VDRFNBX0FOWTpQU0FfU1VDQ0VTUzowCkBAIC03NTA0LDYgKzc1NDYsODMgQEAKIGRlcGVuZHNfb246UFNBX1dBTlRfQUxHX0ZGREg6UFNBX1dBTlRfS0VZX1RZUEVfREhfS0VZX1BBSVJfR0VORVJBVEUKIGdlbmVyYXRlX2tleTpQU0FfS0VZX1RZUEVfREhfS0VZX1BBSVIoUFNBX0RIX0ZBTUlMWV9SRkM3OTE5KToxMDI0OlBTQV9LRVlfVVNBR0VfRVhQT1JUOlBTQV9BTEdfRkZESDpQU0FfRVJST1JfTk9UX1NVUFBPUlRFRDowCiAKK1BTQSBnZW5lcmF0ZSBrZXkgY3VzdG9tOiBSU0EsIGZsYWdzPTEKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFCitnZW5lcmF0ZV9rZXlfY3VzdG9tOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDowOjE6IiI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKKworUFNBIGdlbmVyYXRlIGtleSBjdXN0b206IFJTQSwgZW1wdHkgZQorZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9DUllQVAorZ2VuZXJhdGVfa2V5X2N1c3RvbTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6MDoiIjpQU0FfU1VDQ0VTUworCitQU0EgZ2VuZXJhdGUga2V5IGN1c3RvbTogUlNBLCBlPTMKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKK2dlbmVyYXRlX2tleV9jdXN0b206UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOjA6IjAzIjpQU0FfU1VDQ0VTUworCitQU0EgZ2VuZXJhdGUga2V5IGN1c3RvbTogUlNBLCBlPTMgd2l0aCBsZWFkaW5nIHplcm9zCitkZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUCitnZW5lcmF0ZV9rZXlfY3VzdG9tOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDowOiIwMDAwMDMiOlBTQV9TVUNDRVNTCisKKyMgVE9ETzogY3VycmVudGx5IGVycm9ycyB3aXRoIE5PVF9TVVBQT1JURUQgYmVjYXVzZSBlIGlzIGNvbnZlcnRlZCB0byBhbiBpbnQKKyMgYW5kIHRoZSBjb252ZXJzaW9uIGVycm9ycyBvdXQgaWYgdGhlcmUgYXJlIHRvbyBtYW55IGRpZ2l0cyB3aXRob3V0IGNoZWNraW5nCisjIGZvciBsZWFkaW5nIHplcm9zLiBUaGlzIGlzIGEgdmVyeSBtaW5vciBidWcuIFJlLWVuYWJsZSB0aGlzIHRlc3Qgd2hlbiB0aGlzCisjIGJ1ZyBpcyBmaXhlZC4KKyNQU0EgZ2VuZXJhdGUga2V5IGN1c3RvbTogUlNBLCBlPTMgd2l0aCBtYW55IGxlYWRpbmcgemVyb3MKKyNkZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUCisjZ2VuZXJhdGVfa2V5X2N1c3RvbTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6MDoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMyI6UFNBX1NVQ0NFU1MKKworUFNBIGdlbmVyYXRlIGtleSBjdXN0b206IFJTQSwgZT01MTMKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKK2dlbmVyYXRlX2tleV9jdXN0b206UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOjA6IjAyMDEiOlBTQV9TVUNDRVNTCisKK1BTQSBnZW5lcmF0ZSBrZXkgY3VzdG9tOiBSU0EsIGU9NjU1MzcKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKK2dlbmVyYXRlX2tleV9jdXN0b206UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOjA6IjAxMDAwMSI6UFNBX1NVQ0NFU1MKKworUFNBIGdlbmVyYXRlIGtleSBjdXN0b206IFJTQSwgZT0yXjMxLTEKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6SU5UX01BWD49MHg3ZmZmZmZmZgorZ2VuZXJhdGVfa2V5X2N1c3RvbTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6MDoiN2ZmZmZmZmYiOlBTQV9TVUNDRVNTCisKK1BTQSBnZW5lcmF0ZSBrZXkgY3VzdG9tOiBSU0EsIGU9Ml4zMSszICh0b28gbGFyZ2UgZm9yIGJ1aWx0LWluIFJTQSkKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOiFNQkVEVExTX1BTQV9BQ0NFTF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6SU5UX01BWDw9MHg3ZmZmZmZmZgorZ2VuZXJhdGVfa2V5X2N1c3RvbTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MDowOiI4MDAwMDAwMyI6UFNBX0VSUk9SX05PVF9TVVBQT1JURUQKKworUFNBIGdlbmVyYXRlIGtleSBjdXN0b206IFJTQSwgZT0yXjY0KzMgKHRvbyBsYXJnZSBmb3IgYnVpbHQtaW4gUlNBKQorZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6TUJFRFRMU19QU0FfQlVJTFRJTl9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6IU1CRURUTFNfUFNBX0FDQ0VMX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpJTlRfTUFYPD0weGZmZmZmZmZmZmZmZmZmZmYKK2dlbmVyYXRlX2tleV9jdXN0b206UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOjA6MDoiMDEwMDAwMDAwMDAwMDAwMDAzIjpQU0FfRVJST1JfTk9UX1NVUFBPUlRFRAorCitQU0EgZ2VuZXJhdGUga2V5IGN1c3RvbTogUlNBLCBlPTEKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFCitnZW5lcmF0ZV9rZXlfY3VzdG9tOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDowOjA6IjAxIjpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAorCitQU0EgZ2VuZXJhdGUga2V5IGN1c3RvbTogUlNBLCBlPTAKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFCitnZW5lcmF0ZV9rZXlfY3VzdG9tOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDowOjA6IjAwIjpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAorCitQU0EgZ2VuZXJhdGUga2V5IGN1c3RvbTogUlNBLCBlPTIKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFCitnZW5lcmF0ZV9rZXlfY3VzdG9tOlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDowOjA6IjAyIjpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAorCisjIENoZWNrIHRoYXQgd2l0aCBhIGRyaXZlciwgd2UgcmVqZWN0IGEgY3VzdG9tIGUgYXMgdW5zdXBwb3J0ZWQsCisjIGFzIG9wcG9zZWQgdG8gc2lsZW50bHkgdXNpbmcgdGhlIGRlZmF1bHQgZS4KKyMgV2hlbiB3ZSBhZGQgcHJvcGVyIGRyaXZlciBzdXBwb3J0LCByZW1vdmUgdGhpcyB0ZXN0IGNhc2UgYW5kIHJlbW92ZQorIyB0aGUgZGVwZW5kZW5jeSBvbiBNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURSBmcm9tCisjIHRoZSBwb3NpdGl2ZS9pbnZhbGlkX2FyZ3VtZW50IHRlc3QgY2FzZXMuCitQU0EgZ2VuZXJhdGUga2V5IGN1c3RvbTogUlNBLCBlPTMgd2l0aCBkcml2ZXIgYW5kIG5vIGZhbGxiYWNrIChub3QgeWV0IHN1cHBvcnRlZCkKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOiFNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURQorZ2VuZXJhdGVfa2V5X2N1c3RvbTpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MDowOiIwMyI6UFNBX0VSUk9SX05PVF9TVVBQT1JURUQKKworUFNBIGdlbmVyYXRlIGtleSBjdXN0b206IEVDQywgZmxhZ3M9MAorZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2OlBTQV9XQU5UX0FMR19FQ0RICitnZW5lcmF0ZV9rZXlfY3VzdG9tOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSk6MjU2OlBTQV9LRVlfVVNBR0VfREVSSVZFOlBTQV9BTEdfRUNESDowOiIiOlBTQV9TVUNDRVNTCisKK1BTQSBnZW5lcmF0ZSBrZXkgY3VzdG9tOiBFQ0MsIGZsYWdzPTEKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NjpQU0FfV0FOVF9BTEdfRUNESAorZ2VuZXJhdGVfa2V5X2N1c3RvbTpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEpOjI1NjpQU0FfS0VZX1VTQUdFX0RFUklWRTpQU0FfQUxHX0VDREg6MToiIjpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAorCitQU0EgZ2VuZXJhdGUga2V5IGN1c3RvbTogRUNDLCBkYXRhIG5vbi1lbXB0eQorZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9FQ0NfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2OlBTQV9XQU5UX0FMR19FQ0RICitnZW5lcmF0ZV9rZXlfY3VzdG9tOlBTQV9LRVlfVFlQRV9FQ0NfS0VZX1BBSVIoUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSk6MjU2OlBTQV9LRVlfVVNBR0VfREVSSVZFOlBTQV9BTEdfRUNESDowOiIyYSI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKKwogUFNBIGdlbmVyYXRlIGtleSBleHQ6IFJTQSwgcGFyYW1zLmZsYWdzPTEKIGRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFCiBnZW5lcmF0ZV9rZXlfZXh0OlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDowOjE6IiI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKQEAgLTc1MTIsNjMgKzc2MzEsMTAgQEAKIGRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQKIGdlbmVyYXRlX2tleV9leHQ6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOjA6IiI6UFNBX1NVQ0NFU1MKIAotUFNBIGdlbmVyYXRlIGtleSBleHQ6IFJTQSwgZT0zCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUCi1nZW5lcmF0ZV9rZXlfZXh0OlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDowOiIwMyI6UFNBX1NVQ0NFU1MKLQotUFNBIGdlbmVyYXRlIGtleSBleHQ6IFJTQSwgZT0zIHdpdGggbGVhZGluZyB6ZXJvcwotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6TUJFRFRMU19QU0FfQlVJTFRJTl9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9DUllQVAotZ2VuZXJhdGVfa2V5X2V4dDpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6UFNBX0FMR19SU0FfUEtDUzFWMTVfQ1JZUFQ6MDoiMDAwMDAzIjpQU0FfU1VDQ0VTUwotCi0jIFRPRE86IGN1cnJlbnRseSBlcnJvcnMgd2l0aCBOT1RfU1VQUE9SVEVEIGJlY2F1c2UgZSBpcyBjb252ZXJ0ZWQgdG8gYW4gaW50Ci0jIGFuZCB0aGUgY29udmVyc2lvbiBlcnJvcnMgb3V0IGlmIHRoZXJlIGFyZSB0b28gbWFueSBkaWdpdHMgd2l0aG91dCBjaGVja2luZwotIyBmb3IgbGVhZGluZyB6ZXJvcy4gVGhpcyBpcyBhIHZlcnkgbWlub3IgYnVnLiBSZS1lbmFibGUgdGhpcyB0ZXN0IHdoZW4gdGhpcwotIyBidWcgaXMgZml4ZWQuCi0jUFNBIGdlbmVyYXRlIGtleSBleHQ6IFJTQSwgZT0zIHdpdGggbWFueSBsZWFkaW5nIHplcm9zCi0jZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6TUJFRFRMU19QU0FfQlVJTFRJTl9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6UFNBX1dBTlRfQUxHX1JTQV9QS0NTMVYxNV9DUllQVAotI2dlbmVyYXRlX2tleV9leHQ6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOjA6IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMiOlBTQV9TVUNDRVNTCi0KIFBTQSBnZW5lcmF0ZSBrZXkgZXh0OiBSU0EsIGU9NTEzCiBkZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUCiBnZW5lcmF0ZV9rZXlfZXh0OlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDowOiIwMjAxIjpQU0FfU1VDQ0VTUwogCi1QU0EgZ2VuZXJhdGUga2V5IGV4dDogUlNBLCBlPTY1NTM3Ci1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUCi1nZW5lcmF0ZV9rZXlfZXh0OlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDpQU0FfQUxHX1JTQV9QS0NTMVYxNV9DUllQVDowOiIwMTAwMDEiOlBTQV9TVUNDRVNTCi0KLVBTQSBnZW5lcmF0ZSBrZXkgZXh0OiBSU0EsIGU9Ml4zMS0xCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpQU0FfV0FOVF9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOklOVF9NQVg+PTB4N2ZmZmZmZmYKLWdlbmVyYXRlX2tleV9leHQ6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOlBTQV9BTEdfUlNBX1BLQ1MxVjE1X0NSWVBUOjA6IjdmZmZmZmZmIjpQU0FfU1VDQ0VTUwotCi1QU0EgZ2VuZXJhdGUga2V5IGV4dDogUlNBLCBlPTJeMzErMyAodG9vIGxhcmdlIGZvciBidWlsdC1pbiBSU0EpCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTohTUJFRFRMU19QU0FfQUNDRUxfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOklOVF9NQVg8PTB4N2ZmZmZmZmYKLWdlbmVyYXRlX2tleV9leHQ6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOjA6MDoiODAwMDAwMDMiOlBTQV9FUlJPUl9OT1RfU1VQUE9SVEVECi0KLVBTQSBnZW5lcmF0ZSBrZXkgZXh0OiBSU0EsIGU9Ml42NCszICh0b28gbGFyZ2UgZm9yIGJ1aWx0LWluIFJTQSkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOk1CRURUTFNfUFNBX0JVSUxUSU5fS0VZX1RZUEVfUlNBX0tFWV9QQUlSX0dFTkVSQVRFOiFNQkVEVExTX1BTQV9BQ0NFTF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEU6SU5UX01BWDw9MHhmZmZmZmZmZmZmZmZmZmZmCi1nZW5lcmF0ZV9rZXlfZXh0OlBTQV9LRVlfVFlQRV9SU0FfS0VZX1BBSVI6UFNBX1ZFTkRPUl9SU0FfR0VORVJBVEVfTUlOX0tFWV9CSVRTOlBTQV9LRVlfVVNBR0VfRU5DUllQVCB8IFBTQV9LRVlfVVNBR0VfREVDUllQVDowOjA6IjAxMDAwMDAwMDAwMDAwMDAwMyI6UFNBX0VSUk9SX05PVF9TVVBQT1JURUQKLQotUFNBIGdlbmVyYXRlIGtleSBleHQ6IFJTQSwgZT0xCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURQotZ2VuZXJhdGVfa2V5X2V4dDpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MDowOiIwMSI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKLQotUFNBIGdlbmVyYXRlIGtleSBleHQ6IFJTQSwgZT0wCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURQotZ2VuZXJhdGVfa2V5X2V4dDpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MDowOiIwMCI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKLQotUFNBIGdlbmVyYXRlIGtleSBleHQ6IFJTQSwgZT0yCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTpNQkVEVExTX1BTQV9CVUlMVElOX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURQotZ2VuZXJhdGVfa2V5X2V4dDpQU0FfS0VZX1RZUEVfUlNBX0tFWV9QQUlSOlBTQV9WRU5ET1JfUlNBX0dFTkVSQVRFX01JTl9LRVlfQklUUzpQU0FfS0VZX1VTQUdFX0VOQ1JZUFQgfCBQU0FfS0VZX1VTQUdFX0RFQ1JZUFQ6MDowOiIwMiI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKLQotIyBDaGVjayB0aGF0IHdpdGggYSBkcml2ZXIsIHdlIHJlamVjdCBhIGN1c3RvbSBlIGFzIHVuc3VwcG9ydGVkLAotIyBhcyBvcHBvc2VkIHRvIHNpbGVudGx5IHVzaW5nIHRoZSBkZWZhdWx0IGUuCi0jIFdoZW4gd2UgYWRkIHByb3BlciBkcml2ZXIgc3VwcG9ydCwgcmVtb3ZlIHRoaXMgdGVzdCBjYXNlIGFuZCByZW1vdmUKLSMgdGhlIGRlcGVuZGVuY3kgb24gTUJFRFRMU19QU0FfQlVJTFRJTl9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEUgZnJvbQotIyB0aGUgcG9zaXRpdmUvaW52YWxpZF9hcmd1bWVudCB0ZXN0IGNhc2VzLgotUFNBIGdlbmVyYXRlIGtleSBleHQ6IFJTQSwgZT0zIHdpdGggZHJpdmVyIGFuZCBubyBmYWxsYmFjayAobm90IHlldCBzdXBwb3J0ZWQpCi1kZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURTohTUJFRFRMU19QU0FfQlVJTFRJTl9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEUKLWdlbmVyYXRlX2tleV9leHQ6UFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUjpQU0FfVkVORE9SX1JTQV9HRU5FUkFURV9NSU5fS0VZX0JJVFM6UFNBX0tFWV9VU0FHRV9FTkNSWVBUIHwgUFNBX0tFWV9VU0FHRV9ERUNSWVBUOjA6MDoiMDMiOlBTQV9FUlJPUl9OT1RfU1VQUE9SVEVECi0KIFBTQSBnZW5lcmF0ZSBrZXkgZXh0OiBFQ0MsIGZsYWdzPTAKIGRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0dFTkVSQVRFOlBTQV9XQU5UX0VDQ19TRUNQX1IxXzI1NjpQU0FfV0FOVF9BTEdfRUNESAogZ2VuZXJhdGVfa2V5X2V4dDpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEpOjI1NjpQU0FfS0VZX1VTQUdFX0RFUklWRTpQU0FfQUxHX0VDREg6MDoiIjpQU0FfU1VDQ0VTUwpAQCAtNzYwMywxNSArNzY2OSwxNSBAQAogY29uY3VycmVudGx5X2dlbmVyYXRlX2tleXM6UFNBX0tFWV9UWVBFX1JBV19EQVRBOjk6UFNBX0tFWV9VU0FHRV9FWFBPUlQ6MDpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVDowOjg6NQogCiBQU0EgY29uY3VycmVudCBrZXkgZ2VuZXJhdGlvbjogcmF3IGRhdGEsIChNQkVEVExTX0NUUl9EUkJHX01BWF9SRVFVRVNUICsgMSkgKiA4IGJpdHMKLWRlcGVuZHNfb246TUJFRFRMU19USFJFQURJTkdfUFRIUkVBRAorZGVwZW5kc19vbjpNQkVEVExTX1RIUkVBRElOR19QVEhSRUFEOk1CRURUTFNfUFNBX0tFWV9CVUZGRVJfTUFYX1NJWkUgPj0gKE1CRURUTFNfQ1RSX0RSQkdfTUFYX1JFUVVFU1QgKyAxKQogY29uY3VycmVudGx5X2dlbmVyYXRlX2tleXM6UFNBX0tFWV9UWVBFX1JBV19EQVRBOihNQkVEVExTX0NUUl9EUkJHX01BWF9SRVFVRVNUICsgMSkgKiA4OlBTQV9LRVlfVVNBR0VfRVhQT1JUOjA6UFNBX1NVQ0NFU1M6MDo4OjUKIAogUFNBIGNvbmN1cnJlbnQga2V5IGdlbmVyYXRpb246IHJhdyBkYXRhLCAoMiAqIE1CRURUTFNfQ1RSX0RSQkdfTUFYX1JFUVVFU1QgKyAxKSAqIDggYml0cwotZGVwZW5kc19vbjpNQkVEVExTX1RIUkVBRElOR19QVEhSRUFECitkZXBlbmRzX29uOk1CRURUTFNfVEhSRUFESU5HX1BUSFJFQUQ6TUJFRFRMU19QU0FfS0VZX0JVRkZFUl9NQVhfU0laRSA+PSAoMiAqIE1CRURUTFNfQ1RSX0RSQkdfTUFYX1JFUVVFU1QgKyAxKQogY29uY3VycmVudGx5X2dlbmVyYXRlX2tleXM6UFNBX0tFWV9UWVBFX1JBV19EQVRBOigyICogTUJFRFRMU19DVFJfRFJCR19NQVhfUkVRVUVTVCArIDEpICogODpQU0FfS0VZX1VTQUdFX0VYUE9SVDowOlBTQV9TVUNDRVNTOjA6ODo1CiAKIFBTQSBjb25jdXJyZW50IGtleSBnZW5lcmF0aW9uOiByYXcgZGF0YSwgNjU1MjggYml0cyAobGFyZ2Uga2V5LCBvayBpZiBpdCBmaXRzKQotZGVwZW5kc19vbjpNQkVEVExTX1RIUkVBRElOR19QVEhSRUFECitkZXBlbmRzX29uOk1CRURUTFNfVEhSRUFESU5HX1BUSFJFQUQ6TUJFRFRMU19QU0FfS0VZX0JVRkZFUl9NQVhfU0laRSA+IFBTQV9CSVRTX1RPX0JZVEVTKDY1NTI4KQogY29uY3VycmVudGx5X2dlbmVyYXRlX2tleXM6UFNBX0tFWV9UWVBFX1JBV19EQVRBOjY1NTI4OlBTQV9LRVlfVVNBR0VfRVhQT1JUOjA6UFNBX1NVQ0NFU1M6MTo4OjUKIAogUFNBIGNvbmN1cnJlbnQga2V5IGdlbmVyYXRpb246IHJhdyBkYXRhLCA2NTUzNiBiaXRzIChub3Qgc3VwcG9ydGVkKQpAQCAtNzgwNyw5ICs3ODczLDcgQEAKIGRlcGVuZHNfb246UFNBX1dBTlRfRUNDX1NFQ1BfSzFfMTkyCiBlY2NfY29udmVyc2lvbl9mdW5jdGlvbnM6TUJFRFRMU19FQ1BfRFBfU0VDUDE5MksxOlBTQV9FQ0NfRkFNSUxZX1NFQ1BfSzE6MTkyCiAKLUVDUCBncm91cCBJRCA8LT4gUFNBIGZhbWlseSAtIFNFQ1AyMjRLMQotZGVwZW5kc19vbjpQU0FfV0FOVF9FQ0NfU0VDUF9LMV8yMjQKLWVjY19jb252ZXJzaW9uX2Z1bmN0aW9uczpNQkVEVExTX0VDUF9EUF9TRUNQMjI0SzE6UFNBX0VDQ19GQU1JTFlfU0VDUF9LMToyMjQKKyMgTm8gdGVzdCBjYXNlIGZvciBTRUNQMjI0SzEsIHdoaWNoIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgUFNBIEFQSS4KIAogRUNQIGdyb3VwIElEIDwtPiBQU0EgZmFtaWx5IC0gU0VDUDI1NksxCiBkZXBlbmRzX29uOlBTQV9XQU5UX0VDQ19TRUNQX0sxXzI1NgpAQCAtNzgyNCw0ICs3ODg4LDMgQEAKIAogRUNQIGdyb3VwIElEIDwtPiBQU0EgZmFtaWx5IC0gV3JvbmcgdmFsdWVzCiBlY2NfY29udmVyc2lvbl9mdW5jdGlvbnNfZmFpbAotCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvLmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0by5mdW5jdGlvbgppbmRleCAwYzg1NTJiLi45NGJmMjhiIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG8uZnVuY3Rpb24KQEAgLTM5LDI4ICszOSw2IEBACiAjZGVmaW5lIEFTU0VSVF9PUEVSQVRJT05fSVNfQUNUSVZFKG9wZXJhdGlvbikgVEVTVF9BU1NFUlQob3BlcmF0aW9uLmlkICE9IDApCiAjZGVmaW5lIEFTU0VSVF9PUEVSQVRJT05fSVNfSU5BQ1RJVkUob3BlcmF0aW9uKSBURVNUX0FTU0VSVChvcGVyYXRpb24uaWQgPT0gMCkKIAotI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX0pQQUtFKQotaW50IGVjanBha2Vfb3BlcmF0aW9uX3NldHVwKHBzYV9wYWtlX29wZXJhdGlvbl90ICpvcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX3Bha2VfY2lwaGVyX3N1aXRlX3QgKmNpcGhlcl9zdWl0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2FfcGFrZV9yb2xlX3Qgcm9sZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCBrZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGtleV9hdmFpbGFibGUpCi17Ci0gICAgUFNBX0FTU0VSVChwc2FfcGFrZV9hYm9ydChvcGVyYXRpb24pKTsKLQotICAgIFBTQV9BU1NFUlQocHNhX3Bha2Vfc2V0dXAob3BlcmF0aW9uLCBjaXBoZXJfc3VpdGUpKTsKLQotICAgIFBTQV9BU1NFUlQocHNhX3Bha2Vfc2V0X3JvbGUob3BlcmF0aW9uLCByb2xlKSk7Ci0KLSAgICBpZiAoa2V5X2F2YWlsYWJsZSkgewotICAgICAgICBQU0FfQVNTRVJUKHBzYV9wYWtlX3NldF9wYXNzd29yZF9rZXkob3BlcmF0aW9uLCBrZXkpKTsKLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci1leGl0OgotICAgIHJldHVybiAxOwotfQotI2VuZGlmCi0KIC8qKiBBbiBpbnZhbGlkIGV4cG9ydCBsZW5ndGggdGhhdCB3aWxsIG5ldmVyIGJlIHNldCBieSBwc2FfZXhwb3J0X2tleSgpLiAqLwogc3RhdGljIGNvbnN0IHNpemVfdCBJTlZBTElEX0VYUE9SVF9MRU5HVEggPSB+MFU7CiAKQEAgLTE3NSwxMiArMTUzLDEyIEBACiB9CiAjZW5kaWYgLyogTUJFRFRMU19BU04xX1dSSVRFX0MgKi8KIAotaW50IGV4ZXJjaXNlX21hY19zZXR1cChwc2Ffa2V5X3R5cGVfdCBrZXlfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5X2J5dGVzLAotICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qga2V5X2xlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgcHNhX2FsZ29yaXRobV90IGFsZywKLSAgICAgICAgICAgICAgICAgICAgICAgcHNhX21hY19vcGVyYXRpb25fdCAqb3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICBwc2Ffc3RhdHVzX3QgKnN0YXR1cykKK3N0YXRpYyBpbnQgZXhlcmNpc2VfbWFjX3NldHVwKHBzYV9rZXlfdHlwZV90IGtleV90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5X2J5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGtleV9sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2FfYWxnb3JpdGhtX3QgYWxnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX21hY19vcGVyYXRpb25fdCAqb3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX3N0YXR1c190ICpzdGF0dXMpCiB7CiAgICAgbWJlZHRsc19zdmNfa2V5X2lkX3Qga2V5ID0gTUJFRFRMU19TVkNfS0VZX0lEX0lOSVQ7CiAgICAgcHNhX2tleV9hdHRyaWJ1dGVzX3QgYXR0cmlidXRlcyA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOwpAQCAtMjA3LDEyICsxODUsMTIgQEAKICAgICByZXR1cm4gMDsKIH0KIAotaW50IGV4ZXJjaXNlX2NpcGhlcl9zZXR1cChwc2Ffa2V5X3R5cGVfdCBrZXlfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5X2J5dGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qga2V5X2xlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2FsZ29yaXRobV90IGFsZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2NpcGhlcl9vcGVyYXRpb25fdCAqb3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffc3RhdHVzX3QgKnN0YXR1cykKK3N0YXRpYyBpbnQgZXhlcmNpc2VfY2lwaGVyX3NldHVwKHBzYV9rZXlfdHlwZV90IGtleV90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5X2J5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGtleV9sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2FfYWxnb3JpdGhtX3QgYWxnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2NpcGhlcl9vcGVyYXRpb25fdCAqb3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX3N0YXR1c190ICpzdGF0dXMpCiB7CiAgICAgbWJlZHRsc19zdmNfa2V5X2lkX3Qga2V5ID0gTUJFRFRMU19TVkNfS0VZX0lEX0lOSVQ7CiAgICAgcHNhX2tleV9hdHRyaWJ1dGVzX3QgYXR0cmlidXRlcyA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOwpAQCAtMjg1LDE0ICsyNjMsMTQgQEAKIC8qIEFzc2VydCB0aGF0IGEga2V5IGlzbid0IHJlcG9ydGVkIGFzIGhhdmluZyBhIHNsb3QgbnVtYmVyLiAqLwogI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MpCiAjZGVmaW5lIEFTU0VSVF9OT19TTE9UX05VTUJFUihhdHRyaWJ1dGVzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBwc2Ffa2V5X3Nsb3RfbnVtYmVyX3QgQVNTRVJUX05PX1NMT1RfTlVNQkVSX3Nsb3RfbnVtYmVyOyAgICAgICAgXAotICAgICAgICBURVNUX0VRVUFMKHBzYV9nZXRfa2V5X3Nsb3RfbnVtYmVyKCAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBwc2Ffa2V5X3Nsb3RfbnVtYmVyX3QgQVNTRVJUX05PX1NMT1RfTlVNQkVSX3Nsb3RfbnVtYmVyOyAgICAgIFwKKyAgICAgICAgVEVTVF9FUVVBTChwc2FfZ2V0X2tleV9zbG90X251bWJlciggICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAmQVNTRVJUX05PX1NMT1RfTlVNQkVSX3Nsb3RfbnVtYmVyKSwgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICBQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVCk7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHdoaWxlICgwKQogI2Vsc2UgLyogTUJFRFRMU19QU0FfQ1JZUFRPX1NFX0MgKi8KICNkZWZpbmUgQVNTRVJUX05PX1NMT1RfTlVNQkVSKGF0dHJpYnV0ZXMpICAgICBcCkBAIC0xMjU4LDcgKzEyMzYsNyBAQAogfQogI2VuZGlmIC8qIE1CRURUTFNfRUNQX1JFU1RBUlRBQkxFICovCiAKLSNpZiBkZWZpbmVkKFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURSkKKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0tFWV9UWVBFX1JTQV9LRVlfUEFJUl9HRU5FUkFURSkgJiYgZGVmaW5lZChNQkVEVExTX0FTTjFfUEFSU0VfQykKIHN0YXRpYyBpbnQgcnNhX3Rlc3RfZShtYmVkdGxzX3N2Y19rZXlfaWRfdCBrZXksCiAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGJpdHMsCiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YV90ICplX2FyZykKQEAgLTEzMzgsNiArMTMxNiw3IEBACiAKICNpZiBkZWZpbmVkKE1CRURUTFNfVEhSRUFESU5HX1BUSFJFQUQpCiAKKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MpCiB0eXBlZGVmIHN0cnVjdCBzYW1lX2tleV9jb250ZXh0IHsKICAgICBkYXRhX3QgKmRhdGE7CiAgICAgbWJlZHRsc19zdmNfa2V5X2lkX3Qga2V5OwpAQCAtMTM1NCw3ICsxMzMzLDcgQEAKIC8qIEF0dGVtcHQgdG8gaW1wb3J0IHRoZSBrZXkgaW4gY3R4LiBUaGlzIGhhbmRsZXMgYW55IHZhbGlkIGVycm9yIGNvZGVzCiAgKiBhbmQgcmVwb3J0cyBhbiBlcnJvciBmb3IgYW55IGludmFsaWQgY29kZXMuIFRoaXMgZnVuY3Rpb24gYWxzbyBpbnN1cmVzCiAgKiB0aGF0IG9uY2UgaW1wb3J0ZWQgYnkgc29tZSB0aHJlYWQsIGFsbCB0aHJlYWRzIGNhbiB1c2UgdGhlIGtleS4gKi8KLXZvaWQgKnRocmVhZF9pbXBvcnRfa2V5KHZvaWQgKmN0eCkKK3N0YXRpYyB2b2lkICp0aHJlYWRfaW1wb3J0X2tleSh2b2lkICpjdHgpCiB7CiAgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgcmV0dXJuZWRfa2V5X2lkOwogICAgIHNhbWVfa2V5X2NvbnRleHQgKnNrYyA9IChzdHJ1Y3Qgc2FtZV9rZXlfY29udGV4dCAqKSBjdHg7CkBAIC0xNDI4LDcgKzE0MDcsNyBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi12b2lkICp0aHJlYWRfdXNlX2FuZF9kZXN0cm95X2tleSh2b2lkICpjdHgpCitzdGF0aWMgdm9pZCAqdGhyZWFkX3VzZV9hbmRfZGVzdHJveV9rZXkodm9pZCAqY3R4KQogewogICAgIHNhbWVfa2V5X2NvbnRleHQgKnNrYyA9IChzdHJ1Y3Qgc2FtZV9rZXlfY29udGV4dCAqKSBjdHg7CiAKQEAgLTE0NTYsNiArMTQzNSw3IEBACiBleGl0OgogICAgIHJldHVybiBOVUxMOwogfQorI2VuZGlmIC8qIE1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MgKi8KIAogdHlwZWRlZiBzdHJ1Y3QgZ2VuZXJhdGVfa2V5X2NvbnRleHQgewogICAgIHBzYV9rZXlfdHlwZV90IHR5cGU7CkBAIC0xNDY4LDcgKzE0NDgsNyBAQAogICAgIGludCByZXBzOwogfQogZ2VuZXJhdGVfa2V5X2NvbnRleHQ7Ci12b2lkICp0aHJlYWRfZ2VuZXJhdGVfa2V5KHZvaWQgKmN0eCkKK3N0YXRpYyB2b2lkICp0aHJlYWRfZ2VuZXJhdGVfa2V5KHZvaWQgKmN0eCkKIHsKICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCBrZXkgPSBNQkVEVExTX1NWQ19LRVlfSURfSU5JVDsKICAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBnb3RfYXR0cmlidXRlcyA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOwpAQCAtMTY1OSw3ICsxNjM5LDcgQEAKIH0KIC8qIEVORF9DQVNFICovCiAKLS8qIEJFR0lOX0NBU0UgKi8KKy8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjogIU1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMqLwogLyogQ29uc3RydWN0IGFuZCBhdHRlbXB0IHRvIGltcG9ydCBhIGxhcmdlIHVuc3RydWN0dXJlZCBrZXkuICovCiB2b2lkIGltcG9ydF9sYXJnZV9rZXkoaW50IHR5cGVfYXJnLCBpbnQgYnl0ZV9zaXplX2FyZywKICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwZWN0ZWRfc3RhdHVzX2FyZykKQEAgLTk1OTIsNiArOTU3Miw3NyBAQAogLyogRU5EX0NBU0UgKi8KIAogLyogQkVHSU5fQ0FTRSAqLwordm9pZCBkZXJpdmVfa2V5X2N1c3RvbShpbnQgYWxnX2FyZywKKyAgICAgICAgICAgICAgICAgICAgICAgZGF0YV90ICprZXlfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgZGF0YV90ICppbnB1dDEsCisgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfdCAqaW5wdXQyLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQga2V5X3R5cGVfYXJnLCBpbnQgYml0c19hcmcsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBmbGFnc19hcmcsCisgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfdCAqY3VzdG9tX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgIHBzYV9zdGF0dXNfdCBleHBlY3RlZF9zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfdCAqZXhwZWN0ZWRfZXhwb3J0KQoreworICAgIG1iZWR0bHNfc3ZjX2tleV9pZF90IGJhc2Vfa2V5ID0gTUJFRFRMU19TVkNfS0VZX0lEX0lOSVQ7CisgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgZGVyaXZlZF9rZXkgPSBNQkVEVExTX1NWQ19LRVlfSURfSU5JVDsKKyAgICBjb25zdCBwc2FfYWxnb3JpdGhtX3QgYWxnID0gYWxnX2FyZzsKKyAgICBjb25zdCBwc2Ffa2V5X3R5cGVfdCBrZXlfdHlwZSA9IGtleV90eXBlX2FyZzsKKyAgICBjb25zdCBzaXplX3QgYml0cyA9IGJpdHNfYXJnOworICAgIHBzYV9jdXN0b21fa2V5X3BhcmFtZXRlcnNfdCBjdXN0b20gPSBQU0FfQ1VTVE9NX0tFWV9QQVJBTUVURVJTX0lOSVQ7CisgICAgY3VzdG9tLmZsYWdzID0gZmxhZ3NfYXJnOworICAgIHBzYV9rZXlfZGVyaXZhdGlvbl9vcGVyYXRpb25fdCBvcGVyYXRpb24gPSBQU0FfS0VZX0RFUklWQVRJT05fT1BFUkFUSU9OX0lOSVQ7CisgICAgY29uc3Qgc2l6ZV90IGV4cG9ydF9idWZmZXJfc2l6ZSA9CisgICAgICAgIFBTQV9FWFBPUlRfS0VZX09VVFBVVF9TSVpFKGtleV90eXBlLCBiaXRzKTsKKyAgICB1aW50OF90ICpleHBvcnRfYnVmZmVyID0gTlVMTDsKKyAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBiYXNlX2F0dHJpYnV0ZXMgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKKyAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBkZXJpdmVkX2F0dHJpYnV0ZXMgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKKyAgICBzaXplX3QgZXhwb3J0X2xlbmd0aDsKKworICAgIFRFU1RfQ0FMTE9DKGV4cG9ydF9idWZmZXIsIGV4cG9ydF9idWZmZXJfc2l6ZSk7CisgICAgUFNBX0FTU0VSVChwc2FfY3J5cHRvX2luaXQoKSk7CisKKyAgICBwc2Ffc2V0X2tleV91c2FnZV9mbGFncygmYmFzZV9hdHRyaWJ1dGVzLCBQU0FfS0VZX1VTQUdFX0RFUklWRSk7CisgICAgcHNhX3NldF9rZXlfYWxnb3JpdGhtKCZiYXNlX2F0dHJpYnV0ZXMsIGFsZyk7CisgICAgcHNhX3NldF9rZXlfdHlwZSgmYmFzZV9hdHRyaWJ1dGVzLCBQU0FfS0VZX1RZUEVfREVSSVZFKTsKKyAgICBQU0FfQVNTRVJUKHBzYV9pbXBvcnRfa2V5KCZiYXNlX2F0dHJpYnV0ZXMsIGtleV9kYXRhLT54LCBrZXlfZGF0YS0+bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJhc2Vfa2V5KSk7CisKKyAgICBpZiAobWJlZHRsc190ZXN0X3BzYV9zZXR1cF9rZXlfZGVyaXZhdGlvbl93cmFwKAorICAgICAgICAgICAgJm9wZXJhdGlvbiwgYmFzZV9rZXksIGFsZywKKyAgICAgICAgICAgIGlucHV0MS0+eCwgaW5wdXQxLT5sZW4sCisgICAgICAgICAgICBpbnB1dDItPngsIGlucHV0Mi0+bGVuLAorICAgICAgICAgICAgUFNBX0tFWV9ERVJJVkFUSU9OX1VOTElNSVRFRF9DQVBBQ0lUWSwgMCkgPT0gMCkgeworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorCisgICAgcHNhX3NldF9rZXlfdXNhZ2VfZmxhZ3MoJmRlcml2ZWRfYXR0cmlidXRlcywgUFNBX0tFWV9VU0FHRV9FWFBPUlQpOworICAgIHBzYV9zZXRfa2V5X2FsZ29yaXRobSgmZGVyaXZlZF9hdHRyaWJ1dGVzLCAwKTsKKyAgICBwc2Ffc2V0X2tleV90eXBlKCZkZXJpdmVkX2F0dHJpYnV0ZXMsIGtleV90eXBlKTsKKyAgICBwc2Ffc2V0X2tleV9iaXRzKCZkZXJpdmVkX2F0dHJpYnV0ZXMsIGJpdHMpOworCisgICAgVEVTVF9FUVVBTChwc2Ffa2V5X2Rlcml2YXRpb25fb3V0cHV0X2tleV9jdXN0b20oCisgICAgICAgICAgICAgICAgICAgJmRlcml2ZWRfYXR0cmlidXRlcywgJm9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAmY3VzdG9tLCBjdXN0b21fZGF0YS0+eCwgY3VzdG9tX2RhdGEtPmxlbiwKKyAgICAgICAgICAgICAgICAgICAmZGVyaXZlZF9rZXkpLAorICAgICAgICAgICAgICAgZXhwZWN0ZWRfc3RhdHVzKTsKKworICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gUFNBX1NVQ0NFU1MpIHsKKyAgICAgICAgUFNBX0FTU0VSVChwc2FfZXhwb3J0X2tleShkZXJpdmVkX2tleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBvcnRfYnVmZmVyLCBleHBvcnRfYnVmZmVyX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4cG9ydF9sZW5ndGgpKTsKKyAgICAgICAgVEVTVF9NRU1PUllfQ09NUEFSRShleHBvcnRfYnVmZmVyLCBleHBvcnRfbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2V4cG9ydC0+eCwgZXhwZWN0ZWRfZXhwb3J0LT5sZW4pOworICAgIH0KKworZXhpdDoKKyAgICBtYmVkdGxzX2ZyZWUoZXhwb3J0X2J1ZmZlcik7CisgICAgcHNhX2tleV9kZXJpdmF0aW9uX2Fib3J0KCZvcGVyYXRpb24pOworICAgIHBzYV9kZXN0cm95X2tleShiYXNlX2tleSk7CisgICAgcHNhX2Rlc3Ryb3lfa2V5KGRlcml2ZWRfa2V5KTsKKyAgICBQU0FfRE9ORSgpOworfQorLyogRU5EX0NBU0UgKi8KKworLyogQkVHSU5fQ0FTRSAqLwogdm9pZCBkZXJpdmVfa2V5X2V4dChpbnQgYWxnX2FyZywKICAgICAgICAgICAgICAgICAgICAgZGF0YV90ICprZXlfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgZGF0YV90ICppbnB1dDEsCkBAIC0xMDE1Myw2ICsxMDIwNCw3MSBAQAogLyogRU5EX0NBU0UgKi8KIAogLyogQkVHSU5fQ0FTRSAqLwordm9pZCBnZW5lcmF0ZV9rZXlfY3VzdG9tKGludCB0eXBlX2FyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYml0c19hcmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVzYWdlX2FyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYWxnX2FyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmxhZ3NfYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfdCAqY3VzdG9tX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGV4cGVjdGVkX3N0YXR1c19hcmcpCit7CisgICAgbWJlZHRsc19zdmNfa2V5X2lkX3Qga2V5ID0gTUJFRFRMU19TVkNfS0VZX0lEX0lOSVQ7CisgICAgcHNhX2tleV90eXBlX3QgdHlwZSA9IHR5cGVfYXJnOworICAgIHBzYV9rZXlfdXNhZ2VfdCB1c2FnZSA9IHVzYWdlX2FyZzsKKyAgICBzaXplX3QgYml0cyA9IGJpdHNfYXJnOworICAgIHBzYV9hbGdvcml0aG1fdCBhbGcgPSBhbGdfYXJnOworICAgIHBzYV9zdGF0dXNfdCBleHBlY3RlZF9zdGF0dXMgPSBleHBlY3RlZF9zdGF0dXNfYXJnOworICAgIHBzYV9rZXlfYXR0cmlidXRlc190IGF0dHJpYnV0ZXMgPSBQU0FfS0VZX0FUVFJJQlVURVNfSU5JVDsKKyAgICBwc2FfY3VzdG9tX2tleV9wYXJhbWV0ZXJzX3QgY3VzdG9tID0gUFNBX0NVU1RPTV9LRVlfUEFSQU1FVEVSU19JTklUOworICAgIGN1c3RvbS5mbGFncyA9IGZsYWdzX2FyZzsKKyAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBnb3RfYXR0cmlidXRlcyA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOworCisgICAgUFNBX0FTU0VSVChwc2FfY3J5cHRvX2luaXQoKSk7CisKKyAgICBwc2Ffc2V0X2tleV91c2FnZV9mbGFncygmYXR0cmlidXRlcywgdXNhZ2UpOworICAgIHBzYV9zZXRfa2V5X2FsZ29yaXRobSgmYXR0cmlidXRlcywgYWxnKTsKKyAgICBwc2Ffc2V0X2tleV90eXBlKCZhdHRyaWJ1dGVzLCB0eXBlKTsKKyAgICBwc2Ffc2V0X2tleV9iaXRzKCZhdHRyaWJ1dGVzLCBiaXRzKTsKKworICAgIC8qIEdlbmVyYXRlIGEga2V5ICovCisgICAgcHNhX3N0YXR1c190IHN0YXR1cyA9CisgICAgICAgIHBzYV9nZW5lcmF0ZV9rZXlfY3VzdG9tKCZhdHRyaWJ1dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY3VzdG9tLCBjdXN0b21fZGF0YS0+eCwgY3VzdG9tX2RhdGEtPmxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtleSk7CisKKyAgICBURVNUX0VRVUFMKHN0YXR1cywgZXhwZWN0ZWRfc3RhdHVzKTsKKyAgICBpZiAoZXhwZWN0ZWRfc3RhdHVzICE9IFBTQV9TVUNDRVNTKSB7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisKKyAgICAvKiBUZXN0IHRoZSBrZXkgaW5mb3JtYXRpb24gKi8KKyAgICBQU0FfQVNTRVJUKHBzYV9nZXRfa2V5X2F0dHJpYnV0ZXMoa2V5LCAmZ290X2F0dHJpYnV0ZXMpKTsKKyAgICBURVNUX0VRVUFMKHBzYV9nZXRfa2V5X3R5cGUoJmdvdF9hdHRyaWJ1dGVzKSwgdHlwZSk7CisgICAgVEVTVF9FUVVBTChwc2FfZ2V0X2tleV9iaXRzKCZnb3RfYXR0cmlidXRlcyksIGJpdHMpOworCisjaWYgZGVmaW5lZChQU0FfV0FOVF9LRVlfVFlQRV9SU0FfS0VZX1BBSVJfR0VORVJBVEUpICYmIGRlZmluZWQoTUJFRFRMU19BU04xX1BBUlNFX0MpCisgICAgaWYgKHR5cGUgPT0gUFNBX0tFWV9UWVBFX1JTQV9LRVlfUEFJUikgeworICAgICAgICBURVNUX0FTU0VSVChyc2FfdGVzdF9lKGtleSwgYml0cywgY3VzdG9tX2RhdGEpKTsKKyAgICB9CisjZW5kaWYKKworICAgIC8qIERvIHNvbWV0aGluZyB3aXRoIHRoZSBrZXkgYWNjb3JkaW5nIHRvIGl0cyB0eXBlIGFuZCBwZXJtaXR0ZWQgdXNhZ2UuICovCisgICAgaWYgKCFtYmVkdGxzX3Rlc3RfcHNhX2V4ZXJjaXNlX2tleShrZXksIHVzYWdlLCBhbGcsIDApKSB7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisKK2V4aXQ6CisgICAgLyoKKyAgICAgKiBLZXkgYXR0cmlidXRlcyBtYXkgaGF2ZSBiZWVuIHJldHVybmVkIGJ5IHBzYV9nZXRfa2V5X2F0dHJpYnV0ZXMoKQorICAgICAqIHRodXMgcmVzZXQgdGhlbSBhcyByZXF1aXJlZC4KKyAgICAgKi8KKyAgICBwc2FfcmVzZXRfa2V5X2F0dHJpYnV0ZXMoJmdvdF9hdHRyaWJ1dGVzKTsKKyAgICBwc2FfZGVzdHJveV9rZXkoa2V5KTsKKyAgICBQU0FfRE9ORSgpOworfQorLyogRU5EX0NBU0UgKi8KKworLyogQkVHSU5fQ0FTRSAqLwogdm9pZCBnZW5lcmF0ZV9rZXlfZXh0KGludCB0eXBlX2FyZywKICAgICAgICAgICAgICAgICAgICAgICBpbnQgYml0c19hcmcsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IHVzYWdlX2FyZywKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fZHJpdmVyX3dyYXBwZXJzLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX2RyaXZlcl93cmFwcGVycy5kYXRhCmluZGV4IDU0ZTA4OTIuLmZiMmRhOGMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fZHJpdmVyX3dyYXBwZXJzLmRhdGEKKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19kcml2ZXJfd3JhcHBlcnMuZGF0YQpAQCAtMSwzICsxLDYgQEAKK0J1aWx0LWluIGtleSByYW5nZQorYnVpbHRpbl9rZXlfaWRfc3RhYmlsaXR5OgorCiBzaWduX2hhc2ggdHJhbnNwYXJlbnQgZHJpdmVyOiBpbiBkcml2ZXIgRUNEU0EgU0VDUDI1NlIxIFNIQS0yNTYKIGRlcGVuZHNfb246UFNBX1dBTlRfQUxHX0RFVEVSTUlOSVNUSUNfRUNEU0E6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0JBU0lDOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9JTVBPUlQ6UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0VYUE9SVDpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTY6UFNBX1dBTlRfQUxHX1NIQV8yNTYKIHNpZ25faGFzaDpQU0FfS0VZX1RZUEVfRUNDX0tFWV9QQUlSKCBQU0FfRUNDX0ZBTUlMWV9TRUNQX1IxICk6UFNBX0FMR19ERVRFUk1JTklTVElDX0VDRFNBKCBQU0FfQUxHX1NIQV8yNTYgKTpQU0FfU1VDQ0VTUzoiYWI0NTQzNTcxMjY0OWNiMzBiYmRkYWM0OTE5N2VlYmYyNzQwZmZjN2Y4NzRkOTI0NGMzNDYwZjU0ZjMyMmQzYSI6IjlhYzQzMzViNDY5YmJkNzkxNDM5MjQ4NTA0ZGQwZDQ5YzcxMzQ5YTI5NWZlZTVhMWM2ODUwN2Y0NWE5ZTFjN2IiOiI2YTMzOTlmNjk0MjFmZmUxNDkwMzc3YWRmMmVhMWYxMTdkODFhNjNjZjViZjIyZTkxOGQ1MTE3NWViMjU5MTUxY2U5NWQ3YzI2Y2MwNGUyNTUwM2UyZjdhMWVjMzU3M2UzYzI0MTI1MzRiYjRhMTliM2E3ODExNzQyZjQ5ZjUwZiI6MDpQU0FfU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19kcml2ZXJfd3JhcHBlcnMuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX2RyaXZlcl93cmFwcGVycy5mdW5jdGlvbgppbmRleCBlNzkyNWRkLi40OWIxYzE1IDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX2RyaXZlcl93cmFwcGVycy5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX2RyaXZlcl93cmFwcGVycy5mdW5jdGlvbgpAQCAtNiwxMyArNiwxNCBAQAogc2l6ZV90IHBha2VfZXhwZWN0ZWRfaGl0X2NvdW50ID0gMDsKIGludCBwYWtlX2luX2RyaXZlciA9IDA7CiAKKyNpZiBkZWZpbmVkKFBTQV9XQU5UX0FMR19KUEFLRSkgJiYgXAorICAgIGRlZmluZWQoUFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0JBU0lDKSAmJiBcCisgICAgZGVmaW5lZChQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTYpICYmIGRlZmluZWQoUFNBX1dBTlRfQUxHX1NIQV8yNTYpCisKIC8qIFRoZSBvbmx5IHR3byBKUEFLRSB1c2VyL3BlZXIgaWRlbnRpZmllcnMgc3VwcG9ydGVkIGZvciB0aGUgdGltZSBiZWluZy4gKi8KIHN0YXRpYyBjb25zdCB1aW50OF90IGpwYWtlX3NlcnZlcl9pZFtdID0geyAncycsICdlJywgJ3InLCAndicsICdlJywgJ3InIH07CiBzdGF0aWMgY29uc3QgdWludDhfdCBqcGFrZV9jbGllbnRfaWRbXSA9IHsgJ2MnLCAnbCcsICdpJywgJ2UnLCAnbicsICd0JyB9OwogCi0jaWYgZGVmaW5lZChQU0FfV0FOVF9BTEdfSlBBS0UpICYmIFwKLSAgICBkZWZpbmVkKFBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9CQVNJQykgJiYgXAotICAgIGRlZmluZWQoUFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2KSAmJiBkZWZpbmVkKFBTQV9XQU5UX0FMR19TSEFfMjU2KQogc3RhdGljIHZvaWQgZWNqcGFrZV9kb19yb3VuZChwc2FfYWxnb3JpdGhtX3QgYWxnLCB1bnNpZ25lZCBpbnQgcHJpbWl0aXZlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2FfcGFrZV9vcGVyYXRpb25fdCAqc2VydmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2FfcGFrZV9vcGVyYXRpb25fdCAqY2xpZW50LApAQCAtNDM3LDYgKzQzOCwxMSBAQAogICAgIG1iZWR0bHNfbXBpX2luaXQoJkQpOwogICAgIG1iZWR0bHNfbXBpX2luaXQoJkMpOwogICAgIG1iZWR0bHNfbXBpX2luaXQoJlgpOworI2Vsc2UgLyogTUJFRFRMU19CSUdOVU1fQyAqLworICAgICh2b2lkKSBhbGc7CisgICAgKHZvaWQpIHByaXZhdGVfZXhwb25lbnQ7CisgICAgKHZvaWQpIGlucHV0X2RhdGE7CisgICAgKHZvaWQpIGJ1ZjsKICNlbmRpZiAvKiBNQkVEVExTX0JJR05VTV9DICovCiAKICAgICBpbnQgb2sgPSAwOwpAQCAtNDkwLDYgKzQ5NiwyMSBAQAogICovCiAKIC8qIEJFR0lOX0NBU0UgKi8KK3ZvaWQgYnVpbHRpbl9rZXlfaWRfc3RhYmlsaXR5KCkKK3sKKyAgICAvKiBJZiB0aGUgcmFuZ2Ugb2YgYnVpbHQtaW4ga2V5cyBpcyByZWR1Y2VkLCBpdCdzIGFuIEFQSSBicmVhaywgc2luY2UKKyAgICAgKiBpdCBicmVha3MgdXNlciBjb2RlIHRoYXQgaGFyZC1jb2RlcyB0aGUga2V5IGlkIG9mIGJ1aWx0LWluIGtleXMuCisgICAgICogSXQncyBvayB0byBleHBhbmQgdGhpcyByYW5nZSwgYnV0IG5vdCB0byBzaHJpbmsgaXQuIFRoYXQgaXMsIHlvdQorICAgICAqIG1heSBtYWtlIHRoZSBNSU4gc21hbGxlciBvciB0aGUgTUFYIGxhcmdlciBhdCBhbnkgdGltZSwgYnV0CisgICAgICogbWFraW5nIHRoZSBNSU4gbGFyZ2VyIG9yIHRoZSBNQVggc21hbGxlciBjYW4gb25seSBiZSBkb25lIGluCisgICAgICogYSBuZXcgbWFqb3IgdmVyc2lvbiBvZiB0aGUgbGlicmFyeS4KKyAgICAgKi8KKyAgICBURVNUX0VRVUFMKE1CRURUTFNfUFNBX0tFWV9JRF9CVUlMVElOX01JTiwgMHg3ZmZmMDAwMCk7CisgICAgVEVTVF9FUVVBTChNQkVEVExTX1BTQV9LRVlfSURfQlVJTFRJTl9NQVgsIDB4N2ZmZmVmZmYpOworfQorLyogRU5EX0NBU0UgKi8KKworLyogQkVHSU5fQ0FTRSAqLwogdm9pZCBzaWduX2hhc2goaW50IGtleV90eXBlX2FyZywKICAgICAgICAgICAgICAgIGludCBhbGdfYXJnLAogICAgICAgICAgICAgICAgaW50IGZvcmNlX3N0YXR1c19hcmcsCkBAIC04MjgsNyArODQ5LDcgQEAKIHsKICAgICBwc2Ffa2V5X2xpZmV0aW1lX3QgbGlmZXRpbWUgPQogICAgICAgICBQU0FfS0VZX0xJRkVUSU1FX0ZST01fUEVSU0lTVEVOQ0VfQU5EX0xPQ0FUSU9OKCBcCi0gICAgICAgICAgICBQU0FfS0VZX1BFUlNJU1RFTkNFX0RFRkFVTFQsIGxvY2F0aW9uKTsKKyAgICAgICAgICAgIFBTQV9LRVlfUEVSU0lTVEVOQ0VfVk9MQVRJTEUsIGxvY2F0aW9uKTsKICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCBpZCA9IG1iZWR0bHNfc3ZjX2tleV9pZF9tYWtlKG93bmVyX2lkX2FyZywgaWRfYXJnKTsKICAgICBwc2Ffc3RhdHVzX3QgZm9yY2Vfc3RhdHVzID0gZm9yY2Vfc3RhdHVzX2FyZzsKICAgICBwc2Ffc3RhdHVzX3QgZXhwZWN0ZWRfc3RhdHVzID0gZXhwZWN0ZWRfc3RhdHVzX2FyZzsKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9faW5pdC5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9faW5pdC5mdW5jdGlvbgppbmRleCA5ZmYzM2E2Li45NTQ1NjBhIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX2luaXQuZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19pbml0LmZ1bmN0aW9uCkBAIC04LDYgKzgsMjMgQEAKICNpbmNsdWRlICJtYmVkdGxzL2VudHJvcHkuaCIKICNpbmNsdWRlICJlbnRyb3B5X3BvbGwuaCIKIAorc3RhdGljIGludCBjaGVja19zdGF0cyh2b2lkKQoreworICAgIG1iZWR0bHNfcHNhX3N0YXRzX3Qgc3RhdHM7CisgICAgbWJlZHRsc19wc2FfZ2V0X3N0YXRzKCZzdGF0cyk7CisKKyAgICBURVNUX0VRVUFMKHN0YXRzLnZvbGF0aWxlX3Nsb3RzLCBNQkVEVExTX1RFU1RfUFNBX0lOVEVSTkFMX0tFWVMpOworICAgIFRFU1RfRVFVQUwoc3RhdHMucGVyc2lzdGVudF9zbG90cywgMCk7CisgICAgVEVTVF9FUVVBTChzdGF0cy5leHRlcm5hbF9zbG90cywgMCk7CisgICAgVEVTVF9FUVVBTChzdGF0cy5oYWxmX2ZpbGxlZF9zbG90cywgMCk7CisgICAgVEVTVF9FUVVBTChzdGF0cy5sb2NrZWRfc2xvdHMsIDApOworCisgICAgcmV0dXJuIDE7CisKK2V4aXQ6CisgICAgcmV0dXJuIDA7Cit9CisKICNkZWZpbmUgRU5UUk9QWV9NSU5fTlZfU0VFRF9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBNQVgoTUJFRFRMU19FTlRST1BZX01JTl9QTEFURk9STSwgTUJFRFRMU19FTlRST1BZX0JMT0NLX1NJWkUpCiAKQEAgLTE4NywxMiArMjA0LDIzIEBACiAgICAgcHNhX3N0YXR1c190IHN0YXR1czsKICAgICBpbnQgaTsKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworICAgICAgICBtYmVkdGxzX3Rlc3Rfc2V0X3N0ZXAoMiAqIGkpOwogICAgICAgICBzdGF0dXMgPSBwc2FfY3J5cHRvX2luaXQoKTsKICAgICAgICAgUFNBX0FTU0VSVChzdGF0dXMpOworICAgICAgICBpZiAoIWNoZWNrX3N0YXRzKCkpIHsKKyAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgfQorCisgICAgICAgIG1iZWR0bHNfdGVzdF9zZXRfc3RlcCgyICogaSk7CiAgICAgICAgIHN0YXR1cyA9IHBzYV9jcnlwdG9faW5pdCgpOwogICAgICAgICBQU0FfQVNTRVJUKHN0YXR1cyk7CisgICAgICAgIGlmICghY2hlY2tfc3RhdHMoKSkgeworICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICB9CiAgICAgICAgIFBTQV9ET05FKCk7CiAgICAgfQorZXhpdDoKKyAgICBQU0FfRE9ORSgpOwogfQogLyogRU5EX0NBU0UgKi8KIApkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19tZW1vcnkuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX21lbW9yeS5mdW5jdGlvbgppbmRleCA1NWMwMDkyLi41MDUzOWU4IDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX21lbW9yeS5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX21lbW9yeS5mdW5jdGlvbgpAQCAtMTA3LDcgKzEwNywxMCBAQAogCiBleGl0OgogICAgIG1iZWR0bHNfZnJlZShsb2NhbF9pbnB1dC5idWZmZXIpOwotICAgIG1iZWR0bHNfZnJlZShpbnB1dCk7CisKKyAgICBpZiAobG9jYWxfaW5wdXQuYnVmZmVyICE9IGlucHV0KSB7CisgICAgICAgIG1iZWR0bHNfZnJlZShpbnB1dCk7CisgICAgfQogfQogLyogRU5EX0NBU0UgKi8KIApAQCAtMjQzLDcgKzI0Niw3IEBACiAgICAgVEVTVF9DQUxMT0MoYnVmZmVyX2NvcHlfZm9yX2NvbXBhcmlzb24sIGxvY2FsX291dHB1dC5sZW5ndGgpOwogICAgIG1lbWNweShidWZmZXJfY29weV9mb3JfY29tcGFyaXNvbiwgbG9jYWxfb3V0cHV0LmJ1ZmZlciwgbG9jYWxfb3V0cHV0Lmxlbmd0aCk7CiAKLSAgICBwc2FfY3J5cHRvX2xvY2FsX291dHB1dF9mcmVlKCZsb2NhbF9vdXRwdXQpOworICAgIFRFU1RfRVFVQUwocHNhX2NyeXB0b19sb2NhbF9vdXRwdXRfZnJlZSgmbG9jYWxfb3V0cHV0KSwgUFNBX1NVQ0NFU1MpOwogICAgIFRFU1RfQVNTRVJUKGxvY2FsX291dHB1dC5idWZmZXIgPT0gTlVMTCk7CiAgICAgVEVTVF9FUVVBTChsb2NhbF9vdXRwdXQubGVuZ3RoLCAwKTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19tZXRhZGF0YS5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fbWV0YWRhdGEuZnVuY3Rpb24KaW5kZXggYjUxZjJhMi4uM2I1YmY2NiAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19tZXRhZGF0YS5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX21ldGFkYXRhLmZ1bmN0aW9uCkBAIC04MCwxNyArODAsMTcgQEAKICAqIFVuY29uZGl0aW9uYWxseSBtYXNrIGZsYWcgaW50byB0aGUgYW1iaWVudCB2YXJpYWJsZQogICogY2xhc3NpZmljYXRpb25fZmxhZ3NfdGVzdGVkLgogICovCi0jZGVmaW5lIFRFU1RfQ0xBU1NJRklDQVRJT05fTUFDUk8oY29uZCwgZmxhZywgYWxnLCBmbGFncykgICAgIFwKKyNkZWZpbmUgVEVTVF9DTEFTU0lGSUNBVElPTl9NQUNSTyhjb25kLCBmbGFnLCBhbGcsIGZsYWdzKSAgICAgICBcCiAgICAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaWYgKGNvbmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKGNvbmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgaWYgKChmbGFncykgJiAoZmxhZykpICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBURVNUX0FTU0VSVChQU0FfIyNmbGFnKGFsZykpOyAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGlmICgoZmxhZ3MpICYgKGZsYWcpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBURVNUX0FTU0VSVChQU0FfIyNmbGFnKGFsZykpOyAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIFRFU1RfQVNTRVJUKCFQU0FfIyNmbGFnKGFsZykpOyAgICAgICAgICAgICBcCisgICAgICAgICAgICBURVNUX0FTU0VSVCghUFNBXyMjZmxhZyhhbGcpKTsgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgY2xhc3NpZmljYXRpb25fZmxhZ3NfdGVzdGVkIHw9IChmbGFnKTsgICAgICAgICAgICAgICAgXAorICAgICAgICBjbGFzc2lmaWNhdGlvbl9mbGFnc190ZXN0ZWQgfD0gKGZsYWcpOyAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgd2hpbGUgKDApCiAKQEAgLTEwNiw3ICsxMDYsNyBAQAogICogVGhlIGV4cGVjdGVkIHBhcml0eSBpcyBldmVuIHNvIHRoYXQgMCBpcyBjb25zaWRlcmVkIGEgdmFsaWQgZW5jb2RpbmcuCiAgKgogICogUmV0dXJuIGEgbm9uemVybyB2YWx1ZSBpZiB2YWx1ZSBoYXMgZXZlbiBwYXJpdHkgYW5kIDAgb3RoZXJ3aXNlLiAqLwotaW50IGhhc19ldmVuX3Bhcml0eSh1aW50MzJfdCB2YWx1ZSkKK3N0YXRpYyBpbnQgaGFzX2V2ZW5fcGFyaXR5KHVpbnQzMl90IHZhbHVlKQogewogICAgIHZhbHVlIF49IHZhbHVlID4+IDE2OwogICAgIHZhbHVlIF49IHZhbHVlID4+IDg7CkBAIC0xMTYsNyArMTE2LDcgQEAKICNkZWZpbmUgVEVTVF9QQVJJVFkodmFsdWUpICAgICAgICAgICAgICAgICAgICBcCiAgICAgVEVTVF9BU1NFUlQoaGFzX2V2ZW5fcGFyaXR5KHZhbHVlKSkKIAotdm9pZCBhbGdvcml0aG1fY2xhc3NpZmljYXRpb24ocHNhX2FsZ29yaXRobV90IGFsZywgdW5zaWduZWQgZmxhZ3MpCitzdGF0aWMgdm9pZCBhbGdvcml0aG1fY2xhc3NpZmljYXRpb24ocHNhX2FsZ29yaXRobV90IGFsZywgdW5zaWduZWQgZmxhZ3MpCiB7CiAgICAgdW5zaWduZWQgY2xhc3NpZmljYXRpb25fZmxhZ3NfdGVzdGVkID0gMDsKICAgICBURVNUX0NMQVNTSUZJQ0FUSU9OX01BQ1JPKDEsIEFMR19JU19WRU5ET1JfREVGSU5FRCwgYWxnLCBmbGFncyk7CkBAIC0xNTUsNyArMTU1LDcgQEAKIGV4aXQ6OwogfQogCi12b2lkIGtleV90eXBlX2NsYXNzaWZpY2F0aW9uKHBzYV9rZXlfdHlwZV90IHR5cGUsIHVuc2lnbmVkIGZsYWdzKQorc3RhdGljIHZvaWQga2V5X3R5cGVfY2xhc3NpZmljYXRpb24ocHNhX2tleV90eXBlX3QgdHlwZSwgdW5zaWduZWQgZmxhZ3MpCiB7CiAgICAgdW5zaWduZWQgY2xhc3NpZmljYXRpb25fZmxhZ3NfdGVzdGVkID0gMDsKIApAQCAtMTkyLDkgKzE5Miw5IEBACiBleGl0OjsKIH0KIAotdm9pZCBtYWNfYWxnb3JpdGhtX2NvcmUocHNhX2FsZ29yaXRobV90IGFsZywgaW50IGNsYXNzaWZpY2F0aW9uX2ZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV90eXBlX3Qga2V5X3R5cGUsIHNpemVfdCBrZXlfYml0cywKLSAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW5ndGgpCitzdGF0aWMgdm9pZCBtYWNfYWxnb3JpdGhtX2NvcmUocHNhX2FsZ29yaXRobV90IGFsZywgaW50IGNsYXNzaWZpY2F0aW9uX2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfdHlwZV90IGtleV90eXBlLCBzaXplX3Qga2V5X2JpdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbmd0aCkKIHsKICAgICAvKiBBbGdvcml0aG0gY2xhc3NpZmljYXRpb24gKi8KICAgICBURVNUX0FTU0VSVCghUFNBX0FMR19JU19IQVNIKGFsZykpOwpAQCAtMjE4LDkgKzIxOCw5IEBACiBleGl0OjsKIH0KIAotdm9pZCBhZWFkX2FsZ29yaXRobV9jb3JlKHBzYV9hbGdvcml0aG1fdCBhbGcsIGludCBjbGFzc2lmaWNhdGlvbl9mbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3R5cGVfdCBrZXlfdHlwZSwgc2l6ZV90IGtleV9iaXRzLAotICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCB0YWdfbGVuZ3RoKQorc3RhdGljIHZvaWQgYWVhZF9hbGdvcml0aG1fY29yZShwc2FfYWxnb3JpdGhtX3QgYWxnLCBpbnQgY2xhc3NpZmljYXRpb25fZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfdHlwZV90IGtleV90eXBlLCBzaXplX3Qga2V5X2JpdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCB0YWdfbGVuZ3RoKQogewogICAgIC8qIEFsZ29yaXRobSBjbGFzc2lmaWNhdGlvbiAqLwogICAgIFRFU1RfQVNTRVJUKCFQU0FfQUxHX0lTX0hBU0goYWxnKSk7CmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX29wX2ZhaWwuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX29wX2ZhaWwuZnVuY3Rpb24KaW5kZXggOTg3ODIzNy4uOTI4OTg2OSAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19vcF9mYWlsLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fb3BfZmFpbC5mdW5jdGlvbgpAQCAtMjcsMTEgKzI3LDExIEBACiAgKiBydW4sIGl0IHdvdWxkIGJlIGJldHRlciB0byBjbGFyaWZ5IHRoZSBleHBlY3RhdGlvbnMgYW5kIHJlY29uY2lsZSB0aGUKICAqIGxpYnJhcnkgYW5kIHRoZSB0ZXN0IGNhc2UgZ2VuZXJhdG9yLgogICovCi0jZGVmaW5lIFRFU1RfU1RBVFVTKGV4cHIxLCBleHByMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBURVNUX1NUQVRVUyhleHByMSwgZXhwcjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgaWYgKCF0ZXN0X2VxdWFsX3N0YXR1cyggI2V4cHIxICIgPT0gIiAjZXhwcjIsIF9fTElORV9fLCBfX0ZJTEVfXywgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByMSwgZXhwcjIpKSAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBnb3RvIGV4aXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHIxLCBleHByMikpICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZ290byBleGl0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKDApCiAKIC8qIEVORF9IRUFERVIgKi8KZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fcGFrZS5kYXRhIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19wYWtlLmRhdGEKaW5kZXggNDllOTdhOS4uZjgxYmI1MyAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19wYWtlLmRhdGEKKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19wYWtlLmRhdGEKQEAgLTc0LDcgKzc0LDcgQEAKIGRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRTpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTY6UFNBX1dBTlRfQUxHX1NIQV8yNTYKIGVjanBha2Vfc2V0dXA6UFNBX0FMR19KUEFLRTpQU0FfS0VZX1RZUEVfUEFTU1dPUkQ6UFNBX0tFWV9VU0FHRV9ERVJJVkU6UFNBX1BBS0VfUFJJTUlUSVZFKFBTQV9QQUtFX1BSSU1JVElWRV9UWVBFX0VDQywgUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSwgMjU2KTpQU0FfQUxHX1NIQV8yNTY6ImNsaWVudCI6InNlcnZlciI6MTpFUlJfSU5KRUNUX0VNUFRZX0lPX0JVRkZFUjpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAogCi1QU0EgUEFLRTogdW5rb3duIGlucHV0IHN0ZXAKK1BTQSBQQUtFOiB1bmtub3duIGlucHV0IHN0ZXAKIGRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRTpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTY6UFNBX1dBTlRfQUxHX1NIQV8yNTYKIGVjanBha2Vfc2V0dXA6UFNBX0FMR19KUEFLRTpQU0FfS0VZX1RZUEVfUEFTU1dPUkQ6UFNBX0tFWV9VU0FHRV9ERVJJVkU6UFNBX1BBS0VfUFJJTUlUSVZFKFBTQV9QQUtFX1BSSU1JVElWRV9UWVBFX0VDQywgUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSwgMjU2KTpQU0FfQUxHX1NIQV8yNTY6ImNsaWVudCI6InNlcnZlciI6MTpFUlJfSU5KRUNUX1VOS05PV05fU1RFUDpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAogCkBAIC05NCw3ICs5NCw3IEBACiBkZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0VDQ19LRVlfUEFJUl9ERVJJVkU6UFNBX1dBTlRfRUNDX1NFQ1BfUjFfMjU2OlBTQV9XQU5UX0FMR19TSEFfMjU2CiBlY2pwYWtlX3NldHVwOlBTQV9BTEdfSlBBS0U6UFNBX0tFWV9UWVBFX1BBU1NXT1JEOlBTQV9LRVlfVVNBR0VfREVSSVZFOlBTQV9QQUtFX1BSSU1JVElWRShQU0FfUEFLRV9QUklNSVRJVkVfVFlQRV9FQ0MsIFBTQV9FQ0NfRkFNSUxZX1NFQ1BfUjEsIDI1Nik6UFNBX0FMR19TSEFfMjU2OiJjbGllbnQiOiJzZXJ2ZXIiOjA6RVJSX0lOSkVDVF9FTVBUWV9JT19CVUZGRVI6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKIAotUFNBIFBBS0U6IHVua293biBvdXRwdXQgc3RlcAorUFNBIFBBS0U6IHVua25vd24gb3V0cHV0IHN0ZXAKIGRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfRUNDX0tFWV9QQUlSX0RFUklWRTpQU0FfV0FOVF9FQ0NfU0VDUF9SMV8yNTY6UFNBX1dBTlRfQUxHX1NIQV8yNTYKIGVjanBha2Vfc2V0dXA6UFNBX0FMR19KUEFLRTpQU0FfS0VZX1RZUEVfUEFTU1dPUkQ6UFNBX0tFWV9VU0FHRV9ERVJJVkU6UFNBX1BBS0VfUFJJTUlUSVZFKFBTQV9QQUtFX1BSSU1JVElWRV9UWVBFX0VDQywgUFNBX0VDQ19GQU1JTFlfU0VDUF9SMSwgMjU2KTpQU0FfQUxHX1NIQV8yNTY6ImNsaWVudCI6InNlcnZlciI6MDpFUlJfSU5KRUNUX1VOS05PV05fU1RFUDpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAogCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3Bha2UuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3Bha2UuZnVuY3Rpb24KaW5kZXggMWNjNjlhNy4uMDhjODhhMSAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19wYWtlLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fcGFrZS5mdW5jdGlvbgpAQCAtNzEsOSArNzEsOSBAQAogICogd2UncmUgY29ycnVwdGluZy4KICAqLwogI2RlZmluZSBET19ST1VORF9DT05ESVRJT05BTF9JTkpFQ1QodGhpc19zdGFnZSwgYnVmKSBcCi0gICAgaWYgKHRoaXNfc3RhZ2UgPT0gZXJyX3N0YWdlKSAgICAgICAgICAgICAgICAgIFwKLSAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICooYnVmICsgNykgXj0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKHRoaXNfc3RhZ2UgPT0gZXJyX3N0YWdlKSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAqKGJ1ZiArIDcpIF49IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfQogCiAjZGVmaW5lIERPX1JPVU5EX0NPTkRJVElPTkFMX0NIRUNLX0ZBSUxVUkUodGhpc19zdGFnZSwgZnVuY3Rpb24pIFwKQEAgLTg0LDIwICs4NCwyMCBAQAogICAgIH0KIAogI2RlZmluZSBET19ST1VORF9VUERBVEVfT0ZGU0VUUyhtYWluX2J1Zl9vZmZzZXQsIHN0ZXBfb2Zmc2V0LCBzdGVwX3NpemUpIFwKLSAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBzdGVwX29mZnNldCA9IG1haW5fYnVmX29mZnNldDsgICAgICBcCi0gICAgICAgIG1haW5fYnVmX29mZnNldCArPSBzdGVwX3NpemU7ICAgICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzdGVwX29mZnNldCA9IG1haW5fYnVmX29mZnNldDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbWFpbl9idWZfb2Zmc2V0ICs9IHN0ZXBfc2l6ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfQogCi0jZGVmaW5lIERPX1JPVU5EX0NIRUNLX0ZBSUxVUkUoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaWYgKGVycl9zdGFnZSAhPSBFUlJfTk9ORSAmJiBzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpICAgICAgICAgICAgXAorI2RlZmluZSBET19ST1VORF9DSEVDS19GQUlMVVJFKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKGVycl9zdGFnZSAhPSBFUlJfTk9ORSAmJiBzdGF0dXMgIT0gUFNBX1NVQ0NFU1MpICAgICAgICAgICAgIFwKICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBURVNUX0VRVUFMKHN0YXR1cywgZXhwZWN0ZWRfZXJyb3JfYXJnKTsgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBURVNUX0VRVUFMKHN0YXR1cywgZXhwZWN0ZWRfZXJyb3JfYXJnKTsgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgVEVTVF9FUVVBTChzdGF0dXMsIFBTQV9TVUNDRVNTKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgVEVTVF9FUVVBTChzdGF0dXMsIFBTQV9TVUNDRVNTKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0KIAogI2lmIGRlZmluZWQoUFNBX1dBTlRfQUxHX0pQQUtFKQpAQCAtNTUwLDE1ICs1NTAsMTUgQEAKICAqICAgICAtIHRlcm1pbmF0ZWQgd2l0aCBmYWlsdXJlIG90aGVyd2lzZSAoZWl0aGVyIG5vIGVycm9yIHdhcyBleHBlY3RlZCBhdCB0aGlzCiAgKiAgICAgICBzdGFnZSBvciBhIGRpZmZlcmVudCBlcnJvciBjb2RlIHdhcyBleHBlY3RlZCkKICAqLwotI2RlZmluZSBTRVRVUF9BTFdBWVNfQ0hFQ0tfU1RFUCh0ZXN0X2Z1bmN0aW9uLCB0aGlzX2NoZWNrX2Vycl9zdGFnZSkgICAgICBcCisjZGVmaW5lIFNFVFVQX0FMV0FZU19DSEVDS19TVEVQKHRlc3RfZnVuY3Rpb24sIHRoaXNfY2hlY2tfZXJyX3N0YWdlKSAgICAgICAgXAogICAgIHN0YXR1cyA9IHRlc3RfZnVuY3Rpb247ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiAoZXJyX3N0YWdlICE9IHRoaXNfY2hlY2tfZXJyX3N0YWdlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoZXJyX3N0YWdlICE9IHRoaXNfY2hlY2tfZXJyX3N0YWdlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBQU0FfQVNTRVJUKHN0YXR1cyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFBTQV9BU1NFUlQoc3RhdHVzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBURVNUX0VRVUFMKHN0YXR1cywgZXhwZWN0ZWRfZXJyb3IpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFRFU1RfRVFVQUwoc3RhdHVzLCBleHBlY3RlZF9lcnJvcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBnb3RvIGV4aXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9CiAKQEAgLTU3MiwxMCArNTcyLDEwIEBACiAgKiBUaGUgdGVzdCBzdWNjZWVkcyBpZiB0aGUgcmV0dXJuZWQgZXJyb3IgaXMgZXhhY3RseSB0aGUgZXhwZWN0ZWQgb25lLAogICogb3RoZXJ3aXNlIGl0IGZhaWxzLgogICovCi0jZGVmaW5lIFNFVFVQX0NPTkRJVElPTkFMX0NIRUNLX1NURVAodGVzdF9mdW5jdGlvbiwgdGhpc19jaGVja19lcnJfc3RhZ2UpIFwKLSAgICBpZiAoZXJyX3N0YWdlID09IHRoaXNfY2hlY2tfZXJyX3N0YWdlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgU0VUVVBfQ09ORElUSU9OQUxfQ0hFQ0tfU1RFUCh0ZXN0X2Z1bmN0aW9uLCB0aGlzX2NoZWNrX2Vycl9zdGFnZSkgICBcCisgICAgaWYgKGVycl9zdGFnZSA9PSB0aGlzX2NoZWNrX2Vycl9zdGFnZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgVEVTVF9FUVVBTCh0ZXN0X2Z1bmN0aW9uLCBleHBlY3RlZF9lcnJvcik7ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBURVNUX0VRVUFMKHRlc3RfZnVuY3Rpb24sIGV4cGVjdGVkX2Vycm9yKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgZ290byBleGl0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfQogLyogRU5EX0hFQURFUiAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zZV9kcml2ZXJfaGFsLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3NlX2RyaXZlcl9oYWwuZGF0YQppbmRleCBjYzg5YzBmLi5hZTRlZTBjIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3NlX2RyaXZlcl9oYWwuZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3NlX2RyaXZlcl9oYWwuZGF0YQpAQCAtMTQ4LDcgKzE0OCwxNiBAQAogS2V5IHJlZ2lzdHJhdGlvbjogc21va2UgdGVzdAogcmVnaXN0ZXJfa2V5X3Ntb2tlX3Rlc3Q6VEVTVF9TRV9QRVJTSVNURU5UX0xJRkVUSU1FOjc6MToxOlBTQV9TVUNDRVNTCiAKLUtleSByZWdpc3RyYXRpb246IGludmFsaWQgbGlmZXRpbWUgKHZvbGF0aWxlIGludGVybmFsIHN0b3JhZ2UpCitLZXkgcmVnaXN0cmF0aW9uOiBpbnZhbGlkIGxpZmV0aW1lICh2b2xhdGlsZSwgaW4gU0UsIGlkPTApCityZWdpc3Rlcl9rZXlfc21va2VfdGVzdDpURVNUX1NFX1ZPTEFUSUxFX0xJRkVUSU1FOjc6MDowOlBTQV9FUlJPUl9JTlZBTElEX0FSR1VNRU5UCisKK0tleSByZWdpc3RyYXRpb246IGludmFsaWQgbGlmZXRpbWUgKHZvbGF0aWxlLCBpbiBTRSwgaWQ9MSkKK3JlZ2lzdGVyX2tleV9zbW9rZV90ZXN0OlRFU1RfU0VfVk9MQVRJTEVfTElGRVRJTUU6NzoxOjE6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKKworS2V5IHJlZ2lzdHJhdGlvbjogaW52YWxpZCBsaWZldGltZSAodm9sYXRpbGUsIGludGVybmFsLCBpZD0wKQorcmVnaXN0ZXJfa2V5X3Ntb2tlX3Rlc3Q6UFNBX0tFWV9MSUZFVElNRV9WT0xBVElMRTo3OjA6MDpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAorCitLZXkgcmVnaXN0cmF0aW9uOiBpbnZhbGlkIGxpZmV0aW1lICh2b2xhdGlsZSwgaW50ZXJuYWwsIGlkPTEpCiByZWdpc3Rlcl9rZXlfc21va2VfdGVzdDpQU0FfS0VZX0xJRkVUSU1FX1ZPTEFUSUxFOjc6MToxOlBTQV9FUlJPUl9JTlZBTElEX0FSR1VNRU5UCiAKIEtleSByZWdpc3RyYXRpb246IGludmFsaWQgbGlmZXRpbWUgKGludGVybmFsIHN0b3JhZ2UpCkBAIC0xNjksOCArMTc4LDggQEAKIEtleSByZWdpc3RyYXRpb246IGtleSBpZCBtaW4gdmVuZG9yCiByZWdpc3Rlcl9rZXlfc21va2VfdGVzdDpURVNUX1NFX1BFUlNJU1RFTlRfTElGRVRJTUU6NzpQU0FfS0VZX0lEX1ZFTkRPUl9NSU46MTpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAogCi1LZXkgcmVnaXN0cmF0aW9uOiBrZXkgaWQgbWF4IHZlbmRvciBleGNlcHQgdm9sYXRpbGUKLXJlZ2lzdGVyX2tleV9zbW9rZV90ZXN0OlRFU1RfU0VfUEVSU0lTVEVOVF9MSUZFVElNRTo3OlBTQV9LRVlfSURfVk9MQVRJTEVfTUlOLTE6MTpQU0FfRVJST1JfSU5WQUxJRF9BUkdVTUVOVAorS2V5IHJlZ2lzdHJhdGlvbjoga2V5IGlkIG1heCB2ZW5kb3IKK3JlZ2lzdGVyX2tleV9zbW9rZV90ZXN0OlRFU1RfU0VfUEVSU0lTVEVOVF9MSUZFVElNRTo3OlBTQV9LRVlfSURfVkVORE9SX01BWDoxOlBTQV9FUlJPUl9JTlZBTElEX0FSR1VNRU5UCiAKIEtleSByZWdpc3RyYXRpb246IGtleSBpZCBtaW4gdm9sYXRpbGUKIHJlZ2lzdGVyX2tleV9zbW9rZV90ZXN0OlRFU1RfU0VfUEVSU0lTVEVOVF9MSUZFVElNRTo3OlBTQV9LRVlfSURfVk9MQVRJTEVfTUlOOjE6UFNBX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2VfZHJpdmVyX2hhbC5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2VfZHJpdmVyX2hhbC5mdW5jdGlvbgppbmRleCAzN2E3MmQ5Li42NmQyYTRlIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3NlX2RyaXZlcl9oYWwuZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zZV9kcml2ZXJfaGFsLmZ1bmN0aW9uCkBAIC0xNCw4ICsxNCw4IEBACiAjZW5kaWYKIAogLyogU2FtZSBpbiBsaWJyYXJ5L3BzYV9jcnlwdG8uYyAqLwotI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfSEtERikgfHwgICAgICAgICAgXAotICAgIGRlZmluZWQoTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfSEtERl9FWFRSQUNUKSB8fCAgXAorI2lmIGRlZmluZWQoTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfSEtERikgfHwgXAorICAgIGRlZmluZWQoTUJFRFRMU19QU0FfQlVJTFRJTl9BTEdfSEtERl9FWFRSQUNUKSB8fCBcCiAgICAgZGVmaW5lZChNQkVEVExTX1BTQV9CVUlMVElOX0FMR19IS0RGX0VYUEFORCkKICNkZWZpbmUgQlVJTFRJTl9BTEdfQU5ZX0hLREYgMQogI2VuZGlmCkBAIC0zNiwxMSArMzYsMTEgQEAKIAogLyoqIFRoZSBsb2NhdGlvbiBhbmQgbGlmZXRpbWUgdXNlZCBmb3IgdGVzdHMgdGhhdCB1c2UgYSBzaW5nbGUgZHJpdmVyLiAqLwogI2RlZmluZSBURVNUX0RSSVZFUl9MT0NBVElPTiAxCi0jZGVmaW5lIFRFU1RfU0VfUEVSU0lTVEVOVF9MSUZFVElNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBURVNUX1NFX1BFUlNJU1RFTlRfTElGRVRJTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIChQU0FfS0VZX0xJRkVUSU1FX0ZST01fUEVSU0lTVEVOQ0VfQU5EX0xPQ0FUSU9OKCAgICAgICAgICAgXAogICAgICAgICAgUFNBX0tFWV9QRVJTSVNURU5DRV9ERUZBVUxULCBURVNUX0RSSVZFUl9MT0NBVElPTikpCiAKLSNkZWZpbmUgVEVTVF9TRV9WT0xBVElMRV9MSUZFVElNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFRFU1RfU0VfVk9MQVRJTEVfTElGRVRJTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgKFBTQV9LRVlfTElGRVRJTUVfRlJPTV9QRVJTSVNURU5DRV9BTkRfTE9DQVRJT04oICAgICAgICAgICBcCiAgICAgICAgICBQU0FfS0VZX1BFUlNJU1RFTkNFX1ZPTEFUSUxFLCBURVNUX0RSSVZFUl9MT0NBVElPTikpCiAKQEAgLTU0LDEzICs1NCwxMyBAQAogICoKICAqIFVzZSB0aGlzIG1hY3JvIHRvIGFzc2VydCBvbiBndWFyYW50ZWVzIHByb3ZpZGVkIGJ5IHRoZSBjb3JlLgogICovCi0jZGVmaW5lIERSSVZFUl9BU1NFUlRfUkVUVVJOKFRFU1QpICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBpZiAoIShURVNUKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgbWJlZHRsc190ZXN0X2ZhaWwoICNURVNULCBfX0xJTkVfXywgX19GSUxFX18pOyAgIFwKLSAgICAgICAgICAgIHJldHVybiBQU0FfRVJST1JfREVURUNURURfQllfRFJJVkVSOyAgICAgICAgICAgXAotICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgRFJJVkVSX0FTU0VSVF9SRVRVUk4oVEVTVCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICghKFRFU1QpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgbWJlZHRsc190ZXN0X2ZhaWwoICNURVNULCBfX0xJTkVfXywgX19GSUxFX18pOyAgICBcCisgICAgICAgICAgICByZXR1cm4gUFNBX0VSUk9SX0RFVEVDVEVEX0JZX0RSSVZFUjsgICAgICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKDApCiAKIC8qKiBMaWtlICNURVNUX0FTU0VSVCBmb3IgdXNlIGluIGEgZHJpdmVyIG1ldGhvZCwgd2l0aCBjbGVhbnVwLgpAQCAtNzAsMTQgKzcwLDE0IEBACiAgKgogICogVXNlIHRoaXMgbWFjcm8gdG8gYXNzZXJ0IG9uIGd1YXJhbnRlZXMgcHJvdmlkZWQgYnkgdGhlIGNvcmUuCiAgKi8KLSNkZWZpbmUgRFJJVkVSX0FTU0VSVChURVNUKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGlmICghKFRFU1QpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBtYmVkdGxzX3Rlc3RfZmFpbCggI1RFU1QsIF9fTElORV9fLCBfX0ZJTEVfXyk7ICAgXAorI2RlZmluZSBEUklWRVJfQVNTRVJUKFRFU1QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKCEoVEVTVCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBtYmVkdGxzX3Rlc3RfZmFpbCggI1RFU1QsIF9fTElORV9fLCBfX0ZJTEVfXyk7ICAgIFwKICAgICAgICAgICAgIHN0YXR1cyA9IFBTQV9FUlJPUl9ERVRFQ1RFRF9CWV9EUklWRVI7ICAgICAgICAgICAgXAogICAgICAgICAgICAgZ290byBleGl0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoMCkKIAogLyoqIExpa2UgI1BTQV9BU1NFUlQgZm9yIGEgUFNBIEFQSSBjYWxsIHRoYXQgY2FsbHMgYSBkcml2ZXIgdW5kZXJuZWF0aC4KQEAgLTkxLDE2ICs5MSwxNiBAQAogICogY2FzZSwgdGhlIHRlc3QgZHJpdmVyIGNvZGUgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBjYWxsZWQgbWJlZHRsc190ZXN0X2ZhaWwoKQogICogYWxyZWFkeSwgc28gd2UgbWFrZSBzdXJlIG5vdCB0byBvdmVyd3JpdGUgdGhlIGZhaWx1cmUgaW5mb3JtYXRpb24uCiAgKi8KLSNkZWZpbmUgUFNBX0FTU0VSVF9WSUFfRFJJVkVSKGV4cHIsIGV4cGVjdGVkX3N0YXR1cykgICAgICAgICAgICAgICAgICBcCi0gICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHBzYV9zdGF0dXNfdCBQU0FfQVNTRVJUX1ZJQV9EUklWRVJfc3RhdHVzID0gKGV4cHIpOyAgICAgICAgICAgXAotICAgICAgICBpZiAoUFNBX0FTU0VSVF9WSUFfRFJJVkVSX3N0YXR1cyA9PSBQU0FfRVJST1JfREVURUNURURfQllfRFJJVkVSKSBcCi0gICAgICAgIGdvdG8gZXhpdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaWYgKFBTQV9BU1NFUlRfVklBX0RSSVZFUl9zdGF0dXMgIT0gKGV4cGVjdGVkX3N0YXR1cykpICAgICAgIFwKLSAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgUFNBX0FTU0VSVF9WSUFfRFJJVkVSKGV4cHIsIGV4cGVjdGVkX3N0YXR1cykgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBwc2Ffc3RhdHVzX3QgUFNBX0FTU0VSVF9WSUFfRFJJVkVSX3N0YXR1cyA9IChleHByKTsgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKFBTQV9BU1NFUlRfVklBX0RSSVZFUl9zdGF0dXMgPT0gUFNBX0VSUk9SX0RFVEVDVEVEX0JZX0RSSVZFUikgICAgICBcCisgICAgICAgIGdvdG8gZXhpdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoUFNBX0FTU0VSVF9WSUFfRFJJVkVSX3N0YXR1cyAhPSAoZXhwZWN0ZWRfc3RhdHVzKSkgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBtYmVkdGxzX3Rlc3RfZmFpbCggI2V4cHIsIF9fTElORV9fLCBfX0ZJTEVfXyk7ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgZ290byBleGl0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgZ290byBleGl0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoMCkKIAogCkBAIC01OTksNyArNTk5LDcgQEAKICAqIElmIHRoaXMgY2hhbmdlcywgdGhlIHN0b3JhZ2UgZm9ybWF0IHZlcnNpb24gbXVzdCBjaGFuZ2UuCiAgKiBTZWUgcHNhX2dldF9zZV9kcml2ZXJfaXRzX2ZpbGVfdWlkKCkgaW4gcHNhX2NyeXB0b19zZS5jLgogICovCi1wc2Ffc3RvcmFnZV91aWRfdCBmaWxlX3VpZF9mb3JfbG9jYXRpb24ocHNhX2tleV9sb2NhdGlvbl90IGxvY2F0aW9uKQorc3RhdGljIHBzYV9zdG9yYWdlX3VpZF90IGZpbGVfdWlkX2Zvcl9sb2NhdGlvbihwc2Ffa2V5X2xvY2F0aW9uX3QgbG9jYXRpb24pCiB7CiAgICAgaWYgKGxvY2F0aW9uID4gUFNBX01BWF9TRV9MT0NBVElPTikgewogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2VfZHJpdmVyX2hhbF9tb2Nrcy5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2VfZHJpdmVyX2hhbF9tb2Nrcy5mdW5jdGlvbgppbmRleCBiNmQzYTM0Li5lZmQyNGU5IDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3NlX2RyaXZlcl9oYWxfbW9ja3MuZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zZV9kcml2ZXJfaGFsX21vY2tzLmZ1bmN0aW9uCkBAIC02LDcgKzYsNyBAQAogCiAvKiogVGhlIGxvY2F0aW9uIGFuZCBsaWZldGltZSB1c2VkIGZvciB0ZXN0cyB0aGF0IHVzZSBhIHNpbmdsZSBkcml2ZXIuICovCiAjZGVmaW5lIFRFU1RfRFJJVkVSX0xPQ0FUSU9OIDEKLSNkZWZpbmUgVEVTVF9TRV9QRVJTSVNURU5UX0xJRkVUSU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFRFU1RfU0VfUEVSU0lTVEVOVF9MSUZFVElNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgKFBTQV9LRVlfTElGRVRJTUVfRlJPTV9QRVJTSVNURU5DRV9BTkRfTE9DQVRJT04oICAgICAgICAgICBcCiAgICAgICAgICBQU0FfS0VZX1BFUlNJU1RFTkNFX0RFRkFVTFQsIFRFU1RfRFJJVkVSX0xPQ0FUSU9OKSkKIApAQCAtMTYyLDExICsxNjIsMTEgQEAKICAgICByZXR1cm4gbW9ja19pbXBvcnRfZGF0YS5yZXR1cm5fdmFsdWU7CiB9CiAKLXBzYV9zdGF0dXNfdCBtb2NrX2V4cG9ydChwc2FfZHJ2X3NlX2NvbnRleHRfdCAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3Nsb3RfbnVtYmVyX3Qgc2xvdF9udW1iZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcF9kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBkYXRhX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpwX2RhdGFfbGVuZ3RoKQorc3RhdGljIHBzYV9zdGF0dXNfdCBtb2NrX2V4cG9ydChwc2FfZHJ2X3NlX2NvbnRleHRfdCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV9zbG90X251bWJlcl90IHNsb3RfbnVtYmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBkYXRhX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAqcF9kYXRhX2xlbmd0aCkKIHsKICAgICAodm9pZCkgY29udGV4dDsKICAgICAodm9pZCkgcF9kYXRhOwpAQCAtMTc5LDExICsxNzksMTEgQEAKICAgICByZXR1cm4gbW9ja19leHBvcnRfZGF0YS5yZXR1cm5fdmFsdWU7CiB9CiAKLXBzYV9zdGF0dXNfdCBtb2NrX2V4cG9ydF9wdWJsaWMocHNhX2Rydl9zZV9jb250ZXh0X3QgKmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfc2xvdF9udW1iZXJfdCBzbG90X251bWJlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcF9kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgZGF0YV9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgKnBfZGF0YV9sZW5ndGgpCitzdGF0aWMgcHNhX3N0YXR1c190IG1vY2tfZXhwb3J0X3B1YmxpYyhwc2FfZHJ2X3NlX2NvbnRleHRfdCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfc2xvdF9udW1iZXJfdCBzbG90X251bWJlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnBfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBkYXRhX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgKnBfZGF0YV9sZW5ndGgpCiB7CiAgICAgKHZvaWQpIGNvbnRleHQ7CiAgICAgKHZvaWQpIHBfZGF0YTsKQEAgLTE5NiwxNCArMTk2LDE0IEBACiAgICAgcmV0dXJuIG1vY2tfZXhwb3J0X3B1YmxpY19kYXRhLnJldHVybl92YWx1ZTsKIH0KIAotcHNhX3N0YXR1c190IG1vY2tfc2lnbihwc2FfZHJ2X3NlX2NvbnRleHRfdCAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV9zbG90X251bWJlcl90IGtleV9zbG90LAotICAgICAgICAgICAgICAgICAgICAgICBwc2FfYWxnb3JpdGhtX3QgYWxnLAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwX2hhc2gsCi0gICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBoYXNoX2xlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcF9zaWduYXR1cmUsCi0gICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaWduYXR1cmVfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpwX3NpZ25hdHVyZV9sZW5ndGgpCitzdGF0aWMgcHNhX3N0YXR1c190IG1vY2tfc2lnbihwc2FfZHJ2X3NlX2NvbnRleHRfdCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfc2xvdF9udW1iZXJfdCBrZXlfc2xvdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9hbGdvcml0aG1fdCBhbGcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwX2hhc2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaGFzaF9sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwX3NpZ25hdHVyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaWduYXR1cmVfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAqcF9zaWduYXR1cmVfbGVuZ3RoKQogewogICAgICh2b2lkKSBjb250ZXh0OwogICAgICh2b2lkKSBwX2hhc2g7CkBAIC0yMTksMTMgKzIxOSwxMyBAQAogICAgIHJldHVybiBtb2NrX3NpZ25fZGF0YS5yZXR1cm5fdmFsdWU7CiB9CiAKLXBzYV9zdGF0dXNfdCBtb2NrX3ZlcmlmeShwc2FfZHJ2X3NlX2NvbnRleHRfdCAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3Nsb3RfbnVtYmVyX3Qga2V5X3Nsb3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2FsZ29yaXRobV90IGFsZywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwX2hhc2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGhhc2hfbGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBfc2lnbmF0dXJlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaWduYXR1cmVfbGVuZ3RoKQorc3RhdGljIHBzYV9zdGF0dXNfdCBtb2NrX3ZlcmlmeShwc2FfZHJ2X3NlX2NvbnRleHRfdCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV9zbG90X251bWJlcl90IGtleV9zbG90LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2FfYWxnb3JpdGhtX3QgYWxnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwX2hhc2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBoYXNoX2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcF9zaWduYXR1cmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaWduYXR1cmVfbGVuZ3RoKQogewogICAgICh2b2lkKSBjb250ZXh0OwogICAgICh2b2lkKSBwX2hhc2g7CkBAIC0yNDAsMTEgKzI0MCwxMSBAQAogICAgIHJldHVybiBtb2NrX3ZlcmlmeV9kYXRhLnJldHVybl92YWx1ZTsKIH0KIAotcHNhX3N0YXR1c190IG1vY2tfYWxsb2NhdGUocHNhX2Rydl9zZV9jb250ZXh0X3QgKmRydl9jb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcGVyc2lzdGVudF9kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHNhX2tleV9hdHRyaWJ1dGVzX3QgKmF0dHJpYnV0ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X2NyZWF0aW9uX21ldGhvZF90IG1ldGhvZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzYV9rZXlfc2xvdF9udW1iZXJfdCAqa2V5X3Nsb3QpCitzdGF0aWMgcHNhX3N0YXR1c190IG1vY2tfYWxsb2NhdGUocHNhX2Rydl9zZV9jb250ZXh0X3QgKmRydl9jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnBlcnNpc3RlbnRfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCAqYXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X2NyZWF0aW9uX21ldGhvZF90IG1ldGhvZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3Nsb3RfbnVtYmVyX3QgKmtleV9zbG90KQogewogICAgICh2b2lkKSBkcnZfY29udGV4dDsKICAgICAodm9pZCkgcGVyc2lzdGVudF9kYXRhOwpAQCAtMjU4LDkgKzI1OCw5IEBACiAgICAgcmV0dXJuIG1vY2tfYWxsb2NhdGVfZGF0YS5yZXR1cm5fdmFsdWU7CiB9CiAKLXBzYV9zdGF0dXNfdCBtb2NrX2Rlc3Ryb3kocHNhX2Rydl9zZV9jb250ZXh0X3QgKmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnBlcnNpc3RlbnRfZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcHNhX2tleV9zbG90X251bWJlcl90IHNsb3RfbnVtYmVyKQorc3RhdGljIHBzYV9zdGF0dXNfdCBtb2NrX2Rlc3Ryb3kocHNhX2Rydl9zZV9jb250ZXh0X3QgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwZXJzaXN0ZW50X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc2Ffa2V5X3Nsb3RfbnVtYmVyX3Qgc2xvdF9udW1iZXIpCiB7CiAgICAgKHZvaWQpIGNvbnRleHQ7CiAgICAgKHZvaWQpIHBlcnNpc3RlbnRfZGF0YTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50LmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3Nsb3RfbWFuYWdlbWVudC5kYXRhCmluZGV4IDdkMzY0YWMuLmYzNzlkYmEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50LmRhdGEKKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zbG90X21hbmFnZW1lbnQuZGF0YQpAQCAtMTIyLDcgKzEyMiwxOCBAQAogCiBPcGVuIGZhaWx1cmU6IGludmFsaWQgaWRlbnRpZmllciAoaW1wbGVtZW50YXRpb24gcmFuZ2UpCiBkZXBlbmRzX29uOk1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MKLW9wZW5fZmFpbDpQU0FfS0VZX0lEX1VTRVJfTUFYICsgMTpQU0FfRVJST1JfRE9FU19OT1RfRVhJU1QKKyMgV2UgbmVlZCB0byBhdm9pZCBleGlzdGluZyB2b2xhdGlsZSBrZXkgSURzLiBOb3JtYWxseSB0aGVyZSBhcmVuJ3QgYW55CisjIGV4aXN0aW5nIHZvbGF0aWxlIGtleXMgYmVjYXVzZSB0aGUgdGVzdCBjYXNlIGRvZXNuJ3QgY3JlYXRlIGFueSwgYnV0CisjIGluIHNvbWUgY29uZmlndXJhdGlvbnMsIHRoZSBpbXBsZW1lbnRhdGlvbiBvciBhIGRyaXZlciBjcmVhdGVzIGEKKyMgdm9sYXRpbGUga2V5IGR1cmluZyBpbml0aWFsaXphdGlvbiBmb3IgaXRzIG93biB1c2UuIEF0IHRoZSB0aW1lIG9mCisjIHdyaXRpbmcsIHRoaXMgaGFwcGVucyBpbiBidWlsZHMgd2hlcmUgQUVTIHVzZXMgYSBQU0EgZHJpdmVyIGFuZCB0aGUKKyMgUFNBIFJORyB1c2VzIEFFUy1DVFJfRFJCRyB0aHJvdWdoIHRoZSBQU0EgQUVTLgorIyBQaWNrIGEga2V5IGlkIHRoYXQncyBpbiB0aGUgbWlkZGxlIG9mIHRoZSB2b2xhdGlsZSBrZXkgSUQgcmFuZ2UuCisjIFRoYXQgd29ya3Mgb3V0IGJvdGggd2hlbiBNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQyBpcyBlbmFibGVkIGFuZAorIyB2b2xhdGlsZSBrZXkgSURzIGFyZSBhc3NpZ25lZCBzdGFydGluZyB3aXRoIHRoZSBsb3dlc3QgdmFsdWUsIGFuZCB3aGVuCisjIE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDIGlzIGRpc2FibGVkIGFuZCB2b2xhdGlsZSBrZXkgSURzIGFyZSBhc3NpZ25lZAorIyBzdGFydGluZyB3aXRoIHRoZSBoaWdoZXN0IHZhbHVlcy4KK29wZW5fZmFpbDooUFNBX0tFWV9JRF9WT0xBVElMRV9NSU4gKyBQU0FfS0VZX0lEX1ZPTEFUSUxFX01BWCkgLyAyOlBTQV9FUlJPUl9ET0VTX05PVF9FWElTVAogCiBPcGVuIGZhaWx1cmU6IG5vbi1leGlzdGVudCBpZGVudGlmaWVyCiBkZXBlbmRzX29uOk1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0MKQEAgLTIxNCw4ICsyMjUsMjUgQEAKIGludmFsaWQgaGFuZGxlOiBodWdlCiBpbnZhbGlkX2hhbmRsZTpJTlZBTElEX0hBTkRMRV9IVUdFOlBTQV9FUlJPUl9JTlZBTElEX0hBTkRMRQogCi1PcGVuIG1hbnkgdHJhbnNpZW50IGtleXMKLW1hbnlfdHJhbnNpZW50X2tleXM6NDIKK0tleSBzbG90IGNvdW50OiBtYXhpbXVtCittYW55X3RyYW5zaWVudF9rZXlzOk1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UIC0gTUJFRFRMU19URVNUX1BTQV9JTlRFUk5BTF9LRVlTCisKK0tleSBzbG90IGNvdW50OiBkeW5hbWljOiBtb3JlIHRoYW4gTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlQKK2RlcGVuZHNfb246TUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMKKyMgQ2hlY2sgdGhhdCBNQkVEVExTX1BTQV9LRVlfU0xPVF9DT1VOVCBkb2Vzbid0IGFwcGx5IHRvIHZvbGF0aWxlIGtleXMuCittYW55X3RyYW5zaWVudF9rZXlzOk1CRURUTFNfUFNBX0tFWV9TTE9UX0NPVU5UICsgMQorCitLZXkgc2xvdCBjb3VudDogdHJ5IHRvIG92ZXJmaWxsLCBkZXN0cm95IGZpcnN0CitmaWxsX2tleV9zdG9yZTowCisKK0tleSBzbG90IGNvdW50OiB0cnkgdG8gb3ZlcmZpbGwsIGRlc3Ryb3kgc2Vjb25kCitmaWxsX2tleV9zdG9yZToxCisKK0tleSBzbG90IGNvdW50OiB0cnkgdG8gb3ZlcmZpbGwsIGRlc3Ryb3kgbmV4dC10by1sYXN0CitmaWxsX2tleV9zdG9yZTotMgorCitLZXkgc2xvdCBjb3VudDogdHJ5IHRvIG92ZXJmaWxsLCBkZXN0cm95IGxhc3QKK2ZpbGxfa2V5X3N0b3JlOi0xCiAKICMgRXZpY3Rpb24gZnJvbSBhIGtleSBzbG90IHRvIGJlIGFibGUgdG8gaW1wb3J0IGEgbmV3IHBlcnNpc3RlbnQga2V5LgogS2V5IHNsb3QgZXZpY3Rpb24gdG8gaW1wb3J0IGEgbmV3IHBlcnNpc3RlbnQga2V5CmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3Nsb3RfbWFuYWdlbWVudC5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50LmZ1bmN0aW9uCmluZGV4IDk0ZjI2ZjYuLjYwNGM0YmQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50LmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc2xvdF9tYW5hZ2VtZW50LmZ1bmN0aW9uCkBAIC05OCw2ICs5OCwzMSBAQAogICAgIHJldHVybiAwOwogfQogCisjaWYgZGVmaW5lZChNQkVEVExTX1BTQV9LRVlfU1RPUkVfRFlOQU1JQykKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykKKy8qIEFydGlmaWNpYWxseSByZXN0cmljdGFibGUgZHluYW1pYyBrZXkgc3RvcmUgKi8KKyNkZWZpbmUgS0VZX1NMSUNFXzFfTEVOR1RIIDQKKyNkZWZpbmUgS0VZX1NMSUNFXzJfTEVOR1RIIDEwCitzdGF0aWMgc2l6ZV90IHRpbnlfa2V5X3NsaWNlX2xlbmd0aChzaXplX3Qgc2xpY2VfaWR4KQoreworICAgIHN3aXRjaCAoc2xpY2VfaWR4KSB7CisgICAgICAgIGNhc2UgMTogcmV0dXJuIEtFWV9TTElDRV8xX0xFTkdUSDsKKyAgICAgICAgY2FzZSAyOiByZXR1cm4gS0VZX1NMSUNFXzJfTEVOR1RIOworICAgICAgICBkZWZhdWx0OiByZXR1cm4gMTsKKyAgICB9Cit9CisjZGVmaW5lIE1BWF9WT0xBVElMRV9LRVlTICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKEtFWV9TTElDRV8xX0xFTkdUSCArIEtFWV9TTElDRV8yX0xFTkdUSCArICBcCisgICAgIHBzYV9rZXlfc2xvdF92b2xhdGlsZV9zbGljZV9jb3VudCgpIC0gMikKKworI2Vsc2UgIC8qIEVmZmVjdGl2ZWx5IHVuYm91bmRlZCBkeW5hbWljIGtleSBzdG9yZSAqLworI3VuZGVmIE1BWF9WT0xBVElMRV9LRVlTCisjZW5kaWYKKworI2Vsc2UgIC8qIFN0YXRpYyBrZXkgc3RvcmUgKi8KKyNkZWZpbmUgTUFYX1ZPTEFUSUxFX0tFWVMgTUJFRFRMU19QU0FfS0VZX1NMT1RfQ09VTlQKKyNlbmRpZgorCiAvKiBFTkRfSEVBREVSICovCiAKIC8qIEJFR0lOX0RFUEVOREVOQ0lFUwpAQCAtODEzLDIxICs4MzgsMTkgQEAKICAgICBwc2Ffc2V0X2tleV90eXBlKCZhdHRyaWJ1dGVzLCBQU0FfS0VZX1RZUEVfUkFXX0RBVEEpOwogCiAgICAgZm9yIChpID0gMDsgaSA8IG1heF9rZXlzOyBpKyspIHsKKyAgICAgICAgbWJlZHRsc190ZXN0X3NldF9zdGVwKGkpOwogICAgICAgICBzdGF0dXMgPSBwc2FfaW1wb3J0X2tleSgmYXR0cmlidXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQ4X3QgKikgJmksIHNpemVvZihpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtleXNbaV0pOwotICAgICAgICBpZiAoc3RhdHVzID09IFBTQV9FUlJPUl9JTlNVRkZJQ0lFTlRfTUVNT1JZKSB7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQogICAgICAgICBQU0FfQVNTRVJUKHN0YXR1cyk7CiAgICAgICAgIFRFU1RfQVNTRVJUKCFtYmVkdGxzX3N2Y19rZXlfaWRfaXNfbnVsbChrZXlzW2ldKSk7CiAgICAgICAgIGZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsKICAgICAgICAgICAgIFRFU1RfQVNTRVJUKCFtYmVkdGxzX3N2Y19rZXlfaWRfZXF1YWwoa2V5c1tpXSwga2V5c1tqXSkpOwogICAgICAgICB9CiAgICAgfQotICAgIG1heF9rZXlzID0gaTsKIAogICAgIGZvciAoaSA9IDE7IGkgPCBtYXhfa2V5czsgaSsrKSB7CisgICAgICAgIG1iZWR0bHNfdGVzdF9zZXRfc3RlcChpKTsKICAgICAgICAgUFNBX0FTU0VSVChwc2FfY2xvc2Vfa2V5KGtleXNbaSAtIDFdKSk7CiAgICAgICAgIFBTQV9BU1NFUlQocHNhX2V4cG9ydF9rZXkoa2V5c1tpXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBvcnRlZCwgc2l6ZW9mKGV4cG9ydGVkKSwKQEAgLTg0Myw2ICs4NjYsMTE5IEBACiB9CiAvKiBFTkRfQ0FTRSAqLwogCisvKiBCRUdJTl9DQVNFIGRlcGVuZHNfb246TUFYX1ZPTEFUSUxFX0tFWVMgKi8KKy8qCisgKiAxLiBGaWxsIHRoZSBrZXkgc3RvcmUgd2l0aCB2b2xhdGlsZSBrZXlzLgorICogMi4gQ2hlY2sgdGhhdCBhdHRlbXB0aW5nIHRvIGNyZWF0ZSBhbm90aGVyIHZvbGF0aWxlIGtleSBmYWlscyB3aXRob3V0CisgKiAgICBjb3JydXB0aW5nIHRoZSBrZXkgc3RvcmUuCisgKiAzLiBEZXN0cm95IHRoZSBrZXkgc3BlY2lmaWVkIGJ5IGtleV90b19kZXN0cm95LiBUaGlzIGlzIHRoZSBudW1iZXIgb2YgdGhlCisgKiAgICBrZXkgaW4gY3JlYXRpb24gb3JkZXIgKGUuZy4gMCBtZWFucyB0aGUgZmlyc3Qga2V5IHRoYXQgd2FzIGNyZWF0ZWQpLgorICogICAgSXQgY2FuIGFsc28gIGJlIGEgbmVnYXRpdmUgdmFsdWUgdG8gY291bnQgaW4gcmV2ZXJzZSBvcmRlciAoZS5nLgorICogICAgLTEgbWVhbnMgdG8gZGVzdHJveSB0aGUgbGFzdCBrZXkgdGhhdCB3YXMgY3JlYXRlZCkuCisgKiA0LiBDaGVjayB0aGF0IGNyZWF0aW5nIGFub3RoZXIgdm9sYXRpbGUga2V5IHN1Y2NlZWRzLgorICovCit2b2lkIGZpbGxfa2V5X3N0b3JlKGludCBrZXlfdG9fZGVzdHJveV9hcmcpCit7CisgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgKmtleXMgPSBOVUxMOworICAgIHNpemVfdCBtYXhfa2V5cyA9IE1BWF9WT0xBVElMRV9LRVlTOworICAgIHNpemVfdCBpLCBqOworICAgIHBzYV9zdGF0dXNfdCBzdGF0dXM7CisgICAgcHNhX2tleV9hdHRyaWJ1dGVzX3QgYXR0cmlidXRlcyA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOworICAgIHVpbnQ4X3QgZXhwb3J0ZWRbc2l6ZW9mKHNpemVfdCldOworICAgIHNpemVfdCBleHBvcnRlZF9sZW5ndGg7CisKKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDKSAmJiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykKKyAgICBtYmVkdGxzX3Rlc3RfaG9va19wc2Ffdm9sYXRpbGVfa2V5X3NsaWNlX2xlbmd0aCA9ICZ0aW55X2tleV9zbGljZV9sZW5ndGg7CisjZW5kaWYKKworICAgIFBTQV9BU1NFUlQocHNhX2NyeXB0b19pbml0KCkpOworCisgICAgbWJlZHRsc19wc2Ffc3RhdHNfdCBzdGF0czsKKyAgICBtYmVkdGxzX3BzYV9nZXRfc3RhdHMoJnN0YXRzKTsKKyAgICAvKiBBY2NvdW50IGZvciBhbnkgc3lzdGVtLWNyZWF0ZWQgdm9sYXRpbGUga2V5LCBlLmcuIGZvciB0aGUgUk5HLiAqLworICAgIG1heF9rZXlzIC09IHN0YXRzLnZvbGF0aWxlX3Nsb3RzOworICAgIFRFU1RfQ0FMTE9DKGtleXMsIG1heF9rZXlzICsgMSk7CisKKyAgICBwc2Ffc2V0X2tleV91c2FnZV9mbGFncygmYXR0cmlidXRlcywgUFNBX0tFWV9VU0FHRV9FWFBPUlQpOworICAgIHBzYV9zZXRfa2V5X2FsZ29yaXRobSgmYXR0cmlidXRlcywgMCk7CisgICAgcHNhX3NldF9rZXlfdHlwZSgmYXR0cmlidXRlcywgUFNBX0tFWV9UWVBFX1JBV19EQVRBKTsKKworICAgIC8qIEZpbGwgdGhlIGtleSBzdG9yZS4gKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbWF4X2tleXM7IGkrKykgeworICAgICAgICBtYmVkdGxzX3Rlc3Rfc2V0X3N0ZXAoaSk7CisgICAgICAgIHN0YXR1cyA9IHBzYV9pbXBvcnRfa2V5KCZhdHRyaWJ1dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDhfdCAqKSAmaSwgc2l6ZW9mKGkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma2V5c1tpXSk7CisgICAgICAgIFBTQV9BU1NFUlQoc3RhdHVzKTsKKyAgICAgICAgVEVTVF9BU1NFUlQoIW1iZWR0bHNfc3ZjX2tleV9pZF9pc19udWxsKGtleXNbaV0pKTsKKyAgICAgICAgZm9yIChqID0gMDsgaiA8IGk7IGorKykgeworICAgICAgICAgICAgVEVTVF9BU1NFUlQoIW1iZWR0bHNfc3ZjX2tleV9pZF9lcXVhbChrZXlzW2ldLCBrZXlzW2pdKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKiBBdHRlbXB0IHRvIG92ZXJmaWxsLiAqLworICAgIG1iZWR0bHNfdGVzdF9zZXRfc3RlcChtYXhfa2V5cyk7CisgICAgc3RhdHVzID0gcHNhX2ltcG9ydF9rZXkoJmF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQ4X3QgKikgJm1heF9rZXlzLCBzaXplb2YobWF4X2tleXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZrZXlzW21heF9rZXlzXSk7CisgICAgVEVTVF9FUVVBTChzdGF0dXMsIFBTQV9FUlJPUl9JTlNVRkZJQ0lFTlRfTUVNT1JZKTsKKyAgICBURVNUX0FTU0VSVChtYmVkdGxzX3N2Y19rZXlfaWRfaXNfbnVsbChrZXlzW21heF9rZXlzXSkpOworCisgICAgLyogQ2hlY2sgdGhhdCB0aGUga2V5cyBhcmUgbm90IGNvcnJ1cHRlZC4gKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbWF4X2tleXM7IGkrKykgeworICAgICAgICBtYmVkdGxzX3Rlc3Rfc2V0X3N0ZXAoaSk7CisgICAgICAgIFBTQV9BU1NFUlQocHNhX2V4cG9ydF9rZXkoa2V5c1tpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBvcnRlZCwgc2l6ZW9mKGV4cG9ydGVkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXhwb3J0ZWRfbGVuZ3RoKSk7CisgICAgICAgIFRFU1RfTUVNT1JZX0NPTVBBUkUoZXhwb3J0ZWQsIGV4cG9ydGVkX2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDhfdCAqKSAmaSwgc2l6ZW9mKGkpKTsKKyAgICB9CisKKyAgICAvKiBEZXN0cm95IG9uZSBrZXkgYW5kIHRyeSBhZ2Fpbi4gKi8KKyAgICBzaXplX3Qga2V5X3RvX2Rlc3Ryb3kgPSAoa2V5X3RvX2Rlc3Ryb3lfYXJnID49IDAgPworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZV90KSBrZXlfdG9fZGVzdHJveV9hcmcgOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfa2V5cyArIGtleV90b19kZXN0cm95X2FyZyk7CisgICAgbWJlZHRsc19zdmNfa2V5X2lkX3QgcmV1c2VkX2lkID0ga2V5c1trZXlfdG9fZGVzdHJveV07CisgICAgY29uc3QgdWludDhfdCByZXBsYWNlbWVudF92YWx1ZVsxXSA9IHsgMHg2NCB9OworICAgIFBTQV9BU1NFUlQocHNhX2Rlc3Ryb3lfa2V5KGtleXNba2V5X3RvX2Rlc3Ryb3ldKSk7CisgICAga2V5c1trZXlfdG9fZGVzdHJveV0gPSBNQkVEVExTX1NWQ19LRVlfSURfSU5JVDsKKyAgICBzdGF0dXMgPSBwc2FfaW1wb3J0X2tleSgmYXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudF92YWx1ZSwgc2l6ZW9mKHJlcGxhY2VtZW50X3ZhbHVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAma2V5c1trZXlfdG9fZGVzdHJveV0pOworICAgIFBTQV9BU1NFUlQoc3RhdHVzKTsKKyAgICAvKiBTaW5jZSB0aGUga2V5IHN0b3JlIHdhcyBmdWxsIGV4Y2VwdCBmb3Igb25lIGtleSwgdGhlIG5ldyBrZXkgbXVzdCBiZQorICAgICAqIGluIHRoZSBzYW1lIHNsb3QgaW4gdGhlIGtleSBzdG9yZSBhcyB0aGUgZGVzdHJveWVkIGtleS4KKyAgICAgKiBTaW5jZSB2b2xhdGlsZSBrZXlzIElEcyBhcmUgYXNzaWduZWQgYmFzZWQgb24gd2hpY2ggc2xvdCBjb250YWlucworICAgICAqIHRoZSBrZXksIHRoZSBuZXcga2V5IHNob3VsZCBoYXZlIHRoZSBzYW1lIElEIGFzIHRoZSBkZXN0cm95ZWQga2V5LgorICAgICAqLworICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfc3ZjX2tleV9pZF9lcXVhbChyZXVzZWRfaWQsIGtleXNba2V5X3RvX2Rlc3Ryb3ldKSk7CisKKyAgICAvKiBDaGVjayB0aGF0IHRoZSBrZXlzIGFyZSBub3QgY29ycnVwdGVkIGFuZCBkZXN0cm95IHRoZW0uICovCisgICAgZm9yIChpID0gMDsgaSA8IG1heF9rZXlzOyBpKyspIHsKKyAgICAgICAgbWJlZHRsc190ZXN0X3NldF9zdGVwKGkpOworICAgICAgICBQU0FfQVNTRVJUKHBzYV9leHBvcnRfa2V5KGtleXNbaV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0ZWQsIHNpemVvZihleHBvcnRlZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4cG9ydGVkX2xlbmd0aCkpOworICAgICAgICBpZiAoaSA9PSBrZXlfdG9fZGVzdHJveSkgeworICAgICAgICAgICAgVEVTVF9NRU1PUllfQ09NUEFSRShleHBvcnRlZCwgZXhwb3J0ZWRfbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudF92YWx1ZSwgc2l6ZW9mKHJlcGxhY2VtZW50X3ZhbHVlKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBURVNUX01FTU9SWV9DT01QQVJFKGV4cG9ydGVkLCBleHBvcnRlZF9sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50OF90ICopICZpLCBzaXplb2YoaSkpOworICAgICAgICB9CisgICAgICAgIFBTQV9BU1NFUlQocHNhX2Rlc3Ryb3lfa2V5KGtleXNbaV0pKTsKKyAgICAgICAga2V5c1tpXSA9IE1CRURUTFNfU1ZDX0tFWV9JRF9JTklUOworICAgIH0KKworZXhpdDoKKyAgICBQU0FfRE9ORSgpOworICAgIG1iZWR0bHNfZnJlZShrZXlzKTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDKSAmJiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykKKyAgICBtYmVkdGxzX3Rlc3RfaG9va19wc2Ffdm9sYXRpbGVfa2V5X3NsaWNlX2xlbmd0aCA9IE5VTEw7CisjZW5kaWYKK30KKy8qIEVORF9DQVNFICovCisKIC8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjpNQkVEVExTX1BTQV9DUllQVE9fU1RPUkFHRV9DICovCiB2b2lkIGtleV9zbG90X2V2aWN0aW9uX3RvX2ltcG9ydF9uZXdfa2V5KGludCBsaWZldGltZV9hcmcpCiB7CkBAIC05MTksNyArMTA1NSw3IEBACiB9CiAvKiBFTkRfQ0FTRSAqLwogCi0vKiBCRUdJTl9DQVNFIGRlcGVuZHNfb246TUJFRFRMU19QU0FfQ1JZUFRPX1NUT1JBR0VfQyAqLworLyogQkVHSU5fQ0FTRSBkZXBlbmRzX29uOk1CRURUTFNfUFNBX0NSWVBUT19TVE9SQUdFX0M6IU1CRURUTFNfUFNBX0tFWV9TVE9SRV9EWU5BTUlDICovCiB2b2lkIG5vbl9yZXVzYWJsZV9rZXlfc2xvdHNfaW50ZWdyaXR5X2luX2Nhc2Vfb2Zfa2V5X3Nsb3Rfc3RhcnZhdGlvbigpCiB7CiAgICAgcHNhX3N0YXR1c190IHN0YXR1czsKQEAgLTk1OSw3ICsxMDk1LDE0IEBACiAgICAgVEVTVF9BU1NFUlQobWJlZHRsc19zdmNfa2V5X2lkX2VxdWFsKHJldHVybmVkX2tleV9pZCwgcGVyc2lzdGVudF9rZXkpKTsKIAogICAgIC8qCi0gICAgICogQ3JlYXRlIHRoZSBtYXhpbXVtIGF2YWlsYWJsZSBudW1iZXIgb2Ygdm9sYXRpbGUga2V5cworICAgICAqIENyZWF0ZSB0aGUgbWF4aW11bSBhdmFpbGFibGUgbnVtYmVyIG9mIGtleXMgdGhhdCBhcmUgbG9ja2VkIGluCisgICAgICogbWVtb3J5LiBUaGlzIGNhbiBiZToKKyAgICAgKiAtIHZvbGF0aWxlIGtleXMsIHdoZW4gTUJFRFRMU19QU0FfS0VZX1NUT1JFX0RZTkFNSUMgaXMgZGlzYWJsZWQ7CisgICAgICogLSBvcGVuZWQgcGVyc2lzdGVudCBrZXlzIChjb3VsZCB3b3JrLCBidXQgbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZAorICAgICAqICAgaW4gdGhpcyB0ZXN0IGZ1bmN0aW9uKTsKKyAgICAgKiAtIGtleXMgaW4gdXNlIGJ5IGFub3RoZXIgdGhyZWFkICh3ZSBkb24ndCBkbyB0aGlzIGJlY2F1c2UgaXQgd291bGQKKyAgICAgKiAgIGJlIGhhcmQgdG8gYXJyYW5nZSBhbmQgd2UgY2FuJ3QgY29udHJvbCBob3cgbG9uZyB0aGUga2V5cyBhcmUKKyAgICAgKiAgIGxvY2tlZCBhbnl3YXkpLgogICAgICAqLwogICAgIHBzYV9zZXRfa2V5X2xpZmV0aW1lKCZhdHRyaWJ1dGVzLCBQU0FfS0VZX0xJRkVUSU1FX1ZPTEFUSUxFKTsKICAgICBmb3IgKGkgPSAwOyBpIDwgYXZhaWxhYmxlX2tleV9zbG90czsgaSsrKSB7CmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3N0b3JhZ2VfZm9ybWF0LmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zdG9yYWdlX2Zvcm1hdC5mdW5jdGlvbgppbmRleCBlZmFhYmE1Li41Nzg4NzQyIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3N0b3JhZ2VfZm9ybWF0LmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc3RvcmFnZV9mb3JtYXQuZnVuY3Rpb24KQEAgLTEsMTQgKzEsMTYgQEAKIC8qIEJFR0lOX0hFQURFUiAqLwogCiAjaW5jbHVkZSA8cHNhL2NyeXB0by5oPgorI2luY2x1ZGUgPHBzYV9jcnlwdG9fc3RvcmFnZS5oPgogCiAjaW5jbHVkZSA8dGVzdC9wc2FfY3J5cHRvX2hlbHBlcnMuaD4KICNpbmNsdWRlIDx0ZXN0L3BzYV9leGVyY2lzZV9rZXkuaD4KIAogI2luY2x1ZGUgPHBzYV9jcnlwdG9faXRzLmg+CiAKLSNkZWZpbmUgVEVTVF9GTEFHX0VYRVJDSVNFICAgICAgMHgwMDAwMDAwMQotI2RlZmluZSBURVNUX0ZMQUdfUkVBRF9PTkxZICAgICAweDAwMDAwMDAyCisjZGVmaW5lIFRFU1RfRkxBR19FWEVSQ0lTRSAgICAgICAgICAgICAgMHgwMDAwMDAwMQorI2RlZmluZSBURVNUX0ZMQUdfUkVBRF9PTkxZICAgICAgICAgICAgIDB4MDAwMDAwMDIKKyNkZWZpbmUgVEVTVF9GTEFHX09WRVJTSVpFRF9LRVkgICAgICAgICAweDAwMDAwMDA0CiAKIC8qKiBXcml0ZSBhIGtleSB3aXRoIHRoZSBnaXZlbiBhdHRyaWJ1dGVzIGFuZCBrZXkgbWF0ZXJpYWwgdG8gc3RvcmFnZS4KICAqIFRlc3QgdGhhdCBpdCBoYXMgdGhlIGV4cGVjdGVkIHJlcHJlc2VudGF0aW9uLgpAQCAtMTU4LDYgKzE2MCwxMiBAQAogICAgIC8qIFByaW1lIHRoZSBzdG9yYWdlIHdpdGggYSBrZXkgZmlsZS4gKi8KICAgICBQU0FfQVNTRVJUKHBzYV9pdHNfc2V0KHVpZCwgcmVwcmVzZW50YXRpb24tPmxlbiwgcmVwcmVzZW50YXRpb24tPngsIDApKTsKIAorICAgIGlmIChmbGFncyAmIFRFU1RfRkxBR19PVkVSU0laRURfS0VZKSB7CisgICAgICAgIFRFU1RfRVFVQUwocHNhX2dldF9rZXlfYXR0cmlidXRlcyhrZXlfaWQsICZhY3R1YWxfYXR0cmlidXRlcyksIFBTQV9FUlJPUl9EQVRBX0lOVkFMSUQpOworICAgICAgICBvayA9IDE7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisKICAgICAvKiBDaGVjayB0aGF0IHRoZSBpbmplY3RlZCBrZXkgZXhpc3RzIGFuZCBsb29rcyBhcyBleHBlY3RlZC4gKi8KICAgICBQU0FfQVNTRVJUKHBzYV9nZXRfa2V5X2F0dHJpYnV0ZXMoa2V5X2lkLCAmYWN0dWFsX2F0dHJpYnV0ZXMpKTsKICAgICBURVNUX0FTU0VSVChtYmVkdGxzX3N2Y19rZXlfaWRfZXF1YWwoa2V5X2lkLApAQCAtMjgxLDYgKzI4OSw3IEBACiAgICAgbWJlZHRsc19zdmNfa2V5X2lkX3Qga2V5X2lkID0gbWJlZHRsc19zdmNfa2V5X2lkX21ha2UoMCwgMSk7CiAgICAgcHNhX3N0b3JhZ2VfdWlkX3QgdWlkID0gMTsKICAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBhdHRyaWJ1dGVzID0gUFNBX0tFWV9BVFRSSUJVVEVTX0lOSVQ7CisgICAgdWludDhfdCAqY3VzdG9tX2tleV9kYXRhID0gTlVMTCwgKmN1c3RvbV9zdG9yYWdlX2RhdGEgPSBOVUxMOwogCiAgICAgUFNBX0lOSVQoKTsKICAgICBURVNUX1VTRVNfS0VZX0lEKGtleV9pZCk7CkBAIC0yOTMsNiArMzAyLDIzIEBACiAgICAgcHNhX3NldF9rZXlfYWxnb3JpdGhtKCZhdHRyaWJ1dGVzLCBhbGcpOwogICAgIHBzYV9zZXRfa2V5X2Vucm9sbG1lbnRfYWxnb3JpdGhtKCZhdHRyaWJ1dGVzLCBhbGcyKTsKIAorICAgIC8qIENyZWF0ZSBhIHBlcnNpc3RlbnQga2V5IHdoaWNoIGlzIGludGVudGlvbmFsbHkgbGFyZ2VyIHRoYW4gdGhlIHNwZWNpZmllZAorICAgICAqIGJpdCBzaXplLiAqLworICAgIGlmIChmbGFncyAmIFRFU1RfRkxBR19PVkVSU0laRURfS0VZKSB7CisgICAgICAgIFRFU1RfQ0FMTE9DKGN1c3RvbV9rZXlfZGF0YSwgUFNBX0JJVFNfVE9fQllURVMoYml0cykpOworICAgICAgICBtZW1zZXQoY3VzdG9tX2tleV9kYXRhLCAweEFBLCBQU0FfQklUU19UT19CWVRFUyhiaXRzKSk7CisgICAgICAgIG1hdGVyaWFsLT5sZW4gPSBQU0FfQklUU19UT19CWVRFUyhiaXRzKTsKKyAgICAgICAgbWF0ZXJpYWwtPnggPSBjdXN0b21fa2V5X2RhdGE7CisKKyAgICAgICAgLyogMzYgYnl0ZXMgYXJlIHRoZSBvdmVyaGVhZCBvZiBwc2FfcGVyc2lzdGVudF9rZXlfc3RvcmFnZV9mb3JtYXQgKi8KKyAgICAgICAgVEVTVF9DQUxMT0MoY3VzdG9tX3N0b3JhZ2VfZGF0YSwgUFNBX0JJVFNfVE9fQllURVMoYml0cykgKyAzNik7CisgICAgICAgIHJlcHJlc2VudGF0aW9uLT5sZW4gPSBQU0FfQklUU19UT19CWVRFUyhiaXRzKSArIDM2OworICAgICAgICByZXByZXNlbnRhdGlvbi0+eCA9IGN1c3RvbV9zdG9yYWdlX2RhdGE7CisKKyAgICAgICAgcHNhX2Zvcm1hdF9rZXlfZGF0YV9mb3Jfc3RvcmFnZShjdXN0b21fa2V5X2RhdGEsIFBTQV9CSVRTX1RPX0JZVEVTKGJpdHMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhdHRyaWJ1dGVzLCBjdXN0b21fc3RvcmFnZV9kYXRhKTsKKyAgICB9CisKICAgICAvKiBUZXN0IHRoYXQgd2UgY2FuIHVzZSBhIGtleSB3aXRoIHRoZSBnaXZlbiByZXByZXNlbnRhdGlvbi4gVGhpcwogICAgICAqIGd1YXJhbnRlZXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGtleXMgdGhhdCB3ZXJlIHN0b3JlZCBieQogICAgICAqIHBhc3QgdmVyc2lvbnMgb2YgTWJlZCBUTFMuICovCkBAIC0zMDAsNiArMzI2LDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpZCwgcmVwcmVzZW50YXRpb24sIGZsYWdzKSk7CiAKIGV4aXQ6CisgICAgbWJlZHRsc19mcmVlKGN1c3RvbV9rZXlfZGF0YSk7CisgICAgbWJlZHRsc19mcmVlKGN1c3RvbV9zdG9yYWdlX2RhdGEpOwogICAgIHBzYV9yZXNldF9rZXlfYXR0cmlidXRlcygmYXR0cmlidXRlcyk7CiAgICAgUFNBX0RPTkUoKTsKIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fc3RvcmFnZV9mb3JtYXQubWlzYy5kYXRhIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zdG9yYWdlX2Zvcm1hdC5taXNjLmRhdGEKaW5kZXggNDhlMzgwNC4uMzU5MDUzZSAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zdG9yYWdlX2Zvcm1hdC5taXNjLmRhdGEKKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2NyeXB0b19zdG9yYWdlX2Zvcm1hdC5taXNjLmRhdGEKQEAgLTksMyArOSw5IEBACiBQU0Egc3RvcmFnZSBzYXZlOiBBRVMtR0NNK0NUUgogZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9BRVMKIGtleV9zdG9yYWdlX3NhdmU6UFNBX0tFWV9MSUZFVElNRV9QRVJTSVNURU5UOlBTQV9LRVlfVFlQRV9BRVM6MTI4OlBTQV9LRVlfVVNBR0VfRVhQT1JUIHwgUFNBX0tFWV9VU0FHRV9FTkNSWVBUOlBTQV9BTEdfR0NNOlBTQV9BTEdfQ1RSOiI0MDQxNDI0MzQ0NDU0NjQ3NDg0OTRhNGI0YzRkNGU0ZiI6IjUwNTM0MTAwNGI0NTU5MDAwMDAwMDAwMDAxMDAwMDAwMDAyNDgwMDAwMTAxMDAwMDAwMDI1MDA1MDAxMGMwMDQxMDAwMDAwMDQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NGE0YjRjNGQ0ZTRmIgorCisjIENyZWF0ZSBhIHBlcnNpc3RlbnQga2V5IHdoaWNoIGlzIGxhcmdlciB0aGFuIE1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVF9CVUZGRVJfU0laRQorIyBzbyB0aGF0IHdoZW4gcHNhX2dldF9rZXlfYXR0cmlidXRlcygpIHRyaWVzIHRvIGxvYWQgaXQgZnJvbSB0aGUgc3RvcmFnZSBpdCB3aWxsIGZhaWwuCitQU0Egc3RvcmFnZSByZWFkOiBrZXkgbGFyZ2VyIHRoYW4gTUJFRFRMU19QU0FfU1RBVElDX0tFWV9TTE9UX0JVRkZFUl9TSVpFCitkZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX1JBV19EQVRBOk1CRURUTFNfUFNBX1NUQVRJQ19LRVlfU0xPVFMKK2tleV9zdG9yYWdlX3JlYWQ6UFNBX0tFWV9MSUZFVElNRV9QRVJTSVNURU5UOlBTQV9LRVlfVFlQRV9SQVdfREFUQTpQU0FfQllURVNfVE9fQklUUyhNQkVEVExTX1BTQV9TVEFUSUNfS0VZX1NMT1RfQlVGRkVSX1NJWkUgKyAxKTpQU0FfS0VZX1VTQUdFX0VYUE9SVDpQU0FfQUxHX05PTkU6UFNBX0FMR19OT05FOiIiOiIiOlRFU1RfRkxBR19PVkVSU0laRURfS0VZCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfY3J5cHRvX3V0aWwuZGF0YSBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fdXRpbC5kYXRhCmluZGV4IDgwNzAwN2IuLmM4NGE4MzYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fdXRpbC5kYXRhCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9jcnlwdG9fdXRpbC5kYXRhCkBAIC02LDYgKzYsMTYgQEAKIGRlcGVuZHNfb246UFNBX1ZFTkRPUl9FQ0NfTUFYX0NVUlZFX0JJVFMgPj0gMjU2CiBlY2RzYV9yYXdfdG9fZGVyOjI1NjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiOiIzMDQ0MDIyMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMjIwMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiOk1CRURUTFNfRVJSX0FTTjFfQlVGX1RPT19TTUFMTAogCisjIENoZWNrIGNvb3JkaW5hdGVzIG9uZSBieXRlIGxhcmdlciB0aGFuIHRoZSBsYXJnZXN0IHN1cHBvcnRlZCBjdXJ2ZS4KKyMgSWYgd2UgYWRkIGFuIGV2ZW4gbGFyZ2VyIGN1cnZlLCB0aGlzIHRlc3QgY2FzZSB3aWxsIGZhaWwgaW4gdGhlIGZ1bGwKKyMgY29uZmlndXJhdGlvbiBiZWNhdXNlIG1iZWR0bHNfZWNkc2FfcmF3X3RvX2RlcigpIHdpbGwgcmV0dXJuIDAsIGFuZCB3ZSdsbAorIyBuZWVkIHRvIHVzZSBsYXJnZXIgZGF0YSBmb3IgdGhpcyB0ZXN0IGNhc2UuCitFQ0RTQSBSYXcgLT4gREVSLCB2ZXJ5IGxhcmdlIGlucHV0ICg1MzYtYml0KQorZWNkc2FfcmF3X3RvX2Rlcjo1MzY6IjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiOiIzMDgxOGEwMjQzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMjQzMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiOk1CRURUTFNfRVJSX0FTTjFfQlVGX1RPT19TTUFMTAorCitFQ0RTQSBSYXcgLT4gREVSLCB2ZXJ5IGxhcmdlIGlucHV0ICgxMDE2LWJpdCkKK2VjZHNhX3Jhd190b19kZXI6MTAxNjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMiI6IjMwODIwMTAyMDI3ZjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDI3ZjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIjpNQkVEVExTX0VSUl9BU04xX0JVRl9UT09fU01BTEwKKwogRUNEU0EgUmF3IC0+IERFUiwgMjU2Yml0LCBOdWxsIHIKIGRlcGVuZHNfb246UFNBX1ZFTkRPUl9FQ0NfTUFYX0NVUlZFX0JJVFMgPj0gMjU2CiBlY2RzYV9yYXdfdG9fZGVyOjI1NjoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiOiIzMDQ0MDIyMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMjIwMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMiI6TUJFRFRMU19FUlJfQVNOMV9JTlZBTElEX0RBVEEKQEAgLTU4LDYgKzY4LDE2IEBACiBkZXBlbmRzX29uOlBTQV9WRU5ET1JfRUNDX01BWF9DVVJWRV9CSVRTID49IDI1NgogZWNkc2FfZGVyX3RvX3JhdzoyNTY6IjMwNDQwMjIwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAyMjAyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIjpNQkVEVExTX0VSUl9BU04xX0JVRl9UT09fU01BTEwKIAorIyBDaGVjayBjb29yZGluYXRlcyBvbmUgYnl0ZSBsYXJnZXIgdGhhbiB0aGUgbGFyZ2VzdCBzdXBwb3J0ZWQgY3VydmUuCisjIElmIHdlIGFkZCBhbiBldmVuIGxhcmdlciBjdXJ2ZSwgdGhpcyB0ZXN0IGNhc2Ugd2lsbCBmYWlsIGluIHRoZSBmdWxsCisjIGNvbmZpZ3VyYXRpb24gYmVjYXVzZSBtYmVkdGxzX2VjZHNhX2Rlcl90b19yYXcoKSB3aWxsIHJldHVybiAwLCBhbmQgd2UnbGwKKyMgbmVlZCB0byB1c2UgbGFyZ2VyIGRhdGEgZm9yIHRoaXMgdGVzdCBjYXNlLgorRUNEU0EgREVSIC0+IFJhdywgdmVyeSBsYXJnZSBpbnB1dCAoNTM2LWJpdCkKK2VjZHNhX2Rlcl90b19yYXc6NTM2OiIzMDgxOGEwMjQzMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMjQzMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiOiIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIjpNQkVEVExTX0VSUl9BU04xX0JVRl9UT09fU01BTEwKKworRUNEU0EgREVSIC0+IFJhdywgdmVyeSBsYXJnZSBpbnB1dCAoMTAxNi1iaXQpCitlY2RzYV9kZXJfdG9fcmF3OjEwMTY6IjMwODIwMTAyMDI3ZjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDI3ZjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMiI6TUJFRFRMU19FUlJfQVNOMV9CVUZfVE9PX1NNQUxMCisKIEVDRFNBIERFUiAtPiBSYXcsIDI1NmJpdCwgV3Jvbmcgc2VxdWVuY2UgdGFnCiBkZXBlbmRzX29uOlBTQV9WRU5ET1JfRUNDX01BWF9DVVJWRV9CSVRTID49IDI1NgogZWNkc2FfZGVyX3RvX3JhdzoyNTY6IjQwNDQwMjIwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAyMjAyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIiOk1CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9pdHMuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9wc2FfaXRzLmZ1bmN0aW9uCmluZGV4IDBmNjZjNzkuLmNlMzQzM2YgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3BzYV9pdHMuZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcHNhX2l0cy5mdW5jdGlvbgpAQCAtMTksMTEgKzE5LDExIEBACiAjZGVmaW5lIFBTQV9JVFNfU1RPUkFHRV9QUkVGSVggIiIKICNkZWZpbmUgUFNBX0lUU19TVE9SQUdFX0ZJTEVOQU1FX1BBVFRFUk4gIiUwOGx4JTA4bHgiCiAjZGVmaW5lIFBTQV9JVFNfU1RPUkFHRV9TVUZGSVggIi5wc2FfaXRzIgotI2RlZmluZSBQU0FfSVRTX1NUT1JBR0VfRklMRU5BTUVfTEVOR1RIICAgICAgICAgXAotICAgIChzaXplb2YoUFNBX0lUU19TVE9SQUdFX1BSRUZJWCkgLSAxICsgICAgLypwcmVmaXggd2l0aG91dCB0ZXJtaW5hdGluZyAwKi8gXAotICAgICAxNiArICAvKlVJRCAoNjQtYml0IG51bWJlciBpbiBoZXgpKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAxNiArICAvKlVJRCAoNjQtYml0IG51bWJlciBpbiBoZXgpKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICBzaXplb2YoUFNBX0lUU19TVE9SQUdFX1NVRkZJWCkgLSAxICsgICAgLypzdWZmaXggd2l0aG91dCB0ZXJtaW5hdGluZyAwKi8gXAorI2RlZmluZSBQU0FfSVRTX1NUT1JBR0VfRklMRU5BTUVfTEVOR1RIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKHNpemVvZihQU0FfSVRTX1NUT1JBR0VfUFJFRklYKSAtIDEgKyAgICAvKnByZWZpeCB3aXRob3V0IHRlcm1pbmF0aW5nIDAqLyAgIFwKKyAgICAgMTYgKyAgLypVSUQgKDY0LWJpdCBudW1iZXIgaW4gaGV4KSovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAxNiArICAvKlVJRCAoNjQtYml0IG51bWJlciBpbiBoZXgpKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHNpemVvZihQU0FfSVRTX1NUT1JBR0VfU1VGRklYKSAtIDEgKyAgICAvKnN1ZmZpeCB3aXRob3V0IHRlcm1pbmF0aW5nIDAqLyAgIFwKICAgICAgMSAvKnRlcm1pbmF0aW5nIG51bGwgYnl0ZSovKQogI2RlZmluZSBQU0FfSVRTX1NUT1JBR0VfVEVNUCBcCiAgICAgUFNBX0lUU19TVE9SQUdFX1BSRUZJWCAidGVtcGZpbGUiIFBTQV9JVFNfU1RPUkFHRV9TVUZGSVgKZGlmZiAtLWdpdCBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3JzYS5mdW5jdGlvbiBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3JzYS5mdW5jdGlvbgppbmRleCBlODI0NTI5Li45OGVhOWVmIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9yc2EuZnVuY3Rpb24KKysrIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfcnNhLmZ1bmN0aW9uCkBAIC0xLDcgKzEsOSBAQAogLyogQkVHSU5fSEVBREVSICovCiAjaW5jbHVkZSAibWJlZHRscy9yc2EuaCIKKyNpbmNsdWRlICJiaWdudW1fY29yZS5oIgogI2luY2x1ZGUgInJzYV9hbHRfaGVscGVycy5oIgogI2luY2x1ZGUgInJzYV9pbnRlcm5hbC5oIgorI2luY2x1ZGUgInRlc3QvYmlnbnVtX2NvZGVwYXRoX2NoZWNrLmgiCiAvKiBFTkRfSEVBREVSICovCiAKIC8qIEJFR0lOX0RFUEVOREVOQ0lFUwpAQCAtNDg5LDcgKzQ5MSwxMyBAQAogICAgIFRFU1RfRVFVQUwobWJlZHRsc19yc2FfZ2V0X2JpdGxlbigmY3R4KSwgKHNpemVfdCkgbW9kKTsKICAgICBURVNUX0FTU0VSVChtYmVkdGxzX3JzYV9jaGVja19wdWJrZXkoJmN0eCkgPT0gMCk7CiAKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBtYmVkdGxzX2NvZGVwYXRoX3Jlc2V0KCk7CisjZW5kaWYKICAgICBURVNUX0FTU0VSVChtYmVkdGxzX3JzYV9wdWJsaWMoJmN0eCwgbWVzc2FnZV9zdHItPngsIG91dHB1dCkgPT0gcmVzdWx0KTsKKyNpZiBkZWZpbmVkKE1CRURUTFNfVEVTVF9IT09LUykgJiYgIWRlZmluZWQoTUJFRFRMU19USFJFQURJTkdfQykKKyAgICBBU1NFUlRfUlNBX0NPREVQQVRIKE1CRURUTFNfTVBJX0lTX1BVQkxJQywgcmVzdWx0KTsKKyNlbmRpZgogICAgIGlmIChyZXN1bHQgPT0gMCkgewogCiAgICAgICAgIFRFU1RfQVNTRVJUKG1iZWR0bHNfdGVzdF9oZXhjbXAob3V0cHV0LCByZXN1bHRfc3RyLT54LApAQCAtNTU0LDkgKzU2MiwxNSBAQAogICAgIC8qIHJlcGVhdCB0aHJlZSB0aW1lcyB0byB0ZXN0IHVwZGF0aW5nIG9mIGJsaW5kaW5nIHZhbHVlcyAqLwogICAgIGZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKICAgICAgICAgbWVtc2V0KG91dHB1dCwgMHgwMCwgc2l6ZW9mKG91dHB1dCkpOworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgICAgICBtYmVkdGxzX2NvZGVwYXRoX3Jlc2V0KCk7CisjZW5kaWYKICAgICAgICAgVEVTVF9BU1NFUlQobWJlZHRsc19yc2FfcHJpdmF0ZSgmY3R4LCBtYmVkdGxzX3Rlc3Rfcm5kX3BzZXVkb19yYW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZybmRfaW5mbywgbWVzc2FnZV9zdHItPngsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KSA9PSByZXN1bHQpOworI2lmIGRlZmluZWQoTUJFRFRMU19URVNUX0hPT0tTKSAmJiAhZGVmaW5lZChNQkVEVExTX1RIUkVBRElOR19DKQorICAgICAgICBBU1NFUlRfUlNBX0NPREVQQVRIKE1CRURUTFNfTVBJX0lTX1NFQ1JFVCwgcmVzdWx0KTsKKyNlbmRpZgogICAgICAgICBpZiAocmVzdWx0ID09IDApIHsKIAogICAgICAgICAgICAgVEVTVF9BU1NFUlQobWJlZHRsc190ZXN0X2hleGNtcChvdXRwdXQsIHJlc3VsdF9zdHItPngsCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9zc2wuZGF0YSBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3NzbC5kYXRhCmluZGV4IGM5NmI0YWQuLmVkMGZhNzQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3NzbC5kYXRhCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3NzbC5kYXRhCkBAIC0zNzcsMTEgKzM3NywxMSBAQAogaGFuZHNoYWtlX2NpcGhlcjoiVExTLURIRS1SU0EtV0lUSC1BRVMtMjU2LUNCQy1TSEEyNTYiOk1CRURUTFNfUEtfUlNBOjAKIAogSGFuZHNoYWtlLCBFQ0RIRS1FQ0RTQS1XSVRILUFFUy0yNTYtQ0NNCi1kZXBlbmRzX29uOk1CRURUTFNfU1NMX0hBVkVfQUVTOk1CRURUTFNfU1NMX0hBVkVfQ0NNOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRDohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKK2RlcGVuZHNfb246TUJFRFRMU19TU0xfSEFWRV9BRVM6TUJFRFRMU19TU0xfSEFWRV9DQ006TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRDohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKIGhhbmRzaGFrZV9jaXBoZXI6IlRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0yNTYtQ0NNIjpNQkVEVExTX1BLX0VDRFNBOjAKIAogSGFuZHNoYWtlLCBFQ0RILUVDRFNBLVdJVEgtQ0FNRUxMSUEtMjU2LUNCQy1TSEEzODQKLWRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfU1NMX0hBVkVfQ0FNRUxMSUE6TUJFRFRMU19TU0xfSEFWRV9DQkM6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQKK2RlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfU1NMX0hBVkVfQ0FNRUxMSUE6TUJFRFRMU19TU0xfSEFWRV9DQkM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9FQ0RTQV9FTkFCTEVECiBoYW5kc2hha2VfY2lwaGVyOiJUTFMtRUNESC1FQ0RTQS1XSVRILUNBTUVMTElBLTI1Ni1DQkMtU0hBMzg0IjpNQkVEVExTX1BLX0VDRFNBOjAKIAogSGFuZHNoYWtlLCBQU0stV0lUSC1BRVMtMTI4LUNCQy1TSEEKQEAgLTQwNSwxMSArNDA1LDExIEBACiBoYW5kc2hha2VfY2lwaGVyOiJUTFMtREhFLVJTQS1XSVRILUFFUy0yNTYtQ0JDLVNIQTI1NiI6TUJFRFRMU19QS19SU0E6MQogCiBEVExTIEhhbmRzaGFrZSwgRUNESEUtRUNEU0EtV0lUSC1BRVMtMjU2LUNDTQotZGVwZW5kc19vbjpNQkVEVExTX1NTTF9IQVZFX0FFUzpNQkVEVExTX1NTTF9IQVZFX0NDTTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfU1NMX1BST1RPX0RUTFM6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRDohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKK2RlcGVuZHNfb246TUJFRFRMU19TU0xfSEFWRV9BRVM6TUJFRFRMU19TU0xfSEFWRV9DQ006TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19TU0xfUFJPVE9fRFRMUzpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEOiFNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSAogaGFuZHNoYWtlX2NpcGhlcjoiVExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTI1Ni1DQ00iOk1CRURUTFNfUEtfRUNEU0E6MQogCiBEVExTIEhhbmRzaGFrZSwgRUNESC1FQ0RTQS1XSVRILUNBTUVMTElBLTI1Ni1DQkMtU0hBMzg0Ci1kZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1NTTF9IQVZFX0NBTUVMTElBOk1CRURUTFNfU1NMX0hBVkVfQ0JDOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19TU0xfUFJPVE9fRFRMUzpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQKK2RlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfU1NMX0hBVkVfQ0FNRUxMSUE6TUJFRFRMU19TU0xfSEFWRV9DQkM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19TU0xfUFJPVE9fRFRMUzpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQKIGhhbmRzaGFrZV9jaXBoZXI6IlRMUy1FQ0RILUVDRFNBLVdJVEgtQ0FNRUxMSUEtMjU2LUNCQy1TSEEzODQiOk1CRURUTFNfUEtfRUNEU0E6MQogCiBEVExTIEhhbmRzaGFrZSwgUFNLLVdJVEgtQUVTLTEyOC1DQkMtU0hBCkBAIC01MjEsMjMgKzUyMSwyMyBAQAogaGFuZHNoYWtlX2NpcGhlcnN1aXRlX3NlbGVjdDoiVExTLUVDREhFLVJTQS1XSVRILUFFUy0yNTYtR0NNLVNIQTM4NCI6TUJFRFRMU19QS19SU0E6IiI6UFNBX0FMR19SU0FfUEtDUzFWMTVfU0lHTihQU0FfQUxHX0FOWV9IQVNIKTpQU0FfQUxHX05PTkU6UFNBX0tFWV9VU0FHRV9ERVJJVkU6TUJFRFRMU19FUlJfU1NMX0hBTkRTSEFLRV9GQUlMVVJFOjAKIAogSGFuZHNoYWtlLCBzZWxlY3QgRUNESEUtRUNEU0EtV0lUSC1BRVMtMjU2LUNDTSwgbm9uLW9wYXF1ZQotZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19TU0xfSEFWRV9BRVM6TUJFRFRMU19TU0xfSEFWRV9DQ006TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEOiFNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSAorZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19TU0xfSEFWRV9BRVM6TUJFRFRMU19TU0xfSEFWRV9DQ006TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRDohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKIGhhbmRzaGFrZV9jaXBoZXJzdWl0ZV9zZWxlY3Q6IlRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0yNTYtQ0NNIjpNQkVEVExTX1BLX0VDRFNBOiIiOlBTQV9BTEdfTk9ORTpQU0FfQUxHX05PTkU6MDowOk1CRURUTFNfVExTX0VDREhFX0VDRFNBX1dJVEhfQUVTXzI1Nl9DQ00KIAogSGFuZHNoYWtlLCBzZWxlY3QgRUNESEUtRUNEU0EtV0lUSC1BRVMtMjU2LUNDTSwgb3BhcXVlLCBQU0FfQUxHX0FOWV9IQVNICi1kZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1NTTF9IQVZFX0FFUzpNQkVEVExTX1NTTF9IQVZFX0NDTTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQ6TUJFRFRMU19VU0VfUFNBX0NSWVBUTzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKK2RlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfU1NMX0hBVkVfQUVTOk1CRURUTFNfU1NMX0hBVkVfQ0NNOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQ6TUJFRFRMU19VU0VfUFNBX0NSWVBUTzohTUJFRFRMU19BRVNfT05MWV8xMjhfQklUX0tFWV9MRU5HVEgKIGhhbmRzaGFrZV9jaXBoZXJzdWl0ZV9zZWxlY3Q6IlRMUy1FQ0RIRS1FQ0RTQS1XSVRILUFFUy0yNTYtQ0NNIjpNQkVEVExTX1BLX0VDRFNBOiIiOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19OT05FOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjA6TUJFRFRMU19UTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMjU2X0NDTQogCiBIYW5kc2hha2UsIHNlbGVjdCBFQ0RIRS1FQ0RTQS1XSVRILUFFUy0yNTYtQ0NNLCBvcGFxdWUsIFBTQV9BTEdfU0hBXzI1NgotZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19TU0xfSEFWRV9BRVM6TUJFRFRMU19TU0xfSEFWRV9DQ006TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEOk1CRURUTFNfVVNFX1BTQV9DUllQVE86IU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RICitkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1NTTF9IQVZFX0FFUzpNQkVEVExTX1NTTF9IQVZFX0NDTTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEOk1CRURUTFNfVVNFX1BTQV9DUllQVE86IU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RICiBoYW5kc2hha2VfY2lwaGVyc3VpdGVfc2VsZWN0OiJUTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMjU2LUNDTSI6TUJFRFRMU19QS19FQ0RTQToiIjpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfU0hBXzI1Nik6UFNBX0FMR19OT05FOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIOjA6TUJFRFRMU19UTFNfRUNESEVfRUNEU0FfV0lUSF9BRVNfMjU2X0NDTQogCiBIYW5kc2hha2UsIHNlbGVjdCBFQ0RIRS1FQ0RTQS1XSVRILUFFUy0yNTYtQ0NNLCBvcGFxdWUsIGJhZCBhbGcKLWRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfU1NMX0hBVkVfQUVTOk1CRURUTFNfU1NMX0hBVkVfQ0NNOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRDpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPOiFNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSAorZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19TU0xfSEFWRV9BRVM6TUJFRFRMU19TU0xfSEFWRV9DQ006TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESEVfRUNEU0FfRU5BQkxFRDpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPOiFNQkVEVExTX0FFU19PTkxZXzEyOF9CSVRfS0VZX0xFTkdUSAogaGFuZHNoYWtlX2NpcGhlcnN1aXRlX3NlbGVjdDoiVExTLUVDREhFLUVDRFNBLVdJVEgtQUVTLTI1Ni1DQ00iOk1CRURUTFNfUEtfRUNEU0E6IiI6UFNBX0FMR19FQ0RIOlBTQV9BTEdfTk9ORTpQU0FfS0VZX1VTQUdFX1NJR05fSEFTSDpNQkVEVExTX0VSUl9TU0xfSEFORFNIQUtFX0ZBSUxVUkU6MAogCiBIYW5kc2hha2UsIHNlbGVjdCBFQ0RIRS1FQ0RTQS1XSVRILUFFUy0yNTYtQ0NNLCBvcGFxdWUsIGJhZCB1c2FnZQotZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19TU0xfSEFWRV9BRVM6TUJFRFRMU19TU0xfSEFWRV9DQ006TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEOk1CRURUTFNfVVNFX1BTQV9DUllQVE86IU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RICitkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1NTTF9IQVZFX0FFUzpNQkVEVExTX1NTTF9IQVZFX0NDTTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVEOk1CRURUTFNfVVNFX1BTQV9DUllQVE86IU1CRURUTFNfQUVTX09OTFlfMTI4X0JJVF9LRVlfTEVOR1RICiBoYW5kc2hha2VfY2lwaGVyc3VpdGVfc2VsZWN0OiJUTFMtRUNESEUtRUNEU0EtV0lUSC1BRVMtMjU2LUNDTSI6TUJFRFRMU19QS19FQ0RTQToiIjpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfQU5ZX0hBU0gpOlBTQV9BTEdfTk9ORTpQU0FfS0VZX1VTQUdFX0RFUklWRTpNQkVEVExTX0VSUl9TU0xfSEFORFNIQUtFX0ZBSUxVUkU6MAogCiBIYW5kc2hha2UsIHNlbGVjdCBFQ0RILVJTQS1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCwgbm9uLW9wYXF1ZQpAQCAtNTU3LDIzICs1NTcsMjMgQEAKIGhhbmRzaGFrZV9jaXBoZXJzdWl0ZV9zZWxlY3Q6IlRMUy1FQ0RILVJTQS1XSVRILUFFUy0yNTYtQ0JDLVNIQTM4NCI6TUJFRFRMU19QS19FQ0RTQToiIjpQU0FfQUxHX0VDREg6UFNBX0FMR19OT05FOlBTQV9LRVlfVVNBR0VfREVDUllQVDpNQkVEVExTX0VSUl9TU0xfSEFORFNIQUtFX0ZBSUxVUkU6MAogCiBIYW5kc2hha2UsIHNlbGVjdCBFQ0RILUVDRFNBLVdJVEgtQ0FNRUxMSUEtMjU2LUNCQy1TSEEzODQsIG5vbi1vcGFxdWUKLWRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfU1NMX0hBVkVfQ0FNRUxMSUE6TUJFRFRMU19TU0xfSEFWRV9DQkM6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQKK2RlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfU1NMX0hBVkVfQ0FNRUxMSUE6TUJFRFRMU19TU0xfSEFWRV9DQkM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9FQ0RTQV9FTkFCTEVECiBoYW5kc2hha2VfY2lwaGVyc3VpdGVfc2VsZWN0OiJUTFMtRUNESC1FQ0RTQS1XSVRILUNBTUVMTElBLTI1Ni1DQkMtU0hBMzg0IjpNQkVEVExTX1BLX0VDRFNBOiIiOlBTQV9BTEdfTk9ORTpQU0FfQUxHX05PTkU6MDowOk1CRURUTFNfVExTX0VDREhfRUNEU0FfV0lUSF9DQU1FTExJQV8yNTZfQ0JDX1NIQTM4NAogCiBIYW5kc2hha2UsIHNlbGVjdCBFQ0RILUVDRFNBLVdJVEgtQ0FNRUxMSUEtMjU2LUNCQy1TSEEzODQsIG9wYXF1ZSwgUFNBX0FMR19BTllfSEFTSAotZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19TU0xfSEFWRV9DQU1FTExJQTpNQkVEVExTX1NTTF9IQVZFX0NCQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfRUNEU0FfRU5BQkxFRDpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCitkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1NTTF9IQVZFX0NBTUVMTElBOk1CRURUTFNfU1NMX0hBVkVfQ0JDOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfRUNEU0FfRU5BQkxFRDpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBoYW5kc2hha2VfY2lwaGVyc3VpdGVfc2VsZWN0OiJUTFMtRUNESC1FQ0RTQS1XSVRILUNBTUVMTElBLTI1Ni1DQkMtU0hBMzg0IjpNQkVEVExTX1BLX0VDRFNBOiIiOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19FQ0RIOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIfFBTQV9LRVlfVVNBR0VfREVSSVZFOjA6TUJFRFRMU19UTFNfRUNESF9FQ0RTQV9XSVRIX0NBTUVMTElBXzI1Nl9DQkNfU0hBMzg0CiAKIEhhbmRzaGFrZSwgc2VsZWN0IEVDREgtRUNEU0EtV0lUSC1DQU1FTExJQS0yNTYtQ0JDLVNIQTM4NCwgb3BhcXVlLCBQU0FfQUxHX1NIQV8zODQKLWRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfU1NMX0hBVkVfQ0FNRUxMSUE6TUJFRFRMU19TU0xfSEFWRV9DQkM6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQ6TUJFRFRMU19VU0VfUFNBX0NSWVBUTworZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19TU0xfSEFWRV9DQU1FTExJQTpNQkVEVExTX1NTTF9IQVZFX0NCQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIX0VDRFNBX0VOQUJMRUQ6TUJFRFRMU19VU0VfUFNBX0NSWVBUTwogaGFuZHNoYWtlX2NpcGhlcnN1aXRlX3NlbGVjdDoiVExTLUVDREgtRUNEU0EtV0lUSC1DQU1FTExJQS0yNTYtQ0JDLVNIQTM4NCI6TUJFRFRMU19QS19FQ0RTQToiIjpQU0FfQUxHX0VDRFNBKFBTQV9BTEdfU0hBXzM4NCk6UFNBX0FMR19FQ0RIOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIfFBTQV9LRVlfVVNBR0VfREVSSVZFOjA6TUJFRFRMU19UTFNfRUNESF9FQ0RTQV9XSVRIX0NBTUVMTElBXzI1Nl9DQkNfU0hBMzg0CiAKIEhhbmRzaGFrZSwgc2VsZWN0IEVDREgtRUNEU0EtV0lUSC1DQU1FTExJQS0yNTYtQ0JDLVNIQTM4NCwgb3BhcXVlLCBtaXNzaW5nIGFsZwotZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19TU0xfSEFWRV9DQU1FTExJQTpNQkVEVExTX1NTTF9IQVZFX0NCQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfRUNEU0FfRU5BQkxFRDpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCitkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1NTTF9IQVZFX0NBTUVMTElBOk1CRURUTFNfU1NMX0hBVkVfQ0JDOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhfRUNEU0FfRU5BQkxFRDpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCiBoYW5kc2hha2VfY2lwaGVyc3VpdGVfc2VsZWN0OiJUTFMtRUNESC1FQ0RTQS1XSVRILUNBTUVMTElBLTI1Ni1DQkMtU0hBMzg0IjpNQkVEVExTX1BLX0VDRFNBOiIiOlBTQV9BTEdfRUNEU0EoUFNBX0FMR19BTllfSEFTSCk6UFNBX0FMR19OT05FOlBTQV9LRVlfVVNBR0VfU0lHTl9IQVNIfFBTQV9LRVlfVVNBR0VfREVSSVZFOk1CRURUTFNfRVJSX1NTTF9IQU5EU0hBS0VfRkFJTFVSRTowCiAKIEhhbmRzaGFrZSwgc2VsZWN0IEVDREgtRUNEU0EtV0lUSC1DQU1FTExJQS0yNTYtQ0JDLVNIQTM4NCwgb3BhcXVlLCBtaXNzaW5nIHVzYWdlCi1kZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1NTTF9IQVZFX0NBTUVMTElBOk1CRURUTFNfU1NMX0hBVkVfQ0JDOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9FQ0RTQV9FTkFCTEVEOk1CRURUTFNfVVNFX1BTQV9DUllQVE8KK2RlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfU1NMX0hBVkVfQ0FNRUxMSUE6TUJFRFRMU19TU0xfSEFWRV9DQkM6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19LRVlfRVhDSEFOR0VfRUNESF9FQ0RTQV9FTkFCTEVEOk1CRURUTFNfVVNFX1BTQV9DUllQVE8KIGhhbmRzaGFrZV9jaXBoZXJzdWl0ZV9zZWxlY3Q6IlRMUy1FQ0RILUVDRFNBLVdJVEgtQ0FNRUxMSUEtMjU2LUNCQy1TSEEzODQiOk1CRURUTFNfUEtfRUNEU0E6IiI6UFNBX0FMR19FQ0RTQShQU0FfQUxHX0FOWV9IQVNIKTpQU0FfQUxHX0VDREg6UFNBX0tFWV9VU0FHRV9TSUdOX0hBU0g6TUJFRFRMU19FUlJfU1NMX0hBTkRTSEFLRV9GQUlMVVJFOjAKIAogU2VuZGluZyBhcHAgZGF0YSB2aWEgVExTLCBNRkw9NTEyIHdpdGhvdXQgZnJhZ21lbnRhdGlvbgpAQCAtMjg1OCw3ICsyODU4LDcgQEAKICMgLSBBcHAgZGF0YSBwYXlsb2FkOiA3MDY5NmU2NwogIyAtIENvbXBsZXRlIHJlY29yZDogIDE3MDMwMzAwMTVjNzQwNjE1MzVlYjEyZjVmMjVhNzgxOTU3ODc0NzQyYWI3ZmIzMDVkZDUKICMgLSBQYWRkaW5nIHVzZWQ6IE5vICg9PSBncmFudWxhcml0eSAxKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9BRVM6UFNBX1dBTlRfQUxHX0dDTTpQU0FfV0FOVF9BTEdfU0hBXzI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfQUVTOlBTQV9XQU5UX0FMR19HQ006UFNBX1dBTlRfQUxHX1NIQV8yNTYKIHNzbF90bHMxM19yZWNvcmRfcHJvdGVjdGlvbjpNQkVEVExTX1RMUzFfM19BRVNfMTI4X0dDTV9TSEEyNTY6TUJFRFRMU19TU0xfSVNfQ0xJRU5UOjA6MToiMGI2ZDIyYzhmZjY4MDk3ZWE4NzFjNjcyMDczNzczYmYiOiIxYjEzZGQ5ZjhkOGYxNzA5MWQzNGIzNDkiOiI0OTEzNGI5NTMyOGYyNzlmMDE4Mzg2MDU4OWFjNjcwNyI6ImJjNGRkNWY3Yjk4YWNmZjg1NDY2MjYxZCI6IjcwNjk2ZTY3IjoiYzc0MDYxNTM1ZWIxMmY1ZjI1YTc4MTk1Nzg3NDc0MmFiN2ZiMzA1ZGQ1IgogCiBTU0wgVExTIDEuMyBSZWNvcmQgRW5jcnlwdGlvbiwgdGxzMTMudWxmaGVpbS5uZXQgRXhhbXBsZSAjMgpAQCAtMjg2OSw3ICsyODY5LDcgQEAKICMgLSBBcHAgZGF0YSBwYXlsb2FkOiA3MDZmNmU2NwogIyAtIENvbXBsZXRlIHJlY29yZDogIDE3MDMwMzAwMTUzNzBlNWYxNjhhZmE3ZmIxNmI2NjNlY2RmY2EzZGJiODE5MzFhOTBjYTcKICMgLSBQYWRkaW5nIHVzZWQ6IE5vICg9PSBncmFudWxhcml0eSAxKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9BRVM6UFNBX1dBTlRfQUxHX0dDTTpQU0FfV0FOVF9BTEdfU0hBXzI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfQUVTOlBTQV9XQU5UX0FMR19HQ006UFNBX1dBTlRfQUxHX1NIQV8yNTYKIHNzbF90bHMxM19yZWNvcmRfcHJvdGVjdGlvbjpNQkVEVExTX1RMUzFfM19BRVNfMTI4X0dDTV9TSEEyNTY6TUJFRFRMU19TU0xfSVNfU0VSVkVSOjE6MToiMGI2ZDIyYzhmZjY4MDk3ZWE4NzFjNjcyMDczNzczYmYiOiIxYjEzZGQ5ZjhkOGYxNzA5MWQzNGIzNDkiOiI0OTEzNGI5NTMyOGYyNzlmMDE4Mzg2MDU4OWFjNjcwNyI6ImJjNGRkNWY3Yjk4YWNmZjg1NDY2MjYxZCI6IjcwNmY2ZTY3IjoiMzcwZTVmMTY4YWZhN2ZiMTZiNjYzZWNkZmNhM2RiYjgxOTMxYTkwY2E3IgogCiBTU0wgVExTIDEuMyBSZWNvcmQgRW5jcnlwdGlvbiBSRkMgODQ0OCBFeGFtcGxlICMxCkBAIC0yODg4LDcgKzI4ODgsNyBAQAogIyAgICAgICAgICAgICAgICAgICAgIDYyIDk3IDRlIDFmIDVhIDYyIDkyIGEyIDk3IDcwIDE0IGJkIDFlIDNkIGVhIGU2CiAjICAgICAgICAgICAgICAgICAgICAgM2EgZWUgYmIgMjEgNjkgNDkgMTUgZTQKICMgLSBQYWRkaW5nIHVzZWQ6IE5vICg9PSBncmFudWxhcml0eSAxKQotZGVwZW5kc19vbjpQU0FfV0FOVF9LRVlfVFlQRV9BRVM6UFNBX1dBTlRfQUxHX0dDTTpQU0FfV0FOVF9BTEdfU0hBXzI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfS0VZX0VYQ0hBTkdFX0VDREhFX0VDRFNBX0VOQUJMRUQKK2RlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfQUVTOlBTQV9XQU5UX0FMR19HQ006UFNBX1dBTlRfQUxHX1NIQV8yNTYKIHNzbF90bHMxM19yZWNvcmRfcHJvdGVjdGlvbjpNQkVEVExTX1RMUzFfM19BRVNfMTI4X0dDTV9TSEEyNTY6TUJFRFRMU19TU0xfSVNfQ0xJRU5UOjA6MToiOWYwMjI4M2I2YzljMDdlZmMyNmJiOWYyYWM5MmUzNTYiOiJjZjc4MmI4OGRkODM1NDlhYWRmMWU5ODQiOiIxNzQyMmRkYTU5NmVkNWQ5YWNkODkwZTNjNjNmNTA1MSI6IjViNzg5MjNkZWUwODU3OTAzM2U1MjNkOSI6IjAwMDEwMjAzMDQwNTA2MDcwODA5MGEwYjBjMGQwZTBmMTAxMTEyMTMxNDE1MTYxNzE4MTkxYTFiMWMxZDFlMWYyMDIxMjIyMzI0MjUyNjI3MjgyOTJhMmIyYzJkMmUyZjMwMzEiOiJhMjNmNzA1NGI2MmM5NGQwYWZmYWZlODIyOGJhNTVjYmVmYWNlYTQyZjkxNGFhNjZiY2FiM2YyYjk4MTlhOGE1YjQ2YjM5NWJkNTRhOWEyMDQ0MWUyYjYyOTc0ZTFmNWE2MjkyYTI5NzcwMTRiZDFlM2RlYWU2M2FlZWJiMjE2OTQ5MTVlNCIKIAogU1NMIFRMUyAxLjMgUmVjb3JkIEVuY3J5cHRpb24gUkZDIDg0NDggRXhhbXBsZSAjMgpAQCAtMjkwNyw3ICsyOTA3LDcgQEAKICMgICAgICAgICAgICAgICAgICAgICBmYyBjNCA5YyA0YiBmMiBlNSBmMCBhMiAxYyAwMCA0NyBjMiBhYiBmMyAzMiA1NAogIyAgICAgICAgICAgICAgICAgICAgIDBkIGQwIDMyIGUxIDY3IGMyIDk1IDVkCiAjIC0gUGFkZGluZyB1c2VkOiBObyAoPT0gZ3JhbnVsYXJpdHkgMSkKLWRlcGVuZHNfb246UFNBX1dBTlRfS0VZX1RZUEVfQUVTOlBTQV9XQU5UX0FMR19HQ006UFNBX1dBTlRfQUxHX1NIQV8yNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0tFWV9FWENIQU5HRV9FQ0RIRV9FQ0RTQV9FTkFCTEVECitkZXBlbmRzX29uOlBTQV9XQU5UX0tFWV9UWVBFX0FFUzpQU0FfV0FOVF9BTEdfR0NNOlBTQV9XQU5UX0FMR19TSEFfMjU2CiBzc2xfdGxzMTNfcmVjb3JkX3Byb3RlY3Rpb246TUJFRFRMU19UTFMxXzNfQUVTXzEyOF9HQ01fU0hBMjU2Ok1CRURUTFNfU1NMX0lTX1NFUlZFUjoxOjE6IjlmMDIyODNiNmM5YzA3ZWZjMjZiYjlmMmFjOTJlMzU2IjoiY2Y3ODJiODhkZDgzNTQ5YWFkZjFlOTg0IjoiMTc0MjJkZGE1OTZlZDVkOWFjZDg5MGUzYzYzZjUwNTEiOiI1Yjc4OTIzZGVlMDg1NzkwMzNlNTIzZDkiOiIwMDAxMDIwMzA0MDUwNjA3MDgwOTBhMGIwYzBkMGUwZjEwMTExMjEzMTQxNTE2MTcxODE5MWExYjFjMWQxZTFmMjAyMTIyMjMyNDI1MjYyNzI4MjkyYTJiMmMyZDJlMmYzMDMxIjoiMmU5MzdlMTFlZjRhYzc0MGU1MzhhZDM2MDA1ZmM0YTQ2OTMyZmMzMjI1ZDA1ZjgyYWExYjM2ZTMwZWZhZjk3ZDkwZTZkZmZjNjAyZGNiNTAxYTU5YThmY2M0OWM0YmYyZTVmMGEyMWMwMDQ3YzJhYmYzMzI1NDBkZDAzMmUxNjdjMjk1NWQiCiAKIFNTTCBUTFMgMS4zIEtleSBzY2hlZHVsZTogQXBwbGljYXRpb24gc2VjcmV0cyBkZXJpdmF0aW9uIGhlbHBlcgpAQCAtMjk2MCwxNSArMjk2MCwxNSBAQAogCiBTZXNzaW9uIHNlcmlhbGl6YXRpb24sIHNhdmUtbG9hZDogbm8gdGlja2V0LCBjZXJ0CiBkZXBlbmRzX29uOk1CRURUTFNfWDUwOV9VU0VfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRlNfSU86TUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCi1zc2xfc2VyaWFsaXplX3Nlc3Npb25fc2F2ZV9sb2FkOjA6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKK3NzbF9zZXJpYWxpemVfc2Vzc2lvbl9zYXZlX2xvYWQ6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKIAogU2Vzc2lvbiBzZXJpYWxpemF0aW9uLCBzYXZlLWxvYWQ6IHNtYWxsIHRpY2tldCwgY2VydAogZGVwZW5kc19vbjpNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFM6TUJFRFRMU19TU0xfQ0xJX0M6TUJFRFRMU19YNTA5X1VTRV9DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19GU19JTzpNQkVEVExTX1NTTF9QUk9UT19UTFMxXzIKLXNzbF9zZXJpYWxpemVfc2Vzc2lvbl9zYXZlX2xvYWQ6NDI6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKK3NzbF9zZXJpYWxpemVfc2Vzc2lvbl9zYXZlX2xvYWQ6NDI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCiAKIFNlc3Npb24gc2VyaWFsaXphdGlvbiwgc2F2ZS1sb2FkOiBsYXJnZSB0aWNrZXQsIGNlcnQKIGRlcGVuZHNfb246TUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTOk1CRURUTFNfU1NMX0NMSV9DOk1CRURUTFNfWDUwOV9VU0VfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRlNfSU86TUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCi1zc2xfc2VyaWFsaXplX3Nlc3Npb25fc2F2ZV9sb2FkOjEwMjM6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKK3NzbF9zZXJpYWxpemVfc2Vzc2lvbl9zYXZlX2xvYWQ6MTAyMzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKIAogVExTIDEuMzogQ0xJOiBTZXNzaW9uIHNlcmlhbGl6YXRpb24sIHNhdmUtbG9hZDogbm8gdGlja2V0CiBkZXBlbmRzX29uOk1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUzpNQkVEVExTX1NTTF9DTElfQzpNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKQEAgLTMwMDAsMTUgKzMwMDAsMTUgQEAKIAogU2Vzc2lvbiBzZXJpYWxpemF0aW9uLCBsb2FkLXNhdmU6IG5vIHRpY2tldCwgY2VydAogZGVwZW5kc19vbjpNQkVEVExTX1g1MDlfVVNFX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0ZTX0lPOk1CRURUTFNfU1NMX1BST1RPX1RMUzFfMgotc3NsX3NlcmlhbGl6ZV9zZXNzaW9uX2xvYWRfc2F2ZTowOiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCitzc2xfc2VyaWFsaXplX3Nlc3Npb25fbG9hZF9zYXZlOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCiAKIFNlc3Npb24gc2VyaWFsaXphdGlvbiwgbG9hZC1zYXZlOiBzbWFsbCB0aWNrZXQsIGNlcnQKIGRlcGVuZHNfb246TUJFRFRMU19TU0xfUFJPVE9fVExTMV8yOk1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUzpNQkVEVExTX1NTTF9DTElfQzpNQkVEVExTX1g1MDlfVVNFX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0ZTX0lPCi1zc2xfc2VyaWFsaXplX3Nlc3Npb25fbG9hZF9zYXZlOjQyOiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCitzc2xfc2VyaWFsaXplX3Nlc3Npb25fbG9hZF9zYXZlOjQyOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6MDpNQkVEVExTX1NTTF9WRVJTSU9OX1RMUzFfMgogCiBTZXNzaW9uIHNlcmlhbGl6YXRpb24sIGxvYWQtc2F2ZTogbGFyZ2UgdGlja2V0LCBjZXJ0CiBkZXBlbmRzX29uOk1CRURUTFNfU1NMX1BST1RPX1RMUzFfMjpNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFM6TUJFRFRMU19TU0xfQ0xJX0M6TUJFRFRMU19YNTA5X1VTRV9DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19GU19JTwotc3NsX3NlcmlhbGl6ZV9zZXNzaW9uX2xvYWRfc2F2ZToxMDIzOiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCitzc2xfc2VyaWFsaXplX3Nlc3Npb25fbG9hZF9zYXZlOjEwMjM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCiAKIFRMUyAxLjM6IENMSTogU2Vzc2lvbiBzZXJpYWxpemF0aW9uLCBsb2FkLXNhdmU6IG5vIHRpY2tldAogZGVwZW5kc19vbjpNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFM6TUJFRFRMU19TU0xfQ0xJX0M6TUJFRFRMU19TU0xfUFJPVE9fVExTMV8zCkBAIC0zMDQwLDE1ICszMDQwLDE1IEBACiAKIFNlc3Npb24gc2VyaWFsaXphdGlvbiwgc2F2ZSBidWZmZXIgc2l6ZTogbm8gdGlja2V0LCBjZXJ0CiBkZXBlbmRzX29uOk1CRURUTFNfWDUwOV9VU0VfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRlNfSU86TUJFRFRMU19TU0xfUFJPVE9fVExTMV8yCi1zc2xfc2VyaWFsaXplX3Nlc3Npb25fc2F2ZV9idWZfc2l6ZTowOiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCitzc2xfc2VyaWFsaXplX3Nlc3Npb25fc2F2ZV9idWZfc2l6ZTowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6MDpNQkVEVExTX1NTTF9WRVJTSU9OX1RMUzFfMgogCiBTZXNzaW9uIHNlcmlhbGl6YXRpb24sIHNhdmUgYnVmZmVyIHNpemU6IHNtYWxsIHRpY2tldCwgY2VydAogZGVwZW5kc19vbjpNQkVEVExTX1NTTF9QUk9UT19UTFMxXzI6TUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTOk1CRURUTFNfU1NMX0NMSV9DOk1CRURUTFNfWDUwOV9VU0VfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRlNfSU8KLXNzbF9zZXJpYWxpemVfc2Vzc2lvbl9zYXZlX2J1Zl9zaXplOjQyOiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCitzc2xfc2VyaWFsaXplX3Nlc3Npb25fc2F2ZV9idWZfc2l6ZTo0MjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKIAogU2Vzc2lvbiBzZXJpYWxpemF0aW9uLCBzYXZlIGJ1ZmZlciBzaXplOiBsYXJnZSB0aWNrZXQsIGNlcnQKIGRlcGVuZHNfb246TUJFRFRMU19TU0xfUFJPVE9fVExTMV8yOk1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUzpNQkVEVExTX1NTTF9DTElfQzpNQkVEVExTX1g1MDlfVVNFX0M6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0ZTX0lPCi1zc2xfc2VyaWFsaXplX3Nlc3Npb25fc2F2ZV9idWZfc2l6ZToxMDIzOiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCitzc2xfc2VyaWFsaXplX3Nlc3Npb25fc2F2ZV9idWZfc2l6ZToxMDIzOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6MDpNQkVEVExTX1NTTF9WRVJTSU9OX1RMUzFfMgogCiBUTFMgMS4zOiBDTEk6IFNlc3Npb24gc2VyaWFsaXphdGlvbiwgc2F2ZSBidWZmZXIgc2l6ZTogbm8gdGlja2V0CiBkZXBlbmRzX29uOk1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUzpNQkVEVExTX1NTTF9DTElfQzpNQkVEVExTX1NTTF9QUk9UT19UTFMxXzMKQEAgLTMwODAsMTUgKzMwODAsMTUgQEAKIAogU2Vzc2lvbiBzZXJpYWxpemF0aW9uLCBsb2FkIGJ1ZmZlciBzaXplOiBubyB0aWNrZXQsIGNlcnQKIGRlcGVuZHNfb246TUJFRFRMU19TU0xfUFJPVE9fVExTMV8yOk1CRURUTFNfWDUwOV9VU0VfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRlNfSU8KLXNzbF9zZXJpYWxpemVfc2Vzc2lvbl9sb2FkX2J1Zl9zaXplOjA6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKK3NzbF9zZXJpYWxpemVfc2Vzc2lvbl9sb2FkX2J1Zl9zaXplOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCiAKIFNlc3Npb24gc2VyaWFsaXphdGlvbiwgbG9hZCBidWZmZXIgc2l6ZTogc21hbGwgdGlja2V0LCBjZXJ0CiBkZXBlbmRzX29uOk1CRURUTFNfU1NMX1BST1RPX1RMUzFfMjpNQkVEVExTX1NTTF9TRVNTSU9OX1RJQ0tFVFM6TUJFRFRMU19TU0xfQ0xJX0M6TUJFRFRMU19YNTA5X1VTRV9DOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19GU19JTwotc3NsX3NlcmlhbGl6ZV9zZXNzaW9uX2xvYWRfYnVmX3NpemU6NDI6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKK3NzbF9zZXJpYWxpemVfc2Vzc2lvbl9sb2FkX2J1Zl9zaXplOjQyOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6MDpNQkVEVExTX1NTTF9WRVJTSU9OX1RMUzFfMgogCiBTZXNzaW9uIHNlcmlhbGl6YXRpb24sIGxvYWQgYnVmZmVyIHNpemU6IGxhcmdlIHRpY2tldCwgY2VydAogZGVwZW5kc19vbjpNQkVEVExTX1NTTF9QUk9UT19UTFMxXzI6TUJFRFRMU19TU0xfU0VTU0lPTl9USUNLRVRTOk1CRURUTFNfU1NMX0NMSV9DOk1CRURUTFNfWDUwOV9VU0VfQzpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRlNfSU8KLXNzbF9zZXJpYWxpemVfc2Vzc2lvbl9sb2FkX2J1Zl9zaXplOjEwMjM6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6TUJFRFRMU19TU0xfVkVSU0lPTl9UTFMxXzIKK3NzbF9zZXJpYWxpemVfc2Vzc2lvbl9sb2FkX2J1Zl9zaXplOjEwMjM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjowOk1CRURUTFNfU1NMX1ZFUlNJT05fVExTMV8yCiAKIFRMUyAxLjM6IENMSTogU2Vzc2lvbiBzZXJpYWxpemF0aW9uLCBsb2FkIGJ1ZmZlciBzaXplOiBubyB0aWNrZXQKIGRlcGVuZHNfb246TUJFRFRMU19TU0xfUFJPVE9fVExTMV8zOk1CRURUTFNfU1NMX1NFU1NJT05fVElDS0VUUzpNQkVEVExTX1NTTF9DTElfQwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfc3NsLmZ1bmN0aW9uIGIvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfc3NsLmZ1bmN0aW9uCmluZGV4IDg0MGFmN2QuLmExNmFjNjQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3NzbC5mdW5jdGlvbgorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV9zc2wuZnVuY3Rpb24KQEAgLTE2MjMsMTEgKzE2MjMsMTEgQEAKIAogICAgIHVuc2lnbmVkIGNoYXIgY29uc3QgKmxibCA9IE5VTEw7CiAgICAgc2l6ZV90IGxibF9sZW47Ci0jZGVmaW5lIE1CRURUTFNfU1NMX1RMUzFfM19MQUJFTChuYW1lLCBzdHJpbmcpICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaWYgKGxhYmVsX2lkeCA9PSAoaW50KSB0bHMxM19sYWJlbF8gIyMgbmFtZSkgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBNQkVEVExTX1NTTF9UTFMxXzNfTEFCRUwobmFtZSwgc3RyaW5nKSAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKGxhYmVsX2lkeCA9PSAoaW50KSB0bHMxM19sYWJlbF8gIyMgbmFtZSkgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBsYmwgPSBtYmVkdGxzX3NzbF90bHMxM19sYWJlbHMubmFtZTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGxibF9sZW4gPSBzaXplb2YobWJlZHRsc19zc2xfdGxzMTNfbGFiZWxzLm5hbWUpOyAgICAgICAgICAgICBcCisgICAgICAgIGxibF9sZW4gPSBzaXplb2YobWJlZHRsc19zc2xfdGxzMTNfbGFiZWxzLm5hbWUpOyAgICAgICAgICAgICAgIFwKICAgICB9CiAgICAgTUJFRFRMU19TU0xfVExTMV8zX0xBQkVMX0xJU1QKICN1bmRlZiBNQkVEVExTX1NTTF9UTFMxXzNfTEFCRUwKQEAgLTE2NjcsNyArMTY2Nyw3IEBACiAgICAgLyogRG91YmxlLWNoZWNrIHRoYXQgd2UndmUgcGFzc2VkIHNhbmUgcGFyYW1ldGVycy4gKi8KICAgICBwc2FfYWxnb3JpdGhtX3QgYWxnID0gKHBzYV9hbGdvcml0aG1fdCkgaGFzaF9hbGc7CiAgICAgc2l6ZV90IGNvbnN0IGhhc2hfbGVuID0gUFNBX0hBU0hfTEVOR1RIKGFsZyk7Ci0gICAgVEVTVF9BU1NFUlQoUFNBX0FMR19JU19IQVNIKGFsZykgICAgICAgICAgICAgJiYKKyAgICBURVNUX0FTU0VSVChQU0FfQUxHX0lTX0hBU0goYWxnKSAgICAgICAgICAgICAgICYmCiAgICAgICAgICAgICAgICAgc2VjcmV0LT5sZW4gPT0gaGFzaF9sZW4gICAgICAgICAgICAmJgogICAgICAgICAgICAgICAgIHRyYW5zY3JpcHQtPmxlbiA9PSBoYXNoX2xlbiAgICAgICAgJiYKICAgICAgICAgICAgICAgICB0cmFmZmljX2V4cGVjdGVkLT5sZW4gPT0gaGFzaF9sZW4gICYmCkBAIC0xNzAxLDcgKzE3MDEsNyBAQAogICAgIC8qIERvdWJsZS1jaGVjayB0aGF0IHdlJ3ZlIHBhc3NlZCBzYW5lIHBhcmFtZXRlcnMuICovCiAgICAgcHNhX2FsZ29yaXRobV90IGFsZyA9IChwc2FfYWxnb3JpdGhtX3QpIGhhc2hfYWxnOwogICAgIHNpemVfdCBjb25zdCBoYXNoX2xlbiA9IFBTQV9IQVNIX0xFTkdUSChhbGcpOwotICAgIFRFU1RfQVNTRVJUKFBTQV9BTEdfSVNfSEFTSChhbGcpICAgICAgICAgICAgJiYKKyAgICBURVNUX0FTU0VSVChQU0FfQUxHX0lTX0hBU0goYWxnKSAgICAgICAgICAgICAgJiYKICAgICAgICAgICAgICAgICBzZWNyZXQtPmxlbiA9PSBoYXNoX2xlbiAgICAgICAgICAgJiYKICAgICAgICAgICAgICAgICB0cmFuc2NyaXB0LT5sZW4gPT0gaGFzaF9sZW4gICAgICAgJiYKICAgICAgICAgICAgICAgICBjbGllbnRfZXhwZWN0ZWQtPmxlbiA9PSBoYXNoX2xlbiAgJiYKQEAgLTE3MzYsNyArMTczNiw3IEBACiAgICAgLyogRG91YmxlLWNoZWNrIHRoYXQgd2UndmUgcGFzc2VkIHNhbmUgcGFyYW1ldGVycy4gKi8KICAgICBwc2FfYWxnb3JpdGhtX3QgYWxnID0gKHBzYV9hbGdvcml0aG1fdCkgaGFzaF9hbGc7CiAgICAgc2l6ZV90IGNvbnN0IGhhc2hfbGVuID0gUFNBX0hBU0hfTEVOR1RIKGFsZyk7Ci0gICAgVEVTVF9BU1NFUlQoUFNBX0FMR19JU19IQVNIKGFsZykgICAgICAgICAgICAmJgorICAgIFRFU1RfQVNTRVJUKFBTQV9BTEdfSVNfSEFTSChhbGcpICAgICAgICAgICAgICAmJgogICAgICAgICAgICAgICAgIHNlY3JldC0+bGVuID09IGhhc2hfbGVuICAgICAgICAgICAmJgogICAgICAgICAgICAgICAgIHRyYW5zY3JpcHQtPmxlbiA9PSBoYXNoX2xlbiAgICAgICAmJgogICAgICAgICAgICAgICAgIGNsaWVudF9leHBlY3RlZC0+bGVuID09IGhhc2hfbGVuICAmJgpAQCAtMTc3Miw3ICsxNzcyLDcgQEAKICAgICAvKiBEb3VibGUtY2hlY2sgdGhhdCB3ZSd2ZSBwYXNzZWQgc2FuZSBwYXJhbWV0ZXJzLiAqLwogICAgIHBzYV9hbGdvcml0aG1fdCBhbGcgPSAocHNhX2FsZ29yaXRobV90KSBoYXNoX2FsZzsKICAgICBzaXplX3QgY29uc3QgaGFzaF9sZW4gPSBQU0FfSEFTSF9MRU5HVEgoYWxnKTsKLSAgICBURVNUX0FTU0VSVChQU0FfQUxHX0lTX0hBU0goYWxnKSAgICAgICAgICAgICAgJiYKKyAgICBURVNUX0FTU0VSVChQU0FfQUxHX0lTX0hBU0goYWxnKSAgICAgICAgICAgICAgICAmJgogICAgICAgICAgICAgICAgIHNlY3JldC0+bGVuID09IGhhc2hfbGVuICAgICAgICAgICAgICYmCiAgICAgICAgICAgICAgICAgdHJhbnNjcmlwdC0+bGVuID09IGhhc2hfbGVuICAgICAgICAgJiYKICAgICAgICAgICAgICAgICByZXN1bXB0aW9uX2V4cGVjdGVkLT5sZW4gPT0gaGFzaF9sZW4pOwpAQCAtMTgwMyw3ICsxODAzLDcgQEAKICAgICAvKiBEb3VibGUtY2hlY2sgdGhhdCB3ZSd2ZSBwYXNzZWQgc2FuZSBwYXJhbWV0ZXJzLiAqLwogICAgIHBzYV9hbGdvcml0aG1fdCBhbGcgPSAocHNhX2FsZ29yaXRobV90KSBoYXNoX2FsZzsKICAgICBzaXplX3QgY29uc3QgaGFzaF9sZW4gPSBQU0FfSEFTSF9MRU5HVEgoYWxnKTsKLSAgICBURVNUX0FTU0VSVChQU0FfQUxHX0lTX0hBU0goYWxnKSAgICAgICAgICAmJgorICAgIFRFU1RfQVNTRVJUKFBTQV9BTEdfSVNfSEFTSChhbGcpICAgICAgICAgICAgJiYKICAgICAgICAgICAgICAgICB0cmFuc2NyaXB0LT5sZW4gPT0gaGFzaF9sZW4gICAgICYmCiAgICAgICAgICAgICAgICAgYmluZGVyX2V4cGVjdGVkLT5sZW4gPT0gaGFzaF9sZW4pOwogCkBAIC0zMjk3LDcgKzMyOTcsNyBAQAogfQogLyogRU5EX0NBU0UgKi8KIAotLyogQkVHSU5fQ0FTRSBkZXBlbmRzX29uOk1CRURUTFNfU1NMX0hBTkRTSEFLRV9XSVRIX0NFUlRfRU5BQkxFRDpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfU1NMX1BST1RPX1RMUzFfMjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUUgKi8KKy8qIEJFR0lOX0NBU0UgZGVwZW5kc19vbjpNQkVEVExTX1NTTF9IQU5EU0hBS0VfV0lUSF9DRVJUX0VOQUJMRUQ6TUJFRFRMU19VU0VfUFNBX0NSWVBUTzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1NTTF9QUk9UT19UTFMxXzI6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOICovCiB2b2lkIHJhd19rZXlfYWdyZWVtZW50X2ZhaWwoaW50IGJhZF9zZXJ2ZXJfZWNkaGVfa2V5KQogewogICAgIGVudW0geyBCVUZGU0laRSA9IDE3MDAwIH07CmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV92ZXJzaW9uLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV92ZXJzaW9uLmRhdGEKaW5kZXggMGVkZWU5Ni4uY2M3MWE0ZSAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfdmVyc2lvbi5kYXRhCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3ZlcnNpb24uZGF0YQpAQCAtMSw4ICsxLDggQEAKIENoZWNrIGNvbXBpbGUgdGltZSBsaWJyYXJ5IHZlcnNpb24KLWNoZWNrX2NvbXBpbGV0aW1lX3ZlcnNpb246IjMuNi4wIgorY2hlY2tfY29tcGlsZXRpbWVfdmVyc2lvbjoiMy42LjIiCiAKIENoZWNrIHJ1bnRpbWUgbGlicmFyeSB2ZXJzaW9uCi1jaGVja19ydW50aW1lX3ZlcnNpb246IjMuNi4wIgorY2hlY2tfcnVudGltZV92ZXJzaW9uOiIzLjYuMiIKIAogQ2hlY2sgZm9yIE1CRURUTFNfVkVSU0lPTl9DCiBjaGVja19mZWF0dXJlOiJNQkVEVExTX1ZFUlNJT05fQyI6MApkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfeDUwOXBhcnNlLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5cGFyc2UuZGF0YQppbmRleCA4OWQ0NTc4Li42NThiNGY2IDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5cGFyc2UuZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5cGFyc2UuZGF0YQpAQCAtMSw0MTAgKzEsNDEwIEBACiBYNTA5IENSVCBpbmZvcm1hdGlvbiAjMQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwMVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwMVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uICMxIChERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDFcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAyLTEwIDE0XDo0NFw6MDZcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDItMTAgMTRcOjQ0XDowNlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBMVxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEuY3J0LmRlciI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAxXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gIzIKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjIuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDJcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIyLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAyXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3Rcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uICMyIChERVIpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMi5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDJcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIyLmNydC5kZXIiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwMlxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAyLTEwIDE0XDo0NFw6MDZcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDItMTAgMTRcOjQ0XDowNlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBMVxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgogCiBYNTA5IENSVCBpbmZvcm1hdGlvbiAjMwogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwM1xuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjAwXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDBcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9dHJ1ZVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDNcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0Fcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowMFxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjAwXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gIzMgKERFUikKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLmNydC5kZXIiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwM1xuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjAwXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDBcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9dHJ1ZVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EuY3J0LmRlciI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAzXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAyLTEwIDE0XDo0NFw6MDBcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDItMTAgMTRcOjQ0XDowMFxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBMVxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIE1ENSBEaWdlc3QKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX01ENQoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9tZDUuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDZcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgTUQ1XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDAwLTAxLTAxIDEyXDoxMlw6MTJcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMzAtMDEtMDEgMTJcOjEyXDoxMlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggTUQ1XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9tZDUuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDZcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgTUQ1XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDAwLTAxLTAxIDEyXDoxMlw6MTJcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMzAtMDEtMDEgMTJcOjEyXDoxMlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggTUQ1XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIFNIQTEgRGlnZXN0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTEuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDdcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBMVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTEuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDdcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBMVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gU0hBMjI0IERpZ2VzdAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTIyNC5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwOFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgQ2VydCBTSEEyMjRcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjI0XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9zaGEyMjQuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDhcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBMjI0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAyLTEwIDE0XDo0NFw6MDZcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDItMTAgMTRcOjQ0XDowNlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBLTIyNFxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgogCiBYNTA5IENSVCBpbmZvcm1hdGlvbiBTSEEyNTYgRGlnZXN0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfc2hhMjU2LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDA5XG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBDZXJ0IFNIQTI1NlxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQS0yNTZcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTI1Ni5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwOVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgQ2VydCBTSEEyNTZcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIFNIQTM4NCBEaWdlc3QKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTM4NAoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9zaGEzODQuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMEFcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBMzg0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAyLTEwIDE0XDo0NFw6MDZcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDItMTAgMTRcOjQ0XDowNlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBLTM4NFxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NlcnRfc2hhMzg0LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDBBXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBDZXJ0IFNIQTM4NFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQS0zODRcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gU0hBNTEyIERpZ2VzdAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyCi14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X3NoYTUxMi5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwQlxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgQ2VydCBTSEE1MTJcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtNTEyXG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9zaGE1MTIuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMEJcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIENlcnQgU0hBNTEyXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAyLTEwIDE0XDo0NFw6MDZcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDItMTAgMTRcOjQ0XDowNlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBLTUxMlxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgogCiBYNTA5IENSVCBpbmZvcm1hdGlvbiBSU0EtUFNTLCBTSEExIERpZ2VzdAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxNlxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDozOFw6MTZcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjM4XDoxNlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBMSwgTUdGMS1TSEExLCAweEVBKVxuUlNBIGtleSBzaXplICAgICAgXDogMTAyNCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMTZcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxNC0wMS0yMCAxM1w6MzhcOjE2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI0LTAxLTE4IDEzXDozOFw6MTZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQVNTQS1QU1MgKFNIQTEsIE1HRjEtU0hBMSwgMHhFQSlcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gUlNBLVBTUywgU0hBMjI0IERpZ2VzdAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTIyNC5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxN1xuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDo1N1w6MzZcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjU3XDozNlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBMjI0LCBNR0YxLVNIQTIyNCwgMHhFMilcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTIyNC5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxN1xuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDo1N1w6MzZcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjU3XDozNlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBMjI0LCBNR0YxLVNIQTIyNCwgMHhFMilcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gUlNBLVBTUywgU0hBMjU2IERpZ2VzdAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTI1Ni5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxOFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDo1N1w6NDVcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjU3XDo0NVxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBMjU2LCBNR0YxLVNIQTI1NiwgMHhERSlcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTI1Ni5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxOFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDo1N1w6NDVcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjU3XDo0NVxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBMjU2LCBNR0YxLVNIQTI1NiwgMHhERSlcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gUlNBLVBTUywgU0hBMzg0IERpZ2VzdAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTM4NC5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxOVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDo1N1w6NThcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjU3XDo1OFxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBMzg0LCBNR0YxLVNIQTM4NCwgMHhDRSlcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTM4NC5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxOVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDo1N1w6NThcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjU3XDo1OFxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBMzg0LCBNR0YxLVNIQTM4NCwgMHhDRSlcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gUlNBLVBTUywgU0hBNTEyIERpZ2VzdAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBNTEyCi14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTUxMi5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxQVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDo1OFw6MTJcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjU4XDoxMlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBNTEyLCBNR0YxLVNIQTUxMiwgMHhCRSlcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI5LXNoYTUxMi5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxQVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE0LTAxLTIwIDEzXDo1OFw6MTJcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjQtMDEtMTggMTNcOjU4XDoxMlxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBU1NBLVBTUyAoU0hBNTEyLCBNR0YxLVNIQTUxMiwgMHhCRSlcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gRUMsIFNIQTEgRGlnZXN0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXNoYTEuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMTJcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxMy0wOS0yNCAxNlw6MjFcOjI3XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDIzLTA5LTIyIDE2XDoyMVw6MjdcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMVxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGExLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDEyXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3Rcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTMtMDktMjQgMTZcOjIxXDoyN1xuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyMy0wOS0yMiAxNlw6MjFcOjI3XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTFcbkVDIGtleSBzaXplICAgICAgIFw6IDI1NiBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgogCiBYNTA5IENSVCBpbmZvcm1hdGlvbiBFQywgU0hBMjI0IERpZ2VzdAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXNoYTIyNC5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxM1xuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDEzLTA5LTI0IDE2XDoyMVw6MjdcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjMtMDktMjIgMTZcOjIxXDoyN1xuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyMjRcbkVDIGtleSBzaXplICAgICAgIFw6IDI1NiBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtc2hhMjI0LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDEzXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3Rcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTMtMDktMjQgMTZcOjIxXDoyN1xuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyMy0wOS0yMiAxNlw6MjFcOjI3XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTIyNFxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIEVDLCBTSEEyNTYgRGlnZXN0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDlcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxMy0wOS0yNCAxNVw6NTJcOjA0XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDIzLTA5LTIyIDE1XDo1Mlw6MDRcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMjU2XG5FQyBrZXkgc2l6ZSAgICAgICBcOiAyNTYgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDA5XG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3Rcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTMtMDktMjQgMTVcOjUyXDowNFxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyMy0wOS0yMiAxNVw6NTJcOjA0XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIEVDLCBTSEEzODQgRGlnZXN0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEzODQKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtc2hhMzg0LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDE0XG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3Rcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTMtMDktMjQgMTZcOjIxXDoyN1xuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyMy0wOS0yMiAxNlw6MjFcOjI3XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTM4NFxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGEzODQuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMTRcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxMy0wOS0yNCAxNlw6MjFcOjI3XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDIzLTA5LTIyIDE2XDoyMVw6MjdcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMzg0XG5FQyBrZXkgc2l6ZSAgICAgICBcOiAyNTYgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gRUMsIFNIQTUxMiBEaWdlc3QKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTUxMgoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1zaGE1MTIuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMTVcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxMy0wOS0yNCAxNlw6MjFcOjI3XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDIzLTA5LTIyIDE2XDoyMVw6MjdcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBNTEyXG5FQyBrZXkgc2l6ZSAgICAgICBcOiAyNTYgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXNoYTUxMi5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAxNVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDEzLTA5LTI0IDE2XDoyMVw6MjdcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjMtMDktMjIgMTZcOjIxXDoyN1xuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEE1MTJcbkVDIGtleSBzaXplICAgICAgIFw6IDI1NiBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgogCiBYNTA5IENSVCBpbmZvcm1hdGlvbiBFQywgU0hBMjU2IERpZ2VzdCwgaGFyZHdhcmUgbW9kdWxlIG5hbWUgU0FOCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LW90aGVybmFtZS5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogNERcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIG90aGVybmFtZSBTQU5cbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIG90aGVybmFtZSBTQU5cbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMjMtMDYtMjAgMDlcOjA0XDo0M1xuZXhwaXJlcyBvbiAgICAgICAgXDogMjAzMy0wNi0xNyAwOVw6MDRcOjQzXG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbnN1YmplY3QgYWx0IG5hbWUgIFw6XG4gICAgb3RoZXJOYW1lIFw6XG4gICAgICAgIGhhcmR3YXJlIG1vZHVsZSBuYW1lIFw6XG4gICAgICAgICAgICBoYXJkd2FyZSB0eXBlICAgICAgICAgIFw6IDEuMy42LjEuNC4xLjE3LjNcbiAgICAgICAgICAgIGhhcmR3YXJlIHNlcmlhbCBudW1iZXIgXDogMzEzMjMzMzQzNTM2XG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1vdGhlcm5hbWUuY3J0LmRlciI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDREXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBvdGhlcm5hbWUgU0FOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBvdGhlcm5hbWUgU0FOXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDIzLTA2LTIwIDA5XDowNFw6NDNcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMzMtMDYtMTcgMDlcOjA0XDo0M1xuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDI1NiBiaXRzXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIG90aGVyTmFtZSBcOlxuICAgICAgICBoYXJkd2FyZSBtb2R1bGUgbmFtZSBcOlxuICAgICAgICAgICAgaGFyZHdhcmUgdHlwZSAgICAgICAgICBcOiAxLjMuNi4xLjQuMS4xNy4zXG4gICAgICAgICAgICBoYXJkd2FyZSBzZXJpYWwgbnVtYmVyIFw6IDMxMzIzMzM0MzUzNlxuIgogCiBYNTA5IENSVCBpbmZvcm1hdGlvbiBFQywgU0hBMjU2IERpZ2VzdCwgYmluYXJ5IGhhcmR3YXJlIG1vZHVsZSBuYW1lIFNBTgogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1ub25wcmludGFibGVfb3RoZXJuYW1lLmNydC5kZXIiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiA0RFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgbm9uLXByaW50YWJsZSBvdGhlcm5hbWUgU0FOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBub24tcHJpbnRhYmxlIG90aGVybmFtZSBTQU5cbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMjMtMDYtMjAgMDlcOjQ5XDoyMFxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAzMy0wNi0xNyAwOVw6NDlcOjIwXG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbnN1YmplY3QgYWx0IG5hbWUgIFw6XG4gICAgb3RoZXJOYW1lIFw6XG4gICAgICAgIGhhcmR3YXJlIG1vZHVsZSBuYW1lIFw6XG4gICAgICAgICAgICBoYXJkd2FyZSB0eXBlICAgICAgICAgIFw6IDEuMy42LjEuNC4xLjE3LjNcbiAgICAgICAgICAgIGhhcmR3YXJlIHNlcmlhbCBudW1iZXIgXDogMzEzMjMzODA4MTAwODE4MDMzMzIzMVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtbm9ucHJpbnRhYmxlX290aGVybmFtZS5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogNERcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIG5vbi1wcmludGFibGUgb3RoZXJuYW1lIFNBTlxuc3ViamVjdCBuYW1lICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgbm9uLXByaW50YWJsZSBvdGhlcm5hbWUgU0FOXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDIzLTA2LTIwIDA5XDo0OVw6MjBcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMzMtMDYtMTcgMDlcOjQ5XDoyMFxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDI1NiBiaXRzXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIG90aGVyTmFtZSBcOlxuICAgICAgICBoYXJkd2FyZSBtb2R1bGUgbmFtZSBcOlxuICAgICAgICAgICAgaGFyZHdhcmUgdHlwZSAgICAgICAgICBcOiAxLjMuNi4xLjQuMS4xNy4zXG4gICAgICAgICAgICBoYXJkd2FyZSBzZXJpYWwgbnVtYmVyIFw6IDMxMzIzMzgwODEwMDgxODAzMzMyMzFcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gRUMsIFNIQTI1NiBEaWdlc3QsIGRpcmVjdG9yeU5hbWUgU0FOCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LWRpcmVjdG9yeW5hbWUuY3J0LmRlciI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDREXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBkaXJlY3RvcnlOYW1lIFNBTlxuc3ViamVjdCBuYW1lICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgZGlyZWN0b3J5TmFtZSBTQU5cbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMjMtMDEtMTAgMTZcOjU5XDoyOVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAzMy0wMS0wNyAxNlw6NTlcOjI5XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbnN1YmplY3QgYWx0IG5hbWUgIFw6XG4gICAgZGlyZWN0b3J5TmFtZSBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBkaXJlY3RvcnlOYW1lIFNBTlxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtZGlyZWN0b3J5bmFtZS5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogNERcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBkaXJlY3RvcnlOYW1lIFNBTlxuaXNzdWVkICBvbiAgICAgICAgXDogMjAyMy0wMS0xMCAxNlw6NTlcOjI5XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDMzLTAxLTA3IDE2XDo1OVw6MjlcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMjU2XG5FQyBrZXkgc2l6ZSAgICAgICBcOiAyNTYgYml0c1xuc3ViamVjdCBhbHQgbmFtZSAgXDpcbiAgICBkaXJlY3RvcnlOYW1lIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIEVDLCBTSEEyNTYgRGlnZXN0LCB0d28gZGlyZWN0b3J5TmFtZSBTQU5zCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXR3by1kaXJlY3RvcnluYW1lcy5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogNERcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBkaXJlY3RvcnlOYW1lIFNBTlxuaXNzdWVkICBvbiAgICAgICAgXDogMjAyMy0wMS0xMiAxMFw6MzRcOjExXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDMzLTAxLTA5IDEwXDozNFw6MTFcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMjU2XG5FQyBrZXkgc2l6ZSAgICAgICBcOiAyNTYgYml0c1xuc3ViamVjdCBhbHQgbmFtZSAgXDpcbiAgICBkaXJlY3RvcnlOYW1lIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOXG4gICAgZGlyZWN0b3J5TmFtZSBcOiBPPU1BTEZPUk1fTUVcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXR3by1kaXJlY3RvcnluYW1lcy5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogNERcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBkaXJlY3RvcnlOYW1lIFNBTlxuaXNzdWVkICBvbiAgICAgICAgXDogMjAyMy0wMS0xMiAxMFw6MzRcOjExXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDMzLTAxLTA5IDEwXDozNFw6MTFcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMjU2XG5FQyBrZXkgc2l6ZSAgICAgICBcOiAyNTYgYml0c1xuc3ViamVjdCBhbHQgbmFtZSAgXDpcbiAgICBkaXJlY3RvcnlOYW1lIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOXG4gICAgZGlyZWN0b3J5TmFtZSBcOiBPPU1BTEZPUk1fTUVcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gRUMsIFNIQTI1NiBEaWdlc3QsIFdpc3VuIEZhbiBkZXZpY2UKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtZmFuLmNydC5kZXIiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiA0RFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgRkFOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBGQU5cbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMjMtMDYtMjAgMDlcOjQ5XDozNVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAzMy0wNi0xNyAwOVw6NDlcOjM1XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbmV4dCBrZXkgdXNhZ2UgICAgIFw6IFdpLVNVTiBBbGxpYW5jZSBGaWVsZCBBcmVhIE5ldHdvcmsgKEZBTilcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LWZhbi5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogNERcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIEZBTlxuc3ViamVjdCBuYW1lICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgRkFOXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDIzLTA2LTIwIDA5XDo0OVw6MzVcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMzMtMDYtMTcgMDlcOjQ5XDozNVxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDI1NiBiaXRzXG5leHQga2V5IHVzYWdlICAgICBcOiBXaS1TVU4gQWxsaWFuY2UgRmllbGQgQXJlYSBOZXR3b3JrIChGQU4pXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBOUyBDZXJ0IFR5cGUKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEuY2VydF90eXBlLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAxXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbmNlcnQuIHR5cGUgICAgICAgIFw6IFNTTCBTZXJ2ZXJcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmNlcnRfdHlwZS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwMVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG5jZXJ0LiB0eXBlICAgICAgICBcOiBTU0wgU2VydmVyXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBLZXkgVXNhZ2UKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEua2V5X3VzYWdlLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAxXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wMi0xMCAxNFw6NDRcOjA2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTAyLTEwIDE0XDo0NFw6MDZcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmtleV91c2FnZS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwMVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDItMTAgMTRcOjQ0XDowNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMi0xMCAxNFw6NDRcOjA2XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG5rZXkgdXNhZ2UgICAgICAgICBcOiBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9uLCBLZXkgRW5jaXBoZXJtZW50XG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBLZXkgVXNhZ2Ugd2l0aCBkZWNpcGhlck9ubHkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2tleVVzYWdlLmRlY2lwaGVyT25seS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiA5Qlw6MTNcOkNFXDo0Q1w6QTVcOjZGXDpERVw6NTJcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9R0IsIEw9Q2FtYnJpZGdlLCBPPURlZmF1bHQgQ29tcGFueSBMdGRcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9R0IsIEw9Q2FtYnJpZGdlLCBPPURlZmF1bHQgQ29tcGFueSBMdGRcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTUtMDUtMTIgMTBcOjM2XDo1NVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAxOC0wNS0xMSAxMFw6MzZcOjU1XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAxMDI0IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG5rZXkgdXNhZ2UgICAgICAgICBcOiBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9uLCBLZXkgRW5jaXBoZXJtZW50LCBEZWNpcGhlciBPbmx5XG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQva2V5VXNhZ2UuZGVjaXBoZXJPbmx5LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDlCXDoxM1w6Q0VcOjRDXDpBNVw6NkZcOkRFXDo1MlxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1HQiwgTD1DYW1icmlkZ2UsIE89RGVmYXVsdCBDb21wYW55IEx0ZFxuc3ViamVjdCBuYW1lICAgICAgXDogQz1HQiwgTD1DYW1icmlkZ2UsIE89RGVmYXVsdCBDb21wYW55IEx0ZFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxNS0wNS0xMiAxMFw6MzZcOjU1XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDE4LTA1LTExIDEwXDozNlw6NTVcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnQsIERlY2lwaGVyIE9ubHlcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24sIFN1YmplY3QgQWx0IE5hbWUKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY2VydF9leGFtcGxlX211bHRpLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDExXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj13d3cuZXhhbXBsZS5jb21cbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDctMTAgMTFcOjI3XDo1MlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wNy0xMCAxMVw6MjdcOjUyXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAxMDI0IGJpdHNcbnN1YmplY3QgYWx0IG5hbWUgIFw6XG4gICAgZE5TTmFtZSBcOiBleGFtcGxlLmNvbVxuICAgIGROU05hbWUgXDogZXhhbXBsZS5uZXRcbiAgICBkTlNOYW1lIFw6ICouZXhhbXBsZS5vcmdcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X2V4YW1wbGVfbXVsdGkuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMTFcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPXd3dy5leGFtcGxlLmNvbVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wNy0xMCAxMVw6MjdcOjUyXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTA3LTEwIDExXDoyN1w6NTJcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQS0yNTZcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDEwMjQgYml0c1xuc3ViamVjdCBhbHQgbmFtZSAgXDpcbiAgICBkTlNOYW1lIFw6IGV4YW1wbGUuY29tXG4gICAgZE5TTmFtZSBcOiBleGFtcGxlLm5ldFxuICAgIGROU05hbWUgXDogKi5leGFtcGxlLm9yZ1xuIgogCiBYNTA5IENSVCBpbmZvcm1hdGlvbiwgTXVsdGlwbGUgZGlmZmVyZW50IFN1YmplY3QgQWx0IE5hbWUKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvbXVsdGlwbGVfc2FuLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDA0XG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBtdWx0aXBsZSBvdGhlcm5hbWUgU0FOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBtdWx0aXBsZSBvdGhlcm5hbWUgU0FOXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTA0LTIyIDE2XDoxMFw6NDhcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDQtMTkgMTZcOjEwXDo0OFxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDI1NiBiaXRzXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIGROU05hbWUgXDogZXhhbXBsZS5jb21cbiAgICBvdGhlck5hbWUgXDpcbiAgICAgICAgaGFyZHdhcmUgbW9kdWxlIG5hbWUgXDpcbiAgICAgICAgICAgIGhhcmR3YXJlIHR5cGUgICAgICAgICAgXDogMS4zLjYuMS40LjEuMTcuM1xuICAgICAgICAgICAgaGFyZHdhcmUgc2VyaWFsIG51bWJlciBcOiAzMTMyMzMzNDM1MzZcbiAgICBkTlNOYW1lIFw6IGV4YW1wbGUubmV0XG4gICAgZE5TTmFtZSBcOiAqLmV4YW1wbGUub3JnXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvbXVsdGlwbGVfc2FuLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDA0XG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBtdWx0aXBsZSBvdGhlcm5hbWUgU0FOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBtdWx0aXBsZSBvdGhlcm5hbWUgU0FOXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTA0LTIyIDE2XDoxMFw6NDhcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDQtMTkgMTZcOjEwXDo0OFxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDI1NiBiaXRzXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIGROU05hbWUgXDogZXhhbXBsZS5jb21cbiAgICBvdGhlck5hbWUgXDpcbiAgICAgICAgaGFyZHdhcmUgbW9kdWxlIG5hbWUgXDpcbiAgICAgICAgICAgIGhhcmR3YXJlIHR5cGUgICAgICAgICAgXDogMS4zLjYuMS40LjEuMTcuM1xuICAgICAgICAgICAgaGFyZHdhcmUgc2VyaWFsIG51bWJlciBcOiAzMTMyMzMzNDM1MzZcbiAgICBkTlNOYW1lIFw6IGV4YW1wbGUubmV0XG4gICAgZE5TTmFtZSBcOiAqLmV4YW1wbGUub3JnXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBTdWJqZWN0IEFsdCBOYW1lICsgS2V5IFVzYWdlCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X2V4YW1wbGVfbXVsdGlfbm9jbi5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiBGN1w6QzZcOjdGXDpGOFw6RTlcOkE5XDo2M1w6Rjlcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkxcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9Tkxcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTQtMDEtMjIgMTBcOjA0XDozM1xuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyNC0wMS0yMiAxMFw6MDRcOjMzXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAxMDI0IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIGROU05hbWUgXDogd3d3LnNob3Rva2FuLWJyYXVuc2Nod2VpZy5kZVxuICAgIGROU05hbWUgXDogd3d3Lm1hc3NpbW8tYWJhdGUuZXVcbiAgICBpUEFkZHJlc3MgXDogMTkyLjE2OC4xLjFcbiAgICBpUEFkZHJlc3MgXDogMTkyLjE2OC42OS4xNDRcbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X2V4YW1wbGVfbXVsdGlfbm9jbi5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiBGN1w6QzZcOjdGXDpGOFw6RTlcOkE5XDo2M1w6Rjlcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkxcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9Tkxcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTQtMDEtMjIgMTBcOjA0XDozM1xuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyNC0wMS0yMiAxMFw6MDRcOjMzXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEExXG5SU0Ega2V5IHNpemUgICAgICBcOiAxMDI0IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIGROU05hbWUgXDogd3d3LnNob3Rva2FuLWJyYXVuc2Nod2VpZy5kZVxuICAgIGROU05hbWUgXDogd3d3Lm1hc3NpbW8tYWJhdGUuZXVcbiAgICBpUEFkZHJlc3MgXDogMTkyLjE2OC4xLjFcbiAgICBpUEFkZHJlc3MgXDogMTkyLjE2OC42OS4xNDRcbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24sIFN1YmplY3QgQWx0IE5hbWUgd2l0aCB1bmlmb3JtUmVzb3VyY2VJZGVudGlmaWVyCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDZGXDo3NVw6RUJcOkU5XDo2RFw6MjVcOkJDXDo4OFw6ODJcOjYyXDpBM1w6RTBcOjY4XDpBN1w6MzdcOjNCXDpFQ1w6NzVcOjhGXDo5Q1xuaXNzdWVyIG5hbWUgICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgVVJJIFNBTlxuc3ViamVjdCBuYW1lICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgVVJJIFNBTlxuaXNzdWVkICBvbiAgICAgICAgXDogMjAyMy0wMi0xNCAxMFw6MzhcOjA1XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDQzLTAyLTA5IDEwXDozOFw6MDVcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQS0yNTZcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbnN1YmplY3QgYWx0IG5hbWUgIFw6XG4gICAgdW5pZm9ybVJlc291cmNlSWRlbnRpZmllciBcOiB1cm5cOmV4YW1wbGUuY29tXDo1ZmY0MGY3OC05MjEwLTQ5NGYtODIwNi1jMmMwODJmMDYwOWNcbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDZGXDo3NVw6RUJcOkU5XDo2RFw6MjVcOkJDXDo4OFw6ODJcOjYyXDpBM1w6RTBcOjY4XDpBN1w6MzdcOjNCXDpFQ1w6NzVcOjhGXDo5Q1xuaXNzdWVyIG5hbWUgICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgVVJJIFNBTlxuc3ViamVjdCBuYW1lICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgVVJJIFNBTlxuaXNzdWVkICBvbiAgICAgICAgXDogMjAyMy0wMi0xNCAxMFw6MzhcOjA1XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDQzLTAyLTA5IDEwXDozOFw6MDVcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQS0yNTZcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbnN1YmplY3QgYWx0IG5hbWUgIFw6XG4gICAgdW5pZm9ybVJlc291cmNlSWRlbnRpZmllciBcOiB1cm5cOmV4YW1wbGUuY29tXDo1ZmY0MGY3OC05MjEwLTQ5NGYtODIwNi1jMmMwODJmMDYwOWNcbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24sIFN1YmplY3QgQWx0IE5hbWUgd2l0aCB0d28gdW5pZm9ybVJlc291cmNlSWRlbnRpZmllcnMKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3JzYV9tdWx0aXBsZV9zYW5fdXJpLmNydC5kZXIiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwOFw6RTJcOjkzXDoxOFw6OTFcOjI2XDpEOFw6NDZcOjg4XDo5MFw6MTBcOjRGXDpCNVw6ODZcOkNCXDpDNFw6NzhcOkU2XDpFQVw6MERcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIFVSSSBTQU5cbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIFVSSSBTQU5cbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMjMtMDItMTQgMTBcOjM3XDo1MFxuZXhwaXJlcyBvbiAgICAgICAgXDogMjA0My0wMi0wOSAxMFw6MzdcOjUwXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIHVuaWZvcm1SZXNvdXJjZUlkZW50aWZpZXIgXDogdXJuXDpleGFtcGxlLmNvbVw6NWZmNDBmNzgtOTIxMC00OTRmLTgyMDYtYzJjMDgyZjA2MDljXG4gICAgdW5pZm9ybVJlc291cmNlSWRlbnRpZmllciBcOiB1cm5cOmV4YW1wbGUuY29tXDo1ZmY0MGY3OC05MjEwLTQ5NGYtODIwNi1hYmNkZTEyMzQ1NjdcbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9yc2FfbXVsdGlwbGVfc2FuX3VyaS5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDhcOkUyXDo5M1w6MThcOjkxXDoyNlw6RDhcOjQ2XDo4OFw6OTBcOjEwXDo0Rlw6QjVcOjg2XDpDQlw6QzRcOjc4XDpFNlw6RUFcOjBEXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBVUkkgU0FOXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPVVLLCBPPU1iZWQgVExTLCBDTj1NYmVkIFRMUyBVUkkgU0FOXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDIzLTAyLTE0IDEwXDozN1w6NTBcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwNDMtMDItMDkgMTBcOjM3XDo1MFxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuc3ViamVjdCBhbHQgbmFtZSAgXDpcbiAgICB1bmlmb3JtUmVzb3VyY2VJZGVudGlmaWVyIFw6IHVyblw6ZXhhbXBsZS5jb21cOjVmZjQwZjc4LTkyMTAtNDk0Zi04MjA2LWMyYzA4MmYwNjA5Y1xuICAgIHVuaWZvcm1SZXNvdXJjZUlkZW50aWZpZXIgXDogdXJuXDpleGFtcGxlLmNvbVw6NWZmNDBmNzgtOTIxMC00OTRmLTgyMDYtYWJjZGUxMjM0NTY3XG5rZXkgdXNhZ2UgICAgICAgICBcOiBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9uLCBLZXkgRW5jaXBoZXJtZW50XG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBSU0EgQ2VydGlmaWNhdGUgUG9saWN5IGFueQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3kuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDBcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0Fcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDMtMjEgMTZcOjQwXDo1OVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMy0yMSAxNlw6NDBcOjU5XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbmNlcnRpZmljYXRlIHBvbGljaWVzIFw6IEFueSBQb2xpY3lcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3kuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDBcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0Fcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDMtMjEgMTZcOjQwXDo1OVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wMy0yMSAxNlw6NDBcOjU5XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbmNlcnRpZmljYXRlIHBvbGljaWVzIFw6IEFueSBQb2xpY3lcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24sIEVDRFNBIENlcnRpZmljYXRlIFBvbGljeSBhbnkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5X2VjLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAwXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAzLTI1IDA5XDowMlw6NDVcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDMtMjUgMDlcOjAyXDo0NVxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDM4NCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5jZXJ0aWZpY2F0ZSBwb2xpY2llcyBcOiBBbnkgUG9saWN5XG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5X2VjLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAwXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTAzLTI1IDA5XDowMlw6NDVcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDMtMjUgMDlcOjAyXDo0NVxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDM4NCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5jZXJ0aWZpY2F0ZSBwb2xpY2llcyBcOiBBbnkgUG9saWN5XG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBSU0EgQ2VydGlmaWNhdGUgUG9saWN5IGFueSB3aXRoIHF1YWxpZmllcgogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3lfd2l0aF9xdWFsaWZpZXIuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDBcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0Fcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDQtMjggMTNcOjE0XDozMVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wNC0yOCAxM1w6MTRcOjMxXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbmNlcnRpZmljYXRlIHBvbGljaWVzIFw6IEFueSBQb2xpY3lcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLWFueV9wb2xpY3lfd2l0aF9xdWFsaWZpZXIuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDBcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0Fcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDQtMjggMTNcOjE0XDozMVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wNC0yOCAxM1w6MTRcOjMxXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbmNlcnRpZmljYXRlIHBvbGljaWVzIFw6IEFueSBQb2xpY3lcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24sIEVDRFNBIENlcnRpZmljYXRlIFBvbGljeSBhbnkgd2l0aCBxdWFsaWZpZXIKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5X3dpdGhfcXVhbGlmaWVyX2VjLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAwXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTA0LTI4IDEwXDoxNlw6MDVcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDQtMjggMTBcOjE2XDowNVxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDM4NCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5jZXJ0aWZpY2F0ZSBwb2xpY2llcyBcOiBBbnkgUG9saWN5XG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1hbnlfcG9saWN5X3dpdGhfcXVhbGlmaWVyX2VjLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAwXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTA0LTI4IDEwXDoxNlw6MDVcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDQtMjggMTBcOjE2XDowNVxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDM4NCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5jZXJ0aWZpY2F0ZSBwb2xpY2llcyBcOiBBbnkgUG9saWN5XG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBSU0EgQ2VydGlmaWNhdGUgbXVsdGlwbGUgUG9saWNpZXMKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS1tdWx0aV9wb2xpY3kuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDBcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0Fcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDQtMjggMTJcOjU5XDoxOVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wNC0yOCAxMlw6NTlcOjE5XG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbmNlcnRpZmljYXRlIHBvbGljaWVzIFw6ID8/PywgQW55IFBvbGljeVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtbXVsdGlfcG9saWN5LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAwXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTA0LTI4IDEyXDo1OVw6MTlcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDQtMjggMTJcOjU5XDoxOVxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5jZXJ0aWZpY2F0ZSBwb2xpY2llcyBcOiA/Pz8sIEFueSBQb2xpY3lcbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24sIEVDRFNBIENlcnRpZmljYXRlIG11bHRpcGxlIFBvbGljaWVzCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtbXVsdGlfcG9saWN5X2VjLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAwXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTA0LTI4IDEyXDo1OVw6NTFcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDQtMjggMTJcOjU5XDo1MVxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDM4NCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5jZXJ0aWZpY2F0ZSBwb2xpY2llcyBcOiA/Pz8sIEFueSBQb2xpY3lcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLW11bHRpX3BvbGljeV9lYy5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwMFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wNC0yOCAxMlw6NTlcOjUxXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTA0LTI4IDEyXDo1OVw6NTFcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMjU2XG5FQyBrZXkgc2l6ZSAgICAgICBcOiAzODQgYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9dHJ1ZVxuY2VydGlmaWNhdGUgcG9saWNpZXMgXDogPz8/LCBBbnkgUG9saWN5XG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBSU0EgQ2VydGlmaWNhdGUgdW5zdXBwb3J0ZWQgcG9saWN5CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtdW5zdXBwb3J0ZWRfcG9saWN5LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAwXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTA0LTI4IDEzXDowMFw6MTNcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDQtMjggMTNcOjAwXDoxM1xuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5jZXJ0aWZpY2F0ZSBwb2xpY2llcyBcOiA/Pz9cbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0LWNhLXVuc3VwcG9ydGVkX3BvbGljeS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwMFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxOS0wNC0yOCAxM1w6MDBcOjEzXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI5LTA0LTI4IDEzXDowMFw6MTNcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQS0yNTZcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9dHJ1ZVxuY2VydGlmaWNhdGUgcG9saWNpZXMgXDogPz8/XG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uLCBFQ0RTQSBDZXJ0aWZpY2F0ZSB1bnN1cHBvcnRlZCBwb2xpY3kKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdC1jYS11bnN1cHBvcnRlZF9wb2xpY3lfZWMuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDBcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0Fcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTktMDQtMjggMTNcOjAwXDoxOVxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyOS0wNC0yOCAxM1w6MDBcOjE5XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuRUMga2V5IHNpemUgICAgICAgXDogMzg0IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbmNlcnRpZmljYXRlIHBvbGljaWVzIFw6ID8/P1xuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3QtY2EtdW5zdXBwb3J0ZWRfcG9saWN5X2VjLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAwXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE5LTA0LTI4IDEzXDowMFw6MTlcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjktMDQtMjggMTNcOjAwXDoxOVxuc2lnbmVkIHVzaW5nICAgICAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgICAgIFw6IDM4NCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG5jZXJ0aWZpY2F0ZSBwb2xpY2llcyBcOiA/Pz9cbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24sIEtleSBVc2FnZSArIEV4dGVuZGVkIEtleSBVc2FnZQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLmV4dF9rdS5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAyMVxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTQtMDQtMDEgMTRcOjQ0XDo0M1xuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyNC0wMy0yOSAxNFw6NDRcOjQzXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG5rZXkgdXNhZ2UgICAgICAgICBcOiBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9uLCBLZXkgRW5jaXBoZXJtZW50XG5leHQga2V5IHVzYWdlICAgICBcOiBUTFMgV2ViIFNlcnZlciBBdXRoZW50aWNhdGlvblxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEuZXh0X2t1LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDIxXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxNC0wNC0wMSAxNFw6NDRcOjQzXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI0LTAzLTI5IDE0XDo0NFw6NDNcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQS0yNTZcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbmV4dCBrZXkgdXNhZ2UgICAgIFw6IFRMUyBXZWIgU2VydmVyIEF1dGhlbnRpY2F0aW9uXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIFJTQSBzaWduZWQgYnkgRUMKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FCi14NTA5X2NlcnRfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI0LmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDA4XG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3Rcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMTMtMDktMjQgMTVcOjUyXDowNFxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyMy0wOS0yMiAxNVw6NTJcOjA0XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuIgoreDUwOV9jZXJ0X2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjQuY3J0IjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogMDhcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxMy0wOS0yNCAxNVw6NTJcOjA0XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDIzLTA5LTIyIDE1XDo1Mlw6MDRcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIEVDIHNpZ25lZCBieSBSU0EKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDE5MlIxOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQwoteDUwOV9jZXJ0X2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMy5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwRFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDEzLTA4LTA5IDA5XDoxN1w6MDNcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjMtMDgtMDcgMDlcOjE3XDowM1xuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBMVxuRUMga2V5IHNpemUgICAgICAgXDogMTkyIGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMy5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwRFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDEzLTA4LTA5IDA5XDoxN1w6MDNcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjMtMDgtMDcgMDlcOjE3XDowM1xuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBMVxuRUMga2V5IHNpemUgICAgICAgXDogMTkyIGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPWZhbHNlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIEJpdHN0cmluZyBpbiBzdWJqZWN0IG5hbWUKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2JpdHN0cmluZy1pbi1kbi5wZW0iOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwMlxuaXNzdWVyIG5hbWUgICAgICAgXDogQ049VGVzdCBDQSAwMSwgU1Q9RWNuaXZvcnAsIEM9WFgsIGVtYWlsQWRkcmVzcz10Y2FAZXhhbXBsZS5jb20sIE89VGVzdCBDQSBBdXRob3JpdHlcbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9WFgsIE89dGNhLCBTVD1FY25pdm9ycCwgT1U9VENBLCBDTj1DbGllbnQsIGVtYWlsQWRkcmVzcz1jbGllbnRAZXhhbXBsZS5jb20sIHNlcmlhbE51bWJlcj03MTAxMDEyMjU1LCB1bmlxdWVJZGVudGlmaWVyPSMwMzBCMDAzNzMxMzAzMTMwMzEzMjMyMzUzNVxuaXNzdWVkICBvbiAgICAgICAgXDogMjAxNS0wMy0xMSAxMlw6MDZcOjUxXG5leHBpcmVzIG9uICAgICAgICBcOiAyMDI1LTAzLTA4IDEyXDowNlw6NTFcbnNpZ25lZCB1c2luZyAgICAgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgICAgIFw6IDIwNDggYml0c1xuYmFzaWMgY29uc3RyYWludHMgXDogQ0E9ZmFsc2VcbnN1YmplY3QgYWx0IG5hbWUgIFw6XG4gICAgcmZjODIyTmFtZSBcOiBjbGllbnRAZXhhbXBsZS5jb21cbmV4dCBrZXkgdXNhZ2UgICAgIFw6IFRMUyBXZWIgQ2xpZW50IEF1dGhlbnRpY2F0aW9uXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvYml0c3RyaW5nLWluLWRuLnBlbSI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDAyXG5pc3N1ZXIgbmFtZSAgICAgICBcOiBDTj1UZXN0IENBIDAxLCBTVD1FY25pdm9ycCwgQz1YWCwgZW1haWxBZGRyZXNzPXRjYUBleGFtcGxlLmNvbSwgTz1UZXN0IENBIEF1dGhvcml0eVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1YWCwgTz10Y2EsIFNUPUVjbml2b3JwLCBPVT1UQ0EsIENOPUNsaWVudCwgZW1haWxBZGRyZXNzPWNsaWVudEBleGFtcGxlLmNvbSwgc2VyaWFsTnVtYmVyPTcxMDEwMTIyNTUsIHVuaXF1ZUlkZW50aWZpZXI9IzAzMEIwMDM3MzEzMDMxMzAzMTMyMzIzNTM1XG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDE1LTAzLTExIDEyXDowNlw6NTFcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjUtMDMtMDggMTJcOjA2XDo1MVxuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBMVxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT1mYWxzZVxuc3ViamVjdCBhbHQgbmFtZSAgXDpcbiAgICByZmM4MjJOYW1lIFw6IGNsaWVudEBleGFtcGxlLmNvbVxuZXh0IGtleSB1c2FnZSAgICAgXDogVExTIFdlYiBDbGllbnQgQXV0aGVudGljYXRpb25cbiIKIAogWDUwOSBDUlQgaW5mb3JtYXRpb24gTm9uLUFTQ0lJIHN0cmluZyBpbiBpc3N1ZXIgbmFtZSBhbmQgc3ViamVjdCBuYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L25vbi1hc2NpaS1zdHJpbmctaW4taXNzdWVyLmNydCI6ImNlcnQuIHZlcnNpb24gICAgIFw6IDNcbnNlcmlhbCBudW1iZXIgICAgIFw6IDA1XDpFNlw6NTNcOkU3XDoxQlw6NzRcOkYwXDpCNVw6RDNcOjg0XDo2RFw6MENcOjZEXDpEQ1w6RkFcOjNGXDpBNFw6NUFcOjJCXDpFMFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1KUCwgU1Q9VG9reW8sIE89XFxDM1xcQTNcXEMyXFw4M1xcQzJcXDg2XFxDM1xcQTNcXEMyXFw4MlxcQzJcXEI5XFxDM1xcQTNcXEMyXFw4M1xcQzJcXDg4IEx0ZCwgQ049XFxDM1xcQTNcXEMyXFw4M1xcQzJcXDg2XFxDM1xcQTNcXEMyXFw4MlxcQzJcXEI5XFxDM1xcQTNcXEMyXFw4M1xcQzJcXDg4IENBXG5zdWJqZWN0IG5hbWUgICAgICBcOiBDPUpQLCBTVD1Ub2t5bywgTz1cXEMzXFxBM1xcQzJcXDgzXFxDMlxcODZcXEMzXFxBM1xcQzJcXDgyXFxDMlxcQjlcXEMzXFxBM1xcQzJcXDgzXFxDMlxcODggTHRkLCBDTj1cXEMzXFxBM1xcQzJcXDgzXFxDMlxcODZcXEMzXFxBM1xcQzJcXDgyXFxDMlxcQjlcXEMzXFxBM1xcQzJcXDgzXFxDMlxcODggQ0Fcbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMjAtMDUtMjAgMTZcOjE3XDoyM1xuZXhwaXJlcyBvbiAgICAgICAgXDogMjAyMC0wNi0xOSAxNlw6MTdcOjIzXG5zaWduZWQgdXNpbmcgICAgICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgICAgICBcOiAyMDQ4IGJpdHNcbmJhc2ljIGNvbnN0cmFpbnRzIFw6IENBPXRydWVcbiIKK3g1MDlfY2VydF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9ub24tYXNjaWktc3RyaW5nLWluLWlzc3Vlci5jcnQiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiAwNVw6RTZcOjUzXDpFN1w6MUJcOjc0XDpGMFw6QjVcOkQzXDo4NFw6NkRcOjBDXDo2RFw6RENcOkZBXDozRlw6QTRcOjVBXDoyQlw6RTBcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9SlAsIFNUPVRva3lvLCBPPVxcQzNcXEEzXFxDMlxcODNcXEMyXFw4NlxcQzNcXEEzXFxDMlxcODJcXEMyXFxCOVxcQzNcXEEzXFxDMlxcODNcXEMyXFw4OCBMdGQsIENOPVxcQzNcXEEzXFxDMlxcODNcXEMyXFw4NlxcQzNcXEEzXFxDMlxcODJcXEMyXFxCOVxcQzNcXEEzXFxDMlxcODNcXEMyXFw4OCBDQVxuc3ViamVjdCBuYW1lICAgICAgXDogQz1KUCwgU1Q9VG9reW8sIE89XFxDM1xcQTNcXEMyXFw4M1xcQzJcXDg2XFxDM1xcQTNcXEMyXFw4MlxcQzJcXEI5XFxDM1xcQTNcXEMyXFw4M1xcQzJcXDg4IEx0ZCwgQ049XFxDM1xcQTNcXEMyXFw4M1xcQzJcXDg2XFxDM1xcQTNcXEMyXFw4MlxcQzJcXEI5XFxDM1xcQTNcXEMyXFw4M1xcQzJcXDg4IENBXG5pc3N1ZWQgIG9uICAgICAgICBcOiAyMDIwLTA1LTIwIDE2XDoxN1w6MjNcbmV4cGlyZXMgb24gICAgICAgIFw6IDIwMjAtMDYtMTkgMTZcOjE3XDoyM1xuc2lnbmVkIHVzaW5nICAgICAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICAgICAgXDogMjA0OCBiaXRzXG5iYXNpYyBjb25zdHJhaW50cyBcOiBDQT10cnVlXG4iCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIFBhcnNpbmcgSVB2NCBhbmQgSVB2NiBJUCBuYW1lcwogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfY2VydF9pbmZvOiJkYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiY2VydC4gdmVyc2lvbiAgICAgXDogM1xuc2VyaWFsIG51bWJlciAgICAgXDogNERcbmlzc3VlciBuYW1lICAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIFRyaWNreSBJUCBTQU5cbnN1YmplY3QgbmFtZSAgICAgIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIFRyaWNreSBJUCBTQU5cbmlzc3VlZCAgb24gICAgICAgIFw6IDIwMjMtMDYtMDUgMTFcOjMwXDozNlxuZXhwaXJlcyBvbiAgICAgICAgXDogMjAzMy0wNi0wMiAxMVw6MzBcOjM2XG5zaWduZWQgdXNpbmcgICAgICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuRUMga2V5IHNpemUgICAgICAgXDogMjU2IGJpdHNcbnN1YmplY3QgYWx0IG5hbWUgIFw6XG4gICAgaVBBZGRyZXNzIFw6IDk3Ljk4Ljk5LjEwMFxuICAgIGlQQWRkcmVzcyBcOiA2MTYyXDo2MzY0XDoyRTY1XDo3ODYxXDo2RDcwXDo2QzY1XDoyRTYzXDo2RjZEXG4iCit4NTA5X2NlcnRfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLmNydC5kZXIiOiJjZXJ0LiB2ZXJzaW9uICAgICBcOiAzXG5zZXJpYWwgbnVtYmVyICAgICBcOiA0RFxuaXNzdWVyIG5hbWUgICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgVHJpY2t5IElQIFNBTlxuc3ViamVjdCBuYW1lICAgICAgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgVHJpY2t5IElQIFNBTlxuaXNzdWVkICBvbiAgICAgICAgXDogMjAyMy0wNi0wNSAxMVw6MzBcOjM2XG5leHBpcmVzIG9uICAgICAgICBcOiAyMDMzLTA2LTAyIDExXDozMFw6MzZcbnNpZ25lZCB1c2luZyAgICAgIFw6IEVDRFNBIHdpdGggU0hBMjU2XG5FQyBrZXkgc2l6ZSAgICAgICBcOiAyNTYgYml0c1xuc3ViamVjdCBhbHQgbmFtZSAgXDpcbiAgICBpUEFkZHJlc3MgXDogOTcuOTguOTkuMTAwXG4gICAgaVBBZGRyZXNzIFw6IDYxNjJcOjYzNjRcOjJFNjVcOjc4NjFcOjZENzBcOjZDNjVcOjJFNjNcOjZGNkRcbiIKIAogWDUwOSBTQU4gcGFyc2luZyBvdGhlck5hbWUKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfcGFyc2Vfc2FuOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtb3RoZXJuYW1lLmNydC5kZXIiOiJ0eXBlIFw6IDBcbm90aGVyTmFtZSBcOiBoYXJkd2FyZSBtb2R1bGUgbmFtZSBcOiBoYXJkd2FyZSB0eXBlIFw6IDEuMy42LjEuNC4xLjE3LjMsIGhhcmR3YXJlIHNlcmlhbCBudW1iZXIgXDogMzEzMjMzMzQzNTM2XG4iOjAKK3g1MDlfcGFyc2Vfc2FuOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LW90aGVybmFtZS5jcnQuZGVyIjoidHlwZSBcOiAwXG5vdGhlck5hbWUgXDogaGFyZHdhcmUgbW9kdWxlIG5hbWUgXDogaGFyZHdhcmUgdHlwZSBcOiAxLjMuNi4xLjQuMS4xNy4zLCBoYXJkd2FyZSBzZXJpYWwgbnVtYmVyIFw6IDMxMzIzMzM0MzUzNlxuIjowCiAKIFg1MDkgU0FOIHBhcnNpbmcgYmluYXJ5IG90aGVyTmFtZQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9wYXJzZV9zYW46ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1ub25wcmludGFibGVfb3RoZXJuYW1lLmNydC5kZXIiOiJ0eXBlIFw6IDBcbm90aGVyTmFtZSBcOiBoYXJkd2FyZSBtb2R1bGUgbmFtZSBcOiBoYXJkd2FyZSB0eXBlIFw6IDEuMy42LjEuNC4xLjE3LjMsIGhhcmR3YXJlIHNlcmlhbCBudW1iZXIgXDogMzEzMjMzODA4MTAwODE4MDMzMzIzMVxuIjowCit4NTA5X3BhcnNlX3NhbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1ub25wcmludGFibGVfb3RoZXJuYW1lLmNydC5kZXIiOiJ0eXBlIFw6IDBcbm90aGVyTmFtZSBcOiBoYXJkd2FyZSBtb2R1bGUgbmFtZSBcOiBoYXJkd2FyZSB0eXBlIFw6IDEuMy42LjEuNC4xLjE3LjMsIGhhcmR3YXJlIHNlcmlhbCBudW1iZXIgXDogMzEzMjMzODA4MTAwODE4MDMzMzIzMVxuIjowCiAKIFg1MDkgU0FOIHBhcnNpbmcgZGlyZWN0b3J5TmFtZQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9wYXJzZV9zYW46ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1kaXJlY3RvcnluYW1lLmNydC5kZXIiOiJ0eXBlIFw6IDRcbmRpcmVjdG9yeU5hbWUgXDogQz1VSywgTz1NYmVkIFRMUywgQ049TWJlZCBUTFMgZGlyZWN0b3J5TmFtZSBTQU5cbiI6MAoreDUwOV9wYXJzZV9zYW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtZGlyZWN0b3J5bmFtZS5jcnQuZGVyIjoidHlwZSBcOiA0XG5kaXJlY3RvcnlOYW1lIFw6IEM9VUssIE89TWJlZCBUTFMsIENOPU1iZWQgVExTIGRpcmVjdG9yeU5hbWUgU0FOXG4iOjAKIAogWDUwOSBTQU4gcGFyc2luZyBkaXJlY3RvcnlOYW1lLCBzZXEgbWFsZm9ybWVkCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X3BhcnNlX3NhbjoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LWRpcmVjdG9yeW5hbWUtc2VxLW1hbGZvcm1lZC5jcnQuZGVyIjoiIjpNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCit4NTA5X3BhcnNlX3NhbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1kaXJlY3RvcnluYW1lLXNlcS1tYWxmb3JtZWQuY3J0LmRlciI6IiI6TUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRwogCiBYNTA5IFNBTiBwYXJzaW5nIHR3byBkaXJlY3RvcnlOYW1lcywgc2Vjb25kIEROIE9JRCBtYWxmb3JtZWQKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfcGFyc2Vfc2FuOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtc2Vjb25kLWRpcmVjdG9yeW5hbWUtb2lkLW1hbGZvcm1lZC5jcnQuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfTkFNRSArIE1CRURUTFNfRVJSX0FTTjFfT1VUX09GX0RBVEEKK3g1MDlfcGFyc2Vfc2FuOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LXNlY29uZC1kaXJlY3RvcnluYW1lLW9pZC1tYWxmb3JtZWQuY3J0LmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX05BTUUgKyBNQkVEVExTX0VSUl9BU04xX09VVF9PRl9EQVRBCiAKIFg1MDkgU0FOIHBhcnNpbmcgZE5TTmFtZQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X3BhcnNlX3NhbjoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X2V4YW1wbGVfbXVsdGkuY3J0IjoidHlwZSBcOiAyXG5kTlNOYW1lIFw6IGV4YW1wbGUuY29tXG50eXBlIFw6IDJcbmROU05hbWUgXDogZXhhbXBsZS5uZXRcbnR5cGUgXDogMlxuZE5TTmFtZSBcOiAqLmV4YW1wbGUub3JnXG4iOjAKK3g1MDlfcGFyc2Vfc2FuOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jZXJ0X2V4YW1wbGVfbXVsdGkuY3J0IjoidHlwZSBcOiAyXG5kTlNOYW1lIFw6IGV4YW1wbGUuY29tXG50eXBlIFw6IDJcbmROU05hbWUgXDogZXhhbXBsZS5uZXRcbnR5cGUgXDogMlxuZE5TTmFtZSBcOiAqLmV4YW1wbGUub3JnXG4iOjAKIAogWDUwOSBTQU4gcGFyc2luZyAgTXVsdGlwbGUgZGlmZmVyZW50IHR5cGVzCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfcGFyc2Vfc2FuOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L211bHRpcGxlX3Nhbi5jcnQiOiJ0eXBlIFw6IDJcbmROU05hbWUgXDogZXhhbXBsZS5jb21cbnR5cGUgXDogMFxub3RoZXJOYW1lIFw6IGhhcmR3YXJlIG1vZHVsZSBuYW1lIFw6IGhhcmR3YXJlIHR5cGUgXDogMS4zLjYuMS40LjEuMTcuMywgaGFyZHdhcmUgc2VyaWFsIG51bWJlciBcOiAzMTMyMzMzNDM1MzZcbnR5cGUgXDogMlxuZE5TTmFtZSBcOiBleGFtcGxlLm5ldFxudHlwZSBcOiAyXG5kTlNOYW1lIFw6ICouZXhhbXBsZS5vcmdcbiI6MAoreDUwOV9wYXJzZV9zYW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L211bHRpcGxlX3Nhbi5jcnQiOiJ0eXBlIFw6IDJcbmROU05hbWUgXDogZXhhbXBsZS5jb21cbnR5cGUgXDogMFxub3RoZXJOYW1lIFw6IGhhcmR3YXJlIG1vZHVsZSBuYW1lIFw6IGhhcmR3YXJlIHR5cGUgXDogMS4zLjYuMS40LjEuMTcuMywgaGFyZHdhcmUgc2VyaWFsIG51bWJlciBcOiAzMTMyMzMzNDM1MzZcbnR5cGUgXDogMlxuZE5TTmFtZSBcOiBleGFtcGxlLm5ldFxudHlwZSBcOiAyXG5kTlNOYW1lIFw6ICouZXhhbXBsZS5vcmdcbiI6MAogCiBYNTA5IFNBTiBwYXJzaW5nLCBubyBzdWJqZWN0IGFsdCBuYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRQoteDUwOV9wYXJzZV9zYW46ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNC5jcnQiOiIiOjAKK3g1MDlfcGFyc2Vfc2FuOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI0LmNydCI6IiI6MAogCiBYNTA5IFNBTiBwYXJzaW5nLCB1bnN1cHBvcnRlZCBvdGhlck5hbWUgbmFtZQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9wYXJzZV9zYW46ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS11bnN1cHBvcnRlZF9vdGhlcm5hbWUuY3J0LmRlciI6IiI6MAoreDUwOV9wYXJzZV9zYW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUtdW5zdXBwb3J0ZWRfb3RoZXJuYW1lLmNydC5kZXIiOiIiOjAKIAogWDUwOSBTQU4gcGFyc2luZyByZmM4MjJOYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfcGFyc2Vfc2FuOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY2VydF9yZmM4MjJuYW1lLmNydC5kZXIiOiJ0eXBlIFw6IDFcbnJmYzgyMk5hbWUgXDogbXlAb3RoZXIuYWRkcmVzc1xudHlwZSBcOiAxXG5yZmM4MjJOYW1lIFw6IHNlY29uZEBvdGhlci5hZGRyZXNzXG4iOjAKK3g1MDlfcGFyc2Vfc2FuOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2NlcnRfcmZjODIybmFtZS5jcnQuZGVyIjoidHlwZSBcOiAxXG5yZmM4MjJOYW1lIFw6IG15QG90aGVyLmFkZHJlc3NcbnR5cGUgXDogMVxucmZjODIyTmFtZSBcOiBzZWNvbmRAb3RoZXIuYWRkcmVzc1xuIjowCiAKIFg1MDkgQ1JUIGluZm9ybWF0aW9uIFBhcnNpbmcgSVAgKGludmFsaWQgZGF0YSkKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX1JTQV9DCi14NTA5X3BhcnNlX3NhbjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4tbWFsZm9ybWVkLWxlbi5jcnQuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0JBRF9JTlBVVF9EQVRBCit4NTA5X3BhcnNlX3NhbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLW1hbGZvcm1lZC1sZW4uY3J0LmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9CQURfSU5QVVRfREFUQQogCiBYNTA5IENSTCBpbmZvcm1hdGlvbiAjMQotZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3JsX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX2V4cGlyZWQucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAxXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMS0wMi0yMCAxMFw6MjRcOjE5XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMTEtMDItMjAgMTFcOjI0XDoxOVxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDAxIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2VyaWFsIG51bWJlclw6IDAzIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEExXG4iCitkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DCittYmVkdGxzX3g1MDlfY3JsX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9leHBpcmVkLnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMVxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTEtMDItMjAgMTBcOjI0XDoxOVxubmV4dCB1cGRhdGUgICBcOiAyMDExLTAyLTIwIDExXDoyNFw6MTlcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwMSByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNlcmlhbCBudW1iZXJcOiAwMyByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBMVxuIgogCiBYNTA5IENSTCBJbmZvcm1hdGlvbiBNRDUgRGlnZXN0Ci1kZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfUlNBX0M6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2NybF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9tZDUucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAxXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMTEtMDQtMTMgMTRcOjQ0XDowN1xuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDAxIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2VyaWFsIG51bWJlclw6IDAzIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBNRDVcbiIKK2RlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19SU0FfQworbWJlZHRsc194NTA5X2NybF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfbWQ1LnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMVxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xubmV4dCB1cGRhdGUgICBcOiAyMDExLTA0LTEzIDE0XDo0NFw6MDdcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwMSByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNlcmlhbCBudW1iZXJcOiAwMyByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggTUQ1XG4iCiAKIFg1MDkgQ1JMIEluZm9ybWF0aW9uIFNIQTEgRGlnZXN0Ci1kZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jcmxfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfc2hhMS5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDFcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbm5leHQgdXBkYXRlICAgXDogMjAxMS0wNC0xMyAxNFw6NDRcOjA3XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMDEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5zZXJpYWwgbnVtYmVyXDogMDMgcmV2b2NhdGlvbiBkYXRlXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5zaWduZWQgdXNpbmcgIFw6IFJTQSB3aXRoIFNIQTFcbiIKK2RlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0MKK21iZWR0bHNfeDUwOV9jcmxfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX3NoYTEucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAxXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMTEtMDQtMTMgMTRcOjQ0XDowN1xuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDAxIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2VyaWFsIG51bWJlclw6IDAzIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEExXG4iCiAKIFg1MDkgQ1JMIEluZm9ybWF0aW9uIFNIQTIyNCBEaWdlc3QKLWRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19SU0FfQzohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3JsX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX3NoYTIyNC5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDFcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbm5leHQgdXBkYXRlICAgXDogMjAxMS0wNC0xMyAxNFw6NDRcOjA3XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMDEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5zZXJpYWwgbnVtYmVyXDogMDMgcmV2b2NhdGlvbiBkYXRlXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5zaWduZWQgdXNpbmcgIFw6IFJTQSB3aXRoIFNIQS0yMjRcbiIKK2RlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19SU0FfQworbWJlZHRsc194NTA5X2NybF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfc2hhMjI0LnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMVxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xubmV4dCB1cGRhdGUgICBcOiAyMDExLTA0LTEzIDE0XDo0NFw6MDdcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwMSByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNlcmlhbCBudW1iZXJcOiAwMyByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTIyNFxuIgogCiBYNTA5IENSTCBJbmZvcm1hdGlvbiBTSEEyNTYgRGlnZXN0Ci1kZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2NybF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGEyNTYucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAxXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMTEtMDQtMTMgMTRcOjQ0XDowN1xuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDAxIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2VyaWFsIG51bWJlclw6IDAzIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG4iCitkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKK21iZWR0bHNfeDUwOV9jcmxfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX3NoYTI1Ni5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDFcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbm5leHQgdXBkYXRlICAgXDogMjAxMS0wNC0xMyAxNFw6NDRcOjA3XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMDEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5zZXJpYWwgbnVtYmVyXDogMDMgcmV2b2NhdGlvbiBkYXRlXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5zaWduZWQgdXNpbmcgIFw6IFJTQSB3aXRoIFNIQS0yNTZcbiIKIAogWDUwOSBDUkwgSW5mb3JtYXRpb24gU0hBMzg0IERpZ2VzdAotZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1JTQV9DOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jcmxfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfc2hhMzg0LnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMVxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xubmV4dCB1cGRhdGUgICBcOiAyMDExLTA0LTEzIDE0XDo0NFw6MDdcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwMSByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNlcmlhbCBudW1iZXJcOiAwMyByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTM4NFxuIgorZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1JTQV9DCittYmVkdGxzX3g1MDlfY3JsX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybF9zaGEzODQucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAxXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMTEtMDQtMTMgMTRcOjQ0XDowN1xuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDAxIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2VyaWFsIG51bWJlclw6IDAzIHJldm9jYXRpb24gZGF0ZVw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMzg0XG4iCiAKIFg1MDkgQ1JMIEluZm9ybWF0aW9uIFNIQTUxMiBEaWdlc3QKLWRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19SU0FfQzohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3JsX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsX3NoYTUxMi5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDFcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbm5leHQgdXBkYXRlICAgXDogMjAxMS0wNC0xMyAxNFw6NDRcOjA3XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMDEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5zZXJpYWwgbnVtYmVyXDogMDMgcmV2b2NhdGlvbiBkYXRlXDogMjAxMS0wMi0xMiAxNFw6NDRcOjA3XG5zaWduZWQgdXNpbmcgIFw6IFJTQSB3aXRoIFNIQS01MTJcbiIKK2RlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19SU0FfQworbWJlZHRsc194NTA5X2NybF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmxfc2hhNTEyLnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMVxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTEtMDItMTIgMTRcOjQ0XDowN1xubmV4dCB1cGRhdGUgICBcOiAyMDExLTA0LTEzIDE0XDo0NFw6MDdcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwMSByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNlcmlhbCBudW1iZXJcOiAwMyByZXZvY2F0aW9uIGRhdGVcOiAyMDExLTAyLTEyIDE0XDo0NFw6MDdcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTUxMlxuIgogCiBYNTA5IENSTCBpbmZvcm1hdGlvbiBSU0EtUFNTLCBTSEExIERpZ2VzdAotZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMTohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3JsX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhMS5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDE0LTAxLTIwIDEzXDo0Nlw6MzVcbm5leHQgdXBkYXRlICAgXDogMjAyNC0wMS0xOCAxM1w6NDZcOjM1XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zZXJpYWwgbnVtYmVyXDogMTYgcmV2b2NhdGlvbiBkYXRlXDogMjAxNC0wMS0yMCAxM1w6NDNcOjA1XG5zaWduZWQgdXNpbmcgIFw6IFJTQVNTQS1QU1MgKFNIQTEsIE1HRjEtU0hBMSwgMHhFQSlcbiIKK2RlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTEKK21iZWR0bHNfeDUwOV9jcmxfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhMS5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDE0LTAxLTIwIDEzXDo0Nlw6MzVcbm5leHQgdXBkYXRlICAgXDogMjAyNC0wMS0xOCAxM1w6NDZcOjM1XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zZXJpYWwgbnVtYmVyXDogMTYgcmV2b2NhdGlvbiBkYXRlXDogMjAxNC0wMS0yMCAxM1w6NDNcOjA1XG5zaWduZWQgdXNpbmcgIFw6IFJTQVNTQS1QU1MgKFNIQTEsIE1HRjEtU0hBMSwgMHhFQSlcbiIKIAogWDUwOSBDUkwgaW5mb3JtYXRpb24gUlNBLVBTUywgU0hBMjI0IERpZ2VzdAotZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMjI0OiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jcmxfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtcnNhLXBzcy1zaGEyMjQucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAyXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxNC0wMS0yMCAxM1w6NTZcOjA2XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMjQtMDEtMTggMTNcOjU2XDowNlxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDBBIHJldm9jYXRpb24gZGF0ZVw6IDIwMTMtMDktMjQgMTZcOjI4XDozOFxuc2VyaWFsIG51bWJlclw6IDE2IHJldm9jYXRpb24gZGF0ZVw6IDIwMTQtMDEtMjAgMTNcOjQzXDowNVxuc2lnbmVkIHVzaW5nICBcOiBSU0FTU0EtUFNTIChTSEEyMjQsIE1HRjEtU0hBMjI0LCAweEUyKVxuIgorZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMjI0CittYmVkdGxzX3g1MDlfY3JsX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1yc2EtcHNzLXNoYTIyNC5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDE0LTAxLTIwIDEzXDo1Nlw6MDZcbm5leHQgdXBkYXRlICAgXDogMjAyNC0wMS0xOCAxM1w6NTZcOjA2XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zZXJpYWwgbnVtYmVyXDogMTYgcmV2b2NhdGlvbiBkYXRlXDogMjAxNC0wMS0yMCAxM1w6NDNcOjA1XG5zaWduZWQgdXNpbmcgIFw6IFJTQVNTQS1QU1MgKFNIQTIyNCwgTUdGMS1TSEEyMjQsIDB4RTIpXG4iCiAKIFg1MDkgQ1JMIGluZm9ybWF0aW9uIFJTQS1QU1MsIFNIQTI1NiBEaWdlc3QKLWRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTI1NjohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3JsX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhMjU2LnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMlxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTQtMDEtMjAgMTNcOjU2XDoxNlxubmV4dCB1cGRhdGUgICBcOiAyMDI0LTAxLTE4IDEzXDo1Nlw6MTZcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwQSByZXZvY2F0aW9uIGRhdGVcOiAyMDEzLTA5LTI0IDE2XDoyOFw6MzhcbnNlcmlhbCBudW1iZXJcOiAxNiByZXZvY2F0aW9uIGRhdGVcOiAyMDE0LTAxLTIwIDEzXDo0M1w6MDVcbnNpZ25lZCB1c2luZyAgXDogUlNBU1NBLVBTUyAoU0hBMjU2LCBNR0YxLVNIQTI1NiwgMHhERSlcbiIKK2RlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTI1NgorbWJlZHRsc194NTA5X2NybF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtcnNhLXBzcy1zaGEyNTYucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAyXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxNC0wMS0yMCAxM1w6NTZcOjE2XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMjQtMDEtMTggMTNcOjU2XDoxNlxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDBBIHJldm9jYXRpb24gZGF0ZVw6IDIwMTMtMDktMjQgMTZcOjI4XDozOFxuc2VyaWFsIG51bWJlclw6IDE2IHJldm9jYXRpb24gZGF0ZVw6IDIwMTQtMDEtMjAgMTNcOjQzXDowNVxuc2lnbmVkIHVzaW5nICBcOiBSU0FTU0EtUFNTIChTSEEyNTYsIE1HRjEtU0hBMjU2LCAweERFKVxuIgogCiBYNTA5IENSTCBpbmZvcm1hdGlvbiBSU0EtUFNTLCBTSEEzODQgRGlnZXN0Ci1kZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEEzODQ6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2NybF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1yc2EtcHNzLXNoYTM4NC5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDE0LTAxLTIwIDEzXDo1Nlw6Mjhcbm5leHQgdXBkYXRlICAgXDogMjAyNC0wMS0xOCAxM1w6NTZcOjI4XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zZXJpYWwgbnVtYmVyXDogMTYgcmV2b2NhdGlvbiBkYXRlXDogMjAxNC0wMS0yMCAxM1w6NDNcOjA1XG5zaWduZWQgdXNpbmcgIFw6IFJTQVNTQS1QU1MgKFNIQTM4NCwgTUdGMS1TSEEzODQsIDB4Q0UpXG4iCitkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEEzODQKK21iZWR0bHNfeDUwOV9jcmxfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLXJzYS1wc3Mtc2hhMzg0LnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMlxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTQtMDEtMjAgMTNcOjU2XDoyOFxubmV4dCB1cGRhdGUgICBcOiAyMDI0LTAxLTE4IDEzXDo1Nlw6MjhcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwQSByZXZvY2F0aW9uIGRhdGVcOiAyMDEzLTA5LTI0IDE2XDoyOFw6MzhcbnNlcmlhbCBudW1iZXJcOiAxNiByZXZvY2F0aW9uIGRhdGVcOiAyMDE0LTAxLTIwIDEzXDo0M1w6MDVcbnNpZ25lZCB1c2luZyAgXDogUlNBU1NBLVBTUyAoU0hBMzg0LCBNR0YxLVNIQTM4NCwgMHhDRSlcbiIKIAogWDUwOSBDUkwgaW5mb3JtYXRpb24gUlNBLVBTUywgU0hBNTEyIERpZ2VzdAotZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBNTEyOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jcmxfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtcnNhLXBzcy1zaGE1MTIucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAyXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxNC0wMS0yMCAxM1w6NTZcOjM4XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMjQtMDEtMTggMTNcOjU2XDozOFxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDBBIHJldm9jYXRpb24gZGF0ZVw6IDIwMTMtMDktMjQgMTZcOjI4XDozOFxuc2VyaWFsIG51bWJlclw6IDE2IHJldm9jYXRpb24gZGF0ZVw6IDIwMTQtMDEtMjAgMTNcOjQzXDowNVxuc2lnbmVkIHVzaW5nICBcOiBSU0FTU0EtUFNTIChTSEE1MTIsIE1HRjEtU0hBNTEyLCAweEJFKVxuIgorZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBNTEyCittYmVkdGxzX3g1MDlfY3JsX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1yc2EtcHNzLXNoYTUxMi5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDE0LTAxLTIwIDEzXDo1Nlw6Mzhcbm5leHQgdXBkYXRlICAgXDogMjAyNC0wMS0xOCAxM1w6NTZcOjM4XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zZXJpYWwgbnVtYmVyXDogMTYgcmV2b2NhdGlvbiBkYXRlXDogMjAxNC0wMS0yMCAxM1w6NDNcOjA1XG5zaWduZWQgdXNpbmcgIFw6IFJTQVNTQS1QU1MgKFNIQTUxMiwgTUdGMS1TSEE1MTIsIDB4QkUpXG4iCiAKIFg1MDkgQ1JMIEluZm9ybWF0aW9uIEVDLCBTSEExIERpZ2VzdAotZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3JsX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTEucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAyXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMy0wOS0yNCAxNlw6MzFcOjA4XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMjMtMDktMjIgMTZcOjMxXDowOFxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDBBIHJldm9jYXRpb24gZGF0ZVw6IDIwMTMtMDktMjQgMTZcOjI4XDozOFxuc2lnbmVkIHVzaW5nICBcOiBFQ0RTQSB3aXRoIFNIQTFcbiIKK2RlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUUKK21iZWR0bHNfeDUwOV9jcmxfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTEucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAyXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMy0wOS0yNCAxNlw6MzFcOjA4XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMjMtMDktMjIgMTZcOjMxXDowOFxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDBBIHJldm9jYXRpb24gZGF0ZVw6IDIwMTMtMDktMjQgMTZcOjI4XDozOFxuc2lnbmVkIHVzaW5nICBcOiBFQ0RTQSB3aXRoIFNIQTFcbiIKIAogWDUwOSBDUkwgSW5mb3JtYXRpb24gRUMsIFNIQTIyNCBEaWdlc3QKLWRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3JsX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTIyNC5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDEzLTA5LTI0IDE2XDozMVw6MDhcbm5leHQgdXBkYXRlICAgXDogMjAyMy0wOS0yMiAxNlw6MzFcOjA4XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBMjI0XG4iCitkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUUKK21iZWR0bHNfeDUwOV9jcmxfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTIyNC5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDEzLTA5LTI0IDE2XDozMVw6MDhcbm5leHQgdXBkYXRlICAgXDogMjAyMy0wOS0yMiAxNlw6MzFcOjA4XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBMjI0XG4iCiAKIFg1MDkgQ1JMIEluZm9ybWF0aW9uIEVDLCBTSEEyNTYgRGlnZXN0Ci1kZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2NybF9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1lYy1zaGEyNTYucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAyXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMy0wOS0yNCAxNlw6MzFcOjA4XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMjMtMDktMjIgMTZcOjMxXDowOFxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDBBIHJldm9jYXRpb24gZGF0ZVw6IDIwMTMtMDktMjQgMTZcOjI4XDozOFxuc2lnbmVkIHVzaW5nICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuIgorZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FCittYmVkdGxzX3g1MDlfY3JsX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1lYy1zaGEyNTYucGVtIjoiQ1JMIHZlcnNpb24gICBcOiAyXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxMy0wOS0yNCAxNlw6MzFcOjA4XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMjMtMDktMjIgMTZcOjMxXDowOFxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2VyaWFsIG51bWJlclw6IDBBIHJldm9jYXRpb24gZGF0ZVw6IDIwMTMtMDktMjQgMTZcOjI4XDozOFxuc2lnbmVkIHVzaW5nICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuIgogCiBYNTA5IENSTCBJbmZvcm1hdGlvbiBFQywgU0hBMzg0IERpZ2VzdAotZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jcmxfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtZWMtc2hhMzg0LnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMlxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTMtMDktMjQgMTZcOjMxXDowOFxubmV4dCB1cGRhdGUgICBcOiAyMDIzLTA5LTIyIDE2XDozMVw6MDhcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwQSByZXZvY2F0aW9uIGRhdGVcOiAyMDEzLTA5LTI0IDE2XDoyOFw6MzhcbnNpZ25lZCB1c2luZyAgXDogRUNEU0Egd2l0aCBTSEEzODRcbiIKK2RlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEzODQ6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRQorbWJlZHRsc194NTA5X2NybF9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtZWMtc2hhMzg0LnBlbSI6IkNSTCB2ZXJzaW9uICAgXDogMlxuaXNzdWVyIG5hbWUgICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBXG50aGlzIHVwZGF0ZSAgIFw6IDIwMTMtMDktMjQgMTZcOjMxXDowOFxubmV4dCB1cGRhdGUgICBcOiAyMDIzLTA5LTIyIDE2XDozMVw6MDhcblJldm9rZWQgY2VydGlmaWNhdGVzXDpcbnNlcmlhbCBudW1iZXJcOiAwQSByZXZvY2F0aW9uIGRhdGVcOiAyMDEzLTA5LTI0IDE2XDoyOFw6MzhcbnNpZ25lZCB1c2luZyAgXDogRUNEU0Egd2l0aCBTSEEzODRcbiIKIAogWDUwOSBDUkwgSW5mb3JtYXRpb24gRUMsIFNIQTUxMiBEaWdlc3QKLWRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3JsX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTUxMi5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDEzLTA5LTI0IDE2XDozMVw6MDhcbm5leHQgdXBkYXRlICAgXDogMjAyMy0wOS0yMiAxNlw6MzFcOjA4XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBNTEyXG4iCitkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUUKK21iZWR0bHNfeDUwOV9jcmxfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvY3JsLWVjLXNoYTUxMi5wZW0iOiJDUkwgdmVyc2lvbiAgIFw6IDJcbmlzc3VlciBuYW1lICAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQVxudGhpcyB1cGRhdGUgICBcOiAyMDEzLTA5LTI0IDE2XDozMVw6MDhcbm5leHQgdXBkYXRlICAgXDogMjAyMy0wOS0yMiAxNlw6MzFcOjA4XG5SZXZva2VkIGNlcnRpZmljYXRlc1w6XG5zZXJpYWwgbnVtYmVyXDogMEEgcmV2b2NhdGlvbiBkYXRlXDogMjAxMy0wOS0yNCAxNlw6MjhcOjM4XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBNTEyXG4iCiAKIFg1MDkgQ1JMIE1hbGZvcm1lZCBJbnB1dCAodHJhaWxpbmcgc3BhY2VzIGF0IGVuZCBvZiBmaWxlKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWQotbWJlZHRsc194NTA5X2NybF9wYXJzZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtbWFsZm9ybWVkLXRyYWlsaW5nLXNwYWNlcy5wZW0iOk1CRURUTFNfRVJSX1BFTV9OT19IRUFERVJfRk9PVEVSX1BSRVNFTlQKK21iZWR0bHNfeDUwOV9jcmxfcGFyc2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NybC1tYWxmb3JtZWQtdHJhaWxpbmctc3BhY2VzLnBlbSI6TUJFRFRMU19FUlJfUEVNX05PX0hFQURFUl9GT09URVJfUFJFU0VOVAogCiBYNTA5IENSTCBVbnN1cHBvcnRlZCBjcml0aWNhbCBleHRlbnNpb24gKGlzc3VpbmdEaXN0cmlidXRpb25Qb2ludCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotbWJlZHRsc194NTA5X2NybF9wYXJzZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtaWRwLnBlbSI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMgKyBNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCittYmVkdGxzX3g1MDlfY3JsX3BhcnNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtaWRwLnBlbSI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMgKyBNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCiAKIFg1MDkgQ1JMIFVuc3VwcG9ydGVkIG5vbi1jcml0aWNhbCBleHRlbnNpb24gKGlzc3VpbmdEaXN0cmlidXRpb25Qb2ludCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotbWJlZHRsc194NTA5X2NybF9wYXJzZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtaWRwbmMucGVtIjowCittYmVkdGxzX3g1MDlfY3JsX3BhcnNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9jcmwtaWRwbmMucGVtIjowCiAKIFg1MDkgQ1NSIEluZm9ybWF0aW9uIFJTQSB3aXRoIE1ENQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX1JTQV9DOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jc3JfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5tZDUiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggTUQ1XG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5tZDUiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggTUQ1XG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiBSU0Egd2l0aCBTSEExCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jc3JfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGExIjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxXG5zaWduZWQgdXNpbmcgIFw6IFJTQSB3aXRoIFNIQTFcblJTQSBrZXkgc2l6ZSAgXDogMjA0OCBiaXRzXG4iCittYmVkdGxzX3g1MDlfY3NyX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTEiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBMVxuUlNBIGtleSBzaXplICBcOiAyMDQ4IGJpdHNcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gUlNBIHdpdGggU0hBMjI0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUlNBX0M6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTIyNCI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjI0XG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGEyMjQiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTIyNFxuUlNBIGtleSBzaXplICBcOiAyMDQ4IGJpdHNcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gUlNBIHdpdGggU0hBMjU2CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTI1NiI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGEyNTYiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICBcOiAyMDQ4IGJpdHNcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gUlNBIHdpdGggU0hBMzg0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfUlNBX0M6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTM4NCI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMzg0XG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGEzODQiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTM4NFxuUlNBIGtleSBzaXplICBcOiAyMDQ4IGJpdHNcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gUlNBIHdpdGggU0hBNTEyCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUlNBX0M6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEucmVxLnNoYTUxMiI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtNTEyXG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5zaGE1MTIiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTUxMlxuUlNBIGtleSBzaXplICBcOiAyMDQ4IGJpdHNcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gUlNBIHdpdGggU0hBMjU2LCBjb250YWluaW5nIGNvbW1hcwogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jc3JfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5jb21tYXMuc2hhMjU2IjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0xcXCwgQ29tbWFzLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLnJlcS5jb21tYXMuc2hhMjU2IjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0xcXCwgQ29tbWFzLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiBFQyB3aXRoIFNIQTEKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTE6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTEiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBMVxuRUMga2V5IHNpemUgICBcOiAyNTYgYml0c1xuXG5rZXkgdXNhZ2UgICAgICAgICBcOiBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9uLCBLZXkgRW5jaXBoZXJtZW50XG4iCittYmVkdGxzX3g1MDlfY3NyX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTEiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBMVxuRUMga2V5IHNpemUgICBcOiAyNTYgYml0c1xuXG5rZXkgdXNhZ2UgICAgICAgICBcOiBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9uLCBLZXkgRW5jaXBoZXJtZW50XG4iCiAKIFg1MDkgQ1NSIEluZm9ybWF0aW9uIEVDIHdpdGggU0hBMjI0CiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyMjQ6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTIyNCI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3RcbnNpZ25lZCB1c2luZyAgXDogRUNEU0Egd2l0aCBTSEEyMjRcbkVDIGtleSBzaXplICAgXDogMjU2IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudFxuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LnJlcS5zaGEyMjQiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBMjI0XG5FQyBrZXkgc2l6ZSAgIFw6IDI1NiBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gRUMgd2l0aCBTSEEyNTYKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NjohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3NyX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5yZXEuc2hhMjU2IjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuc2lnbmVkIHVzaW5nICBcOiBFQ0RTQSB3aXRoIFNIQTI1NlxuRUMga2V5IHNpemUgICBcOiAyNTYgYml0c1xuXG5rZXkgdXNhZ2UgICAgICAgICBcOiBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9uLCBLZXkgRW5jaXBoZXJtZW50XG4iCittYmVkdGxzX3g1MDlfY3NyX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTI1NiI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3RcbnNpZ25lZCB1c2luZyAgXDogRUNEU0Egd2l0aCBTSEEyNTZcbkVDIGtleSBzaXplICAgXDogMjU2IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudFxuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiBFQyB3aXRoIFNIQTM4NAogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMzg0OiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jc3JfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LnJlcS5zaGEzODQiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBMzg0XG5FQyBrZXkgc2l6ZSAgIFw6IDI1NiBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK21iZWR0bHNfeDUwOV9jc3JfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS5yZXEuc2hhMzg0IjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuc2lnbmVkIHVzaW5nICBcOiBFQ0RTQSB3aXRoIFNIQTM4NFxuRUMga2V5IHNpemUgICBcOiAyNTYgYml0c1xuXG5rZXkgdXNhZ2UgICAgICAgICBcOiBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9uLCBLZXkgRW5jaXBoZXJtZW50XG4iCiAKIFg1MDkgQ1NSIEluZm9ybWF0aW9uIEVDIHdpdGggU0hBNTEyCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEE1MTI6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjUucmVxLnNoYTUxMiI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3RcbnNpZ25lZCB1c2luZyAgXDogRUNEU0Egd2l0aCBTSEE1MTJcbkVDIGtleSBzaXplICAgXDogMjU2IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudFxuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LnJlcS5zaGE1MTIiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5zaWduZWQgdXNpbmcgIFw6IEVDRFNBIHdpdGggU0hBNTEyXG5FQyBrZXkgc2l6ZSAgIFw6IDI1NiBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gUlNBLVBTUyB3aXRoIFNIQTEKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTE6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkucmVxLnNoYTEiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0XG5zaWduZWQgdXNpbmcgIFw6IFJTQVNTQS1QU1MgKFNIQTEsIE1HRjEtU0hBMSwgMHg2QSlcblJTQSBrZXkgc2l6ZSAgXDogMTAyNCBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK21iZWR0bHNfeDUwOV9jc3JfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhMSI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3RcbnNpZ25lZCB1c2luZyAgXDogUlNBU1NBLVBTUyAoU0hBMSwgTUdGMS1TSEExLCAweDZBKVxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudFxuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiBSU0EtUFNTIHdpdGggU0hBMjI0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEEyMjQ6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkucmVxLnNoYTIyNCI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3RcbnNpZ25lZCB1c2luZyAgXDogUlNBU1NBLVBTUyAoU0hBMjI0LCBNR0YxLVNIQTIyNCwgMHg2MilcblJTQSBrZXkgc2l6ZSAgXDogMTAyNCBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK21iZWR0bHNfeDUwOV9jc3JfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhMjI0IjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuc2lnbmVkIHVzaW5nICBcOiBSU0FTU0EtUFNTIChTSEEyMjQsIE1HRjEtU0hBMjI0LCAweDYyKVxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudFxuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiBSU0EtUFNTIHdpdGggU0hBMjU2CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEEyNTY6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkucmVxLnNoYTI1NiI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3RcbnNpZ25lZCB1c2luZyAgXDogUlNBU1NBLVBTUyAoU0hBMjU2LCBNR0YxLVNIQTI1NiwgMHg1RSlcblJTQSBrZXkgc2l6ZSAgXDogMTAyNCBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK21iZWR0bHNfeDUwOV9jc3JfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhMjU2IjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuc2lnbmVkIHVzaW5nICBcOiBSU0FTU0EtUFNTIChTSEEyNTYsIE1HRjEtU0hBMjU2LCAweDVFKVxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudFxuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiBSU0EtUFNTIHdpdGggU0hBMzg0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEEzODQ6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkucmVxLnNoYTM4NCI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3RcbnNpZ25lZCB1c2luZyAgXDogUlNBU1NBLVBTUyAoU0hBMzg0LCBNR0YxLVNIQTM4NCwgMHg0RSlcblJTQSBrZXkgc2l6ZSAgXDogMTAyNCBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK21iZWR0bHNfeDUwOV9jc3JfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhMzg0IjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuc2lnbmVkIHVzaW5nICBcOiBSU0FTU0EtUFNTIChTSEEzODQsIE1HRjEtU0hBMzg0LCAweDRFKVxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudFxuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiBSU0EtUFNTIHdpdGggU0hBNTEyCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEE1MTI6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjkucmVxLnNoYTUxMiI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3RcbnNpZ25lZCB1c2luZyAgXDogUlNBU1NBLVBTUyAoU0hBNTEyLCBNR0YxLVNIQTUxMiwgMHgzRSlcblJTQSBrZXkgc2l6ZSAgXDogMTAyNCBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBOb24gUmVwdWRpYXRpb24sIEtleSBFbmNpcGhlcm1lbnRcbiIKK21iZWR0bHNfeDUwOV9jc3JfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyOS5yZXEuc2hhNTEyIjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdFxuc2lnbmVkIHVzaW5nICBcOiBSU0FTU0EtUFNTIChTSEE1MTIsIE1HRjEtU0hBNTEyLCAweDNFKVxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudFxuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiBSU0Egd2l0aCBTSEEyNTYgLSBNaWNyb3NvZnQgaGVhZGVyCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEtbXMucmVxLnNoYTI1NiI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMVxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDIwNDggYml0c1xuIgorbWJlZHRsc194NTA5X2Nzcl9pbmZvOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxLW1zLnJlcS5zaGEyNTYiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDFcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICBcOiAyMDQ4IGJpdHNcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gdjMgZXh0ZW5zaW9ucyAjMSAoYWxsKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzohTUJFRFRMU19YNTA5X1JFTU9WRV9JTkZPCi1tYmVkdGxzX3g1MDlfY3NyX2luZm86ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQ049ZXRjZFxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDEwMjQgYml0c1xuXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIG90aGVyTmFtZSBcOlxuICAgICAgICBoYXJkd2FyZSBtb2R1bGUgbmFtZSBcOlxuICAgICAgICAgICAgaGFyZHdhcmUgdHlwZSAgICAgICAgICBcOiAxLjMuNi4xLjQuMS4xNy4zXG4gICAgICAgICAgICBoYXJkd2FyZSBzZXJpYWwgbnVtYmVyIFw6IDMxMzIzMzgwODEwMDgxODAzMzMyMzFcbmNlcnQuIHR5cGUgICAgICAgIFw6IFNTTCBDbGllbnRcbmtleSB1c2FnZSAgICAgICAgIFw6IENSTCBTaWduXG4iCittYmVkdGxzX3g1MDlfY3NyX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbC5jc3IuZGVyIjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IENOPWV0Y2RcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxuc3ViamVjdCBhbHQgbmFtZSAgXDpcbiAgICBvdGhlck5hbWUgXDpcbiAgICAgICAgaGFyZHdhcmUgbW9kdWxlIG5hbWUgXDpcbiAgICAgICAgICAgIGhhcmR3YXJlIHR5cGUgICAgICAgICAgXDogMS4zLjYuMS40LjEuMTcuM1xuICAgICAgICAgICAgaGFyZHdhcmUgc2VyaWFsIG51bWJlciBcOiAzMTMyMzM4MDgxMDA4MTgwMzMzMjMxXG5jZXJ0LiB0eXBlICAgICAgICBcOiBTU0wgQ2xpZW50XG5rZXkgdXNhZ2UgICAgICAgICBcOiBDUkwgU2lnblxuIgogCiBYNTA5IENTUiBJbmZvcm1hdGlvbiB2MyBleHRlbnNpb25zICMyIChuc0NlcnRUeXBlIG9ubHkpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jc3JfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19uc0NlcnRUeXBlLmNzci5kZXIiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQ049ZXRjZFxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDEwMjQgYml0c1xuXG5jZXJ0LiB0eXBlICAgICAgICBcOiBTU0wgU2VydmVyXG4iCittYmVkdGxzX3g1MDlfY3NyX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX25zQ2VydFR5cGUuY3NyLmRlciI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDTj1ldGNkXG5zaWduZWQgdXNpbmcgIFw6IFJTQSB3aXRoIFNIQS0yNTZcblJTQSBrZXkgc2l6ZSAgXDogMTAyNCBiaXRzXG5cbmNlcnQuIHR5cGUgICAgICAgIFw6IFNTTCBTZXJ2ZXJcbiIKIAogWDUwOSBDU1IgSW5mb3JtYXRpb24gdjMgZXh0ZW5zaW9ucyAjMyAoc3ViamVjdEFsdE5hbWUgb25seSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6IU1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTwotbWJlZHRsc194NTA5X2Nzcl9pbmZvOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX3N1YmplY3RBbHROYW1lLmNzci5kZXIiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQ049ZXRjZFxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDEwMjQgYml0c1xuXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIGROU05hbWUgXDogZXhhbXBsZS5jb21cbiAgICBkTlNOYW1lIFw6IGV4YW1wbGUubmV0XG4gICAgZE5TTmFtZSBcOiAqLmV4YW1wbGUub3JnXG4iCittYmVkdGxzX3g1MDlfY3NyX2luZm86Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX3N1YmplY3RBbHROYW1lLmNzci5kZXIiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQ049ZXRjZFxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDEwMjQgYml0c1xuXG5zdWJqZWN0IGFsdCBuYW1lICBcOlxuICAgIGROU05hbWUgXDogZXhhbXBsZS5jb21cbiAgICBkTlNOYW1lIFw6IGV4YW1wbGUubmV0XG4gICAgZE5TTmFtZSBcOiAqLmV4YW1wbGUub3JnXG4iCiAKIFg1MDkgQ1NSIEluZm9ybWF0aW9uIHYzIGV4dGVuc2lvbnMgIzQgKGtleVVzYWdlIG9ubHkpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOiFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8KLW1iZWR0bHNfeDUwOV9jc3JfaW5mbzoiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19rZXlVc2FnZS5jc3IuZGVyIjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IENOPWV0Y2RcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxua2V5IHVzYWdlICAgICAgICAgXDogRGlnaXRhbCBTaWduYXR1cmUsIEtleSBFbmNpcGhlcm1lbnRcbiIKK21iZWR0bHNfeDUwOV9jc3JfaW5mbzoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfa2V5VXNhZ2UuY3NyLmRlciI6IkNTUiB2ZXJzaW9uICAgXDogMVxuc3ViamVjdCBuYW1lICBcOiBDTj1ldGNkXG5zaWduZWQgdXNpbmcgIFw6IFJTQSB3aXRoIFNIQS0yNTZcblJTQSBrZXkgc2l6ZSAgXDogMTAyNCBiaXRzXG5cbmtleSB1c2FnZSAgICAgICAgIFw6IERpZ2l0YWwgU2lnbmF0dXJlLCBLZXkgRW5jaXBoZXJtZW50XG4iCiAKIFg1MDkgVmVyaWZ5IEluZm9ybWF0aW9uOiBlbXB0eQogeDUwOV92ZXJpZnlfaW5mbzowOiIiOiIiCkBAIC00MjksNTUgKzQyOSw1NSBAQAogCiBYNTA5IEdldCBEaXN0aW5ndWlzaGVkIE5hbWUgIzEKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9kbl9nZXRzOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY3J0Ijoic3ViamVjdCI6IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIgorbWJlZHRsc194NTA5X2RuX2dldHM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0Ijoic3ViamVjdCI6IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIgogCiBYNTA5IEdldCBEaXN0aW5ndWlzaGVkIE5hbWUgIzIKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9kbl9nZXRzOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiaXNzdWVyIjoiQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQSIKK21iZWR0bHNfeDUwOV9kbl9nZXRzOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Imlzc3VlciI6IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EiCiAKIFg1MDkgR2V0IERpc3Rpbmd1aXNoZWQgTmFtZSAjMwogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQotbWJlZHRsc194NTA5X2RuX2dldHM6ImRhdGFfZmlsZXMvc2VydmVyMi5jcnQiOiJzdWJqZWN0IjoiQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IgorbWJlZHRsc194NTA5X2RuX2dldHM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0Ijoic3ViamVjdCI6IkM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdCIKIAogWDUwOSBHZXQgRGlzdGluZ3Vpc2hlZCBOYW1lICM0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfZG5fZ2V0czoiZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6Imlzc3VlciI6IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EiCittYmVkdGxzX3g1MDlfZG5fZ2V0czoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi5jcnQiOiJpc3N1ZXIiOiJDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBIgogCiBYNTA5IEdldCBEaXN0aW5ndWlzaGVkIE5hbWUgIzUKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9kbl9nZXRzOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY29tbWFzLmNydCI6InN1YmplY3QiOiJDPU5MLCBPPVBvbGFyU1NMXFwsIENvbW1hcywgQ049UG9sYXJTU0wgU2VydmVyIDEiCittYmVkdGxzX3g1MDlfZG5fZ2V0czoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jb21tYXMuY3J0Ijoic3ViamVjdCI6IkM9TkwsIE89UG9sYXJTU0xcXCwgQ29tbWFzLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIKIAogWDUwOSBHZXQgRGlzdGluZ3Vpc2hlZCBOYW1lICM2CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfZG5fZ2V0czoiZGF0YV9maWxlcy9zZXJ2ZXIxLmhhc2hzeW1ib2wuY3J0Ijoic3ViamVjdCI6IkM9TkwsIE89XFwjUG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIgorbWJlZHRsc194NTA5X2RuX2dldHM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuaGFzaHN5bWJvbC5jcnQiOiJzdWJqZWN0IjoiQz1OTCwgTz1cXCNQb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDEiCiAKIFg1MDkgR2V0IERpc3Rpbmd1aXNoZWQgTmFtZSAjNwogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQotbWJlZHRsc194NTA5X2RuX2dldHM6ImRhdGFfZmlsZXMvc2VydmVyMS5zcGFjZXMuY3J0Ijoic3ViamVjdCI6IkM9TkwsIE89XFwgUG9sYXJTU0xcXCAsIENOPVBvbGFyU1NMIFNlcnZlciAxIgorbWJlZHRsc194NTA5X2RuX2dldHM6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuc3BhY2VzLmNydCI6InN1YmplY3QiOiJDPU5MLCBPPVxcIFBvbGFyU1NMXFwgLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIKIAogWDUwOSBHZXQgRGlzdGluZ3Vpc2hlZCBOYW1lICM4CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfZG5fZ2V0czoiZGF0YV9maWxlcy9zZXJ2ZXIxLmFzY2lpY2hhcnMuY3J0Ijoic3ViamVjdCI6IkM9TkwsIE89XFxFNlxcOUVcXDgxXFxFNVxcOUNcXEIwU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIKK21iZWR0bHNfeDUwOV9kbl9nZXRzOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmFzY2lpY2hhcnMuY3J0Ijoic3ViamVjdCI6IkM9TkwsIE89XFxFNlxcOUVcXDgxXFxFNVxcOUNcXEIwU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMSIKIAogWDUwOSBHZXQgTW9kaWZpZWQgRE4gIzEKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9kbl9nZXRzX3N1YmplY3RfcmVwbGFjZToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ik1vZGlmaWVkIjoiQz1OTCwgTz1Nb2RpZmllZCwgQ049UG9sYXJTU0wgU2VydmVyIDEiOjAKK21iZWR0bHNfeDUwOV9kbl9nZXRzX3N1YmplY3RfcmVwbGFjZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJNb2RpZmllZCI6IkM9TkwsIE89TW9kaWZpZWQsIENOPVBvbGFyU1NMIFNlcnZlciAxIjowCiAKIFg1MDkgR2V0IE1vZGlmaWVkIEROICMyIE5hbWUgZXhhY3RseSAyNTUgYnl0ZXMKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9kbl9nZXRzX3N1YmplY3RfcmVwbGFjZToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6IjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSI6IkM9TkwsIE89MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1LCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6MAorbWJlZHRsc194NTA5X2RuX2dldHNfc3ViamVjdF9yZXBsYWNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6IjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSI6IkM9TkwsIE89MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1LCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6MAogCiBYNTA5IEdldCBNb2RpZmllZCBETiAjMyBOYW1lIGV4Y2VlZHMgMjU1IGJ5dGVzCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfZG5fZ2V0c19zdWJqZWN0X3JlcGxhY2U6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2IjoiIjpNQkVEVExTX0VSUl9YNTA5X0JVRkZFUl9UT09fU01BTEwKK21iZWR0bHNfeDUwOV9kbl9nZXRzX3N1YmplY3RfcmVwbGFjZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2IjoiIjpNQkVEVExTX0VSUl9YNTA5X0JVRkZFUl9UT09fU01BTEwKIAogWDUwOSBHZXQgTW9kaWZpZWQgRE4gIzQgTmFtZSBleGFjdGx5IDI1NSBieXRlcywgd2l0aCBjb21tYSByZXF1aXJpbmcgZXNjYXBpbmcKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9kbl9nZXRzX3N1YmplY3RfcmVwbGFjZToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6IjEyMzQ1Njc4OTAsMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNCI6IiI6TUJFRFRMU19FUlJfWDUwOV9CVUZGRVJfVE9PX1NNQUxMCittYmVkdGxzX3g1MDlfZG5fZ2V0c19zdWJqZWN0X3JlcGxhY2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiMTIzNDU2Nzg5MCwxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0IjoiIjpNQkVEVExTX0VSUl9YNTA5X0JVRkZFUl9UT09fU01BTEwKIAogWDUwOSBHZXQgTW9kaWZpZWQgRE4gIzUgTmFtZSBleGFjdGx5IDI1NSBieXRlcywgZW5kaW5nIHdpdGggY29tbWEgcmVxdWlyaW5nIGVzY2FwaW5nCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfZG5fZ2V0c19zdWJqZWN0X3JlcGxhY2U6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNCwiOiIiOk1CRURUTFNfRVJSX1g1MDlfQlVGRkVSX1RPT19TTUFMTAorbWJlZHRsc194NTA5X2RuX2dldHNfc3ViamVjdF9yZXBsYWNlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6IjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0LCI6IiI6TUJFRFRMU19FUlJfWDUwOV9CVUZGRVJfVE9PX1NNQUxMCiAKIFg1MDkgR2V0IE5leHQgRE4gIzEgTm8gTXVsdGl2YWx1ZSBSRE5zCiBtYmVkdGxzX3g1MDlfZG5fZ2V0X25leHQ6IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIjowOiJDIE8gQ04iOjM6IkM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIgpAQCAtNTMzLDU1MSArNTMzLDU1MSBAQAogCiBYNTA5IFRpbWUgRXhwaXJlZCAjMQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19IQVZFX1RJTUVfREFURTpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfdGltZV9pc19wYXN0OiJkYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoidmFsaWRfZnJvbSI6MQorbWJlZHRsc194NTA5X3RpbWVfaXNfcGFzdDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJ2YWxpZF9mcm9tIjoxCiAKIFg1MDkgVGltZSBFeHBpcmVkICMyCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV90aW1lX2lzX3Bhc3Q6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJ2YWxpZF90byI6MAorbWJlZHRsc194NTA5X3RpbWVfaXNfcGFzdDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJ2YWxpZF90byI6MAogCiBYNTA5IFRpbWUgRXhwaXJlZCAjMwogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19IQVZFX1RJTUVfREFURTpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfdGltZV9pc19wYXN0OiJkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IjoidmFsaWRfZnJvbSI6MQorbWJlZHRsc194NTA5X3RpbWVfaXNfcGFzdDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi5jcnQiOiJ2YWxpZF9mcm9tIjoxCiAKIFg1MDkgVGltZSBFeHBpcmVkICM0CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV90aW1lX2lzX3Bhc3Q6ImRhdGFfZmlsZXMvc2VydmVyMi5jcnQiOiJ2YWxpZF90byI6MAorbWJlZHRsc194NTA5X3RpbWVfaXNfcGFzdDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi5jcnQiOiJ2YWxpZF90byI6MAogCiBYNTA5IFRpbWUgRXhwaXJlZCAjNQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19IQVZFX1RJTUVfREFURTpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfdGltZV9pc19wYXN0OiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoidmFsaWRfZnJvbSI6MQorbWJlZHRsc194NTA5X3RpbWVfaXNfcGFzdDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJ2YWxpZF9mcm9tIjoxCiAKIFg1MDkgVGltZSBFeHBpcmVkICM2CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV90aW1lX2lzX3Bhc3Q6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJ2YWxpZF90byI6MAorbWJlZHRsc194NTA5X3RpbWVfaXNfcGFzdDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJ2YWxpZF90byI6MAogCiBYNTA5IFRpbWUgRnV0dXJlICMxCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotbWJlZHRsc194NTA5X3RpbWVfaXNfZnV0dXJlOiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoidmFsaWRfZnJvbSI6MAorbWJlZHRsc194NTA5X3RpbWVfaXNfZnV0dXJlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6InZhbGlkX2Zyb20iOjAKIAogWDUwOSBUaW1lIEZ1dHVyZSAjMgogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19IQVZFX1RJTUVfREFURTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLW1iZWR0bHNfeDUwOV90aW1lX2lzX2Z1dHVyZToiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6InZhbGlkX3RvIjoxCittYmVkdGxzX3g1MDlfdGltZV9pc19mdXR1cmU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoidmFsaWRfdG8iOjEKIAogWDUwOSBUaW1lIEZ1dHVyZSAjMwogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19IQVZFX1RJTUVfREFURTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLW1iZWR0bHNfeDUwOV90aW1lX2lzX2Z1dHVyZToiZGF0YV9maWxlcy9zZXJ2ZXI1LWZ1dHVyZS5jcnQiOiJ2YWxpZF9mcm9tIjoxCittYmVkdGxzX3g1MDlfdGltZV9pc19mdXR1cmU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtZnV0dXJlLmNydCI6InZhbGlkX2Zyb20iOjEKIAogWDUwOSBUaW1lIEZ1dHVyZSAjNAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19IQVZFX1RJTUVfREFURTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLW1iZWR0bHNfeDUwOV90aW1lX2lzX2Z1dHVyZToiZGF0YV9maWxlcy9zZXJ2ZXI1LWZ1dHVyZS5jcnQiOiJ2YWxpZF90byI6MQorbWJlZHRsc194NTA5X3RpbWVfaXNfZnV0dXJlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LWZ1dHVyZS5jcnQiOiJ2YWxpZF90byI6MQogCiBYNTA5IFRpbWUgRnV0dXJlICM1CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotbWJlZHRsc194NTA5X3RpbWVfaXNfZnV0dXJlOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6InZhbGlkX2Zyb20iOjAKK21iZWR0bHNfeDUwOV90aW1lX2lzX2Z1dHVyZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoidmFsaWRfZnJvbSI6MAogCiBYNTA5IFRpbWUgRnV0dXJlICM2CiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTI1NgotbWJlZHRsc194NTA5X3RpbWVfaXNfZnV0dXJlOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6InZhbGlkX3RvIjoxCittYmVkdGxzX3g1MDlfdGltZV9pc19mdXR1cmU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6InZhbGlkX3RvIjoxCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMSAoUmV2b2tlZCBDZXJ0LCBFeHBpcmVkIENSTCwgbm8gQ04pCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsX2V4cGlyZWQucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRCB8IE1CRURUTFNfWDUwOV9CQURDUkxfRVhQSVJFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX2V4cGlyZWQucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRCB8IE1CRURUTFNfWDUwOV9CQURDUkxfRVhQSVJFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMxYSAoUmV2b2tlZCBDZXJ0LCBGdXR1cmUgQ1JMLCBubyBDTikKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6ImRhdGFfZmlsZXMvY3JsLWZ1dHVyZS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEIHwgTUJFRFRMU19YNTA5X0JBRENSTF9GVVRVUkU6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZnV0dXJlLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQgfCBNQkVEVExTX1g1MDlfQkFEQ1JMX0ZVVFVSRToiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMyIChSZXZva2VkIENlcnQsIEV4cGlyZWQgQ1JMKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybF9leHBpcmVkLnBlbSI6IlBvbGFyU1NMIFNlcnZlciAxIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEIHwgTUJFRFRMU19YNTA5X0JBRENSTF9FWFBJUkVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmxfZXhwaXJlZC5wZW0iOiJQb2xhclNTTCBTZXJ2ZXIgMSI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRCB8IE1CRURUTFNfWDUwOV9CQURDUkxfRVhQSVJFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMyYSAoUmV2b2tlZCBDZXJ0LCBGdXR1cmUgQ1JMKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZnV0dXJlLnBlbSI6ImxvY2FsaG9zdCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRCB8IE1CRURUTFNfWDUwOV9CQURDUkxfRlVUVVJFOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjYuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWZ1dHVyZS5wZW0iOiJsb2NhbGhvc3QiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQgfCBNQkVEVExTX1g1MDlfQkFEQ1JMX0ZVVFVSRToiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMzIChSZXZva2VkIENlcnQsIEZ1dHVyZSBDUkwsIENOIE1pc21hdGNoKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybF9leHBpcmVkLnBlbSI6IlBvbGFyU1NMIFdyb25nIENOIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEIHwgTUJFRFRMU19YNTA5X0JBRENSTF9FWFBJUkVEIHwgTUJFRFRMU19YNTA5X0JBRENFUlRfQ05fTUlTTUFUQ0g6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybF9leHBpcmVkLnBlbSI6IlBvbGFyU1NMIFdyb25nIENOIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEIHwgTUJFRFRMU19YNTA5X0JBRENSTF9FWFBJUkVEIHwgTUJFRFRMU19YNTA5X0JBRENFUlRfQ05fTUlTTUFUQ0g6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjM2EgKFJldm9rZWQgQ2VydCwgRXhwaXJlZCBDUkwsIENOIE1pc21hdGNoKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZnV0dXJlLnBlbSI6Ildyb25nIENOIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEIHwgTUJFRFRMU19YNTA5X0JBRENSTF9GVVRVUkUgfCBNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1mdXR1cmUucGVtIjoiV3JvbmcgQ04iOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQgfCBNQkVEVExTX1g1MDlfQkFEQ1JMX0ZVVFVSRSB8IE1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzQgKFZhbGlkIENlcnQsIEV4cGlyZWQgQ1JMKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybF9leHBpcmVkLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDUkxfRVhQSVJFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX2V4cGlyZWQucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENSTF9FWFBJUkVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzRhIChSZXZva2VkIENlcnQsIEZ1dHVyZSBDUkwpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC1mdXR1cmUucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENSTF9GVVRVUkU6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZnV0dXJlLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDUkxfRlVUVVJFOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzUgKFJldm9rZWQgQ2VydCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNScgKFJldm9rZWQgQ2VydCwgZGlmZmVyaW5nIEROIHN0cmluZyBmb3JtYXRzICMxKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYV91dGY4LmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3V0ZjguY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNScnIChSZXZva2VkIENlcnQsIGRpZmZlcmluZyBETiBzdHJpbmcgZm9ybWF0cyAjMikKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfcHJpbnRhYmxlLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3ByaW50YWJsZS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM1JycnIChSZXZva2VkIENlcnQsIGRpZmZlcmluZyB1cHBlciBhbmQgbG93ZXIgY2FzZSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfdXBwZXJjYXNlLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VwcGVyY2FzZS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM2IChSZXZva2VkIENlcnQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6IlBvbGFyU1NMIFNlcnZlciAxIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiUG9sYXJTU0wgU2VydmVyIDEiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNyAoUmV2b2tlZCBDZXJ0LCBDTiBNaXNtYXRjaCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiUG9sYXJTU0wgV3JvbmcgQ04iOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQgfCBNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6IlBvbGFyU1NMIFdyb25nIENOIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEIHwgTUJFRFRMU19YNTA5X0JBRENFUlRfQ05fTUlTTUFUQ0g6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjOCAoVmFsaWQgQ2VydCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM4YSAoRXhwaXJlZCBDZXJ0KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LWV4cGlyZWQuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0VYUElSRUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS1leHBpcmVkLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0VYUElSRUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjOGIgKEZ1dHVyZSBDZXJ0KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LWZ1dHVyZS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTEucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfRlVUVVJFOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtZnV0dXJlLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0ZVVFVSRToiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM4YyAoRXhwaXJlZCBDZXJ0LCBsb25nZXIgY2hhaW4pCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNy1leHBpcmVkLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9FWFBJUkVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjctZXhwaXJlZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9FWFBJUkVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzhkIChGdXR1cmUgQ2VydCwgbG9uZ2VyIGNoYWluKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjctZnV0dXJlLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9GVVRVUkU6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNy1mdXR1cmUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTEucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfRlVUVVJFOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzkgKE5vdCB0cnVzdGVkIENlcnQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzEwIChOb3QgdHJ1c3RlZCBDZXJ0LCBFeHBpcmVkIENSTCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IjoiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6ImRhdGFfZmlsZXMvY3JsX2V4cGlyZWQucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybF9leHBpcmVkLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzEzIChWYWxpZCBDZXJ0IE1ENSBEaWdlc3QsIE1ENSBmb3JiaWRkZW4pCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9tZDUuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9NRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X21kNS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfTUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMTMgKFZhbGlkIENlcnQgTUQ1IERpZ2VzdCwgTUQ1IGFsbG93ZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9tZDUuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiYWxsIjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X21kNS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImFsbCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMTQgKFZhbGlkIENlcnQgU0hBMSBEaWdlc3QgZXhwbGljaXRseSBhbGxvd2VkIGluIHByb2ZpbGUpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL2NlcnRfc2hhMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NlcnRfc2hhMS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMTQgKFZhbGlkIENlcnQgU0hBMSBEaWdlc3QgZm9yYmlkZGVuIGluIGRlZmF1bHQgcHJvZmlsZSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9zaGExLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ1JMX0JBRF9NRCB8IE1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9NRDoiIjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X3NoYTEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENSTF9CQURfTUQgfCBNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfTUQ6IiI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMTUgKFZhbGlkIENlcnQgU0hBMjI0IERpZ2VzdCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9jZXJ0X3NoYTIyNC5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NlcnRfc2hhMjI0LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMxNiAoVmFsaWQgQ2VydCBTSEEyNTYgRGlnZXN0KQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL2NlcnRfc2hhMjU2LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY2VydF9zaGEyNTYuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzE3IChWYWxpZCBDZXJ0IFNIQTM4NCBEaWdlc3QpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9zaGEzODQuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X3NoYTM4NC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMTggKFZhbGlkIENlcnQgU0hBNTEyIERpZ2VzdCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9jZXJ0X3NoYTUxMi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NlcnRfc2hhNTEyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMxOSAoVmFsaWQgQ2VydCwgZGVueWluZyBjYWxsYmFjaykKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9jZXJ0X3NoYTUxMi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfT1RIRVI6ImNvbXBhdCI6InZlcmlmeV9ub25lIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NlcnRfc2hhNTEyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX09USEVSOiJjb21wYXQiOiJ2ZXJpZnlfbm9uZSIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMxOSAoTm90IHRydXN0ZWQgQ2VydCwgYWxsb3dpbmcgY2FsbGJhY2spCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL2NybF9leHBpcmVkLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoidmVyaWZ5X2FsbCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX2V4cGlyZWQucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJ2ZXJpZnlfYWxsIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzIxIChkb21haW4gbWF0Y2hpbmcgd2lsZGNhcmQgY2VydGlmaWNhdGUsIGNhc2UgaW5zZW5zaXRpdmUpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfd2lsZGNhcmQuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Im1haWwuRXhBbVBsRS5jb20iOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfd2lsZGNhcmQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoibWFpbC5FeEFtUGxFLmNvbSI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzIyIChkb21haW4gbm90IG1hdGNoaW5nIHdpbGRjYXJkIGNlcnRpZmljYXRlKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9leGFtcGxlX3dpbGRjYXJkLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJtYWlsLmV4YW1wbGUubmV0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfd2lsZGNhcmQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoibWFpbC5leGFtcGxlLm5ldCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfQ05fTUlTTUFUQ0g6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMjMgKGRvbWFpbiBub3QgbWF0Y2hpbmcgd2lsZGNhcmQgY2VydGlmaWNhdGUpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfd2lsZGNhcmQuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6ImV4YW1wbGUuY29tIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfd2lsZGNhcmQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiZXhhbXBsZS5jb20iOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzI0IChkb21haW4gbWF0Y2hpbmcgQ04gb2YgbXVsdGkgY2VydGlmaWNhdGUpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJ3d3cuZXhhbXBsZS5jb20iOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NlcnRfZXhhbXBsZV9tdWx0aS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJ3d3cuZXhhbXBsZS5jb20iOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzI1IChkb21haW4gbWF0Y2hpbmcgbXVsdGkgY2VydGlmaWNhdGUpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJleGFtcGxlLm5ldCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NlcnRfZXhhbXBsZV9tdWx0aS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJleGFtcGxlLm5ldCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzI2IChkb21haW4gbm90IG1hdGNoaW5nIG11bHRpIGNlcnRpZmljYXRlKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL2NlcnRfZXhhbXBsZV9tdWx0aS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoid3d3LmV4YW1wbGUubmV0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfbXVsdGkuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoid3d3LmV4YW1wbGUubmV0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMyNy4xIChkb21haW4gbm90IG1hdGNoaW5nIG11bHRpIGNlcnRpZmljYXRlOiBzdWZmaXgpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJ4YW1wbGUubmV0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfbXVsdGkuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoieGFtcGxlLm5ldCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfQ05fTUlTTUFUQ0g6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMjcuMiAoZG9tYWluIG5vdCBtYXRjaGluZyBtdWx0aSBjZXJ0aWZpY2F0ZTogaGVhZCBqdW5rKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL2NlcnRfZXhhbXBsZV9tdWx0aS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiYmV4YW1wbGUubmV0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfbXVsdGkuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiYmV4YW1wbGUubmV0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMyOCAoZG9tYWluIG5vdCBtYXRjaGluZyB3aWxkY2FyZCBpbiBtdWx0aSBjZXJ0aWZpY2F0ZSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfbXVsdGkuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6ImV4YW1wbGUub3JnIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfbXVsdGkuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiZXhhbXBsZS5vcmciOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzI5IChkb21haW4gbWF0Y2hpbmcgd2lsZGNhcmQgaW4gbXVsdGkgY2VydGlmaWNhdGUpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJtYWlsLmV4YW1wbGUub3JnIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Im1haWwuZXhhbXBsZS5vcmciOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMzMCAoZG9tYWluIG1hdGNoaW5nIG11bHRpIGNlcnRpZmljYXRlIHdpdGhvdXQgQ04pCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9jZXJ0X2V4YW1wbGVfbXVsdGlfbm9jbi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoid3d3LnNob3Rva2FuLWJyYXVuc2Nod2VpZy5kZSI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpX25vY24uY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoid3d3LnNob3Rva2FuLWJyYXVuc2Nod2VpZy5kZSI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMzEgKGRvbWFpbiBub3QgbWF0Y2hpbmcgbXVsdGkgY2VydGlmaWNhdGUgd2l0aG91dCBDTikKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL2NlcnRfZXhhbXBsZV9tdWx0aV9ub2NuLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJ3d3cuZXhhbXBsZS5uZXQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIICsgTUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY2VydF9leGFtcGxlX211bHRpX25vY24uY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoid3d3LmV4YW1wbGUubmV0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSCArIE1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzMyIChWYWxpZCwgRUMgY2VydCwgUlNBIENBKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDE5MlIxOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMy5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjMuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzMzIChWYWxpZCwgUlNBIGNlcnQsIEVDIENBKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI0LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI0LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzM0IChWYWxpZCwgRUMgY2VydCwgRUMgQ0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMzNSAoUmV2b2tlZCwgRUMgQ0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMzYgKFZhbGlkLCBFQyBDQSwgU0hBMSBEaWdlc3QpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTEuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc2hhMS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICMzNyAoVmFsaWQsIEVDIENBLCBTSEEyMjQgRGlnZXN0KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMjI0Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTIyNC5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS1zaGEyMjQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjMzggKFZhbGlkLCBFQyBDQSwgU0hBMzg0IERpZ2VzdCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS1zaGEzODQuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc2hhMzg0LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzM5IChWYWxpZCwgRUMgQ0EsIFNIQTUxMiBEaWdlc3QpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUtc2hhNTEyLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXNoYTUxMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM0MCAoVmFsaWQsIGRlcHRoIDAsIFJTQSwgQ0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzQxIChWYWxpZCwgZGVwdGggMCwgRUMsIENBKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM0MiAoRGVwdGggMCwgbm90IENBLCBSU0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6ImRhdGFfZmlsZXMvc2VydmVyMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzQzIChEZXB0aCAwLCBub3QgQ0EsIEVDKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM0NCAoQ29ycnVwdGVkIHNpZ25hdHVyZSwgRUMpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtYmFkc2lnbi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzQ1IChDb3JydXB0ZWQgc2lnbmF0dXJlLCBSU0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIyLWJhZHNpZ24uY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjItYmFkc2lnbi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM0NWIgKENvcnJ1cHRlZCBzaWduYXR1cmUsIGludGVybWVkaWF0ZSBDQSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjctYmFkc2lnbi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjctYmFkc2lnbi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNDYgKFZhbGlkLCBkZXB0aCAyLCBFQy1SU0EtRUMpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfUlNBX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM0NyAoVW50cnVzdGVkLCBkZXB0aCAyLCBFQy1SU0EtRUMpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfUlNBX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNDggKE1pc3NpbmcgaW50ZXJtZWRpYXRlIENBLCBFQy1SU0EtRUMpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfUlNBX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNy5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjcuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzQ5IChWYWxpZCwgZGVwdGggMiwgUlNBLUVDLVJTQSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19SU0FfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI4X2ludC1jYTIuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyOF9pbnQtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNTAgKFZhbGlkLCBtdWx0aXBsZSBDQXMpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM1MSAoVmFsaWQsIG11bHRpcGxlIENBcywgcmV2ZXJzZSBvcmRlcikKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MjEuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV9jYXQyMS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzUyIChDQSBrZXlVc2FnZSB2YWxpZCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIua3UtY3J0X2NybC5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtY3J0X2NybC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM1MyAoQ0Ega2V5VXNhZ2UgbWlzc2luZyBjUkxTaWduKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcnQuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDUkxfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcnQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ1JMX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzU0IChDQSBrZXlVc2FnZSBtaXNzaW5nIGNSTFNpZ24sIG5vIENSTCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQwoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmt1LWNydC5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5rdS1jcnQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM1NSAoQ0Ega2V5VXNhZ2UgbWlzc2luZyBrZXlDZXJ0U2lnbikKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIua3UtY3JsLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmt1LWNybC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzU2IChDQSBrZXlVc2FnZSBwbGFpbiB3cm9uZykKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIua3UtZHMuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIua3UtZHMuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM1NyAoVmFsaWQsIFJTQVNTQS1QU1MsIFNIQS0xKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyOS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjkuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzU4IChWYWxpZCwgUlNBU1NBLVBTUywgU0hBLTIyNCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI5LXNoYTIyNC5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGEyMjQucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjktc2hhMjI0LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMjI0LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM1OSAoVmFsaWQsIFJTQVNTQS1QU1MsIFNIQS0yNTYpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyOS1zaGEyNTYuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI5LXNoYTI1Ni5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNjAgKFZhbGlkLCBSU0FTU0EtUFNTLCBTSEEtMzg0KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfWDUwOV9SU0FTU0FfUFNTX1NVUFBPUlQ6TUJFRFRMU19NRF9DQU5fU0hBMzg0Ok1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjktc2hhMzg0LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJkYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTM4NC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyOS1zaGEzODQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGEzODQucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzYxIChWYWxpZCwgUlNBU1NBLVBTUywgU0hBLTUxMikKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTUxMjpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI5LXNoYTUxMi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGE1MTIucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjktc2hhNTEyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhNTEyLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM2MiAoUmV2b2tlZCwgUlNBU1NBLVBTUywgU0hBLTEpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjkuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjkuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGExLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNjMgKFJldm9rZWQsIFJTQVNTQS1QU1MsIFNIQS0xLCBDUkwgYmFkc2lnbikKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjkuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMS1iYWRzaWduLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDUkxfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyOS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTEtYmFkc2lnbi5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ1JMX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzY0IChWYWxpZCwgUlNBU1NBLVBTUywgU0hBLTEsIG5vdCB0b3ApCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjktd2l0aC1jYS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjktd2l0aC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNjUgKFJTQVNTQS1QU1MsIFNIQTEsIGJhZCBjZXJ0IHNpZ25hdHVyZSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjktYmFkc2lnbi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyOS1iYWRzaWduLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzY2IChSU0FTU0EtUFNTLCBTSEExLCBubyBSU0EgQ0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjkuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI5LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM2NyAoVmFsaWQsIFJTQVNTQS1QU1MsIGFsbCBkZWZhdWx0cykKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjktZGVmYXVsdHMuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMS5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyOS1kZWZhdWx0cy5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTEucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzY4IChSU0FTU0EtUFNTLCB3cm9uZyBzYWx0X2xlbiwgIVVTRV9QU0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19YNTA5X1JTQVNTQV9QU1NfU1VQUE9SVDpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19NRF9DQU5fU0hBMTohTUJFRFRMU19VU0VfUFNBX0NSWVBUTwoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyOS1iYWQtc2FsdGxlbi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGExLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjktYmFkLXNhbHRsZW4uY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtcnNhLXBzcy1zaGExLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzY4IChSU0FTU0EtUFNTLCB3cm9uZyBzYWx0X2xlbiwgVVNFX1BTQSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfVVNFX1BTQV9DUllQVE8KLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjktYmFkLXNhbHRsZW4uY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLXJzYS1wc3Mtc2hhMS5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyOS1iYWQtc2FsdGxlbi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1yc2EtcHNzLXNoYTEucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzY5IChSU0FTU0EtUFNTLCB3cm9uZyBtZ2ZfaGFzaCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1g1MDlfUlNBU1NBX1BTU19TVVBQT1JUOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEEyMjQ6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyOS1iYWQtbWdmaGFzaC5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyOS1iYWQtbWdmaGFzaC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM3MCAodjEgdHJ1c3RlZCBDQSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIxLXYxLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS12MS5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS12MS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLXYxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNzEgKHYxIHRydXN0ZWQgQ0EsIG90aGVyKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjItdjEuY3J0IjoiZGF0YV9maWxlcy9zZXJ2ZXIxLXYxLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIyLXYxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEtdjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM3MiAodjEgY2hhaW4pCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMi12MS1jaGFpbi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EtdjEuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMi12MS1jaGFpbi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLXYxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM3MyAoc2VsZnNpZ25lZCB0cnVzdGVkIHdpdGhvdXQgQ0EgYml0KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjoiZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM3NCAoc2lnbmVkIGJ5IHNlbGZzaWduZWQgdHJ1c3RlZCB3aXRob3V0IENBIGJpdCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQwoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNi1zcy1jaGlsZC5jcnQiOiJkYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOiJkYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI2LXNzLWNoaWxkLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNzUgKGVuY29kaW5nIG1pc21hdGNoKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvZW5jby1jZXJ0LXV0ZjhzdHIucGVtIjoiZGF0YV9maWxlcy9lbmNvLWNhLXByc3RyLnBlbSI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lbmNvLWNlcnQtdXRmOHN0ci5wZW0iOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9lbmNvLWNhLXByc3RyLnBlbSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjNzYgKG11bHRpcGxlIENSTHMsIG5vdCByZXZva2VkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQiOiJkYXRhX2ZpbGVzL2NybF9jYXRfZWMtcnNhLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX2NhdF9lYy1yc2EucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzc3IChtdWx0aXBsZSBDUkxzLCByZXZva2VkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjYuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCI6ImRhdGFfZmlsZXMvY3JsX2NhdF9lYy1yc2EucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX2NhdF9lYy1yc2EucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM3OCAobXVsdGlwbGUgQ1JMcywgcmV2b2tlZCBieSBzZWNvbmQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IjoiZGF0YV9maWxlcy9jcmxfY2F0X3JzYS1lYy5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjYuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmxfY2F0X3JzYS1lYy5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzc5IChtdWx0aXBsZSBDUkxzLCByZXZva2VkIGJ5IGZ1dHVyZSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI2LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQiOiJkYXRhX2ZpbGVzL2NybF9jYXRfZWNmdXQtcnNhLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUR8TUJFRFRMU19YNTA5X0JBRENSTF9GVVRVUkU6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybF9jYXRfZWNmdXQtcnNhLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUR8TUJFRFRMU19YNTA5X0JBRENSTF9GVVRVUkU6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjODAgKG11bHRpcGxlIENSTHMsIGZpcnN0IGZ1dHVyZSwgcmV2b2tlZCBieSBzZWNvbmQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IjoiZGF0YV9maWxlcy9jcmxfY2F0X2VjZnV0LXJzYS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmxfY2F0X2VjZnV0LXJzYS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9SRVZPS0VEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzgxIChtdWx0aXBsZSBDUkxzLCBub25lIHJlbGV2YW50KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9lbmNvLWNlcnQtdXRmOHN0ci5wZW0iOiJkYXRhX2ZpbGVzL2VuY28tY2EtcHJzdHIucGVtIjoiZGF0YV9maWxlcy9jcmxfY2F0X3JzYS1lYy5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZW5jby1jZXJ0LXV0ZjhzdHIucGVtIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZW5jby1jYS1wcnN0ci5wZW0iOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmxfY2F0X3JzYS1lYy5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjODIgKE5vdCB5ZXQgdmFsaWQgQ0EgYW5kIHZhbGlkIENBKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1mdXR1cmUtcHJlc2VudC5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1mdXR1cmUtcHJlc2VudC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjODMgKHZhbGlkIENBIGFuZCBOb3QgeWV0IHZhbGlkIENBKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wcmVzZW50LWZ1dHVyZS5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wcmVzZW50LWZ1dHVyZS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjODQgKHZhbGlkIENBIGFuZCBOb3QgeWV0IHZhbGlkIENBKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wcmVzZW50LXBhc3QuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMl9jYXQtcHJlc2VudC1wYXN0LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM4NSAoTm90IHlldCB2YWxpZCBDQSBhbmQgdmFsaWQgQ0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LXBhc3QtcHJlc2VudC5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wYXN0LXByZXNlbnQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTEucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzg2IChOb3QgeWV0IHZhbGlkIENBIGFuZCBpbnZhbGlkIENBKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0hBVkVfVElNRV9EQVRFCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LWZ1dHVyZS1pbnZhbGlkLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTEucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfRlVUVVJFOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LWZ1dHVyZS1pbnZhbGlkLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0ZVVFVSRToiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM4NyAoRXhwaXJlZCBDQSBhbmQgaW52YWxpZCBDQSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyX2NhdC1wYXN0LWludmFsaWQuY3J0IjoiZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9FWFBJUkVEOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTJfY2F0LXBhc3QtaW52YWxpZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9FWFBJUkVEOiJjb21wYXQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzg4IChTcHVyaW91cyBjZXJ0IGluIHRoZSBjaGFpbikKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyN19zcHVyaW91c19pbnQtY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI3X3NwdXJpb3VzX2ludC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjowOjA6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjODkgKFNwdXJpb3VzIGNlcnQgbGF0ZXIgaW4gdGhlIGNoYWluKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX3NwdXJpb3VzX2ludC1jYTIuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTEucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfc3B1cmlvdXNfaW50LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGExLnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM5MCAoRUUgd2l0aCBzYW1lIG5hbWUgYXMgdHJ1c3RlZCByb290KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS1zcy1mb3JnZWNhLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1pbnQtY2EzLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTEucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6IiI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS1zcy1mb3JnZWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMy5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMS5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoiIjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM5MSAoc2FtZSBDQSB3aXRoIGdvb2QgdGhlbiBiYWQga2V5KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS1nb29kLWFsdC5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS1nb29kLWFsdC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM5MSAoc2FtZSBDQSB3aXRoIGJhZCB0aGVuIGdvb2Qga2V5KQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS1hbHQtZ29vZC5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6MDowOiJjb21wYXQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS1hbHQtZ29vZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwtZWMtc2hhMjU2LnBlbSI6Ik5VTEwiOjA6MDoiY29tcGF0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM5MiAoYmFkIG5hbWUsIGFsbG93aW5nIGNhbGxiYWNrKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiZ2xvYmFsaG9zdCI6MDowOiIiOiJ2ZXJpZnlfYWxsIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJnbG9iYWxob3N0IjowOjA6IiI6InZlcmlmeV9hbGwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjOTMgKFN1aXRlIEIgaW52YWxpZCwgRUMgY2VydCwgUlNBIENBKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDE5MlIxOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjMuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9NRHxNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEt8TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX0tFWXxNQkVEVExTX1g1MDlfQkFEQ1JMX0JBRF9NRHxNQkVEVExTX1g1MDlfQkFEQ1JMX0JBRF9QSzoic3VpdGVfYiI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMy5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC5wZW0iOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfTUR8TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX1BLfE1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9LRVl8TUJFRFRMU19YNTA5X0JBRENSTF9CQURfTUR8TUJFRFRMU19YNTA5X0JBRENSTF9CQURfUEs6InN1aXRlX2IiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzk0IChTdWl0ZSBCIGludmFsaWQsIFJTQSBjZXJ0LCBFQyBDQSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjQuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX1BLOiJzdWl0ZV9iIjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI0LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybC1lYy1zaGEyNTYucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX1BLOiJzdWl0ZV9iIjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM5NSAoU3VpdGUgQiBWYWxpZCwgRUMgY2VydCwgRUMgQ0EpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6InN1aXRlX2IiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6InN1aXRlX2IiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzk2IChuZXh0IHByb2ZpbGUgSW52YWxpZCBDZXJ0IFNIQTIyNCBEaWdlc3QpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTIyNDpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9zaGEyMjQuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9NRHxNQkVEVExTX1g1MDlfQkFEQ1JMX0JBRF9NRDoibmV4dCI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY2VydF9zaGEyMjQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmwucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX01EfE1CRURUTFNfWDUwOV9CQURDUkxfQkFEX01EOiJuZXh0IjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uICM5NyAobmV4dCBwcm9maWxlIFZhbGlkIENlcnQgU0hBMjU2IERpZ2VzdCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvY2VydF9zaGEyNTYuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6ImRhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6Im5leHQiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NlcnRfc2hhMjU2LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWVjLXNoYTI1Ni5wZW0iOiJOVUxMIjowOjA6Im5leHQiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gIzk4IChSZXZva2VkIENlcnQsIHJldm9jYXRpb24gZGF0ZSBpbiB0aGUgZnV0dXJlLCBfd2l0aF8gTUJFRFRMU19IQVZFX1RJTUVfREFURSkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwtZnV0dXJlUmV2b2NhdGlvbkRhdGUucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRHxNQkVEVExTX1g1MDlfQkFEQ1JMX0ZVVFVSRToiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWZ1dHVyZVJldm9jYXRpb25EYXRlLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUR8TUJFRFRMU19YNTA5X0JBRENSTF9GVVRVUkU6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiAjOTkgKFJldm9rZWQgQ2VydCwgcmV2b2NhdGlvbiBkYXRlIGluIHRoZSBmdXR1cmUsIF93aXRob3V0XyBNQkVEVExTX0hBVkVfVElNRV9EQVRFKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTohTUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiZGF0YV9maWxlcy9jcmwtZnV0dXJlUmV2b2NhdGlvbkRhdGUucGVtIjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfUkVWT0tFRDoiY29tcGF0IjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsLWZ1dHVyZVJldm9jYXRpb25EYXRlLnBlbSI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX1JFVk9LRUQ6ImNvbXBhdCI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbjogZG9tYWluIGlkZW50aWNhbCB0byBJUHY0IGluIFN1YmplY3RBbHROYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQwoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLmNydC5kZXIiOiJkYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiZGF0YV9maWxlcy9jcmxfc2hhMjU2LnBlbSI6ImFiY2QiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiIiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLmNydC5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmxfc2hhMjU2LnBlbSI6ImFiY2QiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiIiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb246IGRvbWFpbiBpZGVudGljYWwgdG8gSVB2NiBpbiBTdWJqZWN0QWx0TmFtZQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6ImRhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiJhYmNkLmV4YW1wbGUuY29tIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiJhYmNkLmV4YW1wbGUuY29tIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uOiBtYXRjaGluZyBJUHY0IGluIFN1YmplY3RBbHROYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6ImRhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiI5Ny45OC45OS4xMDAiOjA6MDoiIjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiI5Ny45OC45OS4xMDAiOjA6MDoiIjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uOiBtaXNtYXRjaGluZyBJUHY0IGluIFN1YmplY3RBbHROYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6ImRhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiI3LjguOS4xMCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfQ05fTUlTTUFUQ0g6IiI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLmNydC5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybF9zaGEyNTYucGVtIjoiNy44LjkuMTAiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiIiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb246IElQdjQgd2l0aCB0cmFpbGluZyBkYXRhIGluIFN1YmplY3RBbHROYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6ImRhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiI5Ny45OC45OS4xMDA/IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiI5Ny45OC45OS4xMDA/IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uOiBtYXRjaGluZyBJUHY2IGluIFN1YmplY3RBbHROYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6ImRhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiI2MTYyXDo2MzY0XDoyRTY1XDo3ODYxXDo2RDcwXDo2QzY1XDoyRTYzXDo2RjZEIjowOjA6IiI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLmNydC5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybF9zaGEyNTYucGVtIjoiNjE2Mlw6NjM2NFw6MkU2NVw6Nzg2MVw6NkQ3MFw6NkM2NVw6MkU2M1w6NkY2RCI6MDowOiIiOiJOVUxMIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb246IG1pc21hdGNoaW5nIElQdjYgaW4gU3ViamVjdEFsdE5hbWUKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQwoteDUwOV92ZXJpZnk6ImRhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLmNydC5kZXIiOiJkYXRhX2ZpbGVzL3NlcnZlcjUtdHJpY2t5LWlwLXNhbi5jcnQuZGVyIjoiZGF0YV9maWxlcy9jcmxfc2hhMjU2LnBlbSI6IjYxNjJcOjYzNjRcOlw6NkY2RCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfQ05fTUlTTUFUQ0g6IiI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS10cmlja3ktaXAtc2FuLmNydC5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXRyaWNreS1pcC1zYW4uY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybF9zaGEyNTYucGVtIjoiNjE2Mlw6NjM2NFw6XDo2RjZEIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uOiBtYXRjaGluZyBVUkkgaW4gU3ViamVjdEFsdE5hbWUKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX1JTQV9DCi14NTA5X3ZlcmlmeToiZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6ImRhdGFfZmlsZXMvcnNhX3NpbmdsZV9zYW5fdXJpLmNydC5kZXIiOiJkYXRhX2ZpbGVzL2NybF9zaGEyNTYucGVtIjoidXJuXDpleGFtcGxlLmNvbVw6NWZmNDBmNzgtOTIxMC00OTRmLTgyMDYtYzJjMDgyZjA2MDljIjowOjA6IiI6Ik5VTEwiCit4NTA5X3ZlcmlmeToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3NpbmdsZV9zYW5fdXJpLmNydC5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NybF9zaGEyNTYucGVtIjoidXJuXDpleGFtcGxlLmNvbVw6NWZmNDBmNzgtOTIxMC00OTRmLTgyMDYtYzJjMDgyZjA2MDljIjowOjA6IiI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbjogVVJJIHdpdGggdHJhaWxpbmcgZGF0YSBpbiBTdWJqZWN0QWx0TmFtZQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIjoiZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6ImRhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiJ1cm5cOmV4YW1wbGUuY29tXDo1ZmY0MGY3OC05MjEwLTQ5NGYtODIwNi1jMmMwODJmMDYwOWN6IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiJ1cm5cOmV4YW1wbGUuY29tXDo1ZmY0MGY3OC05MjEwLTQ5NGYtODIwNi1jMmMwODJmMDYwOWN6IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uOiBVUkkgd2l0aCBwcmVjZWRpbmcgZGF0YSBpbiBTdWJqZWN0QWx0TmFtZQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIjoiZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6ImRhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiJ6dXJuXDpleGFtcGxlLmNvbVw6NWZmNDBmNzgtOTIxMC00OTRmLTgyMDYtYzJjMDgyZjA2MDljIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKK3g1MDlfdmVyaWZ5OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiJ6dXJuXDpleGFtcGxlLmNvbVw6NWZmNDBmNzgtOTIxMC00OTRmLTgyMDYtYzJjMDgyZjA2MDljIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9DTl9NSVNNQVRDSDoiIjoiTlVMTCIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uOiBVUkkgd2l0aCBiYWQgZGF0YSBpbiBTdWJqZWN0QWx0TmFtZQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5OiJkYXRhX2ZpbGVzL3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIjoiZGF0YV9maWxlcy9yc2Ffc2luZ2xlX3Nhbl91cmkuY3J0LmRlciI6ImRhdGFfZmlsZXMvY3JsX3NoYTI1Ni5wZW0iOiJiYWRcOmV4YW1wbGUuY29tXDo1ZmY0MGY3OC05MjEwLTQ5NGYtODIwNi1jMmMwODJmMDYwOWMiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX0NOX01JU01BVENIOiIiOiJOVUxMIgoreDUwOV92ZXJpZnk6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3JzYV9zaW5nbGVfc2FuX3VyaS5jcnQuZGVyIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcnNhX3NpbmdsZV9zYW5fdXJpLmNydC5kZXIiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9jcmxfc2hhMjU2LnBlbSI6ImJhZFw6ZXhhbXBsZS5jb21cOjVmZjQwZjc4LTkyMTAtNDk0Zi04MjA2LWMyYzA4MmYwNjA5YyI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfQ05fTUlTTUFUQ0g6IiI6Ik5VTEwiCiAKIFg1MDkgQ1JUIHBhcnNlIENOOiBJUHY0IHZhbGlkIGFkZHJlc3MKIHg1MDlfY3J0X3BhcnNlX2NuX2luZXRfcHRvbjoiMTAuMTAuMTAuMTAiOiIwQTBBMEEwQSI6NApAQCAtMTE4MCw5MSArMTE4MCw5MSBAQAogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gd2l0aCBjYSBjYWxsYmFjazogZmFpbHVyZQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSwoteDUwOV92ZXJpZnlfY2FfY2JfZmFpbHVyZToiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0ZBVEFMX0VSUk9SCit4NTA5X3ZlcmlmeV9jYV9jYl9mYWlsdXJlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9GQVRBTF9FUlJPUgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2s6IGJhZCBuYW1lCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Imdsb2JhbGhvc3QiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAxIC0gc2VyaWFsIEMxXDo0M1w6RTJcOjdFXDo2Mlw6NDNcOkNDXDpFOCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDAgLSBzZXJpYWwgMDkgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdCAtIGZsYWdzIDB4MDAwMDAwMDRcbiIKK3g1MDlfdmVyaWZ5X2NhbGxiYWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Imdsb2JhbGhvc3QiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAxIC0gc2VyaWFsIEMxXDo0M1w6RTJcOjdFXDo2Mlw6NDNcOkNDXDpFOCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDAgLSBzZXJpYWwgMDkgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdCAtIGZsYWdzIDB4MDAwMDAwMDRcbiIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uIGNhbGxiYWNrOiB0cnVzdGVkIEVFIGNlcnQKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxCi14NTA5X3ZlcmlmeV9jYWxsYmFjazoiZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjoiTlVMTCI6MDoiZGVwdGggMCAtIHNlcmlhbCA1M1w6QTJcOkNCXDo0Qlw6MTJcOjRFXDpBRFw6ODNcOjdEXDpBOFw6OTRcOkIyIC0gc3ViamVjdCBDTj1zZWxmc2lnbmVkLCBPVT10ZXN0aW5nLCBPPVBvbGFyU1NMLCBDPU5MIC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjoiTlVMTCI6MDoiZGVwdGggMCAtIHNlcmlhbCA1M1w6QTJcOkNCXDo0Qlw6MTJcOjRFXDpBRFw6ODNcOjdEXDpBOFw6OTRcOkIyIC0gc3ViamVjdCBDTj1zZWxmc2lnbmVkLCBPVT10ZXN0aW5nLCBPPVBvbGFyU1NMLCBDPU5MIC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2s6IHRydXN0ZWQgRUUgY2VydCwgZXhwaXJlZAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyNS1zcy1leHBpcmVkLmNydCI6ImRhdGFfZmlsZXMvc2VydmVyNS1zcy1leHBpcmVkLmNydCI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAwIC0gc2VyaWFsIEQ4XDo2NFw6NjFcOjA1XDpFM1w6QTNcOkNEXDo3OCAtIHN1YmplY3QgQz1VSywgTz1tYmVkIFRMUywgT1U9dGVzdHN1aXRlLCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAxXG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS1zcy1leHBpcmVkLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc3MtZXhwaXJlZC5jcnQiOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoiZGVwdGggMCAtIHNlcmlhbCBEOFw6NjRcOjYxXDowNVw6RTNcOkEzXDpDRFw6NzggLSBzdWJqZWN0IEM9VUssIE89bWJlZCBUTFMsIE9VPXRlc3RzdWl0ZSwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMVxuIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2s6IHNpbXBsZQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoiTlVMTCI6MDoiZGVwdGggMSAtIHNlcmlhbCAwMyAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDAgLSBzZXJpYWwgMDEgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOiJOVUxMIjowOiJkZXB0aCAxIC0gc2VyaWFsIDAzIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAwMSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDEgLSBmbGFncyAweDAwMDAwMDAwXG4iCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiBjYWxsYmFjazogc2ltcGxlLCBFRSBleHBpcmVkCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5X2NhbGxiYWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjUtZXhwaXJlZC5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAxIC0gc2VyaWFsIEMxXDo0M1w6RTJcOjdFXDo2Mlw6NDNcOkNDXDpFOCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDAgLSBzZXJpYWwgMUUgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdCAtIGZsYWdzIDB4MDAwMDAwMDFcbiIKK3g1MDlfdmVyaWZ5X2NhbGxiYWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LWV4cGlyZWQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6ImRlcHRoIDEgLSBzZXJpYWwgQzFcOjQzXDpFMlw6N0VcOjYyXDo0M1w6Q0NcOkU4IC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAxRSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMVxuIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2s6IHNpbXBsZSwgcm9vdCBleHBpcmVkCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5X2NhbGxiYWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi1leHBpcmVkLmNydCI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAxIC0gc2VyaWFsIDAxIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIC0gZmxhZ3MgMHgwMDAwMDAwMVxuZGVwdGggMCAtIHNlcmlhbCAwOSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTItZXhwaXJlZC5jcnQiOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoiZGVwdGggMSAtIHNlcmlhbCAwMSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDFcbmRlcHRoIDAgLSBzZXJpYWwgMDkgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdCAtIGZsYWdzIDB4MDAwMDAwMDBcbiIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uIGNhbGxiYWNrOiB0d28gdHJ1c3RlZCByb290cwogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X3ZlcmlmeV9jYWxsYmFjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQiOiJOVUxMIjowOiJkZXB0aCAxIC0gc2VyaWFsIDAzIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAwMSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDEgLSBmbGFncyAweDAwMDAwMDAwXG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCI6Ik5VTEwiOjA6ImRlcHRoIDEgLSBzZXJpYWwgMDMgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDAxIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMSAtIGZsYWdzIDB4MDAwMDAwMDBcbiIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uIGNhbGxiYWNrOiB0d28gdHJ1c3RlZCByb290cywgcmV2ZXJzZWQgb3JkZXIKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MjEuY3J0IjoiTlVMTCI6MDoiZGVwdGggMSAtIHNlcmlhbCAwMyAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDAgLSBzZXJpYWwgMDEgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFNlcnZlciAxIC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV9jYXQyMS5jcnQiOiJOVUxMIjowOiJkZXB0aCAxIC0gc2VyaWFsIDAzIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAwMSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDEgLSBmbGFncyAweDAwMDAwMDAwXG4iCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiBjYWxsYmFjazogcm9vdCBpbmNsdWRlZAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X3ZlcmlmeV9jYWxsYmFjazoiZGF0YV9maWxlcy9zZXJ2ZXIxX2NhLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYV9jYXQyMS5jcnQiOiJOVUxMIjowOiJkZXB0aCAxIC0gc2VyaWFsIDAzIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAwMSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgU2VydmVyIDEgLSBmbGFncyAweDAwMDAwMDAwXG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMV9jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX2NhdDIxLmNydCI6Ik5VTEwiOjA6ImRlcHRoIDEgLSBzZXJpYWwgMDMgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDAxIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBTZXJ2ZXIgMSAtIGZsYWdzIDB4MDAwMDAwMDBcbiIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uIGNhbGxiYWNrOiBpbnRlcm1lZGlhdGUgY2EKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19SU0FfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeV9jYWxsYmFjazoiZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MTIuY3J0IjoiTlVMTCI6MDoiZGVwdGggMiAtIHNlcmlhbCBDMVw6NDNcOkUyXDo3RVw6NjJcOjQzXDpDQ1w6RTggLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAxIC0gc2VyaWFsIDBFIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IEludGVybWVkaWF0ZSBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDAgLSBzZXJpYWwgMTAgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdCAtIGZsYWdzIDB4MDAwMDAwMDBcbiIKK3g1MDlfdmVyaWZ5X2NhbGxiYWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI3X2ludC1jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCI6Ik5VTEwiOjA6ImRlcHRoIDIgLSBzZXJpYWwgQzFcOjQzXDpFMlw6N0VcOjYyXDo0M1w6Q0NcOkU4IC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMSAtIHNlcmlhbCAwRSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDEwIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAwXG4iCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiBjYWxsYmFjazogaW50ZXJtZWRpYXRlIGNhLCByb290IGluY2x1ZGVkCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfUlNBX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2FfY2EyLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYV9jYXQxMi5jcnQiOiJOVUxMIjowOiJkZXB0aCAyIC0gc2VyaWFsIEMxXDo0M1w6RTJcOjdFXDo2Mlw6NDNcOkNDXDpFOCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDEgLSBzZXJpYWwgMEUgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAxMCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhX2NhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX2NhdDEyLmNydCI6Ik5VTEwiOjA6ImRlcHRoIDIgLSBzZXJpYWwgQzFcOjQzXDpFMlw6N0VcOjYyXDo0M1w6Q0NcOkU4IC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMSAtIHNlcmlhbCAwRSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDEwIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAwXG4iCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiBjYWxsYmFjazogaW50ZXJtZWRpYXRlIGNhIHRydXN0ZWQKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19SU0FfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2FfY2EyLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1pbnQtY2EuY3J0IjoiTlVMTCI6MDoiZGVwdGggMSAtIHNlcmlhbCAwRSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDEwIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAwXG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyN19pbnQtY2FfY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhLmNydCI6Ik5VTEwiOjA6ImRlcHRoIDEgLSBzZXJpYWwgMEUgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAxMCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2s6IGludGVybWVkaWF0ZSBjYSwgRUUgZXhwaXJlZAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX1JTQV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyNy1leHBpcmVkLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6ImRlcHRoIDIgLSBzZXJpYWwgQzFcOjQzXDpFMlw6N0VcOjYyXDo0M1w6Q0NcOkU4IC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMSAtIHNlcmlhbCAwRSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDEwIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAxXG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNy1leHBpcmVkLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAyIC0gc2VyaWFsIEMxXDo0M1w6RTJcOjdFXDo2Mlw6NDNcOkNDXDpFOCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDEgLSBzZXJpYWwgMEUgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAxMCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMVxuIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2s6IGludGVybWVkaWF0ZSBjYSwgaW50IGV4cGlyZWQKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19SU0FfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfSEFWRV9USU1FX0RBVEUKLXg1MDlfdmVyaWZ5X2NhbGxiYWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLWV4cC5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAyIC0gc2VyaWFsIEMxXDo0M1w6RTJcOjdFXDo2Mlw6NDNcOkNDXDpFOCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDEgLSBzZXJpYWwgMEUgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIC0gZmxhZ3MgMHgwMDAwMDAwMVxuZGVwdGggMCAtIHNlcmlhbCAxMCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjdfaW50LWNhLWV4cC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoiZGVwdGggMiAtIHNlcmlhbCBDMVw6NDNcOkUyXDo3RVw6NjJcOjQzXDpDQ1w6RTggLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyc3NsIFRlc3QgRUMgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAxIC0gc2VyaWFsIDBFIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IEludGVybWVkaWF0ZSBDQSAtIGZsYWdzIDB4MDAwMDAwMDFcbmRlcHRoIDAgLSBzZXJpYWwgMTAgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPWxvY2FsaG9zdCAtIGZsYWdzIDB4MDAwMDAwMDBcbiIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uIGNhbGxiYWNrOiBpbnRlcm1lZGlhdGUgY2EsIHJvb3QgZXhwaXJlZAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX1JTQV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19IQVZFX1RJTUVfREFURQoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi1leHBpcmVkLmNydCI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAyIC0gc2VyaWFsIDAxIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIC0gZmxhZ3MgMHgwMDAwMDAwMVxuZGVwdGggMSAtIHNlcmlhbCAwRSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDEwIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAwXG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyN19pbnQtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTItZXhwaXJlZC5jcnQiOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoiZGVwdGggMiAtIHNlcmlhbCAwMSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDFcbmRlcHRoIDEgLSBzZXJpYWwgMEUgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAxMCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2s6IHR3byBpbnRlcm1lZGlhdGVzCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfUlNBX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYV9jYXQyMS5jcnQiOiJOVUxMIjowOiJkZXB0aCAzIC0gc2VyaWFsIDAzIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMiAtIHNlcmlhbCAwRiAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgRUMgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAxIC0gc2VyaWFsIDREIC0gc3ViamVjdCBDPVVLLCBPPW1iZWQgVExTLCBDTj1tYmVkIFRMUyBUZXN0IGludGVybWVkaWF0ZSBDQSAzIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCA0QiAtIHN1YmplY3QgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX2NhdDIxLmNydCI6Ik5VTEwiOjA6ImRlcHRoIDMgLSBzZXJpYWwgMDMgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAyIC0gc2VyaWFsIDBGIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IEludGVybWVkaWF0ZSBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDEgLSBzZXJpYWwgNEQgLSBzdWJqZWN0IEM9VUssIE89bWJlZCBUTFMsIENOPW1iZWQgVExTIFRlc3QgaW50ZXJtZWRpYXRlIENBIDMgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDRCIC0gc3ViamVjdCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAwXG4iCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiBjYWxsYmFjazogdHdvIGludGVybWVkaWF0ZXMsIHJvb3QgaW5jbHVkZWQKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19SU0FfQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X3ZlcmlmeV9jYWxsYmFjazoiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTJfY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhX2NhdDIxLmNydCI6Ik5VTEwiOjA6ImRlcHRoIDMgLSBzZXJpYWwgMDMgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAyIC0gc2VyaWFsIDBGIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IEludGVybWVkaWF0ZSBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDEgLSBzZXJpYWwgNEQgLSBzdWJqZWN0IEM9VUssIE89bWJlZCBUTFMsIENOPW1iZWQgVExTIFRlc3QgaW50ZXJtZWRpYXRlIENBIDMgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDRCIC0gc3ViamVjdCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAwXG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyX2NhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfY2F0MjEuY3J0IjoiTlVMTCI6MDoiZGVwdGggMyAtIHNlcmlhbCAwMyAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDIgLSBzZXJpYWwgMEYgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgSW50ZXJtZWRpYXRlIEVDIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMSAtIHNlcmlhbCA0RCAtIHN1YmplY3QgQz1VSywgTz1tYmVkIFRMUywgQ049bWJlZCBUTFMgVGVzdCBpbnRlcm1lZGlhdGUgQ0EgMyAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDAgLSBzZXJpYWwgNEIgLSBzdWJqZWN0IENOPWxvY2FsaG9zdCAtIGZsYWdzIDB4MDAwMDAwMDBcbiIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uIGNhbGxiYWNrOiB0d28gaW50ZXJtZWRpYXRlcywgdG9wIGludCB0cnVzdGVkCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfUlNBX0M6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfdmVyaWZ5X2NhbGxiYWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOiJOVUxMIjowOiJkZXB0aCAyIC0gc2VyaWFsIDBGIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IEludGVybWVkaWF0ZSBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDEgLSBzZXJpYWwgNEQgLSBzdWJqZWN0IEM9VUssIE89bWJlZCBUTFMsIENOPW1iZWQgVExTIFRlc3QgaW50ZXJtZWRpYXRlIENBIDMgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDRCIC0gc3ViamVjdCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAwXG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOiJOVUxMIjowOiJkZXB0aCAyIC0gc2VyaWFsIDBGIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IEludGVybWVkaWF0ZSBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDEgLSBzZXJpYWwgNEQgLSBzdWJqZWN0IEM9VUssIE89bWJlZCBUTFMsIENOPW1iZWQgVExTIFRlc3QgaW50ZXJtZWRpYXRlIENBIDMgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDRCIC0gc3ViamVjdCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDAwXG4iCiAKIFg1MDkgQ1JUIHZlcmlmaWNhdGlvbiBjYWxsYmFjazogdHdvIGludGVybWVkaWF0ZXMsIGxvdyBpbnQgdHJ1c3RlZAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX1JTQV9DOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfdmVyaWZ5X2NhbGxiYWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMl9jYS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMy5jcnQiOiJOVUxMIjowOiJkZXB0aCAxIC0gc2VyaWFsIDREIC0gc3ViamVjdCBDPVVLLCBPPW1iZWQgVExTLCBDTj1tYmVkIFRMUyBUZXN0IGludGVybWVkaWF0ZSBDQSAzIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCA0QiAtIHN1YmplY3QgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwMFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMl9jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWludC1jYTMuY3J0IjoiTlVMTCI6MDoiZGVwdGggMSAtIHNlcmlhbCA0RCAtIHN1YmplY3QgQz1VSywgTz1tYmVkIFRMUywgQ049bWJlZCBUTFMgVGVzdCBpbnRlcm1lZGlhdGUgQ0EgMyAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDAgLSBzZXJpYWwgNEIgLSBzdWJqZWN0IENOPWxvY2FsaG9zdCAtIGZsYWdzIDB4MDAwMDAwMDBcbiIKIAogWDUwOSBDUlQgdmVyaWZpY2F0aW9uIGNhbGxiYWNrOiBubyBpbnRlcm1lZGlhdGUsIGJhZCBzaWduYXR1cmUKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi14NTA5X3ZlcmlmeV9jYWxsYmFjazoiZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoiZGVwdGggMCAtIHNlcmlhbCAwOSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwOFxuIgoreDUwOV92ZXJpZnlfY2FsbGJhY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtYmFkc2lnbi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJOVUxMIjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoiZGVwdGggMCAtIHNlcmlhbCAwOSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwOFxuIgogCiBYNTA5IENSVCB2ZXJpZmljYXRpb24gY2FsbGJhY2s6IG9uZSBpbnRlcm1lZGlhdGUsIGJhZCBzaWduYXR1cmUKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV92ZXJpZnlfY2FsbGJhY2s6ImRhdGFfZmlsZXMvc2VydmVyNy1iYWRzaWduLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjoiTlVMTCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6ImRlcHRoIDIgLSBzZXJpYWwgQzFcOjQzXDpFMlw6N0VcOjYyXDo0M1w6Q0NcOkU4IC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMSAtIHNlcmlhbCAwRSAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBJbnRlcm1lZGlhdGUgQ0EgLSBmbGFncyAweDAwMDAwMDAwXG5kZXB0aCAwIC0gc2VyaWFsIDEwIC0gc3ViamVjdCBDPU5MLCBPPVBvbGFyU1NMLCBDTj1sb2NhbGhvc3QgLSBmbGFncyAweDAwMDAwMDA4XG4iCit4NTA5X3ZlcmlmeV9jYWxsYmFjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNy1iYWRzaWduLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ik5VTEwiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJkZXB0aCAyIC0gc2VyaWFsIEMxXDo0M1w6RTJcOjdFXDo2Mlw6NDNcOkNDXDpFOCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049UG9sYXJzc2wgVGVzdCBFQyBDQSAtIGZsYWdzIDB4MDAwMDAwMDBcbmRlcHRoIDEgLSBzZXJpYWwgMEUgLSBzdWJqZWN0IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgSW50ZXJtZWRpYXRlIENBIC0gZmxhZ3MgMHgwMDAwMDAwMFxuZGVwdGggMCAtIHNlcmlhbCAxMCAtIHN1YmplY3QgQz1OTCwgTz1Qb2xhclNTTCwgQ049bG9jYWxob3N0IC0gZmxhZ3MgMHgwMDAwMDAwOFxuIgogCiBYNTA5IENSVCBBU04xIChFbXB0eSBDZXJ0aWZpY2F0ZSkKIHg1MDlwYXJzZV9jcnQ6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0ZPUk1BVApAQCAtMjA2MywxMSArMjA2MywxMSBAQAogCiBYNTA5IENSVCBBU04xIChpbnYgZXh0QmFzaWNDb25zdHJhaW50LCBwYXRobGVuIGlzIElOVF9NQVgpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9jcnRfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxX3BhdGhsZW5faW50X21heC5jcnQiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TICsgTUJFRFRMU19FUlJfQVNOMV9JTlZBTElEX0xFTkdUSDowCittYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjFfcGF0aGxlbl9pbnRfbWF4LmNydCI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMgKyBNQkVEVExTX0VSUl9BU04xX0lOVkFMSURfTEVOR1RIOjAKIAogWDUwOSBDUlQgQVNOMSAocGF0aGxlbiBpcyBJTlRfTUFYLTEpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9jcnRfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXIxX3BhdGhsZW5faW50X21heC0xLmNydCI6MDoxCittYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjFfcGF0aGxlbl9pbnRfbWF4LTEuY3J0IjowOjEKIAogWDUwOSBDUlQgQVNOMSAoVEJTLCBpbnYgZXh0QmFzaWNDb25zdHJhaW50LCBwYXRobGVuIGludiBsZW5ndGggZW5jb2RpbmcpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2CkBAIC0yNTg4LDE0NiArMjU4OCwxNDYgQEAKIHg1MDlwYXJzZV9jcmw6IjMwODIwMWIzMzA4MTljMDIwMTAxMzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMGIwNTAwMzAzYjMxMGIzMDA5MDYwMzU1MDQwNjEzMDI0ZTRjMzExMTMwMGYwNjAzNTUwNDBhMTMwODUwNmY2YzYxNzI1MzUzNGMzMTE5MzAxNzA2MDM1NTA0MDMxMzEwNTA2ZjZjNjE3MjUzNTM0YzIwNTQ2NTczNzQyMDQzNDExNzBkMzEzODMwMzMzMTM0MzAzNzMzMzEzNDM4NWExNzBkMzIzODMwMzMzMTM0MzAzNzMzMzEzNDM4NWFhMDJkMzAyYjMwMjkwNjAzNTUxZDFjMDEwMTAwMDQxZjMwMWRhMDFiYTAxOTg2MTc2ODc0NzQ3MDNhMmYyZjcwNmI2OTJlNjU3ODYxNmQ3MDZjNjUyZTYzNmY2ZDJmMzAwZDA2MDkyYTg2NDg4NmY3MGQwMTAxMGIwNTAwMDM4MjAxMDEwMGIzZmJlOWQ1ODZlYWY0YjhmZjYwY2Y4ZWRhZTA2YTg1MTM1ZGI3OGY3ODE5ODQ5ODcxOTcyNWI1YjQwM2MwYjgwM2MyYzE1MGY1MmZhYWU3MzA2ZDZhNzg3MTg4NWRjMmU5ZGM4M2ExNjRiYWM3MjYzNzc2NDc0ZWY2NDJiNjYwMDQwYjM1YTE0MTBhYzI5MWFjOGY2ZjE4YWI4NWU3ZmQ2ZTIyYmQxYWYxYzQxY2E5NWNmMjQ0OGY2ZTJiNDJhMDE4NDkzZGZjMDNjNmI2YWExYjllM2ZlN2I3NmFmMjE4MmZiMjEyMWRiNDE2NmJmMDE2N2Q2ZjM3OWM1YTU4YWRlZTUwODI0MjM0MzRkOTdiZTI5MDlmNWU3NDg4MDUzZjk5NjY0NmRiMTBkZDQ5NzgyNjI2ZGE1M2FkOGVhZGEwMTgxM2MwMzFiMmJhY2RiMDIwM2JjMDE3YWFjMTczNTk1MWExMWQwMTNlZTRkMWQ1ZjcxNDNjY2JlYmYyMzcxZTY2YTFiZWM2ZTFmZWJlNjkxNDhmNTA3ODRlZWY4YWRiYjY2NjY0Yzk2MTk2ZDdlMGMwYmNkYzgwN2Y0NDdiNTRlMDU4ZjM3NjQyYTMzMzc5OTViZmJjZDMzMjIwOGJkNjAxNjkzNjcwNWM4MjI2M2VhYmQ3YWZmZGJhOTJmYWUzIjoiQ1JMIHZlcnNpb24gICBcOiAyXG5pc3N1ZXIgbmFtZSAgIFw6IEM9TkwsIE89UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0FcbnRoaXMgdXBkYXRlICAgXDogMjAxOC0wMy0xNCAwN1w6MzFcOjQ4XG5uZXh0IHVwZGF0ZSAgIFw6IDIwMjgtMDMtMTQgMDdcOjMxXDo0OFxuUmV2b2tlZCBjZXJ0aWZpY2F0ZXNcOlxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG4iOjAKIAogWDUwOSBDUlQgcGFyc2UgZmlsZSBkaXIzL1JlYWRtZQotbWJlZHRsc194NTA5X2NydF9wYXJzZV9maWxlOiJkYXRhX2ZpbGVzL2RpcjMvUmVhZG1lIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRk9STUFUOjAKK21iZWR0bHNfeDUwOV9jcnRfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyMy9SZWFkbWUiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9GT1JNQVQ6MAogCiBYNTA5IENSVCBwYXJzZSBmaWxlIGRpcjMvdGVzdC1jYS5jcnQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6ImRhdGFfZmlsZXMvZGlyMy90ZXN0LWNhLmNydCI6MDoxCittYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjMvdGVzdC1jYS5jcnQiOjA6MQogCiBYNTA5IENSVCBwYXJzZSBmaWxlIGRpcjMvdGVzdC1jYTIuY3J0CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi1tYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6ImRhdGFfZmlsZXMvZGlyMy90ZXN0LWNhMi5jcnQiOjA6MQorbWJlZHRsc194NTA5X2NydF9wYXJzZV9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXIzL3Rlc3QtY2EyLmNydCI6MDoxCiAKICMgVGhlIHBhcnNlX3BhdGggdGVzdHMgYXJlIGtub3duIHRvIGZhaWwgd2hlbiBjb21waWxlZCBmb3IgYSAzMi1iaXQgYXJjaGl0ZWN0dXJlCiAjIGFuZCBydW4gdmlhIHFlbXUtdXNlciBvbiBMaW51eCBvbiBhIDY0LWJpdCBob3N0LiBUaGlzIGlzIGR1ZSB0byBhIGtub3duCiAjIGJ1ZyBpbiBRZW11OiBodHRwczovL2dpdGxhYi5jb20vcWVtdS1wcm9qZWN0L3FlbXUvLS9pc3N1ZXMvMjYzCiBYNTA5IENSVCBwYXJzZSBwYXRoICMxIChvbmUgY2VydCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3J0X3BhcnNlX3BhdGg6ImRhdGFfZmlsZXMvZGlyMSI6MDoxCittYmVkdGxzX3g1MDlfY3J0X3BhcnNlX3BhdGg6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjEiOjA6MQogCiBYNTA5IENSVCBwYXJzZSBwYXRoICMyICh0d28gY2VydHMpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQotbWJlZHRsc194NTA5X2NydF9wYXJzZV9wYXRoOiJkYXRhX2ZpbGVzL2RpcjIiOjA6MgorbWJlZHRsc194NTA5X2NydF9wYXJzZV9wYXRoOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXIyIjowOjIKIAogWDUwOSBDUlQgcGFyc2UgcGF0aCAjMyAodHdvIGNlcnRzLCBvbmUgbm9uLWNlcnQpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQotbWJlZHRsc194NTA5X2NydF9wYXJzZV9wYXRoOiJkYXRhX2ZpbGVzL2RpcjMiOjE6MgorbWJlZHRsc194NTA5X2NydF9wYXJzZV9wYXRoOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXIzIjoxOjIKIAogWDUwOSBDUlQgdmVyaWZ5IGxvbmcgY2hhaW4gKG1heCBpbnRlcm1lZGlhdGUgQ0EsIHRydXN0ZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9tYXg6ImRhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0IjoiZGF0YV9maWxlcy9kaXItbWF4cGF0aCI6TUJFRFRMU19YNTA5X01BWF9JTlRFUk1FRElBVEVfQ0E6MDowCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9tYXg6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoLzAwLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoIjpNQkVEVExTX1g1MDlfTUFYX0lOVEVSTUVESUFURV9DQTowOjAKIAogWDUwOSBDUlQgdmVyaWZ5IGxvbmcgY2hhaW4gKG1heCBpbnRlcm1lZGlhdGUgQ0EsIHVudHJ1c3RlZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X21heDoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL2Rpci1tYXhwYXRoIjpNQkVEVExTX1g1MDlfTUFYX0lOVEVSTUVESUFURV9DQS0xOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVECittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9tYXg6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2Rpci1tYXhwYXRoIjpNQkVEVExTX1g1MDlfTUFYX0lOVEVSTUVESUFURV9DQS0xOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVECiAKIFg1MDkgQ1JUIHZlcmlmeSBsb25nIGNoYWluIChtYXggaW50ZXJtZWRpYXRlIENBICsgMSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X21heDoiZGF0YV9maWxlcy9kaXItbWF4cGF0aC8wMC5jcnQiOiJkYXRhX2ZpbGVzL2Rpci1tYXhwYXRoIjpNQkVEVExTX1g1MDlfTUFYX0lOVEVSTUVESUFURV9DQSsxOk1CRURUTFNfRVJSX1g1MDlfRkFUQUxfRVJST1I6LTEKK21iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X21heDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgvMDAuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyLW1heHBhdGgiOk1CRURUTFNfWDUwOV9NQVhfSU5URVJNRURJQVRFX0NBKzE6TUJFRFRMU19FUlJfWDUwOV9GQVRBTF9FUlJPUjotMQogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzEgKHplcm8gcGF0aGxlbiBpbnRlcm1lZGlhdGUpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9kaXI0L2NlcnQxNC5jcnQgZGF0YV9maWxlcy9kaXI0L2NlcnQxMy5jcnQgZGF0YV9maWxlcy9kaXI0L2NlcnQxMi5jcnQiOiJkYXRhX2ZpbGVzL2RpcjQvY2VydDExLmNydCI6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6IiI6MAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDE0LmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQxMy5jcnQgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MTEuY3J0IjpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoiIjowCiAKIFg1MDkgQ1JUIHZlcmlmeSBjaGFpbiAjMiAoemVybyBwYXRobGVuIHJvb3QpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9kaXI0L2NlcnQyMy5jcnQgZGF0YV9maWxlcy9kaXI0L2NlcnQyMi5jcnQiOiJkYXRhX2ZpbGVzL2RpcjQvY2VydDIxLmNydCI6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6IiI6MAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDIzLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQyMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQyMS5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiIiOjAKIAogWDUwOSBDUlQgdmVyaWZ5IGNoYWluICMzIChub256ZXJvIHBhdGhsZW4gcm9vdCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiJkYXRhX2ZpbGVzL2RpcjQvY2VydDM0LmNydCBkYXRhX2ZpbGVzL2RpcjQvY2VydDMzLmNydCBkYXRhX2ZpbGVzL2RpcjQvY2VydDMyLmNydCI6ImRhdGFfZmlsZXMvZGlyNC9jZXJ0MzEuY3J0IjpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoiIjowCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0MzQuY3J0IC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDMzLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQzMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQzMS5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiIiOjAKIAogWDUwOSBDUlQgdmVyaWZ5IGNoYWluICM0IChub256ZXJvIHBhdGhsZW4gaW50ZXJtZWRpYXRlKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46ImRhdGFfZmlsZXMvZGlyNC9jZXJ0NDUuY3J0IGRhdGFfZmlsZXMvZGlyNC9jZXJ0NDQuY3J0IGRhdGFfZmlsZXMvZGlyNC9jZXJ0NDMuY3J0IGRhdGFfZmlsZXMvZGlyNC9jZXJ0NDIuY3J0IjoiZGF0YV9maWxlcy9kaXI0L2NlcnQ0MS5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiIiOjAKK21iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ0NS5jcnQgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NDQuY3J0IC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDQzLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ0Mi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ0MS5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiIiOjAKIAogWDUwOSBDUlQgdmVyaWZ5IGNoYWluICM1IChub256ZXJvIG1heHBhdGhsZW4gaW50ZXJtZWRpYXRlKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQotbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46ImRhdGFfZmlsZXMvZGlyNC9jZXJ0NTQuY3J0IGRhdGFfZmlsZXMvZGlyNC9jZXJ0NTMuY3J0IGRhdGFfZmlsZXMvZGlyNC9jZXJ0NTIuY3J0IjoiZGF0YV9maWxlcy9kaXI0L2NlcnQ1MS5jcnQiOjA6MDoiIjowCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NTQuY3J0IC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDUzLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ1Mi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ1MS5jcnQiOjA6MDoiIjowCiAKIFg1MDkgQ1JUIHZlcmlmeSBjaGFpbiAjNiAobm9uemVybyBtYXhwYXRobGVuIHJvb3QpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9kaXI0L2NlcnQ2My5jcnQgZGF0YV9maWxlcy9kaXI0L2NlcnQ2Mi5jcnQiOiJkYXRhX2ZpbGVzL2RpcjQvY2VydDYxLmNydCI6MDowOiIiOjAKK21iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ2My5jcnQgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjEuY3J0IjowOjA6IiI6MAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzcgKG1heHBhdGhsZW4gcm9vdCwgc2VsZiBzaWduZWQgaW4gcGF0aCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiJkYXRhX2ZpbGVzL2RpcjQvY2VydDc0LmNydCBkYXRhX2ZpbGVzL2RpcjQvY2VydDczLmNydCBkYXRhX2ZpbGVzL2RpcjQvY2VydDcyLmNydCI6ImRhdGFfZmlsZXMvZGlyNC9jZXJ0NzEuY3J0IjowOjA6IiI6MAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDc0LmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ3My5jcnQgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NzIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NzEuY3J0IjowOjA6IiI6MAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzggKHNlbGYgc2lnbmVkIG1heHBhdGhsZW4gcm9vdCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiJkYXRhX2ZpbGVzL2RpcjQvY2VydDYxLmNydCBkYXRhX2ZpbGVzL2RpcjQvY2VydDYzLmNydCBkYXRhX2ZpbGVzL2RpcjQvY2VydDYyLmNydCI6ImRhdGFfZmlsZXMvZGlyNC9jZXJ0NjEuY3J0IjowOjA6IiI6MAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDYxLmNydCAuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ2My5jcnQgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0NjEuY3J0IjowOjA6IiI6MAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzkgKHplcm8gcGF0aGxlbiBmaXJzdCBpbnRlcm1lZGlhdGUsIHZhbGlkKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9kaXI0L2NlcnQ4My5jcnQgZGF0YV9maWxlcy9kaXI0L2NlcnQ4Mi5jcnQiOiJkYXRhX2ZpbGVzL2RpcjQvY2VydDgxLmNydCI6MDowOiIiOjAKK21iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9kaXI0L2NlcnQ4My5jcnQgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0ODIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0ODEuY3J0IjowOjA6IiI6MAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzEwICh6ZXJvIHBhdGhsZW4gcm9vdCwgdmFsaWQpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiJkYXRhX2ZpbGVzL2RpcjQvY2VydDkyLmNydCI6ImRhdGFfZmlsZXMvZGlyNC9jZXJ0OTEuY3J0IjowOjA6IiI6MAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDkyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2RpcjQvY2VydDkxLmNydCI6MDowOiIiOjAKIAogWDUwOSBDUlQgdmVyaWZ5IGNoYWluICMxMSAodmFsaWQgY2hhaW4sIG1pc3NpbmcgcHJvZmlsZSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMQotbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46ImRhdGFfZmlsZXMvZGlyNC9jZXJ0OTIuY3J0IjoiZGF0YV9maWxlcy9kaXI0L2NlcnQ5MS5jcnQiOi0xOk1CRURUTFNfRVJSX1g1MDlfQkFEX0lOUFVUX0RBVEE6Im5vbmVzdWNoIjowCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0OTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyNC9jZXJ0OTEuY3J0IjotMTpNQkVEVExTX0VSUl9YNTA5X0JBRF9JTlBVVF9EQVRBOiJub25lc3VjaCI6MAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzEyIChzdWl0ZWIgcHJvZmlsZSwgUlNBIHJvb3QpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AxOTJSMTpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9zZXJ2ZXIzLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9NRHxNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEt8TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX0tFWTpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoic3VpdGViIjowCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMy5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX01EfE1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9QS3xNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfS0VZOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJzdWl0ZWIiOjAKIAogWDUwOSBDUlQgdmVyaWZ5IGNoYWluICMxMyAoUlNBIG9ubHkgcHJvZmlsZSwgRUMgcm9vdCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9zZXJ2ZXI0LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjpNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEt8TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX0tFWTpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoicnNhMzA3MiI6MAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjQuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjpNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEt8TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX0tFWTpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoicnNhMzA3MiI6MAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzEzIChSU0Egb25seSBwcm9maWxlLCBFQyB0cnVzdGVkIEVFKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiJkYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOiJkYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9QS3xNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfS0VZOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJyc2EzMDcyIjowCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS1zZWxmc2lnbmVkLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9QS3xNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfS0VZOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJyc2EzMDcyIjowCiAKIFg1MDkgQ1JUIHZlcmlmeSBjaGFpbiAjMTQgKFJTQS0zMDcyIHByb2ZpbGUsIHJvb3Qga2V5IHRvbyBzbWFsbCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fU0hBMQotbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjpNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfTUR8TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX0tFWTpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoicnNhMzA3MiI6MAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9NRHxNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfS0VZOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOiJyc2EzMDcyIjowCiAKIFg1MDkgQ1JUIHZlcmlmeSBjaGFpbiAjMTUgKHN1aXRlYiBwcm9maWxlLCByc2EgaW50ZXJtZWRpYXRlKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiJkYXRhX2ZpbGVzL3NlcnZlcjcuY3J0IGRhdGFfZmlsZXMvdGVzdC1pbnQtY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9QSzpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoic3VpdGViIjowCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNy5jcnQgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjpNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEs6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6InN1aXRlYiI6MAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzE2IChSU0Etb25seSBwcm9maWxlLCBFQyBpbnRlcm1lZGlhdGUpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEExCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9zZXJ2ZXI4LmNydCBkYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjpNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfUEt8TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX0tFWTpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoicnNhMzA3MiI6MAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjguY3J0IC4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6TUJFRFRMU19YNTA5X0JBRENFUlRfQkFEX1BLfE1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9LRVk6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6InJzYTMwNzIiOjAKIAogWDUwOSBDUlQgdmVyaWZ5IGNoYWluICMxNyAoU0hBLTUxMiBwcm9maWxlKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiJkYXRhX2ZpbGVzL3NlcnZlcjcuY3J0IGRhdGFfZmlsZXMvdGVzdC1pbnQtY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOk1CRURUTFNfWDUwOV9CQURDRVJUX0JBRF9NRDpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDoic2hhNTEyIjowCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNy5jcnQgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjpNQkVEVExTX1g1MDlfQkFEQ0VSVF9CQURfTUQ6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6InNoYTUxMiI6MAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzE4IChsZW49MSwgdnJmeSBmYXRhbCBvbiBkZXB0aCAxKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfTURfQ0FOX1NIQTUxMgotbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6LTE6LTI6IiI6MgorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjotMTotMjoiIjoyCiAKIFg1MDkgQ1JUIHZlcmlmeSBjaGFpbiAjMTkgKGxlbj0wLCB2cmZ5IGZhdGFsIG9uIGRlcHRoIDApCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19NRF9DQU5fU0hBNTEyCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjotMTotMToiIjoxCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOi0xOi0xOiIiOjEKIAogWDUwOSBDUlQgdmVyaWZ5IGNoYWluICMyMCAobGVuPTEsIHZyZnkgZmF0YWwgb24gZGVwdGggMCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX01EX0NBTl9TSEE1MTI6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOi0xOi0xOiIiOjEKK21iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjotMTotMToiIjoxCiAKIFg1MDkgQ1JUIHZlcmlmeSBjaGFpbiAjMjEgKGxlbj0zLCB2cmZ5IGZhdGFsIG9uIGRlcHRoIDMpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTJfY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6LTE6LTQ6IiI6OAorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMl9jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6LTE6LTQ6IiI6OAogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzIyIChsZW49MywgdnJmeSBmYXRhbCBvbiBkZXB0aCAyKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQotbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46ImRhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyX2NhLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOi0xOi0zOiIiOjQKK21iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTJfY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOi0xOi0zOiIiOjQKIAogWDUwOSBDUlQgdmVyaWZ5IGNoYWluICMyMyAobGVuPTMsIHZyZnkgZmF0YWwgb24gZGVwdGggMSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLW1iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiJkYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMl9jYS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjotMTotMjoiIjoyCittYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyX2NhLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjotMTotMjoiIjoyCiAKIFg1MDkgQ1JUIHZlcmlmeSBjaGFpbiAjMjQgKGxlbj0zLCB2cmZ5IGZhdGFsIG9uIGRlcHRoIDApCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTJfY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6LTE6LTE6IiI6MQorbWJlZHRsc194NTA5X2NydF92ZXJpZnlfY2hhaW46Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMl9jYS5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6LTE6LTE6IiI6MQogCiBYNTA5IENSVCB2ZXJpZnkgY2hhaW4gIzI1IChsZW49MywgdnJmeSBmYXRhbCBvbiBkZXB0aCAzLCB1bnRydXN0ZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi1tYmVkdGxzX3g1MDlfY3J0X3ZlcmlmeV9jaGFpbjoiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTJfY2EuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOi0xOi00OiIiOjgKK21iZWR0bHNfeDUwOV9jcnRfdmVyaWZ5X2NoYWluOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTJfY2EuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjotMTotNDoiIjo4CiAKIFg1MDkgT0lEIGRlc2NyaXB0aW9uICMxCiB4NTA5X29pZF9kZXNjOiIyYjA2MDEwNTA1MDcwMzAxIjoiVExTIFdlYiBTZXJ2ZXIgQXV0aGVudGljYXRpb24iCkBAIC0yNzU1LDc1ICsyNzU1LDc1IEBACiAKIFg1MDkgQ1JUIGtleVVzYWdlICMxIChubyBleHRlbnNpb24sIGV4cGVjdGVkIEtVKQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfY2hlY2tfa2V5X3VzYWdlOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkV8TUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6MAoreDUwOV9jaGVja19rZXlfdXNhZ2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkV8TUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6MAogCiBYNTA5IENSVCBrZXlVc2FnZSAjMiAobm8gZXh0ZW5zaW9uLCBzdXJwcmlzaW5nIEtVKQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfY2hlY2tfa2V5X3VzYWdlOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjpNQkVEVExTX1g1MDlfS1VfS0VZX0NFUlRfU0lHTjowCit4NTA5X2NoZWNrX2tleV91c2FnZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5jcnQiOk1CRURUTFNfWDUwOV9LVV9LRVlfQ0VSVF9TSUdOOjAKIAogWDUwOSBDUlQga2V5VXNhZ2UgIzMgKGV4dGVuc2lvbiBwcmVzZW50LCBubyBLVSkKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X2NoZWNrX2tleV91c2FnZToiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV91c2FnZS5jcnQiOjA6MAoreDUwOV9jaGVja19rZXlfdXNhZ2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydCI6MDowCiAKIFg1MDkgQ1JUIGtleVVzYWdlICM0IChleHRlbnNpb24gcHJlc2VudCwgc2luZ2xlIEtVIHByZXNlbnQpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jaGVja19rZXlfdXNhZ2U6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IjpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkU6MAoreDUwOV9jaGVja19rZXlfdXNhZ2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydCI6TUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFOjAKIAogWDUwOSBDUlQga2V5VXNhZ2UgIzUgKGV4dGVuc2lvbiBwcmVzZW50LCBzaW5nbGUgS1UgYWJzZW50KQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfTURfQ0FOX1NIQTEKLXg1MDlfY2hlY2tfa2V5X3VzYWdlOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydCI6TUJFRFRMU19YNTA5X0tVX0tFWV9DRVJUX1NJR046TUJFRFRMU19FUlJfWDUwOV9CQURfSU5QVVRfREFUQQoreDUwOV9jaGVja19rZXlfdXNhZ2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydCI6TUJFRFRMU19YNTA5X0tVX0tFWV9DRVJUX1NJR046TUJFRFRMU19FUlJfWDUwOV9CQURfSU5QVVRfREFUQQogCiBYNTA5IENSVCBrZXlVc2FnZSAjNiAoZXh0ZW5zaW9uIHByZXNlbnQsIGNvbWJpbmVkIEtVIHByZXNlbnQpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jaGVja19rZXlfdXNhZ2U6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IjpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkV8TUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6MAoreDUwOV9jaGVja19rZXlfdXNhZ2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydCI6TUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFfE1CRURUTFNfWDUwOV9LVV9LRVlfRU5DSVBIRVJNRU5UOjAKIAogWDUwOSBDUlQga2V5VXNhZ2UgIzcgKGV4dGVuc2lvbiBwcmVzZW50LCBjb21iaW5lZCBLVSBib3RoIGFic2VudCkKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X2NoZWNrX2tleV91c2FnZToiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV91c2FnZS5jcnQiOk1CRURUTFNfWDUwOV9LVV9LRVlfQ0VSVF9TSUdOfE1CRURUTFNfWDUwOV9LVV9DUkxfU0lHTjpNQkVEVExTX0VSUl9YNTA5X0JBRF9JTlBVVF9EQVRBCit4NTA5X2NoZWNrX2tleV91c2FnZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IjpNQkVEVExTX1g1MDlfS1VfS0VZX0NFUlRfU0lHTnxNQkVEVExTX1g1MDlfS1VfQ1JMX1NJR046TUJFRFRMU19FUlJfWDUwOV9CQURfSU5QVVRfREFUQQogCiBYNTA5IENSVCBrZXlVc2FnZSAjOCAoZXh0ZW5zaW9uIHByZXNlbnQsIGNvbWJpbmVkIEtVIG9uZSBhYnNlbnQpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jaGVja19rZXlfdXNhZ2U6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IjpNQkVEVExTX1g1MDlfS1VfS0VZX0VOQ0lQSEVSTUVOVHxNQkVEVExTX1g1MDlfS1VfS0VZX0FHUkVFTUVOVDpNQkVEVExTX0VSUl9YNTA5X0JBRF9JTlBVVF9EQVRBCit4NTA5X2NoZWNrX2tleV91c2FnZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IjpNQkVEVExTX1g1MDlfS1VfS0VZX0VOQ0lQSEVSTUVOVHxNQkVEVExTX1g1MDlfS1VfS0VZX0FHUkVFTUVOVDpNQkVEVExTX0VSUl9YNTA5X0JBRF9JTlBVVF9EQVRBCiAKIFg1MDkgQ1JUIGtleVVzYWdlICM5IChleHRlbnNpb24gcHJlc2VudCwgZGVjT25seSBhbGxvd2VkIGFic2VudCkKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X2NoZWNrX2tleV91c2FnZToiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV91c2FnZS5jcnQiOk1CRURUTFNfWDUwOV9LVV9ESUdJVEFMX1NJR05BVFVSRXxNQkVEVExTX1g1MDlfS1VfS0VZX0VOQ0lQSEVSTUVOVHxNQkVEVExTX1g1MDlfS1VfREVDSVBIRVJfT05MWTowCit4NTA5X2NoZWNrX2tleV91c2FnZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IjpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkV8TUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlR8TUJFRFRMU19YNTA5X0tVX0RFQ0lQSEVSX09OTFk6MAogCiBYNTA5IENSVCBrZXlVc2FnZSAjMTAgKGV4dGVuc2lvbiBwcmVzZW50LCBkZWNPbmx5IG5vbi1hbGxvd2VkIHByZXNlbnQpCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19NRF9DQU5fU0hBMQoteDUwOV9jaGVja19rZXlfdXNhZ2U6ImRhdGFfZmlsZXMva2V5VXNhZ2UuZGVjaXBoZXJPbmx5LmNydCI6TUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFfE1CRURUTFNfWDUwOV9LVV9LRVlfRU5DSVBIRVJNRU5UOk1CRURUTFNfRVJSX1g1MDlfQkFEX0lOUFVUX0RBVEEKK3g1MDlfY2hlY2tfa2V5X3VzYWdlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9rZXlVc2FnZS5kZWNpcGhlck9ubHkuY3J0IjpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkV8TUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6TUJFRFRMU19FUlJfWDUwOV9CQURfSU5QVVRfREFUQQogCiBYNTA5IENSVCBrZXlVc2FnZSAjMTEgKGV4dGVuc2lvbiBwcmVzZW50LCBkZWNPbmx5IGFsbG93ZWQgcHJlc2VudCkKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX01EX0NBTl9TSEExCi14NTA5X2NoZWNrX2tleV91c2FnZToiZGF0YV9maWxlcy9rZXlVc2FnZS5kZWNpcGhlck9ubHkuY3J0IjpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkV8TUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlR8TUJFRFRMU19YNTA5X0tVX0RFQ0lQSEVSX09OTFk6MAoreDUwOV9jaGVja19rZXlfdXNhZ2U6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2tleVVzYWdlLmRlY2lwaGVyT25seS5jcnQiOk1CRURUTFNfWDUwOV9LVV9ESUdJVEFMX1NJR05BVFVSRXxNQkVEVExTX1g1MDlfS1VfS0VZX0VOQ0lQSEVSTUVOVHxNQkVEVExTX1g1MDlfS1VfREVDSVBIRVJfT05MWTowCiAKIFg1MDkgQ1JUIGV4dGVuZGVkS2V5VXNhZ2UgIzEgKG5vIGV4dGVuc2lvbiwgc2VydmVyQXV0aCkKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jaGVja19leHRlbmRlZF9rZXlfdXNhZ2U6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiIyYjA2MDEwNTA1MDcwMzAxIjowCit4NTA5X2NoZWNrX2V4dGVuZGVkX2tleV91c2FnZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiIyYjA2MDEwNTA1MDcwMzAxIjowCiAKIFg1MDkgQ1JUIGV4dGVuZGVkS2V5VXNhZ2UgIzIgKHNpbmdsZSB2YWx1ZSwgcHJlc2VudCkKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jaGVja19leHRlbmRlZF9rZXlfdXNhZ2U6ImRhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2LmNydCI6IjJiMDYwMTA1MDUwNzAzMDEiOjAKK3g1MDlfY2hlY2tfZXh0ZW5kZWRfa2V5X3VzYWdlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1zcnYuY3J0IjoiMmIwNjAxMDUwNTA3MDMwMSI6MAogCiBYNTA5IENSVCBleHRlbmRlZEtleVVzYWdlICMzIChzaW5nbGUgdmFsdWUsIGFic2VudCkKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jaGVja19leHRlbmRlZF9rZXlfdXNhZ2U6ImRhdGFfZmlsZXMvc2VydmVyNS5la3UtY2xpLmNydCI6IjJiMDYwMTA1MDUwNzAzMDEiOk1CRURUTFNfRVJSX1g1MDlfQkFEX0lOUFVUX0RBVEEKK3g1MDlfY2hlY2tfZXh0ZW5kZWRfa2V5X3VzYWdlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1jbGkuY3J0IjoiMmIwNjAxMDUwNTA3MDMwMSI6TUJFRFRMU19FUlJfWDUwOV9CQURfSU5QVVRfREFUQQogCiBYNTA5IENSVCBleHRlbmRlZEtleVVzYWdlICM0ICh0d28gdmFsdWVzLCBmaXJzdCkKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jaGVja19leHRlbmRlZF9rZXlfdXNhZ2U6ImRhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQiOiIyYjA2MDEwNTA1MDcwMzAxIjowCit4NTA5X2NoZWNrX2V4dGVuZGVkX2tleV91c2FnZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQiOiIyYjA2MDEwNTA1MDcwMzAxIjowCiAKIFg1MDkgQ1JUIGV4dGVuZGVkS2V5VXNhZ2UgIzUgKHR3byB2YWx1ZXMsIHNlY29uZCkKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfVkVSSUZZOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfTURfQ0FOX1NIQTI1NgoteDUwOV9jaGVja19leHRlbmRlZF9rZXlfdXNhZ2U6ImRhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQiOiIyYjA2MDEwNTA1MDcwMzAyIjowCit4NTA5X2NoZWNrX2V4dGVuZGVkX2tleV91c2FnZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5la3Utc3J2X2NsaS5jcnQiOiIyYjA2MDEwNTA1MDcwMzAyIjowCiAKIFg1MDkgQ1JUIGV4dGVuZGVkS2V5VXNhZ2UgIzYgKHR3byB2YWx1ZXMsIG90aGVyKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9WRVJJRlk6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5X2NoZWNrX2V4dGVuZGVkX2tleV91c2FnZToiZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1zcnZfY2xpLmNydCI6IjJiMDYwMTA1MDUwNzAzMDMiOk1CRURUTFNfRVJSX1g1MDlfQkFEX0lOUFVUX0RBVEEKK3g1MDlfY2hlY2tfZXh0ZW5kZWRfa2V5X3VzYWdlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmVrdS1zcnZfY2xpLmNydCI6IjJiMDYwMTA1MDUwNzAzMDMiOk1CRURUTFNfRVJSX1g1MDlfQkFEX0lOUFVUX0RBVEEKIAogWDUwOSBDUlQgZXh0ZW5kZWRLZXlVc2FnZSAjNyAoYW55LCByYW5kb20pCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1ZFUklGWTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlfY2hlY2tfZXh0ZW5kZWRfa2V5X3VzYWdlOiJkYXRhX2ZpbGVzL3NlcnZlcjUuZWt1LWNzX2FueS5jcnQiOiIyYjA2MDEwNTA1MDcwM2ZmIjowCit4NTA5X2NoZWNrX2V4dGVuZGVkX2tleV91c2FnZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5la3UtY3NfYW55LmNydCI6IjJiMDYwMTA1MDUwNzAzZmYiOjAKIAogWDUwOSBSU0FTU0EtUFNTIHBhcmFtZXRlcnMgQVNOMSAoZ29vZCwgYWxsIGRlZmF1bHRzKQogeDUwOV9wYXJzZV9yc2Fzc2FfcHNzX3BhcmFtczoiIjpNQkVEVExTX0FTTjFfQ09OU1RSVUNURUQgfCBNQkVEVExTX0FTTjFfU0VRVUVOQ0U6TUJFRFRMU19NRF9TSEExOk1CRURUTFNfTURfU0hBMToyMDowCkBAIC0zMDUwLDEyMiArMzA1MCwxMjIgQEAKIG1iZWR0bHNfeDUwOV9jc3JfcGFyc2U6IjMwMDgzMDA2MDIwNDdmZmZmZmZmIjoiIjpNQkVEVExTX0VSUl9YNTA5X1VOS05PV05fVkVSU0lPTgogCiAjIFVzZWQgdGVzdF9jc3JfdjNfYWxsLmNzci5kZXIgYXMgYSBiYXNlIGZvciBtYWxmb3JtaW5nIENTUiBleHRlbnN0aW9ucy9hdHRyaWJ1dGVzCi0jIFBsZWFzZSBzZWUgbWFrZWZpbGUgZm9yIGRhdGFfZmlsZXMgdG8gY2hlY2sgbWFsZm9ybWF0aW9uIGRldGFpbHMgKHRlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfeHh4LmNzciBmaWxlcykKKyMgUGxlYXNlIHNlZSBtYWtlZmlsZSBmb3IgLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMgdG8gY2hlY2sgbWFsZm9ybWF0aW9uIGRldGFpbHMgKHRlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfeHh4LmNzciBmaWxlcykKIFg1MDkgQ1NSIEFTTi4xIChhdHRyaWJ1dGVzOiBpbnZhbGlkIHNlcXVlbmNlIHRhZykKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfc2VxdWVuY2VfdGFnLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKK21iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX3NlcXVlbmNlX3RhZy5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCiAKIFg1MDkgQ1NSIEFTTi4xIChhdHRyaWJ1dGVzOiBpbnZhbGlkIGF0dHJpYnV0ZSBpZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfaWRfdGFnLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKK21iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2lkX3RhZy5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCiAKIFg1MDkgQ1NSIEFTTi4xIChhdHRyaWJ1dGVzOiBub3QgZXh0ZW5zaW9uIHJlcXVlc3QpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0LmNzci5kZXIiOiJDU1IgdmVyc2lvbiAgIFw6IDFcbnN1YmplY3QgbmFtZSAgXDogQ049ZXRjZFxuc2lnbmVkIHVzaW5nICBcOiBSU0Egd2l0aCBTSEEtMjU2XG5SU0Ega2V5IHNpemUgIFw6IDEwMjQgYml0c1xuIjowCittYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdC5jc3IuZGVyIjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IENOPWV0Y2RcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcbiI6MAogCiBYNTA5IENTUiBBU04uMSAoYXR0cmlidXRlczogaW52YWxpZCBleHRlbnN0aW9uIHJlcXVlc3Qgc2V0IHRhZykKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2V0X3RhZy5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCittYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdF9zZXRfdGFnLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKIAogWDUwOSBDU1IgQVNOLjEgKGF0dHJpYnV0ZXM6IGludmFsaWQgZXh0ZW5zdGlvbiByZXF1ZXN0IHNlcXVlbmNlIHRhZykKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2VxdWVuY2VfdGFnLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKK21iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2V4dGVuc2lvbl9yZXF1ZXN0X3NlcXVlbmNlX3RhZy5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCiAKIFg1MDkgQ1NSIEFTTi4xIChhdHRyaWJ1dGVzOiBpbnZhbGlkIGxlbiAobGVuID4gZGF0YSkpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2xlbjEuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9PVVRfT0ZfREFUQQorbWJlZHRsc194NTA5X2Nzcl9wYXJzZV9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfbGVuMS5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX09VVF9PRl9EQVRBCiAKIFg1MDkgQ1NSIEFTTi4xIChhdHRyaWJ1dGVzOiBpbnZhbGlkIGxlbiAobGVuIDwgZGF0YSkpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2xlbjIuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9MRU5HVEhfTUlTTUFUQ0gKK21iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9hdHRyaWJ1dGVzX2xlbjIuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9MRU5HVEhfTUlTTUFUQ0gKIAogWDUwOSBDU1IgQVNOLjEgKGF0dHJpYnV0ZXM6IGV4dGVuc2lvbiByZXF1ZXN0IGludmFsaWQgbGVuIChsZW4gPiBkYXRhKSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2VxdWVuY2VfbGVuMS5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX09VVF9PRl9EQVRBCittYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdF9zZXF1ZW5jZV9sZW4xLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfT1VUX09GX0RBVEEKIAogWDUwOSBDU1IgQVNOLjEgKGF0dHJpYnV0ZXM6IGV4dGVuc2lvbiByZXF1ZXN0IGludmFsaWQgbGVuIChsZW4gPCBkYXRhKSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2F0dHJpYnV0ZXNfZXh0ZW5zaW9uX3JlcXVlc3Rfc2VxdWVuY2VfbGVuMi5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX09VVF9PRl9EQVRBCittYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfYXR0cmlidXRlc19leHRlbnNpb25fcmVxdWVzdF9zZXF1ZW5jZV9sZW4yLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfT1VUX09GX0RBVEEKIAogWDUwOSBDU1IgQVNOLjEgKGV4dGVuc2lvbnM6IGludmFsaWQgc2VxdWVuY2UgdGFnKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotbWJlZHRsc194NTA5X2Nzcl9wYXJzZV9maWxlOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uc19zZXF1ZW5jZV90YWcuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRworbWJlZHRsc194NTA5X2Nzcl9wYXJzZV9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbnNfc2VxdWVuY2VfdGFnLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKIAogWDUwOSBDU1IgQVNOLjEgKGV4dGVuc2lvbnM6IGludmFsaWQgZXh0ZW5zaW9uIGlkIHRhZykKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9pZF90YWcuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRworbWJlZHRsc194NTA5X2Nzcl9wYXJzZV9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9pZF90YWcuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRwogCiBYNTA5IENTUiBBU04uMSAoZXh0ZW5zaW9uczogaW52YWxpZCBleHRlbnNpb24gZGF0YSB0YWcpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fZGF0YV90YWcuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRworbWJlZHRsc194NTA5X2Nzcl9wYXJzZV9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9kYXRhX3RhZy5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCiAKIFg1MDkgQ1NSIEFTTi4xIChleHRlbnNpb25zOiBpbnZhbGlkIGV4dGVuc2lvbiBkYXRhIGxlbiAobGVuID4gZGF0YSkpCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fZGF0YV9sZW4xLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfT1VUX09GX0RBVEEKK21iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fZGF0YV9sZW4xLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfT1VUX09GX0RBVEEKIAogWDUwOSBDU1IgQVNOLjEgKGV4dGVuc2lvbnM6IGludmFsaWQgZXh0ZW5zaW9uIGRhdGEgbGVuIChsZW4gPCBkYXRhKSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9kYXRhX2xlbjIuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9MRU5HVEhfTUlTTUFUQ0gKK21iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fZGF0YV9sZW4yLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfTEVOR1RIX01JU01BVENICiAKIFg1MDkgQ1NSIEFTTi4xIChleHRlbnNpb25zOiBpbnZhbGlkIGV4dGVuc2lvbiBrZXkgdXNhZ2UgYml0c3RyZWFtIHRhZykKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl9rZXlfdXNhZ2VfYml0c3RyZWFtX3RhZy5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCittYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX2tleV91c2FnZV9iaXRzdHJlYW1fdGFnLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKIAogWDUwOSBDU1IgQVNOLjEgKGV4dGVuc2lvbnM6IGludmFsaWQgZXh0ZW5zaW9uIHN1YmplY3QgYWx0IG5hbWUgc2VxdWVuY2UgdGFnKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotbWJlZHRsc194NTA5X2Nzcl9wYXJzZV9maWxlOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX3N1YmplY3RfYWx0X25hbWVfc2VxdWVuY2VfdGFnLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKK21iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvdGVzdF9jc3JfdjNfYWxsX21hbGZvcm1lZF9leHRlbnNpb25fc3ViamVjdF9hbHRfbmFtZV9zZXF1ZW5jZV90YWcuY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRwogCiBYNTA5IENTUiBBU04uMSAoZXh0ZW5zaW9uczogaW52YWxpZCBleHRlbnNpb24gbnMgY2VydCBiaXRzdHJlYW0gdGFnKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotbWJlZHRsc194NTA5X2Nzcl9wYXJzZV9maWxlOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX25zX2NlcnRfYml0c3RyZWFtX3RhZy5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCittYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZXh0ZW5zaW9uX25zX2NlcnRfYml0c3RyZWFtX3RhZy5jc3IuZGVyIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCiAKIFg1MDkgQ1NSIEFTTi4xIChleHRlbnNpb25zOiBkdXBsaWNhdGVkIGV4dGVuc2lvbikKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2R1cGxpY2F0ZWRfZXh0ZW5zaW9uLmNzci5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfSU5WQUxJRF9EQVRBCittYmVkdGxzX3g1MDlfY3NyX3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3Rlc3RfY3NyX3YzX2FsbF9tYWxmb3JtZWRfZHVwbGljYXRlZF9leHRlbnNpb24uY3NyLmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9JTlZBTElEX0RBVEEKIAogWDUwOSBDU1IgQVNOLjEgKGV4dGVuc2lvbnM6IGludmFsaWQgZXh0ZW5zaW9uIHR5cGUgZGF0YSkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLW1iZWR0bHNfeDUwOV9jc3JfcGFyc2VfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl90eXBlX29pZC5jc3IuZGVyIjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IENOPWV0Y2RcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxuY2VydC4gdHlwZSAgICAgICAgXDogU1NMIENsaWVudFxua2V5IHVzYWdlICAgICAgICAgXDogQ1JMIFNpZ25cbiI6MAorbWJlZHRsc194NTA5X2Nzcl9wYXJzZV9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC90ZXN0X2Nzcl92M19hbGxfbWFsZm9ybWVkX2V4dGVuc2lvbl90eXBlX29pZC5jc3IuZGVyIjoiQ1NSIHZlcnNpb24gICBcOiAxXG5zdWJqZWN0IG5hbWUgIFw6IENOPWV0Y2RcbnNpZ25lZCB1c2luZyAgXDogUlNBIHdpdGggU0hBLTI1NlxuUlNBIGtleSBzaXplICBcOiAxMDI0IGJpdHNcblxuY2VydC4gdHlwZSAgICAgICAgXDogU1NMIENsaWVudFxua2V5IHVzYWdlICAgICAgICAgXDogQ1JMIFNpZ25cbiI6MAogCiBYNTA5IEZpbGUgcGFyc2UgKG5vIGlzc3VlcykKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotbWJlZHRsc194NTA5X2NydF9wYXJzZV9maWxlOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjdfaW50LWNhLmNydCI6MDoyCittYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjdfaW50LWNhLmNydCI6MDoyCiAKIFg1MDkgRmlsZSBwYXJzZSAoZXh0cmEgc3BhY2UgaW4gb25lIGNlcnRpZmljYXRlKQogZGVwZW5kc19vbjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TT01FOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi1tYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyN19wZW1fc3BhY2UuY3J0IjoxOjEKK21iZWR0bHNfeDUwOV9jcnRfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyN19wZW1fc3BhY2UuY3J0IjoxOjEKIAogWDUwOSBGaWxlIHBhcnNlIChhbGwgY2VydGlmaWNhdGVzIGZhaWwpCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19SU0FfQwotbWJlZHRsc194NTA5X2NydF9wYXJzZV9maWxlOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjdfYWxsX3NwYWNlLmNydCI6TUJFRFRMU19FUlJfUEVNX0lOVkFMSURfREFUQSArIE1CRURUTFNfRVJSX0JBU0U2NF9JTlZBTElEX0NIQVJBQ1RFUjowCittYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjdfYWxsX3NwYWNlLmNydCI6TUJFRFRMU19FUlJfUEVNX0lOVkFMSURfREFUQSArIE1CRURUTFNfRVJSX0JBU0U2NF9JTlZBTElEX0NIQVJBQ1RFUjowCiAKIFg1MDkgRmlsZSBwYXJzZSAodHJhaWxpbmcgc3BhY2VzLCBPSykKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotbWJlZHRsc194NTA5X2NydF9wYXJzZV9maWxlOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjdfdHJhaWxpbmdfc3BhY2UuY3J0IjowOjIKK21iZWR0bHNfeDUwOV9jcnRfcGFyc2VfZmlsZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyN190cmFpbGluZ19zcGFjZS5jcnQiOjA6MgogCiBYNTA5IEZpbGUgcGFyc2UgKEFsZ29yaXRobSBQYXJhbXMgVGFnIG1pc21hdGNoKQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwotbWJlZHRsc194NTA5X2NydF9wYXJzZV9maWxlOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NsaS1yc2Etc2hhMjU2LWJhZGFsZy5jcnQuZGVyIjpNQkVEVExTX0VSUl9YNTA5X1NJR19NSVNNQVRDSDowCittYmVkdGxzX3g1MDlfY3J0X3BhcnNlX2ZpbGU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3BhcnNlX2lucHV0L2NsaS1yc2Etc2hhMjU2LWJhZGFsZy5jcnQuZGVyIjpNQkVEVExTX0VSUl9YNTA5X1NJR19NSVNNQVRDSDowCiAKIFg1MDkgRmlsZSBwYXJzZSAoZG9lcyBub3QgY29uZm9ybSB0byBSRkMgNTQ4MCAvIFJGQyA1NzU4IC0gQWxnb3JpdGhtSWRlbnRpZmllcidzIHBhcmFtZXRlcnMgZmllbGQgaXMgcHJlc2VudCwgbWJlZFRMUyBnZW5lcmF0ZWQgYmVmb3JlIGJ1Z2ZpeCwgT0spCiBkZXBlbmRzX29uOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NPTUU6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci14NTA5cGFyc2VfY3J0X2ZpbGU6ImRhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyNS1ub24tY29tcGxpYW50LmNydCI6MAoreDUwOXBhcnNlX2NydF9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LW5vbi1jb21wbGlhbnQuY3J0IjowCiAKIFg1MDkgRmlsZSBwYXJzZSAoY29uZm9ybXMgdG8gUkZDIDU0ODAgLyBSRkMgNTc1OCAtIEFsZ29yaXRobUlkZW50aWZpZXIncyBwYXJhbWV0ZXJzIGZpZWxkIG11c3QgYmUgYWJzZW50IGZvciBFQ0RTQSkKIGRlcGVuZHNfb246TUJFRFRMU19QS19DQU5fRUNEU0FfU09NRTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX01EX0NBTl9TSEEyNTYKLXg1MDlwYXJzZV9jcnRfZmlsZToiZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LmNydCI6MAoreDUwOXBhcnNlX2NydF9maWxlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9wYXJzZV9pbnB1dC9zZXJ2ZXI1LmNydCI6MAogCiBYNTA5IEZpbGUgcGFyc2UgJiByZWFkIHRoZSBjYV9pc3RydWUgZmllbGQgKE5vdCBTZXQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9nZXRfY2FfaXN0cnVlOiJkYXRhX2ZpbGVzL3BhcnNlX2lucHV0L3NlcnZlcjEuY3J0IjowCittYmVkdGxzX3g1MDlfZ2V0X2NhX2lzdHJ1ZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvcGFyc2VfaW5wdXQvc2VydmVyMS5jcnQiOjAKIAogWDUwOSBGaWxlIHBhcnNlICYgcmVhZCB0aGUgY2FfaXN0cnVlIGZpZWxkIChTZXQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTEKLW1iZWR0bHNfeDUwOV9nZXRfY2FfaXN0cnVlOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjoxCittYmVkdGxzX3g1MDlfZ2V0X2NhX2lzdHJ1ZToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjEKIAogWDUwOSBGaWxlIHBhcnNlICYgcmVhZCB0aGUgY2FfaXN0cnVlIGZpZWxkIChMZWdhY3kgQ2VydGlmaWNhdGUpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19SU0FfQzpNQkVEVExTX0hBVkVfVElNRV9EQVRFOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ci1tYmVkdGxzX3g1MDlfZ2V0X2NhX2lzdHJ1ZToiZGF0YV9maWxlcy9zZXJ2ZXIxLXYxLmNydCI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMKK21iZWR0bHNfeDUwOV9nZXRfY2FfaXN0cnVlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLXYxLmNydCI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMKIAogWDUwOSBHZXQgdGltZSAoVVRDIG5vIGlzc3VlcykKIGRlcGVuZHNfb246TUJFRFRMU19YNTA5X1VTRV9DCkBAIC0zMjgxLDkxICszMjgxLDkxIEBACiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiB0cnVzdGVkIEVFLCBtYXhfb3BzPTAgKGRpc2FibGVkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMQoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjowOjA6MDowOjAKK3g1MDlfdmVyaWZ5X3Jlc3RhcnQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjowOjA6MDowOjAKIAogWDUwOSBDUlQgdmVyaWZ5IHJlc3RhcnQ6IHRydXN0ZWQgRUUsIG1heF9vcHM9MQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMQoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjoiZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjowOjA6MTowOjAKK3g1MDlfdmVyaWZ5X3Jlc3RhcnQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUtc2VsZnNpZ25lZC5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LXNlbGZzaWduZWQuY3J0IjowOjA6MTowOjAKIAogWDUwOSBDUlQgdmVyaWZ5IHJlc3RhcnQ6IG5vIGludGVybWVkaWF0ZSwgbWF4X29wcz0wIChkaXNhYmxlZCkKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLXg1MDlfdmVyaWZ5X3Jlc3RhcnQ6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6MDowOjA6MDowCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6MDowOjA6MDowCiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiBubyBpbnRlcm1lZGlhdGUsIG1heF9vcHM9MQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjowOjA6MToxMDA6MTAwMDAKK3g1MDlfdmVyaWZ5X3Jlc3RhcnQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjowOjA6MToxMDA6MTAwMDAKIAogWDUwOSBDUlQgdmVyaWZ5IHJlc3RhcnQ6IG5vIGludGVybWVkaWF0ZSwgbWF4X29wcz00MDAwMAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjowOjA6NDAwMDA6MDowCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6MDowOjQwMDAwOjA6MAogCiBYNTA5IENSVCB2ZXJpZnkgcmVzdGFydDogbm8gaW50ZXJtZWRpYXRlLCBtYXhfb3BzPTUwMAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjowOjA6NTAwOjIwOjgwCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6MDowOjUwMDoyMDo4MAogCiBYNTA5IENSVCB2ZXJpZnkgcmVzdGFydDogbm8gaW50ZXJtZWRpYXRlLCBiYWRzaWduLCBtYXhfb3BzPTAgKGRpc2FibGVkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjA6MDowCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDowOjA6MAogCiBYNTA5IENSVCB2ZXJpZnkgcmVzdGFydDogbm8gaW50ZXJtZWRpYXRlLCBiYWRzaWduLCBtYXhfb3BzPTEKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjEKLXg1MDlfdmVyaWZ5X3Jlc3RhcnQ6ImRhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDoxOjEwMDoxMDAwMAoreDUwOV92ZXJpZnlfcmVzdGFydDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6MToxMDA6MTAwMDAKIAogWDUwOSBDUlQgdmVyaWZ5IHJlc3RhcnQ6IG5vIGludGVybWVkaWF0ZSwgYmFkc2lnbiwgbWF4X29wcz00MDAwMAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMQoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IjoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjQwMDAwOjA6MAoreDUwOV92ZXJpZnlfcmVzdGFydDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS1iYWRzaWduLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6NDAwMDA6MDowCiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiBubyBpbnRlcm1lZGlhdGUsIGJhZHNpZ24sIG1heF9vcHM9NTAwCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxCi14NTA5X3ZlcmlmeV9yZXN0YXJ0OiJkYXRhX2ZpbGVzL3NlcnZlcjUtYmFkc2lnbi5jcnQiOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6NTAwOjIwOjgwCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LWJhZHNpZ24uY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIuY3J0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDo1MDA6MjA6ODAKIAogWDUwOSBDUlQgdmVyaWZ5IHJlc3RhcnQ6IG9uZSBpbnQsIG1heF9vcHM9MCAoZGlzYWJsZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5X3Jlc3RhcnQ6ImRhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyLmNydCI6ImRhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmNydCI6MDowOjA6MDowCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmNydCI6MDowOjA6MDowCiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiBvbmUgaW50LCBtYXhfb3BzPTEKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19SU0FfQwoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTIuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjowOjA6MToxMDA6MTAwMDAKK3g1MDlfdmVyaWZ5X3Jlc3RhcnQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDNfaW50LWNhMi5jcnQiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjowOjA6MToxMDA6MTAwMDAKIAogWDUwOSBDUlQgdmVyaWZ5IHJlc3RhcnQ6IG9uZSBpbnQsIG1heF9vcHM9MzAwMDAKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19SU0FfQwoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTIuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjowOjA6MzAwMDA6MDowCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTIuY3J0IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmNydCI6MDowOjMwMDAwOjA6MAogCiBYNTA5IENSVCB2ZXJpZnkgcmVzdGFydDogb25lIGludCwgbWF4X29wcz01MDAKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19SU0FfQwoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzX2ludC1jYTIuY3J0IjoiZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjowOjA6NTAwOjI1OjEwMAoreDUwOV92ZXJpZnlfcmVzdGFydDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMTBfaW50M19pbnQtY2EyLmNydCI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOjA6MDo1MDA6MjU6MTAwCiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiBvbmUgaW50LCBFRSBiYWRzaWduLCBtYXhfb3BzPTAgKGRpc2FibGVkKQogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX1JTQV9DCi14NTA5X3ZlcmlmeV9yZXN0YXJ0OiJkYXRhX2ZpbGVzL3NlcnZlcjEwLWJzX2ludDMucGVtIjoiZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDowOjA6MAoreDUwOV92ZXJpZnlfcmVzdGFydDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMTAtYnNfaW50My5wZW0iOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDowOjA6MAogCiBYNTA5IENSVCB2ZXJpZnkgcmVzdGFydDogb25lIGludCwgRUUgYmFkc2lnbiwgbWF4X29wcz0xCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5X3Jlc3RhcnQ6ImRhdGFfZmlsZXMvc2VydmVyMTAtYnNfaW50My5wZW0iOiJkYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjE6MTAwOjEwMDAwCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxMC1ic19pbnQzLnBlbSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjE6MTAwOjEwMDAwCiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiBvbmUgaW50LCBFRSBiYWRzaWduLCBtYXhfb3BzPTMwMDAwCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5X3Jlc3RhcnQ6ImRhdGFfZmlsZXMvc2VydmVyMTAtYnNfaW50My5wZW0iOiJkYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjMwMDAwOjA6MAoreDUwOV92ZXJpZnlfcmVzdGFydDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMTAtYnNfaW50My5wZW0iOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDozMDAwMDowOjAKIAogWDUwOSBDUlQgdmVyaWZ5IHJlc3RhcnQ6IG9uZSBpbnQsIEVFIGJhZHNpZ24sIG1heF9vcHM9NTAwCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5X3Jlc3RhcnQ6ImRhdGFfZmlsZXMvc2VydmVyMTAtYnNfaW50My5wZW0iOiJkYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjUwMDoyNToxMDAKK3g1MDlfdmVyaWZ5X3Jlc3RhcnQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEwLWJzX2ludDMucGVtIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmNydCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6NTAwOjI1OjEwMAogCiBYNTA5IENSVCB2ZXJpZnkgcmVzdGFydDogb25lIGludCwgaW50IGJhZHNpZ24sIG1heF9vcHM9MCAoZGlzYWJsZWQpCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5X3Jlc3RhcnQ6ImRhdGFfZmlsZXMvc2VydmVyMTBfaW50My1icy5wZW0iOiJkYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjA6MDowCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzLWJzLnBlbSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjA6MDowCiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiBvbmUgaW50LCBpbnQgYmFkc2lnbiwgbWF4X29wcz0xCiBkZXBlbmRzX29uOk1CRURUTFNfUEVNX1BBUlNFX0M6TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfUlNBX0MKLXg1MDlfdmVyaWZ5X3Jlc3RhcnQ6ImRhdGFfZmlsZXMvc2VydmVyMTBfaW50My1icy5wZW0iOiJkYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjE6MTAwOjEwMDAwCit4NTA5X3ZlcmlmeV9yZXN0YXJ0OiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzLWJzLnBlbSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtaW50LWNhMi5jcnQiOk1CRURUTFNfRVJSX1g1MDlfQ0VSVF9WRVJJRllfRkFJTEVEOk1CRURUTFNfWDUwOV9CQURDRVJUX05PVF9UUlVTVEVEOjE6MTAwOjEwMDAwCiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiBvbmUgaW50LCBpbnQgYmFkc2lnbiwgbWF4X29wcz0zMDAwMAogZGVwZW5kc19vbjpNQkVEVExTX1BFTV9QQVJTRV9DOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX1JTQV9DCi14NTA5X3ZlcmlmeV9yZXN0YXJ0OiJkYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDMtYnMucGVtIjoiZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDozMDAwMDowOjAKK3g1MDlfdmVyaWZ5X3Jlc3RhcnQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEwX2ludDMtYnMucGVtIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmNydCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6MzAwMDA6MDowCiAKIFg1MDkgQ1JUIHZlcmlmeSByZXN0YXJ0OiBvbmUgaW50LCBpbnQgYmFkc2lnbiwgbWF4X29wcz01MDAKIGRlcGVuZHNfb246TUJFRFRMU19QRU1fUEFSU0VfQzpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjE6TUJFRFRMU19FQ1BfSEFWRV9TRUNQMzg0UjE6TUJFRFRMU19SU0FfQwoteDUwOV92ZXJpZnlfcmVzdGFydDoiZGF0YV9maWxlcy9zZXJ2ZXIxMF9pbnQzLWJzLnBlbSI6ImRhdGFfZmlsZXMvdGVzdC1pbnQtY2EyLmNydCI6TUJFRFRMU19FUlJfWDUwOV9DRVJUX1ZFUklGWV9GQUlMRUQ6TUJFRFRMU19YNTA5X0JBRENFUlRfTk9UX1RSVVNURUQ6NTAwOjI1OjEwMAoreDUwOV92ZXJpZnlfcmVzdGFydDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMTBfaW50My1icy5wZW0iOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWludC1jYTIuY3J0IjpNQkVEVExTX0VSUl9YNTA5X0NFUlRfVkVSSUZZX0ZBSUxFRDpNQkVEVExTX1g1MDlfQkFEQ0VSVF9OT1RfVFJVU1RFRDo1MDA6MjU6MTAwCiAKIFg1MDkgZXh0IHR5cGVzIGFjY2Vzc29yOiBleHQgdHlwZSBwcmVzZW50CiBkZXBlbmRzX29uOk1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQwpAQCAtMzM3Nyw2NSArMzM3Nyw2NSBAQAogCiBYNTA5IENSVCBwYXJzZSBTdWJqZWN0IEtleSBJZCAtIENvcnJlY3QgU3ViamVjdCBLZXkgSUQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXg1MDlfY3J0X3BhcnNlX3N1YmplY3RrZXlpZDoiZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWQuY3J0LmRlciI6IkE1MDVFODY0QjhEQ0RGNjAwRjUwMTI0RDYwQTg2NEFGNEQ4QjQzOTMiOjAKK3g1MDlfY3J0X3BhcnNlX3N1YmplY3RrZXlpZDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkLmNydC5kZXIiOiJBNTA1RTg2NEI4RENERjYwMEY1MDEyNEQ2MEE4NjRBRjREOEI0MzkzIjowCiAKIFg1MDkgQ1JUIHBhcnNlIFN1YmplY3QgS2V5IElkIC0gV3JvbmcgT0NURVRfU1RSSU5HIHRhZwogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwoteDUwOV9jcnRfcGFyc2Vfc3ViamVjdGtleWlkOiJkYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF90YWdfbWFsZm9ybWVkLmNydC5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKK3g1MDlfY3J0X3BhcnNlX3N1YmplY3RrZXlpZDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3RhZ19tYWxmb3JtZWQuY3J0LmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRwogCiBYNTA5IENSVCBwYXJzZSBTdWJqZWN0IEtleSBJZCAtIFdyb25nIE9DVEVUX1NUUklORyBsZW5ndGgKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXg1MDlfY3J0X3BhcnNlX3N1YmplY3RrZXlpZDoiZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfdGFnX2xlbl9tYWxmb3JtZWQuY3J0LmRlciI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9MRU5HVEhfTUlTTUFUQ0gKK3g1MDlfY3J0X3BhcnNlX3N1YmplY3RrZXlpZDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3RhZ19sZW5fbWFsZm9ybWVkLmNydC5kZXIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfTEVOR1RIX01JU01BVENICiAKIFg1MDkgQ1JUIHBhcnNlIEF1dGhvcml0eSBLZXkgSWQgLSBDb3JyZWN0IEF1dGhvcml0eSBLZXkgSUQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXg1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiJkYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jcnQuZGVyIjoiQTUwNUU4NjRCOERDREY2MDBGNTAxMjRENjBBODY0QUY0RDhCNDM5MyI6IkM9TkwsIE9VPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBIjoiNjgwNDMwQ0QwNzRERTYzRkNEQzA1MTI2MEZEMDQyQzJCNTEyQjZCQSI6MAoreDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZC5jcnQuZGVyIjoiQTUwNUU4NjRCOERDREY2MDBGNTAxMjRENjBBODY0QUY0RDhCNDM5MyI6IkM9TkwsIE9VPVBvbGFyU1NMLCBDTj1Qb2xhclNTTCBUZXN0IENBIjoiNjgwNDMwQ0QwNzRERTYzRkNEQzA1MTI2MEZEMDQyQzJCNTEyQjZCQSI6MAogCiBYNTA5IENSVCBwYXJzZSBBdXRob3JpdHkgS2V5IElkIC0gQ29ycmVjdCBBdXRob3JpdHkgS2V5IElEIChubyBrZXlpZCkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXg1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiJkYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX25vX2tleWlkLmNydC5kZXIiOiIiOiJDPU5MLCBPVT1Qb2xhclNTTCwgQ049UG9sYXJTU0wgVGVzdCBDQSI6IjY4MDQzMENEMDc0REU2M0ZDREMwNTEyNjBGRDA0MkMyQjUxMkI2QkEiOjAKK3g1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9ub19rZXlpZC5jcnQuZGVyIjoiIjoiQz1OTCwgT1U9UG9sYXJTU0wsIENOPVBvbGFyU1NMIFRlc3QgQ0EiOiI2ODA0MzBDRDA3NERFNjNGQ0RDMDUxMjYwRkQwNDJDMkI1MTJCNkJBIjowCiAKIFg1MDkgQ1JUIHBhcnNlIEF1dGhvcml0eSBLZXkgSWQgLSBDb3JyZWN0IEF1dGhvcml0eSBLZXkgSUQgKG5vIGlzc3VlcikKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXg1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiJkYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX25vX2lzc3Vlci5jcnQuZGVyIjoiQTUwNUU4NjRCOERDREY2MDBGNTAxMjRENjBBODY0QUY0RDhCNDM5MyI6IiI6IiI6MAoreDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX25vX2lzc3Vlci5jcnQuZGVyIjoiQTUwNUU4NjRCOERDREY2MDBGNTAxMjRENjBBODY0QUY0RDhCNDM5MyI6IiI6IiI6MAogCiBYNTA5IENSVCBwYXJzZSBBdXRob3JpdHkgS2V5IElkIC0gbm8gQXV0aG9yaXR5IEtleSBJRAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwoteDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6ImRhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfbm9fYXV0aG9yaXR5S2V5SWQuY3J0LmRlciI6IiI6IiI6IiI6MAoreDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX25vX2F1dGhvcml0eUtleUlkLmNydC5kZXIiOiIiOiIiOiIiOjAKIAogWDUwOSBDUlQgcGFyc2UgQXV0aG9yaXR5IEtleSBJZCAtIFdyb25nIExlbmd0aAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwoteDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6ImRhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2xlbmd0aF9tYWxmb3JtZWQuY3J0LmRlciI6IiI6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9MRU5HVEhfTUlTTUFUQ0gKK3g1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfbGVuZ3RoX21hbGZvcm1lZC5jcnQuZGVyIjoiIjoiIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX0xFTkdUSF9NSVNNQVRDSAogCiBYNTA5IENSVCBwYXJzZSBBdXRob3JpdHkgS2V5IElkIC0gV3JvbmcgU2VxdWVuY2UgdGFnCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi14NTA5X2NydF9wYXJzZV9hdXRob3JpdHlrZXlpZDoiZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfc2VxdWVuY2VfdGFnX21hbGZvcm1lZC5jcnQuZGVyIjoiIjoiIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCit4NTA5X2NydF9wYXJzZV9hdXRob3JpdHlrZXlpZDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3NlcXVlbmNlX3RhZ19tYWxmb3JtZWQuY3J0LmRlciI6IiI6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRwogCiBYNTA5IENSVCBwYXJzZSBBdXRob3JpdHkgS2V5IElkIC0gV3JvbmcgS2V5SWQgVGFnCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1JTQV9DCi14NTA5X2NydF9wYXJzZV9hdXRob3JpdHlrZXlpZDoiZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfa2V5aWRfdGFnX21hbGZvcm1lZC5jcnQuZGVyIjoiIjoiIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCit4NTA5X2NydF9wYXJzZV9hdXRob3JpdHlrZXlpZDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2tleWlkX3RhZ19tYWxmb3JtZWQuY3J0LmRlciI6IiI6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRwogCiBYNTA5IENSVCBwYXJzZSBBdXRob3JpdHkgS2V5IElkIC0gV3JvbmcgS2V5SWQgVGFnIExlbmd0aAogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwoteDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6ImRhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2tleWlkX3RhZ19sZW5fbWFsZm9ybWVkLmNydC5kZXIiOiIiOiIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfSU5WQUxJRF9MRU5HVEgKK3g1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfa2V5aWRfdGFnX2xlbl9tYWxmb3JtZWQuY3J0LmRlciI6IiI6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9JTlZBTElEX0xFTkdUSAogCiBYNTA5IENSVCBwYXJzZSBBdXRob3JpdHkgS2V5IElkIC0gV3JvbmcgSXNzdWVyIFRhZwogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQwoteDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6ImRhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2lzc3Vlcl90YWcxX21hbGZvcm1lZC5jcnQuZGVyIjoiIjoiIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCit4NTA5X2NydF9wYXJzZV9hdXRob3JpdHlrZXlpZDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX2lzc3Vlcl90YWcxX21hbGZvcm1lZC5jcnQuZGVyIjoiIjoiIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCiAKIFg1MDkgQ1JUIHBhcnNlIEF1dGhvcml0eSBLZXkgSWQgLSBXcm9uZyBEaXJlY3RvcnlOYW1lIHRhZyBpbiBpc3N1ZXIgZmllbGQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXg1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiJkYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9pc3N1ZXJfdGFnMl9tYWxmb3JtZWQuY3J0LmRlciI6IiI6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRworeDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9pc3N1ZXJfdGFnMl9tYWxmb3JtZWQuY3J0LmRlciI6IiI6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRwogCiBYNTA5IENSVCBwYXJzZSBBdXRob3JpdHkgS2V5IElkIC0gV3JvbmcgU2VyaWFsIE51bWJlciBUYWcKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXg1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiJkYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9zbl90YWdfbWFsZm9ybWVkLmNydC5kZXIiOiIiOiIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfVU5FWFBFQ1RFRF9UQUcKK3g1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9hdXRob3JpdHlLZXlJZF9zdWJqZWN0S2V5SWRfc25fdGFnX21hbGZvcm1lZC5jcnQuZGVyIjoiIjoiIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX1VORVhQRUNURURfVEFHCiAKIFg1MDkgQ1JUIHBhcnNlIEF1dGhvcml0eSBLZXkgSWQgLSBXcm9uZyBTZXJpYWwgTnVtYmVyIFRhZyBsZW5ndGgKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0MKLXg1MDlfY3J0X3BhcnNlX2F1dGhvcml0eWtleWlkOiJkYXRhX2ZpbGVzL2F1dGhvcml0eUtleUlkX3N1YmplY3RLZXlJZF9zbl9sZW5fbWFsZm9ybWVkLmNydC5kZXIiOiIiOiIiOiIiOk1CRURUTFNfRVJSX1g1MDlfSU5WQUxJRF9FWFRFTlNJT05TK01CRURUTFNfRVJSX0FTTjFfTEVOR1RIX01JU01BVENICit4NTA5X2NydF9wYXJzZV9hdXRob3JpdHlrZXlpZDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvYXV0aG9yaXR5S2V5SWRfc3ViamVjdEtleUlkX3NuX2xlbl9tYWxmb3JtZWQuY3J0LmRlciI6IiI6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9MRU5HVEhfTUlTTUFUQ0gKIAogIyBjbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZnV6el94NTA5Y3J0LTY2NjYwNTA4MzQ2NjEzNzY6IHRlc3QgZm9yIGJhZCBzZXF1ZW5jZSBvZiBuYW1lcyBpbiBhdXRob3JpdHlDZXJ0SXNzdWVyIChzZWUgaXNzdWUgIzc1NzYpCiBYNTA5IENSVCBwYXJzZSBBdXRob3JpdHkgS2V5IElkIC0gV3JvbmcgSXNzdWVyIHNlcXVlbmNlCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX1JTQV9DCi14NTA5X2NydF9wYXJzZV9hdXRob3JpdHlrZXlpZDoiZGF0YV9maWxlcy9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZnV6el94NTA5Y3J0LTY2NjYwNTA4MzQ2NjEzNzYuY3J0LmRlciI6IiI6IiI6IiI6TUJFRFRMU19FUlJfWDUwOV9JTlZBTElEX0VYVEVOU0lPTlMrTUJFRFRMU19FUlJfQVNOMV9PVVRfT0ZfREFUQQoreDUwOV9jcnRfcGFyc2VfYXV0aG9yaXR5a2V5aWQ6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mdXp6X3g1MDljcnQtNjY2NjA1MDgzNDY2MTM3Ni5jcnQuZGVyIjoiIjoiIjoiIjpNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUytNQkVEVExTX0VSUl9BU04xX09VVF9PRl9EQVRBCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5cGFyc2UuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5cGFyc2UuZnVuY3Rpb24KaW5kZXggZjNhZTBmNC4uOWZjMGU1NSAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfeDUwOXBhcnNlLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3g1MDlwYXJzZS5mdW5jdGlvbgpAQCAtMTUsNyArMTUsNyBAQAogI2lmIE1CRURUTFNfWDUwOV9NQVhfSU5URVJNRURJQVRFX0NBID4gMTkKICNlcnJvciAiVGhlIHZhbHVlIG9mIE1CRURUTFNfWDUwOV9NQVhfSU5URVJNRURJQVRFX0MgaXMgbGFyZ2VyIFwKICAgICB0aGFuIHRoZSBjdXJyZW50IHRocmVzaG9sZCAxOS4gVG8gdGVzdCBsYXJnZXIgdmFsdWVzLCBwbGVhc2UgXAotICAgIGFkYXB0IHRoZSBzY3JpcHQgdGVzdHMvZGF0YV9maWxlcy9kaXItbWF4L2xvbmcuc2guIgorICAgIGFkYXB0IHRoZSBzY3JpcHQgZnJhbWV3b3JrL2RhdGFfZmlsZXMvZGlyLW1heC9sb25nLnNoLiIKICNlbmRpZgogCiAvKiBUZXN0LW9ubHkgcHJvZmlsZSBhbGxvd2luZyBhbGwgZGlnZXN0cywgUEsgYWxnb3JpdGhtcywgYW5kIGN1cnZlcy4gKi8KQEAgLTYwLDcgKzYwLDEwIEBACiAgICAgMTAyNCwKIH07CiAKLWludCB2ZXJpZnlfbm9uZSh2b2lkICpkYXRhLCBtYmVkdGxzX3g1MDlfY3J0ICpjcnQsIGludCBjZXJ0aWZpY2F0ZV9kZXB0aCwgdWludDMyX3QgKmZsYWdzKQorI2lmIGRlZmluZWQoTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DKQorCisjaWYgZGVmaW5lZChNQkVEVExTX0ZTX0lPKQorc3RhdGljIGludCB2ZXJpZnlfbm9uZSh2b2lkICpkYXRhLCBtYmVkdGxzX3g1MDlfY3J0ICpjcnQsIGludCBjZXJ0aWZpY2F0ZV9kZXB0aCwgdWludDMyX3QgKmZsYWdzKQogewogICAgICgodm9pZCkgZGF0YSk7CiAgICAgKCh2b2lkKSBjcnQpOwpAQCAtNzAsNyArNzMsNyBAQAogICAgIHJldHVybiAwOwogfQogCi1pbnQgdmVyaWZ5X2FsbCh2b2lkICpkYXRhLCBtYmVkdGxzX3g1MDlfY3J0ICpjcnQsIGludCBjZXJ0aWZpY2F0ZV9kZXB0aCwgdWludDMyX3QgKmZsYWdzKQorc3RhdGljIGludCB2ZXJpZnlfYWxsKHZvaWQgKmRhdGEsIG1iZWR0bHNfeDUwOV9jcnQgKmNydCwgaW50IGNlcnRpZmljYXRlX2RlcHRoLCB1aW50MzJfdCAqZmxhZ3MpCiB7CiAgICAgKCh2b2lkKSBkYXRhKTsKICAgICAoKHZvaWQpIGNydCk7CkBAIC04MCw4ICs4MywxMCBAQAogICAgIHJldHVybiAwOwogfQogCi0jaWYgZGVmaW5lZChNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSykKLWludCBjYV9jYWxsYmFja19mYWlsKHZvaWQgKmRhdGEsIG1iZWR0bHNfeDUwOV9jcnQgY29uc3QgKmNoaWxkLCBtYmVkdGxzX3g1MDlfY3J0ICoqY2FuZGlkYXRlcykKKyNpZiBkZWZpbmVkKE1CRURUTFNfWDUwOV9DUkxfUEFSU0VfQykgJiYgXAorICAgIGRlZmluZWQoTUJFRFRMU19YNTA5X1RSVVNURURfQ0VSVElGSUNBVEVfQ0FMTEJBQ0spCitzdGF0aWMgaW50IGNhX2NhbGxiYWNrX2ZhaWwodm9pZCAqZGF0YSwgbWJlZHRsc194NTA5X2NydCBjb25zdCAqY2hpbGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc194NTA5X2NydCAqKmNhbmRpZGF0ZXMpCiB7CiAgICAgKCh2b2lkKSBkYXRhKTsKICAgICAoKHZvaWQpIGNoaWxkKTsKQEAgLTg5LDkgKzk0LDkgQEAKIAogICAgIHJldHVybiAtMTsKIH0KLSNpZiBkZWZpbmVkKE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQykKLWludCBjYV9jYWxsYmFjayh2b2lkICpkYXRhLCBtYmVkdGxzX3g1MDlfY3J0IGNvbnN0ICpjaGlsZCwKLSAgICAgICAgICAgICAgICBtYmVkdGxzX3g1MDlfY3J0ICoqY2FuZGlkYXRlcykKKworc3RhdGljIGludCBjYV9jYWxsYmFjayh2b2lkICpkYXRhLCBtYmVkdGxzX3g1MDlfY3J0IGNvbnN0ICpjaGlsZCwKKyAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc194NTA5X2NydCAqKmNhbmRpZGF0ZXMpCiB7CiAgICAgaW50IHJldCA9IDA7CiAgICAgbWJlZHRsc194NTA5X2NydCAqY2EgPSAobWJlZHRsc194NTA5X2NydCAqKSBkYXRhOwpAQCAtMTM4LDEwICsxNDMsOSBAQAogICAgICpjYW5kaWRhdGVzID0gZmlyc3Q7CiAgICAgcmV0dXJuIHJldDsKIH0KLSNlbmRpZiAvKiBNQkVEVExTX1g1MDlfQ1JUX1BBUlNFX0MgKi8KLSNlbmRpZiAvKiBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSyAqLworI2VuZGlmIC8qIE1CRURUTFNfWDUwOV9DUkxfUEFSU0VfQyAmJiBNQkVEVExTX1g1MDlfVFJVU1RFRF9DRVJUSUZJQ0FURV9DQUxMQkFDSyAqLwogCi1pbnQgdmVyaWZ5X2ZhdGFsKHZvaWQgKmRhdGEsIG1iZWR0bHNfeDUwOV9jcnQgKmNydCwgaW50IGNlcnRpZmljYXRlX2RlcHRoLCB1aW50MzJfdCAqZmxhZ3MpCitzdGF0aWMgaW50IHZlcmlmeV9mYXRhbCh2b2lkICpkYXRhLCBtYmVkdGxzX3g1MDlfY3J0ICpjcnQsIGludCBjZXJ0aWZpY2F0ZV9kZXB0aCwgdWludDMyX3QgKmZsYWdzKQogewogICAgIGludCAqbGV2ZWxzID0gKGludCAqKSBkYXRhOwogCkBAIC0xNTgsNyArMTYyLDcgQEAKIH0KIAogLyogc3Ryc2VwKCkgbm90IGF2YWlsYWJsZSBvbiBXaW5kb3dzICovCi1jaGFyICpteXN0cnNlcChjaGFyICoqc3RyaW5ncCwgY29uc3QgY2hhciAqZGVsaW0pCitzdGF0aWMgY2hhciAqbXlzdHJzZXAoY2hhciAqKnN0cmluZ3AsIGNvbnN0IGNoYXIgKmRlbGltKQogewogICAgIGNvbnN0IGNoYXIgKnA7CiAgICAgY2hhciAqcmV0ID0gKnN0cmluZ3A7CkBAIC0xODYsMTkgKzE5MCwxOCBAQAogICAgIHJldHVybiByZXQ7CiB9CiAKLSNpZiBkZWZpbmVkKE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQykKIHR5cGVkZWYgc3RydWN0IHsKICAgICBjaGFyIGJ1Zls1MTJdOwogICAgIGNoYXIgKnA7CiB9IHZlcmlmeV9wcmludF9jb250ZXh0OwogCi12b2lkIHZlcmlmeV9wcmludF9pbml0KHZlcmlmeV9wcmludF9jb250ZXh0ICpjdHgpCitzdGF0aWMgdm9pZCB2ZXJpZnlfcHJpbnRfaW5pdCh2ZXJpZnlfcHJpbnRfY29udGV4dCAqY3R4KQogewogICAgIG1lbXNldChjdHgsIDAsIHNpemVvZih2ZXJpZnlfcHJpbnRfY29udGV4dCkpOwogICAgIGN0eC0+cCA9IGN0eC0+YnVmOwogfQogCi1pbnQgdmVyaWZ5X3ByaW50KHZvaWQgKmRhdGEsIG1iZWR0bHNfeDUwOV9jcnQgKmNydCwgaW50IGNlcnRpZmljYXRlX2RlcHRoLCB1aW50MzJfdCAqZmxhZ3MpCitzdGF0aWMgaW50IHZlcmlmeV9wcmludCh2b2lkICpkYXRhLCBtYmVkdGxzX3g1MDlfY3J0ICpjcnQsIGludCBjZXJ0aWZpY2F0ZV9kZXB0aCwgdWludDMyX3QgKmZsYWdzKQogewogICAgIGludCByZXQ7CiAgICAgdmVyaWZ5X3ByaW50X2NvbnRleHQgKmN0eCA9ICh2ZXJpZnlfcHJpbnRfY29udGV4dCAqKSBkYXRhOwpAQCAtMjI2LDggKzIyOSw4IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCB2ZXJpZnlfcGFyc2Vfc2FuKG1iZWR0bHNfeDUwOV9zdWJqZWN0X2FsdGVybmF0aXZlX25hbWUgKnNhbiwKLSAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipidWYsIHNpemVfdCAqc2l6ZSkKK3N0YXRpYyBpbnQgdmVyaWZ5X3BhcnNlX3NhbihtYmVkdGxzX3g1MDlfc3ViamVjdF9hbHRlcm5hdGl2ZV9uYW1lICpzYW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKmJ1Ziwgc2l6ZV90ICpzaXplKQogewogICAgIGludCByZXQ7CiAgICAgc2l6ZV90IGk7CkBAIC0zMTYsOSArMzE5LDEwIEBACiAKICAgICByZXR1cm4gMDsKIH0KKyNlbmRpZiAvKiBNQkVEVExTX0ZTX0lPICovCiAKLWludCBwYXJzZV9jcnRfZXh0X2NiKHZvaWQgKnBfY3R4LCBtYmVkdGxzX3g1MDlfY3J0IGNvbnN0ICpjcnQsIG1iZWR0bHNfeDUwOV9idWYgY29uc3QgKm9pZCwKLSAgICAgICAgICAgICAgICAgICAgIGludCBjcml0aWNhbCwgY29uc3QgdW5zaWduZWQgY2hhciAqY3AsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuZCkKK3N0YXRpYyBpbnQgcGFyc2VfY3J0X2V4dF9jYih2b2lkICpwX2N0eCwgbWJlZHRsc194NTA5X2NydCBjb25zdCAqY3J0LCBtYmVkdGxzX3g1MDlfYnVmIGNvbnN0ICpvaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNyaXRpY2FsLCBjb25zdCB1bnNpZ25lZCBjaGFyICpjcCwgY29uc3QgdW5zaWduZWQgY2hhciAqZW5kKQogewogICAgICh2b2lkKSBjcnQ7CiAgICAgKHZvaWQpIGNyaXRpY2FsOwpAQCAtNDE2LDkgKzQyMCwxNCBAQAogfQogI2VuZGlmIC8qIE1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQyAqLwogCi0jaWYgZGVmaW5lZChNQkVEVExTX1g1MDlfQ1NSX1BBUlNFX0MpCi1pbnQgcGFyc2VfY3NyX2V4dF9hY2NlcHRfY2Iodm9pZCAqcF9jdHgsIG1iZWR0bHNfeDUwOV9jc3IgY29uc3QgKmNzciwgbWJlZHRsc194NTA5X2J1ZiBjb25zdCAqb2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjcml0aWNhbCwgY29uc3QgdW5zaWduZWQgY2hhciAqY3AsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuZCkKKyNpZiBkZWZpbmVkKE1CRURUTFNfWDUwOV9DU1JfUEFSU0VfQykgJiYgXAorICAgICFkZWZpbmVkKE1CRURUTFNfWDUwOV9SRU1PVkVfSU5GTykKK3N0YXRpYyBpbnQgcGFyc2VfY3NyX2V4dF9hY2NlcHRfY2Iodm9pZCAqcF9jdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfeDUwOV9jc3IgY29uc3QgKmNzciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc194NTA5X2J1ZiBjb25zdCAqb2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY3JpdGljYWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICplbmQpCiB7CiAgICAgKHZvaWQpIHBfY3R4OwogICAgICh2b2lkKSBjc3I7CkBAIC00MzAsOCArNDM5LDEyIEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBwYXJzZV9jc3JfZXh0X3JlamVjdF9jYih2b2lkICpwX2N0eCwgbWJlZHRsc194NTA5X2NzciBjb25zdCAqY3NyLCBtYmVkdGxzX3g1MDlfYnVmIGNvbnN0ICpvaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNyaXRpY2FsLCBjb25zdCB1bnNpZ25lZCBjaGFyICpjcCwgY29uc3QgdW5zaWduZWQgY2hhciAqZW5kKQorc3RhdGljIGludCBwYXJzZV9jc3JfZXh0X3JlamVjdF9jYih2b2lkICpwX2N0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc194NTA5X2NzciBjb25zdCAqY3NyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3g1MDlfYnVmIGNvbnN0ICpvaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjcml0aWNhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqY3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuZCkKIHsKICAgICAodm9pZCkgcF9jdHg7CiAgICAgKHZvaWQpIGNzcjsKQEAgLTQ0Myw3ICs0NTYsNyBAQAogICAgIHJldHVybiBNQkVEVExTX0VSUk9SX0FERChNQkVEVExTX0VSUl9YNTA5X0lOVkFMSURfRVhURU5TSU9OUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJFRFRMU19FUlJfQVNOMV9VTkVYUEVDVEVEX1RBRyk7CiB9Ci0jZW5kaWYgLyogTUJFRFRMU19YNTA5X0NTUl9QQVJTRV9DICovCisjZW5kaWYgLyogTUJFRFRMU19YNTA5X0NTUl9QQVJTRV9DICYmICFNQkVEVExTX1g1MDlfUkVNT1ZFX0lORk8gKi8KIC8qIEVORF9IRUFERVIgKi8KIAogLyogQkVHSU5fQ0FTRSBkZXBlbmRzX29uOk1CRURUTFNfWDUwOV9DUlRfUEFSU0VfQyAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfeDUwOXdyaXRlLmRhdGEgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5d3JpdGUuZGF0YQppbmRleCA1YzZhOTAzLi4wY2JhZDRiIDEwMDY0NAotLS0gYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5d3JpdGUuZGF0YQorKysgYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5d3JpdGUuZGF0YQpAQCAtMSwxNzAgKzEsMTcwIEBACiBDZXJ0aWZpY2F0ZSBSZXF1ZXN0IGNoZWNrIFNlcnZlcjEgU0hBMQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfY3NyX2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGExIjpNQkVEVExTX01EX1NIQTE6MDowOjA6MDowCit4NTA5X2Nzcl9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGExIjpNQkVEVExTX01EX1NIQTE6MDowOjA6MDowCiAKIENlcnRpZmljYXRlIFJlcXVlc3QgY2hlY2sgU2VydmVyMSBTSEEyMjQKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjI0Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfY3NyX2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEyMjQiOk1CRURUTFNfTURfU0hBMjI0OjA6MDowOjA6MAoreDUwOV9jc3JfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5yZXEuc2hhMjI0IjpNQkVEVExTX01EX1NIQTIyNDowOjA6MDowOjAKIAogQ2VydGlmaWNhdGUgUmVxdWVzdCBjaGVjayBTZXJ2ZXIxIFNIQTI1NgogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEEyNTY6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV9jc3JfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiJkYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTI1NiI6TUJFRFRMU19NRF9TSEEyNTY6MDowOjA6MDowCit4NTA5X2Nzcl9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEyNTYiOk1CRURUTFNfTURfU0hBMjU2OjA6MDowOjA6MAogCiBDZXJ0aWZpY2F0ZSBSZXF1ZXN0IGNoZWNrIFNlcnZlcjEgU0hBMzg0CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTM4NDpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X2Nzcl9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6ImRhdGFfZmlsZXMvc2VydmVyMS5yZXEuc2hhMzg0IjpNQkVEVExTX01EX1NIQTM4NDowOjA6MDowOjAKK3g1MDlfY3NyX2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTM4NCI6TUJFRFRMU19NRF9TSEEzODQ6MDowOjA6MDowCiAKIENlcnRpZmljYXRlIFJlcXVlc3QgY2hlY2sgU2VydmVyMSBTSEE1MTIKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBNTEyOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfY3NyX2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGE1MTIiOk1CRURUTFNfTURfU0hBNTEyOjA6MDowOjA6MAoreDUwOV9jc3JfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5yZXEuc2hhNTEyIjpNQkVEVExTX01EX1NIQTUxMjowOjA6MDowOjAKIAogQ2VydGlmaWNhdGUgUmVxdWVzdCBjaGVjayBTZXJ2ZXIxIE1ENQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV9jc3JfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiJkYXRhX2ZpbGVzL3NlcnZlcjEucmVxLm1kNSI6TUJFRFRMU19NRF9NRDU6MDowOjA6MDowCit4NTA5X2Nzcl9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5tZDUiOk1CRURUTFNfTURfTUQ1OjA6MDowOjA6MAogCiBDZXJ0aWZpY2F0ZSBSZXF1ZXN0IGNoZWNrIFNlcnZlcjEga2V5X3VzYWdlCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV9jc3JfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiJkYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmtleV91c2FnZSI6TUJFRFRMU19NRF9TSEExOk1CRURUTFNfWDUwOV9LVV9ESUdJVEFMX1NJR05BVFVSRSB8IE1CRURUTFNfWDUwOV9LVV9OT05fUkVQVURJQVRJT04gfCBNQkVEVExTX1g1MDlfS1VfS0VZX0VOQ0lQSEVSTUVOVDoxOjA6MDowCit4NTA5X2Nzcl9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5rZXlfdXNhZ2UiOk1CRURUTFNfTURfU0hBMTpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkUgfCBNQkVEVExTX1g1MDlfS1VfTk9OX1JFUFVESUFUSU9OIHwgTUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6MTowOjA6MAogCiBDZXJ0aWZpY2F0ZSBSZXF1ZXN0IGNoZWNrIG9wYXF1ZSBTZXJ2ZXIxIGtleV91c2FnZQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfY3NyX2NoZWNrX29wYXF1ZToiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6TUJFRFRMU19NRF9TSEExOk1CRURUTFNfWDUwOV9LVV9ESUdJVEFMX1NJR05BVFVSRSB8IE1CRURUTFNfWDUwOV9LVV9OT05fUkVQVURJQVRJT046MAoreDUwOV9jc3JfY2hlY2tfb3BhcXVlOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6TUJFRFRMU19NRF9TSEExOk1CRURUTFNfWDUwOV9LVV9ESUdJVEFMX1NJR05BVFVSRSB8IE1CRURUTFNfWDUwOV9LVV9OT05fUkVQVURJQVRJT046MAogCiBDZXJ0aWZpY2F0ZSBSZXF1ZXN0IGNoZWNrIFNlcnZlcjEga2V5X3VzYWdlIGVtcHR5CiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTE6TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNQoteDUwOV9jc3JfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiJkYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmtleV91c2FnZV9lbXB0eSI6TUJFRFRMU19NRF9TSEExOjA6MTowOjA6MAoreDUwOV9jc3JfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5yZXEua2V5X3VzYWdlX2VtcHR5IjpNQkVEVExTX01EX1NIQTE6MDoxOjA6MDowCiAKIENlcnRpZmljYXRlIFJlcXVlc3QgY2hlY2sgU2VydmVyMSBuc19jZXJ0X3R5cGUKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X2Nzcl9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6ImRhdGFfZmlsZXMvc2VydmVyMS5yZXEuY2VydF90eXBlIjpNQkVEVExTX01EX1NIQTE6MDowOk1CRURUTFNfWDUwOV9OU19DRVJUX1RZUEVfU1NMX1NFUlZFUjoxOjAKK3g1MDlfY3NyX2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmNlcnRfdHlwZSI6TUJFRFRMU19NRF9TSEExOjA6MDpNQkVEVExTX1g1MDlfTlNfQ0VSVF9UWVBFX1NTTF9TRVJWRVI6MTowCiAKIENlcnRpZmljYXRlIFJlcXVlc3QgY2hlY2sgU2VydmVyMSBuc19jZXJ0X3R5cGUgZW1wdHkKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMTpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ci14NTA5X2Nzcl9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6ImRhdGFfZmlsZXMvc2VydmVyMS5yZXEuY2VydF90eXBlX2VtcHR5IjpNQkVEVExTX01EX1NIQTE6MDowOjA6MTowCit4NTA5X2Nzcl9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5jZXJ0X3R5cGVfZW1wdHkiOk1CRURUTFNfTURfU0hBMTowOjA6MDoxOjAKIAogQ2VydGlmaWNhdGUgUmVxdWVzdCBjaGVjayBTZXJ2ZXIxIGtleV91c2FnZSArIG5zX2NlcnRfdHlwZQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfY3NyX2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5rdS1jdCI6TUJFRFRMU19NRF9TSEExOk1CRURUTFNfWDUwOV9LVV9ESUdJVEFMX1NJR05BVFVSRSB8IE1CRURUTFNfWDUwOV9LVV9OT05fUkVQVURJQVRJT04gfCBNQkVEVExTX1g1MDlfS1VfS0VZX0VOQ0lQSEVSTUVOVDoxOk1CRURUTFNfWDUwOV9OU19DRVJUX1RZUEVfU1NMX1NFUlZFUjoxOjAKK3g1MDlfY3NyX2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLmt1LWN0IjpNQkVEVExTX01EX1NIQTE6TUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFIHwgTUJFRFRMU19YNTA5X0tVX05PTl9SRVBVRElBVElPTiB8IE1CRURUTFNfWDUwOV9LVV9LRVlfRU5DSVBIRVJNRU5UOjE6TUJFRFRMU19YNTA5X05TX0NFUlRfVFlQRV9TU0xfU0VSVkVSOjE6MAogCiBDZXJ0aWZpY2F0ZSBSZXF1ZXN0IGNoZWNrIFNlcnZlcjUgRUNEU0EsIGtleV91c2FnZQogZGVwZW5kc19vbjpNQkVEVExTX01EX0NBTl9TSEExOk1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR046TUJFRFRMU19FQ0RTQV9ERVRFUk1JTklTVElDOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxCi14NTA5X2Nzcl9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSI6ImRhdGFfZmlsZXMvc2VydmVyNS5yZXEua3Uuc2hhMSI6TUJFRFRMU19NRF9TSEExOk1CRURUTFNfWDUwOV9LVV9ESUdJVEFMX1NJR05BVFVSRSB8IE1CRURUTFNfWDUwOV9LVV9OT05fUkVQVURJQVRJT046MTowOjA6MAoreDUwOV9jc3JfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyNS5yZXEua3Uuc2hhMSI6TUJFRFRMU19NRF9TSEExOk1CRURUTFNfWDUwOV9LVV9ESUdJVEFMX1NJR05BVFVSRSB8IE1CRURUTFNfWDUwOV9LVV9OT05fUkVQVURJQVRJT046MTowOjA6MAogCiBDZXJ0aWZpY2F0ZSBSZXF1ZXN0IGNoZWNrIFNlcnZlcjEsIHNldF9leHRlbnNpb24KIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTUKLXg1MDlfY3NyX2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiZGF0YV9maWxlcy9zZXJ2ZXIxLnJlcS5zaGEyNTYuZXh0IjpNQkVEVExTX01EX1NIQTI1NjowOjA6MDowOjEKK3g1MDlfY3NyX2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEucmVxLnNoYTI1Ni5leHQiOk1CRURUTFNfTURfU0hBMjU2OjA6MDowOjA6MQogCiBDZXJ0aWZpY2F0ZSBSZXF1ZXN0IGNoZWNrIG9wYXF1ZSBTZXJ2ZXI1IEVDRFNBLCBrZXlfdXNhZ2UKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR046TUJFRFRMU19FQ1BfSEFWRV9TRUNQMjU2UjEKLXg1MDlfY3NyX2NoZWNrX29wYXF1ZToiZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSI6TUJFRFRMU19NRF9TSEEyNTY6TUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFIHwgTUJFRFRMU19YNTA5X0tVX05PTl9SRVBVRElBVElPTjowCit4NTA5X2Nzcl9jaGVja19vcGFxdWU6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IjpNQkVEVExTX01EX1NIQTI1NjpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkUgfCBNQkVEVExTX1g1MDlfS1VfTk9OX1JFUFVESUFUSU9OOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fTUQ1Ci14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOjA6MDoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjowOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCiAKIENlcnRpZmljYXRlIHdyaXRlIGNoZWNrIFNlcnZlcjEgU0hBMSwgbm90IGJlZm9yZSAxOTcwCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fTUQ1Ci14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMTk3MDAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6IiI6MDowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIxOTcwMDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MTotMToiIjowOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCiAKIENlcnRpZmljYXRlIHdyaXRlIGNoZWNrIFNlcnZlcjEgU0hBMSwgbm90IGFmdGVyIDIwNTAKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwNTAwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MTotMToiIjowOjA6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKK3g1MDlfY3J0X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjA1MDAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6Ik5VTEwiOjA6MDoxOi0xOiIiOjA6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBub3QgYmVmb3JlIDE5NzAsIG5vdCBhZnRlciAyMDUwCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fTUQ1Ci14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMTk3MDAyMTAxNDQ0MDYiOiIyMDUwMDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6IiI6MDowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIxOTcwMDIxMDE0NDQwNiI6IjIwNTAwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MTotMToiIjowOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCiAKIENlcnRpZmljYXRlIHdyaXRlIGNoZWNrIFNlcnZlcjEgU0hBMSwgbm90IGJlZm9yZSAyMDUwLCBub3QgYWZ0ZXIgMjA1OQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX01ENQoteDUwOV9jcnRfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwNTAwMjEwMTQ0NDA2IjoiMjA1OTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6Ik5VTEwiOjA6MDoxOi0xOiIiOjA6MDoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjA1MDAyMTAxNDQ0MDYiOiIyMDU5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6IiI6MDowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAogCiBDZXJ0aWZpY2F0ZSB3cml0ZSBjaGVjayBTZXJ2ZXIxIFNIQTEsIGtleV91c2FnZQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX01ENQoteDUwOV9jcnRfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkUgfCBNQkVEVExTX1g1MDlfS1VfTk9OX1JFUFVESUFUSU9OIHwgTUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6MToiTlVMTCI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IjowOjA6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKK3g1MDlfY3J0X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkUgfCBNQkVEVExTX1g1MDlfS1VfTk9OX1JFUFVESUFUSU9OIHwgTUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6MToiTlVMTCI6MDowOjE6LTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydCI6MDowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAogCiBDZXJ0aWZpY2F0ZSB3cml0ZSBjaGVjayBTZXJ2ZXIxIFNIQTEsIG9uZSBleHRfa2V5X3VzYWdlCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fTUQ1Ci14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxMTAyMTIxNDQ0MDYiOiIyMDIxMDIxMjE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoic2VydmVyQXV0aCI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXlfZXh0X3VzYWdlLmNydCI6MDowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDExMDIxMjE0NDQwNiI6IjIwMjEwMjEyMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJzZXJ2ZXJBdXRoIjowOjA6MTotMToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXlfZXh0X3VzYWdlLmNydCI6MDowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAogCiBDZXJ0aWZpY2F0ZSB3cml0ZSBjaGVjayBTZXJ2ZXIxIFNIQTEsIHR3byBleHRfa2V5X3VzYWdlcwogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX01ENQoteDUwOV9jcnRfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTEwMjEyMTQ0NDA2IjoiMjAyMTAyMTIxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6ImNvZGVTaWduaW5nLHRpbWVTdGFtcGluZyI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXlfZXh0X3VzYWdlcy5jcnQiOjA6MDoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxMTAyMTIxNDQ0MDYiOiIyMDIxMDIxMjE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiY29kZVNpZ25pbmcsdGltZVN0YW1waW5nIjowOjA6MTotMToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXlfZXh0X3VzYWdlcy5jcnQiOjA6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBuc19jZXJ0X3R5cGUKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjpNQkVEVExTX1g1MDlfTlNfQ0VSVF9UWVBFX1NTTF9TRVJWRVI6MToxOi0xOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY2VydF90eXBlLmNydCI6MDowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjpNQkVEVExTX1g1MDlfTlNfQ0VSVF9UWVBFX1NTTF9TRVJWRVI6MToxOi0xOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNlcnRfdHlwZS5jcnQiOjA6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCB2ZXJzaW9uIDEKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MTpNQkVEVExTX1g1MDlfQ1JUX1ZFUlNJT05fMToiZGF0YV9maWxlcy9zZXJ2ZXIxLnYxLmNydCI6MDowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MTpNQkVEVExTX1g1MDlfQ1JUX1ZFUlNJT05fMToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS52MS5jcnQiOjA6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBDQQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX01ENQoteDUwOV9jcnRfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6Ik5VTEwiOjA6MDoxOi0xOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY2EuY3J0IjowOjE6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKK3g1MDlfY3J0X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6Ik5VTEwiOjA6MDoxOi0xOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNhLmNydCI6MDoxOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAogCiBDZXJ0aWZpY2F0ZSB3cml0ZSBjaGVjayBTZXJ2ZXIxIFNIQTEsIFJTQV9BTFQKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MDotMToiZGF0YV9maWxlcy9zZXJ2ZXIxLm5vYXV0aGlkLmNydCI6MTowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MDotMToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5ub2F1dGhpZC5jcnQiOjE6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBSU0FfQUxULCBrZXlfdXNhZ2UKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6TUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFIHwgTUJFRFRMU19YNTA5X0tVX05PTl9SRVBVRElBVElPTiB8IE1CRURUTFNfWDUwOV9LVV9LRVlfRU5DSVBIRVJNRU5UOjE6Ik5VTEwiOjA6MDowOi0xOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlX25vYXV0aGlkLmNydCI6MTowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6TUJFRFRMU19YNTA5X0tVX0RJR0lUQUxfU0lHTkFUVVJFIHwgTUJFRFRMU19YNTA5X0tVX05PTl9SRVBVRElBVElPTiB8IE1CRURUTFNfWDUwOV9LVV9LRVlfRU5DSVBIRVJNRU5UOjE6Ik5VTEwiOjA6MDowOi0xOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleV91c2FnZV9ub2F1dGhpZC5jcnQiOjE6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBSU0FfQUxULCBuc19jZXJ0X3R5cGUKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjpNQkVEVExTX1g1MDlfTlNfQ0VSVF9UWVBFX1NTTF9TRVJWRVI6MTowOi0xOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY2VydF90eXBlX25vYXV0aGlkLmNydCI6MTowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjpNQkVEVExTX1g1MDlfTlNfQ0VSVF9UWVBFX1NTTF9TRVJWRVI6MTowOi0xOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNlcnRfdHlwZV9ub2F1dGhpZC5jcnQiOjE6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBSU0FfQUxULCB2ZXJzaW9uIDEKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MDpNQkVEVExTX1g1MDlfQ1JUX1ZFUlNJT05fMToiZGF0YV9maWxlcy9zZXJ2ZXIxLnYxLmNydCI6MTowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MDpNQkVEVExTX1g1MDlfQ1JUX1ZFUlNJT05fMToiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS52MS5jcnQiOjE6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBSU0FfQUxULCBDQQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX01ENQoteDUwOV9jcnRfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6Ik5VTEwiOjA6MDowOi0xOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY2Ffbm9hdXRoaWQuY3J0IjoxOjE6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKK3g1MDlfY3J0X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6Ik5VTEwiOjA6MDowOi0xOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNhX25vYXV0aGlkLmNydCI6MToxOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAogCiBDZXJ0aWZpY2F0ZSB3cml0ZSBjaGVjayBTZXJ2ZXIxIFNIQTEsIE9wYXF1ZQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyMS5jcnQiOjI6MDoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY3J0IjoyOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCiAKIENlcnRpZmljYXRlIHdyaXRlIGNoZWNrIFNlcnZlcjEgU0hBMSwgT3BhcXVlLCBrZXlfdXNhZ2UKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDU6TUJFRFRMU19VU0VfUFNBX0NSWVBUTwoteDUwOV9jcnRfY2hlY2s6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiJkYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkUgfCBNQkVEVExTX1g1MDlfS1VfTk9OX1JFUFVESUFUSU9OIHwgTUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6MToiTlVMTCI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyMS5rZXlfdXNhZ2UuY3J0IjoyOjA6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKK3g1MDlfY3J0X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTpNQkVEVExTX1g1MDlfS1VfRElHSVRBTF9TSUdOQVRVUkUgfCBNQkVEVExTX1g1MDlfS1VfTk9OX1JFUFVESUFUSU9OIHwgTUJFRFRMU19YNTA5X0tVX0tFWV9FTkNJUEhFUk1FTlQ6MToiTlVMTCI6MDowOjE6LTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5X3VzYWdlLmNydCI6MjowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAogCiBDZXJ0aWZpY2F0ZSB3cml0ZSBjaGVjayBTZXJ2ZXIxIFNIQTEsIE9wYXF1ZSwgbnNfY2VydF90eXBlCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fTUQ1Ok1CRURUTFNfVVNFX1BTQV9DUllQVE8KLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjpNQkVEVExTX1g1MDlfTlNfQ0VSVF9UWVBFX1NTTF9TRVJWRVI6MToxOi0xOiJkYXRhX2ZpbGVzL3NlcnZlcjEuY2VydF90eXBlLmNydCI6MjowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjpNQkVEVExTX1g1MDlfTlNfQ0VSVF9UWVBFX1NTTF9TRVJWRVI6MToxOi0xOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmNlcnRfdHlwZS5jcnQiOjI6MDoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBPcGFxdWUsIHZlcnNpb24gMQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6TUJFRFRMU19YNTA5X0NSVF9WRVJTSU9OXzE6ImRhdGFfZmlsZXMvc2VydmVyMS52MS5jcnQiOjI6MDoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6TUJFRFRMU19YNTA5X0NSVF9WRVJTSU9OXzE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEudjEuY3J0IjoyOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCiAKIENlcnRpZmljYXRlIHdyaXRlIGNoZWNrIFNlcnZlcjEgU0hBMSwgT3BhcXVlLCBDQQogZGVwZW5kc19vbjpNQkVEVExTX1JTQV9DOk1CRURUTFNfUEtDUzFfVjE1Ok1CRURUTFNfTURfQ0FOX01ENTpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyMS5jYS5jcnQiOjI6MToiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuY2EuY3J0IjoyOjE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCiAKIENlcnRpZmljYXRlIHdyaXRlIGNoZWNrIFNlcnZlcjEgU0hBMSwgRnVsbCBsZW5ndGggc2VyaWFsCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fTUQ1Ci14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjExMjIzMzQ0NTU2Njc3ODg5OWFhYmJjY2RkZWVmZjAwMTEyMjMzNDQiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MTotMToiZGF0YV9maWxlcy9zZXJ2ZXIxLmxvbmdfc2VyaWFsLmNydCI6MDowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCit4NTA5X2NydF9jaGVjazoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvc2VydmVyMS5rZXkiOiIiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMTEyMjMzNDQ1NTY2Nzc4ODk5YWFiYmNjZGRlZWZmMDAxMTIyMzM0NCI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6Ik5VTEwiOjA6MDoxOi0xOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmxvbmdfc2VyaWFsLmNydCI6MDowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAogCiBDZXJ0aWZpY2F0ZSB3cml0ZSBjaGVjayBTZXJ2ZXIxIFNIQTEsIFNlcmlhbCBzdGFydGluZyB3aXRoIDB4ODAKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiODAxMTIyMzM0NCI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMTowOjA6Ik5VTEwiOjA6MDoxOi0xOiJkYXRhX2ZpbGVzL3NlcnZlcjEuODBzZXJpYWwuY3J0IjowOjA6ImRhdGFfZmlsZXMvdGVzdC1jYS5jcnQiOjAKK3g1MDlfY3J0X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2FfdW5lbmMua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFRlc3QgQ0EiOiI4MDExMjIzMzQ0IjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuODBzZXJpYWwuY3J0IjowOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCiAKIENlcnRpZmljYXRlIHdyaXRlIGNoZWNrIFNlcnZlcjEgU0hBMSwgQWxsIDB4RkYgZnVsbCBsZW5ndGggc2VyaWFsCiBkZXBlbmRzX29uOk1CRURUTFNfUlNBX0M6TUJFRFRMU19QS0NTMV9WMTU6TUJFRFRMU19NRF9DQU5fTUQ1Ci14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXIxLmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6ImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyMS5sb25nX3NlcmlhbF9GRi5jcnQiOjA6MDoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MAoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6ImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEubG9uZ19zZXJpYWxfRkYuY3J0IjowOjA6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EuY3J0IjowCiAKIENlcnRpZmljYXRlIHdyaXRlIGNoZWNrIFNlcnZlcjUgRUNEU0EKIGRlcGVuZHNfb246TUJFRFRMU19NRF9DQU5fU0hBMjU2Ok1CRURUTFNfUEtfQ0FOX0VDRFNBX1NJR046TUJFRFRMU19FQ0RTQV9ERVRFUk1JTklTVElDOk1CRURUTFNfRUNQX0hBVkVfU0VDUDM4NFIxOk1CRURUTFNfRUNQX0hBVkVfU0VDUDI1NlIxCi14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYTIua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyc3NsIFRlc3QgRUMgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMjU2OjA6MDoiTlVMTCI6MDowOjE6LTE6ImRhdGFfZmlsZXMvc2VydmVyNS5jcnQiOjA6MDoiZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOjAKK3g1MDlfY3J0X2NoZWNrOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3Rlc3QtY2EyLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhcnNzbCBUZXN0IEVDIENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTI1NjowOjA6Ik5VTEwiOjA6MDoxOi0xOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy9zZXJ2ZXI1LmNydCI6MDowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyNSBFQ0RTQSwgT3BhcXVlCiBkZXBlbmRzX29uOk1CRURUTFNfTURfQ0FOX1NIQTI1NjpNQkVEVExTX1BLX0NBTl9FQ0RTQV9TSUdOOk1CRURUTFNfRUNEU0FfREVURVJNSU5JU1RJQzpNQkVEVExTX0VDUF9IQVZFX1NFQ1AzODRSMTpNQkVEVExTX0VDUF9IQVZFX1NFQ1AyNTZSMTpNQkVEVExTX1VTRV9QU0FfQ1JZUFRPCi14NTA5X2NydF9jaGVjazoiZGF0YV9maWxlcy9zZXJ2ZXI1LmtleSI6IiI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBTZXJ2ZXIgMSI6ImRhdGFfZmlsZXMvdGVzdC1jYTIua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyc3NsIFRlc3QgRUMgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMjU2OjA6MDoiTlVMTCI6MDowOjE6LTE6IiI6MjowOiJkYXRhX2ZpbGVzL3Rlc3QtY2EyLmNydCI6MAoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjUua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYTIua2V5IjoiUG9sYXJTU0xUZXN0IjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyc3NsIFRlc3QgRUMgQ0EiOiIwMSI6IjIwMTkwMjEwMTQ0NDA2IjoiMjAyOTAyMTAxNDQ0MDYiOk1CRURUTFNfTURfU0hBMjU2OjA6MDoiTlVMTCI6MDowOjE6LTE6IiI6MjowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhMi5jcnQiOjAKIAogQ2VydGlmaWNhdGUgd3JpdGUgY2hlY2sgU2VydmVyMSBTSEExLCBTdWJqZWN0QWx0TmFtZXMKIGRlcGVuZHNfb246TUJFRFRMU19SU0FfQzpNQkVEVExTX1BLQ1MxX1YxNTpNQkVEVExTX01EX0NBTl9NRDUKLXg1MDlfY3J0X2NoZWNrOiJkYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiZGF0YV9maWxlcy90ZXN0LWNhX3VuZW5jLmtleSI6IlBvbGFyU1NMVGVzdCI6IkM9TkwsTz1Qb2xhclNTTCxDTj1Qb2xhclNTTCBUZXN0IENBIjoiMDEiOiIyMDE5MDIxMDE0NDQwNiI6IjIwMjkwMjEwMTQ0NDA2IjpNQkVEVExTX01EX1NIQTE6MDowOiJOVUxMIjowOjA6MTotMToiZGF0YV9maWxlcy9zZXJ2ZXIxLmFsbFN1YmplY3RBbHROYW1lcy5jcnQiOjA6MDoiZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MQoreDUwOV9jcnRfY2hlY2s6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEua2V5IjoiIjoiQz1OTCxPPVBvbGFyU1NMLENOPVBvbGFyU1NMIFNlcnZlciAxIjoiLi4vZnJhbWV3b3JrL2RhdGFfZmlsZXMvdGVzdC1jYV91bmVuYy5rZXkiOiJQb2xhclNTTFRlc3QiOiJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgVGVzdCBDQSI6IjAxIjoiMjAxOTAyMTAxNDQ0MDYiOiIyMDI5MDIxMDE0NDQwNiI6TUJFRFRMU19NRF9TSEExOjA6MDoiTlVMTCI6MDowOjE6LTE6Ii4uL2ZyYW1ld29yay9kYXRhX2ZpbGVzL3NlcnZlcjEuYWxsU3ViamVjdEFsdE5hbWVzLmNydCI6MDowOiIuLi9mcmFtZXdvcmsvZGF0YV9maWxlcy90ZXN0LWNhLmNydCI6MQogCiBYNTA5IFN0cmluZyB0byBOYW1lcyAjMQogbWJlZHRsc194NTA5X3N0cmluZ190b19uYW1lczoiQz1OTCxPPU9mZnNwYXJrXFwsIEluYy4sIE9VPVBvbGFyU1NMIjoiQz1OTCwgTz1PZmZzcGFya1xcLCBJbmMuLCBPVT1Qb2xhclNTTCI6MDowCmRpZmYgLS1naXQgYS90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5d3JpdGUuZnVuY3Rpb24gYi90ZXN0cy9zdWl0ZXMvdGVzdF9zdWl0ZV94NTA5d3JpdGUuZnVuY3Rpb24KaW5kZXggMWRiN2UxYy4uODE4MTZmZSAxMDA2NDQKLS0tIGEvdGVzdHMvc3VpdGVzL3Rlc3Rfc3VpdGVfeDUwOXdyaXRlLmZ1bmN0aW9uCisrKyBiL3Rlc3RzL3N1aXRlcy90ZXN0X3N1aXRlX3g1MDl3cml0ZS5mdW5jdGlvbgpAQCAtMTAsMjcgKzEwLDMxIEBACiAjaW5jbHVkZSAibWJlZHRscy9way5oIgogI2luY2x1ZGUgIm1iZWR0bHMvcHNhX3V0aWwuaCIKIAotI2lmIGRlZmluZWQoTUJFRFRMU19SU0FfQykKLWludCBtYmVkdGxzX3JzYV9kZWNyeXB0X2Z1bmModm9pZCAqY3R4LCBzaXplX3QgKm9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlucHV0LCB1bnNpZ25lZCBjaGFyICpvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBvdXRwdXRfbWF4X2xlbikKKyNpZiBkZWZpbmVkKE1CRURUTFNfUEVNX1dSSVRFX0MpICYmIFwKKyAgICBkZWZpbmVkKE1CRURUTFNfWDUwOV9DUlRfV1JJVEVfQykgJiYgXAorICAgIGRlZmluZWQoTUJFRFRMU19YNTA5X0NSVF9QQVJTRV9DKSAmJiBcCisgICAgZGVmaW5lZChNQkVEVExTX01EX0NBTl9TSEExKSAmJiBcCisgICAgZGVmaW5lZChNQkVEVExTX1JTQV9DKSAmJiBkZWZpbmVkKE1CRURUTFNfUEtfUlNBX0FMVF9TVVBQT1JUKQorc3RhdGljIGludCBtYmVkdGxzX3JzYV9kZWNyeXB0X2Z1bmModm9pZCAqY3R4LCBzaXplX3QgKm9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICppbnB1dCwgdW5zaWduZWQgY2hhciAqb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG91dHB1dF9tYXhfbGVuKQogewogICAgIHJldHVybiBtYmVkdGxzX3JzYV9wa2NzMV9kZWNyeXB0KChtYmVkdGxzX3JzYV9jb250ZXh0ICopIGN0eCwgTlVMTCwgTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGVuLCBpbnB1dCwgb3V0cHV0LCBvdXRwdXRfbWF4X2xlbik7CiB9Ci1pbnQgbWJlZHRsc19yc2Ffc2lnbl9mdW5jKHZvaWQgKmN0eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICgqZl9ybmcpKHZvaWQgKiwgdW5zaWduZWQgY2hhciAqLCBzaXplX3QpLCB2b2lkICpwX3JuZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19tZF90eXBlX3QgbWRfYWxnLCB1bnNpZ25lZCBpbnQgaGFzaGxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaCwgdW5zaWduZWQgY2hhciAqc2lnKQorc3RhdGljIGludCBtYmVkdGxzX3JzYV9zaWduX2Z1bmModm9pZCAqY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICgqZl9ybmcpKHZvaWQgKiwgdW5zaWduZWQgY2hhciAqLCBzaXplX3QpLCB2b2lkICpwX3JuZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfbWRfdHlwZV90IG1kX2FsZywgdW5zaWduZWQgaW50IGhhc2hsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpoYXNoLCB1bnNpZ25lZCBjaGFyICpzaWcpCiB7CiAgICAgcmV0dXJuIG1iZWR0bHNfcnNhX3BrY3MxX3NpZ24oKG1iZWR0bHNfcnNhX2NvbnRleHQgKikgY3R4LCBmX3JuZywgcF9ybmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWRfYWxnLCBoYXNobGVuLCBoYXNoLCBzaWcpOwogfQotc2l6ZV90IG1iZWR0bHNfcnNhX2tleV9sZW5fZnVuYyh2b2lkICpjdHgpCitzdGF0aWMgc2l6ZV90IG1iZWR0bHNfcnNhX2tleV9sZW5fZnVuYyh2b2lkICpjdHgpCiB7CiAgICAgcmV0dXJuICgoY29uc3QgbWJlZHRsc19yc2FfY29udGV4dCAqKSBjdHgpLT5sZW47CiB9Ci0jZW5kaWYgLyogTUJFRFRMU19SU0FfQyAqLworI2VuZGlmCiAKICNpZiBkZWZpbmVkKE1CRURUTFNfVVNFX1BTQV9DUllQVE8pICYmIFwKICAgICBkZWZpbmVkKE1CRURUTFNfUEVNX1dSSVRFX0MpICYmIGRlZmluZWQoTUJFRFRMU19YNTA5X0NTUl9XUklURV9DKQpAQCAtMjgzLDIxICsyODcsMjQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjZXJ0X3R5cGUpCiB7CiAgICAgbWJlZHRsc19wa19jb250ZXh0IGtleTsKKyAgICBtYmVkdGxzX3BrX2luaXQoJmtleSk7CisKICAgICBtYmVkdGxzX3N2Y19rZXlfaWRfdCBrZXlfaWQgPSBNQkVEVExTX1NWQ19LRVlfSURfSU5JVDsKICAgICBwc2Ffa2V5X2F0dHJpYnV0ZXNfdCBrZXlfYXR0ciA9IFBTQV9LRVlfQVRUUklCVVRFU19JTklUOworCiAgICAgbWJlZHRsc194NTA5d3JpdGVfY3NyIHJlcTsKKyAgICBtYmVkdGxzX3g1MDl3cml0ZV9jc3JfaW5pdCgmcmVxKTsKKwogICAgIHVuc2lnbmVkIGNoYXIgYnVmWzQwOTZdOwogICAgIGludCByZXQ7CiAgICAgc2l6ZV90IHBlbV9sZW4gPSAwOwogICAgIGNvbnN0IGNoYXIgKnN1YmplY3RfbmFtZSA9ICJDPU5MLE89UG9sYXJTU0wsQ049UG9sYXJTU0wgU2VydmVyIDEiOwogICAgIG1iZWR0bHNfdGVzdF9ybmRfcHNldWRvX2luZm8gcm5kX2luZm87CiAKLSAgICBtYmVkdGxzX3g1MDl3cml0ZV9jc3JfaW5pdCgmcmVxKTsKICAgICBNRF9PUl9VU0VfUFNBX0lOSVQoKTsKIAogICAgIG1lbXNldCgmcm5kX2luZm8sIDB4MmEsIHNpemVvZihtYmVkdGxzX3Rlc3Rfcm5kX3BzZXVkb19pbmZvKSk7CiAKLSAgICBtYmVkdGxzX3BrX2luaXQoJmtleSk7CiAgICAgVEVTVF9BU1NFUlQobWJlZHRsc19wa19wYXJzZV9rZXlmaWxlKCZrZXksIGtleV9maWxlLCBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYmVkdGxzX3Rlc3Rfcm5kX3N0ZF9yYW5kLCBOVUxMKSA9PSAwKTsKIAo=